Bridging the Gap between ROS~2 and Classical Real-Time Scheduling for Periodic Tasks
Harun Teper, Oren Bell, Mario G\"unzel, Chris Gill, and Jian-Jia Chen

TL;DR
This paper demonstrates that minor modifications to ROS~2's events executor enable the application of classical real-time scheduling theory, significantly improving response times and latency in robotic systems.
Contribution
It shows that small changes to the ROS~2 events executor allow classical real-time analysis, bridging the gap between ROS~2 and traditional scheduling methods.
Findings
Improved worst-case response time and latency with the modified executor.
Reduced job drops compared to default ROS~2 executor.
Easy integration with existing ROS~2 systems.
Abstract
The Robot Operating System 2 (ROS~2) is a widely used middleware that provides software libraries and tools for developing robotic systems. In these systems, tasks are scheduled by ROS~2 executors. Since the scheduling behavior of the default ROS~2 executor is inherently different from classical real-time scheduling theory, dedicated analyses or alternative executors, requiring substantial changes to ROS~2, have been required. In 2023, the events executor, which features an events queue and allows the possibility to make scheduling decisions immediately after a job completes, was introduced into ROS~2. In this paper, we show that, with only minor modifications of the events executor, a large body of research results from classical real-time scheduling theory becomes applicable. Hence, this enables analytical bounds on the worst-case response time and the end-to-end latency,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsReal-Time Systems Scheduling · Scheduling and Optimization Algorithms
