Latency Analysis of ROS2 Multi-Node Systems
This work provides insights into latency bottlenecks in ROS2 for robotics developers, helping them design more efficient distributed ROS2 architectures.
This paper investigates the end-to-end latency of ROS2 in distributed systems using default settings and various DDS middlewares. The study found that end-to-end latency is highly dependent on the DDS middleware, and ROS2 can introduce a 50% latency overhead compared to low-level DDS communications.
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.