开源:CyberDemo: Augmenting Simulated Human Demonstration for Real-World Dexterous Manipulation
Abstract
cyberdemo,这是一种新的机器人模仿学习方法,它利用模拟人类演示 simulated human demonstrations 来完成真实世界的任务。
通过在模拟环境中结合广泛的数据增强,cyberdemo在转移到现实世界时,处理不同的物理和视觉条件,优于传统的领域内真实世界演示。
对以前未见的对象表现出可推广性
首先,我们在模拟环境(蓝色区域)中收集人类演示,然后在模拟器(黄色区域)中进行广泛的数据扩充。然后,在增强数据上训练并在一些真实数据上微调的模仿学习模型可以部署在真实的机器人上。
Introduction
模仿学习的有效性在很大程度上取决于高质量演示数据的可用性,这通常需要大量的人力来收集数据,在使用多指灵巧手进行操作的情况下,这一挑战进一步放大
在模仿学习中,领域内演示 in-domain demonstrations(指直接从部署环境中收集的数据)通常用于机器人操作任务
普遍认为,解决特定任务的最有效方法是直接从实际机器人那里收集该任务的演示
我们认为,在模拟中收集人类演示可以为现实世界的任务产生更好的结果,不仅因为它不需要真正的硬件,可以远程和并行执行,还因为它有可能通过使用仅模拟程序的数据增强来提高最终任务的性能,将策略转移到现实世界的sim2real挑战仍然是一个未解决的问题
利用模拟人类演示,从视觉观察中进行机器人模仿学习。我们首先在模拟环境中使用低成本的设备通过远程操作收集少量的人类演示数据。然后,cyberdemo将大量的数据扩充融入到原始的人类演示中。增广集覆盖了数据收集过程中未遇到的广泛的视觉和物理条件,从而增强了训练策略对这些变化的鲁棒性
采用了一种独特的课程学习策略,在增强的数据集上训练策略,然后使用一些真实世界的演示(3分钟的轨迹)对其进行微调,以促进有效地转移到真实世界
我们的策略能够在不需要额外人力的情况下处理这些变化(照明条件、对象几何结构和对象初始姿态变化)
Related Work
Data for Learning Robot Manipulation
policy training-》building large datasets:
- using pre-programmed policies
- alternative data sources such as language
- real-world robot teleoperationa
工作主要针对平行夹具,收集高自由度灵巧手的大规模演示数据集仍然是一个重大挑战
数据增强:
- augmentation in low-level visual space:color jitter, blurring, and cropping
- semantic-aware data augmentation with generative models 使用生成模型来增强语义感知数据
这些增强是在图像级别上操作的
cyberdemo使用物理模拟器将数据扩充扩展到轨迹级别,同时考虑视觉和物理变化
我们的工作旨在利用模拟来解决现实世界中的问题
采用sim2real方法将这些演示转移到配备多指人形手的灵巧机器人上。我们的研究强调了一个通用框架,该框架利用模拟演示进行真实世界的机器人操作
Pre-trained Visual Representation for Robotics
- 利用静态表示进行下游机器人控制
- 大规模自监督学习视觉表示有利于下游机器人任务
- 其他研究集中在机器人数据集上预训练视觉表示,使用依赖于动作的动作监督自学习目标
- 学习用于强化学习的奖励函数
我们使用模拟数据进行预训练,而不是使用自我监督学习进行表征学习。
这不仅增强了图像表示的学习,而且通过使用动作信息将任务先验融入神经网络。通过在模拟环境中进行预训练,操纵策略可以更好地推广到具有新颖几何形状和接触模式的新对象
Sim2Real Transfer
- 使用系统识别system identification来建立真实系统的数学模型并识别物理参数
- 领域随机化,生成具有随机化特性的模拟环境,并在所有这些环境中训练模型函数
- Domain adaptation (DA) 调整sim和real之间的数据分布而开发的一组迁移学习策略
- domain adversarial training
- 使用生成模型使模拟图像与真实图像相似
对于具有高自由度驱动和复杂交互模式的灵巧机械手来说,sim2real间隙变得更加明显
CyberDemo
Collecting Human Teleoperation Data
对于真实世界的数据,我们使用[55]中引用的低成本遥操作系统。这种基于视觉的遥操作系统只需要一台摄像机来捕捉人手的运动作为输入,然后将其转换为机器人手臂和灵巧手的实时电机命令。我们以30hz的速率记录每帧的观察(rgb图像、机器人本体感觉)和动作(机器人末端执行器的6d笛卡尔速度、手指关节位置控制目标)
只收集了真实机器人上每个任务的三分钟机器人轨迹。
对于模拟中的数据,我们在sapien[74]模拟器中构建了真实世界的任务环境,以复制真实场景中使用的桌子和物体。
对于遥操作,没有像强化学习设置那样需要奖励设计和观察空间,这使得在模拟器中设置新任务的过程相对简单。我们使用相同的遥操作系统[55]来收集模拟器中的人类演示。
Augmenting Human Demo in Simulator
模拟系统使我们能够在虚拟环境中的ground-truth state and contact information
最终目标是将训练好的策略部署到真实的机器人上。因此,增强应该关注在现实世界中可能遇到的视觉和动态变化。
目标是将操作策略推广到数据收集过程中未遇到的新对象
具体来说,我们选择增加照明条件、相机视图和对象纹理,以增强策略对视觉变化的鲁棒性。此外,我们修改了对象的几何形状以及机器人和对象的初始姿态,以提高策略对动态变化的鲁棒性
我们的数据集扩充包括四个维度:(a)随机相机视图,(b)不同的物体,(c)随机物体姿态,(d)随机光线和纹理。
Randomize Camera Views.
为了解决精确对齐相机视图问题,我们在训练过程中对相机姿态进行随机化,并回放模拟器的内部状态,以从新的相机视图中渲染图像序列。
Random Light and Texture.
我们对灯光和对象的视觉特性进行了随机化,灯光特性包括方向、颜色、阴影特性和环境照明。对象属性包括镜面性、粗糙度、金属性和纹理。
Add Diverse Objects.
将原始演示中被操纵的对象替换为新的对象
由于物体形状不同,直接回放相同的轨迹将不起作用。相反,我们用高斯噪声扰动原始演示中的动作序列,以生成新的轨迹。这些轨迹提供了合理的操纵策略,但与原始轨迹略有不同。通过在模拟器中进行高成本效益的采样,我们可以枚举扰动,直到它成功为止。需要注意的是,这种技术在现实世界的演示中是可行的
Randomize Object Pose.
简单的策略可以是首先将机器人末端执行器移动到一个新的初始姿势,机器人和物体之间的相对姿势与原始演示一致,使我们能够回放相同的动作序列来完成任务。尽管这种方法成功地生成了新的轨迹,但它为下游的模仿学习提供了最小的帮助
为了解决这一问题,我们提出了灵敏度感知运动学增强 Sensitivity-Aware Kinematics Augmentation,以随机化对象姿态进行人类演示。
该方法包括两个步骤:(i)将整个轨迹划分为几个分段,并计算每个分段的灵敏度;(ii)基于所述灵敏度修改所述末端执行器姿势轨迹以计算所述新动作。
(i) Sensitivity(敏感度 灵敏度) Analysis for Trajectory Segments
灵敏度与对动作噪声的鲁棒性有关。例如,与手远离的状态相比,当手靠近物体时的预抓握状态具有更高的灵敏度。
轨迹段ψ的鲁棒性(灵敏度的乘性逆)可以用数学方法定义如下:
我们将长度为N的原始动作轨迹τ划分为M个片段,每个片段的大小为K=N/M
然后,我们通过将尺度为的高斯噪声添加到原始动作来扰动分段seg内的动作,同时保持该分段外的所有动作不变,以生成扰动轨迹τ′
eval是一个二元函数,指示动作轨迹是否可以成功解决任务
这种敏感性指导我们如何调整动作来处理新的对象姿势。在实践中,我们逐步增加应用于原始动作轨迹的噪声尺度δa,直到任务无法确定最大δa
(ii) New End Effector Pose Trajectory.
为了适应新的物体姿态,末端执行器的总姿态变化应与物体姿态的变化∆T相同
每一个动作都为这种变化贡献了一小部分。我们根据敏感性将此“任务”分配到每个步骤:
在这个方程中,ψsegj是归一化鲁棒性,∆tj表示每一步的姿态修改,同一段中的所有状态负责相同数量的修改“任务”,以重新计算新的动作。fi是se(3)空间中的相似变换,将运动从世界坐标系转换为当前末端执行器坐标系。
从直观上看,鲁棒性越高的片段所承担的变化越显著。
上面讨论的所有动作仅适用于末端执行器的6d delta姿势,不包括灵巧手的手指运动。对于诸如拾取放置或倾倒等任务,也涉及目标姿势(例如,拾取放置中的盘子姿势或倾倒中的碗姿势),我们可以将相同的增强策略应用于目标姿势
Learning Sim2Real Policy
给定一个增强模拟数据集,我们训练了一个视觉操作策略,该策略以图像和机器人本体感觉作为输入来预测机器人的动作。
In human teleoperation demonstrations, robot movements are neither Moravian??? nor temporally correlated.
为了解决这个问题,我们的策略被训练为预测动作块而不是每步动作,使用Action Chunking with Transformers(ACT) 这种方法产生了更平滑的轨迹,减少了复合误差
机器人控制器仍然存在类似的差距
控制器间隙会严重影响非准静态任务,如旋转阀门,如图1第二行所示。为了缩小这个差距,我们使用一小组真实世界的演示(3分钟的轨迹)来微调我们的网络。
然而,由于人类样本的数据收集模式在模拟和现实之间存在差异,对真实数据进行直接微调有过拟合的风险。为了确保更平滑的sim2real传输,我们采用了几种技术:
Automatic Curriculum Learning.
Curriculum learning and data augmentation技术经常一起使用,以提供更顺畅的训练过程。
我们将3.2节中的增强分为四个级别,以增加复杂度,如图2所示。
首先,我们通过基于视觉的远程操作收集模拟和真实演示。在此之后,我们在模拟数据上训练策略,并结合提出的数据增强技术。在训练过程中,我们应用自动课程学习,根据任务表现逐步增强随机性尺度。最后,在将策略部署到现实世界之前,使用一些实际演示对其进行微调。
根据算法1,我们从最简单的层次开始训练,l = 0,表示没有增广
然后经过几步训练后评估任务成功率。评估难度与当前水平l保持一致
当成功率超过预定义的阈值时,我们进入下一个级别,这将带来更大的增强和更难的评估。
如果成功率未能达到阈值,我们创建额外的增强训练数据并保持在当前水平。
我们继续这个迭代过程,直到所有的关卡都完成。
为了防止无休止的训练,我们引入了一个故障安全,如果策略在次的评估中反复失败,我们也会进入下一个级别。
这种课程学习方法很大程度上依赖于数据增强技术,以适当的随机化水平动态生成训练数据。这一概念与典型的监督学习场景形成鲜明对比,后者的数据是在训练之前预先建立的。这种随需应变的数据生成和定制突出了模拟数据相对于实际演示的优势。
Action Aggregation for Small Motion.
人类的演示通常包括噪音,特别是在灵巧的手操作时。例如,在演示轨迹中可能发生轻微的震动和无意的停止,潜在地破坏了训练过程。
为了解决这个问题,我们将以小动作为特征的步骤聚合在一起,将这些动作合并为单个动作。在实践中,我们为末端执行器和手指运动设置阈值,以辨别给定的运动是否符合小的条件。
通过聚合过程,我们可以消除人类动作中的小操作噪声,使模仿学习策略能够从状态-动作轨迹中提取有意义的信息。
Experiment Setups
我们的实验设计旨在解决以下关键问题:
- 在鲁棒性和泛化性方面,基于模拟的数据增强与从真实演示中学习相比如何?
- 我们的自动课程学习如何有助于改善政策学习?
- 模拟数据和真实数据之间的理想比例是多少,以便为现实世界的机器人训练有效的策略?
Dexterous Manipulation Tasks
在现实世界和模拟环境中设计了三种类型的操作任务:
- 两个准静态任务(拾取和放置,倒 pick and place, pour)
- 一个非准静态任务(旋转)
动作空间包括机械臂的6维delta末端执行器位姿和灵巧手的16维手指关节位姿,手臂和手均采用pd控制
- Pick and Place:要求机器人将物体从桌子上抬起并放置在一个盘子上
- Rotate.:要求机器人旋转工作台上的阀门,我们使用三阀进行数据采集,并对四阀和五阀进行了测试
- Pour.:要求机器人将瓶子里的小盒子倒进碗里。(i)举起瓶子;(ii)移动到靠近碗的地方;(iii)旋转瓶子,将小盒子放入碗中。
对于每个任务,我们都为数据增强(第3.2节)和课程学习(第3.3节)设计了级别
Baselines
我们的方法可以解释为使用增强模拟演示的初始预训练阶段,然后使用有限的真实数据集进行微调。
将我们的方法与其他机器人操作的预训练模型进行比较
选择了三个具有代表性的视觉预训练模型。
- PVR:基于MoCo-v2构建,使用在imagenet[57]上训练的resnet50骨干网络
- MVP采用蒙面自动编码器的自监督学习[27]来训练来自多个现有数据集编译的广泛的人类交互数据集的单个帧的视觉表示。MVP集成了一个视觉转换器[19]主干,将帧分割成16x16块。
- R3M提出了一种预训练方法,其中使用时间对比学习、视频语言对齐和l1正则化混合训练resnet50骨干网。该模型是在一个来自ego4d的大规模人类互动视频数据集上训练的[22]。
Results
Main Comparison
增强的模拟数据显着提高了现实世界的灵巧操作。Augmented simulation data markedly boosts real-world dexterous manipulation.
在我们的研究中,我们比较了四个不同任务的性能:(a)挑选和放置瓶子,(b)挑选和放罐子(探索不同的抓取方法),(c)倾倒(抓取瓶子并将其内容物倒入碗中),以及(d)旋转三阀。我们在四个级别的真实世界场景中对模型进行评估。这些级别包括:(a)级别1:域内,(b)级别2:位置外,(c)级别3:随机光,和(d)级别4:位置外和随机光
在所有任务中平均表现出31.67%的平均性能提升
我们的方法显示出对这些变化的弹性
这种方法不仅弥补了sim2real的差距,提高了域内真实世界任务的性能,而且显著改进了域外真实世界场景中的操作。
Generalization to Novel Objects
对新对象进行挑选和放置的泛化。我们将我们的方法与涉及新对象、随机光干扰和随机对象位置的场景中的基线进行比较。
图5。对用于旋转的新对象的泛化。该任务的实验设置反映了“对新对象进行拾取和放置的泛化”实验的设置。
Ablation on Data Augmentation
一项消融研究,其中我们的策略用四个级别的增强进行训练。如表2所示,随着数据扩充的增加,该策略在模拟和真实世界环境中都表现得更好,并且在所有四个级别上训练的策略在所有度量中都表现出色。有趣的是,即使在模拟中,当训练数据中引入更多随机性时,该策略也能更有效地解决更简单的设置。这些实验强调了基于模拟器的数据扩充的重要性。
消融数据增强。为了证明数据扩充的好处,我们在不同的层次上使用了自动课程学习。我们进行了200次模拟,以在模拟环境中测试其影响,并进行了20次真实世界测试,以评估其在实际环境中的有效性。
Ablation on Auto-Curriculum Learning
与基于模型性能的方法相比,仅基于数据生成率使用具有自动领域随机化的课程学习会产生较差的结果。
我们比较了三种不同的设置:(1)基于成功率的自动课程学习。(2) 基于数据生成率(成功生成的轨迹与尝试总数的比率)的自动课程学习。(3) 仅基于数据生成率的自动域随机化。
Ablation on Ratio of Sim and Real Demos
我们观察到,仅对50个真实演示进行训练会导致性能不佳,并且策略过拟合到关节位置,而不是利用图像中的视觉信息。通过15次仿真演示和35次实际演示,获得了最佳效果。这些结果突出表明,收集模拟数据可能非常有价值,考虑到数据收集成本显著降低,更是如此
消融模拟和真实演示的比例。在保持演示总数不变的情况下,我们比较了不同数量的模拟演示和真实演示所产生的性能。
Discussion
我们通过证明广泛的数据扩充可以使模拟数据比真实世界的展示更有价值来挑战这一概念,这一事实也得到了我们实验的支持。
然而,由于我们的方法不需要像强化学习任务那样设计特定的奖励,这通常是最具挑战性的方面,因此所需的总体努力并不显著。