ROS话题

1、查看ROS正在发布的话题

rostopic list
我的正在发布如下话题。

 

 

 

2、具体查看某个话题,比如查看改话题的发布者(Publishers)和订阅者(Subscribers)以及话题的类型(Type),用命令:rostopic info +某个话题,比如我要查看这个话题:/brov/thruster_command,则用以下命令。

rostopic info /brov/thruster_command
具体内容如下

 

 

 

3、查看ROS 中正在运行的节点

rosnode list
截图如下:

 

 

 

4、查看话题类型/格式:rostopic type + 话题 ,这里也可以由上面的2中的Type看到,这里我查看/brov/thruster_command这个话题的类型。如下

rostopic type /brov/thruster_command
截图如下:

 

 

 

5、查看话题中的类型/格式的具体内容:

rosmsg show sensor_msgs/JointState
内容如下:

std_msgs/Header header
uint32 seq
time stamp
string frame_id
string[] name
float64[] position
float64[] velocity
float64[] effort
6、往话题里发布数据,发布数据当然要符合改话题中的消息类型的定义。发布数据的命令是:rostopic pub +话题 +消息类型

我这里往这个话题发消息

rostopic pub /brov/thruster_command sensor_msgs/JointState "header:
输出”header 后Tab键补全即可出现以下内容:

seq: 0
stamp: {secs: 0, nsecs: 0}
frame_id: ''
name: ['']
position: [0]
velocity: [0]
effort: [0]"
在这里,我发布两个数据,position(位置)和velocity(力度),添加参数,回车即可,如下:

seq: 0
stamp: {secs: 0, nsecs: 0}
frame_id: ''
name: ['']
position: [200]
velocity: [12]
effort: [0]"
截图如下:

 

 

 

提示数据已经发布: 接下来,来获取我们发布的数据。验证以下

7、打印刚发布的消息内容:命令:rostopic echo +话题

rostopic echo /brov/thruster_command
内容如下:

 

 

 

这里要注意发布数据那个终端不要杀死先,要是杀死则查看数据将会出现内容:

 

 

 

最后,搞定,学习的路上很愉快,尤其是学习ROS 的路上更愉快。最后,学习记得做笔记哦哦!!!

posted @ 2022-01-09 16:51  张达嘛  阅读(492)  评论(0编辑  收藏  举报