The Robot Operating System 2 (ROS2) targets distributed real-time systems and is widely used in the robotics community. Especially in these systems, latency in data processing and communication can lead to instabilities. Though being highly configurable with respect to latency, ROS2 is often used with its default settings. In this paper, we investigate the end-to-end latency of ROS2 for distributed systems with default settings and different Data Distribution Service (DDS) middlewares. In addition, we profile the ROS2 stack and point out latency bottlenecks. Our findings indicate that end-to-end latency strongly depends on the used DDS middleware. Moreover, we show that ROS2 can lead to 50% latency overhead compared to using low-level DDS communications. Our results imply guidelines for designing distributed ROS2 architectures and indicate possibilities for reducing the ROS2 overhead.
翻译:机器人操作系统2 (ROS2) 针对的是分布式实时系统,并且广泛用于机器人群体。 特别是在这些系统中, 数据处理和通信的延迟可能导致不稳定性。 尽管在延迟性方面高度可配置, ROS2 经常使用默认设置。 在本文中, 我们调查了配置有默认设置和不同数据发布服务(DDS)的分布式系统的ROS2 端至端的延迟性。 此外, 我们描述了 ROS2 堆, 并指出了延迟性瓶颈。 我们的发现显示, 终端至终端的延迟性在很大程度上取决于使用过的 DDS 中继器。 此外, 我们显示, ROS2 与使用低水平 DDS 通信相比, 导致50%的延迟性间接费用。 我们的结果意味着设计分布式 ROS2 结构的指导方针, 并指明了减少 ROS2 间接费用的可能性 。