创建工作空间并且编译:
mkdir -p xxx_ws/src
cd xxx_ws
catkin_make
Vs_code下创建功能包和编写对应执行文件:
进入创建的工作空间中,打开当前目录终端,输入:
code .
进入vs_code开始编程:
1.工作空间src文件夹右键创建catkin pkg
2.上方弹窗内输入 功能包名字
3.继续输入依赖 一般为:roscpp rospy std_msgs
4.在功能包文件夹下的src中编写对应cpp文件或创建srcips文件夹,在其内编写py脚本
5.ctrl+shift+B 编译(选择catkin_make:build)
编写C++运行文件时,Vs_code不给辅助输入问题解决:
1.修改工作空间.vs_code文件夹下的c_cpp_properties.json:将“cppStandard:”后更新为“c++17”
2.运行执行文件前,需要在工作空间终端下输入roscore启动核心,source ./devel/setup.bash
然后再 rosrun 包名 运行文件名(c++文件,为cmakelist中映射的名称)
如何不更改Cmakelist文件也能运行python脚本?
两种解决方式:
1.直接申明解释器为python3(不建议)
/usr/bin/env/ python3
2.通过软连接将python链接到python3
lou@WP:~$ sudo ln -s /usr/bin/python3 /sur/bin/python
lunch文件一次性启动多个功能包
- 在功能包中添加launch文件夹
- 在launch文件夹中添加launch文件
- 编辑launch文件内容
<launch>
<node pkg="turtlesim" type="turtlesim_node" name="GUI"/>
<node pkg="turtlesim" type="turtle_teleop_key" name="key"/>
<node pkg="helo_vscode" type="hello_np_cmake_p.py" name="Output" output="screen"/>
</launch>
node---------包含的节点
pkg---------功能包名
type---------节点名(文件名)
name---------为节点命名
output---------设置日志的输出目标
4.运行launch文件
roslaunch 包名 launch文件名
5.运行结果:一次性启动多个节点
计算图工具:(复杂节点系统有用)
安装命令:
sudo apt install ros-<distro>-rqt
sudo apt install ros-<distro>-rqt-common-plugins
使用命令:
rosrun rqt_graph rqt_graph