这篇文章是爆火的斯坦福机器人炒虾的一篇文章:
https://arxiv.org/abs/2304.13705
主页:
https://tonyzhaozh.github.io/aloha/
文章中,提出了一种新的方法。
那么它的目的,
是使低成本且精度较低的机器人硬件 能够 执行精细的操作任务。
通常,这类任务需要高端机器人、精确的传感器或仔细的校准。成本高昂、设置复杂。
为了解决这些问题,
研究者们提出了一种名为“Action Chunking with Transformers”(ACT)的算法。该算法通过模仿学习(imitation learning)从真实的人类示范中直接学习,
以执行端到端的任务。
ACT算法的主要贡献在于它能够克服模仿学习中的几个挑战,特别是在高精度领域中,
如错误累积和人类示范的非稳定性。通过学习动作序列的生成模型,ACT使得机器人能够在现实世界中学习执行六种复杂的任务。包括打开半透明调味品杯盖和插入电池等,成功率高达80-90%,并且只需要大约10分钟的示范数据。
精细操作任务涉及精确的闭环反馈,需要高度的手眼协调能力来调整和重新规划,以响应环境的变化。比如说,开一个盖子,放一个电池,涉及到 delicate 操作例如捏,撬,撕扯,而不是broad-stroke动作,如采摘和放置。
例如,一个初始时直立在桌子上的杯子,开瓶盖的步骤:
右爪需要先把它翻过来,然后把它推到打开的左爪里。然后左手的握柄轻轻地合上,把杯子从桌子上拿起来。接下来,右手的一个手指从下面靠近杯子,撬开盖子。
那么毫无疑问,这些步骤都得需要非常精准的、高精度的一个协调。毫米级的误差会导致任务失败。于是,本文就提出了一种在low-cost系统下,用于学习和执行精细操作任务的模型。
1、低成本系统的开发目标:
▪ 开发一个低成本且可重复使用的系统,使其具有高精度和丰富的接触能力。
▪ 通过学习来解决低成本硬件带来的感知和规划挑战。
2、端到端策略的优势:
▪ 对于精细操作任务,学习策略比建模整个环境更简单。
▪ 例如,
建模推动杯子和撬开盖子的接触和变形涉及复杂的物理特性,而学习这些操作的策略则相对简单。
3、系统组件:
▪ 远程操作系统(ALOHA):设计了一个低成本的远程操作系统,使用两套现成的机器人臂,通过关节空间映射进行远程操作。系统还包括3D打印组件,以提高回驱性能,总预算约为2万美元。下文会有详细介绍。
▪ 模仿学习算法:提出了一个名为Action Chunking with Transformers (ACT)的新型模仿学习算法,该算法通过预测未来多个时间步的关节位置,减少任务的有效时间范围,从而减轻误差累积问题。此外,还引入了时间集成技术,以提高策略的平滑度。
4、实验结果:
▪ 该系统在模拟和真实世界中的一系列精细操作任务中表现优异,包括打开半透明调味品杯和安装电池,成功率高达80-90%。
▪ 仅需10分钟或50个示范轨迹即可学习这些技能
ALOHA: 一个用于手动远程
操作的低成本开源硬件系统
该系统作者自己搭建的一个系统,专门为双臂远程操作设计的。用于执行精细操作任务。
设计原则(五个,这是作者在原文中直接列举出来的,如上图),也就是下面这几个:
1、低成本:整个系统的成本应适合大多数机器人实验室,与单个工业机械臂相当。
2、多功能:适用于各种涉及真实物体的精细操作任务。
3、用户友好:系统应直观、可靠且易于使用。
4、可维修:研究人员可以轻松维修系统,即使在不可避免的损坏情况下。
5、易构建:研究人员可以快速组装系统,使用容易获取的材料。
那么结合着上面的标准,选择什么样合适的机械臂呢?作者给出的答案是选择 ViperX 6-DoF 机械臂和定制的 3D 打印手指,理由如下:
▪ ViperX 6-DoF 机械臂:选择了两个 ViperX 6-DoF 机械臂,因为它们符合低成本、可维修和易构建的原则。每个机械臂的工作负载为 750 克,跨度为 1.5 米,精度为 5-8 毫米。模块化设计使得电机故障时可以轻松更换低成本的 Dynamixel 电机。
▪ 定制的 3D 打印手指:原装手指不够灵活,因此设计了透明的 3D 打印手指并贴上了抓握带,提高了可视性和抓握力,特别是对于薄塑料薄膜。
那么,根据上面所说的设计原则和硬件标准,怎么样去设计实验呢?
1、远程操作系统的用户友好设计:
- 关节空间映射:使用较小的 WidowX 机械臂作为“领导者”,通过关节空间映射同步控制较大的 ViperX 机械臂(“跟随者”)。相比任务空间映射,关节空间映射具有以下优势:
1)高带宽控制:在接近机器人奇异点的情况下,保证了高带宽控制,减少了计算量和延迟。
2)防震和速度控制:领导者的重量防止用户移动过快,并减少了小振动,提高了精细任务的性能。
- 改进的远程操作体验:
▪ 3D 打印的“把手和剪刀”机制:减少了操作者驱动电机所需的力,实现了连续的夹爪控制。
▪ 橡胶带负载平衡机制:部分抵消了领导者的重力,减少了操作者的努力,使长时间的远程操作成为可能。
2、系统的其他组成部分
▪ 机器人笼:使用 20x20 毫米的铝型材和交叉的钢缆加固。
▪ 摄像头:总共四个 Logitech C922x 摄像头,每个摄像头流式传输 480x640 RGB 图像。两个摄像头安装在跟随者机器人的手腕上,提供夹爪的特写视图;另外两个摄像头分别安装在前方和顶部。
▪ 数据记录和远程操作频率:系统以 50Hz 的频率进行数据记录和远程操作。
系统性能方面:
▪ 精细任务:如穿线扎带、从钱包中取出信用卡、打开或关闭密封袋。
▪ 接触丰富的任务:如插入 288 针 RAM 到计算机主板、翻书页、组装 NIST 板上的链条和皮带。
▪ 动态任务:如用真实的乒乓球拍接抛乒乓球、保持球不掉落、在空中挥动塑料袋。
总结来说就是,ALOHA 系统通过低成本、多功能、用户友好、可维修和易构建的设计原则,成功实现了高性能的双臂远程操作,适用于多种精细操作任务。该系统不仅在性能上媲美甚至超越了成本更高的系统,还通过开源和详细的教程使其更容易被广泛采用。图示如下:
那么在下面一部分,就详细介绍了名为 Action Chunking with Transformers (ACT) 的新型模仿学习算法。
Action Chunking with
Transformers (ACT)
训练流程(How to train)
1、数据收集:使用 ALOHA 系统收集人类演示数据,记录领导者的关节位置作为动作输入。
2、观察数据:观察数据包括跟随者机器人的当前关节位置和来自四个摄像头的图像流。
3、训练目标:训练 ACT 以预测给定当前观察下的未来动作序列。每个动作对应于下一个时间步的双臂目标关节位置。
那么,
这里有一个非常重要的挑战(challenage):就是模仿学习的误差累积问题:先前动作的误差可能导致状态超出训练分布范围。
就是说,它会有误差累计,前面错了一点儿点儿,可能会导致后面错得更多。
所以,针对于这个问题,作者提出了chunking action的观念。
来看设计理念:
A. 动作分块和时间集成
这部分,主要就是用来chunking action,然后解决上面我们所说的challenage的:
1. 动作分块(如上图所示):
▪ 每 k 步,代理接收一个观察,生成接下来 k 个动作,并依次执行这些动作。
▪ 动作分块有助于建模非马尔可夫行为,特别是在人类演示中存在时间相关干扰的情况。
2. 时间集成:
▪ 为了避免每 k 步突然纳入新环境观察导致的机器人运动突变,我们在每个时间步查询策略。
▪ 不同的动作分块相互重叠,每个时间步会有多个预测动作。
▪ 使用时间集成对这些预测进行指数加权平均。
B. 建模人类数据
这个就主要和模型的结构有关系了:
我们可以看一下,
也就是它在Encoder部分是如何进行设计的(重点关注输入和输出的什么内容):
▪ CVAE 由编码器和解码器组成,编码器用于训练解码器并在测试时丢弃。
▪ 编码器预测风格变量 zz 的均值和方差,解码器(即策略)基于 z 和当前观察(图像 + 关节位置)预测动作序列。
▪ 测试时,将 z 设置为先验分布的均值(即零)以确定性解码。
▪ 模型训练目标是最小化演示动作分块的负对数似然,包括重构损失和正则化项。
ACT架构
下面是对于整个ACT模型框架的解读,同时包含了图像的维度和特征数: