datetime:2023/09/18 10:18
author:nzb

该项目来源于大佬的动手学ROS2

7.通信机制对比总结

1.话题

话题(Topic)是一种轻量级的通信方式,用于实现发布-订阅模式,即一个节点发布数据,另一个节点订阅数据。话题是一种单向的通信方式,发布者发布数据后,无法获知数据是否被订阅者成功接收。话题的数据类型可以是ROS中定义的任意消息类型。常见的使用话题实现的场景包括传感器数据的传递、节点间的状态信息交换等。

2.服务

服务是双向的,提供了一种客户端-服务器模式,即客户端向服务器发送请求,服务器响应请求并返回结果。服务可以实现双向通信,并且支持传递任意的ROS消息类型。服务的实现需要定义两个消息类型,一个用于请求,一个用于响应。常见的使用服务实现的场景包括节点之间的命令调用、请求数据等。

3.参数

参数(Parameter)是ROS 2中节点的一种配置机制,它可以用于对节点进行设置。参数可以存储整数、浮点数、布尔值、字符串等基本类型数据,也可以存储ROS消息类型。参数的读写操作可以通过服务实现。在节点启动时,可以通过ROS参数服务器将参数传递给节点,也可以在运行时动态修改参数。常见的使用参数的场景包括节点的配置、调试等。,原理基于服务。

4.动作

动作(Action)是ROS 2中的高级通信机制,它可以实现异步的双向通信,并且支持取消、暂停、恢复等操作。动作通常用于需要执行较长时间的任务,如机器人的导航、物体识别等。与服务不同,动作可以通过话题实时发布执行状态、进度等信息,以便客户端监控执行情况。动作的实现需要定义三个消息类型,一个用于请求,一个用于响应,一个用于反馈。常见的使用动作的场景包括机器人的自主导航、物体抓取等。

5.总结

本节课我们稍微总结了下ROS2的通信机制,下一节课我们将对ROS2的中常用的工具进行介绍,让我们保持好奇心,继续往下学习吧~

results matching ""

    No results matching ""