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

  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},
—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… 

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.

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.



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.

Autoware on Board: Enabling Autonomous Vehicles with Embedded Systems

Autoware on Board, a new profile of Autoware, especially designed to enable autonomous vehicles with embedded systems, is presented, showing that the execution latency imposed on the DRIVE PX2 platform is capped at about three times as much as that on a high-end laptop computer.

Message flow analysis for ros through tracing

  • 2019. [Online]. Available: ros-tracing-message-flow/
  • 2019

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.

Wait Analysis of Distributed Systems Using Kernel Tracing

This work proposes a host-based, precise method to recover recursively wait causes across machines, using blocking as the fundamental mechanism to detect changes in the control flow.

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.

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.

A ROS 2 Response-Time Analysis Exploiting Starvation Freedom and Execution-Time Variance

A novel response-time analysis for ROS 2 processing chains that accounts for both the high execution-time variance typically encountered in robotics workloads and the starvation freedom of the default ROS 2 callback scheduler is proposed.

Combining Distributed and Kernel Tracing for Performance Analysis of Cloud Applications

A new solution for combining distributed tracing with low-level software tracing in order to find the latency root cause better is described and how a hybrid trace collection is achieved to capture and synchronize both kernel and distributed request events is explained.