arXiv:2601.07052cs.RO2026-01中稿 · ICRA被引 4

让ROS 2仿真结果可复现,跨平台运行也一致。

RSLCPP -- Deterministic Simulations Using ROS 2

  • 基于ROS 2构建确定性仿真框架,保证回调执行顺序一致。
  • 在不同CPU和架构上重复运行,结果完全相同。
  • 无需修改源码,适配现有机器人系统快速集成。

仿真在真实机器人应用中至关重要,提供安全、可扩展且高效的开发环境。尽管机器人操作系统(ROS)在学术界和工业界被广泛采用,但其异步、多进程的设计导致结果难以复现,尤其在不同硬件平台上,因计算时间和通信延迟差异,无法保证回调执行的确定性。这给科学评测与持续集成带来了挑战。为此,本文提出一种基于ROS 2节点的确定性仿真方法,并实现为ROS仿真库C++版(RSLCPP),使已有节点可无缝组合成可复现的仿真流程,通常无需修改源码。我们在合成基准和真实机器人系统上验证了该方法,结果在多种处理器与架构下均保持一致。代码已开源:https://github.com/TUMFTM/rslcpp。

原文摘要 · Abstract (English)

Simulation is crucial in real-world robotics, offering safe, scalable, and efficient environments for developing a variety of robotic applications. While the Robot Operating System (ROS) has been widely adopted as the backbone of these robotic applications in both academia and industry, its asynchronous, multi-process 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, usually without requiring any source code changes. We demonstrate that our approach produces 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.

机器人仿真ROS 2可复现

Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。