[具身智能-114]:ros2命令清单
ros2命令行工具是 ROS 2 的“瑞士军刀”它采用模块化设计通过子命令来管理机器人的不同层面。以下是截至2026 年涵盖 Humble, Iron, Jazzy, Rolling 等主流版本的完整ros2命令清单及功能详解。 1. 核心系统监控 (System Introspection)用于查看当前运行的机器人系统状态是调试最常用的命令组。表格子命令功能描述常用示例ros2 node管理正在运行的节点 (Nodes)list列出所有活跃节点ros2 node listinfo node查看节点的订阅/发布/服务详情ros2 node info /turtlesimremap(高级) 动态重映射节点参数ros2 topic管理话题 (Topics)(发布/订阅模式)list列出所有活跃话题ros2 topic listecho topic实时打印话题消息内容ros2 topic echo /cmd_velpub topic type data手动发布一条消息ros2 topic pub /led std_msgs/msg/Bool {data: true}hz topic测量话题发布频率ros2 topic hz /scanbw topic测量话题带宽占用ros2 topic bw /camera/imagedelay topic测量消息传输延迟find type查找特定类型的话题ros2 topic find std_msgs/msg/Stringros2 service管理服务 (Services)(请求/响应模式)list列出所有活跃服务ros2 service listcall service type request调用服务并发送请求ros2 service call /clear std_srvs/srv/Empty {}find type查找特定类型的服务type service查看服务的类型ros2 action管理动作 (Actions)(长任务带反馈)list列出所有活跃动作服务器ros2 action listsend_goal action type goal发送一个动作目标info action查看动作详情find type查找特定类型的动作ros2 param管理参数 (Parameters)(动态配置)list node列出节点的参数ros2 param list /turtlesimget node param获取参数值ros2 param get /turtlesim background_rset node param value设置参数值ros2 param set /turtlesim background_r 50dump node将参数导出到 YAML 文件load node file从 YAML 文件加载参数ros2 lifecycle管理受控节点生命周期(Managed Nodes)list列出受控节点及其状态get node获取节点当前状态set node transition触发状态转换 (configure, activate...) 2. 开发与构建 (Development Build)用于代码开发、编译和包管理。表格子命令功能描述常用示例ros2 run运行单个节点的可执行文件ros2 run demo_nodes_cpp talkerros2 launch启动Launch 文件 (同时运行多个节点)ros2 launch turtlesim turtlesim_mimic_launch.pyros2 pkg包管理与查询list列出所有可用包ros2 pkg listprefix pkg获取包的安装路径ros2 pkg prefix turtlesimexecutables pkg列出包内的可执行文件ros2 pkg executables nav2_bringupcreate type name创建新包(类似 catkin_create_pkg)ros2 pkg create my_robot --build-type ament_cmakexml pkg显示包的 package.xml 内容ros2 interface查看自定义或标准的消息/服务/动作接口list列出所有接口类型show type显示接口的详细定义结构ros2 interface show geometry_msgs/msg/Twistpackage type显示接口所属的包ros2 doctor系统诊断(检查 ROS 2 环境健康度)ros2 doctor(必用排查网络/版本问题) 3. 数据记录与回放 (Data Logging)类似于 ROS 1 的rosbag但在 ROS 2 中集成度更高。表格子命令功能描述常用示例ros2 bag记录 (Record) 和 回放 (Play) 数据record -a记录所有话题 (默认存为 mcap 或 sqlite3)ros2 bag record -arecord topics记录指定话题ros2 bag record /odom /scanplay bagfile回放数据包ros2 bag play my_recording_0info bagfile查看数据包信息 (时长、消息数等)list列出当前目录下的包文件convert转换包文件格式 (如 mcap 转 sqlite3) 4. 安全与扩展 (Security Extension)用于 DDS 配置、安全策略和多机器人管理。表格子命令功能描述常用示例ros2 security管理 SROS2安全策略(密钥生成/分发)generate_policy根据运行环境生成安全策略 XMLcreate_key生成 CA 或 身份密钥distribute_key分发密钥ros2 daemon控制 ROS 2 守护进程 (加速发现机制)start启动守护进程stop停止守护进程status查看守护进程状态ros2 extension管理ros2CLI 的插件扩展list列出已安装的扩展⚪ 5. 通用选项与技巧所有ros2子命令都支持一些通用参数--help/-h: 查看帮助。例ros2 topic --help--version: 查看 ROS 2 版本。例ros2 --version--no-daemon: 强制不使用守护进程用于调试发现机制问题。--include-hidden-topics: 显示隐藏话题通常以_开头如/parameter_events。 高效工作流示例环境检查bash编辑ros2 doctor --report # 生成详细的环境诊断报告查找并运行节点bash编辑ros2 pkg executables turtlesim # 1. 看看有什么可运行的 ros2 run turtlesim turtlesim_node # 2. 运行它调试通信bash编辑ros2 topic list # 看有哪些话题 ros2 topic echo /turtle1/cmd_vel # 监听速度指令 ros2 topic pub /turtle1/cmd_vel geometry_msgs/msg/Twist {linear: {x: 1.0}} # 手动发指令录制数据bash编辑ros2 bag record /turtle1/pose -o my_pose_data❓ 常见问题为什么有些命令找不到原因 1没有source环境。解决source /opt/ros/distro/setup.bash原因 2缺少对应的组件包。例如使用ros2 bag需要安装ros-distro-rosbag2-cli。例如使用ros2 launch需要安装ros-distro-launch。通常安装桌面版 (desktop) 会包含所有命令但最小化安装 (base) 可能缺少部分工具。这个清单涵盖了 ROS 2 开发中 95% 的日常操作。掌握这些命令你就掌握了与机器人对话的语言。