[具身智能-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 /talker3.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 true7.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 rviz22.rqt系列工具功能图像化调试bash运行rqt # 总工具 rqt_graph # 看节点连接图最常用 rqt_plot # 画数据曲线 rqt_console # 日志查看 rqt_tf_tree # 坐标树查看四、系统诊断工具1.ros2 doctor功能检查 ROS2 环境、网络、DDS、依赖是否正常bash运行ros2 doctor2.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系列