RSLCPP - Deterministic Simulations Using ROS 2

📅 2026-01-11
🏛️ arXiv.org
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This work addresses the non-reproducibility of ROS 2 simulations across different hardware platforms, a critical issue stemming from its asynchronous multi-process architecture that undermines scientific evaluation and continuous integration. We propose a non-intrusive approach that enforces deterministic execution by unifying the callback scheduling order of ROS 2 C++ nodes without requiring any modifications to existing codebases. To our knowledge, this is the first method to achieve fully reproducible simulation for ROS 2 C++ nodes. We introduce the ROS Simulation Library for C++ (RSLCPP), which provides precise control over execution timing and communication sequencing. Experimental validation on both synthetic benchmarks and real-world robotic systems demonstrates that our approach yields bit-for-bit identical simulation results across diverse CPU architectures. The implementation is publicly available as open-source software.

Technology Category

Application Category

📝 Abstract
Simulation is crucial in real-world robotics, offering safe, scalable, and efficient environments for developing applications, ranging from humanoid robots to autonomous vehicles and drones. While the Robot Operating System (ROS) has been widely adopted as the backbone of these robotic applications in both academia and industry, its asynchronous, multiprocess design complicates reproducibility, especially across varying hardware platforms. Deterministic callback execution cannot be guaranteed when computation times and communication delays vary. This lack of reproducibility complicates scientific benchmarking and continuous integration, where consistent results are essential. To address this, we present a methodology to create deterministic simulations using ROS 2 nodes. Our ROS Simulation Library for C++ (RSLCPP) implements this approach, enabling existing nodes to be combined into a simulation routine that yields reproducible results without requiring any code changes. We demonstrate that our approach yields identical results across various CPUs and architectures when testing both a synthetic benchmark and a real-world robotics system. RSLCPP is open-sourced at https://github.com/TUMFTM/rslcpp.
Problem

Research questions and friction points this paper is trying to address.

deterministic simulation
ROS 2
reproducibility
callback execution
robotics
Innovation

Methods, ideas, or system contributions that make the work stand out.

deterministic simulation
ROS 2
reproducibility
RSLCPP
callback execution
🔎 Similar Papers
No similar papers found.
Simon Sagmeister
Simon Sagmeister
Technische Universität München
Autonomous Driving
M
Marcel Weinmann
Technical University of Munich, Germany; School of Engineering & Design, Department of Mobility Systems Engineering, Institute of Automotive Technology
P
Phillip Pitschi
Technical University of Munich, Germany; School of Engineering & Design, Department of Engineering Physics and Computation, Institute of Automatic Control
Markus Lienkamp
Markus Lienkamp
Lehrstuhl für Fahrzeugtechnik, TU München
Automotive