https://github.com/google-deepmind/mujoco
MuJoCo代表多关节动力学与接触。它是一种通用物理引擎,旨在促进机器人技术、生物力学、图形和动画、机器学习和其他需要快速准确地模拟与环境相互作用的铰接结构的领域的研究和开发。
MuJoCo 具有 C API,适用于研究人员和开发人员。运行时模拟模块经过调整,可最大程度地提高性能,并可在内置 XML 编译器预先分配的低级数据结构上运行。该库包括使用原生 GUI 的交互式可视化,以 OpenGL 呈现。MuJoCo 还公开了大量用于计算物理相关量的实用函数。
文档
MuJoCo 的文档可在mujoco.readthedocs.io找到。下一版本即将推出的功能可在“最新”分支的变更日志中找到。
入门
有两种简单的方法可以开始使用 MuJoCo:
-
simulate
在您的机器上运行。 此视频展示了 MuJoCo 原生交互式查看器的屏幕截图。按照文档“入门”simulate
部分中描述的步骤在您的机器上运行。simulate
-
探索我们的在线 IPython 笔记本。 如果您是 Python 用户,您可能希望从在 Google Colab 上运行的教程笔记本开始:
- 入门教程教授 MuJoCo 基础知识:
- 推出的教程展示了如何使用多线程
rollout
模块: - LQR教程合成了一个线性二次控制器,用于使人形机器人单腿保持平衡:
- 最小二乘教程解释了如何使用基于 Python的非线性最小二乘求解器:
- MJX教程提供了MuJoCo XLA的使用示例 ,它是用 JAX 编写的 MuJoCo 的一个分支:
- 可微分物理教程使用从 MuJoCo 的物理步骤自动得出的分析梯度来训练运动策略:
安装
预构建的二进制文件
版本化版本可从 GitHub 发布页面以预编译二进制文件的形式获取,适用于 Linux(x86-64 和 AArch64)、Windows(仅限 x86-64)和 macOS(通用)。这是使用该软件的推荐方式。
从源代码构建
希望从源代码构建 MuJoCo 的用户应查阅文档的从源代码构建部分。但是,请注意,分支尖端的提交main
可能不稳定。
Python(>= 3.9)
本机 Python 绑定预先打包了 MuJoCo 的副本,可以通过以下方式从PyPI安装:
pip install mujoco
请注意,预构建的 Linux 轮子目标为manylinux2014
,请参阅 此处了解兼容的发行版。有关更多信息(例如从源代码构建绑定),请参阅 文档的Python 绑定部分。
贡献
我们欢迎社区参与:提问、寻求帮助、报告错误和功能请求。要了解有关错误报告、功能请求和更雄心勃勃的贡献的更多信息,请参阅我们的贡献者指南 和风格指南。
提出问题
欢迎以 GitHub “寻求帮助”讨论的形式提出问题和寻求帮助请求 ,并且应关注特定的问题或疑问。
错误报告和功能请求
GitHub Issues专门用于错误报告、功能请求和其他与开发相关的主题。
相关软件
MuJoCo 是众多环境包的支柱。下面我们列出了几个绑定和转换器。
绑定
这些软件包使各种语言的用户能够访问 MuJoCo 功能:
第一方绑定:
- Python 绑定
- dm_control是 Google DeepMind 的相关环境堆栈,其中包括 PyMJCF,一个用于程序操作 MuJoCo 模型的模块。
- C# 绑定和 Unity 插件
第三方绑定:
-
WebAssembly:@zalo的mujoco_wasm ,由@kevinzakka贡献 ,基于@stillonearth构建的 emscripten 。
➡️单击此处即可在您的浏览器中运行 MuJoCo 的现场演示。
-
MATLAB Simulink: 由Manoj Velmurugan开发的MuJoCo 模拟器的 Simulink Blockset。
-
Swift:swift-mujoco
-
Java:mujoco-java
-
朱莉娅: MuJoCo.jl
转换器
- OpenSim:MyoConverter将 OpenSim 模型转换为 MJCF。
- SDFormat:gz-mujoco是一种双向 SDFormat <-> MJCF 转换工具。
- OBJ:obj2mjcf 是 一个将复合 OBJ 文件转换为可加载 MJCF 模型的脚本。
- onshape:Onshape 到机器人将onshape CAD 组件 转换为 MJCF。
引用
如果您使用 MuJoCo 发表研究,请引用:
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>@inproceedings{todorov2012mujoco,
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},
doi={10.1109/IROS.2012.6386109}
}
</code></span></span></span></span>
许可和免责声明
版权所有 2021 DeepMind Technologies Limited。
盒子碰撞代码 ( engine_collision_box.c) 版权所有 2016 Svetoslav Kolev。
目录中的 ReStructuredText 文档、图像和视频均根据 Creative Commons Attribution 4.0 (CC BY 4.0) 许可条款提供。您可以在Legal Code - Attribution 4.0 International - Creative Commonsdoc
获取许可证副本 。
源代码根据 Apache 许可证 2.0 版授权。您可以在https://www.apache.org/licenses/LICENSE-2.0获取许可证副本。
这不是 Google 官方支持的产品。