ROS 2三种常用的通信机制: 话题、服务、动作
Refer:Tutorials — ROS 2 Documentation: Rolling documentation
Refer: (243条消息) ROS2学习笔记(九)-- ROS2命令行操作常用指令总结(二)_溪风沐雪的博客-CSDN博客
Refer: 概念总览 - ROS2入门教程 (guyuehome.com)
实例源码:GitHub - ros2/examples: Example packages for ROS 2

ROS有三种常用的通信机制,分别是话题、服务、动作
数据交换通过以下方式:话题通信 (发布订阅模式)、服务通信 (请求响应模式)、参数服务器 (参数共享模式)
流程控制通过以下方式:动作通信()
1. 话题
【发布/订阅模式:多对多】【异步通信机制】
从话题本身的实现角度来看,使用了基于DDS的发布/订阅模型。可以实现多个ROS节点之间数据的单向传输,使用这种异步通信机制,发布者无法准确知道订阅者是否收到消息。
话题是单向的,而且不需要等待服务端上线,直接发就行,数据的实时性比较高。
频率高,实时性强的传感器数据的传递一般使用话题实现。
2. 服务
【客户端/服务器|请求/响应模式:1对多】【同步通信机制】
服务是双向的,客户端发送请求后,服务端有响应,可以得知服务端的处理结果。采用的是你问我答的同步通信机制。
频率较低,强调服务特性和反馈的场景一般使用服务实现。
3. 参数
【参数共享模式:对】【通信机制】
参数是节点的设置,用于配置节点,原理基于服务。
4. 动作
【客户端/服务器模型:1对多】【同步通信机制】
动作适用于需要实时反馈的场景,原理基于话题和服务。目的就是便于对机器人某一完整行为的流程进行管理。
ros2 interface list
命令功能:分类显示系统内所有的接口,包括消息(Messages)、服务(Services)、动作(Actions)
命令格式:ros2 interface list
浙公网安备 33010602011771号