当前位置: 首页 > news >正文

[具身智能-679]:ROS2功能包 - 命令行与系统工具概述与使用示例

这是ROS2 开发每天必用的工具,全部通过终端命令操作,用于调试、查看、控制、记录整个 ROS2 系统。

我按最常用顺序给你整理,每条命令都能直接复制运行


一、核心工具组:ros2cli

所有命令都以ros2开头,是 ROS2 的总控制台

1.ros2 run—— 启动节点(最常用)

功能:运行一个功能包中的可执行节点

bash

运行

ros2 run 功能包名 节点名

示例

bash

运行

ros2 run demo_nodes_cpp talker # 启动发布者节点 ros2 run demo_nodes_cpp listener # 启动订阅者节点 ros2 run rviz2 rviz2 # 启动可视化节点

2.ros2 node—— 节点管理

功能:查看当前运行的节点信息

bash

运行

ros2 node list # 列出所有运行中的节点 ros2 node info 节点名 # 查看节点的订阅、发布、服务

示例

bash

运行

ros2 node list ros2 node info /talker

3.ros2 topic—— 话题监控

功能:查看、发布、监听话题

bash

运行

ros2 topic list # 列出所有话题 ros2 topic echo /话题名 # 实时打印话题数据 ros2 topic info /话题名 # 查看消息类型 ros2 topic hz /话题名 # 查看发布频率 ros2 topic pub /话题名 消息类型 "数据" # 手动发消息(调试神器)

示例

bash

运行

ros2 topic echo /chatter ros2 topic pub /cmd_vel geometry_msgs/Twist "{linear: {x: 0.5}, angular: {z: 0.2}}"

4.ros2 service—— 服务调用

功能:调用、查看服务

bash

运行

ros2 service list ros2 service call /服务名 服务类型 "参数"

示例

bash

运行

ros2 service call /add_two_ints example_interfaces/srv/AddTwoInts "{a: 5, b: 3}"

5.ros2 action—— 动作(长任务)

功能:查看、发送动作目标(导航、机械臂常用)

bash

运行

ros2 action list ros2 action send_goal /动作名 动作类型 "目标数据"

6.ros2 param—— 参数管理

功能:查看、设置节点参数

bash

运行

ros2 param list # 查看参数 ros2 param get /node 参数 # 获取参数值 ros2 param set /node 参数 值 # 设置参数

示例

bash

运行

ros2 param set /controller use_sim_time true

7.ros2 launch—— 一键启动多节点

功能:运行启动文件,一次性启动多个节点 + 配置

bash

运行

ros2 launch 功能包名 启动文件.launch.py

示例

bash

运行

ros2 launch nav2_bringup navigation_launch.py ros2 launch slam_toolbox online_async_launch.py

二、数据记录工具:ros2 bag (rosbag2)

功能:把传感器 / 话题数据录下来,事后回放调试(机器人必备)

bash

运行

ros2 bag list # 查看话题 ros2 bag record /话题1 /话题2 -o 文件名 # 录制 ros2 bag play 文件夹名 # 回放 ros2 bag info 文件夹名 # 查看信息

示例

bash

运行

ros2 bag record /imu /laser_scan /image -o my_sensor_data ros2 bag play my_sensor_data


三、可视化与调试工具

1.rviz2—— 3D 可视化

功能看地图、TF、激光、相机、路径

bash

运行

ros2 run rviz2 rviz2

2.rqt系列工具

功能图像化调试

bash

运行

rqt # 总工具 rqt_graph # 看节点连接图(最常用) rqt_plot # 画数据曲线 rqt_console # 日志查看 rqt_tf_tree # 坐标树查看

四、系统诊断工具

1.ros2 doctor

功能:检查 ROS2 环境、网络、DDS、依赖是否正常

bash

运行

ros2 doctor

2.ros2 component

功能:进程内节点加载、调试,查看哪些动态库(.so)被加载到了组件容器进程里。

bash

运行

ros2 component list Component manager instances: /ComponentManager Component 'ros2::components::Talker' URI: library://demo_nodes_cpp/libtalker_component.so Node name: talker Node namespace: / Component 'ros2::components::Listener' URI: library://demo_nodes_cpp/liblistener_component.so Node name: listener Node namespace: /

五、最实用的 10 条命令(直接背)

bash

运行

ros2 run demo_nodes_cpp talker ros2 run demo_nodes_cpp listener ros2 node list ros2 topic echo /chatter ros2 topic pub /cmd_vel geometry_msgs/Twist "{linear: {x: 0.5}}" ros2 service list ros2 param set /node use_sim_time true ros2 launch nav2_bringup navigation_launch.py ros2 bag record /imu /laser_scan rqt_graph

六、一句话总结

ROS2 命令行工具就是ROS2 的控制台

  • 启动节点ros2 run
  • 查看节点 / 话题 / 服务list / info / echo
  • 调试发消息ros2 topic pub
  • 启动多个节点ros2 launch
  • 记录数据ros2 bag
  • 画图 / 看日志 / 查连接rqt系列
http://www.jsqmd.com/news/799252/

相关文章:

  • Manus技能自动化转换:从ClawHub到Manus的智能迁移管道
  • 基于RAG与LLM的学术论文智能问答系统构建指南
  • 2026沈阳GEO公司哪家好?高性价比实惠服务商推荐
  • 从零实现Transformer语言模型:深入理解GPT核心架构与训练实践
  • 基于Vue的纯前端的库存销售系统
  • IBM Power 720 实战:通过HMC分区部署AIX操作系统的完整指南
  • Gin 框架第一课:从 0 搞懂 Gin 最基础的路由
  • 「2026实测」论文满篇标红怎么救?3款降AI工具与3大手改技巧盘点
  • Elasticsearch 磁盘使用率超过 85% 导致只读怎么解锁?
  • Bert-VITS2语音合成实战:从原理到部署的完整指南
  • Figma设计系统自动化:生成AI就绪的DESIGN.md文档
  • 构建自动化营销数据管道:打通Google Ads、Meta Ads与GA4的数据孤岛
  • 如何通过3个关键策略实现Inter字体70%性能提升
  • PyTorch模型保存与加载的5个实战场景:从单卡训练到多卡部署的完整避坑指南
  • 同城配送介绍详解:从入门到实战全攻略
  • 芯片测试中的扫描压缩技术解析与应用
  • uni-number-box深度解析:从基础属性到高级双向绑定实战
  • Oracle JDBC驱动版本踩坑记:从Protocol violation到Clob写入失败的完整排查与升级指南
  • 2026论文降AI实测:保留排版格式,3款工具与手工微调指南
  • MySQL主从复制如何实现读写分离_利用ProxySQL进行流量分发
  • 量子优化算法QAOA在车辆路径问题中的应用与改进
  • 如何实现C++ Web 自动化测试实战:常用函数全解析与场景化应用指南
  • 如何确定SQL字段是否为空_使用IS NULL与IS NOT NULL
  • 别再猜了!Adams与MATLAB/Simulink联合仿真时,驱动函数的‘度’到底该怎么传?
  • MCP协议实践:为AI助手构建工具调用能力与ararahq-mcp项目解析
  • 大数据技生态中Hadoop、Spark、Hive、HDFS之间的区别
  • 【深度解析】Hermes Agent + Ion UI:从自治代理到 Agentic OS 的桌面 AI 自动化实践
  • DeepSeek V4 API实战:从零搭建AI编程助手全流程
  • 自适应联邦学习优化自监督语音模型微调
  • UNet3+凭什么比UNet++更轻量又好用?深入对比参数量与设计思想