目录
1.在Linux终端创建工作空间并初始化
- mkdir -p 工作空间名字/src
- cd 工作空间
- catkin_make
- (若发现文件无权限,则可 sudo chmod -R 777 工作空间名
2.启动vscode
1、cd 工作空间名
2、code . //启动vscode
3.配置项目环境
1、快捷键 ctrl + shift + B 调用编译,选择:catkin_make:build
,
点击那个设置小图标(一定是点那个图标,不然就不是配置了),修改.vscode/tasks.json 文件
{
// 有关 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"
}
]
}
2、选择 .vscode/c_cpp_properties.json,找到 "cppStandard"设置为 "c++17"
4. 创建 ROS 功能包
1、选定 src 右击 ---> create catkin package
2、设置包名
3、添加依赖
roscpp rospy std_msgs
5、编程
1、在刚刚创的功能包的src下 添加文件cpp文件
注意:main 函数的参数不可以被 const 修饰
2、可以用Shift+ctrl+B进行编译
3、若终端输出中文乱码,解决办法:在函数开头加入下面代码的任意一句
setlocale(LC_CTYPE, "zh_CN.utf8");
setlocale(LC_ALL, "");
6、配置 CMakeLists.txt
找到以下代码,取消注释并修改为:
add_executable(节点名称
src/C++源文件名.cpp
)
target_link_libraries(节点名称
${catkin_LIBRARIES}
)
节点名称自己设,一般与源文件一致
7、执行
在vscode里新开终端
source ./devel/setup.bash
roscore
rosrun 功能包名 节点