En octobre 2021, nous avons annoncé l'acquisition du Simulateur physique MuJoCo, et l'a rendu accessible gratuitement à tous pour soutenir la recherche partout dans le monde. Nous nous sommes également engagés à développer et à maintenir MuJoCo en tant que projet gratuit, open source et piloté par la communauté, doté des meilleures capacités de sa catégorie. Aujourd'hui, nous sommes ravis d'annoncer que l'open source est terminé et que l'intégralité de la base de code est sur GitHub!
Ici, nous expliquons pourquoi MuJoCo est une excellente plate-forme pour la collaboration open source et partageons un aperçu de notre feuille de route pour l'avenir.
Une plateforme de collaboration
Les simulateurs physiques sont des outils essentiels dans la recherche en robotique moderne et appartiennent souvent à ces deux catégories :
- Logiciel commercial à code source fermé.
- Logiciel open source, souvent créé dans le milieu universitaire.
La première catégorie est opaque pour l’utilisateur et, bien que parfois gratuite, elle ne peut être modifiée et est difficile à comprendre. La deuxième catégorie a souvent une base d’utilisateurs plus restreinte et souffre lorsque ses développeurs et responsables obtiennent leur diplôme.
MuJoCo est l'un des rares simulateurs complets soutenus par une société établie, véritablement open source. En tant qu'organisation axée sur la recherche, nous considérons MuJoCo comme une plate-forme de collaboration, où roboticiens et ingénieurs peuvent nous rejoindre pour développer l'un des meilleurs simulateurs de robots au monde.
Les fonctionnalités qui rendent MuJoCo particulièrement attrayant pour la collaboration sont :
- Un simulateur complet qui peut modèle complexe mécanismes.
- Code lisible, performant et portable.
- Base de code facilement extensible.
- Documentation détaillée : commentaires destinés à l'utilisateur et au code.
Nous espérons que les collègues du monde universitaire et de la communauté OSS bénéficieront de cette plateforme et contribueront à la base de code, améliorant ainsi la recherche pour tous.
Performance
En tant que bibliothèque C sans allocation dynamique de mémoire, MuJoCo est très rapide. Malheureusement, la vitesse de la physique brute a toujours été entravée par les wrappers Python, qui rendaient les opérations par lots et multithread non performantes en raison de la présence du Global Interpreter Lock (GIL) et du code non compilé. Dans notre feuille de route ci-dessous, nous abordons ce problème à l’avenir.
Pour l'instant, nous aimerions partager quelques résultats d'analyse comparative pour deux modèles courants. Les résultats ont été obtenus sur une machine standard AMD Ryzen 9 5950X, exécutant Windows 10.
Feuille de route
Voici notre feuille de route à court terme pour MuJoCo :
- Libérez le potentiel de vitesse de MuJoCo avec une simulation par lots et multithread.
- Prend en charge des scènes plus grandes avec des améliorations de la gestion de la mémoire interne.
- Nouveau compilateur incrémental avec une meilleure composabilité du modèle.
- Prise en charge d'un meilleur rendu via l'intégration Unity.
- Prise en charge native des dérivées physiques, à la fois analytiques et aux différences finies.
Apprendre encore plus
Ressources utiles sur MuJoCo :
Nous avons hâte de recevoir vos contributions !