Priority-Driven Real-Time Scheduling in ROS2: Potential and Challenges
Authors:
Hyunjong Choi, Daniel Enright, Hoora Sobhani, Yecheng Xiang and Hyoseung Kim
Keywords:
ROS, Real-time systems, End-to-end latency
Abstract:
"To ensure timely and safe operations of robotic applications in a highly dynamic and uncertain environment, predictable end-to-end behavior of systems is essential. Although ROS (Robot Operating System) is one of the most prevalent robotic middleware frameworks, it has shown limitations in real-time support over the past decade. With this paper, we argue that the real-time performance and predictability of ROS can be significantly improved by enabling priority-driven scheduling in the framework. To support this argument, we first review our recent work on priority-driven chain-aware scheduling and evaluate it with real-world scenarios through integration into the open-source reference system, which was developed by Apex.AI for ROS2 executor benchmarking. Experimental results on a resource-constrained platform, i.e., Raspberry Pi 4, demonstrate that priority-driven scheduling outperforms the current ROS2 default scheduling scheme in terms of various key performance indicators, e.g., latency, message drop, and jitter. In addition, we discuss two other challenges, multi-threaded executor design and accelerator support, which have not yet been studied but are essential for better real-time performance in ROS2."