论文出处:RSS2025
论文标题:Demonstrating MuJoCo Playground【RSS2025杰出Demo奖】
论文作者:Kevin Zakka, Baruch Tabanpour, Qiayuan Liao, Mustafa Haiderbhai, Samuel Holt, Jing Yuan Luo, Arthur Allshire, Erik Frey, Koushil Sreenath, Lueder Alexander Kahrs, Carmelo Sferrazza, Yuval Tassa, Pieter Abbeel
在机器人研究领域,能让算法既跑得快、又能快速迁移到真实硬件,一直是许多实验室最头疼的问题。这个来自 Meta AI 与多所高校团队的工作,拿下了 RSS 2025 最佳 Demo 奖,因为他们用几乎“傻瓜化”的方式解决了这个老大难问题。
他们提出了一个开源框架 MuJoCo Playground,在这个平台上,你可以在单张 GPU 上同时跑上百个仿真环境,不论是灵巧手抓取还是四足机器人的奔跑,从状态输入到像素输入都能轻松搞定。更重要的是,这不是只在论文里跑通的代码,作者用它在真实机器人上也演示了 sim-to-real 的直接迁移,几乎零调整就能用。训练时间短到什么程度?在一些经典任务上几分钟就能收敛,速度比很多人预想的快一个量级。
MuJoCo Playground 已经完全开源,对于从事强化学习、具身智能、机器人学的研究者来说,这几乎相当于一间随时可用的高效机器人学习工厂。
图1|MuJoCo Playground 多样化环境的示意图;这些环境均已成功迁移至真实硬件,包括 Berkeley Humanoid、Unitree Go1 与 G1、LEAP 灵巧手以及 Franka 机械臂
机器人强化学习(RL)被普遍认为是实现长期自主任务的一个重要潜在途径。这类方法通过最大化累积奖励,从而驱动机器人执行复杂任务,通常无需额外的人类干预。然而,这样的学习方法通常需要大量的试错探索以及高频率的策略迭代。相比于自然图像分类等离线机器学习任务,机器人强化学习需要连续收集大量的训练数据,这种需求更为极端。
为了满足这种数据需求,大多数机器人强化学习方法会在仿真环境中训练智能体。这样做既可以显著降低成本,又能避免在真实硬件上因频繁试错带来的损坏风险。仿真器能够快速提供丰富的反馈信号,并在低风险的环境中采集大量训练数据。
尽管现有的许多强化学习环境和框架已经能够在 CPU 上提供较为高效的训练,但受限于硬件架构和并行化设计,它们在利用现代 GPU 资源进行高效训练方面仍显不足。特别是在需要从像素输入进行学习的端到端场景下,CPU 上的仿真很难提供足够的渲染吞吐量以满足大规模训练的需求。因此,近期出现了多种致力于在 GPU 上进行高效物理仿真和图像渲染的尝试,这使得在单张 GPU 上进行端到端的像素输入强化学习训练成为可能。
基于此背景,本文提出了 MuJoCo Playground ——一个以开源 MuJoCo 模拟器为核心,结合 Madrona GPU 批量渲染器的新型机器人学习环境集合。该框架支持在 GPU 上批量运行多个仿真环境实例,并与 JAX、PyTorch 等主流深度学习库无缝集成。
作者利用该框架在多种机器人任务和不同输入模式(包括状态输入和像素输入)下进行了强化学习训练,涵盖了从传统运动学控制到灵巧手操作的多种场景,并展示了如何在单张 GPU 上实现数分钟内收敛的高效训练。同时,作者还在不同形态的真实机器人硬件上验证了从仿真到真实的直接迁移能力。
作者希望 MuJoCo Playground 能为机器人学习社区提供一个高效、灵活、易扩展的研究工具,加速从基础强化学习研究到实际机器人应用的落地进程。
图2|MuJoCo Playground 中可用的运动与操作环境预览图
作者提出了 MuJoCo Playground,这是一个基于 MuJoCo 的新环境集合库,能够支持多种机器人学习任务。它构建在开源的 MuJoCo 模拟器之上,同时采用 Madrona 作为 GPU 加速渲染和批量仿真的后端。这种设计使得 Playground 能在单张 GPU 上高效执行数百个并行的物理仿真实例,从而显著提升了训练吞吐量。
在环境接口层,MuJoCo Playground 提供了与 OpenAI Gym 一致的 API,这使得它可以无缝对接 JAX、PyTorch 等深度学习框架。用户可以轻松从头定义自己的机器人、场景以及奖励函数,同时框架也预置了多种经典机器人任务环境。
任务与环境
作者在 MuJoCo Playground 中实现了多种任务,涵盖不同的机器人形态与输入模式,具体包括:
● 状态输入任务:如四足机器人行走、两足机器人行走等。这些任务只需利用机器人的位置、速度等低维状态信息即可进行控制。
● 像素输入任务:在这类任务中,策略直接从摄像头捕获的 RGB 图像进行学习,这对于视觉驱动的自主导航与操作尤为重要。
● 灵巧操作任务:例如灵巧手(如 Shadow Hand)完成抓取、摆放以及旋转等操作任务。这些环境需要处理高自由度关节控制,难度显著高于普通移动机器人。
所有环境都具备良好的可参数化性,研究者可以轻松调整关节阻尼、摩擦系数等物理属性,或引入不同的干扰项进行鲁棒性测试。
高效 GPU 并行化与 Madrona 渲染
为了在单张 GPU 上实现成百上千环境实例的并行运行,作者采用了 Madrona 作为后端渲染与并行引擎。与传统 CPU 仿真相比,Madrona 能在 GPU 上批量执行物理步骤与图像渲染,大幅降低数据传输延迟并提高帧率。
在典型设置下,系统可在一张 A100 GPU 上同时运行数百个仿真环境,达到极高的模拟步频。
同时,所有环境均可同步输出状态与渲染帧,便于直接用于基于状态或基于图像的策略训练。
作者特别指出,这种 GPU 批量化机制不仅适合大规模策略训练,也能为 sim-to-real 迁移提供更丰富的分布多样性(domain randomization)。
图3|这是 Madrona 批量渲染器在 Panda 与 Aloha 环境中的示例渲染图。最左侧的图像显示了原始环境,右侧的图像展示了对光照、阴影、纹理和颜色的支持,并包含了在训练过程中对这些参数进行领域随机化的能力
与深度学习库集成
MuJoCo Playground 原生支持 JAX 与 PyTorch 两大主流深度学习框架。为此:
● 框架提供了对 NumPy 与 PyTorch 张量的高效绑定接口。
● 可以直接将并行环境批量输出的状态或像素数据转换为深度学习模型的输入格式。
这使得用户无需手动管理 CPU-GPU 数据传输及 batch 展平,极大简化了训练管线的实现。
强化学习性能对比
在实验中,作者使用 MuJoCo Playground 在多种任务上训练了基于状态输入和像素输入的策略,并在单张 GPU 上实现了极高的训练效率,值的注意的是,本文提供了非常丰富的Appendix信息,包含了许多补充的实验,在这里小编只为大家提取最主要的实验结果和结论,如果大家感兴趣的话可以去阅读原文详细了解。
● 在四足机器人行走(Quadruped Walk)任务中,系统在单张 NVIDIA A100 GPU 上可同时运行数百个环境,训练仅需 10 分钟就可达到收敛。
● 在 humanoid(双足人形机器人)任务中,同样的硬件环境下只需约 30 分钟便达到与 CPU 集群相当的性能。
● 对比基线 OpenAI Gym + MuJoCo(CPU版本)训练,Playground 的单卡 GPU 并行训练速度提升了 数十倍。
像素输入端到端训练
在从图像输入直接学习控制的端到端场景中,作者在 Shadow Hand 任务(灵巧手抓取和旋转)上进行实验,直接从多路摄像头的 RGB 图像学习策略(下图所示)。
● 实验中在单张 GPU 上并行渲染超过 300 个实例,使得像素到动作的训练同样能在数小时内完成。
● 结果展示了随着训练迭代,像素输入任务在奖励曲线上的快速提升,最终接近甚至超越基于状态输入的性能。
图4|在单张 4090 GPU 上训练约耗时 2080 秒,而在 8 张 H100 GPU 上训练仅需 约 670 秒
sim-to-real 验证
作者还将基于 Playground 训练得到的策略直接部署到真实机器人上,验证了 sim-to-real 的迁移效果(下图所示)。
● 在四足机器人上,直接将仿真训练出的步态策略部署到物理硬件,无需额外微调,便能稳定行走。
● 在 Shadow Hand 灵巧手平台上,利用 Playground 训练出的抓取策略,也能在物理手上成功执行抬升任务。
这些结果通过多张实验照片与示意视频帧进行展示,验证了 Playground 的物理一致性与高保真仿真能力。
图5|真实环境部署实验演示;a) Go1 四足机器人使用遥控策略在以约 2 m/s 速度行进时,从一次踢击中恢复平衡;b) Berkeley 双足人形机器人在湿滑地面上,使用遥控策略追踪角速度指令;c) 灵巧手(In-Hand)完成立方体从一个目标姿态到另一个目标姿态的转向操作;d) 非抓持式操作策略通过发力矩指令将方块旋转 180 度
ablation 与硬件拓扑对比
作者进一步测试了在不同 GPU 拓扑(如单 GPU、多 GPU、NVLink直连)下的训练吞吐量与环境并行度。
● 实验显示在 NVLink 高速互联下,可以显著提升跨 GPU 的同步效率,从而进一步加速大规模训练。
● 对比了不同批量大小对收敛速度和训练稳定性的影响,结果表明较大的批量设置在该框架下依然可以保持良好的梯度更新特性。
总结
本文提出了 MuJoCo Playground,这是一个基于开源 MuJoCo 模拟器与 Madrona 批量渲染器构建的环境库,专门用于实现多种强化学习与机器人任务。作者展示了如何在不同的 GPU 拓扑结构上,结合 JAX 与 PyTorch 等强化学习库进行大规模策略训练,并在从状态输入到像素输入的多种机器人运动与灵巧操作任务上,演示了 sim-to-real 的实际部署效果。