本文主要是介绍ROS总结——ROS话题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
理解ROS话题
本博客是对http://wiki.ros.org/上ROS教程的学习总结,欢迎大家交流学习。本节介绍ROS话题(topics)以及如何使用rostopic 和 rxplot 命令行工具。
1.运行turtlesim
首先确保roscore已经运行, 打开一个新的终端:
$ roscore
在一个新的终端中运行:
$ rosrun turtlesim turtlesim_node
需要通过键盘来控制turtle的运动,在一个新的终端中运行:
$ rosrun turtlesim turtle_teleop_key
Reading from keyboard
---------------------------
Use arrow keys to move the turtle.
现在可以使用键盘上的方向键来控制turtle运动了。如果不能控制,请选中turtle_teleop_key所在的终端窗口以确保你的按键输入能够被捕获。
现在可以控制turtle运动了,下面来说说控制turtle运动的原理。
2.ROS Topics
turtlesim_node节点和turtle_teleop_key节点之间是通过一个ROS话题来互相通信的。turtle_teleop_key在一个话题上发布按键输入消息,而turtlesim则订阅该话题以接收该消息。下面让我们使用rqt_graph来显示当前运行的节点和话题。
2.1. 使用 rqt_graph
rqt_graph能够创建一个显示当前系统运行情况的动态图形。rqt_graph是rqt程序包中的一部分。如果你没有安装,请通过以下命令来安装:
$ sudo apt-get install ros-indigo-rqt
$ sudo apt-get install ros-indigo-rqt-common-plugins
qw 在一个新终端中运行:
$ rosrun rqt_graph rqt_graph
如果将鼠标放在/turtle1/command_velocity上方,相应的ROS节点(蓝色和绿色)和话题(红色)就会高亮显示。正如你所看到的,turtlesim_node和turtle_teleop_key节点正通过一个名为 /turtle1/command_velocity的话题来互相通信。
2.2. rostopic介绍
rostopic命令工具能让你获取有关ROS话题的信息,可以使用帮助选项查看rostopic的子命令:
$ rostopic -h
rostopic is a command-line tool for printing information about ROS Topics.Commands:rostopic bw display bandwidth used by topicrostopic delay display delay of topic from timestamp in headerrostopic echo print messages to screenrostopic find find topics by typerostopic hz display publishing rate of topic rostopic info print information about active topicrostopic list list active topicsrostopic pub publish data to topic
这篇关于ROS总结——ROS话题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!