Robot Operating System 2 (ROS2) targets distributed real-time systems. Especially in tight real-time control loops, latency in data processing and communication can lead to instabilities. As ROS2 encourages splitting of the data-processing pipelines into several modules, it is important to understand the latency implications of such modularization. In this paper, we investigate the end-to-end latency of ROS2 data-processing pipeline with 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 modular ROS2 architectures and indicate possibilities for reducing the ROS2 overhead.
翻译:机器人操作系统2 (ROS2) 目标分布在实时系统中。 特别是在紧凑的实时控制循环中, 数据处理和通信的延迟可能导致不稳定。 ROS2鼓励将数据处理管道分成几个模块, 重要的是要了解这种模块化的延迟影响。 在本文件中, 我们调查ROS2 数据处理管道与不同数据发布服务( DDS) 中间器件的端到端的延迟。 此外, 我们描述ROS2 堆, 指出长期瓶颈。 我们的调查结果显示, 终端到端的延迟在很大程度上取决于已使用的 DDS 中间器。 此外, 我们显示, ROS2 与使用低水平的 DDS 通信相比, 可能导致50%的延迟间接费用。 我们的结果意味着设计模块式 ROS2 结构的指导方针, 并表明减少 ROS2 间接费用的可能性 。