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信息吗
<