ROS及SLAM进阶教程(七)ROS常用Package、Bag、Node、Topic、Service等指令操作

804
0
2020年7月24日 14时22分

相信大家在编译运行某个节点文件经常会出现节点文件无法被找到的情况,或者在运行时不知道文件的位置、不知道该如何监听数据来进行调试等问题。

 

为了方便大家更熟悉ROS的操作,同时方便大家的调试,本次更新一起关于ROS常用package、bag、Node、Topic、Service等的指令操作,感觉有用的话欢迎点赞收藏关注哦~

 

Package相关操作

1.如何创建一个package详细参考wiki官方教程

 

2.如何从git上拷贝一个package并不出错
在将git包拷贝到~/catkin_ws/src后记得下载完该包需要的 依赖项,然后回到~/catkin_ws目录运行:

~/catkin_ws$ rosdep install --from-paths src --ignore-src -r -y 

 

3.查找package

$ rospack find [package_name]

 

4.查看 Package 依赖

$ rospack depends <package_name>

 

5.查看所有包

$ rospack list

 

6.根据局部信息查找一个包

$ rospack list | grep turtlebot #如查找所有包含turtlebot的包

 

Node相关操作

1.关于Node的官方wiki教程

 

2.关于Node理解和使用的官方wiki教程

 

3.查看所有正在运行的 Node

$ rosnode list

 

4.查看某节点信息

$ rosnode info [node_name]

 

5.运行某个包中的某个node文件

$  rosrun [package_name] [node_name] 
#例如rosrun turtlesim turtlesim_node

Topic相关操作

1.关于Topic已经有非常多博客介绍Topic的话题操作,更详细的请见wiki官方教程

 

2.如何理解和使用topic的中文wiki官方教程

 

3.查看所有关于rostopic的操作

$ rostopic -h

 

4.查看所有topic列表

$ rostopic list

 

5.图形化显示 topic

$ rosrun rqt_graph rqt_graph
$ rosrun rqt_plot rqt_plot

 

6.查看某个topic的信息

$ rostopic echo [topic]

 

7.查看topic的消息格式

$ rostopic type [topic]
$ rosmsg show [msg_type]

 

8.向topic发布信息

$ rostopic pub [-1] <topic> <msg_type> [-r 1] -- [args] [args]

 

9.查看topic的发布数据及频率

$ rostopic hz [topic]

 

Service相关操作

服务services是节点之间通讯的另一种方式。服务允许节点发送请求request,并获得一个响应response。service在AMCL源码包的通信中非常常见。

 

1.查看所有关于service操作

$ rosservice -h

 

2.查看service列表

$ rosservice list

 

3.调用 service

$ rosservice call [service] [args]

 

4.查看 service 格式并显示数据

$ rosservice type [service] | rossrv show

 

5.显示指定服务的信息

$ rosservice info [service] 

 

6.查找指定服务类型的服务

$ rosservice find [service type] 

 

7.获得、设置、加载、删除service的parameter

$ rosparam get [parame_name]
$ rosparam set [parame_name] [args] + rosservice call clear
$ rosparam load [file_name] [namespace]
$ rosparam delete

 

bag相关操作

rosbag 主要用于记录、回放、分析 rostopic 中的数据。它可以将指定 rostopic 中的数据记录到 .bag 后缀的数据包中,便于对其中的数据进行离线分析和处理。目前博主使用bag还比较少,因为订阅的数据可以通过rostopic指令来进行分型,所以这里操作就不放太多。

 

1.rosbag的官方wiki教程

 

2.录制所有topic的变化

$ rosbag record -a

 

3.记录某些 topic

$ rosbag record -O subset <topic1> <topic2>

 

4.查看 bag 信息

$ rosbag info <bagfile_name>

 

5.回放bag(这个还是挺有用的)

$ rosbag play (-r 2) <bagfile_name>

 

以上是关于ROS常用的指令操作,可能会有遗漏,也欢迎大家指正。
码字不易,喜欢的话请点赞收藏关注哦,您的支持是博主最大的动力。

 

本文转载自CSDN,原文链接:https://blog.csdn.net/qq_33742147/article/details/105699412

发表评论

后才能评论