google-deepmind/mujoco

Multi-Joint dynamics with Contact. A general purpose physics simulator.

What it solves

MuJoCo (Multi-Joint dynamics with Contact) is a general-purpose physics engine designed for the fast and accurate simulation of articulated structures interacting with their environment. It addresses the need for high-performance simulation in fields like robotics, biomechanics, graphics, animation, and machine learning.

How it works

MuJoCo provides a runtime simulation module tuned for maximum performance, operating on low-level data structures preallocated by a built-in XML compiler. It features a C API for developers and includes interactive visualization via a native GUI rendered in OpenGL. To extend its functionality, it offers Python bindings, a Unity plug-in, and various third-party bindings for languages like MATLAB, Swift, Java, Julia, and Rust.

Who it’s for

It is intended for researchers and developers working in robotics, biomechanics, and machine learning who require precise physical simulations of jointed systems.

Highlights

  • High Performance: Optimized for speed and accuracy in simulating articulated structures.
  • Interactive Visualization: Includes a native GUI for real-time simulation viewing.
  • Broad Compatibility: Supports Python, C#, and C, with extensive third-party language bindings.
  • Differentiable Physics: Offers a JAX-based branch (MuJoCo XLA) for training locomotion policies with analytical gradients.
  • Extensible Ecosystem: Compatible with various model converters for formats like OpenSim, SDFormat, and OBJ.

Related

  • Project
  • Project
  • Project
  • Project
  • Project