ROS总结——ROS话题

本文介绍了ROS话题的基本概念,通过实例演示了如何使用rostopic和rqt_graph命令行工具进行话题操作,包括发布、订阅、查看消息类型等。通过控制turtlesim,展示了如何使用rostopic pub、echo、hz以及rqt_plot来理解和分析ROS话题中的数据交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

理解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 topic
    rostopic delay  display delay of topic from timestamp in header
    rostopic echo   print messages to screen
    rostopic find   find topics by type
    rostopic hz display publishing rate of topic    
    rostopic info   print information about active topic
    rostopic list   list active topics
    rostopic pub    publish data to topic
    rostopic type  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值