Table of Contents
Fetching ...

A Survey of Real-Time Support, Analysis, and Advancements in ROS 2

Daniel Casini, Jian-Jia Chen, Jing Li, Federico Reghenzani, Harun Teper

TL;DR

This survey addresses the challenge of providing real-time guarantees in ROS 2 by cataloging core scheduling mechanisms, middleware interactions, and end-to-end latency metrics. It synthesizes foundational analyses (e.g., CPA-based models for single-threaded executors) with advances in multi-threaded scheduling, DDS modeling, and formal verification, while also reviewing practical enhancements (custom executors, GPU/accelerator management, micro-ROS) and profiling tools. The work introduces taxonomies to systematize the literature and discusses heterogeneous integration with AUTOSAR and Lingua Franca to bridge research and production. It highlights gaps, proposes directions for a unified, timing-guaranteed ROS 2 executor, and emphasizes the importance of robust latency management for real-time robotic systems.

Abstract

The Robot Operating System 2 (ROS~2) has emerged as a relevant middleware framework for robotic applications, offering modularity, distributed execution, and communication. In the last six years, ROS~2 has drawn increasing attention from the real-time systems community and industry. This survey presents a comprehensive overview of research efforts that analyze, enhance, and extend ROS~2 to support real-time execution. We first provide a detailed description of the internal scheduling mechanisms of ROS~2 and its layered architecture, including the interaction with DDS-based communication and other communication middleware. We then review key contributions from the literature, covering timing analysis for both single- and multi-threaded executors, metrics such as response time, reaction time, and data age, and different communication modes. The survey also discusses community-driven enhancements to the ROS~2 runtime, including new executor algorithm designs, real-time GPU management, and microcontroller support via micro-ROS. Furthermore, we summarize techniques for bounding DDS communication delays, message filters, and profiling tools that have been developed to support analysis and experimentation. To help systematize this growing body of work, we introduce taxonomies that classify the surveyed contributions based on different criteria. This survey aims to guide both researchers and practitioners in understanding and improving the real-time capabilities of ROS~2.

A Survey of Real-Time Support, Analysis, and Advancements in ROS 2

TL;DR

This survey addresses the challenge of providing real-time guarantees in ROS 2 by cataloging core scheduling mechanisms, middleware interactions, and end-to-end latency metrics. It synthesizes foundational analyses (e.g., CPA-based models for single-threaded executors) with advances in multi-threaded scheduling, DDS modeling, and formal verification, while also reviewing practical enhancements (custom executors, GPU/accelerator management, micro-ROS) and profiling tools. The work introduces taxonomies to systematize the literature and discusses heterogeneous integration with AUTOSAR and Lingua Franca to bridge research and production. It highlights gaps, proposes directions for a unified, timing-guaranteed ROS 2 executor, and emphasizes the importance of robust latency management for real-time robotic systems.

Abstract

The Robot Operating System 2 (ROS~2) has emerged as a relevant middleware framework for robotic applications, offering modularity, distributed execution, and communication. In the last six years, ROS~2 has drawn increasing attention from the real-time systems community and industry. This survey presents a comprehensive overview of research efforts that analyze, enhance, and extend ROS~2 to support real-time execution. We first provide a detailed description of the internal scheduling mechanisms of ROS~2 and its layered architecture, including the interaction with DDS-based communication and other communication middleware. We then review key contributions from the literature, covering timing analysis for both single- and multi-threaded executors, metrics such as response time, reaction time, and data age, and different communication modes. The survey also discusses community-driven enhancements to the ROS~2 runtime, including new executor algorithm designs, real-time GPU management, and microcontroller support via micro-ROS. Furthermore, we summarize techniques for bounding DDS communication delays, message filters, and profiling tools that have been developed to support analysis and experimentation. To help systematize this growing body of work, we introduce taxonomies that classify the surveyed contributions based on different criteria. This survey aims to guide both researchers and practitioners in understanding and improving the real-time capabilities of ROS~2.
Paper Structure (19 sections, 4 figures, 6 tables, 1 algorithm)

This paper contains 19 sections, 4 figures, 6 tables, 1 algorithm.

Figures (4)

  • Figure 1: ROS 2, with its layers and interactions.
  • Figure 2: ROS 2 polling and processing cycle. Polling points are represented with vertical red dashed lines. The processing window length is instead represented with horizontal, double-arrowed, blue lines.
  • Figure 3: Thread workflow in a multi-threaded executor
  • Figure 4: DDS-based synchronous inter-node communication.