Message Flow Analysis with Complex Causal Links for Distributed ROS 2 Systems

@article{Bedard2022MessageFA,
  title={Message Flow Analysis with Complex Causal Links for Distributed ROS 2 Systems},
  author={Christophe B'edard and Pierre-Yves Lajoie and Giovanni Alberto Beltrame and Michel R. Dagenais},
  journal={ArXiv},
  year={2022},
  volume={abs/2204.10208}
}
—Distributed robotic systems rely heavily on the publish-subscribe communication paradigm and middleware frameworks that support it, such as the Robot Operating System (ROS), to efficiently implement modular computation graphs. The ROS 2 executor, a high-level task scheduler which handles ROS 2 messages, is a performance bottleneck. We extend ros2 tracing , a framework with instrumentation and tools for real-time tracing of ROS 2, with the analysis and visualization of the flow of messages across… 

Analyze, Debug, Optimize: Real-Time Tracing for Perception and Mapping Systems in ROS 2

This paper shows how their novel open- source tracing tools and techniques for ROS 2 enable them to identify delays, bottlenecks and critical paths inside centralized, or distributed, perception and mapping systems.

Using ROS 2 for High-Speed Maneuvering in Autonomous Driving

The goal of this work is to improve real-time properties of the autonomous driving stack used by the CTU team for the F1/10 autonomous racing competition, and proposes tracing as an efficient way to analyze a running ROS 2 system and measure important properties.

References

SHOWING 1-10 OF 51 REFERENCES

Latency Analysis of ROS2 Multi-Node Systems

This paper investigates the end-to-end latency of ROS2 for distributed systems with default settings and different Data Distribution Service (DDS) middlewares and shows that ROS2 can lead to 50 % latency overhead compared to using low-level DDS communications.

ros2_tracing: Multipurpose Low-Overhead Framework for Real-Time Tracing of ROS 2

RS 2 execution information obtained using ros2_tracing can be combined with trace data from the operating system, enabling a wider range of precise analyses, that help understand an application execution, to find the cause of performance bottlenecks and other issues.

Static-Time Extraction and Analysis of the ROS Computation Graph

This work aims to enhance static-time support by proposing a metamodel to describe the software architecture of ROS systems (the ROS Computation Graph) and, secondly, model extraction and visualisation tools for such architectural models.

Automatic Latency Management for ROS 2: Benefits, Challenges, and Open Problems

ROS-Llama, an automatic latency manager for ROS2, is proposed and the conceptual and practical challenges in developing such a mostly automatic tool are discussed.

RAPLET: Demystifying Publish/Subscribe Latency for ROS Applications

The performance analysis on ROS applications is performed using RAPLET to demonstrate that the publish/subscribe latency imposed on inter-node communication can be demystified and reasoned with respect to system issues including the message size and network bandwidth consumption.

PiCAS: New Design of Priority-Driven Chain-Aware Scheduling for ROS2

This work proposes a new priority-driven chain-aware scheduler for the ROS2 framework and yields a substantial improvement in end-to-end latency over the default ROS2 scheduler and the latest work in real-world scenarios.

Budget-based real-time Executor for Micro-ROS

This paper presents for the first time a ROS 2 Executor design which enables the real-time scheduling capabilities of the operating system and successfully demonstrates the budget-based scheduling of the NuttX RTOS with a micro-ROS application on an STM32 microcontroller.

Performance Evaluation of Real-Time ROS2 Robotic Control in a Time-Synchronized Distributed Network

This study assesses the current prospects and limitations of ROS2 and gains novel insights towards improved and, in particular, reliable results regarding latencies and jitter.

The rclc Executor: Domain-specific deterministic scheduling mechanisms for ROS applications on microcontrollers: work-in-progress

An advanced Executor for the ROS 2 C API which provides deterministic scheduling and supports domain-specific requirements of mobile robots, like sense-plan-act control loops, cannot be addressed with the standard ROS 2 Executor.

Exploring Real-Time Executor on ROS 2

  • Yuqing YangTakuya Azumi
  • Computer Science
    2020 IEEE International Conference on Embedded Software and Systems (ICESS)
  • 2020
The Callback-grouplevel Executor was used to replace the standard rclcpp Executor in ROS 2, and the resulting performance was explored.
...