RSLCPP : simulations déterministes avec ROS 2
Une équipe de l'Université Technique de Munich (TUM) publie RSLCPP, une bibliothèque open-source en C++ conçue pour rendre les simulations robotiques sous ROS 2 entièrement déterministes. La contribution, présentée dans un article révisé sur arXiv (arXiv:2601.07052v2), s'attaque à un problème structurel de ROS : son architecture asynchrone et multi-processus rend les résultats de simulation non reproductibles d'une machine à l'autre, voire d'une exécution à l'autre sur le même matériel. L'équipe démontre que RSLCPP produit des résultats bit-à-bit identiques sur plusieurs architectures CPU, validés sur un benchmark synthétique et sur un système robotique réel. La bibliothèque est disponible en open-source sur GitHub (TUMFTM/rslcpp).
Le problème que résout RSLCPP est fondamental pour quiconque utilise ROS 2 en simulation : lorsque les temps de calcul et les latences de communication varient, l'ordre d'exécution des callbacks n'est pas garanti, ce qui compromet la reproductibilité des résultats. Pour le benchmarking scientifique et l'intégration continue (CI/CD), où la répétabilité est essentielle, cela constitue un frein réel. RSLCPP impose un ordonnancement déterministe des callbacks en combinant les nœuds ROS existants dans une routine de simulation séquentielle, sans nécessiter de modification du code source. Ce dernier point est décisif : les équipes peuvent instrumenter leurs stacks ROS existantes sans refactoring, ce qui abaisse significativement le coût d'adoption.
ROS 2, maintenu par Open Robotics, est devenu le standard de facto en robotique académique et industrielle. La non-reproductibilité des simulations est un problème connu depuis des années dans la communauté, que des simulateurs comme Gazebo ou Isaac Sim de NVIDIA ont partiellement adressé via leurs propres mécanismes internes. RSLCPP se distingue en opérant directement au niveau de l'exécuteur ROS 2, rendant l'approche indépendante du simulateur physique sous-jacent et donc plus portable. La prochaine étape logique serait l'intégration dans des pipelines CI robotiques pour valider des comportements algorithmiques sans variabilité matérielle, un besoin croissant à mesure que les équipes industrielles adoptent des pratiques DevOps pour le développement robotique.
Les équipes de R&D robotique européennes utilisant ROS 2 bénéficient d'un outil open-source issu de TUM (Allemagne) pour fiabiliser leurs pipelines CI/CD de simulation sans refactoring de code existant.
Dans nos dossiers




