紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
你喜欢话题还是服务,动作不考虑下吗?
-
写在前面
- 原文地址[ROS2官方文档中文版]:http://fishros.org/doc/ros2/humble
- 鱼香ROS机器人社区:https://fishros.org.cn
小鱼说:
既然 ROS 设计了这几种通信方式,当然各有优势,但了解每种通信方式适用于什么场景是我们必须掌握的。
主题 vs 服务 vs 动作
主题
- 适用于连续的数据流(传感器数据、机器人状态等)。
- 数据可以在任何时间发布和订阅,独立于任何发送者/接收者。
- 多对多的连接。
- 回调函数在数据可用时接收数据。
- 发布者决定何时发送数据。
服务
- 适用于快速终止的远程过程调用,例如查询节点状态或进行快速计算,如逆运动学。
- 不适用于较长时间运行的进程,特别是在出现异常情况时可能需要抢占的进程。
- 不应根据状态进行更改或依赖状态,以避免对其他节点产生意外的副作用。
- 简单的阻塞调用,主要用于相对较快的任务,如请求特定数据。
- 语义上用于处理请求。
动作
- 适用于任何移动机器人或在执行过程中提供反馈的持续性行为。
- 最重要的属性是可以被抢占,而且抢占应该始终由动作服务器进行干净地实现。
- 动作可以在目标的生命周期内保持状态。
- 在同一个服务器上并行执行两个动作目标时,可以针对每个客户端保持单独的状态实例,因为目标由其 ID 唯一标识。
- 适合于慢的感知例程,需要几秒钟才能终止或启动较低级别的控制模式。
- 更复杂的非阻塞后台处理,用于执行机器人动作等较长时间的任务。
- 在语义上用于真实世界的动作。
-
@小鱼 调试机械臂好像需要用到动作
-
@1503153906 对,导航也是