MuJoCo 4 发布:新的查看器与渲染器、成熟的软体,薄物体不再互相穿透
- 来源: Google DeepMind
- 作者: Open Source Robotics
- 发布日期: 2026-11-06
- 类别: research
Google DeepMind 于 11 月 6 日发布 MuJoCo 4.0。它用 MuJoCo Studio 和 Filament 渲染器取代旧的 OpenGL 查看器,把带塑性和弹性杆的软体变成稳定的内置功能,并加入推测接触,让薄的或快速运动的物体不再互相穿过。部分软体和肌腱模型需要迁移。
MuJoCo 是 Google DeepMind 面向机器人的开源物理引擎,于 11 月 6 日发布 4.0.0 版,Google DeepMind 机器人仿真团队在次日发布了公告。自 3.5 版起,中间的版本号只用来标记不兼容的变更,因此团队把 4.0 留给一次大跨越:自 2023 年的 MuJoCo 3.0 以来已发布 39 个版本。同时推出的还有 MuJoCo Playground 1.0,这是团队基于 MuJoCo 的仿真与真实机器人演示库。
Studio 和 Filament 取代旧查看器
十年来,MuJoCo 只附带一个固定功能管线的 OpenGL 1.5 查看器。在 4.0 中,MuJoCo Studio 离开实验目录:这是一套 C++ 和 Python 工具包,提供仿真、Dear ImGui 界面和 3D 渲染的构建模块,并附带一个现成的 Studio App 作为新的默认查看器。Python 插件和模型文件可在仿真继续运行时重新加载,因此为单个实验定制调试工具只需很少代码。使用 --gfx=web 时,Studio 可在远程或没有 GPU 的机器上运行,并串流到浏览器,同事可以观看同一会话并接手控制。
渲染改用 Filament 基于物理的渲染:金属与粗糙材质、基于图像的光照、柔和阴影,以及来自多台相机的彩色、深度和分割帧队列。live.mujoco.org 无需安装即可在浏览器中打开任何模型。旧的 simulate 查看器仍保留,处于维护模式。
软体走向成熟
可变形体离开实验性插件,与刚体、关节和肌腱一起求解:
- 新的隐式 discrete 积分器让刚硬的线缆、薄壳和 3D 实体在大 5–10x 的时间步长下保持稳定。 - 借助 IPC 接触,布料可以做到无穿透。 - 关节、肌腱、壳体和实体现在可以发生永久变形:金属丝保持弯曲,黏土留下凹痕,金属箔留下凹坑,折过的纸保留折痕(示例模型)。 - 可弯曲、可扭转的弹性杆与教科书中的悬臂梁挠度误差在 0.5% 以内,在 CPU 和 MuJoCo Warp 上都是如此。它们取代了 <composite> 和线缆插件。
对机器人开发者来说,线缆、软管、布料和袋子现在可以成为操作任务的一部分,而不必把时间步长缩小到训练慢得像爬行。
推测接触:薄而快的物体不再穿透
公告标题里的“Speculative C…”指的是推测接触。开启 <flag speculative="enable"/> 后,MuJoCo 会在一个步长内沿快速运动形状的路径向前预判,让物体保持在分离的一侧,并生成最多四个接触点,使薄卡片和薄板平稳落下,无需子步。在团队的测试中,时间步长为 16 ms 时,机械臂每次都能接住一张以超过 2 m/s 下落的 0.7 mm 扑克牌,而普通碰撞检测在步长超过 8 ms 时就会漏接。人形机器人爬楼梯和抓取薄物体的速度提高了 6 到 9 倍,因为可以使用更大的时间步长。在 4.0 中,这只覆盖 CPU 上的凸形状和网格;高度场、SDF、flex、MJX 和 MuJoCo Warp 将随后支持。
其他新内容
- Python 包已拆分:mujoco-core 只依赖 NumPy,mujoco-studio 加入 Studio 和 Filament,mujoco 同时安装两者。 - 新的执行器和传感器,包括 PID 执行器、按电机数据手册构建的 dcmotor、驱动延迟,以及触觉和接触传感器。 - MuJoCo Menagerie 现在收录约 70 个机器人模型,可用 pip install mujoco-menagerie 安装。 - 系统辨识工具箱 mujoco.sysid 帮助把模型拟合到真实机器人,用于仿真到现实的工作。
升级之前
大多数模型无需修改即可加载。发布说明列出了完整清单和迁移步骤;最可能影响你的变更如下:
- 安装 4.0 之前先运行 pip uninstall -y mujoco,否则 pip 可能删除已移入 mujoco-core 的文件。 - 不再支持 Python 3.10;支持 3.11 到 3.15。 - <composite>、线缆和壳体弹性插件以及 flexvert 等式约束已被移除。请改用带 <elasticity> 的 <flexcomp>;杆需要 discrete、Euler 或 RK4 积分器。 - 肌腱绕过侧点(side site)的方式采用了新规则,可能改变现有模型;发布说明给出了侧点应移到何处。 - RK4 现在对球关节和自由关节达到四阶精度,因此这些仿真的结果会改变。 - 编译器现在会拒绝一些以前能加载的无效模型,例如通过不同路径两次包含同一文件。 - mujoco.experimental.studio 现在改为 mujoco.studio。
本目录中基于 MuJoCo 的库,如 mink、mjlab 和 MuJoCo MPC,可能需要先发布各自的新版本才能配合 4.0 使用,因此请查看它们要求的 MuJoCo 版本。MuJoCo 仍采用 Apache-2.0 许可证。
为何重要
MuJoCo 是大多数机器人学习工作所依赖的物理引擎之一,从移动和操作研究到构建在它之上的 GPU 工具都离不开它,所以它能仿真什么,决定了实验室能在仿真中训练哪些任务。第 4 版消除了两个长期存在的限制:线缆和布料等软物体此前还是实验功能,需要极小的时间步长;而薄的或快速运动的物体,如果不缩小时间步长,就可能互相穿过。现在两者都能在更大的时间步长下工作,意味着训练更快。新的查看器也让定制调试工具和共享正在运行的仿真变得更容易。升级并非没有代价:旧的软体模型、部分肌腱设置以及 Python 3.10 用户需要修改,而推测接触目前只能在 CPU 上运行。
要点
- MuJoCo 4.0.0 于 11 月 6 日发布,是自 2023 年 3.0 以来的第一个新主版本。
- MuJoCo Studio 和 Filament 渲染器取代旧的 OpenGL 查看器,Studio 还能把共享会话串流到浏览器。
- 软体现已内置:在大 5–10x 的时间步长下隐式积分、无穿透布料、塑性和弹性杆。
- 推测接触无需子步即可防止薄的或快速运动的物体互相穿过,目前仅限 CPU。
- 升级需要先卸载旧的 Python 包,放弃 Python 3.10,并迁移使用 composite 和线缆插件的模型。
开源视角
MuJoCo 采用 Apache-2.0 许可证,4.0 的源代码、Studio 工具包、示例模型和文档都在公开仓库中。MuJoCo Playground、MuJoCo Warp 和 MuJoCo Menagerie 是同一团队的独立公开仓库。
相关技术
- MuJoCo Studio
- Filament
- Deformable simulation
- Speculative contacts
- MuJoCo Warp
- MJX
相关项目
链接
- 来源: https://github.com/google-deepmind/mujoco/discussions/3773