mujoco_menagerie
mujoco_menagerie 是一个由 Google DeepMind 维护的高质量机器人及物理模型集合,专为 MuJoCo 物理引擎设计。它提供了大量经过精心调试和验证的模型,涵盖从工业机械臂、灵巧手到四足机器人、仿生机器人等多种类型,用户可以直接在 MuJoCo 仿真环境中加载使用,无需从头建模。
这个工具主要解决了物理仿真中模型质量参差不齐的问题。在 MuJoCo 这样功能强大的仿真平台中,自行构建模型往往涉及复杂的参数调整,容易导致模型行为异常或仿真不稳定。mujoco_menagerie 通过提供一系列“开箱即用”、符合物理规律的可靠模型,让研究人员和开发者能跳过繁琐的建模阶段,快速开展机器人控制、强化学习或运动规划算法的实验。
它非常适合机器人学、强化学习领域的研究人员与工程师使用。无论是学术机构进行算法验证,还是工业界快速搭建仿真原型,都可以从中受益。其模型结构清晰,并注重仿真实用性,例如包含完整的关节限位、碰撞网格和合理的驱动参数。
技术亮点在于其模型的“即用性”和高质量。每个模型都经过人工检查和测试,确保在 MuJoCo 中能够稳定运行,行为符合预期。集合持续更新,涵盖了当前机器人社区中许多热门和经典的平台模型,为仿真实验提供了坚实的基础。
使用场景
一名机器人学研究生正在使用 MuJoCo 物理引擎开发一个四足机器人(如 ANYmal)的强化学习控制算法,用于复杂地形行走任务。
没有 mujoco_menagerie 时
- 模型获取困难:需要从机器人制造商官网、研究论文或开源社区中零散地寻找 ANYmal 的模型文件,过程耗时且版本混乱。
- 模型质量参差不齐:找到的模型可能存在几何尺寸错误、关节轴定义不准确或质量/惯性参数不合理等问题,导致仿真中的机器人行为怪异,与真实物理不符。
- 调试成本高昂:大量时间被浪费在排查和修复模型本身的错误上,而非专注于控制算法本身。例如,需要反复调整模型参数才能使机器人正常站立。
- 协作与复现障碍:由于每个人使用的模型来源和版本可能不同,实验室同学间难以共享和复现彼此的仿真实验代码,增加了沟通成本。
使用 mujoco_menagerie 后
- 一站式获取高质量模型:直接从 mujoco_menagerie 库中导入经过 Google DeepMind 验证的
anybotics_anymal_b或anybotics_anymal_c模型,几分钟内即可获得一个可直接运行的、高保真的仿真环境。 - 开箱即用的仿真保真度:模型经过精心校准,几何、动力学参数准确,机器人能表现出符合预期的物理行为,研究者可以立即信任仿真结果,并在此基础上设计控制策略。
- 聚焦核心算法开发:节省了数天甚至数周的模型调试与验证时间,可以将全部精力投入到强化学习算法设计、训练和调优上,加速研究迭代。
- 促进标准化与协作:团队内部统一使用 menagerie 中的标准模型,确保了实验基础的一致性,代码共享和结果复现变得简单可靠,提升了团队研究效率。
mujoco_menagerie 通过提供一系列即用、可靠的标准化机器人模型,将研究者从繁琐、易错的模型构建工作中解放出来,使其能专注于算法创新这一核心价值。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
Menagerie 是一个由 Google DeepMind 精心整理的、用于 MuJoCo 物理引擎的高质量模型集合。
一个物理模拟器的好坏取决于它所模拟的模型。在像 MuJoCo 这样功能强大、建模选项众多的模拟器中,很容易创建出行为不符合预期的“坏”模型。本集合的目标是为社区提供一个精心设计的模型库,这些模型开箱即用,性能良好。
模型画廊
![]() |
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
快速开始
先决条件
每个模型所需的最低 MuJoCo 版本在其各自的 README 文件中指定。你可以从 GitHub 发布页面 下载 MuJoCo 的预编译二进制文件。如果你使用 Python,也可以通过 pip install mujoco 从 PyPI 安装原生绑定。其他安装说明请参见 此处。
概览
Menagerie 的结构如下所示。为简洁起见,我们只包含了一个模型目录,因为所有其他目录都遵循完全相同的模式。
├── unitree_go2
│ ├── assets
│ │ ├── base_0.obj
│ │ ├── ...
│ ├── go2.png
│ ├── go2.xml
│ ├── LICENSE
│ ├── README.md
│ └── scene.xml
│ └── go2_mjx.xml
│ └── scene_mjx.xml
assets: 存储用于视觉和碰撞目的的模型 3D 网格文件 (.stl 或 .obj)LICENSE: 描述模型的版权和许可条款README.md: 包含详细步骤,描述模型的 MJCF XML 文件是如何生成的<model>.xml: 包含模型的 MJCF 定义scene.xml: 包含<model>.xml,并添加了一个平面、一个光源,可能还有其他物体<model>.png:scene.xml的 PNG 图像<model>_mjx.xml: 包含与 MJX 兼容的模型版本。并非所有模型都有 MJX 变体(更多信息请参见 Menagerie 模型列表)。scene_mjx.xml: 与scene.xml相同,但加载的是 MJX 变体
请注意,<model>.xml 仅描述模型本身,即运动学树中没有定义其他实体。我们将额外的物体定义留给 scene.xml 文件,例如 Shadow Hand 的 scene.xml。
使用方法
通过 robot-descriptions
你可以使用开源的 robot_descriptions 包来加载 Menagerie 中的任何模型。该包可在 PyPI 上获取,可通过 pip install robot_descriptions 安装。
安装后,你可以按如下方式加载你选择的模型:
import mujoco
# 以导入模块的方式加载特定的模型描述。
from robot_descriptions import panda_mj_description
model = mujoco.MjModel.from_xml_path(panda_mj_description.MJCF_PATH)
# 直接加载 MjModel 实例。
from robot_descriptions.loaders.mujoco import load_robot_description
model = load_robot_description("panda_mj_description")
加载模型的变体,例如不带夹爪的熊猫模型。
model = load_robot_description("panda_mj_description", variant="panda_nohand")
#### 通过 `git clone`
你也可以直接在所选目录中克隆此仓库:
```bash
git clone https://github.com/google-deepmind/mujoco_menagerie.git
然后,你可以使用 Python 查看器交互式地探索模型:
python -m mujoco.viewer --mjcf mujoco_menagerie/unitree_go2/scene.xml
如果你有更多问题,请查看我们的 常见问题解答。
模型质量与贡献
我们的目标是最终使所有 Menagerie 模型尽可能逼真地模拟它们所对应的真实系统。提高模型质量是一项持续的努力,目前许多模型的状态未必能达到最佳水平。
然而,通过以当前状态发布 Menagerie,我们希望能整合并提高社区贡献的可见度。为了帮助 Menagerie 用户对每个模型的质量建立适当的期望,我们引入了以下分级系统:
| 等级 | 描述 |
|---|---|
| A+ | 数值是经过恰当系统辨识的产物 |
| A | 数值是真实的,但尚未经过恰当辨识 |
| B | 稳定,但部分数值不真实 |
| C | 条件性稳定,有显著改进空间 |
一旦创建了恰当的系统辨识工具箱,该分级系统将应用于每个模型。我们目前计划在今年晚些时候发布这个工具箱。
有关贡献的更多信息,例如如何向 Menagerie 添加新模型,请参阅 贡献指南。
Menagerie 模型库
机械臂。
| 名称 | 制造商 | 自由度 (DoFs) | 许可证 | MJX |
|---|---|---|---|---|
| ARX L5 | ARX Robotics | 7 | BSD-3-Clause | ✖️ |
| PiPER | AgileX | 7 | MIT | ✖️ |
| FR3 | Franka Robotics | 7 | Apache-2.0 | ✖️ |
| iiwa14 | KUKA | 7 | BSD-3-Clause | ✖️ |
| Lite6 | UFACTORY | 6 | BSD-3-Clause | ✖️ |
| Panda | Franka Robotics | 7 | BSD-3-Clause | ✔️ |
| Rizon4 | Flexiv Robotics | 7 | Apache-2.0 | ✖️ |
| Sawyer | Rethink Robotics | 7 | Apache-2.0 | ✖️ |
| Unitree Z1 | Unitree Robotics | 6 | BSD-3-Clause | ✖️ |
| UR5e | Universal Robots | 6 | BSD-3-Clause | ✖️ |
| UR10e | Universal Robots | 6 | BSD-3-Clause | ✖️ |
| ViperX 300 | Trossen Robotics | 8 | BSD-3-Clause | ✖️ |
| WidowX 250 | Trossen Robotics | 8 | BSD-3-Clause | ✖️ |
| xarm7 | UFACTORY | 7 | BSD-3-Clause | ✖️ |
| Gen3 | Kinova Robotics | 7 | BSD-3-Clause | ✖️ |
| SO-ARM100 | The Robot Studio | 5 | Apache-2.0 | ✖️ |
| Koch v1.1 Low-Cost Robot | Hugging Face | 5 | Apache-2.0 | ✖️ |
| YAM | I2RT Robotics | 7 | MIT | ✖️ |
双足机器人。
| 名称 | 制造商 | 自由度 (DoFs) | 许可证 | MJX |
|---|---|---|---|---|
| Cassie | Agility Robotics | 28 | BSD-3-Clause | ✖️ |
双臂机器人。
| 名称 | 制造商 | 自由度 (DoFs) | 许可证 | MJX |
|---|---|---|---|---|
| ALOHA 2 | Trossen Robotics, Google DeepMind | 16 | BSD-3-Clause | ✔️ |
无人机。
| 名称 | 制造商 | 自由度 (DoFs) | 许可证 | MJX |
|---|---|---|---|---|
| Crazyflie 2 | Bitcraze | 0 | MIT | ✖️ |
| Skydio X2 | Skydio | 0 | Apache-2.0 | ✖️ |
末端执行器。
| 名称 | 制造商 | 自由度 (DoFs) | 许可证 | MJX |
|---|---|---|---|---|
| Allegro Hand V3 | Wonik Robotics | 16 | BSD-2-Clause | ✖️ |
| UMI Gripper | Stanford University | 1 | MIT | ✖️ |
| LEAP Hand | Carnegie Mellon University | 16 | MIT | ✖️ |
| Robotiq 2F-85 | Robotiq | 8 | BSD-2-Clause | ✖️ |
| Shadow Hand EM35 | Shadow Robot Company | 24 | Apache-2.0 | ✖️ |
| Shadow DEX-EE Hand | Shadow Robot Company | 12 | Apache-2.0 | ✖️ |
移动操作机器人。
| 名称 | 制造商 | 自由度 (DoFs) | 许可证 | MJX |
|---|---|---|---|---|
| Google Robot | Google DeepMind | 9 | Apache-2.0 | ✖️ |
| Stanford TidyBot | Stanford University | 11 | MIT | ✖️ |
| Stretch 2 | Hello Robot | 17 | Clear BSD | ✖️ |
| Stretch 3 | Hello Robot | 17 | Apache-2.0 | ✖️ |
| PAL Tiago | PAL Robotics | 12 | Apache-2.0 | ✖️ |
| PAL Tiago Dual | PAL Robotics | 21 | Apache-2.0 | ✖️ |
移动底盘。
| 名称 | 制造商 | 自由度 (DoFs) | 许可证 | MJX |
|---|---|---|---|---|
| Omniwheel Soccer Robot | Robot Soccer Kit | 4 | MIT | ✖️ |
人形机器人。
| 名称 | 制造商 | 自由度 (DoFs) | 许可证 | MJX |
|---|---|---|---|---|
| Adam Lite | PNDbotics | 25 | MIT | ✖️ |
| Apptronik Apollo | Apptronik | 32 | Apache-2.0 | ✔️ |
| Berkeley Humanoid | Hybrid Robotics | 12 | BSD-3-Clause | ✖️ |
| Booster T1 | Booster Robotics | 23 | Apache-2.0 | ✖️ |
| Fourier N1 | Fourier Robotics | 30 | Apache-2.0 | ✖️ |
| Robotis OP3 | Robotis | 20 | Apache-2.0 | ✖️ |
| TALOS | PAL Robotics | 32 | Apache-2.0 | ✖️ |
| Unitree G1 | Unitree Robotics | 37 | BSD-3-Clause | ✔️ |
| Unitree H1 | Unitree Robotics | 19 | BSD-3-Clause | ✖️ |
| ToddlerBot 2XC | Stanford University | 30 | MIT | ✔️ |
| ToddlerBot 2XM | Stanford University | 30 | MIT | ✔️ |
四足机器人。
| 名称 | 制造商 | 自由度 (DoFs) | 许可证 | MJX |
|---|---|---|---|---|
| ANYmal B | ANYbotics | 12 | BSD-3-Clause | ✖️ |
| ANYmal C | ANYbotics | 12 | BSD-3-Clause | ✔️ |
| Spot | Boston Dynamics | 12 | BSD-3-Clause | ✖️ |
| Unitree A1 | Unitree Robotics | 12 | BSD-3-Clause | ✖️ |
| Unitree Go1 | Unitree Robotics | 12 | BSD-3-Clause | ✖️ |
| Unitree Go2 | Unitree Robotics | 12 | BSD-3-Clause | ✔️ |
| Google Barkour v0 | Google DeepMind | 12 | Apache-2.0 | ✔️ |
| Google Barkour vB | Google DeepMind | 12 | Apache-2.0 | ✔️ |
仿生机器人。
| 名称 | 制造商 | 自由度 (DoFs) | 许可证 | MJX |
|---|---|---|---|---|
| IIT Softfoot | IIT Softbots | 92 | BSD-3-Clause | ✖️ |
| flybody | Google DeepMind, HHMI Janelia Research Campus | 102 | Apache-2.0 | ✖️ |
其他。
| 名称 | 制造商 | 自由度 (DoFs) | 许可证 | MJX |
|---|---|---|---|---|
| D435i | Intel Realsense | 0 | Apache-2.0 | ✖️ |
引用 Menagerie
如果您在您的工作中使用了 Menagerie,请使用以下引用:
@software{menagerie2022github,
author = {Zakka, Kevin and Tassa, Yuval and {MuJoCo Menagerie Contributors}},
title = {{MuJoCo Menagerie: A collection of high-quality simulation models for MuJoCo}},
url = {http://github.com/google-deepmind/mujoco_menagerie},
year = {2022},
}
致谢
本仓库中的模型基于许多才华横溢的人设计的第三方模型,没有他们慷慨的开源贡献,这一切都不可能实现。我们要感谢所有使 MuJoCo Menagerie 成为可能的设计师和工程师。
我们要感谢 Pedro Vergani 在视觉效果和设计方面提供的帮助。
使此仓库公开可用的主要工作由 Kevin Zakka 承担,并得到了 Google DeepMind 机器人仿真团队的帮助。
该项目也受益于更广泛社区成员的贡献——完整列表请参见 CONTRIBUTORS.md。
更新日志
有关整个仓库关键更新的摘要,请参阅 全局 CHANGELOG.md。
每个单独的模型也包含其自己的 CHANGELOG.md 文件,其中记录了特定于模型的更新,可直接从相应的 README 中链接访问。
许可与免责声明
本仓库中每个独立模型目录下的 XML 和资产文件遵循不同的许可条款。请查阅每个具体模型子目录下的 LICENSE 文件以获取相关许可和版权信息。
所有其他内容的版权归 DeepMind Technologies Limited 2022 所有,并依据 Apache License, Version 2.0 进行许可。本仓库的顶级 LICENSE 文件中提供了该许可的副本。 您也可以从 https://www.apache.org/licenses/LICENSE-2.0 获取该许可。
本产品并非 Google 官方支持的产品。
版本历史
universal_robots_ur5e_v0unitree_a1_v0shadow_hand_v1shadow_hand_v0robotiq_2f85_v0franka_emika_panda_v0anybotics_anymal_c_v0anybotics_anymal_b_v0agility_cassie_v0常见问题
相似工具推荐
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
PaddleOCR
PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。
awesome-machine-learning
awesome-machine-learning 是一份精心整理的机器学习资源清单,汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点,这份清单按编程语言(如 Python、C++、Go 等)和应用场景(如计算机视觉、自然语言处理、深度学习等)进行了系统化分类,帮助使用者快速定位高质量项目。 它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库,还是资深工程师对比不同语言的技术选型,都能从中获得极具价值的参考。此外,清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源,构建了从学习到实践的全链路支持体系。 其独特亮点在于严格的维护标准:明确标记已停止维护或长期未更新的项目,确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”,awesome-machine-learning 以开源协作的方式持续更新,旨在降低技术探索门槛,让每一位从业者都能高效地站在巨人的肩膀上创新。
scikit-learn
scikit-learn 是一个基于 Python 构建的开源机器学习库,依托于 SciPy、NumPy 等科学计算生态,旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口,涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具,内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。 对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言,scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点,让用户无需重复造轮子,只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。 其核心技术亮点在于高度一致的 API 设计风格,所有估算器(Estimator)均遵循相同的调用逻辑,极大地降低了学习成本并提升了代码的可读性与可维护性。此外,它还提供了强大的模型选择与评估工具,如交叉验证和网格搜索,帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目,scikit-learn 以其稳定性、详尽的文档和活跃的社区支持,成为连接理论学习与工业级应用的最
keras
Keras 是一个专为人类设计的深度学习框架,旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。 无论是刚入门的学生、专注算法的研究人员,还是需要快速落地产品的工程师,都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。 Keras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码,即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性,还允许开发者根据需求自由选择:利用 JAX 或 PyTorch 的即时执行模式进行高效调试,或切换至速度最快的后端以获得最高 350% 的性能提升。此外,Keras 具备强大的扩展能力,能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群,是连接原型开发与生产部署的理想桥梁。










































