google-deepmind / mujoco
git clone https://github.com/google-deepmind/mujoco.git
3.16.0 · 8d ago
Multi-Joint dynamics with Contact. A general purpose physics simulator.
+9
stars, 24h · #1,628
+~63
stars, 7 days · #2,050
+~270
stars, 30 days · #1,963
16k
★ total · +0% this week
1.9k
forks · 299 open issues
Star history (as recorded here)
LanguageC++
LicenseApache-2.0
Created2021-08-27 (5y ago)
Last pushtoday
Watchers136
OwnerOrganization
GitHub topics
Links
- GitHub: github.com/google-deepmind/mujoco
- Homepage: https://mujoco.org
- Releases · Issues · Hacker News mentions
README excerpt
**MuJoCo** stands for **Mu**lti-**Jo**int dynamics with **Co**ntact. It is a general purpose physics engine that aims to facilitate research and development in robotics, biomechanics, graphics and animation, machine learning, and other areas which demand fast and accurate simulation of articulated structures interacting with their environment. This repository is maintained by Google DeepMind. MuJoCo has a C API and is intended for researchers and developers. The runtime simulation module is tuned to maximize performance and operates on low-level data structures that are preallocated by the built-in XML compiler. The library includes interactive visualization with a native GUI, rendered in OpenGL. MuJoCo further exposes a large number of utility functions for computing physics-related quantities. We also provide [Python bindings] and a plug-in for the [Unity] game engine. ## Documentation MuJoCo's documentation can be found at [mujoco.readthedocs.io]. Upcoming features due for the next release can be found in the [changelog] in the "latest" branch. ## Getting Started There are two easy ways to get started with MuJoCo: 1. **Run `simulate` on your machine.** This video shows a screen capture of `simulate`, MuJoCo's native interactive viewer. Follow the steps described in the [Getting Started] section of the documentation to get `simulate` running on your machine. 2. **Explore our online IPython notebooks.** If you are a Python user, you might want to start with our tutorial notebooks running on Google Colab: - The **introductory** tutorial teaches MuJoCo basics: - The **Model Editing** tutorial shows how to create and edit models procedurally: - The **rollout** tutorial shows how to use the multithreaded `rollout` module: - The **LQR** tutorial synthesizes a linear-quadratic controller, balancing a humanoid on one leg: - The **least-squares** tutorial explains how to use the Python-based nonlinear least-squares solver: - The **MJX** tutorial provides usage examples of MuJoCo XLA, a branch of MuJoCo written in JAX: - The **differentiable physics** tutorial trains locomotion policies with analytical gradients automatically derived from MuJoCo's physics step: ## Installation ### Prebuilt binaries Versioned releases are available as precompiled binaries from the GitHub [releases page], built for Linux (x86-64 and AArch64), Windows (x86-64 only), and macOS (universal). This is the recommended way to use the software. ### Building from source Users who wish to build MuJoCo from source should consult the [build from source] section of the documentation. However, note that the commit at the tip of the `main` branch may be unstable. ### Python (>= 3.10) The native Python bindings, which come pre-packaged with a copy of MuJoCo, can be installed from [PyPI] via: [code] Note that Pre-built Linux wheels target `manylinux2014`, see here for compatible distributions. For more information such as building the bindings from source, see the [Python bindi