|
@@ -4,23 +4,19 @@
|
|
|
|
|
|
## 1.话题
|
|
|
|
|
|
-话题是单向的,而且不需要等待服务端上线,直接发就行,数据的实时性比较高。
|
|
|
-
|
|
|
-频率高,实时性强的传感器数据的传递一般使用话题实现。
|
|
|
+话题(Topic)是一种轻量级的通信方式,用于实现发布-订阅模式,即一个节点发布数据,另一个节点订阅数据。话题是一种单向的通信方式,发布者发布数据后,无法获知数据是否被订阅者成功接收。话题的数据类型可以是ROS中定义的任意消息类型。常见的使用话题实现的场景包括传感器数据的传递、节点间的状态信息交换等。
|
|
|
|
|
|
## 2.服务
|
|
|
|
|
|
-服务是双向的,客户端发送请求后,服务端有响应,可以得知服务端的处理结果。
|
|
|
-
|
|
|
-频率较低,强调服务特性和反馈的场景一般使用服务实现。
|
|
|
+服务是双向的,提供了一种客户端-服务器模式,即客户端向服务器发送请求,服务器响应请求并返回结果。服务可以实现双向通信,并且支持传递任意的ROS消息类型。服务的实现需要定义两个消息类型,一个用于请求,一个用于响应。常见的使用服务实现的场景包括节点之间的命令调用、请求数据等。
|
|
|
|
|
|
## 3.参数
|
|
|
|
|
|
-参数是节点的设置,用于配置节点,原理基于服务。
|
|
|
+参数(Parameter)是ROS 2中节点的一种配置机制,它可以用于对节点进行设置。参数可以存储整数、浮点数、布尔值、字符串等基本类型数据,也可以存储ROS消息类型。参数的读写操作可以通过服务实现。在节点启动时,可以通过ROS参数服务器将参数传递给节点,也可以在运行时动态修改参数。常见的使用参数的场景包括节点的配置、调试等。,原理基于服务。
|
|
|
|
|
|
## 4.动作
|
|
|
|
|
|
-动作适用于需要实时反馈的场景,原理基于话题和服务。
|
|
|
+动作(Action)是ROS 2中的高级通信机制,它可以实现异步的双向通信,并且支持取消、暂停、恢复等操作。动作通常用于需要执行较长时间的任务,如机器人的导航、物体识别等。与服务不同,动作可以通过话题实时发布执行状态、进度等信息,以便客户端监控执行情况。动作的实现需要定义三个消息类型,一个用于请求,一个用于响应,一个用于反馈。常见的使用动作的场景包括机器人的自主导航、物体抓取等。
|
|
|
|
|
|
## 5.总结
|
|
|
|