打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ROS2和ROS1常用命令速查与对比

目录

1. 创建一个ROS工作空间

2. 初始化ROS工作空间

3. 构建catkin workspace中的代码

4. 将工作空间的路径加入环境变量

5. 查询ROS版本

最后的话


接上回,

在我们把ROS1和ROS2整到一个Ubuntu系统里之后。

如何将ROS1和ROS2安装到同一个ubuntu系统中?

https://blog.csdn.net/slampai/article/details/127933085

为了后续调试方便,我们整理一下两者的异同。

1. 创建一个ROS工作空间

    空间名为ros_ws,并在内创建src文件夹,src用于存储所有功能包的代码。

  1. mkdir -p ~/ros_ws/src
  2. cd ~/ros_ws/src
  3. # ------------------------------------------
  4. # 另一种方式:两条指令合并在一起
  5. mkdir -p ~/ros_ws/src && cd ~/ros_ws/src

2. 初始化ROS工作空间

      在src路径下,执行完初始化命令后,src目录下会多出一个 CMakeLists.txt 文件。

  1. #ROS1 ==> #ROS2
  2. catkin_init_workspace ==>

3. 构建catkin workspace中的代码

      在catkin workspace的根目录下,执行代码构建命令。

        (<package_name>替换为实际的包名,下同)

  1. #ROS1 ==> #ROS2
  2. catkin_make ==> colcon build
  3. #---------------------------------------------------------------------------
  4. #ROS1 编译指定的软件包, 包名带双引号,包名之间用分号隔开
  5. catkin_make -DCATKIN_WHITELIST_PACKAGES=“package_name1; package_name2”
  6. #ROS1 还原为构建所有包
  7. catkin_make -DCATKIN_WHITELIST_PACKAGES=“”
  8. #---------------------------------------------------------------------------
  9. #ROS2 编译指定的软件包,包名无符号包围,包名之间用空格分开
  10. colcon build --packages-select <package_name1> <package_name2>
  11. #ROS2 若希望python脚本修改后,不再需要每次重新编译(警告:可能出现代码的不适配)
  12. colcon build --symlink-install

在工作空间ros_ws中,除src文件夹外,其他为编译后产生的文件,删除后可重新编译获得。

对于ROS1,使用Catkin编译系统,编译后新增3个可删目录: build、install和devel。
1)build 编译空间:用于存储编译过程产生的缓存和中间文件。
2)devel 开发空间:用于放置编译生成的可执行文件。
3)install 安装空间:非必须的,可在工作目录下用catkin_make install生成,可以将可执行文件安装到此空间。

对于ROS2,使用colcon编译系统,编译后新增3个可删目录: build、install和log。
1)build 编译空间:用于存储编译过程产生的缓存和中间文件。
2)install 安装空间:用于放置编译生成的可执行文件和脚本。
3)log 日志空间:用于保存编译和运行过程中警告、报错等日志的空间。

4. 将工作空间的路径加入环境变量

将对应的工作空间的路径加入环境变量ROS_PACKAGE_PATH中。

如果新开了一个终端命令行,在使用该工作空间前,必须先将该工作空间的路径加入环境变量ROS_PACKAGE_PATH中。

  1. #ROS1
  2. echo 'source ~/catkin_ws/devel/setup.bash' >> ~/.bashrc
  3. #ROS2
  4. echo 'source ~/colcon_ws/install/setup.bash' >> ~/.bashrc
  5. #在ROS1中可查询ROS_PACKAGE_PATH, 一般不为空表示设置正常。
  6. echo $ROS_PACKAGE_PATH

5. 常用的ROS命令对比

  1. #ROS1 --> #ROS2
  2. # -----------------------------------
  3. roscore --> ros2
  4. rosrun --> ros2 run
  5. rosnode --> ros2 node
  6. roslaunch --> ros2 launch
  7. rosparam --> ros2 param
  8. rospkg --> ros2 pkg
  9. rosservice --> ros2 service
  10. rossrv --> ros2 srv
  11. rostopic --> ros2 topic
  12. rosaction --> ros2 action

最后的话

与ROS1相比,ROS2的命令稍微有点变化,但还是有规律的。

希望对你有所帮助。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ROS编译教程.1
ROS 常用命令字典
ros常用命令
ros入门之用catkin和rosmake创建和编译功能包
ROS学习(四)发布者与订阅者
ros编译指定的包
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服