Litcius/Paper detail

Timing-Aware ROS 2 Architecture and System Optimization

Harun Teper, Tobias Betz, Georg von der Brüggen, Kuan-Hsun Chen, Johannes Betz, Jian-Jia Chen

202310 citationsDOIOpen Access PDF

Abstract

ROS 2 is a framework consisting of software libraries for developing robot systems, such as autonomous driving systems, that consist of multiple interacting components. In ROS 2, each component is implemented as a node, which contains time-triggered and event-triggered tasks. These tasks communicate with each other via ROS 2 topics or shared memory, and are scheduled by a ROS 2 executor. In ROS 2 systems, the system configuration and callback execution can have a significant impact on system performance, including end-to-end latencies, message loss, and memory usage. In this paper, we provide a bound on the timer period of ROS 2 timers to prevent sensor undersampling, and a subscription buffer size limit to prevent message loss and minimize memory usage. Furthermore, we explain the occurrence of message loss and high end-to-end latencies in ROS 2 systems, which are caused by the system configuration and subscription buffer size choice. Based on our observations, we propose a callback-prioritization heuristic to reduce end-to-end latencies and subscription buffer sizes. We demonstrate our findings using case studies based on Autoware.Universe and provide further evaluation to highlight the benefits of our heuristic.

Topics & Concepts

Computer scienceExecutorTimerComponent (thermodynamics)CallbackDistributed computingEmbedded systemReal-time computingComputer networkMicrocontrollerPolitical scienceThermodynamicsPhysicsLawReal-Time Systems SchedulingAdvanced Software Engineering MethodologiesHealthcare Technology and Patient Monitoring
Timing-Aware ROS 2 Architecture and System Optimization | Litcius