新智元报道
编辑:静音 十二
【新智元导读】 最近,Jim Fan参与的一项研究推出了自动化数据生成系统DexMimicGen。该系统可基于少量人类展示,合成类人机器人的灵巧手运动轨迹,解决了训练数据集的获取难题,而且还提升了实验中机器人的表现。
要知道,大规模、优质的机器人训练数据集的获取往往非常有挑战性。
不过最近,来自英伟达、UT Austin和UCSD的研究人员推出了一种大规模自动化数据生成系统——DexMimicGen。
它可基于少量人类展示合成类人机器人的灵巧手运动轨迹,帮助实现在更少人工干预下扩大类人数据的采集。
也就是说,机器人训练数据集的获取效率得到了大幅提升!
DexMimicGen的核心思想是利用一小组人类展示,并通过在物理仿真中进行展示转换和重放,自动生成大量适用于双手灵巧操作场景中模仿学习的训练数据。
项目主页:https://dexmimicgen.github.io/
从仅5个源人类展示开始,DexMimicGen可以生成1000个双手灵巧任务的展示。研究团队从60个源人类展示中总共生成了21000个展示,涵盖了9种不同的任务。
DexMimicGen生成的大规模数据集可用于训练高性能的模仿学习策略,并用于不同策略的基准测试。
研究团队发现,随着DexMimicGen数据量的增加,策略的性能也随之提升。
他们还使用DexMimicGen结合real2sim2real方法生成了真实世界的展示。
他们创建了一个现实世界罐子分类任务的数字孪生模型,通过在仿真环境中重放现实世界的人类展示,利用DexMimicGen生成轨迹,并将这些生成的轨迹转移回现实世界,从而实现了一个成功率高达90%的视觉运动策略,而单靠人类展示的成功率仅为0%!
解决机器人训练数据集的获取难题
从人类展示中进行模仿学习是一种有效的机器人操作技能教学方法。
其中一种常见的方法是远程操作,即人类操作员通过控制机器人手臂来收集数据,这些数据用于训练机器人,使其能够自主完成任务。
近期的研究通过多个操作员协作收集了大规模多样化的数据集,结果表明,基于这些数据集训练的机器人表现出色,甚至能够在不同环境中泛化。此外,近期的研究还关注将这一范式应用于类人机器人。
然而,数据采集是这一方法更广泛应用的主要瓶颈。
在单臂机器人任务中,数据采集通常需要多个操作员、机器人以及数月的人力投入。针对类人机器人的数据采集则更具挑战性,因为同时控制多只手臂和多指灵巧手的复杂性较高。
为了实现类人机器人的实时远程操作,研究人员开发了专门的远程操作界面,但这些界面的成本高昂,难以实现规模化。
类人机器人的任务复杂性也更高,因此数据需求更大,但由于操作员需同时控制多臂和多指手,工作负担大幅增加,数据采集也更加困难。
相比之下,在仿真环境中利用自动化数据生成是一种引人注目的替代方案,并已证明在单臂机器人操作中非常有效。
受这一成功的启发,DexMimicGen由此诞生,这是一个针对双手灵巧机器人(如类人机器人)的大规模自动数据生成系统。
DexMimicGen方法介绍
基于MimicGen进行改进
DexMimicGen所借鉴的MimicGen方法是一种适用于带并行爪夹具的单臂机器人的流水线,而DexMimicGen克服了多个技术挑战,使得这些原理可以应用于我们的双手操作场景。
MimicGen将每个任务分解为一系列子任务,分别轨迹后拼接在一起。而双手灵巧操作涉及三种子任务类型,其中两只手臂需要分别实现子目标、协调配合,并按特定顺序执行。
然而,MimicGen依赖单一的子任务分割策略,难以应对双手任务中独立和相互依赖的动作需求。
为了解决这些问题,DexMimicGen引入了一种灵活的单臂子任务分割策略,使每只手臂能够独立执行其子任务,同时能够适应必要的协调阶段。
DexMimicGen采用同步策略,以确保在协调子任务期间动作的精确对齐,并引入排序约束机制,以确保在顺序子任务中动作的正确执行顺序。
子任务的分类法
DexMimicGen生成用于双手灵巧操作的数据——这涉及比MimicGen更具挑战性的三大关键问题。
首先,每个手臂必须能够独立于另一个手臂操作以实现不同的目标;其次,手臂必须能够协调以实现共同的目标;最后,某些手臂目标必须在其他目标完成之前完成。
为了应对这些挑战,DexMimicGen引入了一种子任务类型的分类法——包括并行子任务、协调子任务和顺序子任务,并对数据生成过程进行了相应调整以适应这些任务类型。
并行子任务
在双臂机器人设置中,每个机械臂需要具备独立操作的能力,以便各自完成不同的任务目标。比如,在装配任务的初期阶段,每个手臂都需要抓取不同的部件,而且这两个抓取动作可能不会在同一时间发生。
为此,DexMimicGen引入了一种新的子任务类型——并行子任务,它允许每个臂根据自己的任务列表独立行动。
由于每个手臂的子任务是独立定义的,它们的启动和完成时间可能会有所不同。为了适应这种非同步性,DexMimicGen引入了异步执行策略。
在这种策略下,每个手臂都有自己的动作队列,动作会从队列中逐一出队并行执行。一旦某个手臂的队列为空,它就会加载下一个子任务的转换后操作段,确保即使没有严格的子任务对齐,也能顺利执行两个手臂的动作。
协调子任务
对于需要精确配合的任务,如「盒子清理」中的盖子放置,两个末端执行器在执行过程中的相对位置必须与源展示保持一致。
DexMimicGen通过确保两个手臂以同步的方式执行轨迹,并使用相同的变换来生成轨迹,从而实现这一点。
具体来说,为了达到时间上的同步,DexMimicGen在源展示分割时强制所有协调子任务在同一时间点结束。
在实际执行中,则采用同步策略,即每个手臂会等待另一个手臂,直至两者在协调子任务中剩余的步骤相同,这样就能保证子任务的执行结束与分割时的设定一致。
此外,DexMimicGen还提供了两种源展示变换方案:「转换」和「重演」。
前者基于首次协调时的对象位置计算变换矩阵,后者则直接使用原始轨迹,无需额外变换。
对于类似物品传递等需要保持在运动学限制内的协调任务,「重演」方案尤为有效。
顺序子任务
在某些任务中,如「倾倒」任务,子任务的执行顺序至关重要。
例如,机器人首先需要用一只手将球倒入碗中,然后用另一只手将碗移到绿色垫子上。
为了解决这类顺序需求,DexMimicGen实现了一种顺序约束机制,明确规定了哪些子任务必须在其他子任务之前完成。
通过这种方式,执行后续子任务的手臂会等待前一个子任务完成后再继续,确保了任务流程的正确性。
数据如何生成
首先,源展示通过启发式算法或人工标注被分解为每只手臂的子任务。
每只手臂的最终子任务需要进行协调(必须共同抬起托盘),因此该任务被标注为协调子任务,以便在数据生成过程中实现同步。
在数据生成开始时,场景会被随机化,并选择一个源展示。随后,为每只手臂的各个子任务并行地迭代生成和执行轨迹。
在此示例中,基于参考物体(托盘)的姿态,计算当前托盘姿态与源片段中的托盘姿态之间的相对变换。由于这些是协调子任务,因此这里使用该变换来转换两只手臂的源轨迹。
接着,应用「协调子任务」中描述的同步执行策略来执行生成的轨迹。
值得注意的是,这里通过重放源展示中的手指关节动作来生成手指运动,因为手指运动始终是相对于末端执行器的运动的。
每个生成的展示仅在任务成功时才被保留,整个过程将重复进行,直到生成了足够数量的数据。
系统设计
为了构建DexMimicGen,Zhengyu Jiang团队建立了大量的仿真环境,并开发了一个远程操作系统,支持在仿真和现实世界中收集源人类展示。
仿真环境
Zhengyu Jiang团队引入了一系列多样化的设置和任务,以展示DexMimicGen在不同机器人形态和操作行为下生成数据的能力。
他们主要专注于三种机器人形态:
(1) 配备并行爪夹具的双手Panda手臂;
(2) 配备灵巧手的双手Panda手臂;
(3) 配备灵巧手的GR-1类人机器人。
不同的机器人形态需要应用不同的控制器。并且,针对每种机器人形态,他们分别设计了三种任务,总共九个任务。
这些任务涉及高精度操作(如穿线、部件装配、装箱、咖啡制作)、带有关节的物体操作(如抽屉、托盘),以及长时间跨度的任务(如运输)。
这些任务还需要克服多臂交互中的关键挑战。其中一些任务包含协调子任务,要求两只手臂协同完成子任务(穿线、运输、装箱、托盘抬升、罐子分类)。其他任务则要求按顺序执行子任务(部件装配、抽屉清理、倒液、咖啡)。
远程操作系统
为了收集任务的源展示,Zhengyu Jiang团队针对每种机器人形态定制了不同的远程操作方法。
对于配备并行爪夹具的双手Panda手臂,他们使用了基于iPhone的远程操作界面,用于捕捉人类手腕和爪夹动作。
对于配备灵巧手的机器人,他们实现了基于Apple Vision Pro的远程操作系统,使用VisionProTeleop软件收集手腕和手指姿态。
首先,他们需要将人类的姿态与机器人的姿态对齐,将人类的原始末端执行器姿态转换为机器人的姿态。
其中还包括一个人机校准过程,要求人类远程操作员从固定姿态开始,系统会自动计算将人类姿态映射到机器人目标的相对变换矩阵。该校准过程适用于带有灵巧手的双手Panda手臂和GR-1类人机器人。
实验结果
研究人员也做了大量实验来证明DexMimicGen性能的优越性。
首先,研究人员选取了5个样本,运用DexMimicGen为每个任务生成了1000个展示,在评估过程中,研究人员发现了DexMimicGen具备以下性能优势:
提高成功率
相比于仅依赖源展示,DexMimicGen大幅提升了策略的成功率。在所有任务中,基于DexMimicGen数据集训练的机器人表现明显优于仅基于少量源数据训练的机器人。
例如,在抽屉整理任务中,成功率从0.7%跃升至76.0%;在穿线任务中,成功率从1.3%提升到69.3%;而在零部件组装任务中,成功率则从3.3%提高到了80.7%。
适应多样初始状态
DexMimicGen通过在默认的初始状态分布(D0)中的源展示生成具有更广泛变化的初始状态分布数据集(D1和D2)。D1中物体具有更大的初始重置分布,D2则对关键物体的位置进行了重新设定。
如上表所示,基于这些数据集训练的策略在相同的扩展初始状态分布下的评估中表现优异,这表明DexMimicGen能够在新的初始状态分布上生成有价值的数据集。
跨基准数据生成
研究人员还将DexMimicGen应用于BiGym——一个专注于人形机器人双手操作任务的新模拟基准。
对于翻转杯子、洗碗机装载盘子和关闭所有杯板这三个任务,研究人员各自生成了1000个展示,分别达到了29.1%、43.6%和76.4%的数据生成成功率。
除此之外,研究人员还与替代方案进行了对比,结果发现DexMimicGen生成的数据集训练出来的策略性能普遍高于Demo-Noise基线58%以上,且Demo-Noise基线无法生成具有不同初始状态的数据。
针对数据集大小对策略性能的影响,研究人员也发现随着数据集从小到大的增长,策略性能有显著提升,特别是在100到500和1000之间。
然而,当数据集从1000增至5000时,这种提升趋于平缓,说明不同任务的性能增益可能存在边际效应。
参考资料:
https://dexmimicgen.github.io/
https://arxiv.org/pdf/2410.24185