如何在DDS系统中同步多个监听器和发布器

问题描述 投票:0回答:0

我希望让这个问题不特定于一个特定的框架。相反,我想建立一种使用 C++ 在发布/订阅系统中同步消息的机制?那将如何工作?

更具体地说,我正在从头开始构建一个移动机器人作为一个学习项目,而不是使用 ROS2 中间件,我正在编写代码,一段一段,让事情在这个过程中工作和重构。

对于消息传递,我正在使用 DDS 框架CycloneDDS,并且在每个轮子上都有一个轮子编码器来发布它们的总滴答计数。

我的问题是如何同步订阅这些消息,这样当我处理来自这两个传感器(以及其他传感器)的数据时,我会及时查看来自单个快照的所有测量值。

ROS2 使用 ApproximateTime 消息过滤来做到这一点。我计划全身心投入到兔子身上,看看他们是如何实施的。

与此同时,我也在此处查看有关如何使用 C++ 标准库及其功能构建此类机制的一些想法;例如

wait_condition

c++ synchronization publish-subscribe data-distribution-service
© www.soinside.com 2019 - 2024. All rights reserved.