一句话定位
Tony Zhao 等人用两对现成的 Trossen 机械臂(大臂做 follower、小臂做 leader)加一堆 3D 打印件,搭出总价不到 2 万美元、能实时遥操作精细双臂任务的开源平台 ALOHA,并配上一个 80M 参数的策略 ACT(Action Chunking with Transformers):把”预测下 k 步动作块”当成核心设计,用 CVAE 建模人类演示的噪声与多模态,只靠每个任务 50 条(约 10 分钟)真机演示就在开合条形袋、装电池、开调料杯等 6 个精细任务上做到 80–90% 成功率。这套”低成本遥操作硬件 + 动作分块策略”后来长成了整条 ALOHA 数据采集生态(Mobile ALOHA、ALOHA 2、ALOHA Unleashed),而动作分块(action chunking)本身成了 Pi0、OpenVLA 一代 VLA 策略的标配。
背景与定位
论文出自 Stanford IRIS lab,作者 Tony Z. Zhao、Vikash Kumar(Meta)、Sergey Levine(UC Berkeley)、Chelsea Finn(Stanford),2023 年 4 月挂 arXiv,发表于 RSS 2023。它要回答一个很具体的问题:精细操作(fine manipulation)——穿束线带、给遥控器插电池、撬开调料杯盖这类需要毫米级精度、闭环视觉反馈、丰富接触力协调的任务——过去只能靠昂贵的高端机器人 + 精密传感器 + 仔细标定来做,那么能不能反过来,用便宜且不精密的硬件、靠学习来补偿硬件的不精确?
作者的判断是能,但要同时解决两端。硬件端:现有遥操作系统要么贵(DexPilot ~10 万美元、Shadow 遥操作系统 ≥40 万美元),要么用了专用编码器/传感器/机加工件,非专家难以复现。算法端:模仿学习(尤其行为克隆 BC)在精细任务上有两大顽疾——复合误差(compounding error,单步误差沿时间累积把机器人推出训练分布,Ross et al. 的经典问题)与人类演示的非平稳/多模态(同一观测下人会走不同轨迹,还会在演示中途停顿,形成时间相关的混淆因子)。
论文把自己和几条线对照:遥操作硬件上最接近 Kim et al. 的 leader-follower 关节空间映射,但 ALOHA 不用任何专用编码器/传感器/机加工件;算法上直接对标当时的模仿学习基线 behavior-transformer-bet(BeT,离散化动作 + 冻结视觉编码器 + 单步预测)、rt-1(RT-1,Transformer + 离散动作 token + 固定历史)、以及 implicit-bc-ibc 一脉的行为克隆改良。ACT 的破局点是**把动作分块(action chunking)**这个来自神经科学的概念搬进策略:不是一步步预测,而是一次预测未来 k 步动作并成块执行,直接把任务的有效时域缩短 k 倍。本条目归 data 类:它最持久的遗产不只是 ACT 这个算法,而是那套人人可复现的低成本双臂遥操作数据采集平台,以及”leader 关节位置即动作标签”的采集范式。
模型架构
ACT 是一个训练成条件变分自编码器(CVAE)的动作分块策略,总参数约 80M,每个任务从零单独训练。结构分两半(Fig. 4 / Fig. 11):
CVAE 编码器(仅训练时用,测试时丢弃):一个 BERT 式 transformer encoder。输入是当前 follower 关节位置 + 一段长度 k 的目标动作序列(来自演示数据),前面拼一个学习到的 [CLS] token,构成 k+2 长度的序列。为加速训练,编码器不吃图像,只吃本体感受(关节)+ 动作序列。过 transformer 后取 [CLS] 对应的特征,预测 32 维”风格变量” z 的均值与方差(对角高斯),用重参数化采样。
CVAE 解码器(即策略):吃当前观测(4 路图像 + 关节)+ z,预测未来 k 步动作。图像路径:每张 480×640×3 RGB 先过 ResNet18 backbone → 15×20×512 特征图 → 沿空间展平成 300×512 序列,加 2D 正弦位置编码;4 路相机拼成 1200×512;再追加两个特征(当前关节位置、风格变量 z,各经线性层投到 512),得到 1202×512 输入 transformer encoder。Transformer decoder 以固定位置编码为 query、encoder 输出为 key/value 做 cross-attention,输出 k×512,再经 MLP 下投到 k×14。ACT 的模型定义改自 DETR(ACT README 明说 “Model definitions of ACT, modified from DETR”)。
动作与 action-conditioning:观测 = 两臂 follower 当前关节位置(7+7=14 DoF)+ 4 路 RGB;动作 = 两臂绝对目标关节位置的 14 维向量(论文特别指出用绝对目标关节位置比用 delta 关节位置效果更好)。分块后策略一次输出 k×14 张量,建模 πθ(a_{t:t+k}|s_t) 而非 πθ(a_t|s_t)。用动作而非 follower 状态作为标签的关键在于:leader 与 follower 之间的位置差通过底层 PID 隐式定义了施加的力,因此记录 leader(master)关节位置作为动作,比记录 follower 位置更能保留人类施力信息。目标关节位置最终交给 Dynamixel 电机内部的高频 PID 控制器跟踪。
两个推理期技巧:(1) 朴素分块每 k 步才换一次观测、动作会抖,于是每个时间步都 query 策略,让相邻动作块重叠;(2) 时间集成(temporal ensembling):对同一时间步、来自不同块的多个预测做指数加权平均 w_i = exp(−m·i)(w0 为最老动作的权重,m 越小越快吸收新观测)。注意这是对”同一时刻”的多个预测求平均(不引入平滑偏置),只增加推理算力、不增训练成本。测试时 z 直接置零(先验均值),策略输出确定化。ACT 超参(Table III):lr 1e-5、batch 8、encoder 4 层、decoder 7 层、ff 维 3200、hidden 512、8 头、chunk size k=100、β=10、dropout 0.1(项目页提到实机 4 个任务用 k=90,episode 长 600–1000 步)。
数据
任务集:6 个真机任务(Slide Ziploc 开条形袋、Slot Battery 插电池、Open Cup 开调料杯、Thread Velcro 穿魔术贴束线带、Prep Tape 挂胶带、Put On Shoe 穿鞋)+ 2 个 MuJoCo 仿真任务(Transfer Cube 传方块、Bimanual Insertion 双臂插销)。8 个任务全部要求精细双臂协调,且物体本身有强感知挑战(条形袋透明、调料杯半透明、黑色束线带在黑桌面上低对比度,都不适合深度相机)。
规模与采集:每个真机任务录 50 条演示(Thread Velcro 例外,录 100 条)。每条 episode 人操作耗时 8–14 秒,在 50Hz 控制频率下对应 400–700 个时间步;因此每个任务约 10–20 分钟有效演示数据,含重置和操作失误的墙钟时间约 30–60 分钟。摘要口径即”仅 10 分钟 / 50 条演示”。仿真任务采两类演示各 50 条成功轨迹:脚本策略生成的和人类遥操作生成的(仿真里也用 ALOHA 的 leader 臂控制仿真机器人,操作者看屏幕上的实时渲染)。
数据格式与采集范式:观测 = 4 路相机(每路 480×640 RGB,实机 30fps 流、录制 50Hz)+ 两臂 follower 关节位置;动作 = leader 关节位置。所有数据以 hdf5 存储(GitHub record_episodes.py)。作者强调人类演示天然随机:即便同一人采集,空中交接胶带这类子任务每次交接位置都不同(人没有视觉/触觉参照),因此策略必须学”两爪不能相撞、左爪总要移到能抓到胶带的位置”,而不是死记交接点——这正是需要 CVAE 建模多模态的动机。
成本对照(Appendix A):ALOHA 本体 $18k、加相机等选配后 $20k。对照 DexPilot(Allegro 手 + KUKA iiwa,$100k/单臂手)、Robotic Telekinesis 一脉($18k/单臂手)、Shadow 遥操作系统(双 Shadow 手 + UR10,≥$400k)。作者从 3 段 Shadow 演示视频里挑出 15 个用例试图用 ALOHA 复现,成功复现 14/15(唯一做不到的是 Baoding 球手内旋转,因为 ALOHA 用的是平行夹爪不是灵巧手)。
训练方法
目标函数:标准 CVAE / β-VAE 目标,最大化演示动作块的对数似然 min_θ −Σ log πθ(a_{t:t+k}|s_t),展开为两项——重建损失 + 把编码器正则到高斯先验的 KL 项,用超参 β 加权(β=10,β 越大 z 传递的信息越少)。重建用 L1 损失而非 L2(作者发现 L1 对动作序列建模更精确)。
训练/推理算法(Algorithm 1/2):训练时从演示数据采 (o_t, a_{t:t+k}),编码器 q_φ(z|a_{t:t+k}, ō_t) 采 z(ō_t 是去掉图像的观测),解码器 π_θ(â_{t:t+k}|o_t, z) 预测动作块,L = L_reconst(MSE/L1) + β·L_reg(KL),Adam 更新。推理时对每个时间步维护 FIFO 缓冲 B[0:T],用 z=0 预测 â_{t:t+k} 写入缓冲,取当前步所有预测做指数加权平均得到实际执行动作。
训练规模:每任务从零训练,模型约 80M 参数。真机数据因更难建模,README 建议至少训 5000 epoch 或 loss 平台后再训 3–4 倍长(tuning tips 明确说 ACT 抖动/中途停顿多半是训练不够,loss 平台后成功率和平滑度仍会继续改善)。仿真 Transfer Cube 训 2000 epoch 即可达约 90%,Insertion 约 50%。
Infra(训练 / 推理工程)
- 训练硬件:单张 11GB RTX 2080 Ti,每个任务约 5 小时训完。
- 推理:同一张 2080 Ti 上单次前向约 0.01 秒(即模型本身可 ~100Hz),实际部署在 50Hz 控制频率下闭环运行。
- 控制频率的必要性(消融/用户研究):论文专门做了 6 人用户研究证明高频遥操作对精细任务不可或缺——把频率从 50Hz 降到 5Hz(近似当时很多大网络模仿学习工作的控制频率),穿束线带耗时从 20s 涨到 33s、拆叠杯从 10s 涨到 16s,整体慢约 62%,用 Repeated Measures 检验得 p<0.001。
- 边缘/部署栈:需要”重型”主机,≥6 个 USB3 口(4 个接机械臂、2 个接相机);操作系统实测 Ubuntu 18.04/20.04 + ROS 1 noetic;相机/机器人用 udev 规则绑定固定 symlink 端口。整套硬件非专家可在 <2 小时内组装。分布式训练/并行/精度:未披露(单卡训练,无需并行)。
评测 benchmark
基线:BC-ConvMLP(卷积+MLP 的经典 BC)、behavior-transformer-bet(BeT,Transformer + 离散动作 + 冻结视觉编码器 + 单步)、rt-1(RT-1,Transformer + 离散动作 token + 固定历史)、VINN(非参数 kNN 检索)。四个基线都在 cube transfer 上仔细调过参。
主结果(Table I/II,成功率 %):
- 仿真两任务(3 seeds × 50 evals,脚本数据 | 人类数据):ACT 比次优方法在最终成功率上分别高 59%、49%、29%、20%。ACT 在 Cube Transfer 的 Transfer 阶段达 86|50,Bimanual Insertion 的 Insert 阶段 32|20;而基线普遍在前两个子任务能推进、最终成功率却低于 30%。
- 真机 Slide Ziploc / Slot Battery(1 seed × 25 evals):ACT 最终 88% / 96%,其余方法过不了第一阶段。
- 真机其余 4 任务(只对比最强基线 BeT,Table II):ACT Open Cup 84%、Thread Velcro 20%、Prep Tape 64%、Put On Shoe 92%;BeT 在这些任务上最终成功率全为 0。
- 综合口径即摘要的”6 个精细任务 80–90% 成功率”。Thread Velcro 是最弱项(每阶段成功率约减半,从第一阶段 92% 掉到最终 20%),失败源于黑色束线带低对比度、投影面积小难定位。
消融:
- 动作分块 k:关掉时间集成、单独测 k 的影响,成功率从 k=1 的 1% 升到 k=100 的 44%,k=200/400(接近开环)略降。把分块加到 BC-ConvMLP、VINN 上也一致提升,说明分块是通用有效技巧。
- 时间集成:ACT +3.3%、BC-ConvMLP +4%、VINN −20%(非参数方法从数据集取真值动作、本无建模误差,故平滑反而有害)。
- CVAE:脚本数据(确定性)下去掉 CVAE 几乎无差别;人类数据下从 35.3% 掉到 2%,证明 CVAE 目标对学习含噪声人类演示至关重要。
创新点与影响
贡献:(1) 开源、可复现、<$20k 的双臂遥操作硬件平台 ALOHA,把”精细双臂真机数据采集”的门槛从数十万美元拉到单臂研究机器人的价位,全套软硬件 + 3D 打印 + 组装教程开源;(2) ACT 算法,用动作分块 + 时间集成 + CVAE 三件套系统性缓解模仿学习在高精度域的复合误差与多模态问题,只需极小数据(50 条/任务)即可在真机精细任务上高成功率。
改变了什么:动作分块(预测动作块而非单步)此后成为真机模仿学习/VLA 策略的默认组件;“leader-follower 关节空间遥操作 + leader 关节位置即动作标签”成为主流真机数据采集范式。ALOHA 平台直接催生 Mobile ALOHA、ALOHA 2、ALOHA Unleashed,并被 Trossen 商业化成套件;ACT 与其数据格式被后续大量 VLA 工作(如 Pi0、OpenVLA 系)沿用或对标。
论文自陈局限:硬件上,低成本电机扭矩不足,做不了需要双手多指的任务(开儿童安全药瓶推压盖)、大力任务(提重物、拧开密封水瓶、拔开挤压在一起的马克笔帽)、以及需要指甲的任务(揭起自粘在一起的封箱胶、开铝制易拉罐)。算法上,报告了两个 ACT 学不会的任务:拆糖纸(10 试中拾起 10/10、双手拉扯 8/10、成功拆开 0/10,扩展协议下 5 种糖各 10 试仅 3/5 成功,归因于糖纸接缝感知困难 + 数据不足);以及平放桌面的小条形袋(能稳定拾起但后续空中操作步骤失败,归因于袋子难感知 + 拾取位置微差导致形变大变化)。作者指出预训练、更多数据、更好感知是攻克这些极难任务的方向。
原始链接
- 论文 arXiv:https://arxiv.org/abs/2304.13705 (RSS 2023)
- 论文 PDF:https://arxiv.org/pdf/2304.13705
- 项目主页:https://tonyzhaozh.github.io/aloha/
- ALOHA 硬件/遥操作代码:https://github.com/tonyzhaozh/aloha
- ACT 算法 + 仿真代码:https://github.com/tonyzhaozh/act
- 硬件组装教程(Google Doc):见 GitHub README 内链
- ACT tuning tips(Google Doc):见 ACT README 内链
一手源存档(sources/)
- aloha-act—aloha-github-readme — ALOHA 硬件/遥操作 GitHub README 快照
- aloha-act—act-github-readme — ACT 算法 GitHub README 快照
- aloha-act—project-page — 项目主页文本快照
- 论文全文 PDF:arxiv.org/pdf/2304.13705(arXiv 原文 PDF,不入 git)