25年6月来自SJTU、HKU、上海AI实验室、SZU、THU、FDU、USTC、SUSTech、SYSU、CSU、NEU、NJU 和 Lumina 具身智能社区的论文“RoboTwin 2.0: A Scalable Data Generator and Benchmark with Strong Domain Randomization for Robust Bimanual Robotic Manipulation”。
基于仿真的数据合成,已成为增强现实世界机器人操作的有力范例。然而,现有的合成数据集仍然不足以实现稳健的双手操作,原因在于两大挑战:(1)缺乏针对新型任务的高效、可扩展的数据生成方法;(2)过于简化的仿真环境无法捕捉现实世界的复杂性。RoboTwin 2.0,是一个可扩展的仿真框架,能够自动、大规模地生成多样化且真实的数据,并为双臂操作提供统一的评估协议。首先构建 RoboTwin-OD,这是一个大型目标库,包含 147 个类别的 731 个实例,每个实例都带有语义和操作相关的标签。在此基础上,开发一个专家数据合成流程,该流程将多模态大语言模型 (MLLM) 与仿真在环细化相结合,以自动生成任务级执行代码。为了提升从模拟-到-现实的迁移,RoboTwin 2.0 沿五个维度引入结构化域随机化:杂波、光照、背景、桌面高度和语言指令,从而增强数据多样性和策略鲁棒性。在涵盖五个机器人实例的 50 个双臂任务中实例化该框架,并预先收集超过 100,000 条域随机化的专家轨迹。如图所示:
实证评估表明,代码生成成功率提升 10.9%,并且对新现实条件的泛化能力也得到提升。基于数据集进行微调的视觉-语言-动作 (VLA) 模型在未见过的场景现实任务中实现 367% 的相对提升(42.0% vs. 9.0%),而仅基于合成数据训练的零样本模型实现 228% 的相对提升,展现无需现实监督即可实现的强大泛化能力。
如图展示 RoboTwin 2.0 的整体流程。该框架始于一个任务代码生成模块,该模块利用多模态大语言模型 (MLLM) 和仿真在环反馈,自动从自然语言指令合成可执行任务规划。该模块基于一个大规模目标资产库 (RoboTwin-OD) 和一个预定义的技能库,支持在广泛的目标类别和操作场景中进行可扩展的任务实例化。为了确保高质量的专家演示,将此自动生成流程与 RoboTwin 2.0 全面的域随机化方案相集成,该方案使观察结果在语言、视觉和空间维度上更加多样化。该流程支持合成多样化且真实的训练数据,从而有助于开发能够应对现实世界环境变化的鲁棒性操作策略。
通过多模态大语言模型 (MLLM) 和仿真在环反馈实现专家代码生成
语言模型的最新进展已证明其能够为复杂的机器人任务生成中间任务表征,例如文本计划 [16, 15]、API 调用或可执行代码 [29, 6]。多模态大语言模型 (MLLM) 通过整合视觉和本体感受信号扩展了这一能力,从而能够对现实世界的感官输入进行更扎实的推理。然而,大多数现有系统要么依赖于强大的人工先验知识,要么在程序合成过程中缺乏强大的闭环反馈,从而限制了它们在多样化或动态环境中的可靠性。
在此基础上,本文提出一种自动化专家数据生成流程,将程序代码合成与多模态执行反馈相结合,以生成高质量的操作程序,如图所示。该系统通过一个由两个 AI 智体组成的闭环架构运行:一个代码生成智体和一个视觉语言模型 (VLM) 观察器。通过在模拟环境中执行和监控代码,观察者系统地检测执行失败并提出修正建议,从而使代码生成智体能够迭代地优化任务程序。这种反馈回路有助于在最少的人工监督下生成稳健、自我改进的专家数据。
输入规范。每个任务由任务名称(例如,移交块)和目标的自然语言描述定义。代码生成智体以三个关键输入为条件:通用 API 列表、一组示例函数调用和分层约束规范。这些组件共同指导 Python 代码的合成以执行任务。此外,每个任务可能包含特定于任务的函数调用示例,以便进一步在上下文中奠定代码生成的基础。
初始代码生成。代码生成智体根据提供的任务输入合成一个初始 Python 程序。它将程序合成过程建模为可用 API 调用空间的结构化预测问题,利用自然语言理解和来自特定任务示例的少量提示。生成的代码指定了旨在实现目标操作目标的机器人动作的逐步序列。
模拟执行和日志记录。生成的程序在模拟机器人环境中每次迭代执行十次。多次试验用于解释模拟动力学、机器人控制器和传感器噪声的随机变化。每次执行批次后,系统都会生成一个结构化的执行日志,记录每次试验的成功或失败,并标注失败案例及其相应的原因——例如无法执行的代码、左右抓取失败或物体放置错误。
多模态观测与错误定位。在执行的同时,视觉-语言模型 (VLM) 智体会观察机器人在所有十次试验中的行为。VLM 会逐帧检查,以评估每个程序步骤的成功程度,并在发生错误时定位故障点。除了时间定位之外,VLM 还能通过推断根本原因是源于逻辑缺陷、API 使用错误还是其他系统性问题来诊断故障模式。这种诊断能力使系统能够解决根本原因,而不仅仅是处理表面上的执行错误。
代码修复与迭代优化。代码生成智体会接收两个互补的反馈信号:(i) 定量执行日志和 (ii) 来自 VLM 的定性局部诊断。它整合这些输入,通过修改或替换被识别为易出错的指令来修改程序。更新后的程序随后在下一次迭代中重新评估。这种改进循环持续进行,直到满足预先定义的终止条件,最终在极少的人工监督下生成专家级的任务代码。
终止标准。蒸馏过程在以下两种情况之一下终止:(i) 生成的程序在单次迭代中十次模拟执行的成功率超过 50%;或 (ii) 系统在连续五次迭代后仍未达到此阈值。这些标准可防止无限期地进行蒸馏,并确保仅保留满足任务能力最低标准的程序。
该流程的结果是一系列强大的自动合成程序,这些程序可生成高质量的专家轨迹,用于后续的训练和评估。通过将多模态推理与执行级反馈相结合,系统生成的代码不仅语法正确,而且语义上与任务目标一致。这种闭环生成框架显著减少了人工监督,同时支持为复杂的机器人操作任务创建可扩展且可自我改进的专家数据。
域随机化助力机器人稳健操控
为了提升策略对现实世界环境变化的鲁棒性,在五个关键维度上应用了域随机化:(1) 与任务无关物体的杂乱摆放;(2) 背景纹理;(3) 光照条件;(4) 桌面高度;以及 (5) 多样化的语言指令。这种系统性的多样化策略丰富了训练数据分布,并显著提升了对未知场景的泛化能力。下图 (a) 可视化域随机化策略的效果。
场景杂乱。为了提高策略对环境变化的鲁棒性,引入了杂乱的桌面场景,并在工作区中随机填充与任务无关的干扰目标。利用内部构建的目标资源库 RoboTwin-OD(其中包含 147 个类别中 731 个完整注释的目标),在数据生成过程中合成多样化且语义丰富的杂乱场景。每个目标都标注了放置点,从而启用了通用的放置 API,可以将任意目标以语义上有效的姿势插入场景中。为了确保物理上的合理性,预先计算碰撞体并应用碰撞-觉察放置,避免随机化引入的不切实际的重叠。此外,在 RoboTwin-OD 中注释类内相似性组,以编码视觉和功能相似性。在杂乱采样期间,限制与任务相关目标在视觉或语义上相似的干扰放置位置,从而减少歧义并减轻潜策略混淆。
多样化的背景纹理。用一个由程序化方法和生成模型生成的大型纹理库,对桌面和周围背景进行随机化处理。这使得策略能够接触到更广泛的视觉分布,并减轻在干净的合成环境中的过拟合。为了构建这个纹理库,首先利用大语言模型 (LLM) 结合网络爬虫技术,收集了 1,000 个描述现实世界表面外观的多样化文本提示,这些提示在风格、颜色和粒度上各不相同。使用这些提示,用 Stable Diffusion v2 为每个描述合成 20 个纹理样本,从而生成一个包含 20,000 个候选纹理的初始池。人工在环验证步骤会过滤掉低质量或不相关的样本,最终生成一个包含 12,000 个高质量纹理的精选集。该库用于在模拟过程中对背景环境和桌面表面进行随机化处理,从而显著丰富生成数据的视觉多样性。代表性样本如上图 (b) 所示。
光照变化。现实世界环境表现出显著的光照变化,包括色温、光源类型(例如,点光源、区域光源)、光源数量和空间配置的差异。这些变化会改变二维视觉输入中的物体外观、阴影和反射,给基于视觉的操控策略带来挑战。为了提高在不同光照条件下的鲁棒性,在模拟流程中应用光照随机化。具体来说,在物理上可行的范围内随机化光源的颜色、类型、强度和位置,以模拟真实的光照多样性。如上图(第二行)所示,色温的变化会显著改变物体的感知外观,例如,在暖光和冷光下鞋子的颜色会发生变化。通过在不同的光照配置下进行训练,策略对现实世界光照变化的鲁棒性会更高。
桌面高度。在现实世界中,操控平台(通常是桌子)的高度会因工作空间布局和硬件配置的差异而变化。这些变化会影响机器人的感知、运动学和交互策略,使策略泛化更具挑战性。为了提高对此类物理差异的鲁棒性,在模拟过程中随机化桌面高度。具体而言,在数据生成过程中,桌面高度会从物理上合理的范围内均匀采样,从而引入机器人与被操控物体之间视角和空间关系的变化。
轨迹级多样化语言指令。为了提高策略对自然语言变化的鲁棒性,用多模态大语言模型自动生成多样化的任务指令和目标描述。这些指令包括 (i) 任务指令模板和 (ii) 反映几何形状、外观和部件级属性的目标描述。对于每条轨迹,通过从任务指令模板和目标描述中采样来构建语言指令。例如,在“移动罐头”任务中,一个模板,例如“使用 {a} 将 {A} 放置在 {B} 左侧”,通过采样的目标描述(例如,{A}:“酱料罐”或“白色塑料盖酱料罐”;{B}:“灰色厨房锅”或“用于煮饭和烹饪的厨房锅”)和机器人参数(例如,左臂)进行实例化。这会产生诸如“使用左臂将白色塑料盖酱料罐放置在用于煮饭和烹饪的厨房锅左侧”或“使用左臂将酱料罐放置在灰色厨房锅左侧”之类的指令。这种组合增强在轨迹层面引入了语言多样性,并提高了对未知指令和场景配置的泛化能力。
具身-觉察的抓取自适应
如图所示 RoboTwin2.0 具身实例:
由于自由度 (DoF) 和运动结构的差异,机械臂在执行同一任务时,其可达工作空间和偏好的操控策略各不相同。例如,在抓取罐头时,Franka 机械臂通常倾向于采用自上而下的方式,而自由度较低的 Piper 机械臂则更适合侧向抓取。因此,如图所示,Franka 机械臂能够成功完成自上而下抓取的任务,在 Piper 机械臂上执行时可能需要采用侧向抓取。
为了解决这些特定具身的变化,为每个物体标注一组涵盖多个抓取轴和接近方向的多样化操作候选集。这确保了数据集能够捕捉操作多样性和机器人特定的偏好。具体来说,对于每个物体,通过结合偏好的操作方向、随机姿态扰动和并行运动规划尝试来生成候选抓取。此外,还在手臂可达性更高的方向上引入角度扰动,从而进一步扩展可行的操作姿态空间。
RoboTwin-OD:RoboTwin 目标数据集
为了增强操作能力和视觉理解能力,构建一个包含丰富语义标注的大规模目标数据集 RoboTwin-OD,涵盖 147 个类别和 731 个不同的目标,如图所示。具体而言,它包含 111 个类别的 534 个实例,这些实例是通过 Rodin 平台(https://hyper3d.ai/)使用 RGB-3D 重建技术内部生成的,之后进行凸分解和网格合并,以确保碰撞模型的物理准确性。此外,RoboTwin-OD 还整合 Objaverse [9] 中 27 个类别的 153 个目标,以及 SAPIEN PartNet-Mobility [40] 中 9 个类别的 44 个铰接目标实例。来自包括 Objaverse 在内所有来源的目标都用于构建杂乱场景,Objaverse 特别增强干扰目标的视觉和语义多样性。还使用生成式 AI 和人机交互滤波技术开发一个全面的表面和背景纹理库,以确保视觉的真实感和多样性。
为了实现稳健的机器人操控,策略必须能够泛化到各种不同的目标,这需要高度多样化的训练数据集。具体而言,数据集应涵盖广泛的目标类别,以提升通用的操控技能;此外,数据集还应包含每个类别中的多样化实例,以捕捉类内操控模式。此外,高质量的语言注释对于理解目标至关重要。为此,开发一个自动化的目标描述生成器,并将其应用于整个数据集,然后进行人工验证。对于每个目标,生成 15 种语言注释,涵盖可见和未可见的描述。这种变化捕捉了目标的形状、纹理、类别、功能、部件结构和描述粒度方面的差异。
为了支持学习以目标为中心的交互策略,进一步为每个目标标注了关键的点轴信息。这些信息包括放置点、功能点、抓取点和抓取轴方向,明确地编码了目标的可供性。结合机器人操控 API 库,这些注释能够在模拟环境中实现可泛化的抓取执行。
支持灵活的具身组合
以目标为中心、与具身无关的数据生成框架,能够在各种双臂机器人系统中无缝部署。该流程支持灵活的具身配置,允许任意组合异构机械手和机械臂相对位置。这种设计确保与各种硬件设置的兼容性,并有助于扩展到未来的机器人平台。
为了在不同具身中执行高成功率的操控轨迹,本文集成了 Curobo,这是一款高性能、GPU 加速的运动规划器,能够在各种运动学约束条件下实现高效可靠的规划。
目前,框架支持五种机械臂——Franka、Piper、UR5、ARX-X5 和 Aloha-AgileX——以及多种类型的夹持器,包括 Panda 夹持器和 WSG 夹持器。如图所示展示在各种双臂组合中成功执行任务的案例,突显 RoboTwin 2.0 能够扩展至异构机器人配置,并为未来在实际应用中的部署做好了准备。
50 个数据生成和基准测试任务
基于自动化任务生成框架、具身自适应行为合成和大规模目标资源库 RoboTwin-OD,构建一套包含 50 多个双臂协作操作任务的套件。此外,支持跨 5 个不同机器人平台的数据收集和评估,从而能够对操作策略进行全面的基准测试。代表性任务的关键帧如图所示,完整任务集可在 http://robotwin-platform.github.io/doc/tasks/ 获取。
RoboTwin 2.0 预收集数据集
在 RoboTwin2.0 中收集 50 个任务中超过 100,000 条双臂操作轨迹,涵盖五种不同的双臂实例。对于每个任务-实例对,提供 100 条干净(非随机)轨迹和 400 条领域随机化轨迹。完整数据集可访问:https://huggingface.co/datasets/TianxingChen/RoboTwin2.0/tree/main/RoboTwin2_dataset。
RoboTwin 2.0 支持多种具身配置和场景设置,使其成为一个高度通用的大规模机器人数据收集框架。它能够在极少的人工监督下,跨各种任务和硬件设置高效、自动化地生成轨迹。