Listen to this article
DeepMind, an AI research lab and subsidiary of Alphabet, in October 2021 acquired the MuJoCo physics engine for robotics research and development. The plan was to open-source the simulator and maintain it as a free, open-source, community-driven project. According to DeepMind, the open sourcing is now complete, and the entire codebase is on GitHub.
MuJoCo, which stands for Multi-Joint Dynamics with Contact, is a physics engine that aims to facilitate R&D in robotics, biomechanics, graphics and animation, and other areas where fast and accurate simulation is needed. MuJoCo can be used to implement model-based computations such as control synthesis, state estimation, system identification, mechanism design, data analysis through inverse dynamics, and parallel sampling for machine learning applications. It can also be used as a more traditional simulator, including for gaming and interactive virtual environments.
DeepMind said the following are some of the features that make MuJoCo attractive for collaboration:
- Full-featured simulator that can model complex mechanisms
- Readable, performant, portable code
- Easily extensible codebase
- Detailed documentation: both user-facing and code comments
- We hope that colleagues across academia and the OSS community benefit from this platform and contribute to the codebase, improving research for everyone.
Here is more from DeepMind:
“As a C library with no dynamic memory allocation, MuJoCo is very fast. Unfortunately, raw physics speed has historically been hindered by Python wrappers, which made batched, multi-threaded operations non-performant due to the presence of the Global Interpreter Lock (GIL) and non-compiled code. In our roadmap below, we address this issue going forward.
“For now, we’d like to share some benchmarking results for two common models. The results were obtained on a standard AMD Ryzen 9 5950X machine, running Windows 10.”
As for the near-term roadmap, DeepMind said it will unlock MuJoCo’s speed potential with batched, multi-threaded simulation, support larger scenes with improvements to internal memory management and introduce a new incremental compiler with better model composability. DeepMind also said it will build out support for better rendering via Unity integration and add native support for physics derivatives, both analytical and finite-differenced.
Before the acquisition, DeepMind used MuJoCo as a simulation platform for various projects, mostly via its dm_control Python stack. It highlighted a few robotics examples, which you can watch via the playlist below.