Skip to main content
2026-09-03

RT-2 如何将连续动作转化为语言 Token

视觉—语言—动作模型(Vision-Language-Action Model, VLA)面对一个接口错位:语言模型预测离散 token,而机器人控制器需要连续动作。RT-2 的核心做法,是把动作也放进 token 预测接口中。

1. 动作向量是什么

以常见的末端执行器控制为例,每个时间步输出 7 维动作:

at=[Δx,Δy,Δz,Δr,Δp,Δy,g]R7\mathbf{a}_t = [\Delta x, \Delta y, \Delta z, \Delta r, \Delta p, \Delta y, g] \in \mathbb{R}^{7}

前三维是位置增量,中间三维描述旋转,最后一维 gg 控制夹爪。不同数据集对旋转和夹爪的定义并不完全相同,因此动作规范必须与模型权重一起版本化。

2. 连续值如何离散化

设第 ii 个动作维度的有效区间为 [li,ui][l_i, u_i],划分为 KK 个 bin。量化后的编号为:

q(ai)=round((K1)ailiuili)q(a_i)=\operatorname{round}\left((K-1)\frac{a_i-l_i}{u_i-l_i}\right)

量化结果再映射到词表中预留的 token。模型看到的任务因此变成:根据图像和自然语言指令,自回归生成一串动作 token。

def decode_action(token_ids, low, high, bins=256):
    indices = token_ids - ACTION_TOKEN_OFFSET
    normalized = indices / (bins - 1)
    return low + normalized * (high - low)

3. 完整数据流

RGB 图像 [B,H,W,3] ─┐
                    ├─→ VLM Backbone → 动作 Token [B,7]
语言指令 [B,L] ─────┘                    │

                           反量化 → 安全裁剪 → 机器人执行

离线评估通常停在 token 准确率,但真实机器人端还包含相机延迟、推理延迟、动作执行时长和下一帧观测。完整闭环应记录“观测—推理—执行—再观测”的时间线。

4. 复现时最容易遗漏的三件事

  1. 动作统计量来自哪个数据集切分;
  2. 旋转量使用欧拉角、轴角还是四元数;
  3. 夹爪维度是连续值、二值还是带滞回的状态机。

核心结论

  • Action tokenization 让连续控制复用语言模型的离散预测接口;
  • 动作范围与 token 偏移属于模型定义,而不是可随意替换的预处理;
  • 评估 VLA 必须同时检查 token 预测和闭环控制表现。