新智元报道
编辑:静音 十二【新智元导读】最近,Jim Fan参与的一项研究推出了自动化数据生成系统DexMimicGen。该系统可基于少量人类演示,合成类人机器人的灵巧手运动轨迹,解决了训练数据集的获取难题,而且还提升了实验中机器人的表现。要知道,大规模、优质的机器人训练数据集的获取往往非常有挑战性。
不过最近,来自英伟达、UT Austin和UCSD的研究人员推出了一种大规模自动化数据生成系统DexMimicGen。
它可基于少量人类演示合成类人机器人的灵巧手运动轨迹,帮助实现在更少人工干预下扩大类人数据的采集。
也就是说,机器人训练数据集的获取效率得到了大幅提升!
DexMimicGen的核心思想是利用一小组人类演示,并通过在物理仿真中进行演示转换和重放,自动生成大量适用于双手灵巧操作场景中模仿学习的训练数据。
从仅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还提供了两种源演示变换方案:「转换」和「重演」。
前者基于首次协调时的对象位置计算变换矩阵,后者则直接使用原始轨迹,无需额外变换。
对于类似物品传递等需要保持在运动学限制内的协调任务,「重演」方案尤为有效。
顺序子任务
在某些任务中,如「倾倒」任务,子任务的执行顺序至关重要。
例如,机器人首先需要用一只手将球倒入碗中,然后用另一只手将碗移到绿色垫子上。