google-deepmind/mujoco_menagerie

A collection of high-quality models for the MuJoCo physics engine, curated by Google DeepMind.

Python

4,146

469 commits

updated Sep 29, 2026

See the code

README

MuJoCo Menagerie

PRs

Menagerie is a collection of high-quality models for the MuJoCo physics engine, curated by Google DeepMind.

A physics simulator is only as good as the model it is simulating, and in a powerful simulator like MuJoCo with many modeling options, it is easy to create "bad" models which do not behave as expected. The goal of this collection is to provide the community with a curated library of well-designed models that work well right out of the gate.

Getting Started

Prerequisites

The minimum required MuJoCo version for each model is specified in its respective README. You can download prebuilt binaries for MuJoCo from the GitHub releases page, or if you are working with Python, you can install the native bindings from PyPI via pip install mujoco. For alternative installation instructions, see here.

Overview

The structure of Menagerie is illustrated below. For brevity, we have only included one model directory since all others follow the exact same pattern.

├── unitree_go2
│   ├── assets
│   │   ├── base_0.obj
│   │   ├── ...
│   ├── go2.png
│   ├── go2.xml
│   ├── LICENSE
│   ├── README.md
│   └── scene.xml
│   └── go2_mjx.xml
│   └── scene_mjx.xml
  • assets: stores the 3D meshes (.stl or .obj) of the model used for visual and collision purposes
  • LICENSE: describes the copyright and licensing terms of the model
  • README.md: contains detailed steps describing how the model's MJCF XML file was generated
  • <model>.xml: contains the MJCF definition of the model
  • scene.xml: includes <model>.xml with a plane, a light source and potentially other objects
  • <model>.png: a PNG image of scene.xml
  • <model>_mjx.xml: contains an MJX-compatible version of the model. Not all models have an MJX variant.
  • scene_mjx.xml: same as scene.xml but loads the MJX variant

Note that <model>.xml solely describes the model, i.e., no other entity is defined in the kinematic tree. We leave additional body definitions for the scene.xml file, as can be seen in the Shadow Hand scene.xml.

Usage

The Python package is the easiest way to use Menagerie from Python. You can also clone this repository in the directory of your choice:

git clone https://github.com/google-deepmind/mujoco_menagerie.git

and explore a model interactively using the Python viewer:

python -m mujoco.viewer --mjcf mujoco_menagerie/unitree_go2/scene.xml

Menagerie models are also available through the third-party robot_descriptions package.

If you have further questions, please check out our FAQ.

Python Package

pip install mujoco-menagerie
import mujoco_menagerie as mm

model = mm.load('unitree_go2')  # downloads once, compiles scene.xml
spec = mm.get('unitree_go2').spec()  # editable mujoco.MjSpec

Each model is downloaded the first time it is loaded, into a per-user cache, and mujoco-menagerie==2026.9.0 pins every model to that release. To open a model straight from the command line, with nothing installed:

uvx mujoco-menagerie view unitree_go2

See python/DOC.md for the full API.

Model Quality and Contributing

Our goal is to eventually make all Menagerie models as faithful as possible to the real system they are being modeled after. Improving model quality is an ongoing effort, and the current state of many models is not necessarily as good as it could be.

However, by releasing Menagerie in its current state, we hope to consolidate and increase visibility for community contributions. To help Menagerie users set proper expectations around the quality of each model, we introduce the following grading system:

GradeDescription
A+Values are the product of proper system identification
AValues are realistic, but have not been properly identified
BStable, but some values are unrealistic
CConditionally stable, can be significantly improved

The grading system will be applied to each model once a proper system identification toolbox is created. We are currently planning to release this toolbox later this year.

For more information regarding contributions, for example to add a new model to Menagerie, see CONTRIBUTING.

Quick contributor setup

Two commands and you're set up. You need uv installed; that's the only prerequisite.

make install   # one-time: installs pre-commit + git hook
make all       # run every check CI runs (lint + format + license + XML + tests)

After make install, the fast checks fire automatically on every git commit. Run make all before pushing. See CONTRIBUTING.md for the full breakdown.

Menagerie Models

Click any thumbnail below to open the model in an in-browser MuJoCo viewer powered by live.mujoco.org.

Humanoids.

PreviewNameDoFsLicense
Unitree H119BSD-3-Clause
Robotis OP320Apache-2.0
Unitree G129BSD-3-Clause
TALOS44Apache-2.0
Booster T123Apache-2.0
ToddlerBot 2XC44MIT
PNDbotics Adam_lite25MIT
Apptronik Apollo32Apache-2.0
Berkeley Humanoid12BSD-3-Clause
Fourier N123Apache-2.0
ToddlerBot 2XM44MIT

Quadrupeds.

PreviewNameDoFsLicense
Unitree A112BSD-3-Clause
Google Barkour v012Apache-2.0
ANYmal B12BSD-3-Clause
Unitree Go112BSD-3-Clause
ANYmal C12BSD-3-Clause
Google Barkour vB12Apache-2.0
Unitree Go212BSD-3-Clause
Boston Dynamics Spot19BSD-3-Clause

Bipeds.

PreviewNameDoFsLicense
Agility Cassie28MIT

Biomechanical.

PreviewNameDoFsLicense
Flybody102Apache-2.0
IIT SoftFoot92BSD-3-Clause
MS-Human-70085Apache-2.0

Dual Arms.

PreviewNameDoFsLicense
ALOHA16BSD-3-Clause

Mobile Manipulators.

PreviewNameDoFsLicense
Google Robot9Apache-2.0
Hello Robot Stretch 217BSD-3-Clause-Clear
Stanford TidyBot18MIT
Hello Robot Stretch 320Apache-2.0
TIAGo22Apache-2.0
TIAGo++25Apache-2.0
Rainbow Robotics RBY128Apache-2.0

Drones.

PreviewNameDoFsLicense
Skydio X20Apache-2.0
Bitcraze Crazyflie 20MIT

Arms.

PreviewNameDoFsLicense
Franka Emika Panda9Apache-2.0
Franka Robotics FR37Apache-2.0
Lite 66BSD-3-Clause
Unitree Z16BSD-3-Clause
Universal Robots UR5e6BSD-3-Clause
Rethink Robotics Sawyer7Apache-2.0
ROBOTIS OMY-3M6Apache-2.0
Universal Robots UR10e6BSD-3-Clause
KUKA LBR iiwa 147BSD-3-Clause
ViperX 300 6DOF8BSD-3-Clause
xArm713BSD-3-Clause
Kinova Gen37BSD-3-Clause
AgileX PiPER8MIT
Flexiv Robotics Rizon47Apache-2.0
ARX L58BSD-3-Clause
Flexiv Robotics Rizon4S7Apache-2.0
WidowX 250 6DOF8BSD-3-Clause
Standard Open Arm-100 5DOF - Version 1.36Apache-2.0
Low-Cost Robot Arm6Apache-2.0
Yet Another Manipulator (YAM)8MIT
Seeed Studio reBot DevArm8MIT
Dynamixel 2R2MIT
Franka Robotics FR3 v27Apache-2.0
The Robot Studio SO1016Apache-2.0
Trossen WXAI8BSD-3-Clause

End-effectors.

PreviewNameDoFsLicense
Panda Gripper2Apache-2.0
Allegro Hand V316BSD-2-Clause
Shadow Hand E3M524Apache-2.0
Robotiq 2F-858BSD-2-Clause
xarm7 Gripper6BSD-3-Clause
Shadow DEX-EE Hand12Apache-2.0
Leap Hand16MIT
UMI-Gripper8MIT
Sharpa Wave22Apache-2.0
Robotiq 2F-85 v46BSD-2-Clause
Tetheria Aero Hand Open16Apache-2.0

Mobile Bases.

PreviewNameDoFsLicense
Robot soccer kit omnidirectional64MIT

Miscellaneous.

PreviewNameDoFsLicense
Realsense D435i0Apache-2.0

Citing Menagerie

If you use Menagerie in your work, please use the following citation:

@software{menagerie2022github,
  author = {Zakka, Kevin and Tassa, Yuval and {MuJoCo Menagerie Contributors}},
  title = {{MuJoCo Menagerie: A collection of high-quality simulation models for MuJoCo}},
  url = {http://github.com/google-deepmind/mujoco_menagerie},
  year = {2022},
}

Acknowledgments

The models in this repository are based on third-party models designed by many talented people, and would not have been possible without their generous open-source contributions. We would like to acknowledge all the designers and engineers who made MuJoCo Menagerie possible.

We'd like to thank Pedro Vergani for his help with visuals and design.

The main effort required to make this repository publicly available was undertaken by Kevin Zakka, with help from the Robotics Simulation team at Google DeepMind.

This project has also benefited from contributions by members of the broader community — see the CONTRIBUTORS.md for a full list.

Changelog

For a summary of key updates across the repository, see the global CHANGELOG.md.

Each individual model also includes its own CHANGELOG.md file with model-specific updates, linked directly from the corresponding README.

License and Disclaimer

XML and asset files in each individual model directory of this repository are subject to different license terms. Please consult the LICENSE files under each specific model subdirectory for the relevant license and copyright information.

All other content is Copyright 2022 DeepMind Technologies Limited and licensed under the Apache License, Version 2.0. A copy of this license is provided in the top-level LICENSE file in this repository. You can also obtain it from https://www.apache.org/licenses/LICENSE-2.0.

This is not an officially supported Google product.

mujoco
robotics

Significant stargazers

Stone Tao

695 followers · starred Sep 2022

K. S. Ernest (iFire) Lee

453 followers · starred Aug 2026

秀吉

270 followers · starred Nov 2025

Edgar Riba

501 followers · starred Sep 2022

google-deepmind/mujoco_menagerie

A collection of high-quality models for the MuJoCo physics engine, curated by Google DeepMind.

Python

4,146

469 commits

updated Sep 29, 2026

See the code

README

MuJoCo Menagerie

PRs

Menagerie is a collection of high-quality models for the MuJoCo physics engine, curated by Google DeepMind.

A physics simulator is only as good as the model it is simulating, and in a powerful simulator like MuJoCo with many modeling options, it is easy to create "bad" models which do not behave as expected. The goal of this collection is to provide the community with a curated library of well-designed models that work well right out of the gate.

Getting Started

Prerequisites

The minimum required MuJoCo version for each model is specified in its respective README. You can download prebuilt binaries for MuJoCo from the GitHub releases page, or if you are working with Python, you can install the native bindings from PyPI via pip install mujoco. For alternative installation instructions, see here.

Overview

The structure of Menagerie is illustrated below. For brevity, we have only included one model directory since all others follow the exact same pattern.

├── unitree_go2
│   ├── assets
│   │   ├── base_0.obj
│   │   ├── ...
│   ├── go2.png
│   ├── go2.xml
│   ├── LICENSE
│   ├── README.md
│   └── scene.xml
│   └── go2_mjx.xml
│   └── scene_mjx.xml
  • assets: stores the 3D meshes (.stl or .obj) of the model used for visual and collision purposes
  • LICENSE: describes the copyright and licensing terms of the model
  • README.md: contains detailed steps describing how the model's MJCF XML file was generated
  • <model>.xml: contains the MJCF definition of the model
  • scene.xml: includes <model>.xml with a plane, a light source and potentially other objects
  • <model>.png: a PNG image of scene.xml
  • <model>_mjx.xml: contains an MJX-compatible version of the model. Not all models have an MJX variant.
  • scene_mjx.xml: same as scene.xml but loads the MJX variant

Note that <model>.xml solely describes the model, i.e., no other entity is defined in the kinematic tree. We leave additional body definitions for the scene.xml file, as can be seen in the Shadow Hand scene.xml.

Usage

The Python package is the easiest way to use Menagerie from Python. You can also clone this repository in the directory of your choice:

git clone https://github.com/google-deepmind/mujoco_menagerie.git

and explore a model interactively using the Python viewer:

python -m mujoco.viewer --mjcf mujoco_menagerie/unitree_go2/scene.xml

Menagerie models are also available through the third-party robot_descriptions package.

If you have further questions, please check out our FAQ.

Python Package

pip install mujoco-menagerie
import mujoco_menagerie as mm

model = mm.load('unitree_go2')  # downloads once, compiles scene.xml
spec = mm.get('unitree_go2').spec()  # editable mujoco.MjSpec

Each model is downloaded the first time it is loaded, into a per-user cache, and mujoco-menagerie==2026.9.0 pins every model to that release. To open a model straight from the command line, with nothing installed:

uvx mujoco-menagerie view unitree_go2

See python/DOC.md for the full API.

Model Quality and Contributing

Our goal is to eventually make all Menagerie models as faithful as possible to the real system they are being modeled after. Improving model quality is an ongoing effort, and the current state of many models is not necessarily as good as it could be.

However, by releasing Menagerie in its current state, we hope to consolidate and increase visibility for community contributions. To help Menagerie users set proper expectations around the quality of each model, we introduce the following grading system:

GradeDescription
A+Values are the product of proper system identification
AValues are realistic, but have not been properly identified
BStable, but some values are unrealistic
CConditionally stable, can be significantly improved

The grading system will be applied to each model once a proper system identification toolbox is created. We are currently planning to release this toolbox later this year.

For more information regarding contributions, for example to add a new model to Menagerie, see CONTRIBUTING.

Quick contributor setup

Two commands and you're set up. You need uv installed; that's the only prerequisite.

make install   # one-time: installs pre-commit + git hook
make all       # run every check CI runs (lint + format + license + XML + tests)

After make install, the fast checks fire automatically on every git commit. Run make all before pushing. See CONTRIBUTING.md for the full breakdown.

Menagerie Models

Click any thumbnail below to open the model in an in-browser MuJoCo viewer powered by live.mujoco.org.

Humanoids.

PreviewNameDoFsLicense
Unitree H119BSD-3-Clause
Robotis OP320Apache-2.0
Unitree G129BSD-3-Clause
TALOS44Apache-2.0
Booster T123Apache-2.0
ToddlerBot 2XC44MIT
PNDbotics Adam_lite25MIT
Apptronik Apollo32Apache-2.0
Berkeley Humanoid12BSD-3-Clause
Fourier N123Apache-2.0
ToddlerBot 2XM44MIT

Quadrupeds.

PreviewNameDoFsLicense
Unitree A112BSD-3-Clause
Google Barkour v012Apache-2.0
ANYmal B12BSD-3-Clause
Unitree Go112BSD-3-Clause
ANYmal C12BSD-3-Clause
Google Barkour vB12Apache-2.0
Unitree Go212BSD-3-Clause
Boston Dynamics Spot19BSD-3-Clause

Bipeds.

PreviewNameDoFsLicense
Agility Cassie28MIT

Biomechanical.

PreviewNameDoFsLicense
Flybody102Apache-2.0
IIT SoftFoot92BSD-3-Clause
MS-Human-70085Apache-2.0

Dual Arms.

PreviewNameDoFsLicense
ALOHA16BSD-3-Clause

Mobile Manipulators.

PreviewNameDoFsLicense
Google Robot9Apache-2.0
Hello Robot Stretch 217BSD-3-Clause-Clear
Stanford TidyBot18MIT
Hello Robot Stretch 320Apache-2.0
TIAGo22Apache-2.0
TIAGo++25Apache-2.0
Rainbow Robotics RBY128Apache-2.0

Drones.

PreviewNameDoFsLicense
Skydio X20Apache-2.0
Bitcraze Crazyflie 20MIT

Arms.

PreviewNameDoFsLicense
Franka Emika Panda9Apache-2.0
Franka Robotics FR37Apache-2.0
Lite 66BSD-3-Clause
Unitree Z16BSD-3-Clause
Universal Robots UR5e6BSD-3-Clause
Rethink Robotics Sawyer7Apache-2.0
ROBOTIS OMY-3M6Apache-2.0
Universal Robots UR10e6BSD-3-Clause
KUKA LBR iiwa 147BSD-3-Clause
ViperX 300 6DOF8BSD-3-Clause
xArm713BSD-3-Clause
Kinova Gen37BSD-3-Clause
AgileX PiPER8MIT
Flexiv Robotics Rizon47Apache-2.0
ARX L58BSD-3-Clause
Flexiv Robotics Rizon4S7Apache-2.0
WidowX 250 6DOF8BSD-3-Clause
Standard Open Arm-100 5DOF - Version 1.36Apache-2.0
Low-Cost Robot Arm6Apache-2.0
Yet Another Manipulator (YAM)8MIT
Seeed Studio reBot DevArm8MIT
Dynamixel 2R2MIT
Franka Robotics FR3 v27Apache-2.0
The Robot Studio SO1016Apache-2.0
Trossen WXAI8BSD-3-Clause

End-effectors.

PreviewNameDoFsLicense
Panda Gripper2Apache-2.0
Allegro Hand V316BSD-2-Clause
Shadow Hand E3M524Apache-2.0
Robotiq 2F-858BSD-2-Clause
xarm7 Gripper6BSD-3-Clause
Shadow DEX-EE Hand12Apache-2.0
Leap Hand16MIT
UMI-Gripper8MIT
Sharpa Wave22Apache-2.0
Robotiq 2F-85 v46BSD-2-Clause
Tetheria Aero Hand Open16Apache-2.0

Mobile Bases.

PreviewNameDoFsLicense
Robot soccer kit omnidirectional64MIT

Miscellaneous.

PreviewNameDoFsLicense
Realsense D435i0Apache-2.0

Citing Menagerie

If you use Menagerie in your work, please use the following citation:

@software{menagerie2022github,
  author = {Zakka, Kevin and Tassa, Yuval and {MuJoCo Menagerie Contributors}},
  title = {{MuJoCo Menagerie: A collection of high-quality simulation models for MuJoCo}},
  url = {http://github.com/google-deepmind/mujoco_menagerie},
  year = {2022},
}

Acknowledgments

The models in this repository are based on third-party models designed by many talented people, and would not have been possible without their generous open-source contributions. We would like to acknowledge all the designers and engineers who made MuJoCo Menagerie possible.

We'd like to thank Pedro Vergani for his help with visuals and design.

The main effort required to make this repository publicly available was undertaken by Kevin Zakka, with help from the Robotics Simulation team at Google DeepMind.

This project has also benefited from contributions by members of the broader community — see the CONTRIBUTORS.md for a full list.

Changelog

For a summary of key updates across the repository, see the global CHANGELOG.md.

Each individual model also includes its own CHANGELOG.md file with model-specific updates, linked directly from the corresponding README.

License and Disclaimer

XML and asset files in each individual model directory of this repository are subject to different license terms. Please consult the LICENSE files under each specific model subdirectory for the relevant license and copyright information.

All other content is Copyright 2022 DeepMind Technologies Limited and licensed under the Apache License, Version 2.0. A copy of this license is provided in the top-level LICENSE file in this repository. You can also obtain it from https://www.apache.org/licenses/LICENSE-2.0.

This is not an officially supported Google product.

mujoco
robotics

Significant stargazers

Stone Tao

695 followers · starred Sep 2022

K. S. Ernest (iFire) Lee

453 followers · starred Aug 2026

秀吉

270 followers · starred Nov 2025

Edgar Riba

501 followers · starred Sep 2022

Languages

Python

92.3%

Jupyter Notebook

5.9%

Makefile

1.6%