004 常用工具
常用工具
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 | 在一个CMake项目里 |
注意事项
自己手动编译的功能包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的工具