您的位置:首页 > 运维架构

ROS学习手记 - 4 理解ROS中的基本概念_ROS_Topics

2015-07-06 10:59 197 查看
参考步骤:http://wiki.ros.org/ROS/Tutorials/UnderstandingTopics

Understanding ROS's Topics

This tutorial introduces ROS topics as well as using therostopic and
rqt_plot commandline tools.

复习一下教程里关于Topic的解释:




1. 准备工作

确认运行roscore之后,开始我们的turtlesim之旅

2. 用rosrun开了两个node,

一个是显示turtlesim窗口的turtlesim turtlesim_node

一个是接收用户keyboard指令的turtlesim turtle_teleop_key

3. rqt_graph工具

turtle_teleop_key是publisher,turtlesim_node是listener,用rqt_graph来看当前运行的nodes&topics.

用rqt_graph工具图形化地查看当前的node和topic运行状态,主从关系等。

$ rosrun rqt_graph rqt_graph

4. 使用rostopic工具分析topic相关信息

$rostopic -h //查看说明

4.1 使用rostopic echo打印发送在topic上的数据

rostopic echo shows the data published on a topic.

rostopic echo [topic]

4.2 使用rostopic list查看当前的topic是从属于谁,又领导谁

$ rostopic list -h //查看说明

4.3 使用rostopic hz 显示topic发布的频率

Usage: rostopic hz [topic]

5. ROS Messages

5.1 关于Message Type 和 Topic Type 的关系,工具:rostopic & rosmsg

$ rostopic type /turtle1/cmd_vel  //display topic type

$ rosmsg show geometry_msgs/Twist //show msg of ros_topic_type

联合使用:We can also use rostopic type in conjunction with rosmsg show to get in depth information about a topic:

For ROS Hydro and later,

$ rostopic type /turtle1/cmd_vel | rosmsg show

用了管道,就是把前一个命令的输出作为参数传给后一个命令。

5.2 手动发送msg on topic, 工具: rostopic pub

rostopic pub [topic] [msg_type] [args]

有一些解释,比如-1是执行一次,-r 1是以1Hz方式连续发送

rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.2]'

6. 使用rqs_plot工具

rqt_plot displays a scrolling time plot of the data published on topics. Here we'll use
rqt_plot to plot the data being published on the
/turtle1/pose topic. First, start rqt_plot by typing

$ rosrun rqt_plot rqt_plot

in a new terminal. In the new window that should pop up, a text box in the upper left corner gives you the ability to add any topic to the plot. Typing
/turtle1/pose/x will highlight the plus button, previously disabled. Press it and repeat the same procedure with the topic
/turtle1/pose/y. You will now see the turtle's x-y location plotted in the graph.



---- rostopic命令总结 ----

rostopic bw display bandwidth used by topic

rostopic echo print messages to screen

rostopic hz display publishing rate of topic

rostopic list print information about active topics

rostopic pub publish data to topic

rostopic type print topic type



== 至此,我们完成了对ROS Topic的初步理解,知道了Topic type, message, rate等东东。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: