Initial open sourcing of MuJoCo.
PiperOrigin-RevId: 450374687 Change-Id: Ie3225a46ce095fc28ae8e63c326a640261f562bb
This commit is contained in:
committed by
Copybara-Service
parent
0e5d062302
commit
1913a02b40
@@ -6,77 +6,50 @@ in robotics, biomechanics, graphics and animation, machine learning, and other
|
||||
areas which demand fast and accurate simulation of articulated structures
|
||||
interacting with their environment.
|
||||
|
||||
DeepMind has acquired MuJoCo, and we are currently making preparations to open
|
||||
source the codebase. In the meantime, MuJoCo is available for download as a free
|
||||
and unrestricted precompiled binary under the Apache 2.0 license from
|
||||
the [GitHub Releases page](https://github.com/deepmind/mujoco/releases).
|
||||
|
||||
MuJoCo's source code will be released through this GitHub repository once it is
|
||||
ready. In the meantime, the repository hosts MuJoCo's documentation, C header
|
||||
files for its public API, sample program code, along with the full source code
|
||||
for the Python bindings and Unity plugin. If you wish to report bugs or make
|
||||
feature requests, please file them as [GitHub Issues]. You are also welcome to
|
||||
send us pull requests to improve anything that has been released into this
|
||||
repository.
|
||||
|
||||
|
||||
## Overview
|
||||
|
||||
MuJoCo is a compiled library with a C API, intended for researchers and
|
||||
developers. The runtime simulation module is tuned to maximize performance and
|
||||
operates on low-level data structures which are preallocated by the built-in XML
|
||||
parser and compiler. The user defines models in the native MJCF scene
|
||||
description language -- an XML file format designed to be as human readable and
|
||||
editable as possible. URDF model files can also be loaded. 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, not necessarily in a simulation loop. Features include
|
||||
|
||||
- Simulation in generalized coordinates, avoiding joint violations.
|
||||
|
||||
- Inverse dynamics that are well-defined even in the presence of contacts.
|
||||
|
||||
- Unified continuous-time formulation of constraints via convex optimization.
|
||||
|
||||
- Constraints include soft contacts, limits, dry friction, equality
|
||||
constraints.
|
||||
|
||||
- Simulation of particle systems, cloth, rope and soft objects.
|
||||
|
||||
- Actuators including motors, cylinders, muscles, tendons, slider-cranks.
|
||||
|
||||
- Choice of Newton, Conjugate Gradient, or Projected Gauss-Seidel solvers.
|
||||
|
||||
- Choice of pyramidal or elliptic friction cones, dense or sparse Jacobians.
|
||||
|
||||
- Choice of Euler or Runge-Kutta numerical integrators.
|
||||
|
||||
- Multi-threaded sampling and finite-difference approximations.
|
||||
|
||||
- Intuitive XML model format (called MJCF) and built-in model compiler.
|
||||
|
||||
- Cross-platform GUI with interactive 3D visualization in OpenGL.
|
||||
|
||||
- Run-time module written in ANSI C and hand-tuned for performance.
|
||||
|
||||
[Python bindings](https://github.com/deepmind/mujoco/tree/main/python) and a
|
||||
[plugin for the Unity game engine](https://github.com/deepmind/mujoco/tree/main/unity)
|
||||
are also provided and are actively supported by the MuJoCo development team.
|
||||
|
||||
|
||||
## Requirements
|
||||
|
||||
MuJoCo binaries are currently built for Linux (x86-64 and AArch64),
|
||||
Windows (x86-64 only), and macOS. If you require a build for a different
|
||||
platform, please let us know via [GitHub Issues] or
|
||||
[Discussions](https://github.com/deepmind/mujoco/discussions).
|
||||
This repository is maintained by DeepMind, please see our [acquisition] and
|
||||
[open sourcing] announcements.
|
||||
|
||||
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 current documentation is available at [mujoco.org/book], which is
|
||||
serving Sphinx-based webpages derived from the ReStructuredText
|
||||
[documentation source files].
|
||||
MuJoCo's documentation is available at [mujoco.readthedocs.io], which serves
|
||||
webpages derived from the [documentation source files].
|
||||
|
||||
## Releases
|
||||
|
||||
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.
|
||||
|
||||
Users who wish to build MuJoCo from source, please consult the [build from
|
||||
source] section of the documentation. However, please note that the commit at
|
||||
the tip of the `main` branch branch may be unstable.
|
||||
|
||||
|
||||
## Getting Started
|
||||
|
||||
There are two easy ways to get started with MuJoCo:
|
||||
|
||||
1. **Run `simulate` on your machine.**
|
||||
[This video](https://www.youtube.com/watch?v=0ORsj_E17B0) 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 first tutorial focuses on the basic MuJoco Python bindings: [](https://colab.research.google.com/github/deepmind/dm_control/blob/main/dm_control/mujoco/tutorial.ipynb).
|
||||
|
||||
- The second tutorial includes more examples of `dm_control`-specific functionality: [](https://colab.research.google.com/github/deepmind/dm_control/blob/main/tutorial.ipynb).
|
||||
|
||||
|
||||
## Citation
|
||||
@@ -85,19 +58,23 @@ If you use MuJoCo for published research, please cite:
|
||||
|
||||
```
|
||||
@inproceedings{todorov2012mujoco,
|
||||
title={Mujoco: A physics engine for model-based control},
|
||||
title={MuJoCo: A physics engine for model-based control},
|
||||
author={Todorov, Emanuel and Erez, Tom and Tassa, Yuval},
|
||||
booktitle={2012 IEEE/RSJ International Conference on Intelligent Robots and Systems},
|
||||
pages={5026--5033},
|
||||
year={2012},
|
||||
organization={IEEE}
|
||||
organization={IEEE},
|
||||
doi={10.1109/IROS.2012.6386109}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## License and Disclaimer
|
||||
|
||||
Copyright 2021 DeepMind Technologies Limited
|
||||
Copyright 2021 DeepMind Technologies Limited.
|
||||
|
||||
Box collision code ([`engine_collision_box.c`](https://github.com/deepmind/mujoco/tree/main/src/engine/engine_collision_box.c))
|
||||
is Copyright 2016 Svetoslav Kolev.
|
||||
|
||||
ReStructuredText documents, images, and videos in the `doc` directory are made
|
||||
available under the terms of the Creative Commons Attribution 4.0 (CC BY 4.0)
|
||||
@@ -109,7 +86,11 @@ copy of the License at https://www.apache.org/licenses/LICENSE-2.0.
|
||||
|
||||
This is not an officially supported Google product.
|
||||
|
||||
|
||||
[build from source]: https://mujoco.readthedocs.io/en/latest/programming.html#building-mujoco-from-source
|
||||
[Getting Started]: https://mujoco.readthedocs.io/en/latest/programming.html#getting-started
|
||||
[acquisition]: https://www.deepmind.com/blog/opening-up-a-physics-simulator-for-robotics
|
||||
[open sourcing]: https://www.deepmind.com/blog/open-sourcing-mujoco
|
||||
[releases page]: https://github.com/deepmind/mujoco/releases
|
||||
[GitHub Issues]: https://github.com/deepmind/mujoco/issues
|
||||
[documentation source files]: https://github.com/deepmind/mujoco/tree/main/doc
|
||||
[mujoco.org/book]: https://mujoco.org/book
|
||||
[mujoco.readthedocs.io]: https://mujoco.readthedocs.io
|
||||
|
||||
Reference in New Issue
Block a user