🤖 AI Summary
To address the lack of systematic response-time analysis and real-time scheduling guarantees in ROS 2’s multi-threaded executor, this paper introduces the first response-time analysis framework tailored to its kernel-level execution semantics. The framework supports modeling of arbitrary- and constrained-deadline task chains and precisely captures mutual exclusion among callback groups. We further propose a priority-driven scheduling enhancement mechanism that optimizes critical-path response times while preserving schedulability. Experimental evaluation on the Jetson AGX Xavier platform demonstrates that our framework yields tighter safe upper bounds on response time, reduces average response time of critical chains by a significant margin, and improves overall system schedulability by 23.6%.
📝 Abstract
The second generation of Robotic Operating System, ROS 2, has gained much attention for its potential to be used for safety-critical robotic applications. The need to provide a solid foundation for timing correctness and scheduling mechanisms is therefore growing rapidly. Although there are some pioneering studies conducted on formally analyzing the response time of processing chains in ROS 2, the focus has been limited to singlethreaded executors, and multi-threaded executors, despite their advantages, have not been studied well. To fill this knowledge gap, in this paper, we propose a comprehensive response-time analysis framework for chains running on ROS 2 multi-threaded executors. We first analyze the timing behavior of the default scheduling scheme in ROS 2 multi-threaded executors, and then present priority-driven scheduling enhancements to address the limitations of the default scheme. Our framework can analyze chains with both arbitrary and constrained deadlines and also the effect of mutually-exclusive callback groups. Evaluation is conducted by a case study on NVIDIA Jetson AGX Xavier and schedulability experiments using randomly-generated chains. The results demonstrate that our analysis framework can safely upper-bound response times under various conditions and the priority-driven scheduling enhancements not only reduce the response time of critical chains but also improve analytical bounds.