Repolode
google-deepmind

google-deepmind/mujoco

A general-purpose physics engine for fast, accurate simulation of articulated bodies in contact, widely used in robotics and machine learning research.

Stars
15,763
Forks
1,868
Open issues
304
Last commit
8 hours ago

What is it?

MuJoCo (Multi-Joint dynamics with Contact) is a general-purpose physics engine for simulating articulated structures that interact with their environment. It targets robotics, biomechanics, graphics and animation, and machine learning, where accurate contact dynamics and fast stepping matter.

The core is a C API. The runtime simulation operates on preallocated low-level data structures produced by a built-in XML compiler, and the library includes a native OpenGL-based interactive viewer called simulate. A large set of utility functions computes physics-related quantities.

Official Python bindings are available on PyPI, along with a Unity plug-in and JavaScript/WebAssembly support. The project also includes MJX, a branch written in JAX, and offers tutorials covering model editing, multithreaded rollouts and optimal control.

Key features

  • 01Simulates articulated bodies with accurate contact dynamics.
  • 02Built-in XML compiler produces low-level data structures for fast runtime simulation.
  • 03Native interactive viewer (simulate) rendered with OpenGL.
  • 04C API with a large set of physics utility functions.
  • 05Python bindings installable via pip, plus Unity and WebAssembly bindings.
  • 06MJX branch implemented in JAX for accelerator-based workflows.

Use cases

  • Training control policies for robots in simulation.
  • Biomechanics studies of human or animal musculoskeletal models.
  • Model-based control research such as LQR or trajectory optimization.
  • Prototyping robot models converted from CAD or other formats to MJCF.

Quick start

  1. 1

    Install the Python bindings from PyPI

    pip install mujoco
  2. 2

    Or download prebuilt binaries from the releases page

Things to know

  • Building from source may be unstable because the main branch tip is not guaranteed stable.
  • Pre-built Linux Python wheels target manylinux2014, so compatibility depends on your distribution.
  • The project states it is not an officially supported Google product.

Topics

FAQ

What is mujoco?
A general-purpose physics engine for fast, accurate simulation of articulated bodies in contact, widely used in robotics and machine learning research. MuJoCo (Multi-Joint dynamics with Contact) is a general-purpose physics engine for simulating articulated structures that interact with their environment. It targets robotics, biomechanics, graphics and animation, and machine learning, where accurate contact dynamics and fast stepping matter.
Is mujoco free to use? What license does it have?
mujoco is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is mujoco still maintained?
Actively maintained. The last commit to mujoco was on Oct 19, 2026.
What can I use mujoco for?
Training control policies for robots in simulation. Biomechanics studies of human or animal musculoskeletal models. Model-based control research such as LQR or trajectory optimization. Prototyping robot models converted from CAD or other formats to MJCF.
How do I install mujoco?
Install the Python bindings from PyPI: pip install mujoco Or download prebuilt binaries from the releases page
Where can I get mujoco?
The source code and installation instructions are on GitHub: https://github.com/google-deepmind/mujoco

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects