常用工具

Launch

作用:通过Launch工具,我们可以同时启动多个节点,并且给节点传递参数

开发方式

有3种开发方式,分别是用python、xml和yaml文件

使用方式

参考:1.启动管理工具-Launch编写脚本

1
ros2 launch <pkg> xxx.py

colcon

colcon就是ros2中用来编译功能包的工具(ros1中是catkin)简单来说,colcon是cmake的更高级的封装

  • 程序在cmake编译是这样的流程:cmake指令依据你的CMakeLists.txt 文件,生成makefiles文件,make再依据此makefiles文件编译链接生成可执行文件

  • colcon是将cmake与make的编译方式做了一个封装的指令工具, 规范了工作路径与生成文件路径,它会自动生成install和build和log文件夹

1
2
3
4
5
6
7
8
9
# 在一个CMake项目里  
mkdir build
cd build
cmake ..
make
make install #

# 使用colcon
colcon build #编译工作空间的所有功能包

注意事项

自己手动编译的功能包ROS2是不知道在哪的,需要手动让ros2知道他在哪

source install/setup.bash

ROS2只能识别其安装目录opt/ros/humble下的功能包,因此,上述代码的可以理解为:暂时改变功能包的位置。但是该进程结束后就失效了

只编译一个功能包

colcon build --packages-select <pkg_name>

对于python文件,colcon build只是把py文件拷贝到了install目录下,如果改了源码,想要更改可执行文件的话,必须重新编译。但通过这种方式就不必要编译了

colcon build --symlink-install

rviz

ROS中的一个可视化工具,通常作为一个客户端node,接收各种topic,会解析这些topic的数据然后渲染进行可视化

Gazebo

一个与ROS无关的仿真工具,它利用插件机制来进行二次开发,ROS官方写了个gazebo的插件,让我们能够通过ROS来于仿真环境进行交互

在有了插件后,Gazebo本身也会作为一个ROS节点,提供若干service来让用户能够控制他,并且也会接受/发布各种topic,进行数据交互

rqt_graph

一个可视化当前系统中存在的node和topic的工具