ros话题(topic)

Posted liudianfengmang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ros话题(topic)相关的知识,希望对你有一定的参考价值。

ros话题(topic)

  首先确保roscore已经运行, 打开一个新的终端:$ roscore
  请在一个新的终端中运行:$ rosrun turtlesim turtlesim_node

通过键盘远程控制turtle

  请在一个新的终端中运行:$ rosrun turtlesim turtle_teleop_key

turtlesim_node、 turtle_teleop_key两个节点通过topic通信
rqt_graph能够创建一个显示当前系统运行情况的动态图形:
在一个新终端中运行: $ rosrun rqt_graph rqt_graph

rostopic

  rostopic echo可以显示在某个话题上发布的数据:
 在一个新终端中看一下turtle_teleop_key节点在/turtle1/command_velocity话题(非hydro版)上发布的数据:$ rostopic echo /turtle1/command_velocity

rostopic list能够列出所有当前订阅和发布的话题

ros messages

  rostopic type 命令用来查看所发布话题的消息类型
  可以使用rosmsg命令来查看消息的详细情况:$ rosmsg show turtlesim/Velocity
  rostopic pub可以把数据发布到当前某个正在广播的话题上: rostopic pub -1 /turtle1/command_velocity turtlesim/Velocity  -- 2.0  1.8
  你可能已经注意到turtle已经停止移动了。这是因为turtle需要一个稳定的频率为1Hz的命令流来保持移动状态。我们可以使用rostopic pub -r命令来发布一个稳定的命令流:$ rostopic pub /turtle1/command_velocity turtlesim/Velocity -r 1 -- 2.0  -1.8

rostopic hz命令可以用来查看数据发布的频率

  $ rostopic hz /turtle1/pose

rqt_plot rqt_plot命令可以实时显示一个发布到某个话题上的数据变化图形

  在一个新终端中运行rqt_plot命令:$ rosrun rqt_plot rqt_plot
  窗口左上角的一个文本框里面你可以添加需要绘制的话题

以上是关于ros话题(topic)的主要内容,如果未能解决你的问题,请参考以下文章

rosbagrecord不录啥话题

ROS从入门到精通系列四种通信方式-Topic

ROS从入门到精通系列四种通信方式-Topic

ROS通信机制一---话题通信

ROS2指令总结

ROS话题消息的定义与使用