topic通信介绍
topic简介¶
ROS 2 将复杂系统分解为许多模块化节点。topic是 ROS 的重要元素,它充当节点交换消息的总线。
一个节点可以向任意数量的主题发布数据,同时订阅任意数量的主题
topic是数据在节点之间以及在系统的不同部分之间传输数据的主要方式之一
topic任务¶
1. 打开2个节点¶
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key
2. 打开rqt_graph¶
rqt_graph是可视化工具,可以查看节点间的topic关系.
打开方式:
通过rqt_graph
命令直接打开
该图描述了
/turtlesim
节点和/teleop_turtle
节点如何通过主题相互通信
3. ros2 topic列表¶
ros2 topic list
4. topic回显¶
ros2 topic echo <topic_name>
5. topic详情¶
ros2 topic info /turtle1/cmd_vel
6. 显示消息数据结构¶
ros2 interface show <topic消息>
7. 发布topic消息¶
知道了消息结构,可以使用以下命令直接从命令行将数据发布到主题:
ros2 topic pub <topic_name> <msg_type> '<args>'
8.查看topic发布的频率¶
ros2 topic hz topic名称