当需要自定义节点和其他某个已经存在的节点通信时,如何获取对方的话题、以及消息载体的格式
在ROS提供一些实用的命令行工具,可以用于获取不同节点的各类信息
- rosnode:操作节点
- rostopic:操作话题
- rosservice:操作服务器
- rosmsg:操作msg信息
- rossrv:操作srv信息
- rosparam:操作参数
作用:于文件系统操作命令比较,文件错做命令是静态的,操作时磁盘上的文件,而上述命令是动态的,在ROS程序启动后,可以动态的获取运行中的节点或参数的相关信息
可以参考官方文档
官网资料
rosnode
rosnode ping # test connectivity to node
rosnode list # list active nodes
rosnode info /<node> # print information about node
rosnode machine <设备名> # list nodes running on a particular machine or list machines
rosnode kill /<node> # kill a running node
rosnode cleanup purge registration information of unreachable nodes
rostopic
rostopic bw # 显示带宽display bandwidth used by topic
rostopic delay <topic> # 显示主题延迟display delay of topic from timestamp in header
rostopic echo <topic> # 打印主题信息print messages to screen
# 需要进入当前的<workspace>
rostopic find # find topics by type
rostopic hz <topic> # 显示主题频率display publishing rate of topic
rostopic info <topic> # 显示主题信息print information about active topic
rostopic list # 列出主题列表list active topics
rostopic pub <topic> <package>/<数据类型msg> # 作为发布方发布数据publish data to topic
rostopic type # 打印主题类型print topic or field type
rosservice
用于列出和查询ROSService的rosservice命令行工具
调用部分服务时,如果对相关工作空间需要配置source ./devel/setup.bash
rosservice args print service arguments
rosservice call <topic> <date> # 扮演客户端角色请求数据call the service with the provided args
rosservice find find services by service type
rosservice info <topic> # print information about service
rosservice list # list active services
rosservice type <topic> # 打印服务所用数据类型print service type
rosservice uri print service ROSRPC uri
rosmsg
rosmsg用于显示有关ROS消息类型的 信息的命令行工具
rosmsg show <package/Data.msg> # 展示数据信息Show message description
rosmsg info # Alias for rosmsg show
rosmsg list # 列出所有的消息类型List all messages
rosmsg list | grep -i <自定义数据类型> # 列出自定义消息类型
# 需进入对应工作空间,刷新环境变量
rosmsg md5 # 显示md5加密后的消息Display message md5sum
rosmsg package <package> # 显示某个功能包下所有消息List messages in a package
rosmsg packages List packages that contain messages
rossrv
rossrv用于显示有关ROS服务类型的信息的命令行工具,与rosmsg使用语法高度雷同
rossrv show Show service description
rossrv info <package/Data.srv> # Alias for rossrv show
rossrv list # 展示所有服务消息List all services
rossrv list | grep -i <自定义数据类型>
# 需进入对应工作空间,刷新环境变量
rossrv md5 Display service md5sum
rossrv package <package> # List services in a package
rossrv packages List packages that contain services
rosparam
rosparam包含rosparam命令行工具,用于使用YAML编码文件在参数服务器上获取和社会子ROS参数
rosparam set <key> <value> # set parameter
rosparam get <key> # get parameter
rosparam load <file.yaml> # load parameters from file
rosparam dump <file.yaml> # 序列化参数文件dump parameters to file
rosparam delete <key> # delete parameter
rosparam list # list parameter names