Paper Reading AI Learner

RSLCPP - Deterministic Simulations Using ROS 2

2026-01-11 20:10:54
Simon Sagmeister, Marcel Weinmann, Phillip Pitschi, Markus Lienkamp

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 this https URL.

Abstract (translated)

仿真在现实世界的机器人技术中至关重要,为从人形机器人到自主车辆和无人机的各种应用提供了安全、可扩展且高效的开发环境。虽然机器人操作系统(ROS)已被广泛采用作为学术界和工业界这些机器人应用程序的支柱,但其异步多进程设计使得跨不同硬件平台时难以保证实验结果的一致性。由于计算时间和通信延迟的变化会导致回调执行不可预测,这尤其增加了复杂性。这种一致性问题也给科学基准测试和持续集成带来了挑战,在这些场景中,一致的结果至关重要。 为了解决这一问题,我们提出了一种利用ROS 2节点创建确定性仿真的方法学。我们的C++ ROS仿真库(RSLCPP)实现了这种方法,并使现有的节点可以被组合成一个生成可重复结果的仿真流程,而无需进行任何代码更改。我们展示了当测试合成基准和实际机器人系统时,该方法能在各种CPU和架构上产生一致的结果。 RSLCPP在以下链接开源:[此URL](请将"[此URL]"替换为实际网址)。

URL

https://arxiv.org/abs/2601.07052

PDF

https://arxiv.org/pdf/2601.07052.pdf


Tags
3D Action Action_Localization Action_Recognition Activity Adversarial Agent Attention Autonomous Bert Boundary_Detection Caption Chat Classification CNN Compressive_Sensing Contour Contrastive_Learning Deep_Learning Denoising Detection Dialog Diffusion Drone Dynamic_Memory_Network Edge_Detection Embedding Embodied Emotion Enhancement Face Face_Detection Face_Recognition Facial_Landmark Few-Shot Gait_Recognition GAN Gaze_Estimation Gesture Gradient_Descent Handwriting Human_Parsing Image_Caption Image_Classification Image_Compression Image_Enhancement Image_Generation Image_Matting Image_Retrieval Inference Inpainting Intelligent_Chip Knowledge Knowledge_Graph Language_Model LLM Matching Medical Memory_Networks Multi_Modal Multi_Task NAS NMT Object_Detection Object_Tracking OCR Ontology Optical_Character Optical_Flow Optimization Person_Re-identification Point_Cloud Portrait_Generation Pose Pose_Estimation Prediction QA Quantitative Quantitative_Finance Quantization Re-identification Recognition Recommendation Reconstruction Regularization Reinforcement_Learning Relation Relation_Extraction Represenation Represenation_Learning Restoration Review RNN Robot Salient Scene_Classification Scene_Generation Scene_Parsing Scene_Text Segmentation Self-Supervised Semantic_Instance_Segmentation Semantic_Segmentation Semi_Global Semi_Supervised Sence_graph Sentiment Sentiment_Classification Sketch SLAM Sparse Speech Speech_Recognition Style_Transfer Summarization Super_Resolution Surveillance Survey Text_Classification Text_Generation Time_Series Tracking Transfer_Learning Transformer Unsupervised Video_Caption Video_Classification Video_Indexing Video_Prediction Video_Retrieval Visual_Relation VQA Weakly_Supervised Zero-Shot