DeepMind recently acquired and open-sourced MuJoCo. MuJoCo, which stands for Multi-Joint Dynamics with Contact, is a rich but effective contact model. It has been a leading choice for robotics researchers and offers a powerful scene description language and a well-designed API. In a blogpost, DeepMind said that it will work to prepare the codebase for a 2022 release and would continue to improve MuJoCo as open-source software under Apache 2.0 license.
DeepMind has high hopes of riding on this multi-faceted robotics simulator. But how does it compare with other simulators? What gives MuJoCo an edge, and where does it lag?
Sign up for your weekly dose of what's up in emerging technology.
MuJoCo vs Others
MuJoCo is different from popular simulator models like Facebook Habitat and AI2 ManipulaTHOR since it can accurately and efficiently capture the salient features of contacting objects. Like other rigid-body simulators, MuJoCo avoids the fine details of deformation at the contact site and runs much faster than in real-time. As opposed to other simulators, it resolves contact forces using the convex Gauss Principle, which ensures unique solutions and well-defined inverse dynamics. MuJoCo is flexible and provides multiple parameters that can be tuned to a wide range of contact phenomena.
In a recent paper by the researchers of the Institute of Structures and Design, Innovation Services, German Aerospace Center (DLR), and the ZAL Center of Applied Aeronautical Research, the authors drew a comparison between four popular robotics simulators — MuJoCo, Gazebo, Webots, and PyBullet. These four simulators were compared through a series of benchmarks. This research was not just limited to different simulation environments but also different hardware configurations that ranged from entry-level notebooks to dual CPU high-performance servers.
Gazebo is an open-source robotics simulation environment that supports four physics engines — Bullet, Dynamic Animation and Robotics Toolkit (DART), Open Dynamics Engine (ODE) and Simbody. It was started at the University of Southern California and is currently being developed and maintained by the Open Source Robotics Foundation.
PyBullet is based on the Bullet physics-based simulation environment. It is maintained by the PyBullet community, which further develops this simulation environment as an open-source and offers beginners support.
Webots is an open-source and multi-platform desktop application. It offers a complete development environment to model, program, and simulate robots.
This study found that Gazebo performed the best for both simulation and building real systems of the four simulators. Because of its homogeneous ROS connection, one can use the same control interface for simulation and real physical systems. One drawback is that Gazebo requires the steepest learning curve when compared to others.
On the other hand, MuJoCo performed second best for the lower number of degrees of freedom in the trajectory tracking of the UR10e. However, in terms of handling the spheres, it gave a below-average performance. The authors also noted that since MuJoCo is a highly optimised simulation environment that provides a wide range of solver parameters and settings, it can be adapted and optimised to any possible model. On the settings chosen by the authors of this study, MuJoCo achieved a high real-time factor (RT F). The authors concluded that MuJoCo is best suited for experienced reinforcement learning and robot developers who can work with MuJoCo’s own model language and the comprehensive setting options.
Another study from Washington University compared the performance of Bullet, Havok, MuJoCo, ODE and PhysX. This study used new quantitative measures of simulation performance by focusing on the numerical challenges which are typical to robotics rather than multi-body dynamics and gaming. It was found that MuJoCo outperformed other models in the robotics-related tests.
The authors introduced a speed-accuracy measure of simulator performance for complex systems for which analytical benchmarks are not available for this study. The performances of the simulators were characterised in terms of energy, momentum, and grasp stability. MuJoCo proved to be the fastest and most accurate on constrained systems that are relevant to robotics.
Why Did DeepMind Choose MuJoCo
Following are the salient features of MuJoCo:
Adhering to Physics rules: As seen in the results of the above-mentioned experiments, MuJoCo is great at robotic simulations as it is a second-order continuous-time simulator that implements the full equations of motion. Both non-trivial physical phenomena like Newton’s Cradle and unintuitive ones like the Dzhanibekov effect emerge naturally. So unlike other simulation models, MuJoCo does not take shortcuts to prioritise stability over accuracy.
Portable: MuJoCo’s core engine is written in pure C, making it portable to various architectures. The library gives deterministic results along with having the scene description and simulation state encapsulated within two data structures. This contains all the information to recreate a simulation that includes results from intermediate stages.
Scene description: Counted among MuJoCo’s best features, the MJCF scene-description format avoids multiple repeated values and uses cascading defaults. It contains elements for real-world robotic components like equality constraints, tendons, motion capture markers, sensors, and actuators.
Biochemical simulation: MuJoCo has two powerful features to support musculoskeletal models of humans and animals. MuJoCo’s muscle model can capture the complexity of biological muscles, including force-length-velocity curves and activation states.