Cros-Rt: Cross-Layer Priority Scheduling for Predictable Inter-Process Communication in Ros 2
The Robot Operating System 2 (ROS 2) is a popular middleware for distributed robotic applications. However, achieving real-time guarantees in ROS 2 is challenging due to unpredictable delays and priority inversions. We reveal that these issues arise from the lack of consistent priority propagation across ROS 2's multi-layered communication architecture, particularly down to the kernel layer. To address this, we present CROS-RT, the first cross-layer scheduler explicitly designed to tackle the unpredictability in ROS 2 inter-process communication caused by multi-layer priority misalignment. CROS-RT ensures consistent, priority-based scheduling across the application, middleware, and kernel layers, introducing mechanisms for priority propagation, kernel-level message prioritization, and dynamic kernel thread adjustment. We have implemented and evaluated CROS-RT on the current stable release of ROS 2. Experiments demonstrate that CROS-RT enhances communication predictability, reducing the worst-case response time by up to 89.3 % over a baseline (vanilla ROS 2). Additionally, we provide an analytical model to derive upper bounds on response times, ensuring reliable realtime performance for safety-critical applications.
Authors
- Sangeun Oh (ORCID: https://orcid.org/0000-0002-2294-6572)
- Kilho Lee (ORCID: https://orcid.org/0000-0003-3651-0427)
- Hoon Sung Chwa (ORCID: https://orcid.org/0000-0003-0355-5784)
- Sohyun Kim (ORCID: https://orcid.org/0000-0002-2060-8772)
- Juho Song
Institutions
- Soongsil University (KR)
- Daegu Gyeongbuk Institute of Science and Technology (KR)
- Korea University (KR)
Publication Details
- Published
- 2025-05-06
- DOI
- https://doi.org/10.1109/rtas65571.2025.00029
- Primary Topic
- Distributed and Parallel Computing Systems
- Type
- article
- Field-Weighted Citation Impact
- 0.00