CoRL 2022 · 机器人操作

Perceiver-Actor: A Multi-Task Transformer for Robotic Manipulation

语言条件化、体素化、单一多任务 Transformer agent
Mohit Shridhar · Lucas Manuelli · Dieter Fox  |  University of Washington, NVIDIA

PerAct 是一个语言条件化的 behavior cloning agent,采用 Perceiver Transformer 对体素化 RGB-D 场景与自然语言目标进行联合编码,通过检测"下一个最优体素动作(next best voxel action)"输出离散化的 6-DoF 末端执行器姿态。单一多任务模型在 RLBench 18 个任务(249 种变体)上仅用少量演示训练,性能大幅超越 image-based 基线(+34x)和 3D ConvNet 基线(+2.8x)。

CoRL 2022 18 RLBench Tasks 6-DoF Manipulation 📄 arXiv:2209.05451 Project Page
robotic manipulation behavior cloning language-conditioned voxel representation Perceiver Transformer 6-DoF manipulation multi-task learning RLBench 机器人操作 语言条件控制

01 动机 Motivation

机器人操作任务需要对多样化的物体、空间位置和语言指令进行泛化——而现有方法要么依赖目标物体的显式检测与位姿估计,要么只能处理 2D 图像输入,难以有效利用 3D 空间结构先验。如何用单一模型、在极少演示下学会多种 6-DoF 操作任务?

"Rather than explicitly detecting or tracking objects, we want to learn perceptual representations of actions conditioned on language goals."
PerAct 任务多样性展示
图 1:PerAct 在 RLBench 18 个操作任务(249 种变体)上的展示,涵盖抓取、推拉、开关门抽屉、堆叠、倒液体等多种交互类型。图中展示了语言指令(如 "open the middle drawer"、"put the green block in the green bowl")与对应的操作场景。
18RLBench 仿真任务
249任务变体数量
34×vs Image-BC 基线提升
2.8×vs C2FARM-BC 提升

核心问题

传统机器人操作方法存在以下主要挑战:

02 方法 Method

PerAct 将操作任务转化为"体素动作检测"问题:给定多视角 RGB-D 图像与语言指令,在离散化的 3D 体素空间中预测末端执行器的下一个最优位置与方向,输出包含平移、旋转、开合状态和碰撞规避在内的完整 6-DoF 动作。

PerAct 整体架构
图 2:PerAct 整体架构。左侧:4 台 RGB-D 相机的点云融合为 100×100×100 体素网格,每个体素携带 RGB、占据和法向量特征;底部:语言指令通过预训练语言编码器(CLIP)转化为 token 序列。中部:Voxel Encoder 将体素序列与语言 token 拼接,输入 PerceiverIO Transformer,通过 cross-attention 压缩至 2048×512 latent 向量,再经多轮 self-attention 深度处理。右侧:Voxel Decoder 通过 cross-attention 输出每个体素的动作得分,Maxpool 后分别预测平移(Q_trans)、旋转(Q_rot)、开合(Q_open)和碰撞(Q_collide)。

体素化观测表示(Voxelized Observation)

来自 4 台 RGB-D 相机的点云被融合并离散化为 100×100×100 的体素网格(voxel grid),空间分辨率约 1cm/voxel。每个体素存储 RGB 颜色、占据状态(0/1)与法向量,构成结构化的 3D 场景表示。体素按 Vision Transformer 方式切分为 patch,展平后与位置编码(positional embedding)相加,输入 PerceiverIO Transformer。

PerceiverIO Transformer 结构
图 3:PerceiverIO Transformer 结构。输入体素 token(100万+维度)先通过 cross-attention 压缩至小型 latent 数组(2048×512),随后多轮 self-attention 在 latent 空间高效处理,最后再次通过 cross-attention 解码输出体素级别的动作分数。该设计将 self-attention 的计算复杂度从 O(N²) 降至 O(NM)(N≫M)。

语言条件化(Language Conditioning)

自然语言指令(如 "open the middle drawer")通过预训练的 CLIP 语言编码器转化为 token 序列,与体素 token 序列拼接后共同输入 Perceiver。此设计允许 agent 通过语言指令区分任务变体(如颜色、位置、类别等),实现对未见过的物体实例的零样本泛化。语言特征与视觉特征在同一 latent 空间中通过 cross-attention 融合,无需额外的跨模态对齐模块。

动作输出(Action Representation)

PerAct 将 6-DoF 末端执行器动作分解为:

训练目标为所有输出的交叉熵损失之和:L = L_trans + L_rot_x + L_rot_y + L_rot_z + L_open + L_collide

训练细节

使用 keyframe-based 的 behavior cloning:每条演示轨迹提取关键帧(速度接近零且夹爪状态改变处),以此作为监督信号。数据增强包括对体素网格施加随机颜色 jitter 和随机平移。模型在单台 GPU 上训练,不同任务共享一个多任务模型(single multi-task agent),每次输入的语言指令决定当前任务。

03 实验 Experiments

实验在 RLBench 仿真环境(CoppeliaSim + PyRep)中进行,使用 4 台 RGB-D 相机;并在真实 Franka Panda 机械臂上进行了 7 个现实任务的验证。评估指标为每个任务的成功率(success rate),以 100 次评估为准(仿真),每次最多 25 步。

基线方法

PerAct 在 RLBench 18 个任务上的多任务性能对比
图 4(Table 1):RLBench 18 个任务的多任务成功率(%)对比。每个任务以 10 或 100 个 demonstrations 训练,25 次评估取平均(以 episodes 为单位)。PerAct 在绝大多数任务中显著领先,整体平均成功率从 C2FARM-BC 的约 26% 提升至约 49%(100 demos)。Image-BC (CNN) 在多数任务成功率接近 0,C2FARM-BC 是最具竞争力的基线。
方法10 Demos 平均成功率100 Demos 平均成功率相对 C2FARM-BC 提升
Image-BC (CNN)~1%~1%
Image-BC (ViT)~1%~4%
C2FARM-BC~20%~26%基线
PerAct (ours)~29%~49%+2.83× (100 demos)

关键发现

消融实验(Ablations)

论文(Appendix G)分析了以下因素:

真实机器人实验

在 Franka Panda 机械臂上验证了 7 个真实任务(18 种变体),每任务仅使用 5–10 个人工演示,成功率优于从头训练的 C2FARM-BC,且无需任何 domain adaptation,展示了 3D voxel 表示在 sim-to-real 方面的优势。

04 局限性 Limitations

Note:以下局限性部分来自论文正文的明确陈述(标注 stated),部分为从方法设计推断(标注 inferred)。
静态 keyframe 动作表示的局限性(stated)

PerAct 使用 keyframe-based behavior cloning,仅在关键帧处预测动作,默认采用线性插值运动规划器(motion planner)连接关键帧。论文明确指出:"our observations and actions are colorless and motionless",不建模非关键帧的连续轨迹,对高度动态或时序依赖的操作任务(如抓取移动物体)不适用。

计算量与内存开销(inferred)

100³ 体素网格在每步推理时需处理约 100 万个体素 token,即便 PerceiverIO 通过 latent 压缩将复杂度降至 O(NM),仍需显著的计算资源。论文未报告单步推理时延,在实时机器人控制场景下可能存在瓶颈。

演示数量上限与容量瓶颈(stated)

论文实验显示 PerAct 在增加演示(从 10 到 100)时持续涨点,但同时指出额外训练 demonstrations 带来的提升"likely due to insufficient capacity",说明当前模型容量可能仍是瓶颈,在演示数量更大时需要更大的模型或更高效的训练策略。

依赖结构化场景与标定相机(inferred)

方法依赖多台标定好的 RGB-D 相机重建 3D 体素场景,对相机标定精度和场景光照条件敏感。在无结构化环境(如非实验室场景)或单相机设置下,3D 重建质量下降会直接影响体素空间中的动作预测精度。

高精度任务成功率仍有差距(stated)

对于 insert peg、place cups、stack blocks 等高精度任务,PerAct 成功率仍显著低于 65%,论文明确指出"a few centimeters or degrees could lead to unrecoverable failures",这类任务对当前 ~1cm 体素分辨率和 5° 旋转精度仍构成挑战。