ROS合集(一)ROS常见命令及其用途
下面列举一些常见的 ROS 命令及其用途,涵盖数据记录、可视化、话题管理、调试、消息查看、参数管理等各方面。这些命令可以帮助您在 ROS 系统中调试、监控和管理各个组件:
文章目录
- 1. 核心启动和节点管理
- 2. 话题(Topic)管理
- 3. 服务(Service)管理
- 4. 消息(Message)和参数(Parameter)管理
- 5. 数据记录与回放(Bag 文件)
- 6. 可视化工具
- 7. 编译与环境管理
- 8. 其他常用命令
1. 核心启动和节点管理
-
roscore
启动 ROS 的主节点(ROS Master)、参数服务器、日志记录等基础服务。roscore
-
rosnode list
列出当前运行的所有节点。rosnode list
-
rosnode info [node_name]
显示指定节点的详细信息,包括发布、订阅的话题、服务等。rosnode info /my_node
-
rosnode ping [node_name]
检查节点是否在线。rosnode ping /my_node
2. 话题(Topic)管理
-
rostopic list
列出所有当前发布/订阅的话题。rostopic list
-
rostopic echo [topic_name]
实时显示某个话题上的消息内容,便于调试数据。rostopic echo /camera/image_raw
-
rostopic pub [topic_name] [msg_type] [args]
发布一条消息到指定的话题,常用于测试。rostopic pub /chatter std_msgs/String "data: 'hello ROS'"
-
rostopic hz [topic_name]
查看某个话题的发布频率。rostopic hz /camera/image_raw
-
rostopic bw [topic_name]
显示话题带宽使用情况。rostopic bw /camera/image_raw
3. 服务(Service)管理
-
rosservice list
列出当前所有可用的服务。rosservice list
-
rosservice call [service_name] [args]
调用指定的服务并传递参数。rosservice call /reset_odometry
-
rosservice info [service_name]
显示服务的详细信息。rosservice info /reset_odometry
4. 消息(Message)和参数(Parameter)管理
-
rosmsg show [msg_type]
显示指定消息类型的结构。rosmsg show sensor_msgs/Image
-
rossrv show [srv_type]
显示服务类型的结构。rossrv show std_srvs/Empty
-
rosparam list
列出参数服务器中所有的参数名称。rosparam list
-
rosparam get [param_name]
获取某个参数的当前值。rosparam get /use_sim_time
-
rosparam set [param_name] [value]
设置或修改参数服务器上的参数值。rosparam set /robot_speed 1.0
-
rosparam dump [file.yaml]
将当前参数服务器中的所有参数保存到 YAML 文件中。rosparam dump params.yaml
-
rosparam load [file.yaml]
从 YAML 文件中加载参数到参数服务器。rosparam load params.yaml
5. 数据记录与回放(Bag 文件)
-
rosbag record [topic1] [topic2] …
记录指定话题数据到 Bag 文件,支持通配符和多个话题。rosbag record -O mydata.bag /camera/image_raw /imu/data
-
rosbag play [bagfile]
播放 Bag 文件,重现之前记录的 ROS 数据流。rosbag play mydata.bag
-
rosbag info [bagfile]
查看 Bag 文件中包含的话题、消息数、时间范围等信息。rosbag info mydata.bag
6. 可视化工具
-
rviz
一个强大的 3D 可视化工具,可以显示点云、图像、TF 变换、Marker 等。rviz
-
rqt_graph
可视化 ROS 节点与话题连接关系的图形工具,直观展示系统拓扑结构。rqt_graph
-
rqt_console
用于查看和过滤 ROS 日志消息,方便调试。rqt_console
-
rqt_plot
绘制实时数据图表,如传感器数据、参数变化等。rqt_plot /imu/data/angular_velocity/x
-
rxconsole (ROS 旧版)
用于 ROS 日志管理的工具,现在推荐使用 rqt_console。
7. 编译与环境管理
-
catkin_make
编译当前 catkin 工作空间中所有包。catkin_make
-
catkin build
另一种常用的构建工具(如果安装了 catkin_tools)。catkin build
-
roscd [package_name]
快速跳转到指定包所在目录。roscd rtabmap_ros
-
rosls [package_name]
列出指定包中的文件结构。rosls rtabmap_ros
8. 其他常用命令
-
roslaunch [package] [launch_file]
启动一个 ROS launch 文件,将启动多个节点及配置参数。roslaunch rtabmap_examples euroc_datasets.launch
-
rospack find [package_name]
查找指定包在系统中的路径。rospack find tf
-
roswtf
检查 ROS 环境中常见的问题,比如话题、参数等配置是否有冲突。roswtf