Bootstrap

ROS2 学习笔记4:了解ROS2 话题Topic

Background 背景

ROS 2将复杂的系统分解成许多模块化节点。话题是ROS图中至关重要的元素,它充当节点交换消息的总线。
在这里插入图片描述

节点可以将数据发布到任意数量的话题,同时订阅任意数量的话题
在这里插入图片描述

主题是数据在节点之间(在系统的不同部分之间)移动的主要方式之一。

Prerequisites 前提

参考上一个教程

Tasks 任务

1 设置

启动 turtlesim

ros2 run turtlesim turtlesim_node 

另一个终端

ros2 run turtlesim turtle_teleop_key   

这些节点默认名字为/turtlesim/teleop_turtle

2 rqt_graph

在本教程中,我们将使用rqt_graph 可视化变化的节点和话题,以及它们之间的联系

turtlesim tutorial 告诉你如何安装rqt及其所有插件,包括 rqt_graph

要运行rqt_graph,请打开新终端并输入以下命令:

rqt_graph   

您也可以通过打开 rqt 并选择Plugins > Introspection > Node Graph来打开rqt_graph
在这里插入图片描述
你应该看到上面的节点和话题,以及围绕图表外围的两个动作。如果将鼠标悬停在中间的话题上,您会看到颜色突出显示,如上图所示。

该图描述了 /turtlesim 节点和 /teleop_turtle 节点如何通过一个话题相互通信。节点/teleop_turtle发布数据(按键输入移动小乌龟)到话题/turtle1/cmd_vel,同时节点/turtlesim订阅该话题并获取数据.

当存在更加复杂的系统,并且许多节点和话题通过不同方式进行连接时,rqt_graph加亮功能是非常有用.

rqt_graph是图形化监控工具.现在使用指令工具来监控话题.

3 ros2 话题列表

在新终端中运行 ros2 topic list 命令将返回系统中当前活动的所有话题的列表:

/parameter_events
/rosout
/turtle1/cmd_vel
/turtle1/color_sensor
/turtle1/pose

ros2 topic list -t返回相同的话题列表,这次在括号中附加了话题类型:

思考及疑问: 中括号中话题类型的具体含义; /parameter_events 和 /rosout 是系统自带的topic信息吗
<

;