ROS2 常用指令速查表 ROS2 常用指令速查表整理自 ROS2 官方文档及社区资料。命令中的distro表示 ROS2 发行版名称如humble、foxy、iron、jazzy等...为需替换的参数。一、环境配置# 加载 ROS2 环境变量每次开新终端需执行source/opt/ros/distro/setup.bash# 写入 ~/.bashrc 自动加载echosource /opt/ros/distro/setup.bash~/.bashrc# 查看当前 ROS2 发行版echo$ROS_DISTRO# 安装 colcon 构建工具sudoaptinstallpython3-colcon-common-extensions二、工作空间与功能包# 创建工作空间mkdir-p~/ros2_ws/srccd~/ros2_ws# 创建功能包C 版ros2 pkg createpackage_name--build-type ament_cmake--dependenciesrclcpp std_msgs# 创建功能包Python 版ros2 pkg createpackage_name--build-type ament_python--dependenciesrclpy std_msgs# 构建工作空间colcon build# 推荐开发方式软链接安装源码修改后无需重新编译colcon build --symlink-install# 仅构建指定功能包colcon build --packages-selectpackage_name# 跳过测试构建colcon build --cmake-args-DBUILD_TESTINGOFF# 加载工作空间环境sourceinstall/setup.bash# 清理构建产物rm-rfbuild/ install/ log/Colcon 其他常用选项# 允许继续构建即使部分包失败colcon build --continue-on-error# 并行构建的包数量colcon build --parallel-workersN# 运行测试colcontestcolcon test-result# 查看测试结果三、节点Node# 列出所有运行中的节点ros2nodelist# 查看某节点信息发布/订阅的话题、服务ros2nodeinfonode_name# 运行某个节点ros2 runpackage_namenode_name# 重映射节点名ros2 runpackage_namenode_name--ros-args-r__node:new_name四、话题Topic# 列出所有话题ros2 topic list# 列出话题及其消息类型ros2 topic list-t# 查看话题信息ros2 topic infotopic_name# 实时查看话题消息内容ros2 topicechotopic_name# 发布消息单次ros2 topic pubtopic_namemsg_typedata# 持续发布消息按固定频率ros2 topic pub-r频率Hztopic_namemsg_typedata# 查看话题发布频率ros2 topic hztopic_name# 查看话题带宽ros2 topic bwtopic_name# 查看话题消息类型定义ros2 topictypetopic_name示例# 发布一条字符串消息ros2 topic pub /chatter std_msgs/msg/Stringdata: hello ros2# 持续以 2Hz 发布ros2 topic pub-r2/chatter std_msgs/msg/Stringdata: hello五、服务Service# 列出所有服务ros2servicelist# 列出服务及其类型ros2servicelist-t# 查看服务类型ros2servicetypeservice_name# 按类型查找服务ros2servicefindsrv_type# 调用服务ros2servicecallservice_namesrv_typerequest_data示例ros2servicecall /add_two_ints example_interfaces/srv/AddTwoInts{a: 2, b: 3}六、动作Action# 列出所有动作ros2 action list# 列出动作及其类型ros2 action list-t# 查看动作信息ros2 action infoaction_name# 查看动作类型ros2 actiontypeaction_name# 发送目标ros2 action send_goalaction_nameaction_typegoal_data# 发送目标并接收反馈ros2 action send_goal-faction_nameaction_typegoal_data七、参数Parameter# 列出某节点的所有参数ros2 param listnode_name# 获取参数值ros2 param getnode_nameparam_name# 设置参数值ros2 paramsetnode_nameparam_namevalue# 查看参数描述ros2 param describenode_nameparam_name# 导出参数到文件ros2 param dumpnode_name# 从文件加载参数ros2 param loadnode_nameparameter_file八、接口Interface# 列出所有接口msg/srv/actionros2 interface list# 查看接口定义ros2 interface showinterface_type# 列出某包内的所有接口ros2 interface packagepackage_name# 显示消息包列表ros2 interface package std_msgs示例ros2 interface show std_msgs/msg/String ros2 interface show example_interfaces/srv/AddTwoInts九、数据录制与回放ros2 bag# 录制指定话题ros2 bag recordtopic1topic2# 录制所有话题ros2 bag record-a# 录制并指定输出文件名ros2 bag record-ofile_nametopic_name# 回放数据ros2 bag playbag_file# 查看录制文件信息ros2 bag infobag_file十、启动文件Launch# 启动 launch 文件ros2 launchpackage_namelaunch_file# 查看包的 launch 文件ros2 launchpackage_name十一、TF 坐标变换# 查看当前 TF 树ros2 run tf2_tools view_frames# 监听某坐标变换ros2 run tf2_ros tf2_echoparent_framechild_frame# 发布静态坐标变换ros2 run tf2_ros static_transform_publisherxyzyawpitchrollparent_framechild_frame十二、其他实用命令# 查看包路径ros2 pkg prefixpackage_name# 列出已安装的包ros2 pkg list# 查找包含某关键字的包ros2 pkg list|grepkeyword# 查看正在运行的节点执行文件ros2 pkg executablespackage_name# 查看守护进程状态ros2 daemon status ros2 daemon start ros2 daemon stop# ROS2 域 ID 设置多机通信隔离exportROS_DOMAIN_IDid十三、三种通信方式对比通信方式适用场景特点典型用途Topic 话题持续、高频数据流发布/订阅异步一对多传感器数据、里程计Service 服务一次性请求-响应同步短时一对一触发某动作、查询状态Action 动作长时间运行任务异步可取消带反馈与结果导航、机械臂运动参考来源ROS2 Colcon 常用命令速查表 - CSDNROS2 命令行操作 - 古月居Using colcon to build packages - ROS 2 官方文档Understanding topics - ROS 2 文档Understanding services - ROS 2 文档Understanding actions - ROS 2 文档ROS2 CLI Reference常用 ROS2 命令 - Seeed-Projects