论文摘要
精细操作任务,例如螺纹电缆连接或安装电池,对于机器人来说是非常困难的,因为它们需要精确、仔细协调接触力和闭环视觉反馈 precision, careful coordination of contact forces, and closed-loop visual feedback。执行这些任务通常需要高端机器人、精确的传感器或仔细的校准,这可能昂贵且难以设置。
学习能否实现低成本和不精确的硬件来执行这些精细的操作任务?我们提出了一个低成本的系统,该系统直接从真实的演示中执行端到端模仿学习,使用自定义远程操作接口收集。然而,模仿学习提出了其自身的挑战,特别是在高精度领域:策略中的错误会随着时间的推移而复合 compound,人类演示可能是非平稳的 non-stationary。
为了应对这些挑战,我们开发了一种简单而新颖的算法,Action Chunking with Transformers (ACT) ,该算法学习动作序列的生成模型 a generative model。ACT 允许机器人在现实世界中学习 6 个困难的任务,例如打开半透明条件杯并以 80-90% 的成功定位电池这些只有 10 分钟的演示价值的任务。
重要思路
- 低成本硬件不可避免地不如高端平台精确,这使得传感和规划挑战更加明显。解决这一问题的一个有希望的方向是将学习纳入系统。One promising direction to resolve this is to incorporate learning into the system.
- 能够通过从闭环视觉反馈中学习并积极补偿误差来执行精细的任务
- 训练了一种端到端的策略,该策略将商品网络摄像头的RGB图像直接映射到动作。这种像素到动作的方式特别适合精细操作,因为精细操作通常涉及具有复杂物理特性的对象,因此学习操作策略比对整个环境建模要简单得多。 In our system, we therefore train an end-to-end policy that directly maps RGB images from commodity web cameras to the actions. This pixel-to-action formulation is particularly suitable for fine manipulation, because fine manipulation often involves objects with complex physical properties, such that learning the manipulation policy is much simpler than modeling the whole environment.
- 策略的性能在很大程度上取决于训练数据的分布,在精细操作的情况下,高质量的人类演示可以通过允许系统从人类灵巧中学习来提供巨大的价值。因此,我们为数据收集构建了一个低成本但灵巧的远程操作系统,以及一种新颖的模仿学习算法,可以有效地从演示中学习。
- 预测动作中的小错误会导致状态的巨大差异,加剧了模仿学习的“复合错误”问题 Small errors in the predicted action can incur large differences in the state, exacerbating the "compounding error" problem of imitation learning
- 从动作分块中获得灵感,动作序列如何组合在一起作为一个块,并作为一个单元执行
- 预测下 k 个时间步的目标关节位置,而不是一次只预测一个步骤,这将任务的有效范围减少了 k 倍,减轻了复合错误
- 为了进一步提高策略的平滑度,我们提出了时间集成 temporal ensembling
- 它更频繁地查询策略,并在重叠的动作块之间进行平均
相关工作
机器人操作的模仿学习
- 改进行为克隆的工作:将历史与各种架构结合起来、使用不同的训练目标、正则化regularization
- 其他工作强调模仿学习的多任务或少镜头方面multi-task or few-shot aspect、利用语言、特定的任务结构,用更多的数据扩展,可以推广到新的对象、指令或场景
- 我们通过构建一个高性能的遥操作系统和一种新的模仿学习算法,从硬件和软件两个方面解决了这一问题,该算法大大改进了以前的精细操作任务方法
解决复合错误
- BC的一个主要缺点是复合误差,以前时间步长的误差会累积起来,导致机器人偏离其训练分布,导致难以恢复的状态,这个问题在精细操作设置中尤为突出
- 减少复合错误的一种方法是on-policy interactions and expert corrections, such as DAgger and its variants
- 使用远程操作接口,专家注释可能既耗时又不自然。
- 在演示收集时间注入噪声以获得具有纠正行为的数据集,但对于精细操作,这种噪声注入可以直接导致任务故障
- 以离线方式生成合成校正数据避免这些问题
以上方法限于低维状态可用的设置,或特定类型的任务
需要从不同的角度解决复合误差问题,与高维视觉观测相兼容
本文通过动作分块来减少任务的有效范围,即预测一个动作序列而不是单个动作,然后在重叠的动作块之间进行集成,以产生准确平滑的轨迹。
Bimanual manipulation
- 早期的工作从经典控制的角度处理双手操作,具有已知的环境动力学
- 可能很耗时,而且对于具有复杂物理特性的物体来说可能不准确
- 强化学习、模仿人类演示,或学习预测将运动基元链接在一起的关键点
- 一些工作还专注于精细的操作任务,同时使用成本高得多的机器人
我们的工作转向低成本的硬件,并试图使它们能够执行高精度、闭环的任务;遥操作设置使用了领导者和追随者机器人 the leader and follower 之间的关节空间映射 joint-space mapping
ACT模块
数据采集
- joint positions of the leader robots (i.e. input from the human operator) and use them as actions.
- It is important to use the leader joint positions instead of the follower's, because the amount of force applied is implicitly defined by the difference between them, through the low-level PID controller.
- The observations are composed of the current joint positions of follower robots and the image feed from 4 cameras.
train ACT to predict the sequence of future actions given the current observations.
An action here corresponds to the target joint positions for both arms in the next time step.
ACT试图模仿操作员在给定当前观测值的情况下,在以下时间步长内会做什么
load the policy that achieves the lowest validation loss
出现的主要挑战是复合错误,即先前操作的错误导致训练分布之外的状态。
Action Chunking and Temporal Ensemble
action chunking
一种神经科学概念,将单个动作分组并作为一个单元执行,使其存储和执行更加高效
在我们的实现中,我们将块大小固定为k:每k个步骤,agent接收一个observation,生成下一个k个actions,并按顺序执行这些actions。这意味着任务的有效范围减少了k倍
Chunking can also help model non-Markovian behavior in human demonstrations.
单步策略将难以处理时间相关的混杂因素,例如演示中间的停顿,当混杂因素在一个块中时,动作块可以缓解这个问题
Temporal Ensemble
每k步突然加入一个新的环境观察,可能导致机器人运动不平稳
我们在每个时间步查询策略。这使得不同的动作块彼此重叠,并且在给定的时间步中,将有多个预测动作
使用指数加权方案 wi = exp(−m ∗ i) 对这些预测执行加权平均
合并新观察的速度由 m 控制,其中较小的 m 表示更快的合并
聚合同一时间步预测的动作
不产生额外的训练成本,只产生额外的推理时间
Modeling human data
给定相同的观察结果,人类可以使用不同的轨迹来解决任务。在精度不那么重要的地区,人类也将更加随机
因此,该策略对于专注于高精度很重要的区域非常重要。我们通过将动作分块策略训练为生成模型generative model来解决这个问题。
具体来说,我们将策略训练为conditional variational autoencoder (CVAE) 以生成以当前观察为条件的动作序列
CVAE 编码器仅用于训练 CVAE 解码器(策略),在给定当前观察和动作序列作为输入的情况下,预测风格变量 z 分布的均值和方差。为了在实践中更快地训练,我们省略了图像观察,只以本体感觉观察和动作序列为条件
CVAE 解码器
总体而言,我们发现 CVAE 目标对于从人类演示中学习精确任务至关重要
Implementing ACT
We use ResNet image encoders, a transformer encoder, and a transformer decoder to implement the CVAE decoder.
observation包括4张RGB图像,每张图像分辨率为480 × 640,两个机械臂关节位置(共7+7=14自由度)。策略在给定当前观察的情况下输出一个 k × 14 张量
ResNet18主干对图像进行处理,将480 × 640 × 3RGB图像转换为15 × 20 × 512的特征图,沿空间维度展平以获得 300 × 512 的序列。为了保留空间信息,我们在特征序列中添加了二维正弦位置嵌入 2D sinusoidal position embedding 。当前关节位置和“风格变量”z。它们分别通过线性层从其原始维度投影到 512,Thus, the input to the transformer encoder is1202×512
The transformer decoder conditions on the encoder output through cross-attention, where the input sequence is a fixed position embedding, with dimensions k × 512。transformer decoder an output dimension of k × 512, which is then down-projected with an MLP into k × 14
实验
在 MuJoCo中构建了两个模拟的精细操作任务,6个现实任务
两个仿真任务是在双臂间传递物体 Cube Transfer 和将peg插入socket Bimanual Insertion
每种操作进行50次成功的演示,所有人类的演示本质上都是随机的
实验结果将ACT与四种先验模仿学习方法进行比较。
我们将先前方法的较差性能归因于数据中的复合错误和非马尔可夫行为:行为在事件结束时显著退化,机器人可以无限期地暂停某些状态。the behavior degrades significantly towards the end of an episode, and the robot can pause indefinitely for certain states.
ACT通过动作分块来缓解这两个问题。在模拟任务中从脚本数据切换到人工数据时,所有方法的性能都有所下降:人工演示的随机性和多模式使模拟学习变得更加困难
消融实验
Action Chunking 消融
k决定了每个“组块”中的序列有多长,通过改变k来分析。k=1对应于无动作组块,k=情节长度对应于完全开环控制,机器人基于第一次观察输出整个情节的动作序列
- 性能从k=1时的1%大幅提高到k=100时的44%,然后随着k的增加而略有下降。
- 将K=2000 400时的轻微下降(即接近开环控制)归因于缺乏反应行为和难以对长动作序列建模。the lack of reactive behavior and the difficulty in modeling long action sequences
- 将AC方法应用到其他两个基线方法中,性能也获得提升,AC通常有利于模仿学习。
Temporal Ensembling消融
BC ConvMLP从TE中获益最多,增益为4%,其次是我们方法的3.3%,假设TE通过平滑建模误差而使参数方法受益匪浅
非参数方法VINN的性能下降。VINN从数据集中检索基本事实行动,retrieves ground-truth actions from the dataset,并没有遇到这个问题。
Training with CVAE 消融
用CVAE目标训练ACT来对有噪声的,包含多模态行为的人类演示进行建模
将其与没有 CVAE 目标的 ACT 进行比较
可视化了2个模拟任务的成功率,并分别用脚本数据和人工数据绘制训练图
当对脚本数据进行训练时,CVAE目标的去除几乎不会对性能产生影响,因为数据集是完全确定的。而人类数据则从35.3%大幅下降到2%。这说明CVAE目标在从人类演示中学习时至关重要。
遥操作控制频率对精细操作的影响