aifollow.news
返回 Hugging Face 官方博客
Hugging Face 官方博客· · 原发布时间 AI 评分54

ToyBlocks 发布机器人学习仿真框架,并公布实机迁移测试

AI 辅助摘要

ToyBlocks 将任务与演示数据生成、训练和评估放进可控的桌面积木环境,并发布仿真资源、数据、模型及代码。其完全用仿真数据训练的 Molmo 2 与 ManiFlow 组合,在最简单的三块积木拼字场景中,实机成功率为 50.0%(15/30);研究团队表示,还需更多试验才能确认跨任务结果。

正文 · AI 翻译

💻 代码 | 📊 数据 | 🤖 模型 | 📖 文档

机器人正在学习叠衣服、分拣零件和处理陌生物体。但这些演示往往相当局限,也无法说明机器人学到了什么,或为什么会失败。

为了研究复杂系统,科学家通常从培养皿或生态箱等小型、受控的环境入手,在其中改变条件并观察影响。机器人研究也需要能开展这类研究的环境——研究人员应当能够改变训练数据或模型设计、重复测试,并追查失败的原因。

今天,我们推出一个用于创建这类环境的框架,称之为 FoundationWorlds。每个 FoundationWorld 都将一个针对特定环境中的机器人研究而设计的受控模拟世界,与自动生成任务和训练演示的工具,以及衡量机器人行为随时间变化的指标结合起来。它们共同提供了一个研究平台,可用于探究随着训练数据增多模型如何改进,以及如何将高层推理与精确的物理控制更好地结合等问题。

我们的第一个 FoundationWorld 是 ToyBlocks:一个围绕机械臂和桌面上的积木构建的开放式仿真框架。这个场景刻意保持简单,但机器人仍须推理积木如何相互作用,以及如何通过推动、翻转和堆叠来摆放它们。

ToyBlocks 能自动生成演示,即机器人在模拟环境中完成任务的录像,无须耗时地通过遥操作让人远程控制机器人。研究人员可以轻松调整这些训练经历。例如,团队可以生成更多推动或翻转积木的演示,然后在未纳入训练的任务上评估表现。

以 ToyBlocks 作为我们的第一个 FoundationWorld,我们旨在将这一方法扩展到日益复杂的环境。

ToyBlocks 的工作原理

ToyBlocks 建立在我们此前开展的开放式机器人学习研究之上,包括 MolmoAct 2、MolmoBot 和 MolmoSpaces,为研究人员提供了一种在刻意限定的领域中研究机器人问题的方式。

作为一个 FoundationWorld,ToyBlocks 围绕 4 项要求设计:(1)逼真的物理特性和外观,(2)大规模自动生成任务和演示,(3)结合推理与灵巧操作的挑战,以及(4)广泛涵盖该领域内可能的任务。

开放式领域需要对各种各样的物体和交互进行建模,因此无法满足所有这些要求。相比之下,ToyBlocks 的范围较窄,使其能够满足全部要求。

在 ToyBlocks 这个较小的场景中,研究人员可以探索机器人如何学会执行任何合理的任务,同时确信模拟机械臂和积木的行为与现实中的对应物非常相似。

ToyBlocks 场景中,木质积木上方的实体机器人夹爪。

ToyBlocks 不只是抓取和堆叠积木:积木表面的图片和字母还能用于查找、分类和排列任务。机器人可能需要转动积木,看到隐藏的一面后才能决定它应该放在哪里。领域随机化——让积木大小、桌面高度和其他物理属性在不同场景间变化——可测试模型在几何结构变化时的泛化能力。

ToyBlocks 会自动生成技能(用于短时任务的行为)和任务演示,可用于训练模型,也可通过额外训练(微调)来调整已经训练好的模型。高层推理模型决定做什么;低层动作模型控制机器人的运动。该框架还可用于轻松设计实验和验证假设。

ToyBlocks 使用强化学习(RL)和运动规划(计算机器人应如何移动)来生成完成短时程任务的技能,这类任务涉及简短的动作序列。技能训练在 Isaac Lab 中进行;Isaac Lab 是英伟达用于仿真环境中机器人学习的开源框架。通过反复试错,这些策略——选择机器人动作的模型——学会了非抓取式技能,例如在桌面上推动积木,或在不拿起积木的情况下将其翻转到另一面。生成技能时可以利用特权信息,即模拟器能直接提供、真实机器人却无法直接获得的数值,例如积木的精确位置和朝向,而不必从摄像头图像中估计这些信息。这使得原本在现实世界中需要远程操作才能获得的技能可以自动生成。

为生成演示数据,任务与运动规划器(TAMP)会自动选择完成任务所需的技能并安排其执行顺序,同时规划机器人在各项技能之间的移动。在仿真中运行每项规划后,会生成由录制的演示及描述机器人正在执行哪项任务或技能的标签组成的数据集。ToyBlocks 通过在单个图形处理器(GPU)上并行生成和执行数百项此类规划来扩大数据生成规模,运行速度最高可达实时速度的 24 倍。

根据传感器观测结果采取行动会带来感知问题:模型必须估计积木的位姿——即位置和朝向——而模拟器本可以直接提供这些信息。为反映现实世界的条件,ToyBlocks 训练将原始传感器观测结果映射为动作的模型。

在 ToyBlocks 中训练的 Molmo 2(高层模型)和 ManiFlow(底层模型)的执行过程。Molmo 2 选择旋转和翻转等技能,并通过指点界面指出相关积木;ManiFlow 则控制仿真机械臂执行指定的技能。

ToyBlocks 的可控数据生成器让用户能够创建训练数据组合,以侧重特定技能或填补现有数据集中的缺口。研究人员可以研究模型需要多少数据,以及哪些经历有助于模型泛化到未见过的任务。例如,他们可以测试增加旋转和抓取放置的演示是否能改善翻转表现,或调整已定义工作空间区域内外样例的比例,并在训练中未使用的任务上评估这些选择。值得注意的是,对训练后模型的评估所生成的指标不止成功率,还包括执行速度、施加在物体上的力,以及依据规划模块所用的相同任务规格衡量的任务进度等信息。

网页界面让用户能够连接 Claude 或其他前沿模型,并用自然语言指示机器人或尝试任务,使不具备机器人专业知识的用户也能探索模型如何规划和行动。

基于 ToyBlocks 开展的研究

以下评估使用 ToyBlocks 研究训练数据和方法如何影响性能、空间推理、对新字母和积木外观的泛化能力、多步骤规划、向实体机器人的迁移,以及通过工具采取行动的前沿模型。用户可以轻松设计自己的任务和衡量指标来研究其他问题,例如,模型通过指点选择物体时,是否比发出“拿起黄色积木”之类的文本命令表现更好。

底层动作模型:VLA 的空间泛化能力

底层动作模型,例如视觉语言动作模型(VLA),将语言指令和视觉观测结果映射为机器人动作。

VLA 的基本设想是,通过在大规模数据集上预训练,它们能够迅速泛化到不同场景或特定工作空间。然而,关于这些动作模型泛化能力究竟如何的证据仍相互矛盾。一些研究报告称,这些动作模型对输入变化很敏感,例如物体布局和光照的变化;另一些研究则表明 VLA 具有良好的泛化能力。我们认为,这些研究往往依赖于空间变化灵活性有限的真实世界数据集。ToyBlocks 使我们能够在一个简单、易于复现且具有有意义的任务空间多样性的环境中,测试动作模型的泛化能力。

我们设计了泛化测试,改变完成一条指令所需的技能序列、积木上的字母或颜色,以及场景中的积木数量。在一项堆叠研究中,可以在训练时排除 4 块积木高的堆叠,再测试模型能否组合熟悉的动作来搭建这种堆叠。工作空间研究区分模型在训练区域内的新位置上的表现,以及在该区域边界之外、模型必须进行外推时的表现。下面我们展示研究设置和结果。

我们考虑 4 项任务:堆叠、拆堆、翻转和旋转。对于这些任务,我们研究插值(训练范围内的新配置)和外推(超出该范围的配置)。例如,我们通过在物体仅出现在左侧区域(绿色)的场景中训练,并在右侧区域(橙色)测试,或通过在堆叠高度为 2 块和 5 块积木的情况下训练,并在高度为 3 块和 4 块时测试,来评估泛化能力。

VLA 模型的空间泛化研究(结果基于 ManiFlow、π0.5 和 MolmoAct 2)。尽管经过大规模预训练,这些常用动作模型在初步结果中表现出的泛化能力仍然较差。我们改进了泛化能力,并分析了每项技术的贡献。图表中的 LoRA 指低秩适配,这是一种通过少量可训练的权重更新来微调模型的方法。我们认为,动作模型的泛化问题仍远未解决;ToyBlocks 为系统地探索泛化技术提供了一个有价值的测试平台。

高层推理:视觉语言模型

需要许多步骤才能完成的长时程任务,使我们能够衡量模型规划一系列动作以解决任务的能力。我们的框架使我们能够创建这样的长时程任务,并在高层和低层分别创建预言机——提供正确计划或动作的参考组件。这样,当模型未能完成任务时,我们就能区分失败发生在高层规划还是低层执行。例如,一项长时程任务可能是用积木堆拼出“Ai2”;由于字母可能无法立即看见,智能体必须先选择能够揭示信息的动作,然后规划并执行一系列动作来搭建积木堆。

我们评估具有明确高层规划模型和低层执行模型的分层模型。在这里,我们选择视觉语言模型(VLM)Molmo 2 作为高层规划器,选择 ManiFlow 作为低层策略。Molmo 2 选择要执行的技能及其作用的积木,而低层模型负责执行指令。我们训练 ManiFlow 等低层模型,使其在完成执行后暂停,并向高层模型询问下一条指令。我们在 3 种难度递增的场景中评估模型的规划能力。最简单的场景在初始状态下让每个字符直立并朝向摄像头。中等难度的场景中,字符可能并非直立;最难的场景中,字符在任务开始时不可见。

以 Molmo 2 作为高层推理模型,并分别以 ManiFlow 或运动规划器执行底层操作时,三字母积木拼写任务的成功率。示例任务是“Stack Ai2”。Molmo 2 和 ManiFlow 均在 ToyBlocks 上训练,并在 3 种难度设置和 2 种泛化条件下接受评估。

高层推理:智能体系统

我们通过智能体系统实验,测试前沿模型如何借助工具调用进行规划和行动。我们使用 Claude Opus 5.5 研究了 3 种场景。在搜索与拼写场景中,我们通过模型上下文协议(MCP)开放 ToyBlocks 技能;MCP 是连接 AI 应用与工具的一项标准。智能体通过摄像头图像观察场景,指向某个像素来调用抓取、翻转或旋转等技能,并决定何时搜索、搭建,或宣布任务已完成或无法完成。同一套 MCP 工具既可以执行用于生成 ToyBlocks 演示数据的脚本化技能(运动规划的抓取与放置,以及基于强化学习的旋转与翻转),也可以执行学习得到的 ManiFlow 技能。ToyBlocks 包含这些实验背后的框架,该框架也为前文所述的自然语言网页界面提供支持。

一个前沿模型(Claude Fable 5.1)在 ToyBlocks 世界中控制机器人,寻找积木并将其堆成一座拼出“Ai2”的塔。在这一过程中,智能体思忖:“我需要弄清楚抓取和放置是否会自然地校正朝向,还是需要我手动调整……我还剩 63 次调用,足够做一次对照测试”(0:06)。随后,智能体提出假设:“……也许夹爪的偏航角是径向的——从机器人底座指向积木”(0:15),最终证实了这一假设(0:26),然后搭起了三块积木的塔,但字母“A”是横着的(1:11)。令人意外的是,尽管当前前沿模型展现出令人印象深刻的规划、空间推理和搜索能力,它们仍经常犯类似的感知错误(见下图)。

在经典规划方面,智能体(我们使用 Claude Opus 5.5 规划和选择动作的系统)依据文字描述,解决了一组 30 项积木堆叠任务中的全部任务;几年前,前沿模型还难以完成类似任务。它在反复观察摄像头图像、以闭环方式选择下一步动作时,也完成了全部 30 项任务。

在搜索与拼写场景中,智能体必须堆叠积木,拼出三个字母的单词。它需要从场景中最多 8 块积木里找出带有相应字母的积木。值得注意的是,50% 的场景缺少包含所有必需字母的积木,因此任务无法完成。在这种情况下,我们要求智能体说明任务无法完成。我们发现,在这项实验中,智能体成功完成任务或正确判定任务无法完成的比例为 63%。错误主要源于智能体将字母与外形相似的字母混淆(13%),或在堆叠时为某个字母选择了错误的朝向(15%)。

我们的结果还表明,当积木具有语义规律或模式时,智能体能够利用这些模式推断被遮挡的面,从而更高效地完成任务。例如,在大多数无法完成的场景中,当积木没有规律时,智能体会在宣布任务无法完成之前,正确地查看所有积木的各个面;而当积木具有语义模式时,它能够明显更快地作出无法完成的判断。

我们的第三种实验场景探讨智能体能否像科学家一样通过实验了解自身技能的行为。当某项技能的表现出乎意料时,智能体会提出假设,设计一个小测试,并根据结果修正认识。我们进一步让智能体自行开展实验,并根据发现编写自己的技能描述。这些学习得到的描述将成功率从使用默认描述时的 24% 提高到 63%,超过了使用人类专家编写的描述时达到的 36%。

在每次“搜索并拼写”任务结束时,智能体已查看过的字母积木表面所占的比例(柱形为20次任务的平均值;每次任务对应1个标记,标记样式表示结果)。在可完成的任务中,目标3字母单词的每个字母都存在;在无法完成的任务中,缺少1个字母,智能体应指出这一点。每块带图案的积木上有某个字母的大写和小写形式,以及以该字母开头的事物的图像(例如,A积木:苹果、蚂蚁、A、1、飞机、a);无图案积木的6个面则是随机且彼此无关的。正确:积木塔拼出了单词;或者,对于无法完成的任务,智能体正确地声明任务无法完成。字母旋转或形似字母替代:智能体搭建了积木塔,但其中1个字母转错了方向或被形似字母替代;这包括5次无法完成却被宣布完成的任务,其中缺失字母的位置用了形似字母。积木掉出可及范围;已报告:1块所需积木被推到了机械臂够不到的地方,因此智能体报告任务已变得无法完成。未报告:智能体耗尽了运动技能预算,随后停止,且未声称任务完成或无法完成。使用带图案的积木时,智能体完成任务时查看过的面更少,因为它可以推断隐藏的面上必定有什么,而不必逐一检查。

作为模拟器的动作条件世界模型

动作条件世界模型通过训练来预测场景如何随机器人的动作而变化。将其作为基于模型的模拟器的替代方案,用于训练和评估机器人策略,是一个活跃的研究领域。它们能在多大程度上胜任这一用途,取决于它们预测物理交互的准确性;而在不知道场景真实状态的情况下,这种准确性很难衡量。ToyBlocks提供了这一真实状态,即实际的模拟场景状态,从而能够对近期开发的世界模型在底层物体操作中的表现进行高度可控的测试。这里,机械臂的末端执行器是夹爪。

具体而言,我们测试了动作条件世界模型在根据执行示例进行训练后,能否预测积木的运动或技能执行的结果。为此,我们选取了4种不同的技能(拾取与放置、翻转、旋转和混合任务),并为每种技能生成了900条轨迹,即机器人状态和动作随时间变化的序列。其中50%的轨迹是技能执行成功的示范,另50%则因空间配置的微小变化而执行失败。成功与失败的执行次数相等,因此,始终预测成功的模型只有一半的预测会是正确的。我们用这些示范对模型进行了微调,然后测试其预测相同技能的动作序列结果的能力。

我们发现,Wan 2.2对积木运动和任务结果的预测最准确。Astra能够很好地跟踪夹爪,但难以模拟接触。LeWM速度快,在较短的交互片段上更准确,但在完整轨迹上会逐渐产生偏差。在另外的实验中,我们还表明,姿态和成功与否预测得分更高的模型也能生成更好的训练数据:加入由最佳视频生成模型生成的100条轨迹(rollouts),使一个策略在未见过的区域中的成功率从19%提高到78%。

我们测试了三类模型:拥有 50 亿个参数的视频预测模型(Wan 2.2)、创建了自己的物理模拟器并将其调校至与演示数据相符的智能体模型(Astra),以及潜在世界模型(LeWM)。测试时,每个训练好的模型都必须分别根据一张初始图像和一系列动作,预测未来图像、模拟器状态或潜在状态(学习得到的内部表征)。对于完整轨迹,模型仅使用初始图像作为观察到的图像,并结合动作序列进行预测。对于短交互片段——单次拾取、放置、翻转或旋转——模型则从该交互发生前一刻的真实图像开始预测。完整轨迹显示误差如何在长时程中累积,而交互片段则单独考察一次交互,例如夹爪接触积木,并显示模型对其预测得如何。为了公平比较模型,我们探查每个模型的预测结果,读取它预期积木和夹爪在轨迹不同位置所处的方位,以及它是否预期任务最终成功。

高层和低层模型的真实世界实验

从模拟到现实的评估测试在模拟环境中训练的策略用于实体机器人执行积木操作任务的表现。通过比较模拟环境与真实世界中的执行情况,我们评估在模拟环境中观察到的行为和失败模式能否为真实世界中的表现提供有意义的参考。例如,研究人员可以评估单项技能及其在较长时程任务中的组合,以确定失败发生在何处,以及这些模式是否会延续到实体部署中。

我们测试完全使用 ToyBlocks 模拟数据集训练的模型能否在未经真实世界样本训练的情况下,零样本部署到真实世界。我们分别评估 ManiFlow 和每项低层技能(拾取、放置、翻转和旋转)。我们还测试分层系统(Molmo 2 + ManiFlow)能否完成需要连续执行这些动作的长时程三块积木拼字任务。真实世界实验使用配备 Robotiq 夹爪的 Franka FR3 机械臂,在 30 种场景配置下进行。每个场景包含 4–10 块训练期间见过的积木。只有相关积木在没有碰撞的情况下被移至目标位姿,该次任务才算成功。如果操作员因机器人在任务过程中出现不安全动作而介入并使其停止,则该次任务记为失败。

ManiFlow 的单项技能成功率在模拟环境和真实世界中相近(分别为 80.0% 和 81.1%)。分层 Molmo 2 + ManiFlow 系统在模拟任务中的成功率为 55.5%(111/200),在真实世界任务中的成功率为 50.0%(15/30);还需要进一步试验,才能确定跨任务结果的统计置信度。

ManiFlow 低层模型和分层 Molmo 2–ManiFlow 系统在模拟环境及真实世界中的成功率。对于 ManiFlow,总次数指单项技能(拾取、放置、翻转和旋转)的执行次数;对于 Molmo 2–ManiFlow,则指积木拼字任务的次数。Molmo 2–ManiFlow 的评估采用模拟评估中定义的最简单场景配置,其中积木上的字符可见,且积木直立。

使用同一高层规划器执行积木堆叠任务时,真实世界与模拟环境中的执行过程并排对比。粉色圆环标示规划器为每项技能设定的目标点。场景使用不同的积木标签,模拟回放的时间经过调整,以使抓取和松开的时刻与真实机器人对齐。

为了将完全基于 ToyBlocks 数据训练的 Molmo 2 和 ManiFlow 迁移到实体机器人,我们分三个阶段处理模拟环境与现实之间的差异。

在生成数据之前,我们会调整模拟机器人的参数,包括关节摩擦力和电机及齿轮箱折算到关节处的转动惯量,使模拟轨迹与真实机器人的轨迹相匹配,以此进行系统辨识。在数据生成过程中,我们会随机化物理属性(物体尺寸、摩擦力和桌面高度)及视觉属性(光照、背景、材质和相机参数)。在推理时,我们使用一台朝向前方的 ZED 相机和一台安装在腕部的 ZED Mini 采集观测数据。对于使用深度图像的策略,我们使用 FastFoundationStereo,根据成对的红绿蓝(RGB)相机图像生成估计每个像素处距离的清晰深度图,而不依赖噪声较大的深度传感器测量值。

ToyBlocks 的实体装置:机械臂、木块和相机。

开放工具,供进一步研究

ToyBlocks 在一个受控环境中将数据生成、训练和评估连接起来,使研究人员能够探究机器人如何随时间推移而学习,并测试模型或其训练数据的变化如何影响机器人行为。我们将发布仿真资源、程序化任务与示范生成器、自动生成的示范,以及两个展示该框架能力的训练模型(一个基于 Molmo 2,另一个基于 ManiFlow),还有训练代码、评估代码和验证集。这使其他团队能够构建自己的训练数据组合,并研究我们初步实验未涵盖的失效模式。

我们首批发布的数据旨在验证这一方法的可行性,其中包含 85,336 条长时程示范;根据数据集的不同,每条示范包含约 6–12 项技能示范。首批数据集涵盖近 1,600 小时的机器人执行数据和 1.44 亿帧图像。我们计划在几周内发布第 2 批数据,其中包括规模更大的数据集、更多技能和更全面的基准测试。我们还将加入当前软件包尚未包含的完全集成的强化学习(RL)训练功能。

ToyBlocks 的其他研究方向包括双臂操作和灵巧机械手,并配备力传感器和触觉传感器,以研究涉及频繁物理接触的运动与任务。我们还在探索让机器人摆弄无序堆放的积木,以此收集数据,并研究新的行为和任务如何可能通过交互涌现。

未来方向:基于强化学习(RL)的积木堆操作。

未来方向:双臂积木操作。

借助 ToyBlocks,我们希望推动机器人学习科学的发展,迈向机器人能够可靠地将所学应用于陌生任务和环境的未来。我们鼓励研究界使用 ToyBlocks 开展自己的研究,甚至以它为基础构建自己的 FoundationWorlds。

发现内容有误?提交纠错

本文目录