论文DemoStart: Demonstration-led auto-curriculum applied to sim-to-real with multi-fingered robots(《DemoStart: 基于演示的自动课程,用于多指机器人从模拟到现实的转移》)提出了一种新的强化学习方法DemoStart,旨在通过少量的模拟演示和稀疏的奖励,在一个配备三指机械手的机器人上学习复杂的操作行为,并实现从模拟到现实的零样本学习(zero-shot sim-to-real transfer)。DemoStart成功实现了多指机器人多自由度操作任务,并能够有效地从模拟转移到现实机器人环境中。
论文作者为Maria Bauza, Jose Enrique Chen, Valentin Dalibard, Nimrod Gileadi, Roland Hafner, Murilo F. Martins, Joss Moore, Rugile Pevceviciute, Antoine Laurens, Dushyant Rao, Martina Zambelli, Martin Riedmiller, Jon Scholz, Konstantinos Bousmalis, Francesco Nori, Nicolas Heess,均为Google DeepMind团队成员。
以下为论文概要内容:
一、论文背景和挑战
多指机器人手的操控是机器人学中的重要课题,尤其是涉及复杂操作任务时,如抓取、插入、旋转等。当前的研究主要依赖两种方法:
- 模拟强化学习:在模拟环境中使用强化学习来训练机器人策略,解决高维度控制问题。
- 模仿学习:从人类操作的演示中直接学习操作策略。
尽管这两种方法在某些应用中表现出色,但存在若干挑战:
- 多指手的控制自由度高,操作复杂,单纯的遥操作演示收集难度大且时间成本高。
- 使用稀疏奖励(例如仅在任务成功时给出奖励)会导致学习过程中的探索不足,尤其是在大动作空间的任务中。
论文提出的DemoStart方法正是为了解决这些挑战而设计的,它结合了少量次优演示和稀疏奖励,通过自动生成课程来逐步提升任务难度,减少对高质量遥操作数据的需求。
二、方法论详细解读
2.1 DemoStart方法核心机制
DemoStart是一个基于演示的自动课程生成(auto-curriculum)的强化学习方法,结合了稀疏奖励和模拟演示,逐步引导机器人掌握复杂操作任务。它的核心机制有三个:
- 机制1:演示生成不同难度的任务参数(TPs) 在模拟环境中,系统首先记录一些次优的任务演示。例如,在插头插入任务中,记录从开始到任务结束的所有中间状态。系统然后根据这些演示生成任务参数,其中,演示的后期状态(即任务已接近完成的状态)被认为是“简单”的任务,而开始时的状态则被认为是“困难”的任务。因此,DemoStart可以逐步从简单任务过渡到复杂任务。
- 机制2:零方差过滤(Zero-Variance Filtering,ZVF) 在强化学习的过程中,大多数任务要么太容易(机器人已经可以轻松完成),要么太难(机器人几乎不可能成功),这些任务对策略的提升帮助不大。为了确保训练时选用的任务既有成功的可能性,又能提供有用的训练信号,DemoStart引入了ZVF机制。ZVF通过筛选那些在当前策略下有时成功、有时失败的任务进行训练,确保这些任务提供了足够的挑战性,同时也让机器人能够从中学到有效的操作策略。
- 机制3:最小化演示中的偏差 在现实中的演示可能包含一些不自然的状态,比如机器人手可能处于一个不稳定的抓取状态,这种状态如果被用于训练可能导致机器人学习错误的抓取方法。为了避免这种情况,DemoStart通过向演示初期状态(即未完成任务的状态)偏斜,确保机器人优先学习如何从零开始执行任务,而不是纠正不良的抓取状态。
2.2 方法的执行流程
DemoStart在一个分布式的演员-学习者架构下运行。具体流程如下:
- 任务参数序列采样 系统首先从目标任务参数分布中采样出一系列任务参数(TPs),这些参数代表了任务的初始状态和环境设置。然后,系统从模拟演示中进一步生成任务参数,形成从困难到简单的任务序列。
- 筛选有训练信号的任务 每个任务的TP会经过多次评估,以确定它是否能为当前策略提供有效的训练信号。如果策略在某些任务中表现出成功和失败的混合结果,则这些任务将被选为有效的训练任务。
- 生成训练数据 一旦选定了合适的任务参数,系统会通过多次训练生成数据,并将其发送到回放缓冲区,用于进一步的策略更新。这样不断循环,直到策略收敛。
三、实验设置
论文在模拟环境中进行了大量实验,以验证DemoStart方法的有效性。每个实验的机器人都配备了Kuka LBR iiwa 14机器人手臂和DEX-EE三指手,任务主要分为五类:
- 插头提升任务:机器人需要抓取一个插头,并将其从篮子表面抬起5厘米以上。
- 插头插入任务:机器人必须抓取插头并将其插入一个插座中。
- 方块重新定位任务:机器人需要抓取一个方块并使其某一特定面朝上。
- 螺母螺栓配对任务:机器人需要抓取一个螺母并将其旋转到螺栓上。
- 螺丝刀放入杯子任务:机器人需要确保杯子直立,然后将螺丝刀插入杯子中。
这些任务的共同特点是需要高精度的6自由度控制(用于机械臂)和12自由度控制(用于多指机械手)。
四、实验结果分析
4.1 模拟实验结果
实验结果表明,DemoStart方法在各项任务中表现出色。在插头提升、插头插入和方块重新定位任务中,DemoStart的成功率分别达到了99.7%、99.6%和99.9%。在螺母螺栓配对和螺丝刀放入杯子任务中的成功率也超过了98%。
与传统的基于稀疏奖励的强化学习方法相比,DemoStart不仅减少了训练所需的演示数量,还在多个复杂任务中实现了显著的性能提升。论文还比较了不同机制的影响,发现机制2(零方差过滤)和机制3(演示偏差最小化)对性能提升至关重要。
4.2 现实环境中的转移实验
在现实环境中,DemoStart也展示了极强的从模拟到现实的转移能力。在插头提升、插头插入和方块重新定位任务中的成功率分别为97%、64%和97%。虽然插头插入任务的转移成功率相对较低,但DemoStart的性能仍然远远优于其他基于遥操作演示的数据方法(如SAC-X和直接模仿学习)。
五、讨论与未来工作
DemoStart的成功应用表明,在复杂的多自由度操作任务中,它是一种强有力的学习方法。特别是在稀疏奖励和数据稀缺的场景下,DemoStart能够大幅减少演示数据的需求,并且实现了从模拟到现实的高效转移。
未来的研究方向包括:
- 加入更多信息量的奖励信号:在某些任务中,稀疏奖励可能不足以引导策略学习。如果可以设计出更丰富的奖励信号,将能够进一步提升策略的性能。
- 改进模拟到现实的转移技术:通过使用更多高级的域随机化技术,或者结合真实世界中的数据,可能能够进一步缩小模拟与现实的差距。
- 提升计算效率:当前方法的计算开销较大,特别是在使用稀疏奖励时,通过改进模拟效率或更好地选择演示中的有效状态,可以减少计算成本。
More to read:
https://deepmind.google/discover/blog/advances-in-robot-dexterity/
https://sites.google.com/view/demostart