枢纽
机器人Ability/Inspire/X-Hand/Paxini + Unitree G1/xArm
上真机
实时
输入模态vision,language,proprioception

XL-VLA:一个 VLA 模型,操控四种不一样的灵巧手

Guangqi Jiang, Yutong Liang, Jianglong Ye, Jia-Yang Huang, Changwei Jing, Rocky Duan, Pieter Abbeel, Xiaolong Wang, Xueyan Zou(UCSD + Amazon FAR + UC Berkeley)。arXiv:2603.10158v1, 2026。 项目页 · VLAcross-embodimentdexterous handlatent action

🧠 一句话心智模型:语言有通用词汇,所以 GPT 能学一切;但每只灵巧手的「关节空间」都不一样(12 DoF、16 DoF、6 mimic 通道...),所以 VLA 想跨手训练一直头疼。XL-VLA 的解法是给所有手装一层「通用latent 翻译层」——每只手有自己的编码器/解码器,但都映射到同一个共享 latent 空间。VLA 主干只跟 latent 打交道,完全不知道下面是哪只手。换手时只换编码/解码器,VLA 完全不变。

🎯 为什么重要:每出一只新灵巧手,就要重训一次 VLA?

这是当前 VLA 领域最痛的瓶颈之一。这两年灵巧手硬件井喷:

问题规模
  • 硬件多样:Ability Hand(5 指 12 DoF mimic 6)、Inspire(12/6)、X-Hand1(12 DoF 全主动)、Paxini DexH13(4 指 16 DoF mimic 3)——自由度、肌腱耦合、关节配置完全不同。
  • 数据贵:每只手要重新遥操收集演示。XL-VLA 自己就采了 2000 段(4 手 × 10 任务 × 50 段),这还只是研究规模。
  • VLA 不能直接跨手:π0 等主流 VLA 虽然能通过调整序列长度吃下不同动作,但关节空间语义完全不对齐——「食指弯曲」在不同手上是不同维度的不同值,强行共训只会互相干扰。

更深层的问题:机器人硬件更新速度远快于数据采集速度。如果不能跨 embodiment 复用数据和模型,VLA 就永远被困在「一手一模型」的孤岛。XL-VLA 给出的答案是:把「手的特异性」吸收进一个轻量 MLP 层,让 VLA 主体完全 embodiment-agnostic

💡 核心思想:共享 latent 空间 + 每手一对 MLP

方法分两步走。第一步是独立于 VLA 训练一个跨手 latent 自编码器;第二步是把这个 latent 当作 π0 的动作 token,冻住编码/解码器,只训 VLA

第一步:跨手 latent 自编码器(无 VLA,无监督) Ability q ∈ R^12 Inspire q ∈ R^12 X-Hand1 q ∈ R^12 Paxini q ∈ R^16 每手专属 Encoder MLP E_h: q^(h) → z 共享 latent z N(µ, σ²) 重参数化 3 个约束: L1 重建 / L2 重定向 / L3 KL embodiment-agnostic 每手专属 Decoder MLP D_h: z → q^(h) 四只手的 关节轨迹 不同 DoF 但 语义对齐 第二步:把 latent 当 π0 的动作 token,冻住 enc/dec,只训 VLA π0 (PaliGemma + Action Expert) 输入:视觉 V + 语言 T + 历史 latent z_t 输出:下一 latent chunk z_(t+1)
图 1:XL-VLA 的两阶段架构。第一步无监督训练跨手 latent 空间(关键在 L2 重定向损失);第二步把 latent 接入 π0,冻住 enc/dec。

这个架构最不显然的设计是L2 重定向损失。光靠每只手各自「q → z → q」的重建,得到的 latent 仍然各自为政。作者用可微前向运动学(FK)把每只手的关节映射到指尖位置,然后要求:同一个 latent z 在不同手上解码出来,指尖相对距离和方向要一致。这就是「语义对齐」——「捏」这个动作在四只手上对应同一个 z。

🛠️ 三个损失让 latent 既准又通

损失公式(简化)作用
L1 重建$\frac{1}{|H|}\sum_h \text{MSE}(\hat{q}^{(h)}, q^{(h)})$每只手「自己能否完美还原」——保证 latent 不丢任何一只手的运动学细节
L2 重定向(核心)对拇指-食指、拇指-中指、拇指-无名指、拇指-小指 4 对,比较不同手解码后的 pinch 距离 + 方向跨手语义对齐——「捏」在不同手上是同一个 latent
L3 KL 正则$\text{KL}(q(z|q) \| \mathcal{N}(0, I))$latent 空间平滑,便于采样、插值;权重 β=10⁻⁵ 很小避免过度约束
训练数据不需要任何演示!每只手在关节限位内随机采关节向量,自编码 + 跨手解码完全自监督,无需配对的跨手轨迹
权重λ_dis=2000, λ_dir=5.0, λ_expdis=12.0, β=10⁻⁵距离项权重大(让 pinch 距离严格对齐),方向项中等,KL 很小
🔮 直觉:为什么 L2 重定向用的是「指尖距离」而不是「关节角度」?
因为关节角度在不同手上没有对应——Ability 的第 3 个关节和 Paxini 的第 3 个关节可能完全是不同的物理量。但「拇指和食指的距离」是有语义的——它就是「捏」这个动作的几何本质。用 FK 把关节映射到指尖位置,就在不同手之间建立了一个共同语言。这就是为什么 XL-VLA 能让「同一个 latent」解码出不同手上的同一个动作。
组件实现备注
VLA 主干π0(PaliGemma + Action Expert)用预训练权重初始化
动作表示64 帧 action chunk @ 20 Hz = 3.2 秒每个 chunk 编码成单个 latent向量 z
VLA 训练冻住 enc/dec,只训 Action Expert把原 π0 的 state token 替换成 latent token
数据10 任务 × 4 手 × 50 演示 = 2000 段遥操采集,双臂 xArm7 + Unitree G1
训练资源8 × NVIDIA H100,60K steps,batch 128

📊 关键结果:平均成功率 0.32 → 0.72(+40 个百分点)

维度π0(baseline)XL-VLA提升
4 只手 × 10 任务平均成功率0.320.72+40 pp(+125% 相对)
Ability Hand0.370.73+36 pp
Inspire Hand0.270.68+41 pp
Paxini DexH130.350.78(最高)+43 pp
X-Hand1(最特殊)0.290.70+41 pp
最佳任务提升:Pour Sugar0.230.88+65 pp
Sort Cans / Handover Bottle / Re-arrange Boxes0.08-0.450.55-0.95+45-55 pp
零样本(任务-手组合未见)稳定泛化(Fig.4)关键能力
关键洞察:XL-VLA 不是「在某个任务上赢了一点」,而是在 4 种差异极大的手 × 10 种任务上系统性地、大幅度地赢。最关键的:Paxini DexH13(16 DoF、4 指、3 mimic)X-Hand1(12 DoF 全主动)这种结构上和别的手「最不像」的,提升反而最大。这说明 latent 对齐确实捕捉到了「动作语义」,而不是简单记住某只手的轨迹。零样本任务-手组合(Fig.4)的成功更是证明了 latent 空间的泛化性。

🌐 在领域中的位置

RT-1 / OpenVLA(单手 + 单臂) π0 / RDT-1B(VLA + 扩散动作头) UniVLA / CycleVAE(latent 探索) XL-VLA(灵巧手 latent 跨体)⭐

XL-VLA 是「灵巧手 VLA 跨 embodiment」的代表性工作。它的策略——「用几何对齐的 latent 吸收 embodiment 差异」——比传统「在动作 token 上加 emb tag」更优雅,效果也更显著。和 UltraDexGrasp(跨物体泛化)、EAGLE(跨人形机器人)合在一起看,整个具身领域都在向「跨 embodiment 复用模型」这个方向收敛。

❓ 常见误区

latent 对齐 = 把所有手的关节角度统一到同一个维度?

不是。统一维度(如零填充到 16 维)只是工程层面,不能解决语义对齐。XL-VLA 的关键是「同一个 latent 在不同手上解码出来的指尖行为一致」,这是通过 L2 重定向损失 + 可微 FK 实现的。latent 空间本身是统一维度的,但每只手的 enc/dec 是独立的 MLP。 训练 latent 自编码器需要「配对的跨手动作」吗?

不需要,这是 XL-VLA 的一大优势。每只手只需在自己的关节限位内随机采关节向量(不依赖任何演示或 IK 轨迹),然后:(1) 自编码(自己还原自己)→ L1;(2) 同一个 latent 在别的手上解码 → L2 重定向。整个流程完全自监督,所以增加新手只需要标定 FK 即可。 为什么用 π0 作主干,而不是 RT-2 或 OpenVLA?

π0 是当前 SOTA 的 VLA 之一,且采用「flow matching action expert」设计,能输出连续动作 chunk(适合灵巧操作的高频控制)。更重要的是,π0 的 Action Expert 可以替换——XL-VLA 把原 state token 换成 latent token,冻住 enc/dec,主体照常训练。这套设计理论上也可以移植到其他 VLA。 2000 段演示够吗?是不是「数据少」限制了效果?

这正是 XL-VLA 想解决的问题——跨手训练让每只手不需要单独采 2000 段。如果按传统「每手每任务 50 段」算,4 手 × 10 任务 = 2000 段;如果再加上「新手的 0 段」,XL-VLA 的优势就出来了(零样本 transfer)。论文 Fig.4 的 unseen-task 泛化实验验证了这一点。在数据 scaling 曲线上(论文有但本卡未画),更多数据会继续提升。 「Paxini 缺小指」怎么处理?

巧思在 L2 损失里:对于缺某根手指的手,自动跳过包含那根手指的 pinch 对。Paxini DexH13 只有 4 指(无小指),所以「拇指-小指」对在评估 L2 时被丢弃。这种「软对齐」让缺指手也能纳入统一框架。