MuJoCoUni : des primitives d'exécution persistantes et vectorisées pour MuJoCo
Un préprint arXiv (réf. 2605.24922, mai 2026) présente MuJoCoUni, une distribution dérivée du simulateur physique MuJoCo ciblant l'apprentissage robot en ligne et l'évaluation physique batchée. L'objet central de la bibliothèque est le BatchEnvPool, un exécuteur écrit en C++ et exposé via pybind11, qui maintient des copies indépendantes de mjModel par environnement, des workers mjData par thread, et un pool de threads interne. BatchEnvPool comble ce que l'API upstream mujoco.rollout ne couvrait pas : l'exécution stateful d'environnements en parallèle, avec stepping final-state-only, reset sparse, randomisation de domaine au moment du reset (reset-lifecycle domain randomization), évaluation forward des capteurs sans avancer la dynamique, et requêtes batchées de Jacobiens et de champs de hauteur. Le package est disponible en open source via pip install mujoco-uni.
L'enjeu pratique est significatif pour les pipelines de reinforcement learning robotique. L'entraînement RL en ligne exige un débit élevé de transitions simulées, souvent plusieurs milliers d'environnements en parallèle. La plupart des solutions à haute cadence comme Isaac Lab (NVIDIA) ou Brax (Google/JAX) sacrifient la fidélité physique de MuJoCo, notamment sa gestion fine des contacts et des contraintes, au profit de la vitesse GPU. MuJoCoUni prend le parti inverse : conserver la sémantique CPU de MuJoCo intacte, solveur, modèle de contact et intégrateur compris, en parallélisant uniquement au niveau de la couche de liaison Python, sans forker le coeur du simulateur. C'est une approche plus conservative, mais potentiellement plus fiable pour les tâches où la précision physique conditionne le transfert sim-to-real, notamment en manipulation dextre ou en locomotion sur terrain irrégulier.
MuJoCo, développé initialement à l'Université de Washington par Emo Todorov, a été acquis par DeepMind en 2021 puis rendu open source en octobre 2022 sous licence Apache 2.0, ce qui a considérablement élargi son adoption dans la communauté RL robotique. L'écosystème s'est depuis structuré autour de plusieurs stacks concurrentes : Isaac Lab (GPU-natif, NVIDIA), Genesis (multi-backend, open source) et Brax (JAX). MuJoCoUni occupe un créneau spécifique : exécution batchée stateful sur CPU avec sémantique MuJoCo garantie, utile pour les équipes qui ne disposent pas d'infrastructure GPU ou qui exigent la reproductibilité exacte du simulateur de référence. Les auteurs publient simultanément des scripts de validation et de benchmark avec le package. Aucun déploiement industriel ni partenariat n'est annoncé à ce stade ; il s'agit d'une contribution infrastructure open source à destination des équipes de recherche et des intégrateurs construisant des pipelines RL robotiques.
Dans nos dossiers




