mujoco

mujoco

多关节动力学与接触仿真引擎 支持机器人与生物力学研究

MuJoCo是一个开源的通用物理引擎,专注于多关节动力学和接触仿真。该项目由Google DeepMind维护,为机器人学、生物力学、计算机图形和机器学习等领域提供高性能模拟。MuJoCo提供C语言API、Python绑定和Unity插件,支持OpenGL交互式可视化。研究人员和开发者可利用MuJoCo模拟复杂结构与环境的交互,进行高精度高效率的物理仿真研究。

MuJoCo物理引擎机器人学仿真深度学习Github开源项目
<h1> <a href="#"><img alt="MuJoCo" src="https://yellow-cdn.veclightyear.com/835a84d5/f1f8184e-c413-46b6-91bd-ad9fd427c139.png" width="100%"/></a> </h1> <p> <a href="https://github.com/google-deepmind/mujoco/actions/workflows/build.yml?query=branch%3Amain" alt="GitHub Actions"> <img src="https://img.shields.io/github/actions/workflow/status/google-deepmind/mujoco/build.yml?branch=main"> </a> <a href="https://mujoco.readthedocs.io/" alt="Documentation"> <img src="https://readthedocs.org/projects/mujoco/badge/?version=latest"> </a> <a href="https://github.com/google-deepmind/mujoco/blob/main/LICENSE" alt="License"> <img src="https://img.shields.io/github/license/google-deepmind/mujoco"> </a> </p>

MuJoCoMulti-Joint dynamics with Contact 的缩写,意为多关节动力学与接触。它是一个通用物理引擎,旨在促进机器人学、生物力学、图形和动画、机器学习等领域的研究和开发,这些领域需要快速准确地模拟与环境交互的关节结构。

该仓库由 Google DeepMind 维护。

MuJoCo 提供 C 语言 API,面向研究人员和开发者。运行时模拟模块经过优化以最大化性能,并操作由内置 XML 编译器预分配的低级数据结构。该库包括交互式可视化功能,具有原生 GUI,使用 OpenGL 渲染。MuJoCo 还提供大量用于计算物理相关量的实用函数。

我们还提供 [Python 绑定] 和 [Unity] 游戏引擎插件。

文档

MuJoCo 的文档可在 [mujoco.readthedocs.io] 找到。即将发布的新功能可以在最新分支的 [更新日志] 中查看。

入门

有两种简单的方法可以开始使用 MuJoCo:

  1. 在您的机器上运行 simulate 这个视频 展示了 simulate(MuJoCo 的原生交互式查看器)的屏幕录像。按照文档 [入门] 部分的步骤,在您的机器上运行 simulate

  2. 探索我们的在线 IPython 笔记本。 如果您是 Python 用户,可以从我们在 Google Colab 上运行的教程笔记本开始:

  • 入门 教程讲解 MuJoCo 基础知识: 在 Colab 中打开
  • LQR 教程合成线性二次型控制器,使人形机器人单腿平衡: 在 Colab 中打开
  • 最小二乘 教程解释如何使用基于 Python 的非线性最小二乘求解器: 在 Colab 中打开
  • MJX 教程提供 MuJoCo XLA(用 JAX 编写的 MuJoCo 分支)的使用示例: 在 Colab 中打开
  • 可微分物理 教程使用从 MuJoCo 物理步骤自动推导的解析梯度训练运动策略: 在 Colab 中打开

安装

预编译二进制文件

版本发布可从 GitHub [发布页面] 获取预编译二进制文件,支持 Linux(x86-64 和 AArch64)、Windows(仅 x86-64)和 macOS(通用)。这是推荐的使用方式。

从源代码构建

希望从源代码构建 MuJoCo 的用户应参考文档的 [从源代码构建] 部分。但请注意,main 分支顶部的提交可能不稳定。

Python(>= 3.8)

原生 Python 绑定(预打包了 MuJoCo 副本)可通过以下命令从 [PyPI] 安装:

pip install mujoco

注意:预构建的 Linux wheels 针对 manylinux2014,请参阅 此处 了解兼容的发行版。有关从源代码构建绑定等更多信息,请参阅文档的 [Python 绑定] 部分。

贡献

我们欢迎社区参与:提问、寻求帮助、报告错误和提出功能请求。要了解更多关于错误报告、功能请求和更雄心勃勃的贡献,请查阅我们的 贡献者指南风格指南

提问

我们欢迎在 GitHub Issues 页面上提出问题和寻求帮助,请聚焦于特定问题或疑问。

Discussions 应用于讨论可能需要多方参与的更广泛问题。

以下是提出好问题的一些指导原则:

  1. 搜索现有的问题或议题,看是否涉及相同主题。

    您可以在现有线程上添加评论或开启新的线程。如果您开启新线程,且存在相关线程,请链接到它们。

  2. 使用清晰具体的标题。尝试包含关键词,使您的问题易于他人将来查找。

  3. 简要介绍自己和您的项目背景。

    如果您的专业水平特别高或特别低,且这可能与我们对您知识的假设有关,请也说明这一点。

  4. 退一步告诉我们你想要达成什么目标,如果我们了解你的目标,我们可能会建议一种不同于你正在遇到问题的解决方案。

  5. 让其他人易于重现问题或理解你的问题。

    如果需要模型,请包含它。尽量使模型最小化:删除与你问题无关的元素。纯XML模型应内联。需要二进制资产(网格、纹理)的模型,应作为.zip文件附加。请确保在附加之前所包含的模型是可加载的。

  6. 如果相关,请包含说明性的截图或视频。

  7. 告诉我们你是如何访问MuJoCo的(C API、Python绑定等),以及你使用的MuJoCo版本和操作系统。

相关软件

MuJoCo是许多环境包的骨干,但这里无法一一列举。以下我们重点关注绑定和转换器。

绑定

这些包让各种语言的用户能够访问MuJoCo功能:

第一方绑定:

  • Python绑定
    • dm_control, Google DeepMind的相关环境栈,包括PyMJCF,一个用于程序化操作MuJoCo模型的模块。
  • C#绑定和Unity插件

第三方绑定:

  • WebAssembly: mujoco_wasm 由@zalo开发,@kevinzakka贡献,基于@stillonearth的emscripten构建。

    :arrow_right: 点击此处在浏览器中体验MuJoCo的实时演示。

  • MATLAB Simulink: MuJoCo模拟器的Simulink模块集,由Manoj Velmurugan开发。

  • Swift: swift-mujoco

  • Java: mujoco-java

  • Julia: MuJoCo.jl

转换器

  • OpenSim: MyoConverter将OpenSim模型转换为MJCF。
  • SDFormat: gz-mujoco是一个双向SDFormat <-> MJCF转换工具。
  • OBJ: obj2mjcf是一个将复合OBJ文件转换为可加载MJCF模型的脚本。

引用

如果你在已发表的研究中使用MuJoCo,请引用:

@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}
}

许可和免责声明

版权所有 2021 DeepMind Technologies Limited。

Box碰撞代码(engine_collision_box.c)版权所有 2016 Svetoslav Kolev。

doc目录中的ReStructuredText文档、图像和视频根据知识共享署名4.0(CC BY 4.0)许可提供。你可以在https://creativecommons.org/licenses/by/4.0/legalcode获取许可的副本。

源代码根据Apache License, Version 2.0许可。你可以在https://www.apache.org/licenses/LICENSE-2.0获取许可的副本。

这不是Google官方支持的产品。

编辑推荐精选

博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

下拉加载更多