MolmoBot:大规模仿真实现零样本操作 MolmoB0T: Large-Scale Simulation Enables Zero-Shot Manipulation
通过170万条仿真轨迹实现零样本sim2real迁移,在真实机器人上达到79.2%成功率
前置知识
Sim-to-Real迁移
指将机器人策略在仿真环境中训练后,直接部署到真实世界中执行任务的能力。由于仿真和现实之间存在物理参数、传感器噪声、视觉外观等差异,传统的迁移方法通常需要大量真实世界数据进行微调。Sim-to-real迁移的核心挑战在于如何让在理想化仿真环境中训练的策略能够在充满不确定性的真实世界中保持性能。
本文的核心贡献是证明通过足够大规模和多样化的仿真数据,可以实现零样本的sim-to-real迁移,这直接挑战了传统的迁移学习范式,是理解本文贡献的基础。
视觉-语言-动作模型(VLA)
一种将视觉感知、语言理解和动作决策统一在同一架构中的深度学习模型。VLA模型能够处理图像输入、理解自然语言指令,并直接输出机器人的控制动作。典型的VLA架构包括视觉编码器(处理图像)、语言模型(理解指令)和动作头(预测动作)。例如RT-2、π0等都属于VLA模型。
本文训练的MolmoBot和MolmoBot-Pi0都是VLA模型,理解VLA架构对于掌握本文方法创新和与现有工作的比较至关重要。
Flow Matching
一种用于生成连续动作的扩散类方法。与传统的扩散模型逐步添加和去除噪声不同,Flow Matching通过学习从一个简单分布(如高斯噪声)到目标分布(真实动作分布)的连续变换流。在时间步t∈[0,1]上,模型学习预测从噪声到真实动作的向量场。这种方法具有更快的采样速度和更稳定的训练过程。
本文的MolmoBot和MolmoBot-Pi0都使用DiT-based flow matching action head来预测动作,这是当前最先进的动作表示方法之一,理解它有助于掌握本文的技术细节。
程序化生成
通过算法自动生成数据的技术,而非人工采集。在机器人领域,程序化生成可以快速创建大量的仿真环境、物体配置和任务场景。例如,从预定义的房间模板库中随机采样家具布局,或通过参数化方法生成不同形状、大小、纹理的物体。这种方法可以低成本地产生大规模、多样化的训练数据。
本文的MolmoBot-Engine完全依赖程序化生成来创建94000+个仿真环境和11000+个独特物体,是实现大规模数据生成的关键技术,理解它有助于理解本文方法的可扩展性。
铰接物体
指具有可动部件的物体,如门、抽屉、橱柜、烤箱等。这些物体的运动通常由关节约束,例如门绕铰链旋转,抽屉沿轨道滑动。操作铰接物体需要理解其运动学约束(如旋转轴、滑动方向)和接触动力学(如施加力的大小和方向)。这比简单的抓取和放置任务更复杂,因为需要部分可观察的物体状态推断。
本文的训练数据包含门、抽屉、橱柜等铰接物体的操作任务,在移动机器人平台RB-Y1上进行评估,理解铰接物体的特性有助于理解本文任务的复杂性和挑战性。
研究动机
机器人学习领域普遍认为仅靠仿真是不够的,有效的sim-to-real迁移被广泛认为至少需要一些真实世界的数据收集或任务特定的微调,以桥接仿真环境与物理环境之间的差距。这种观点导致大规模真实世界训练成为构建通用机器人操作代理的基础,如NVIDIA的GR00T、Physical Intelligence的π0和Google DeepMind的Gemini Robotics。然而,真实世界数据收集成本高昂,且许多关键信息(完整数据混合、收集过程、过滤决策、扩展策略、训练配方)通常只部分公开,使得从零开始构建机器人基础模型的知识集中在少数机构内部,而非广泛可及。例如,π0系列模型使用了超过10000小时的真实世界操作演示数据,但其训练数据混合并未公开。
本文的目标是本文的目标是挑战仿真不足以支持操作的假设,证明当仿真被大规模、多样化地扩展时,跨越不同的环境、机器人物理形态、铰接资产和任务,它可以支持零样本迁移到真实世界的移动操作,而无需任何真实世界微调、逼真渲染或显式域适应。具体而言,本文旨在构建一个完全开源的程序化数据生成管道、生成大规模专家轨迹数据集、训练多个策略类别并在真实机器人平台上进行零样本评估、通过系统性实验证明大规模仿真数据的充分性。
与已有工作不同的是,本文的独特切入角度在于与现有依赖真实世界数据或需要微调的方法不同,本文完全依靠仿真数据实现零样本迁移。本文基于之前在导航任务上的工作SPOC的成功,提出了一个自然的问题:大规模仿真数据能否支持操作的零样本迁移?为了回答这个问题,本文不是简单地增加仿真数据量,而是开发了完全开源的MolmoBot-Engine数据生成管道,与黑盒数据收集不同;通过程序化环境生成与多样化刚体和铰接资产的结合,创造94000+个环境和20000+个独特资产;在两种机器人平台(固定基座Franka FR3和移动操作RB-Y1)上验证静态和移动操作任务;通过MolmoBot-Pi0在相同架构下直接与π0比较,证明数据质量而非架构差异是性能提升的关键。
核心方法
MolmoBot方法的核心思想是通过程序化生成大规模、多样化的仿真数据,训练能够零样本迁移到真实世界的机器人操作策略。整体思路是先直觉后技术路线:直觉上,操作策略从对象、配置和视角的多样性中获益,远超从逼真渲染中获得的收益。因此,本文在MuJoCo仿真器中渲染程序化生成的MolmoSpaces环境,通过广泛的域随机化生成大规模演示数据。技术路线上,MolmoBot由三个核心组件构成:MolmoBot-Engine(一个完全开源的程序化数据生成管道)、MolmoBot-Data(包含170万条专家轨迹的数据集)和三类策略模型(MolmoBot、MolmoBot-Pi0、MolmoBot-SPOC)。训练过程中,策略只使用仿真数据,从不接触真实世界数据,然后在真实机器人上进行零样本评估。
核心创新点在于通过程序化环境生成与多样化铰接资产的结合,产生鲁棒的操作策略,这些策略能够广泛泛化到真实世界,而无需任何真实世界微调。这与现有方法的本质区别在于:数据来源完全开放——MolmoBot-Engine完全开源,可以扩展到新机器人、任务和物体类别;训练数据完全来自仿真——不使用任何真实世界演示数据;零样本迁移——无需任务特定或真实世界的后训练或微调;架构解耦——通过MolmoBot-Pi0证明,使用相同架构时,数据质量是性能提升的主导因素。另一个关键创新是DiT-based flow matching action head与VLM骨干的层级耦合,每个动作层交叉关注对应的中间隐藏状态,同时融入机器人状态特征,实现了从多尺度多模态表示生成动作的能力。
方法步骤详情
方法步骤的完整描述如下。步骤1:环境构建。从超过200000个预构建的MolmoSpaces场景中选择一个,每个场景包含真实建筑变化、房间布局和物体放置。根据任务要求,从大型对象池中采样任务相关对象(如拾取目标、放置容器)并将它们放置在场景中的合适位置,同时可以作为干扰项。步骤2:域随机化。对MuJoCo支持的所有视觉和物理参数进行随机化:光照(光源数量、位置、强度、颜色和阴影属性)、纹理(从过程化纹理和真实世界纹理贴图中采样)、动力学(摩擦系数、物体质量、关节阻尼在合理范围内采样)。此外,对可操作资产进行姿态随机化,在碰撞约束和机器人工作空间可达性的约束下,采样6自由度姿态,确保多样化的接近角度。步骤3:机器人配置。为两种机器人平台生成数据:Franka FR3(7自由度手臂+Robotiq 2F-85夹爪,固定底座)和Rainbow RB-Y1(移动底座3自由度x,y,θ、躯干6自由度、头部2自由度、两个7自由度手臂)。在每个情节开始时,机器人关节位置被采样为q0+delta,其中delta_i均匀分布在[-r_i, r_i]之间,Franka手臂的噪声幅度为r_arm=[0.025,0.05,0.075,0.1,0.125,0.15,0.175]弧度。步骤4:传感器配置。为Franka FR3配置5个相机视角(腕部相机、固定肩部相机、3个随机外心相机),但训练只使用腕部相机和1个随机外心相机。为RB-Y1配置3个相机(头部相机GoPro模式、左右腕部相机RealSense D405)。此外,记录本体感知状态(关节位置和速度、TCP姿态、机器人底座姿态)、动作标签(命令关节位置、末端执行器twist、绝对末端执行器姿态)、任务状态(物体起始和目标姿态、抓取状态指示器、策略阶段)。步骤5:专家演示生成。对于每个任务,通过脚本演示器大规模生成专家演示,迭代采样抓取、验证可行性并执行每个任务阶段的动作。抓取采样和过滤包括:候选加载和排序——从MolmoSpaces抓取数据集加载预计算的6自由度抓取候选,变换到世界坐标,通过TCP接近度、旋转相似性、垂直对齐和距离到物体质心的加权成本进行排序;碰撞过滤——在前128个批次中对最高排名的候选者进行抓取-场景碰撞检测;IK可行性——在前256个批次中通过批处理逆运动学检查运动学可达性。步骤6:策略训练。训练三类策略:MolmoBot基于Molmo2-4B视觉-语言模型,包含视觉编码器(SigLIP2)、语言模型和DiT-based flow matching动作头;MolmoBot-Pi0完全复制π0架构(Paligemma 3B VLM+flow matching动作专家);MolmoBot-SPOC是轻量级transformer策略,使用量级分箱策略将连续动作值标记化。步骤7:零样本评估。在两个真实机器人平台上评估策略:Franka FR3用于桌面操作任务,Rainbow RB-Y1用于开门、抽屉操作、柜子交互和移动取放。所有模型仅在仿真上训练,零任务特定或真实世界后训练或微调,实现零样本迁移。
技术新颖性
技术新颖性分析包括以下几个方面:完全开源的端到端流水线——MolmoBot-Engine、MolmoBot-Data和所有训练代码完全开源,与现有工业实验室的黑盒方法不同,使社区能够研究扩展策略、混合决策和训练配方;程序化环境生成与多样化资产的结合——通过94000+个程序化生成的房屋、11000+个独特对象和9000+个独特容器的结合,创造了前所未有的数据多样性,证明了多样性比逼真渲染更重要;零样本sim2real迁移——在不使用任何真实世界微调、逼真渲染或显式域适应的情况下,在真实机器人上实现了79.2%的成功率,超越了使用10000+小时真实世界数据训练的π0.5(39.2%);架构解耦实验——通过MolmoBot-Pi0在相同架构下达到46.7%成功率(π0.5为39.2%),证明数据质量而非架构差异是性能提升的主导因素;层级耦合的DiT动作头——每个动作层交叉关注VLM骨干的对应中间隐藏状态,实现了从多尺度多模态表示生成动作的能力;移动操作与铰接物体——在RB-Y1移动操作平台上评估门、抽屉、柜子等铰接物体操作,这是现有大规模操作策略较少探索的领域。
实验结果
核心发现如下:在真实桌面操作任务上,MolmoBot在4个设置中达到79.2%的成功率,显著超越π0.5的39.2%。具体分析每个实验:真实世界静态操作评估:在3个不同物理DROID平台、4个真实世界环境(厨房、工作室、卧室、办公室)中,每个策略评估10个取放任务,每个任务3次试验,共120次评估。MolmoBot和MolmoBot-Img显著超越π0.5-DROID,MolmoBot-Pi0具有竞争力。值得注意的是,尽管MolmoBot-Pi0与π0具有相同的架构,但在评估中显著超越π0,这种差异只能通过数据解释,表明仿真演示数据的多样性足以交付与相当规模真实世界数据相当或更好的性能。移动操作评估:在3个真实世界环境中评估MolmoBot Door Specialist策略,每个环境具有不同视觉纹理、把手配置和周围场景的拉门。观察到9次试验中4次成功抓取把手,2次成功开门。Door1和Door3的重复失败原因是难以抓取位于门右侧的把手,这种配置在典型门交互数据集和训练数据中代表性不足。Door2的把手配置更常见,所有3次试验都成功抓取。仿真评估:在保留的程序化房屋和训练期间未见过的资产实例上评估。对于pick任务,MolmoBot(F=2)在Pick MSProc上达到93.5%成功率,π0.5-Finetune为48.0%,π0.5 zero-shot为18.1%。在Pick Random-Cam上,MolmoBot变体达到40-66%成功率,π0.5变体仅8-30%。对于pick-and-place任务,MolmoBot变体在Pick&Place上达到63-67%oracle成功率,π0.5-Finetune为43.5%。在组合指令(PnP Color)上,MolmoBot达到57-62%最终成功率,证明模型能够通过颜色属性识别正确容器。限制相机设置评估:在仅使用固定肩部相机的更受限设置下,MolmoBot-Img在真实世界厨房达到86.6%峰值成功率,MolmoBot(F=3)为73.3%,MolmoBot(F=2)为70.0%,都超越π0.5zero-shot的63.3%。RB-Y1仿真评估:MolmoBot Multitask在Pick上达到44.8%,Pick&Place上达到22.5%,Open上达到25.2%,Door Open上达到70.2%。数据消融实验:随着训练演示数量从10K增加到50K,真实世界和仿真的拾取性能都单调改进。意外的是,增加独特训练环境的数量对下游性能影响很小,表明对于拾取任务,性能更多由交互数据总量驱动,而非环境多样性。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Pick MSProc (仿真) | 成功率 | 93.5% | π0.5-Finetune: 48.0%, π0.5 zero-shot: 18.1% | 提升45.5个百分点 vs π0.5-Finetune,提升75.4个百分点 vs π0.5 zero-shot |
| Pick Random-Cam (仿真) | 成功率 | 63.7% | π0.5-Finetune: 29.7%, π0.5 zero-shot: 8.0% | 提升33.9个百分点 vs π0.5-Finetune,提升55.7个百分点 vs π0.5 zero-shot |
| Pick&Place (仿真, oracle success) | 成功率 | 66.4% | π0.5-Finetune: 43.5%, π0.5 zero-shot: 11.7% | 提升22.9个百分点 vs π0.5-Finetune,提升54.7个百分点 vs π0.5 zero-shot |
| PnP Color (仿真, final success) | 成功率 | 60.0% | π0.5-Finetune: 38.9%, π0.5 zero-shot: 6.7% | 提升21.1个百分点 vs π0.5-Finetune,提升53.3个百分点 vs π0.5 zero-shot |
| Pick Kitchen (真实, 30 trials) | 成功率 | 86.6% | π0.5 zero-shot: 63.3% | 提升23.3个百分点 |
| Pick-and-Place (真实, 120 trials, 4 environments) | 成功率 | 79.2% | π0.5-DROID: 39.2% | 提升40.0个百分点 |
| Door Open (RB-Y1仿真) | 成功率 | 77.7% | MolmoBot Multitask: 70.2% | 提升7.5个百分点(专业化模型) |
局限与改进
局限性分析包括作者承认的局限性和自己的观察。作者承认的局限性:MolmoBot-Engine从根本上受限于当前可以准确仿真的资产。本文专注于刚体和铰接物体操作,现代仿真器在这些任务上提供足够的保真度以支持迁移。扩展到接触丰富的操作(如插入、钉孔)、可变形物体(布料、绳索、食物)或需要准确流体或颗粒动力学的任务仍然是一个开放挑战。作者认为,随着基于物理和生成世界模型模拟器的进步,大规模程序化生成的配方可能扩展到这些更具挑战性的任务。自己的观察:硬件故障影响——在真实世界门打开评估中,多次试验因机器人自身急停而失败。一旦急停激活,夹爪无法在情节中重置,意味着如果故障发生在抓取阶段,机器人无法恢复。任务特定性——某些配置(如右侧把手)在训练数据中代表性不足,导致策略在这些情况下抓取可靠性降低。长期规划能力——策略缺乏轨迹历史理解,难以判断任务是否已完成,可能出现反复抓取已正确放置对象的情况。计算效率——尽管MolmoBot-SPOC更轻量,但MolmoBot需要4B参数的VLM骨干,对计算资源要求较高。视觉泛化——虽然通过域随机化提高了sim2real迁移,但面对极端视觉差异(如高度反光表面、强光照条件)时性能可能下降。动态环境——本文评估假设环境在执行期间相对静态,真实世界的动态变化(如人员移动、物体被意外移动)未充分探索。
独立分析的弱点
独立分析的弱点包括具体场景和改进方向。抓取策略的不足——在真实世界门打开评估中,多次失败源于难以抓取位于门右侧的把手。改进方向:增加训练数据中不同把手配置(左、右、中)的采样比例,使策略对所有配置都具有鲁棒性;引入把手检测模块,在执行前先检测把手位置并调整抓取策略。缺乏轨迹历史理解——策略只使用当前观测和状态,无法理解已执行的动作历史,导致在任务完成后继续操作对象(如反复抓取已放置的对象)。改进方向:引入记忆模块,存储和查询历史观测和动作;设计任务完成检测器,基于物体状态和环境变化判断任务是否完成。计算资源需求——MolmoBot需要4B参数的VLM骨干,不适合边缘部署。改进方向:扩展MolmoBot-SPOC架构,在保持轻量级的同时通过知识蒸馏从MolmoBot学习;研究模型压缩技术(量化、剪枝)以减小模型大小。动态环境适应性——本文评估假设环境相对静态,真实世界中的人员移动、物体被意外移动等动态变化未充分探索。改进方向:在训练中引入动态环境(如随机移动的干扰物、突然光照变化);设计在线适应机制,使策略能够在执行期间根据环境变化调整行为。接触丰富操作能力——本文专注于刚体和铰接物体操作,对于接触丰富的操作(如插入、钉孔)和可变形物体(布料、绳索)缺乏评估。改进方向:扩展MolmoBot-Engine以支持接触丰富操作的仿真;引入更精细的接触动力学建模和触觉传感器模拟。长期任务规划——当前策略的任务分解是固定的,无法适应复杂的多步骤任务。改进方向:引入层次化策略,将长期任务分解为可管理的子目标;研究基于搜索的任务规划方法,使策略能够自主生成动作序列。多机器人协作——本文只评估单机器人操作,未探索多机器人协作场景。改进方向:扩展MolmoBot-Engine以支持多机器人环境的生成;设计协调策略,使多个机器人能够协同完成复杂任务。
未来方向
未来研究方向包括作者提出的方向和基于成果可延伸的方向。作者提出的方向:扩展到更具挑战性的任务类别,特别是接触丰富的操作(插入、钉孔)、可变形物体(布料、绳索、食物)或需要准确流体或颗粒动力学的任务。作者相信,随着基于物理和生成世界模型模拟器的进步,大规模程序化生成的配方可能扩展到这些任务。基于成果可延伸的方向:真实世界在线适应——虽然零样本迁移展示了强大性能,但结合少量真实世界数据的在线适应可能进一步提升性能。研究方向:设计元学习框架,使策略能够快速适应新环境;开发自监督学习机制,利用真实世界执行期间的反馈进行在线微调。更丰富的语言理解——当前的语言指令相对简单,可以扩展到更复杂的自然语言理解和推理。研究方向:引入多轮对话机制,使策略能够与人类交互以澄清任务;研究抽象指令的分解和执行(如整理桌子分解为多个取放动作)。跨机器人泛化——本文在两种机器人平台上验证,可以进一步扩展到更多机器人类型和配置。研究方向:开发机器人无关的策略架构,使同一策略能够在不同机器人上执行;研究机器人物理形态的自动识别和适应。长期任务和记忆机制——当前策略缺乏长期记忆,难以处理需要多步骤、跨情节的任务。研究方向:引入外部记忆存储,使策略能够存储和检索历史信息;研究基于Transformer的长期记忆机制,支持跨越长时间尺度的推理。仿真器改进——更好的物理模拟和视觉渲染是提升sim2real迁移的关键。研究方向:开发更精确的接触动力学模型,特别是对于软体和可变形物体;研究神经渲染技术,使仿真图像更接近真实世界。可解释性和安全性——大规模数据驱动的策略往往缺乏可解释性,这在真实世界应用中是一个重要问题。研究方向:开发可解释的动作预测机制,使策略能够解释其决策过程;研究安全性约束和异常检测,防止策略在不可预见的情况下采取危险行动。社区扩展和基准评估——由于MolmoBot-Engine完全开源,社区可以扩展到新机器人、任务和物体类别。研究方向:建立标准化基准,评估不同方法在大规模仿真数据上的性能;组织竞赛,鼓励社区在MolmoBot-Data上开发新的策略架构。
复现评估
复现评估包括开源情况、数据、算力和难度。开源情况:MolmoBot项目完全开源,包括MolmoBot-Engine(数据生成管道)、MolmoBot-Data(170万条专家轨迹数据集)、模型代码(MolmoBot、MolmoBot-Pi0、MolmoBot-SPOC)和训练代码。这是与现有工业实验室的黑盒方法(如π0系列模型训练数据不公开)的重要区别。数据:MolmoBot-Data包含170万个情节、295M帧、11000+个独特对象、9000+个独特容器、94000+个环境,总长度5704小时。数据使用100个NVIDIA A100 80GB GPU生成,大约6500 GPU小时,生成吞吐量为每GPU小时660个成功情节(相当于每小时墙钟时间88小时机器人体验)。相比真实世界数据收集,这代表了约2.6倍的数据吞吐量。算力:训练MolmoBot使用批量大小1024,学习率1e-5,200K步(静态操作)或100K步(移动操作)。训练MolmoBot-Pi0使用批量大小1024,学习率5e-5,200K步。虽然具体GPU小时数未在论文中明确说明,但基于批量大小和训练步数,预计训练成本在几十到几百GPU小时范围内。难度:中等难度。虽然项目提供了完整的开源资源和基础设施,但复现仍面临一些挑战:需要访问MuJoCo仿真器和相应的资产库;需要大量计算资源(GPU)来运行数据生成和模型训练;需要机器人硬件(Franka FR3或RB-Y1)来验证真实世界性能;需要熟悉机器人学习和深度学习的技术知识。然而,由于所有组件都开源,有经验的团队应该能够复现主要结果。
论文图表
这张图展示了MolmoBot的整体框架,包括170万个情节、94000+个环境、11000+个独特对象、9000+个独特容器、8种任务,以及三个策略模型(MolmoBot、MolmoBot-SPOC、π)。图中央强调了零样本泛化和真实迁移,表明从仿真到真实世界的零样本泛化能力。整体布局突出了数据的规模和多样性,以及完全开源和完全可扩展的特性。
这张图对理解论文非常重要,因为它直观地展示了MolmoBot方法的核心理念:通过大规模、多样化的仿真数据实现零样本sim2real迁移。它总结了数据规模(1.7M情节、94k+环境、11k+对象、9k+容器)、任务覆盖(8种任务)和策略多样性(三种不同架构),帮助读者快速把握论文的贡献和规模。特别是它强调了完全开源和完全可扩展,这是与现有工作的重要区别。