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官方支持的产品。

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

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

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

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

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

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

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多