Skip to main content

ROS 常用命令

1. 包管理工具 ros2 pkg

1.1 ros2 pkg create

创建功能包,指定包名、编译方式、依赖项、节点名等

ros2 pkg create <package_name> --build-type <build_type> --node-name <node_name> --dependencies <dependencie1 dependencie2 ...>

1.2 ros2 pkg list

查看系统中功能包列表

ros2 pkg list

1.3 ros2 pkg executables

查看包内可执行文件列表

ros2 pkg executables <package_name>

2. 节点运行工具 ros2 run

运行包内节点功能

ros2 run <package_name> <node_name>

3. 节点查看工具 ros2 node

3.1 ros2 node list

查看当前活动的节点列表

ros2 node list

3.2 ros2 node info

查看节点详细信息,包括订阅、发布的消息,开启的服务和动作等

ros2 node info <node_name>

4. 话题操作工具 ros2 topic

类似的对应于 service 和 action 的命令还有 ros2 service 和 ros2 action ,但我们平时使用不多,这里不做介绍,感兴趣的同学可以自行查阅。

4.1 ros2 topic list

列出可使用的话题列表

ros2 topic list

4.2 ros2 topic echo

在控制台显示话题消息

ros2 topic echo <topic_name>

4.3 ros2 topic info

显示话题消息类型,订阅者数量,发布者数量等

ros2 topic info <topic_name>

4.4 ros2 topic type

查看话题消息类型

ros2 topic type <topic_name>

4.5 ros2 topic find

按消息类型查找相关话题

ros2 topic find <message_type>

4.6 ros2 topic hz

显示话题平均发布频率

ros2 topic hz <topic_name>

4.7 ros2 topic bw

显示所查阅话题的带宽

ros2 topic bw <topic_name>

4.8 ros2 topic delay

通过header中的时间戳计算消息延迟

ros2 topic delay <topic_name>

4.9 ros2 topic pub

通过命令行发布指定话题消息

ros2 topic pub <topic_name> <message_type> <message_content>
# or ros2 topic pub -1 <topic_name> <message_type> <message_content>
# or ros2 topic pub -t n <topic_name> <message_type> <message_content>
# or ros2 topic pub -r n <topic_name> <message_type> <message_content>

默认循环发布,频率为1Hz,参数 -1 只发布一次,参数 -t n 循环发布n次结束,参数 -r n 以nHz的频率循环发布

5. 接口操作工具 ros2 interface

5.1 ros2 interface list

分类显示系统内所有的接口,包括消息(Messages)、服务(Services)、动作(Actions)

ros2 interface list

5.2 ros2 interface package

显示指定接口包内的子接口

ros2 interface package <interface_name>

5.3 ros2 interface show

显示指定接口的详细内容

ros2 interface show <interface_name>