第96章:VLA / Foundation Model 在复合机器人上的应用¶
| 元信息 | 值 |
|---|---|
| 难度 | ⭐⭐⭐⭐(跨本体基础模型、动作 token、闭环频率与部署边界) |
| 预计时间 | 1 周(20-25 小时) |
| 前置依赖 | 复合/140_VLA移动操作,复合/150_Mobile_ALOHA与UMI,复合/20/30 控制基础 |
| 章节定位 | 跨方向前沿与博士路径:把 VLA 放进复合机器人系统,而不是把控制问题交给单个模型 |
前置自测¶
在开始本章前,请独立回答以下问题。 如果有两个以上答不出,建议先回顾对应章节。
| # | 问题 | 回顾入口 |
|---|---|---|
| 1 | π0 的 flow matching 动作头和 OpenVLA 的离散 token 动作头有什么差异? | 复合/140 |
| 2 | FAST 为什么使用 DCT 与 BPE 压缩动作片段? | 复合/140 与本章 96.4 |
| 3 | Mobile ALOHA 与 UMI 的数据接口分别适合训练哪类策略? | 复合/150 |
| 4 | WBC/MPC 为什么仍然需要高频运行? | 复合/20 与复合/30 |
| 5 | 人形或四足+臂系统中,VLA 输出若不满足稳定性约束会发生什么? | 复合/30 与 D3 调研 |
本章目标¶
- 理解 VLA / Foundation Model 在复合机器人中的接口位置和适用边界。
- 掌握离散动作 token、FAST tokenization、连续 flow matching 和 diffusion head 的核心区别。
- 能分析 S1/S2 双系统或三层系统的频率分工。
- 能设计 VLA + MPC/WBC/CBF 的安全部署架构。
- 能为博士研究判断数据、模型、控制和硬件四条路线的可行切入点。
前置依赖与下游连接¶
- 复合/140_VLA移动操作:提供 openpi、LeRobot、ACT、Diffusion Policy 的模型与部署基础。
- 复合/150_Mobile_ALOHA与UMI:提供高质量操作数据、标定和同步基础。
- 复合/20/30:提供统一动力学、MPC、WBC、安全约束和频率分层。
下游章节会继续使用本章的概念。 - 复合/270_SimToReal统一方法论、复合/人形控制章节会继续使用本章的边界分析。
96.0 知识地图:复合机器人基础模型栈 ⭐⭐¶
本章不是把多个论文名称排成清单,而是建立一棵可以复用的知识树。 根节点是任务闭环:人类给出目标,系统理解场景,策略给出动作接口,低层控制保证真实机器人安全执行。 每一个模型、数据集和开源项目都挂在这棵树上的某个位置。
复合机器人基础模型栈
├── 模型接口
│ ├── 图像-语言输入
│ ├── 本体状态输入
│ ├── 动作接口输出
│ └── 任务记忆
├── 动作表示
│ ├── 逐步离散 token
│ ├── FAST 动作 token
│ ├── 连续 flow
│ ├── diffusion chunk
│ └── EE 轨迹
├── 频率分层
│ ├── 语义 1Hz
│ ├── 视觉动作 5-50Hz
│ ├── 运动先验 50-200Hz
│ └── 控制 500-1000Hz
├── 数据来源
│ ├── 机器人遥操作
│ ├── 手持工具
│ ├── 人类视频
│ ├── 仿真合成
│ └── 网页图文
├── 部署边界
│ ├── 安全过滤
│ ├── 低层控制
│ ├── 延迟预算
│ ├── 跨本体适配
│ └── 失败恢复
本质洞察:VLA 的价值不是跳过机器人学, 而是把开放世界语义、视觉表征和任务条件转换成可被控制系统消费的动作接口。 低层控制仍然负责频率、力、稳定性和安全边界。
| 层级 | 输入 | 输出 | 典型频率 | 主要风险 |
|---|---|---|---|---|
| 任务语义层 | 语言、目标、场景记忆 | 子任务、技能选择、目标对象 | 0.2-2 Hz | 语义错解、目标歧义 |
| 视觉表征层 | RGB/RGB-D/本体状态 | 物体、可操作区域、场景 token | 5-30 Hz | 遮挡、反光、视角偏移 |
| 动作接口层 | 表征 + 指令 | EE 目标、关节片段、夹爪命令 | 5-50 Hz | 动作越界、时序漂移 |
| 控制执行层 | 参考轨迹、当前状态 | 力矩、速度、位置命令 | 100-1000 Hz | 碰撞、失稳、饱和 |
96.1 基础模型在复合机器人中的位置 ⭐⭐⭐¶
动机:Foundation Model 到底替代了哪一层?¶
这是理解 VLA 基础模型最关键的问题。答案不是"替代所有层"——而是"替代特定层,并与其他层协同"。
传统机器人软件栈 vs VLA 增强栈
传统栈: VLA 增强栈:
感知层 → 手写特征提取 感知层 → VLM 视觉编码
规划层 → 手写任务规划 规划层 → VLA 语义规划
控制层 → MPC / WBC 控制层 → MPC / WBC(不变)
执行层 → PD 驱动 执行层 → PD 驱动(不变)
VLA 基础模型替代的是感知层和规划层——它把"从图像和语言中理解任务并生成运动参考"这件事从手写规则变成了数据驱动学习。但控制层和执行层保持不变——物理约束、力矩限制和电机响应不因模型更大而改变。
基础模型擅长把多模态上下文压缩成任务相关表征。 它可以替代大量手写语义规则和部分动作生成模块。 它不能替代实时动力学约束、硬件驱动和接触安全。
反例与递进理解¶
- 反例:把基础模型当作单体控制器,模型输出一段动作后直接下发,接触力和稳定性无人负责。
- 机制:基础模型适合处理多模态语义和动作参考,实时物理约束仍由控制层承担。
- 工程接口:policy runtime、action adapter、safety controller 和 hardware gateway 必须分层。
- 失败模式:层级混淆会让错误跨过多个模块,最终在硬件端以碰撞或饱和形式出现。
来龙去脉¶
RT-1/RT-2 把 Transformer 引入真实机器人动作。 Open X-Embodiment 让跨本体数据训练成为主流。 以论文和官方发布为准,π0、OpenVLA、Octo、GR00T 和 Helix 可作为不同动作头与系统分层思路的代表性路线来理解。
核心机制¶
- 模型层负责解释”要做什么”。
- 动作接口负责描述”给控制器什么参考”。
- 控制层负责保证”如何安全做到”。
- 评测层负责判断”是否真的完成”。
基础模型能替代和不能替代的模块对比:
| 传统机器人系统模块 | 基础模型能否替代 | 替代条件/限制 |
|---|---|---|
| 物体检测与分割 | 能(部分) | VLM 隐式完成,但精度可能不如专用检测器 |
| 任务规划(TAMP) | 能(部分) | 短程任务通过端到端完成,长程多阶段仍需要结构 |
| 运动规划 | 能(隐式) | 模型隐式学到避障,但没有完整性保证 |
| 抓取姿态估计 | 能(隐式) | 从示教中学习,但新物体可能失败 |
| 实时力控 | 不能 | 需要高频反馈,基础模型延迟太大 |
| 关节限位保护 | 不能 | 硬件安全,不能依赖软件模型 |
| 碰撞检测 | 不能单独替代 | 可作为补充,但不能作为唯一安全手段 |
| 动力学约束 | 不能 | 物理定律不因模型变大而改变 |
本质洞察:基础模型替代的是”需要大量领域知识才能手写规则”的模块——物体识别、语义理解、抓取策略。不能替代的是”由物理定律决定”的模块——力矩限制、接触安全、动力学约束。分界线不在模型大小,而在”规则来自数据”还是”规则来自物理”。
数学接口¶
工程接口¶
- 把基础模型封装成 policy service 或 local runtime。
- 把动作接口封装成 action adapter。
- 把安全检查封装成 control gateway。
⚠️ 常见陷阱¶
- 概念误区:基础模型越大,控制层越不重要。实际是模型越通用,安全边界越要明确。
- 工程陷阱:把模型输出直接接到驱动,绕过限位和碰撞检查。
- 思维陷阱:把基础模型当作单一组件,而不是系统中的一个层级。
练习¶
- 画出一个 VLA + WBC 的四层部署图。
- 列出基础模型能替代和不能替代的模块。
- 用一个推门任务说明模型层和控制层的分工。
96.2 模型输入接口:图像、语言、本体与记忆 ⭐⭐⭐¶
动机:为什么同一个 VLA 在不同机器人上需要不同适配?¶
VLA 基础模型的"基础"指的是语义理解的通用性——它理解"拿杯子"的含义与机器人无关。但动作执行与机器人高度相关——7DoF 机械臂和 23DoF 人形的"拿杯子"动作完全不同。适配就是弥合语义理解的通用性和动作执行的特殊性之间的鸿沟。
适配的四个维度
| 适配维度 | 需要什么 | 典型工作量 | 示例 |
|---|---|---|---|
| 观测适配 | 图像分辨率、相机位置、本体状态维度 | 配置修改 | 256x256 → 224x224 |
| 动作适配 | 输出维度、坐标系、单位、归一化 | 代码修改 + 少量数据 | 7DoF → 23DoF |
| 安全适配 | 关节限位、碰撞几何、力矩上限 | 工程设计 | 特定机器人的安全参数 |
| 性能适配 | 微调以提高特定任务性能 | 数据采集 + 训练 | 50-500 条演示 |
输入接口决定模型知道多少世界和自身状态。 复合机器人比桌面机械臂多了底盘、姿态、接触和任务阶段。 如果本体状态缺失,模型会把视觉中的晃动误解为物体运动。
反例与递进理解¶
- 反例:跨机器人训练只统一图像和语言,不提供本体状态,模型无法区分轮式底盘和人形手臂的可执行范围。
- 机制:输入接口要把图像、语言、本体、上一动作和任务记忆共同表达出来。
- 工程接口:缺失字段应使用 mask,而不是直接填零后假装真实观测。
- 失败模式:本体信息不足会让模型把机器人自身运动误解为外部物体变化。
来龙去脉¶
RT 系列强调图像和语言。 π0/π0.5 的公开路线可作为把本体状态和动作专家纳入 VLA 控制链的代表性思路。 GR00T/Helix 类公开系统可作为强调多频率模块和全身状态接口的代表性案例。
核心机制¶
- 图像输入提供语义和几何线索。
- 语言输入提供任务目标。
- 本体输入提供机器人当前可执行状态。
- 记忆输入提供长任务阶段和历史失败。
本体状态在跨本体训练中的挑战。不同机器人的本体状态维度完全不同:
| 机器人 | 关节数 | 本体状态维度 | 特殊状态 |
|---|---|---|---|
| Franka | 7 | 14(位置+速度) | 力矩传感器、碰撞检测 |
| Mobile ALOHA | 16 | 32+底盘速度 | 底盘里程计、双夹爪 |
| Stretch | 6 | 12+底盘 | 升降柱高度 |
| Unitree G1 | 29+ | 58+ | IMU、足底力 |
跨本体训练要么用 padding/mask 统一到最大维度,要么用 embodiment-specific adapter 把不同本体状态映射到统一表征空间。两种方法都有代价:padding 浪费容量且可能引入虚假相关,adapter 增加模型复杂度且需要为每个平台单独训练。
数学接口¶
工程接口¶
- 为不同机器人写 observation adapter。
- 保持输入字段稳定,缺失字段使用 mask。
- 把任务记忆与实时观测分离,避免低频语义扰动高频动作。
⚠️ 常见陷阱¶
- 概念误区:跨本体只需要统一图像和语言。本体状态维度和语义也必须对齐。
- 工程陷阱:缺失字段用零填充但不提供 mask,模型把零当成真实状态。
- 数据陷阱:训练时有腕相机,部署时无腕相机,模型失去关键接触视角。
练习¶
- 设计一个 G1 人形的 observation schema。
- 比较轮式双臂与四足+臂在本体状态上的差异。
- 说明任务记忆应该以多低的频率更新。
96.3 动作接口:Foundation Model 的输出契约 ⭐⭐⭐¶
动机:动作输出为什么必须是契约而不是随意向量?¶
基础模型的动作输出是系统集成中最容易出错的环节。"契约"意味着输出的每个维度都有明确的物理含义、单位、范围和执行语义。
输出契约说明模型输出的每个数如何被执行。 没有契约,模型训练和实机部署之间会出现隐藏假设。 跨本体模型尤其依赖统一动作语义。
反例与递进理解¶
- 反例:同一个 token 在源平台表示夹爪闭合,在目标平台表示腕关节旋转,迁移会产生灾难性动作。
- 机制:动作输出是契约,必须定义单位、frame、频率、horizon 和执行责任。
- 工程接口:每个平台都应提供 action contract,并由 adapter 显式转换到控制参考。
- 失败模式:动作契约含糊时,训练指标可能正常,实机却出现不可解释的方向错误。
来龙去脉¶
OpenVLA 可作为离散动作 token 路线的代表性开源 VLA。 Octo 和 Diffusion Policy 可作为动作 chunk 路线的代表性参考。 π0 可作为 flow 动作专家路线的代表性参考。 GR00T/Helix 类公开系统可作为高层视觉语言与低层运动模块分工的代表性参考。
核心机制¶
- 关节空间契约适合固定本体。
- 末端空间契约适合跨平台操作。
- 任务帧契约适合 UMI 类数据迁移。
- 全身契约适合人形上肢和步态共同控制,但安全压力最大。
动作契约的七个必需字段。一个完整的动作契约应包含以下信息,缺少任何一项都可能导致部署错误:
| 字段 | 说明 | 缺失后果 |
|---|---|---|
action_dim |
动作向量总维度 | 维度错配导致崩溃 |
action_space |
关节/EE/任务帧 | 解释错误导致方向反转 |
unit |
每维的物理单位(rad/m/normalized) | 幅值差异数量级 |
frame |
坐标系定义(base/ee/world/task) | 空间语义完全错误 |
rate |
输出频率和执行频率 | 速度语义改变 |
horizon |
动作片段长度 | 执行窗口错误 |
normalization |
归一化统计量版本 | 幅值系统偏移 |
本质洞察:动作契约不是文档,而是系统中最关键的接口协议。它类似于网络协议中的 schema——发送方和接收方必须严格一致,否则数据虽然能传输但语义完全错误。在网络中这叫"协议不匹配",在机器人中这叫"策略能跑但动作全错"。
数学接口¶
工程接口¶
- 在模型配置中写明 action_dim、unit、rate、frame、normalization。
- 将 action adapter 纳入评测,单独测接口误差。
- 动作下发前做可达性和动力学检查。
⚠️ 常见陷阱¶
- 概念误区:统一动作空间等于统一控制能力。动作空间只是一种表示,执行仍受硬件约束。
- 工程陷阱:模型输出 EE 轨迹,但机器人端 IK 用不同末端 frame。
- 安全陷阱:全身动作同时控制腿和臂,却没有稳定性过滤。
练习¶
- 为 Stretch、Mobile ALOHA、G1 设计三种动作契约。
- 讨论任务帧动作如何迁移到四足+臂。
- 列出 action adapter 的单元测试。
96.4 动作 token:从逐步离散到 FAST ⭐⭐⭐⭐¶
动机:为什么动作 tokenization 是机器人基础模型的核心数学对象?¶
动作 tokenization 决定了模型能否高效地表示和生成机器人动作。选择错误的 tokenization 方案,即使模型架构再强大,也会因为表示瓶颈而性能受限。这就像选择了错误的编程语言来实现算法——算法本身没问题,但表达能力受限。
语言模型天然处理 token 序列。 机器人动作是连续时间序列,必须被压缩成可学习、可解码、可实时生成的形式。 tokenization 的好坏直接决定自回归模型能否满足闭环频率。
反例与递进理解¶
- 反例:为了短序列过度压缩动作 token,擦拭动作仍平滑,插入任务却丢失接触瞬间的细节。
- 机制:FAST 类路线可作为用频域压缩和子词合并降低动作序列长度的代表性思路。
- 工程接口:tokenizer 要报告重构误差、接触片段误差、词表来源和解码滤波方式。
- 失败模式:tokenization 错误不是语言问题,而是动作频率、物理单位和接触细节问题。
来龙去脉¶
RT-2 可作为将动作离散化为 token 的代表性早期路线之一。 OpenVLA 的公开实现可作为每维离散 bin 动作表示的代表性参考。 FAST 可作为使用 DCT、量化和 BPE 压缩动作片段的代表性思路,具体细节以论文和官方发布为准。
核心机制¶
- 逐步离散简单,但 token 数随 horizon 和动作维度线性增长。
- DCT 利用机器人动作低频特性。
- BPE 利用动作片段中重复结构。
- 解码后仍需要反归一化和滤波。
从语言 token 到动作 token 的类比与差异¶
语言 tokenization(如 BPE)已经非常成熟。动作 tokenization 可以借鉴语言的成功经验,但需要注意关键差异:
| 维度 | 语言 token | 动作 token |
|---|---|---|
| 离散性 | 天然离散(词汇表) | 需要人工离散化(量化) |
| 维度 | 1D 序列 | 多维(关节数 \(\times\) 时间步) |
| 顺序重要性 | 顺序改变语义 | 不同维度独立但同步 |
| 量化误差 | 无(精确映射到词汇) | 有(连续值的量化损失) |
| 压缩潜力 | 高(语言有大量冗余) | 中(动作序列有时间相关性) |
本质洞察:语言 token 是"符号到符号"的映射——"cat"被映射为 token ID 12345,没有信息损失。动作 token 是"连续值到离散符号"的映射——0.3142 被量化为 bin 80(在 256 bin 的 \([-1, 1]\) 量化下),量化误差约为 \(1/256 \approx 0.004\)。这个误差在 7 维 50 步的动作片段上会累积为约 \(\sqrt{7 \times 50} \times 0.004 \approx 0.075\) 的轨迹偏差。对于精细操作(如插拔 USB)这可能太大,对于粗操作(如搬运)通常可接受。
Tokenization 策略深度分析¶
理解动作 tokenization 需要回答一个根本问题:机器人动作和自然语言有什么本质不同,以至于不能直接复用 NLP 的 tokenizer?
自然语言 vs 机器人动作的结构差异:
| 特性 | 自然语言 | 机器人动作 |
|---|---|---|
| 值域 | 离散词表(有限集) | 连续实数(无限集) |
| 维度 | 1(token 序列) | 高维(7-50 维并行) |
| 时间结构 | 语义依赖(长距离) | 物理连续性(局部平滑) |
| 误差容忍 | 一个词错整句可能崩 | 微小误差通常可以被控制层吸收 |
| 频率特性 | 无明确频谱 | 低频主导,高频只在接触事件出现 |
三代 tokenization 演进:
第一代:逐维逐步离散(RT-2、OpenVLA)。把每个维度的连续值量化为 \(B\) 个 bin,每步每维产生一个 token。对于 \(D\) 维动作和 \(H\) 步 horizon:
例如 7 维 50 步 = 350 tokens。以每 token 20ms 自回归延迟计算,单次推理需要 7 秒——远超闭环预算。
量化误差为 \(\epsilon = \frac{\Delta}{2B}\),其中 \(\Delta\) 是动作范围。256 bin 在 \([-1,1]\) 上的分辨率约 \(0.0078\),对关节角(弧度)来说约 \(0.45°\)。对精细插入任务,这个误差可能是"成功"和"卡住"的区别。
第二代:频域压缩(FAST)。利用机器人动作的频率特性——大部分动作能量集中在低频。
DCT(离散余弦变换)把时域动作序列变换到频域:
只保留前 \(K\) 个低频系数(\(K \ll H\)),就能以较小重构误差表示原始动作。
BPE(字节对编码)进一步把量化后的频域系数合并为更短的 token 序列。BPE 利用的是动作片段之间的重复模式——例如"缓慢接近"和"快速回退"可能对应频域中固定的系数组合。
压缩后 token 数从 \(D \times H\) 降低到 \(K_{effective} \approx \frac{D \times K}{merge\_ratio}\),通常能缩短 5-10 倍。
第三代的方向:把 tokenization 和动作生成解耦。例如使用 VQ-VAE 学习一个离散动作码本,或者直接用连续 flow/diffusion 头绕过 tokenization。两种思路各有工程代价。
跨领域类比:DCT 压缩动作片段与 JPEG 压缩图像的思路完全一样——利用信号的频域稀疏性。JPEG 把 \(8 \times 8\) 像素块做 DCT 后只保留低频系数;FAST 把 \(H\) 步动作做 DCT 后只保留低频系数。但区别在于:图像压缩丢失的高频是细节纹理,动作压缩丢失的高频可能是接触事件。插入和开瓶动作中的高频分量往往包含关键力信息。
数学接口¶
工程接口¶
- 先对动作片段做平滑和归一化。
- 选择 DCT 低频数量 \(K\) 时检查重构误差。
- BPE 词表训练必须只使用训练集,避免信息泄漏。
⚠️ 常见陷阱¶
- 概念误区:token 越短越好。过度压缩会丢失接触瞬间的高频动作。
- 工程陷阱:解码动作忘记恢复尺度,输出幅值过小。
- 思维陷阱:把自然语言 token 经验直接套到机器人动作,忽略连续性和物理单位。
练习¶
- 在 50Hz、7 维、50 步动作片段上计算逐步离散 token 数。
- 实现 DCT 截断并画出重构误差。
- 讨论 FAST 对擦拭、插入和抛接任务的适用差异。
96.5 Flow Matching 与 Diffusion Action Head ⭐⭐⭐⭐¶
动机:连续动作模型如何生成可执行片段?¶
离散 token 的量化误差和长序列延迟让连续动作生成方法(Diffusion 和 Flow Matching)成为 VLA 的重要替代路线。这两种方法的共同点是:直接在连续动作空间中生成动作片段,避免量化损失。
为什么需要动作片段而不是逐步动作?
逐步动作生成(每次输出一步动作 \(a_t\))有两个问题:(1) 推理频率受限于网络前向时间——7B 模型一次前向约 20-50ms,限制了控制频率;(2) 没有时间一致性保证——连续两步的动作可能不平滑,产生抖动。
动作片段生成(一次输出 \(H\) 步动作 \(a_{t:t+H}\))解决了这两个问题:推理延迟被 \(H\) 步摊销,片段内动作的平滑性由生成模型保证。
连续动作头避免每维离散化误差。 它把动作片段看成高维连续样本,从噪声逐步变成示教动作。 这类方法更适合多模态接触动作,但仍需要闭环执行。
反例与递进理解¶
- 反例:扩散动作头采样步数随负载波动,机器人端仍按固定周期执行,接触相位开始漂移。
- 机制:连续生成式动作头用噪声到数据的过程表达多模态动作,但必须服从实时预算。
- 工程接口:采样步数、随机性开关、最大延迟和动作缓存策略要进入部署配置。
- 失败模式:生成质量和实时性相互制约,不能只看离线轨迹相似度。
来龙去脉¶
Diffusion Policy 使用条件去噪。 π0 可作为 conditional flow matching 动作头的代表性路线。 RDT-1B 可作为用 DiT 扩散模型处理双臂操作的代表性路线,具体规模和设置以论文发布为准。
核心机制¶
- Diffusion 学噪声或 score。
- Flow Matching 学从噪声到数据的速度场。
- 推理步数越少,延迟越低,但动作质量取决于模型和积分误差。
为什么需要专门的动作生成方法¶
传统的策略学习方法(如 MLP 回归、分类头)假设动作分布是单峰的——给定观测,最优动作只有一个。但实际操作任务中,同一目标通常有多种有效动作(从左边绕过还是从右边绕过),动作分布是多模态的。
MLP 回归在多模态分布上会输出各模态的均值——这个"平均动作"可能不属于任何一个有效模态(从左和从右的平均是直走——可能撞上障碍物)。
Diffusion 和 Flow Matching 通过学习完整的分布 \(p(a|o)\) 来解决这个问题——每次采样可以得到分布中的一个具体模态,而不是各模态的平均。
| 方法 | 处理多模态 | 生成质量 | 推理延迟 | 训练难度 |
|---|---|---|---|---|
| MLP 回归 | 不能(输出均值) | 低 | 极低(1 次前向) | 低 |
| 混合密度网络 | 有限(固定 K 个高斯) | 中 | 低 | 中 |
| Diffusion (DDPM) | 完全支持 | 高 | 高(20-100 步) | 中 |
| Flow Matching (CFM) | 完全支持 | 中高 | 中(5-20 步) | 中高 |
| 离散 token 自回归 | 支持(通过采样) | 中 | 高(每维一步) | 低 |
反事实推理:如果不用生成模型,而是用确定性 MLP 策略做操作任务会怎样?在简单的单一模态任务(如到达固定位置)上表现不错。但在需要选择不同策略的任务(如从杯子左边抓还是右边抓)上,MLP 会输出两个策略的"加权平均"——手可能直接从上方下去撞到杯子。这就是为什么 Diffusion Policy 在接触密集的操作任务上显著优于确定性策略。
Diffusion vs Flow Matching 的工程权衡¶
在复合机器人部署中选择 diffusion 还是 flow matching 动作头,不是模型好坏的选择,而是系统工程约束下的权衡。
推理延迟对比。DDPM 标准采样需要 50-1000 步去噪,每步需要一次完整网络前向传播。DDIM 等加速方法可以降到 10-50 步,但质量会下降。Flow matching 的 ODE 积分通常需要 5-20 步 Euler 步就能达到可用质量。假设每步前向耗时 10ms:
| 方法 | 采样步数 | 推理延迟 | 可支持闭环频率 |
|---|---|---|---|
| DDPM | 50-100 步 | 500-1000ms | 1-2 Hz |
| DDIM | 10-50 步 | 100-500ms | 2-10 Hz |
| Flow (Euler) | 5-20 步 | 50-200ms | 5-20 Hz |
| Flow (自适应) | 3-10 步 | 30-100ms | 10-30 Hz |
对于需要 20Hz 以上闭环的接触操作任务,flow matching 的延迟优势是决定性的。
多模态表达能力。理论上 diffusion 和 flow matching 都能表达任意复杂的多模态分布。但实践中的差异来自训练稳定性——diffusion 模型通过逐步加噪/去噪积累了大量训练经验(从图像生成领域),训练技巧更成熟。Flow matching 训练更简单(纯回归损失),但对网络架构和学习率更敏感。
本质洞察:在机器人系统中,"模型更强"和"系统更可靠"往往不是同一回事。一个 10 步 flow 动作头配合 20Hz 闭环,可能比 50 步 diffusion 配合 2Hz 闭环更安全——因为更高的闭环频率意味着更快的纠错。
数学接口¶
Diffusion 与 Flow Matching 的推理步数选择指南¶
| 任务类型 | 精度需求 | 推荐方法 | 推荐步数 | 单次延迟 |
|---|---|---|---|---|
| 粗抓取 | 低 | Flow Matching | 5 | ~15 ms |
| 精细操作 | 高 | Diffusion (DDIM) | 20 | ~60 ms |
| 接触密集 | 高 | Diffusion (DDPM) | 50 | ~150 ms |
| 实时避障 | 中 | Flow Matching | 8 | ~24 ms |
反事实推理:如果对所有任务都用最多步数(50 步 DDPM)会怎样?延迟约 150 ms,闭环频率最高 7 Hz。对于桌面抓取这够用了,但对于移动操作中需要动态避障的场景,7 Hz 的反应速度不足以应对行人的突然出现。因此,步数选择必须与任务的动态特征匹配——不是"越多越好",而是"刚好够用"。
工程接口¶
- 部署时固定采样步数和最大推理时间。
- 对输出动作做安全过滤。
- 记录每次采样的随机种子,便于诊断。
⚠️ 常见陷阱¶
- 概念误区:生成式动作有多样性就一定更强。实机更需要可控、多样性和稳定性平衡。
- 工程陷阱:采样步数随负载变化,控制频率随之抖动。
- 安全陷阱:随机采样导致偶发危险动作,必须有动作过滤。
练习¶
- 比较 DDPM 50 步和 flow 10 步在延迟预算上的差异。
- 推导 CFM 线性路径下的监督速度。
- 设计生成式策略的随机性开关和评测协议。
96.6 闭环频率:S2、S1、运动先验与控制内环 ⭐⭐⭐⭐¶
动机:为什么一个模型不能用同一频率处理所有问题?¶
频率分层是复合机器人基础模型设计中最关键的架构决策之一。它不是性能优化的细节,而是决定系统能否物理安全运行的基本约束。
不同物理过程的时间尺度
| 物理过程 | 特征频率 | 所需控制频率 | 信息类型 |
|---|---|---|---|
| 语义理解 | 0.1-1 Hz | 不需要实时 | 文本+高级视觉 |
| 任务规划 | 1-5 Hz | 近实时 | 目标位姿序列 |
| 运动执行 | 10-50 Hz | 实时 | 关节角/末端轨迹 |
| 力控/平衡 | 100-500 Hz | 硬实时 | 力矩/接触力 |
| 电机伺服 | 1000+ Hz | 硬实时 | PWM 信号 |
一个统一频率的模型面临两难:如果以 500 Hz 运行(满足力控需求),每步推理只有 2 ms——当前没有任何 VLA 模型能在 2 ms 内完成推理。如果以 5 Hz 运行(满足推理需求),力控和平衡任务因为 200 ms 的更新间隔而不安全。
本质洞察:频率分层反映了信息的"新鲜度需求"不同。语义信息("桌子上有一个杯子")在几秒内不会变化——5 Hz 更新已经过剩。力控信息("脚底接触力")在 10 ms 内就可能从 0 变到 100 N——5 Hz 更新远远不够。分层让每类信息以恰当的频率被处理,既不浪费算力也不牺牲安全。
三层频率架构的工程实现
S3 层(语义推理,1-5 Hz)
├── 输入:RGB 图像 + 语言指令
├── 输出:任务帧目标、夹爪开合、子任务标签
├── 硬件:GPU(本地或远端)
└── 延迟预算:200-1000 ms
S2 层(运动先验,10-50 Hz)
├── 输入:S3 输出 + 本体状态
├── 输出:关节参考轨迹、末端轨迹
├── 硬件:GPU 或高性能 CPU
└── 延迟预算:20-100 ms
S1 层(控制内环,200-1000 Hz)
├── 输入:S2 输出 + 传感器
├── 输出:关节力矩
├── 硬件:实时 MCU 或 FPGA
└── 延迟预算:1-5 ms
语义理解不需要 1000Hz。 接触力和关节稳定必须接近硬件频率。 复合机器人系统自然分成低频语义、中频动作和高频控制。
反例与递进理解¶
- 反例:语义模块每次识别到新物体都立即改目标,高频控制层被迫追逐跳变参考。
- 机制:复合机器人需要语义、视觉动作、运动先验和控制内环按不同时间尺度分工。
- 工程接口:每层都要有缓存、超时、目标保持和上层失联处理。
- 失败模式:频率混淆会把低频语义噪声放大成高频机械抖动。
来龙去脉¶
Helix、GR00T 等公开系统可作为强调双系统或多层频率分工的代表性案例。 人形和四足+臂尤其需要低层运动先验或 WBC 保持稳定。
核心机制¶
- S2 类模块处理视觉语言和任务理解,频率约 1-10Hz。
- S1 类模块处理视觉运动动作,频率约 10-200Hz。
- WBC/PD/驱动内环运行在 500-1000Hz 或更高。
数学接口¶
$\(f_{semantic}<f_{policy}<f_{wbc}<f_{motor}\)$ 频率不是越统一越好,而是按物理时间尺度分层。
工程接口¶
- 为每层设置输入缓存和超时策略。
- 低频层只能更新目标,不直接抢占高频控制。
- 高频层必须能在上层失联时保持安全。
频率设计的量化方法。给定一个复合机器人任务,如何确定每层的频率?关键是识别每层处理的物理现象的时间常数:
- 语义层:任务阶段的最短持续时间。如果最短子任务持续 2 秒,语义层不需要超过 1-2Hz
- 视觉动作层:物体运动的特征时间。物体以 0.3m/s 移动,需要 0.01m 精度,则至少需要 30Hz
- 运动先验层:关节运动的特征频率。人形行走步频约 2Hz,但足底接触事件需要 50-200Hz 的响应
- 控制内环层:执行器的带宽。电机响应时间常数通常在 1-5ms,控制频率应为其 5-10 倍,即 200-1000Hz
层间缓存设计。当高层频率 \(f_H\) 低于低层频率 \(f_L\) 时,低层需要在两次高层更新之间使用缓存的目标。缓存帧数为 \(N_{buffer} = f_L / f_H\)。例如 S2 以 2Hz 更新目标,S1 以 50Hz 执行动作,则 S1 需要缓存最近的 25 步动作计划。如果 S2 在这 25 步内超时,S1 必须有独立的保持或回退策略。
⚠️ 常见陷阱¶
- 概念误区:高层模型输出越快越好。高频输出若没有物理约束,会把噪声直接打到机器人。
- 工程陷阱:S2 目标更新与 S1 动作片段边界不对齐,造成目标跳变。
- 安全陷阱:低频语义模块阻塞导致高频控制等待。
练习¶
- 为人形整理碗碟任务分配四层频率,写出每层的物理时间常数依据。
- 计算 7Hz 语义层和 200Hz 动作层之间需要多少动作缓存。
- 设计上层失联时底层保持稳定的状态机。
96.7 跨本体数据:统一与差异并存 ⭐⭐⭐¶
动机:为什么跨机器人训练既有效又危险?¶
跨本体训练是 VLA 基础模型最吸引人也最危险的特性。吸引人是因为它承诺"训练一次,在所有机器人上运行"。危险是因为不同机器人的物理差异可能导致策略在某些平台上完全不可用。
跨本体的数学表达
设 \(n\) 种机器人的动作空间分别为 \(\mathcal{A}_1, \ldots, \mathcal{A}_n\),维度分别为 \(d_1, \ldots, d_n\)。统一训练需要一个公共动作空间 \(\mathcal{A}_{common}\) 和每个机器人的适配函数 \(\phi_i: \mathcal{A}_{common} \to \mathcal{A}_i\)。
最简单的方法是用最大维度的零填充:\(d_{common} = \max(d_1, \ldots, d_n)\),低维度机器人的多余维度用 valid mask 标记为无效。但这种方法浪费模型容量——大部分维度在大部分机器人上是无效的。
更优雅的方法是学习一个低维的共享表示 \(z \in \mathbb{R}^k\)(\(k < \min(d_i)\)),再通过机器人特定的解码器映射到各自的动作空间。这就是 Action Adapter 的思路。
跨本体数据能让模型学到更广泛的视觉语义和操作模式。 但不同机器人动作空间、工作空间和动力学差异很大。 统一训练必须保留本体身份和动作语义。
反例与递进理解¶
- 反例:把多个平台的关节动作直接拼接训练,模型学到平均动作,却没有任何一个机器人能执行。
- 机制:跨本体训练要共享语义和任务结构,同时保留本体身份、动作 mask 和工作空间差异。
- 工程接口:数据集中应明确 embodiment_id、有效字段、动作归一化范围和目标平台 adapter。
- 失败模式:跨本体数据越多,若契约不清,错误监督也会越多。
来龙去脉¶
Open X-Embodiment 统一了多机器人数据。 OpenVLA、Octo、π0 和 RDT 等路线都可放在跨本体数据训练的讨论框架中理解,但具体收益应以各自论文和官方评测为准。 跨本体迁移到腿足和人形时,低层控制差异更突出。
核心机制¶
- 共享的是视觉语义和任务模式。
- 不共享的是硬件几何、动作范围、接触动力学和控制频率。
- 本体 embedding、动作 mask 和任务帧动作是常见桥接方式。
跨本体泛化的理论分析¶
跨本体泛化可以用迁移学习的框架来理解。设源本体域为 \(\mathcal{S}\),目标本体域为 \(\mathcal{T}\),任务为 \(\tau\)。泛化成功需要三个条件:
条件 1:语义不变性。视觉场景和语言指令的理解不应依赖机器人形态。"拿起红色杯子"对轮式双臂和人形都是同一语义。VLM 预训练天然提供这种不变性。
条件 2:动作可映射性。源本体的动作和目标本体的动作之间存在可计算的映射 \(\phi: \mathcal{A}_S \to \mathcal{A}_T\)。如果使用关节空间动作,不同机器人的关节完全不同,映射不存在。如果使用末端空间或任务帧动作,映射变为 IK 问题。
条件 3:工作空间重叠。目标任务所需的工作空间必须在目标本体的可达范围内。一个在 1.2m 高桌面上训练的策略迁移到最大伸展高度 0.9m 的机器人上,无论模型多强都会失败。
这三个条件构成了跨本体迁移的"不可能三角"的边界。语义可以共享、动作需要映射、工作空间必须检查——三者缺一,迁移就会在该环节失败。
跨本体训练中的负迁移。当不同本体的数据被错误混合时,可能出现负迁移。最常见的形式是:
- 动作冲突:源本体的关节 3 控制肘部,目标本体的关节 3 控制腰部,混合训练让模型在关节 3 上收到矛盾梯度
- 工作空间偏差:大平台数据量大,模型倾向于生成大平台工作空间内的动作,小平台可能不可达
- 夹爪语义反转:不同平台的夹爪开合方向可能相反(0 表示闭合 vs 0 表示张开)
负迁移的检测方法
在混合训练中,应定期检测各本体的独立验证集性能:
其中 \(\text{Loss}_{mixed}^{(e)}\) 是混合训练后在本体 \(e\) 验证集上的损失,\(\text{Loss}_{single}^{(e)}\) 是只用本体 \(e\) 数据训练时的损失。如果 \(\Delta_{neg}^{(e)} > 0\),说明混合训练对本体 \(e\) 产生了负迁移。
解决负迁移的三种策略
| 策略 | 方法 | 优点 | 缺点 |
|---|---|---|---|
| Valid Mask | 用掩码标注哪些动作维度属于当前本体 | 简单高效 | 不能共享跨本体的动作知识 |
| Embodiment Token | 给每个本体一个可学习的嵌入向量 | 模型自动学习本体差异 | 新本体需要额外数据来学习 token |
| Action Adapter | 共享特征提取,每个本体有独立的动作输出头 | 避免动作层面的冲突 | 增加参数量 |
反事实推理:如果不做任何跨本体适配,直接混合所有数据训练会怎样?对于动作空间差异大的本体(如 6DoF 机械臂和 23DoF 人形),模型在共享的动作维度上会收到矛盾梯度——同一个视觉场景下,6DoF 臂只需 6 维输出,人形需要 23 维输出。不做适配时,模型倾向于生成两者的"折中"——对两者都不最优。Embodiment token 通过让模型知道"当前是哪个本体"来解决这个冲突。
数学接口¶
$\(\pi(a|o,e_{embodiment})\)$ \(e_{embodiment}\) 表示机器人形态和动作接口信息。
工程接口¶
- 数据混合时记录机器人类型、动作接口和传感器布局。
- 训练时给模型提供本体标识或接口 mask。
- 迁移时先冻结低层控制,只迁移任务帧目标。
⚠️ 常见陷阱¶
- 概念误区:跨本体成功说明可以忽略机器人学。实际成功常依赖动作适配和低层控制。
- 工程陷阱:不同机器人夹爪开合方向相反,合并数据后标签冲突。
- 数据陷阱:强平台的数据量压倒小平台,模型偏向主平台动作。
练习¶
- 设计一个跨 Mobile ALOHA 和 Stretch 的动作统一方案。
- 说明本体 embedding 应包含哪些信息。
- 讨论轮式臂策略迁移到四足+臂的困难。
96.8 GR00T、Helix 与双系统架构 ⭐⭐⭐¶
动机:工业前沿为什么偏向多系统协同?¶
2025 年的工业实践表明,单一的端到端模型无法同时满足高层语义理解(需要大模型)和低层控制精度(需要高频小模型)的要求。双系统架构将这两个需求分开处理,各自优化。
从认知科学到机器人架构
双系统架构的灵感来自 Daniel Kahneman 的"快思慢想"(Thinking, Fast and Slow)理论:
| Kahneman 理论 | 机器人类比 | 实现 |
|---|---|---|
| System 2(慢思考) | 语义理解、任务规划 | 大模型 VLM,5 Hz |
| System 1(快思考) | 反射性动作、紧急避障 | 小模型/控制器,200 Hz |
跨领域类比:双系统架构类似于人脑的大脑皮层(高级认知,慢但灵活)和脊髓反射弧(快速反应,简单但可靠)的分工。当你碰到烫的东西时,脊髓反射弧让你在 50 ms 内缩手(System 1),而大脑皮层在 500 ms 后才意识到"是一个热锅"并做出下一步决策(System 2)。VLA 的双系统架构完全复制了这种分工——S1 在 5 ms 内完成力矩限幅和碰撞避免,S2 在 200 ms 后给出新的语义目标。
人形和复合机器人任务同时要求语义理解、全身协调和高频稳定。 单一大模型很难同时满足长时语义和毫秒级控制。 多系统架构把慢思考和快反应分离。
反例与递进理解¶
- 反例:高层视觉语言系统决定“拿杯子”,低层运动模块不知道杯子已被拿起,仍执行旧抓取先验。
- 机制:双系统架构需要在目标、动作片段、状态记忆和完成判据之间建立同步契约。
- 工程接口:S2 目标更新必须带版本号、有效期和阶段条件,S1 或运动先验按版本消费。
- 失败模式:双系统分工不清会产生目标滞后,而不是简单的识别错误。
来龙去脉¶
GR00T N1/N1.5 的公开资料可作为视觉语言系统和动作专家组合的代表性参考。 Helix 系列公开资料可作为 S2 视觉语言、S1 视觉运动和更底层运动先验分工的代表性参考。 这些工业系统共同指向频率分层和职责分离。
核心机制¶
- S2 处理任务意图和开放词汇语义。
- S1 处理像素到动作的短时闭环。
- S0 或 WBC 处理稳定、步态、力和姿态。
- 三者通过目标、动作片段和状态反馈通信。
为什么双系统不只是"工程方便"? 它反映了物理世界的多时间尺度本质。
- 语义时间尺度(秒级):识别杯子、理解指令、选择子任务——这些信息变化慢,处理延迟大(100ms-1s),但容许的误差也大(识别错了可以重新观察)。
- 运动时间尺度(毫秒级):维持平衡、吸收接触冲击、跟踪轨迹——这些必须在硬件允许的最高频率运行,延迟超过 10ms 就可能失稳。
如果把这两种时间尺度强行放在同一个模型中,要么语义理解被迫降低到不必要的频率,浪费计算;要么运动控制被迫等待语义模块,丢失物理安全。
跨领域类比:双系统架构类似于人类大脑的快慢系统(Kahneman 的 System 1/System 2)。S2 是"慢思考"——深思熟虑地理解任务。S1 是"快反应"——看到杯子就知道怎么伸手。WBC/S0 则类似于脊髓反射——不经大脑直接维持姿态。三者的响应时间差两到三个数量级。
数学接口¶
工程接口¶
- 定义清楚 S2 到 S1 的目标接口。
- S1 输出不能绕过 S0 的安全约束。
- S0 必须能在 S1 失效时保持站立或缓停。
⚠️ 常见陷阱¶
- 概念误区:双系统只是工程实现。实际上它反映了任务时间尺度的物理差异。
- 工程陷阱:S2 改目标太频繁,S1 动作还未完成就被打断。
- 安全陷阱:S0 只做跟踪,不检查接触和稳定裕度。
练习¶
- 画出 GR00T 类双系统的数据流。
- 为四足+臂设计 S2/S1/WBC 接口。
- 讨论 S2 频率低时如何保持长任务一致性。
96.9 安全边界:VLA + CBF/MPC/WBC ⭐⭐⭐⭐¶
动机:如何把学习策略放进形式化约束中?¶
基础模型输出概率意义上的动作,不提供硬安全证明。 机器人部署需要在动作执行前检查约束。 CBF、MPC 和 WBC 是三类常见安全边界。
反例与递进理解¶
安全边界是 VLA 部署中最容易被忽视也最重要的模块。研究论文中很少讨论安全——因为仿真中碰撞只是重置环境,真机上碰撞意味着硬件损坏或人员受伤。
安全层的工程投资回报
| 安全事故类型 | 发生概率(无安全层) | 单次成本 | 安全层投资 | 投资回报 |
|---|---|---|---|---|
| 夹爪碰撞物体 | 5%/episode | $50(维修) | $500(开发 CBF) | 10 次碰撞回本 |
| 手臂撞人 | 0.1%/episode | $10,000(赔偿+法律) | $5,000(开发+认证) | 1 次事故回本 |
| 机器人翻倒 | 0.5%/episode | $2,000(维修) | $2,000(WBC 集成) | 1 次翻倒回本 |
这些数字说明安全层不是"锦上添花"——它的投资回报率可能是整个系统中最高的。
- 反例:VLA 给出的动作离障碍物很近,CBF 或 MPC 没有被接入,系统只能在碰撞后依赖急停。
- 机制:安全边界应把策略参考投影到满足约束的动作集合,并记录投影量。
- 工程接口:过滤层要输出安全动作、激活约束、不可行原因和回退模式。
- 失败模式:安全层不可观测时,研究者无法知道失败来自策略还是约束冲突。
来龙去脉¶
传统控制先有约束再优化。 VLA 先生成动作再过滤。 混合架构要解决过滤后是否仍完成任务的问题。
核心机制¶
- CBF 适合快速局部安全投影。
- MPC 适合考虑短时未来和动力学。
- WBC 适合全身约束和力矩分配。
- 三者可以串联,也可以按任务选择。
CBF/MPC/WBC 的适用场景对比:
| 安全方法 | 时间视野 | 约束类型 | 计算复杂度 | 最适合的风险 |
|---|---|---|---|---|
| CBF | 瞬时(当前步) | 状态约束(距离、速度) | 低(QP) | 碰撞、越界 |
| MPC | 短时未来(0.1-1s) | 状态+动作约束 | 中(轨迹优化) | 动力学不可行、预测碰撞 |
| WBC | 瞬时(当前步) | 全身动力学 + 接触 + 力矩 | 中高(多优先级 QP) | 失稳、力矩饱和 |
组合安全层的设计。对于人形或四足+臂系统,三种方法可以串联使用:
每层的投影量应被记录——如果 CBF 频繁激活,说明 VLA 的动作分布与工作空间边界冲突;如果 WBC 频繁力矩饱和,说明动作要求超出硬件能力。
反事实推理:如果只用最简单的 clipping(裁剪到关节限位内)代替所有安全层会怎样?Clipping 只处理关节位置约束,不考虑速度、加速度、碰撞和稳定性。一个关节位置在限位内但速度极大的动作,clipping 不会拦截,但执行时会产生巨大冲击。更危险的是,clipping 后的轨迹不再是模型生成的轨迹——被裁剪的维度改变了,但其他维度没有相应调整,整段动作的协调性被破坏。QP 投影的优势在于它找到"最近的安全动作",保持整体协调性。
安全过滤的频率与延迟预算
安全过滤必须在控制周期内完成,否则不安全的动作已经开始执行:
| 控制频率 | 可用时间 | CBF QP 求解时间 | MPC 求解时间 | 可行组合 |
|---|---|---|---|---|
| 50 Hz | 20 ms | 0.1-1 ms | 5-15 ms | CBF + MPC |
| 100 Hz | 10 ms | 0.1-1 ms | 5-15 ms(可能超时) | CBF only |
| 200 Hz | 5 ms | 0.1-1 ms | 超时 | CBF only |
| 500 Hz | 2 ms | 可能超时 | 超时 | 纯 clipping |
这张表说明安全过滤的选择受控制频率约束。高频控制(200+ Hz)通常只能使用最简单的安全检查(clipping + 速度限幅),复杂的 CBF 或 MPC 过滤只能在较低频率(50-100 Hz)上运行。
解决方案:分频安全检查。低频(50 Hz)运行 CBF + MPC 生成安全轨迹参考,高频(200 Hz)只做 clipping 和速度限幅,跟踪低频层的安全参考。这与 S2/S1 双系统架构在安全维度上的自然扩展。
本质洞察:安全不是"加一层过滤就解决了"——它是一个与控制频率、计算资源和物理约束紧密耦合的系统设计问题。最好的安全设计是"让不安全的动作在物理上不可能被执行"(如硬件限位),次好的是"在动作执行前实时检测并修正"(如 CBF),最差的是"执行后检测并急停"(如力矩突变检测)。三者应该同时存在,形成纵深防御。
数学接口¶
工程接口¶
- 为每类风险定义 barrier 或 path constraint。
- 把过滤失败反馈给高层模型,触发重规划。
- 记录过滤量,作为策略训练的安全损失候选。
⚠️ 常见陷阱¶
- 概念误区:过滤层只是最后保险。过滤频繁激活说明动作接口或训练数据有系统问题。
- 工程陷阱:CBF 只看当前状态,忽略动作片段后半段会碰撞。
- 安全陷阱:MPC filter 修改动作后没有同步给策略记忆,下一步策略继续沿错误假设输出。
练习¶
- 为末端避障写一个距离 barrier。
- 比较 CBF 与 MPC filter 的适用场景。
- 设计过滤结果反馈给 VLA 的状态字段。
96.10 部署边界:算力、延迟、隐私与可靠性 ⭐⭐⭐¶
动机:基础模型上机器人时最先遇到哪些非算法问题?¶
当你把一个在论文中表现很好的 VLA 基础模型部署到真实机器人上时,最先遇到的问题几乎从不是"模型不够聪明"——而是一系列看似琐碎但足以让整个系统瘫痪的非算法问题。
部署失败的典型时间线
| 时间点 | 遇到的问题 | 根本原因 | 解决时间 |
|---|---|---|---|
| 部署第 1 小时 | 模型无法加载 | GPU 驱动版本不兼容 | 2 小时 |
| 部署第 3 小时 | 输出动作全零 | 观测归一化统计量未加载 | 30 分钟 |
| 部署第 4 小时 | 机器人抖动 | 动作坐标系与控制器不一致 | 3 小时 |
| 部署第 8 小时 | 推理偶尔超时 | GPU 显存被后台进程占用 | 1 小时 |
| 部署第 10 小时 | 任务成功率只有 30% | 训练数据的相机角度与部署不同 | 需要重新采集数据 |
本质洞察:前四个问题都不需要任何算法创新——它们是纯工程问题。但如果不解决它们,算法再好也没用。这就是为什么 VLA 部署是一个"系统工程"问题而非"算法"问题。研究论文不讨论这些问题(因为它们在论文作者的环境中已经解决了),但对于新用户来说,这些才是主要障碍。
真实部署受 GPU、散热、电池、网络和隐私约束。 大模型可以远程运行,但机器人安全必须本地闭环。 长期运行还需要日志、版本、回滚和异常处理。
反例与递进理解¶
- 反例:云端推理在演示时正常,家庭网络拥塞后动作过期,机器人仍继续执行旧片段。
- 机制:部署边界由算力、延迟、隐私、可靠性和维护成本共同决定。
- 工程接口:系统应区分本地动作缓存、远程语义服务、离线日志和隐私数据边界。
- 失败模式:可靠性不足常以偶发问题出现,平均延迟无法覆盖尾部风险。
来龙去脉¶
OpenVLA 可作为讨论量化部署路线的代表性开源参考。 openpi 支持服务化推理。 工业系统通常将大模型、动作专家和低层控制部署在不同算力节点。
核心机制¶
- 端侧推理降低延迟但受算力限制。
- 云端推理提高模型容量但引入网络风险。
- 混合推理让语义远程,动作和安全本地。
三种部署架构对比:
| 架构 | 端侧全部 | 云端全部 | 混合(语义云端+动作本地) |
|---|---|---|---|
| 延迟 | 最低(无网络) | 最高(含网络往返) | 中等(语义可异步) |
| 模型规模 | 受限于边缘 GPU | 不受限 | 大模型云端,小模型本地 |
| 可靠性 | 最高(无网络依赖) | 最低(网络中断则停止) | 中等(本地可降级) |
| 隐私 | 最好(数据不出机器人) | 最差(视频上传) | 可控(视觉可云端,动作本地) |
| 维护成本 | 模型更新需到现场 | 远程更新方便 | 分层更新 |
混合架构的具体设计。推荐的生产级架构是:
[云端] 大 VLM:理解指令、选择任务、生成高层目标
↓ (目标消息,1-5Hz,可容忍 200ms 延迟)
[本地] 小动作模型:把目标转成动作片段
↓ (动作片段,10-50Hz,需 <50ms 延迟)
[本地] 安全控制器:过滤和执行
↓ (控制命令,100-1000Hz,需 <5ms 延迟)
[本地] 硬件驱动
这种分层让每个模块都运行在合适的硬件上:大模型在云端 A100 上跑 1Hz 就够了,小动作模型在本地 Jetson 上跑 50Hz,安全控制器在实时 CPU 上跑 1kHz。
数学接口¶
工程接口¶
- 为每层设置 watchdog。
- 策略和控制进程分离。
- 模型版本、数据版本和标定版本必须一起记录。
⚠️ 常见陷阱¶
- 工程陷阱:模型升级后 action normalization 改变,机器人端未更新。
- 安全陷阱:云端断连后机器人继续执行过期动作。
- 系统陷阱:日志只记录成功结果,不记录过滤和超时。
练习¶
- 计算一个 20Hz 动作层的延迟预算。
- 设计端侧与云侧混合推理架构。
- 列出长期部署必须记录的日志字段。
96.11 评测基准:从 LIBERO 到真实家庭 ⭐⭐¶
动机:如何评价一个复合机器人基础模型?¶
评测是 VLA 基础模型研究中最被忽视也最重要的环节。一个模型声称"在 LIBERO 上成功率 85%"——这意味着什么?它能在你的机器人上工作吗?它在真实厨房中也能达到 85% 吗?
评测基准的三个层级
| 层级 | 评测内容 | 典型基准 | 与真实部署的差距 |
|---|---|---|---|
| L1 仿真 | 仿真器中的任务成功率 | LIBERO, RoboCasa, CALVIN | 大(无感知噪声、无执行误差) |
| L2 实验室真机 | 实验室环境中的真机测试 | 固定场景、受控光照 | 中(有硬件误差但环境简单) |
| L3 野外部署 | 真实环境中的长期运行 | 无标准基准 | 小(最接近实际用途) |
本质洞察:从 L1 到 L3,每提升一级,评测的"有效性"(是否反映真实能力)提升,但"可控性"(能否精确复现和公平对比)下降。大多数论文在 L1 或 L2 评测,因为可控性高、复现方便。但 L3 才是最终目标——一个在 LIBERO 上 95% 但在真实厨房只有 20% 的模型,其 LIBERO 分数没有意义。研究社区需要更多的 L3 评测基准,但这需要大量基础设施投入。
基础模型评测不能只在单一平台上看单任务成功率。 需要同时看跨任务、跨环境、跨本体、长时程和安全指标。 仿真基准和真实家庭评测回答的问题不同。
反例与递进理解¶
- 反例:模型在标准基准上分数高,但真实厨房中相机安装、光照和物体材质都变了,任务失败无法归因。
- 机制:评测基准提供可比性,真实系统评测提供部署证据,两者都不能单独替代另一个。
- 工程接口:评测应同时记录任务分布、硬件设置、失败阶段和安全过滤统计。
- 失败模式:只追基准分数会忽略系统接口,只看实机视频又缺少可重复比较。
来龙去脉¶
LIBERO、RoboCasa、HomeRobot OVMM、DROID、OXE 和真实移动操作任务各自覆盖不同维度。 没有单一基准能代表全部复合机器人能力。
核心机制¶
- 仿真基准利于规模化和复现。
- 真实评测暴露感知、延迟、接触和硬件问题。
- 跨本体评测检验动作接口和数据混合。
仿真与真实评测的互补关系:
| 维度 | 仿真基准能评测的 | 真实系统才能评测的 |
|---|---|---|
| 任务语义 | 指令理解、多任务切换 | 开放词汇、新物体 |
| 动作质量 | 轨迹平滑度、任务完成率 | 接触力、材质摩擦 |
| 泛化能力 | 场景变换、物体替换 | 光照变化、相机脏污 |
| 系统延迟 | 算法延迟 | 端到端延迟(含通信和硬件) |
| 安全性 | 碰撞检测准确性 | 紧急停机响应时间 |
仿真评测的核心价值是可复现的横向比较——同一任务、同一初始条件下比较不同模型。但仿真永远不能替代真实评测,因为仿真中最容易的部分(完美传感器、完美同步、无通信延迟)恰恰是真实系统中最容易出问题的部分。
数学接口¶
工程接口¶
- 评测报告必须包含失败类型。
- 同一任务在训练环境和新环境分别评测。
- 安全指标与任务成功率并列报告。
⚠️ 常见陷阱¶
- 概念误区:仿真排名高就代表实机强。实机差异常来自传感器、摩擦和延迟。
- 工程陷阱:评测 episode 太短,看不到长时漂移。
- 数据陷阱:测试任务与训练任务共享同一采集背景,泛化被高估。
练习¶
- 为“清理厨房台面”设计评测指标。
- 比较 RoboCasa 与真实厨房的差异。
- 设计一个跨本体迁移评测矩阵。
96.12 博士路径:模型、数据、控制与系统四条线 ⭐⭐⭐¶
动机:怎样选择有研究价值且能落地的切入点?¶
VLA 基础模型是一个快速演进的领域——选择一个在发表时仍然有价值的研究方向至关重要。以下框架可以帮助博士研究者评估研究方向的价值。
研究方向的四维评估
| 评估维度 | 高分标准 | 低分标准 |
|---|---|---|
| 学术新颖性 | 提出新问题或新方法 | 对已有方法的微小改进 |
| 工程可验证性 | 可以在真实机器人上验证 | 只有仿真结果 |
| 商业影响力 | 直接降低某个部署KPI | 与实际部署无关 |
| 可发表性 | 有明确的顶会/期刊目标 | 主题太窄或太宽 |
最佳切入点是四个维度都得分中高的方向。如果某个维度得分低,需要有明确的提升路径(如"目前只有仿真,但计划在第二年做真机实验")。
复合机器人基础模型研究不是只训练更大模型。 高价值问题往往在模型、数据、控制和系统交界处。 选题需要同时考虑可验证性、硬件可得性和前沿空白。
反例与递进理解¶
- 反例:博士课题同时改模型、数据、控制和硬件,实验成功后无法说明真正贡献来自哪里。
- 机制:研究问题必须把变量收窄到可归因的接口、数据或控制假设。
- 工程接口:每个实验计划应列出固定项、变化项、度量项和失败判据。
- 失败模式:系统越复杂,变量越多,越容易产生无法复现的结论。
来龙去脉¶
D2 移动操作强调开放世界和数据。 D3 四足+臂强调动态稳定和接触。 D3 人形强调高维全身控制和跨本体学习。
核心机制¶
- 模型线:动作头、tokenization、跨本体表征。
- 数据线:UMI、遥操作、人类视频、仿真合成混合。
- 控制线:VLA + MPC/CBF/WBC 安全包络。
- 系统线:长时任务、失败恢复、持续学习和部署可靠性。
四条研究路线的可行性评估框架:
| 评估维度 | 模型线 | 数据线 | 控制线 | 系统线 |
|---|---|---|---|---|
| 硬件需求 | GPU 集群 | 机器人 + 采集工具 | 单台机器人 | 完整系统 |
| 实验周期 | 2-4 周/次训练 | 1-2 周/次采集 | 1-2 天/次验证 | 数月级集成 |
| 可归因性 | 高(控制变量) | 中(数据质量变化) | 高(约束可量化) | 低(系统交互) |
| 论文门槛 | 基准提升 | 数据规模/质量影响 | 安全性证明 | 系统演示 |
| 长期价值 | 随模型迭代变化 | 数据资产可积累 | 方法可复用 | 工程经验 |
选择路线时的实用建议:如果实验室有 GPU 集群但没有机器人,选模型线。如果有机器人和采集设备但 GPU 有限,选数据线。如果有控制背景,选控制线——这个方向的竞争者最少,因为大多数 VLA 研究者不熟悉控制理论。
数学接口¶
工程接口¶
- 选择一个窄任务做强闭环,而不是泛泛追求通用机器人。
- 保证每个实验能归因到模型、数据或控制改变。
- 优先构建可复现实验资产。
⚠️ 常见陷阱¶
- 思维陷阱:只跟最新模型名,忽略可验证问题。
- 工程陷阱:硬件无法稳定运行,研究变成平台维护。
- 选题陷阱:只做系统集成,没有可量化的新变量。
练习¶
- 提出一个 VLA + MPC filter 的博士课题,并写出实验指标。
- 设计一个跨 UMI、ALOHA、仿真数据的混合训练实验。
- 为 G1 或 Go2+臂选择一个 6 个月可完成的研究问题。
96.13 参考架构:VLA 高层 + WBC 底层 ⭐⭐⭐¶
下面给出一个跨轮式双臂、四足+臂和人形都能复用的接口草图。 它刻意把模型输出和电机命令分开,强调安全边界。
class ModelRuntime:
def select_action(self, observation):
"""返回动作接口片段,而不是电机命令。"""
raise NotImplementedError
class ActionAdapter:
def to_reference(self, action_chunk, robot_state):
"""把模型动作转换成 EE 目标或关节参考。"""
raise NotImplementedError
class SafetyController:
def filter(self, reference, robot_state):
"""检查限位、碰撞、稳定性和速度。"""
raise NotImplementedError
def closed_loop_step(runtime, adapter, controller, robot):
obs = robot.observe()
raw_action = runtime.select_action(obs)
reference = adapter.to_reference(raw_action, robot.state())
safe_reference = controller.filter(reference, robot.state())
robot.track_reference(safe_reference)
接口解释:
- ModelRuntime 可以是 OpenVLA、π0、Octo、GR00T 风格动作专家或自研策略。
- ActionAdapter 是跨本体迁移的核心,它理解动作单位、坐标系和机器人几何。
- SafetyController 是最后一道显式物理边界,可以由 CBF、MPC、WBC 或组合实现。
- robot.track_reference 才接近硬件执行,它不应直接暴露给基础模型。
96.13+ 参考架构的工程实现细节 ⭐⭐⭐¶
VLA 高层与 WBC 底层的通信协议¶
在实际系统中,VLA 和底层控制器之间的通信需要标准化。以下是推荐的消息格式:
from dataclasses import dataclass
import numpy as np
@dataclass
class VLAOutput:
"""中文注释:VLA 输出的标准消息格式。"""
timestamp: float # 中文注释:推理完成时间戳
action_type: str # 中文注释:'joint' / 'ee_pose' / 'ee_delta'
action: np.ndarray # 中文注释:动作向量
action_horizon: int # 中文注释:动作片段长度(步数)
confidence: float # 中文注释:模型置信度 [0, 1]
language_goal: str # 中文注释:当前语言指令
task_phase: str # 中文注释:当前任务阶段
@dataclass
class SafetyFilterOutput:
"""中文注释:安全过滤层输出的标准消息格式。"""
safe_action: np.ndarray # 中文注释:过滤后的安全动作
is_safe: bool # 中文注释:原始动作是否安全
activated_constraints: list # 中文注释:激活的约束名称列表
projection_magnitude: float # 中文注释:动作被修正的量
reject_reason: str # 中文注释:如果拒绝,原因是什么
延迟预算的详细分解¶
一个完整的 VLA 控制循环的延迟预算如下:
| 环节 | 延迟范围 | 优化方法 | 不可压缩部分 |
|---|---|---|---|
| 图像采集 | 5-15 ms | 全局快门 + 高帧率 | 曝光时间 |
| 图像预处理 | 2-5 ms | GPU 加速 resize/crop | ~1 ms |
| VLM 编码 | 10-30 ms | INT8 量化 + TensorRT | ~5 ms |
| 动作头推理 | 5-20 ms | 减少采样步数 | ~3 ms |
| 安全过滤 | 0.5-5 ms | 预计算碰撞距离 | ~0.5 ms |
| 通信(远程) | 5-50 ms | 本地部署消除 | 0(本地部署) |
| 电机执行 | 1-5 ms | 高带宽驱动器 | ~1 ms |
| 端到端 | 28-130 ms | ~11 ms |
跨领域类比:VLA 的延迟预算类似于实时音视频通话中的端到端延迟。视频通话中 150ms 以下的延迟被认为"自然",300ms 以上明显卡顿。机器人控制中的"自然"延迟取决于任务动态——桌面操作 100ms 可接受,快速运动 20ms 是上限。两者的优化策略也类似:不可压缩的延迟(采集、物理执行)决定了下界,可优化的延迟(推理、通信)是工程努力的重点。
96.14 从数据到模型到系统的完整工程闭环 ⭐⭐¶
回顾本章,从第 84 章的 VLA 移动操作,到第 85 章的数据采集,再到本章的基础模型系统栈,三章共同构成了一条完整的工程闭环:
这条闭环中最容易断裂的三个接口:
-
数据到训练的接口:归一化统计量不匹配、动作空间定义不一致、相机外参变化未更新。这些问题在
复合/150的采集链路中已详细讨论。 -
训练到部署的接口:模型版本和 stats 版本不同步、action adapter 未适配目标平台、安全过滤未接入。这些问题在本章的 runtime-adapter-controller 架构中给出了解决方案。
-
部署到数据的接口:失败 episode 没有回流到采集计划、评测指标没有细化到阶段、过滤统计没有用于诊断。这是"闭环"能否真正闭合的关键——如果失败只是被记录而不被利用,系统永远不会改进。
本质洞察:VLA 基础模型的工程成熟度不取决于模型参数量或基准分数,而取决于这条闭环是否能稳定运转。一个 1B 参数的模型配合完善的数据闭环、安全过滤和阶段化评测,比一个 70B 参数的模型裸部署更值得信赖。
96.14+ 基础模型的训练数据工程 ⭐⭐⭐¶
数据来源与质量层级¶
VLA 基础模型的训练数据来自多个层级,每个层级的数据量、质量和覆盖度不同:
| 数据层级 | 来源 | 数据量 | 动作质量 | 语义多样性 | 典型用途 |
|---|---|---|---|---|---|
| L1 互联网 | 视频、图文 | 数十亿 | 无(无动作标注) | 极高 | VLM 预训练 |
| L2 仿真 | IsaacSim/MuJoCo | 数百万轨迹 | 中(仿真精度限制) | 可控 | 策略预训练 |
| L3 遥操作 | 人类遥操作 | 数千-数万轨迹 | 高 | 中(依赖场景) | 微调 |
| L4 自主探索 | 机器人自主收集 | 可扩展 | 低(含失败) | 低(当前任务) | 在线学习 |
数据混合比例的经验法则
推荐混合比例:
| 训练阶段 | \(\lambda_1\) (互联网) | \(\lambda_2\) (仿真) | \(\lambda_3\) (遥操作) | \(\lambda_4\) (探索) |
|---|---|---|---|---|
| 预训练 | 0.7 | 0.2 | 0.1 | 0.0 |
| 微调 | 0.1 | 0.2 | 0.6 | 0.1 |
| 适配 | 0.0 | 0.1 | 0.8 | 0.1 |
反事实推理:如果只用遥操作数据训练(不做预训练)会怎样?模型缺乏互联网规模的视觉-语言知识,对新物体和新指令的泛化能力极差。例如,模型可能认识训练中见过的"红色杯子",但遇到"蓝色花瓶"时完全无法理解。预训练阶段的互联网数据提供了这种泛化的基础——模型从数十亿图文对中学会了"杯子""花瓶""红色""蓝色"的语义,遥操作数据只需要教它"如何把语义理解转化为动作"。
数据标注的标准化¶
跨平台、跨团队的数据必须遵循统一的标注规范:
| 标注字段 | 格式 | 必要性 | 常见错误 |
|---|---|---|---|
| 语言指令 | 自然语言字符串 | 必须 | 指令过于模糊或过于具体 |
| 动作空间类型 | 枚举:joint/ee_pose/ee_delta | 必须 | 不标注导致解析错误 |
| 坐标系 | 枚举:base/world/task | 必须 | 不同平台混用 |
| 归一化方式 | 均值 + 标准差 | 必须 | 使用训练集以外的统计量 |
| 机器人类型 | 字符串标识 | 跨本体必须 | 缺失导致负迁移 |
| 成功标签 | 布尔值 | 推荐 | 成功判据不一致 |
| 失败原因 | 枚举 | 推荐 | 缺失导致无法改进 |
本质洞察:基础模型的"基础"不只是模型架构——更是数据基础设施。一个精心设计的数据标注规范和采集流程,比一个更复杂的模型架构对最终性能的贡献更大。这就是 Open X-Embodiment 数据集的价值——它不是最大的数据集,但它的标注规范和跨平台一致性使得混合训练成为可能。
数据版本管理与可追溯性¶
训练数据的版本管理对可复现性至关重要:
- 数据集版本号:每次数据更新(新增、删除、修正)都应递增版本号
- 数据血缘:记录每条数据的来源(哪台机器人、哪个操作者、什么时间)
- 模型-数据对应:每个模型检查点都应记录使用的数据集版本
- 数据审计:定期检查数据中是否有标注错误、时间不对齐或异常值
96 本章小结¶
| 知识点 | 本章结论 | 能做什么 |
|---|---|---|
| 模型接口 | 基础模型输出动作接口,不直接输出裸电机控制 | 能设计 runtime-adapter-controller 三层接口 |
| 动作 token | FAST、离散 bin、flow、diffusion 是不同动作表示路线 | 能按频率和精度要求选择动作头 |
| 闭环频率 | 语义、动作、运动先验和控制内环必须分频运行 | 能为复合机器人分配频率 |
| 安全边界 | VLA 必须与 CBF/MPC/WBC 等显式约束结合 | 能设计安全过滤流程 |
| 博士路径 | 高价值课题位于模型、数据、控制和系统交界处 | 能定义可验证研究问题 |
96.15 基础模型在复合机器人中的开放问题 ⭐⭐⭐¶
长时间自主的记忆与规划¶
当前 VLA 基础模型的上下文窗口限制了长任务规划能力。一个典型的家庭整理任务可能持续 30 分钟以上,期间需要记住哪些物品已经处理、哪些区域已经清理。
记忆机制的设计空间
| 记忆类型 | 存储内容 | 访问方式 | 容量 | 示例 |
|---|---|---|---|---|
| 工作记忆 | 当前任务的短期状态 | 直接嵌入上下文 | 有限(上下文窗口) | 当前抓取目标 |
| 情节记忆 | 过去执行的任务和结果 | 检索增强 | 大 | 上次这个物品在哪里 |
| 语义记忆 | 环境的持久知识 | 键值查找 | 大 | 厨房布局 |
| 程序记忆 | 学过的技能和习惯 | 策略内隐 | 由模型参数决定 | 如何开冰箱 |
跨领域类比:VLA 的记忆问题与人类认知心理学中的"多重记忆系统"完全对应。Atkinson-Shiffrin 模型将记忆分为感觉记忆、短期记忆和长期记忆。VLA 目前只有"感觉记忆"(当前观测)和有限的"短期记忆"(上下文窗口)。缺乏长期记忆是它无法完成长任务的根本原因。RAG(检索增强生成)为 LLM 添加了"外部长期记忆"——类似的思路可以为 VLA 添加环境地图和任务历史的外部记忆。
物理推理与因果理解¶
当前 VLA 模型通过统计关联来生成动作,而非物理因果推理。这在简单操作任务中足够,但在复杂物理场景中不足。
| 场景 | 需要的推理 | 当前 VLA 能力 | 差距 |
|---|---|---|---|
| 液体倾倒 | 流体动力学直觉 | 不足 | 大 |
| 堆叠不稳定物品 | 重心和摩擦估计 | 有限 | 中 |
| 柔性物体操作 | 变形预测 | 不足 | 大 |
| 工具使用 | 力传递和杠杆原理 | 有限 | 中 |
| 多步因果链 | 因果推理 | 不足 | 大 |
本质洞察:VLA 基础模型的"理解"本质上是统计关联而非因果推理。它可以学到"倾斜杯子→液体流出"的关联,但不理解"重力+液体表面张力+杯子倾斜角"的因果链。这意味着在训练分布内它表现很好,但遇到新的物理配置(如不同粘度的液体、不同形状的容器)时可能失败。世界模型的引入正是为了弥补这种因果推理的缺失。
多机器人协作中的基础模型¶
当多台机器人需要协同完成任务时,基础模型面临新的挑战:
| 挑战 | 描述 | 可能方案 |
|---|---|---|
| 任务分配 | 哪台机器人做哪个子任务 | 中央 LLM 规划器 |
| 冲突避免 | 多台机器人不互相碰撞 | 去中心化 CBF |
| 通信延迟 | 共享信息的延迟 | 本地决策 + 异步同步 |
| 异构协作 | 不同类型机器人协作 | 统一任务帧表示 |
96 累积项目:本章新增模块¶
- 新增
FoundationModelRuntime:统一封装 OpenVLA、π0、Octo、GR00T 类策略入口。 - 新增
EmbodimentAdapter:把跨本体动作转换为目标机器人可执行参考。 - 新增
FrequencyBridge:协调语义、动作、WBC 和电机内环频率。 - 新增
SafetyEnvelope:用 CBF/MPC/WBC 表达不可绕过的物理边界。
96 延伸阅读¶
| 材料 | 难度 | 阅读重点 |
|---|---|---|
| RT-2 / OpenVLA | ⭐⭐⭐ | 离散动作 token 与开放源 VLA 训练 |
| π0 / FAST / π0.5 | ⭐⭐⭐⭐ | flow matching、DCT+BPE 与开放世界移动操作 |
| Octo / RDT-1B | ⭐⭐⭐ | 跨本体策略和双臂扩散基础模型 |
| GR00T / Helix 技术报告 | ⭐⭐⭐ | 双系统、多频率和人形全身部署 |
| Open X-Embodiment / RoboCasa / HomeRobot | ⭐⭐ | 跨数据集与评测生态 |
96 故障排查手册¶
教学不能只讲系统如何搭起来,还要讲系统坏了怎么定位。 下表按症状组织排查路径,适合在仿真、采集和实机部署中直接使用。
| 症状 | 可能原因 | 排查步骤 | 修正方式 |
|---|---|---|---|
| 模型能理解目标但动作不可执行 | 动作接口与机器人几何不匹配 | 检查 action schema、IK 可达性和 frame 定义 | 修改 adapter,优先输出任务帧或 EE 参考 |
| 动作安全过滤频繁激活 | 策略分布与安全约束冲突 | 统计过滤量和激活约束;回放对应观测 | 补充约束感知数据或调整动作接口 |
| 跨平台迁移后成功率低 | 本体状态、夹爪语义或工作空间差异 | 比较源/目标动作范围和观测字段 | 加入本体 mask、重新归一化并小规模微调 |
| 高层目标频繁跳变 | 语义层没有任务记忆或结束条件 | 记录目标时间序列和阶段标签 | 加入任务状态机和稳定结束条件 |
| 延迟导致接触任务失败 | 模型推理或网络超出闭环预算 | 测端到端延迟分布;检查缓存策略 | 本地化动作层或减少采样步数 |
96 专题学习路径:从基础模型到复合机器人系统假设¶
本节把重复卡片改成一条前沿系统学习路径。 每张卡片都用限定语处理近年模型事实,并把注意力放回可验证接口。
96.A 使用方法¶
这些卡片不是零散速记,而是把本章主线压缩成可执行判断。 阅读时建议按顺序回答三件事:当前系统的关键接口是什么,最可能出现的反例是什么,工程上如何观测这个反例。 每张卡片都对应一个设计检查点,适合在方案评审、实验准备和实机排查前使用。
卡片 001:模型不是内环¶
- 关键判断:基础模型输出参考而非裸控制
- 反例:动作绕过 WBC 和限位直接发到驱动
- 机制:物理约束需要高频控制层执行
- 工程接口:policy runtime 与 control gateway 分开
- 失败模式:碰撞和饱和
- 练习:画出四层系统图
卡片 002:动作头是接口¶
- 关键判断:离散、flow、diffusion 是动作接口选择
- 反例:只比较模型大小,不比较动作表示
- 机制:动作头决定频率、误差和跨本体边界
- 工程接口:记录 action_dim、frame、rate 和 horizon
- 失败模式:迁移失败不可解释
- 练习:为三个平台写动作契约
卡片 003:OpenVLA 要限定语¶
- 关键判断:近年模型应按论文和发布理解
- 反例:把某路线说成唯一标准
- 机制:代表性路线说明接口思想,不替代复现实验
- 工程接口:在文档中标注“可作为代表性路线理解”
- 失败模式:过度强断言误导读者
- 练习:改写一句模型事实陈述
卡片 004:FAST 看重构¶
- 关键判断:压缩动作 token 要看物理误差
- 反例:只追求 token 更短
- 机制:DCT/BPE 类思路改变动作片段表示
- 工程接口:报告重构误差和接触误差
- 失败模式:接触瞬间失真
- 练习:实现 DCT 截断对比
卡片 005:flow 看延迟¶
- 关键判断:连续生成要服从闭环预算
- 反例:采样步数随任务随意变化
- 机制:ODE 或采样过程占用策略周期
- 工程接口:固定最大推理时间和缓存
- 失败模式:动作过期
- 练习:计算延迟预算
卡片 006:diffusion 看随机性¶
- 关键判断:多样性必须可控
- 反例:实机评测每次随机采样不同
- 机制:随机动作影响安全和复现
- 工程接口:记录种子并提供确定模式
- 失败模式:偶发失败难定位
- 练习:设计随机性评测表
卡片 007:S2/S1 要同步¶
- 关键判断:双系统需要目标版本契约
- 反例:高层目标变了,低层仍执行旧片段
- 机制:层间通信需要版本、有效期和阶段条件
- 工程接口:目标消息带 version 和 timeout
- 失败模式:目标滞后
- 练习:写 S2 到 S1 消息字段
卡片 008:频率按物理分层¶
- 关键判断:语义慢、接触快是系统事实
- 反例:所有模块都用同一循环频率
- 机制:不同现象有不同时间尺度
- 工程接口:为每层写 rate、buffer 和 fallback
- 失败模式:低频噪声进入高频控制
- 练习:分配人形操作任务频率
卡片 009:跨本体要身份¶
- 关键判断:共享语义不代表共享动作
- 反例:不同机器人没有 embodiment_id
- 机制:身份信息帮助模型解释有效字段和动作范围
- 工程接口:提供本体 embedding 或 mask
- 失败模式:平均动作不可执行
- 练习:设计 embodiment metadata
卡片 010:任务帧利于泛化¶
- 关键判断:EE 或任务帧动作通常比关节动作更易迁移
- 反例:源机器人关节轨迹直接给目标机器人
- 机制:任务 frame 保留对象相对关系
- 工程接口:adapter 负责 IK 和碰撞
- 失败模式:目标平台跳变
- 练习:把 UMI 轨迹转成任务帧
卡片 011:安全过滤要可观测¶
- 关键判断:过滤统计是诊断信号
- 反例:过滤层只返回改写后的动作
- 机制:约束激活说明策略和物理边界冲突
- 工程接口:记录原始动作、安全动作和激活约束
- 失败模式:无法归因
- 练习:设计 safety log
卡片 012:CBF/MPC/WBC 分工¶
- 关键判断:安全方法按时间尺度和约束类型选择
- 反例:所有约束都塞进同一个 clipping 函数
- 机制:CBF 适合局部约束,MPC 适合预测,WBC 适合全身分配
- 工程接口:按任务声明过滤链
- 失败模式:保守或漏检
- 练习:比较三类安全层
卡片 013:部署算力要预算¶
- 关键判断:推理延迟是系统参数
- 反例:模型升级后不测端到端延迟
- 机制:延迟改变动作相位和接触稳定
- 工程接口:记录平均、尾部和超时
- 失败模式:偶发接触失败
- 练习:写端到端延迟表
卡片 014:隐私边界要设计¶
- 关键判断:家庭数据需要权限和脱敏
- 反例:把所有视频上传远程服务
- 机制:部署架构影响数据流向
- 工程接口:区分本地视觉、远程语义和日志
- 失败模式:数据不可用或不可发布
- 练习:设计隐私字段
卡片 015:评测要双轨¶
- 关键判断:基准和实机互补
- 反例:只看 LIBERO 类离线指标
- 机制:基准提供可比性,实机提供部署证据
- 工程接口:同时记录 benchmark 和 real task
- 失败模式:纸面提升无法落地
- 练习:设计双轨评测
卡片 016:长任务要记忆¶
- 关键判断:单帧无法表示阶段
- 反例:模型重复执行已完成动作
- 机制:任务状态应独立于瞬时观测
- 工程接口:维护阶段状态和完成判据
- 失败模式:循环抓取
- 练习:设计任务记忆
卡片 017:失败恢复要入口¶
- 关键判断:开放世界任务一定会失败
- 反例:失败后只能急停
- 机制:系统需要检测、保持、回退和重新规划
- 工程接口:定义 recovery policy
- 失败模式:小错变大错
- 练习:写恢复状态机
卡片 018:数据来源要标注¶
- 关键判断:机器人、手持、视频和仿真语义不同
- 反例:所有数据混成一个 source
- 机制:来源决定动作可执行性和噪声模型
- 工程接口:source_id 进入 batch 和评测
- 失败模式:模型学到混合假设
- 练习:比较四类数据
卡片 019:网页知识有限¶
- 关键判断:语义知识不等于操作能力
- 反例:模型知道物体用途却不会抓取
- 机制:语言知识需要落到感知和动作接口
- 工程接口:把知识检索和动作生成分层
- 失败模式:语义正确动作错误
- 练习:分析一个工具使用任务
卡片 020:人形更看稳定¶
- 关键判断:全身平台不能只看手部成功
- 反例:手抓到物体但站姿不稳
- 机制:上肢动作和质心、接触、足底约束耦合
- 工程接口:WBC 或运动先验接在动作层下方
- 失败模式:操作成功但机器人失稳
- 练习:为人形拿杯子写约束
卡片 021:四足加臂看耦合¶
- 关键判断:底盘姿态会改变机械臂工作空间
- 反例:只训练机械臂,不提供机身姿态
- 机制:本体状态影响可达性
- 工程接口:observation 包含 base pose 和接触状态
- 失败模式:上坡场景失败
- 练习:设计四足加臂输入
卡片 022:服务化要错误码¶
- 关键判断:运行时接口需要明确异常语义
- 反例:模型失败返回空数组
- 机制:客户端必须知道是超时、拒绝还是无解
- 工程接口:定义状态码和回退动作
- 失败模式:异常变成危险动作
- 练习:写 runtime 返回协议
卡片 023:模型升级要回归¶
- 关键判断:新模型必须通过旧接口测试
- 反例:换模型后直接实机演示
- 机制:接口回归保障 action schema、延迟和安全统计不退化
- 工程接口:固定回归任务和日志字段
- 失败模式:能力提升伴随安全退化
- 练习:制定模型升级检查
卡片 024:研究变量要单一¶
- 关键判断:博士课题需要可归因
- 反例:一次同时换模型、数据和控制
- 机制:变量隔离让贡献可解释
- 工程接口:固定三条线,只改一条
- 失败模式:结论不可复现
- 练习:设计对照实验
卡片 025:论文结论要有边界¶
- 关键判断:前沿陈述不应超出公开证据
- 反例:把演示视频当作全面能力证明
- 机制:论文和官方发布只覆盖特定设置
- 工程接口:写清平台、任务和限定语
- 失败模式:读者误判成熟度
- 练习:给一段前沿描述加限定
卡片 026:adapter 是研究对象¶
- 关键判断:跨本体瓶颈常在 adapter
- 反例:只训练大模型,不测 adapter 误差
- 机制:adapter 决定动作语义落地
- 工程接口:单独评测 adapter 的几何和时序误差
- 失败模式:模型背锅
- 练习:设计 adapter 单测
卡片 027:日志是系统记忆¶
- 关键判断:没有日志就没有系统研究
- 反例:只保存最终视频
- 机制:多层系统需要跨层时间线
- 工程接口:记录目标、观测、动作、过滤、控制状态
- 失败模式:失败无法重放
- 练习:写跨层日志字段
卡片 028:开源路线要分层读¶
- 关键判断:读项目先找数据和接口
- 反例:直接看 transformer block
- 机制:部署问题常在输入输出和服务封装
- 工程接口:按 dataset、model、policy、runtime 阅读
- 失败模式:看懂模型却接不上机器人
- 练习:制定源码阅读顺序
卡片 029:前沿不是免控制¶
- 关键判断:模型越通用,边界越要清楚
- 反例:相信基础模型能自行避免所有危险
- 机制:训练分布不可能覆盖所有硬件状态
- 工程接口:把控制约束作为系统默认层
- 失败模式:少见状态下危险
- 练习:列出三类必须硬约束
96.B 案例推演¶
场景 1:选择动作表示¶
从任务频率开始:如果任务需要高频接触修正,动作表示必须支持短周期更新。 再看平台迁移:固定机械臂可用关节动作,跨平台优先考虑末端或任务帧动作。 最后看模型结构:自回归路线需要 tokenization,连续生成路线需要延迟预算和随机性控制。 任何选择都要落到 action adapter 和 safety filter,而不是只写在模型配置里。
场景 2:双系统部署¶
S2 处理图像语言、目标选择和任务阶段,更新频率较低。 S1 或动作层处理短时视觉运动,负责把目标转成动作片段。 控制层负责高频跟踪、稳定和约束。三层之间用版本化目标和动作缓存连接。 如果高层目标改变,低层必须知道旧动作是否仍然有效。
场景 3:跨本体训练¶
跨本体数据首先统一任务语义,其次保留本体身份,最后才考虑共享动作头。 不同平台的动作字段不能强行补齐,缺失字段要有 mask。 评测时要分平台统计,否则大平台数据可能掩盖小平台失败。 adapter 的单独误差是判断迁移是否成立的关键证据。
场景 4:VLA + WBC¶
VLA 输出目标和动作片段,WBC 把这些参考放到全身动力学约束中求解。 中间需要安全过滤层检查可达性、碰撞、速度和稳定裕度。 当过滤失败时,系统应返回高层可理解的失败原因,而不是只停机。 这种反馈可以让高层重新选择目标或触发恢复策略。
场景 5:博士选题¶
模型路线关注动作头、跨本体表征和推理效率。 数据路线关注采集工具、任务帧、质量筛选和混合训练。 控制路线关注约束过滤、稳定性和动作参考到硬件的映射。 系统路线关注端到端日志、部署可靠性和故障恢复。每条路线都应有可归因实验。
场景 6:事实陈述边界¶
OpenVLA、π0/π0.5、FAST、RDT、GR00T、Helix 等名称在教学中适合当作代表性路线。 具体能力、平台和数字应以论文或官方发布为准,不应在教学文档中无依据扩展。 描述时优先写“可作为某类思路理解”,再说明它启发的接口设计。 这样既能介绍前沿,也能避免把快速变化的发布状态写成永久事实。
96.C 收束与综合练习¶
本章的核心不是追逐模型名称,而是把基础模型放进复合机器人系统栈中。 读者应始终追问五个接口:输入接口、动作接口、频率接口、安全接口和评测接口。 综合练习 1:为一个人形整理桌面任务设计 VLA、动作层、WBC 和硬件驱动之间的数据流。 综合练习 2:比较 OpenVLA 式离散动作、FAST 式压缩动作和 π0 式连续 flow 在同一任务中的接口差异,注意使用限定语。 综合练习 3:设计一个跨 Mobile ALOHA、UMI 和仿真数据的训练方案,明确 source mask、动作契约和评测拆分。 综合练习 4:为一个云端高层模型 + 本地控制器部署方案写延迟预算、隐私边界和超时回退。 完成这些练习后,应能把近年前沿模型转化为可验证的机器人系统假设,而不是停留在名称比较。
96.C1 2025-2026 年基础模型系统新趋势¶
VLA 和基础模型领域在 2025-2026 年出现了若干值得关注的系统级趋势,具体结论以论文和官方发布为准。
思维链式动作推理。部分公开路线开始探索在动作生成前加入显式推理步骤——模型先用文本或内部表征"思考"任务分解和约束检查,再输出动作。这类似于 LLM 中 Chain-of-Thought 的思路,但应用到物理动作领域带来了新挑战:推理过程增加延迟,且推理结论与物理可行性之间存在鸿沟。
视觉-动作预训练的分离与融合。2025 年以来,架构设计出现两极化趋势。一极是把视觉语言理解和动作生成放在同一个模型中端到端训练(如部分 VLA 路线),另一极是显式分离为视觉语言模块和动作专家模块(如 GR00T/Helix 类双系统路线)。两种路线各有工程代价:端到端模型训练数据需求更大但接口更简单;分离模型各层可独立迭代但层间对齐成本更高。
小模型高效微调。不是所有场景都需要 7B+ 参数的大模型。2025 年以来,多个方向探索使用 1-3B 参数量级的模型配合高效微调(LoRA、adapter)实现接近大模型的单任务性能。这对端侧部署特别有价值——1B 模型可以在消费级 GPU 上实时推理,避免了远程服务的延迟和可靠性问题。
物理世界模型辅助动作评估。除了前面提到的世界模型 + VLA 生成未来观测,另一个方向是用物理世界模型评估动作安全性——在执行前用快速物理仿真预测动作后果,如果预测到碰撞或失稳就拒绝执行。这本质上是把安全过滤从基于约束的方法扩展到基于预测的方法。
本质洞察:2025-2026 年的趋势表明,VLA 基础模型正从"单一大模型解决一切"走向"模型系统协作"。模型负责语义和动作生成,系统负责约束、安全和部署可靠性。这两条线的分工越清晰,系统越强壮。
260.D 递进复盘:从动机到练习¶
这一组复盘把本章关键概念重新组织为“动机 -> 反例 -> 机制 -> 工程接口 -> 失败模式 -> 练习”的链条。 它不是新增术语,而是帮助读者把前文内容转化为现场排查和研究设计能力。
复盘 1:系统分层¶
- 动机:把基础模型放到正确接口位置。
- 反例:模型输出绕过控制层。
- 机制:语义、动作、安全、硬件分层协作。
- 工程接口:runtime、adapter、controller、gateway 分开。
- 失败模式:错误直接落到硬件。
- 练习:画四层参考架构。
复盘 2:模型事实限定¶
- 动机:按论文和官方发布理解前沿路线。
- 反例:把代表性案例写成永久结论。
- 机制:教学关注接口思想而非未经核实数字。
- 工程接口:使用“可作为代表性路线理解”等限定语。
- 失败模式:读者误判成熟度。
- 练习:改写三句强断言。
复盘 3:动作 token¶
- 动机:压缩动作同时保留物理细节。
- 反例:只追求更短 token 序列。
- 机制:tokenization 改变频率、误差和接触细节。
- 工程接口:报告重构误差和接触段误差。
- 失败模式:插入任务失败。
- 练习:比较逐步离散和 DCT 压缩。
复盘 4:连续动作头¶
- 动机:生成连续片段并满足实时预算。
- 反例:采样步数过多导致动作迟到。
- 机制:flow 或 diffusion 需要推理时间约束。
- 工程接口:配置最大延迟、缓存和确定模式。
- 失败模式:动作过期或偶发危险。
- 练习:写延迟预算。
复盘 5:频率接口¶
- 动机:按物理时间尺度分配模块。
- 反例:语义层高频刷新目标。
- 机制:低频目标和高频控制需要隔离。
- 工程接口:每层声明 rate、timeout 和 fallback。
- 失败模式:高频抖动。
- 练习:为 S2/S1/WBC 分配频率。
复盘 6:跨本体身份¶
- 动机:让模型知道当前硬件形态。
- 反例:所有机器人共享同一空白身份。
- 机制:本体信息解释有效字段和动作范围。
- 工程接口:提供 embodiment_id、mask 和 adapter。
- 失败模式:平均动作不可执行。
- 练习:设计本体 metadata。
复盘 7:任务帧迁移¶
- 动机:用相对动作降低平台差异。
- 反例:直接迁移关节轨迹。
- 机制:任务 frame 保留对象关系。
- 工程接口:adapter 做 IK、碰撞和限速。
- 失败模式:目标平台跳变。
- 练习:迁移一段 UMI 轨迹。
复盘 8:安全组合¶
- 动机:让学习动作经过显式约束。
- 反例:只用 clipping 替代安全控制。
- 机制:CBF、MPC、WBC 分别处理不同约束。
- 工程接口:记录过滤量和不可行原因。
- 失败模式:保守或漏检。
- 练习:比较三类安全层。
复盘 9:部署可靠性¶
- 动机:把算力和网络纳入系统设计。
- 反例:云端推理无本地回退。
- 机制:尾部延迟决定接触可靠性。
- 工程接口:记录平均、尾部、超时和缓存命中。
- 失败模式:偶发失败难复现。
- 练习:设计云边协同策略。
复盘 10:评测双轨¶
- 动机:同时追求可比性和实机证据。
- 反例:只看标准基准分数。
- 机制:基准和真实任务回答不同问题。
- 工程接口:报告 benchmark、真实任务和安全统计。
- 失败模式:纸面提升无法部署。
- 练习:设计双轨评测表。
复盘 11:博士变量¶
- 动机:让研究贡献可归因。
- 反例:一次改四条技术线。
- 机制:固定大部分系统,只改变关键假设。
- 工程接口:实验计划写固定项、变化项和度量项。
- 失败模式:结论不可复现。
- 练习:设计一个控制变量实验。
复盘 12:日志体系¶
- 动机:为复杂系统保留可回放时间线。
- 反例:只保存最终视频。
- 机制:跨层日志连接语义、动作、安全和控制。
- 工程接口:记录目标、观测、动作、过滤和底层状态。
- 失败模式:失败无法定位。
- 练习:写跨层日志 schema。
260.D+ 2025-2026 VLA 最新进展补遗¶
本章主体内容覆盖了 VLA 基础模型的核心设计原则。2025-2026 年间,这一方向继续快速演化,以下进展值得关注。
Physical Intelligence pi-0 系列(2024-2025)。pi-0 的核心贡献在于将 flow matching 引入动作生成头——与 RT-2 的离散 token 化和 Octo 的 diffusion head 不同,flow matching 通过学习一个从噪声到动作的连续变换场来生成动作序列。这种方法的优势在于:(1)推理时只需一步或少数步去噪,延迟显著低于 diffusion;(2)天然支持连续动作空间,无需 token 化带来的量化误差。pi-0.5 进一步引入了 web 数据预训练 + 机器人数据微调的两阶段训练,验证了"互联网视觉知识可以迁移到机器人动作"的假设。从接口角度看,pi-0 系列的输入仍然是图像 + 语言指令,输出是末端位姿或关节角的连续轨迹,频率约 5-10 Hz——下游仍需低层控制器将轨迹转化为力矩。
OpenVLA 的后续生态与局限。OpenVLA 作为开源 VLA 模型,在 2024-2025 年间催生了大量社区复现和改进工作。OpenVLA 2.0 引入了更高效的视觉编码器和更大的动作预测窗口。然而,OpenVLA 系列暴露了一个系统性问题:开源权重的训练数据规模与工业方案(如 pi-0、GR00T)相差 1-2 个数量级,这导致在 zero-shot 泛化能力上存在显著差距。对于研究者来说,OpenVLA 的价值更多在于提供一个可修改的 baseline,而非直接可部署的方案。
NVIDIA GR00T 与 Helix 的工业路线。GR00T N1 将 VLA 与人形机器人硬件绑定——模型架构、训练数据和部署管线都针对人形场景优化。Helix 则采用双系统架构:一个慢速大模型处理语义理解和长程规划(System-2),一个快速小模型处理实时动作生成(System-1)。这种分频设计与本章强调的"语义层-动作层频率分离"原则完全一致。从工程角度看,GR00T/Helix 的核心贡献不在模型架构本身,而在于验证了 VLA 在工业级人形平台上的可部署性——包括推理延迟优化、安全过滤集成和多传感器融合。
跨本体基础模型的新尝试。2025-2026 年,"一个模型控制多种机器人"成为热门方向。RDT(Robotics Diffusion Transformer)和后续工作尝试通过 embodiment token 和 action adapter 来处理不同机器人之间的形态差异。核心思路是:视觉-语言编码器共享,动作解码器按本体分支。这与本章 260.3 讨论的跨本体训练接口设计一致——关键工程问题仍然是 valid mask 的设计和归一化统计的对齐。
给学习者的定位建议:VLA 基础模型方向的论文产出速度极快(2025 年上半年已超过 50 篇),但核心的工程接口问题(输入格式、动作表示、频率匹配、安全过滤)变化不大。建议把精力放在理解接口设计原则上,而非追逐每一篇新论文。本章的 12 条设计原则和接口模板在可预见的未来仍然适用。
260.E 口试式综合题¶
这些题目适合在读完本章后闭卷回答。每题都要求先说接口,再说风险,最后说验证方法。
- 选择一个真实移动操作任务,说明观测字段、动作字段和安全过滤字段。
- 给出一个模型离线指标提升但实机失败的例子,并按数据、模型、控制三层定位。
- 设计一次最小实机实验,要求能够区分同步错误、标定错误和策略错误。
- 写出一个失败 episode 的最小诊断记录,包括关键帧、动作、状态和失败原因。
- 说明本章方法与前置移动操作规划、MPC/WBC 和模仿学习章节的连接方式。
- 说明哪些结论可以通过离线 replay 验证,哪些必须通过实机接触验证。
- 把一个前沿模型名称转化为输入接口、动作接口、频率接口和安全接口四个问题。
- 给出一个你会拒绝部署的动作片段,并说明拒绝条件来自哪一层。
- 设计一个小规模数据闭环,让下一轮采集只补最关键的失败阶段。
- 用一段话总结本章最重要的工程原则,并说明它如何降低实机风险。
260.F 闭卷掌握清单¶
- 是否能把 OpenVLA、π0/π0.5、FAST、RDT、GR00T 和 Helix 等名称改写成接口假设?
- 是否能说明离散 token、FAST tokenization、flow matching 和 diffusion head 的工程边界?
- 是否能为一个复合机器人系统写出 S2、S1、运动先验和控制内环的频率分工?
- 是否能说明跨本体训练为什么需要 embodiment_id、valid mask 和 action adapter?
- 是否能把基础模型输出接入 CBF、MPC 或 WBC,而不是直接接入硬件?
- 是否能同时设计基准评测、实机评测和安全过滤统计?
- 是否能为云端语义服务与本地动作执行之间写出超时和隐私边界?
- 是否能把博士研究问题收敛成一个可归因、可验证的系统假设?
本章与课程体系的衔接¶
VLA 基础模型是本课程复合方向的"顶层"——它将前序章节的多个模块串联成完整的系统。以下是关键的跨章连接:
| 前置章节 | 连接点 | VLA 基础模型中的角色 |
|---|---|---|
| 复合/60 Pfaffian 约束 | 非完整约束 | VLA 输出的底盘速度命令必须满足运动学约束 |
| 复合/70 轮足 MPC | 实时轨迹优化 | VLA 生成的目标轨迹由 MPC 跟踪执行 |
| 复合/140 VLA 移动操作 | 部署接口 | 本章的模型架构通过 140 章的接口落地 |
| 复合/150 ALOHA/UMI | 训练数据 | 高质量演示数据是 VLA 微调的关键输入 |
| 复合/190 Visual WBC | 视觉底层 | VBC 式教师-学生蒸馏可作为 VLA 的运动先验层 |
| 复合/210 RAMBO | 安全执行 | MPC-RL 混合控制器作为 VLA 输出的安全执行层 |
| 复合/220 人形 WBC | 全身控制 | HQP/WBC 将 VLA 的末端目标转化为关节力矩 |
全局视角:VLA 基础模型解决的是"做什么"(语义理解和任务规划),而本课程复合方向的其他章节解决的是"怎么做"(运动控制和安全执行)。两者缺一不可。一个没有底层控制保障的 VLA 是危险的;一个没有语义理解的控制器是盲目的。
本章术语表¶
| 术语 | 全称 | 含义 |
|---|---|---|
| VLA | Vision-Language-Action | 将视觉、语言和动作统一建模的基础模型 |
| Flow Matching | - | 通过学习连续变换场生成样本的生成模型方法 |
| FAST Tokenization | - | 面向机器人动作的高效离散化编码方案 |
| Embodiment Token | - | 标识机器人本体类型的可学习嵌入向量 |
| Action Adapter | - | 将统一动作表示转换为特定机器人关节命令的模块 |
| Valid Mask | - | 标识跨本体训练中哪些动作维度对当前本体有效 |
| CBF | Control Barrier Function | 保证系统状态不离开安全集的在线约束修正方法 |
| S1/S2 | System 1 / System 2 | 快速反应系统与慢速推理系统的双系统架构 |
| RDT | Robotics Diffusion Transformer | 基于 Diffusion Transformer 的跨本体机器人基础模型 |
| Diffusion Head | - | 使用扩散过程生成动作序列的解码模块 |
| Zero-Shot | - | 不经过目标任务微调直接推理的能力 |
本章常见误解汇总¶
| 误解 | 正确理解 |
|---|---|
| 基础模型可以替代底层控制器 | 基础模型输出语义级参考,底层 WBC/MPC 仍然必要 |
| 模型越大泛化越好 | 大模型增加推理延迟,且在特定任务上可能不如微调的小模型 |
| 跨本体 = 通用机器人 | 跨本体只是动作空间的适配,物理能力差异无法靠模型弥补 |
| Flow matching 一定比 diffusion 好 | 两者各有优劣——flow matching 推理快但训练不稳定,diffusion 生成质量更可控 |
| 预训练数据越多越好 | 低质量或不相关的数据会引入噪声,数据质量比数量更重要 |
| VLA 可以处理所有机器人任务 | 当前 VLA 主要处理操作任务,力控和高速运动仍需专门方法 |
| 安全过滤会降低模型性能 | 好的安全过滤只在危险时介入,正常情况下对性能影响极小 |
| 开源模型和闭源模型能力相当 | 截至 2026 年,闭源系统(如 pi0 完整版)在某些任务上仍有优势 |
2025-2026 基础模型前沿进展补充¶
双系统架构的收敛趋势¶
2025 年以来,主要工业玩家的架构方案呈现明显的收敛趋势——无论是 NVIDIA GR00T N1、Figure Helix 还是 Physical Intelligence pi0,都采用了某种形式的"慢速语义推理 + 快速动作生成"双系统架构。
| 系统 | S2(慢速推理) | S1(快速动作) | 接口频率 |
|---|---|---|---|
| GR00T N1 | Eagle VLM | Diffusion Transformer | 5 Hz → 30 Hz |
| Figure Helix | 多模态 LLM | Diffusion 动作头 | 5 Hz → 50 Hz |
| pi0 | PaLI-Gemma VLM | Flow Matching 动作头 | 5 Hz → 50 Hz |
| OpenVLA | Prismatic VLM | Token 自回归 | 5-10 Hz(统一) |
本质洞察:双系统架构的收敛不是巧合——它反映了物理世界的固有双时间尺度。语义理解("这是什么物体""任务目标是什么")变化慢(秒级),动作执行("关节角应该是多少")变化快(毫秒级)。用一个统一频率处理两者要么浪费算力(高频做语义推理),要么牺牲安全(低频做动作控制)。双系统架构是对物理现实的自然适应。
世界模型与 VLA 的融合¶
2025-2026 年的一个重要趋势是将世界模型(World Model)集成到 VLA 决策中。世界模型预测"如果执行某个动作,环境会如何变化",VLA 在"想象"的未来中评估动作后果。
这种"先想象再执行"的范式在以下场景特别有价值:
| 场景 | 世界模型的作用 | VLA 单独的局限 |
|---|---|---|
| 多步操作 | 预测中间状态是否可行 | 只看当前观测,不考虑未来后果 |
| 碰撞预防 | 在想象中检测潜在碰撞 | 需要显式碰撞检测模块 |
| 物理推理 | 预测物体会不会滑落、液体会不会洒 | 缺乏物理因果推理能力 |
| 长 horizon 规划 | 评估远期目标的可达性 | 短视——只优化下一步动作 |
反事实推理:如果不用世界模型,VLA 只根据当前观测输出动作会怎样?考虑"把杯子从桌面移到架子上"的任务。VLA 可能直接规划一条直线轨迹——但这条轨迹经过另一个物体的上方,中途杯子可能碰到障碍。有了世界模型,VLA 可以"想象"这条轨迹的执行过程,发现碰撞风险,从而选择绕行路径。这种"先想后做"的能力是当前纯 VLA 系统缺失的关键能力。
从数据到基础模型的完整工程栈¶
构建一个可用的 VLA 基础模型系统需要以下工程栈:
层级 6: 基础模型推理 — VLM + 动作头 + 推理优化
层级 5: 数据管线 — 采集 → 清洗 → 标注 → 格式化 → 版本管理
层级 4: 训练基础设施 — 分布式训练 + 混合精度 + 检查点管理
层级 3: 适配层 — Embodiment token + Action adapter + 归一化
层级 2: 安全层 — CBF + 力矩限幅 + 碰撞检测 + 人在回路
层级 1: 部署基础设施 — 模型服务 + 通信 + 监控 + 日志
每一层的失败模式和调试方法都不同。研究论文通常只关注层级 5-6,但工程部署的成败往往取决于层级 1-3。
对博士研究者的方向建议更新¶
基于 2025-2026 年的进展,以下研究方向具有较高的学术和工程价值:
| 研究方向 | 学术价值 | 工程价值 | 竞争程度 | 建议切入角度 |
|---|---|---|---|---|
| 高效动作 tokenization | 高 | 高 | 中 | 面向特定任务域的自适应量化 |
| 安全约束集成 | 中高 | 极高 | 低 | CBF + VLA 的理论保证 |
| 世界模型 + VLA | 高 | 中 | 高 | 面向接触密集任务的物理推理 |
| 跨本体泛化理论 | 高 | 中 | 中 | 动作空间的不变量分析 |
| 在线学习与适应 | 高 | 高 | 中 | 从部署失败中持续学习 |
| 力控集成 | 中 | 极高 | 低 | VLA 高层 + FALCON 底层 |
| 数据效率 | 高 | 高 | 高 | 少样本微调和数据增强 |
| 可解释性 | 中 | 高 | 低 | 注意力可视化和决策归因 |
跨领域类比:当前 VLA 基础模型的发展阶段类似于 2015-2017 年的自然语言处理——大模型刚刚证明了惊人的能力,但可靠性、安全性和工程化还远未成熟。在 NLP 领域,后续最有价值的工作不是"更大的模型",而是"RLHF 安全对齐""RAG 检索增强""高效推理"等工程化方向。VLA 领域很可能遵循类似的轨迹——"安全约束""高效部署""数据闭环"等工程化方向的价值将持续上升。
本章与课程体系的完整衔接¶
| 前置章节 | 本章使用的知识 | 后续应用 |
|---|---|---|
| 复合/140 VLA 移动操作 | 观测接口、动作接口、安全过滤 | 本章将接口设计推广到基础模型 |
| 复合/240 ASAP | Sim-to-real 方法论 | VLA 仿真训练也需要 sim-to-real |
| 复合/250 力敏感 LocoMani | FALCON 双策略、力课程 | 力控层可作为 VLA 的底层执行器 |
| 足式/190 RL 训练 | PPO、Teacher-Student | 动作头的训练使用类似方法 |
| 复合/60 Pfaffian 约束 | 运动学约束 | 底层控制器的约束设计 |
本章完成后,建议回顾复合方向全部章节的跨章连接,形成从运动学约束到基础模型的完整技术栈认知。
本章核心收获回顾¶
本章从"基础模型在机器人系统中的定位"出发,系统覆盖了输入接口、动作接口、tokenization、生成方法、频率分层、跨本体泛化、安全边界、部署工程和评测基准。以下是最核心的五条收获:
-
基础模型替代的是感知和规划层,不是控制层。WBC/MPC/PD 等底层控制在 VLA 时代仍然必要且不可替代。
-
动作 tokenization 是模型能力的瓶颈。离散 token 有量化误差和延迟问题,连续生成方法(Flow Matching/Diffusion)在接触密集任务中更有优势,但计算成本更高。
-
频率分层是架构设计的必然选择。语义理解(秒级)和力矩控制(毫秒级)的时间尺度差异太大,不可能用同一个模型同一个频率处理。
-
安全过滤的投资回报率最高。一次碰撞事故的成本可能超过整个安全系统的开发成本。安全层应该是独立于模型的、不可绕过的系统组件。
-
数据基础设施比模型架构更重要。统一的标注规范、版本管理和质量检查流程,对最终性能的贡献大于模型架构的改进。
牢记:模型是可替换的组件,系统架构和安全设计才是持久的价值。
—— 本章终 ——