ROS环境搭建-用vscode实现(个人学习记录)教程来源【Autolabor初级教程】ROS机器人入门https://www.bilibili.com/video/BV1Ci4y1L7ZZ?p=29

目录

4.1 创建 ROS 工作空间

4.2 启动 vscode

4.3 vscode 中编译 ros

4.4 创建 ROS 功能包

4.5 C++ 实现

4.6 python 实现

4.7 配置 CMakeLists.txt

4.8 编译执行


4.1 创建 ROS 工作空间
mkdir -p xxx_ws/src(必须得有 src)    //创建一个叫XXX_ws的文件夹,下面还有一个src文件
cd xxx_ws    //打开文件
catkin_make    //在catkin工作区中构建代码

示例:

4.2 启动 vscode

code .(注意:code后面有空格)

启动后包含以下文件夹
启动后包含以下文件
4.3 vscode 中编译 ros

快捷键 ctrl + shift + B 调用编译,选择:catkin_make:build

点击cakin_make:build后的设置生成配置任务

更改默认配置任务代码为下面的代码

{
// 有关 tasks.json 格式的文档,请参见
    // https://go.microsoft.com/fwlink/?LinkId=733558
    "version": "2.0.0",
    "tasks": [
        {
            "label": "catkin_make:debug", //代表提示的描述性信息
            "type": "shell",  //可以选择shell或者process,如果是shell代码是在shell里面运行一个命令,如果是process代表作为一个进程来运行
            "command": "catkin_make",//这个是我们需要运行的命令
            "args": [],//如果需要在命令后面加一些后缀,可以写在这里,比如-DCATKIN_WHITELIST_PACKAGES=“pac1;pac2”
            "group": {"kind":"build","isDefault":true},
            "presentation": {
                "reveal": "always"//可选always或者silence,代表是否输出信息
            },
            "problemMatcher": "$msCompile"
        }
    ]
}
4.4 创建 ROS 功能包

在src文件下鼠标右键点击create catkin package

然后再输入框内输入包名

回车后再次出现弹出输入框,输入roscpp rospy std_msgs后回车(添加依赖)

4.5 C++ 实现

在src文件下新建cpp文件

#include "ros/ros.h"

int main(int argc,char *argv[])
{
    ros::init(argc,argv,"hello_c");
    ROS_INFO("hello");

    return 0;
}

tips:删掉整行代码 ctrl shift + k

PS1: 如果没有代码提示

修改 .vscode/c_cpp_properties.json中的"cppStandard": "c++14"为"c++17"

PS2: main 函数的参数不可以被 const 修饰

PS3: 当ROS__INFO 终端输出有中文时,会出现乱码

INFO: ????????????????????????

解决办法:在函数开头加入下面代码的任意一句

/*
setlocale(LC_CTYPE, "zh_CN.utf8");
setlocale(LC_ALL, "");
*/

#include "ros/ros.h"

int main(int argc,char *argv[])
{
    //解决乱码
    //setlocale(LC_ALL,"");
    setlocale(LC_ALL, "");

    ros::init(argc,argv,"hello_c");
    ROS_INFO("hello,哈哈");

    return 0;
}

4.6 python 实现

在hello_vscode包名下新建一个scripts文件夹,并在此文件夹下添加python文件

代码示例:

#! /usr/bin/env python

#导包
import rospy 
#入口
if __name__ == "__main__":
    #初始化ros节点
    rospy.init_node("hello_p")
    #输出日志
    rospy.loginfo("hello vscode!,这是python!")

注意:name和main两边都是两个下划线

编写完代码后在之前新建的文件夹scripts中鼠标右键点击在集成终端中打开

在终端中输入chmod +x *.py回车在输入ll(小写L),按回车为所有python文件添加可执行文件

接下修改配置文件CMakeLists.txt(162行开始)

my_python_script修改为python源文件名hello_vscode_p.py

修改完后ctrl shift +B 编译运行源文件

然后在终端中启动roscore

回到之前添加可执行文件时的终端,用cd指令回到工作空间demo02_ws,在重新建立环境变量,最后输入ros +(包名 映射节点名称)后回车运行输出结果

4.7 配置 CMakeLists.txt

注意:要配置的CMakeLists时与src同级的文件

原文件内容

指向源文件:hello_vscode_c.cpp

映射节点名称:hello_vscode_c

修改后为:

add_executable(hello_vscode_c src/hello_vscode_c.cpp)    //(映射名称(源文件名 ) src/源文            
                                                              件.cpp)

target_link_libraries(hello_vscode_c                   //映射文件名

修改完ctrl shift +B 编译运行结果:

tips:去除注释 ctrl + /

4.8 编译执行

先添加终端

在终端中输入:roscore启动ROS

然后再新建一个终端,输入source ./devel/setup.bash(设置ROS中的环境变量)回车运行,在输入rosrun +(包名 映射节点名称)后回车运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值