1.创建 ROS 工作空间ws
在home下打开终端输入下面指令
mkdir -p xxx_ws/src(必须得有 src)
cd 自己命名_ws
catkin_make
2.启动 vscode
cd 自己命名_ws
code .
3.vscode 中编译 ros
快捷键 ctrl + shift + B 调用编译,在上方弹窗位置选择:catkin_make:build
可以点击配置设置为默认,修改.vscode/tasks.json 文件
这里直接复制就行不用改,然后ctrl+c保存。按击ctrl+shift+b若出现下图输出证明配置成功,以后编译直接按快捷键。
{
// 有关 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.创建 ROS 功能包
选定 src 右击 —> create catkin package
上方出现搜索框一样的栏框,在里面设置包名,如:hello_vscode
,点击回车
添加依赖:roscpp rospy std_msgs
5 C++ 实现
在文件栏的 src下创建.cpp 文件,输入
#include "ros/ros.h"
int main(int argc, char *argv[])
{
setlocale(LC_ALL,""); #保证终端输出有中文时不乱码,或者setlocale(LC_CTYPE, "zh_CN.utf8");
//执行节点初始化
ros::init(argc,argv,"Hello_vscode");
//输出日志
ROS_INFO("Hello VSCode!!!哈哈哈哈哈哈哈哈哈哈");
return 0;
}
6.配置 CMakeLists.txt
取消下面两处的注释
add_executable(节点名称
src/C++源文件名.cpp
)
target_link_libraries(节点名称
${catkin_LIBRARIES}
)
这里注意 CMakeLists.txt文件别找错了,其次一般节点名称和源文件名是一致的当然你改别的也行,但是要保证上下两处的节点名称一致。
7.编译执行
编译: ctrl + shift + B
点击小加号新建终端输入roscore
再新建终端首先输入source ./devel/setup.bash
,再输出rosrun hello_vscode(创建 ROS 功能包时的包名) hello_vscode_c.cpp(在功能包的 src 下新建 cpp 文件名称)