跳转至

详读 · ForceVLA(力觉 MoE 后融合:把 6 轴力当"一等模态"塞进 π0)

卡片版见 卡片-ForceVLA。本页是全文精读:动机 → 方法(逐模块) → 数据 → 实验(全表) → 消融/路由洞见 → 复现评估 → 对我们。 来源:arXiv 2505.22159(v3,2025-09-18,cs.RO,Preprint under review)· 本地 papers/ForceVLA-ForceAwareMoE-2505.22159.pdf 作者:Jiawen Yu、Hairuo Liu、Qiaojun Yu(通讯)、Jieji Ren、Ce Hao、Haitong Ding、Guangyu Huang、Guofan Huang、Yan Song、Panpan Cai、Wenqiang Zhang、Cewu Lu 机构:复旦大学 + 上海交大 + 上海创新研究院 + 上海 AI Lab + 新加坡国立 NUS + 上海大学 + 西安交大 + Noematrix Intelligence。

0. 一句话定位

在通用 VLA π0 上,把机器人末端的 6 轴力/力矩(wrench)当作和视觉、语言平级的一等模态:不在 VLM 输入端掺力,而是等 VLM 编好视觉-语言语义之后,用一个力觉感知的稀疏 MoE 模块 FVLMoE做后融合,输出作为 flow 动作头的引导信号。核心主张:力有没有用是一回事,怎么融进去才是命门

1. 问题与动机

  • 通用 VLA(OpenVLA、π0)靠视觉+语言的大规模预训练拿到强泛化,但接触密集(contact-rich)任务——插拔、装配、工具使用、顺应性表面接触——本质是力驱动的,光有语义 grounding 和空间规划不够。
  • 视觉在遮挡、光照差、深度歧义下失效;而力/力矩恰好补这块。人类天然融合本体感觉+触觉来调整操作策略。
  • 更关键:力的需求随任务阶段变化——轻抓 → 受控插入 → 顺应擦拭,各阶段要不同的力调制。现有方法缺"随阶段动态感知/适配力"的机制。
  • → ForceVLA 的两个赌注:① 力当一等模态、正式进动作专家模块;② 用 MoE 做模态-阶段双感知的融合与路由。

2. 前置设定(Problem Formulation)

  • 时刻 t 观测 O_t = {V_t^base, V_t^hand, s_t, f_t}:第三人称相机 + 腕相机 + 本体状态 s_t∈R^7(TCP 位姿 xyz+欧拉角 αβγ + 夹爪宽度) + 外部力矩 f_t∈R^6(世界系下 TCP wrench,R³ 力 + R³ 力矩)。
  • 给语言指令 L,学策略 π(A_t|O_t,L) 输出动作块 A_t={a_t,…,a_{t+H-1}}(动作分块,承 π0)。
  • MoE 基础:N 个专家 {E_i} + 门控 G;对 token x,y(x)=Σ_{i∈TopK(G(x))} g_i(x)·E_i(x),稀疏激活 top-k。

3. 方法:ForceVLA 架构(逐模块)

3.1 骨架(承 π0)

  • 底座 π0:SigLIP 视觉编码 + PaliGemma(3B VLM) 处理图像流+文本指令 → 上下文 embedding;动作端用条件 flow matching(rectified flow) 迭代去噪生成动作轨迹。
  • ForceVLA = π0 + FVLMoE 融合模块(核心新增)。

3.2 FVLMoE —— 核心模块(三阶段)

① 多模态输入映射(关键设计选择:后融合) - "力这个新模态放哪一层融"是核心难题。作者经大量实验定为:力在 VLM 处理完视觉+语言之后才引入,作为独立输入喂进 FVLMoE——让它像"更高级的皮层联合区",把 VLM 预训练好的视觉-语言表征与新的力 token 整合。刻意不在 VLM 初始融合视觉/语言之前或同时掺力(经验依据见消融 §5)。 - 具体:VL 特征 E_VL∈R^{N_VL×D_model}(VLM 输出);原始 6 轴力 f_raw∈R^6 经线性投影 φ_F单个 force token E_F=φ_F(f_raw)∈R^{D_model}。拼接得 E_in=[E_VL; E_F]∈R^{(N_VL+1)×D_model}(力 token 追加在 V-L 上下文之后)。

② 多模态路由与融合计算 - E_in 先过一层 Transformer 编码器块(多头自注意力 N_heads=8 + FFN)做共享细化,让力/视觉/语言 token 充分交互 → E_enc。 - 再进稀疏 MoE 层E=4 个专家(各是独立 MLP),门控网络按学到的 dispatch 权重为每个 token 选单个最合适专家(top-k=1)。MoE 输出经残差连回 → E_fused。 - 最后一层线性投影,把维度对齐到动作专家。

③ 融合特征注入 flow 动作头 - 从 E_FVLMoE最后 H_action 个 token 作引导 G_FVLMoE∈R^{H_action×D_a}。 - 与 π0 主干处理本体状态 s_t + 带噪动作轨迹 a_t^τ 得到的 S_suffix∈R^{H_action×D_a}逐元素相加注入——让"接触感知的上下文"在去噪每一步直接调制生成的动作序列。

3.3 关键维度(附录 Table 4)

  • Force Projection:Linear 6 → 2048(D_VLM)。
  • FVLMoE:D_model=2048,编码器 8 头、D_h=256、MLP 扩张因子 1;MoE E=4(MLP 2048→2048)、top-1、Router 2048→4;输出投影 2048 → 1024(D_act_e)。
  • State/Action Projection:32 → 1024;动作输出 1024 → 32。

4. 数据集 ForceVLA-Data(§4.3)

  • 硬件采集平台Flexiv Rizon 7-DOF 臂 + 大寰(Dahuan)自适应夹爪;第三人称 RealSense D435(1280×720@30) + 腕装 D415(640×480@30)。
  • 采集方式Quest3 VR 遥操(自定义手部→末端映射),5 名操作员。
  • 5 个接触密集任务:瓶子按压(bottle pumping)、插头插入(plug insertion)、USB 插入、白板擦拭(whiteboard wiping)、黄瓜削皮(cucumber peeling)。
  • 规模244 条轨迹 / 14 万同步时间步,每任务约 50 条专家演示;跨演示变化物体位置/朝向增多样性。图像 resize 480×640 归一化,动作=目标 TCP 位姿+夹爪宽度。数据+采集/处理代码承诺全开源(已放 HF)。
  • ⚠️ 力是"估计外部 wrench"——来自 Flexiv 臂本身(关节力矩估计),非外挂 F/T 传感器、非指尖触觉阵列。作者在局限里明说:估计力不如高保真直测精细。

5. 实验(全表)

5.1 设置

  • 5 任务真机评测:插入/按压各 20 次试验,白板 10 次,削皮 15 次(每次 15 刀)。成功按任务定义(完整插入 / 有效擦拭 / 累计削皮覆盖)。
  • 基线(都基于 π0):π0-base w/o Fπ0-base w/ F(力直接拼到状态输入)、π0-fast w/o Fπ0-fast w/ F。→ 对照"裸拼力" vs "FVLMoE 融合"。

5.2 主结果(Figure 5,单任务)

方法 平均成功率
π0-fast w/o F 31.0%
π0-fast w/ F 14.2%(加力反而崩)
π0-base w/o F 37.3%
π0-base w/ F 40.2%
ForceVLA (Ours) 60.5%
- +23.2 个百分点(60.5 − 37.3;⚠️注:这是百分点差,非相对提升;正文行文一处把 37.3% 误写成"w/ F",按 Table 应为 w/o F)。
- 插头插入至多 80%
- 黄瓜削皮(Table 1):平均削皮长 14.12cm/刀(vs 13.17 / 10.27),7 刀削净(vs 10 / 14)。
- π0-fast 一加裸力就从 31%→14.2% 崩:作者归因于 fast 的紧凑 token 空间被"没经大规模预训练的裸投影力 token"打乱;π0-base 容量大,能部分利用裸力(37.3→40.2)。→ 选 π0-base 作主骨架。

5.3 泛化(Table 2,插头/瓶子变体)

模型 Object1 Object2 Height 遮挡 不稳插座 平均
π0-base w/o F 48 10 66.7 60 10 38.9
π0-base w/ F 32 10 77.8 30 10 32.0
π0-fast w/o F 80 35 88.9 50 10 52.8
π0-fast w/ F 32 5 44.4 50 30 32.3
ForceVLA 80 40 88.9 90 20 63.78
- 视觉遮挡下 90%——最能说明"靠多模态而非纯视觉"。Height 泛化时能按深度缩放交互力、避开力矩超限。

5.4 消融(Table 3,插头任务成功率)—— 本文最强证据

融合策略 成功率
baseline(π0,无力) 45%
linear before VLM(早融·线性) 55%
MoE before VLM(早融·MoE) 0%(整崩)
concat after VLM(后融·裸拼) 60%
ForceVLA(后融·MoE) 80%
- 两条设计铁律:① 力必须后融——在预训练 VLM 输入端掺力会破坏其已学好的特征分布,MoE 早融尤其致命(0%);② 光后融还不够,得靠 FVLMoE 这种精细融合(60%→80%)才能真正吃到力。

5.5 多任务联训(附录 D,Table 5)

  • ForceVLA 67.5% vs π0-base w/ F 42.5% vs π0-base w/o F 5% vs π0-fast 两版 全 0%
  • 分任务:瓶子 80% / 插头 100% / USB 仅 10%(最难,两法都低) / 白板 80%。

5.6 路由分析(附录 C,Figure 9)

  • 不同任务专家利用模式不同:插头/削皮有清晰时序专精(某专家主导某阶段);白板则全程偏好单一专家
  • Expert 0 跨任务占近半 token,疑似"通用专家"(负责多模态融合/共享控制基元);Expert 1/3 更选择性、阶段特异 → 支持"专家功能分化"假说(也含训练带来的架构偏置)。

6. 局限(作者自述 + 我补)

  • 作者自述:① 用的是估计 wrench,非高保真直测,极端触觉敏感场景可能不够精;拟探索更好传感器/标定。② 验证平台多为集成式、高成本力矩感知的臂,限制普及;正评估在低成本外挂/改装力传感平台上的适配。
  • 我补:力压成单 token + 后融,高频时序细节易被吃掉(与 卡片-FD-VLA 的"早注入更细粒度"批评呼应);样本量小(5 任务/各~50);π0-fast 加力即崩暴露"裸力 token"脆弱;USB 插入两法都 10%,说明高精度小公差插入仍是硬骨头。

7. 🧪 复现评估(这次重点)

结论:软件层复现门槛低、可数天上手;真机端到端卡在有没有 Flexiv 臂。

  • 开源盘点
  • 代码github/ft-robotic/ForceVLAApache-2.0,Python,~90★/9 fork/125 commits;明确"训练+推理都基于 π0(openpi)",含 forcevla_lora 配置与 scripts/train.py
  • 数据HF qiaojunyu/ForceVLA-real-data,244 轨真机数据。
  • 权重 ❓ README 未明确提供预训练 checkpoint(重心在微调配方);需自行从 π0 基座微调。
  • 采集/遥操代码:论文承诺放,README 未显著列出——需进仓确认。
  • 算力(附录 B,极低门槛):训练节点 8×RTX4090(24GB)/64 核/251GB RAM;单任务只需 1 卡跑 10k 步 ~9h;多任务联训 2 卡跑 30k 步 ~12h(更多卡收益递减于通信开销)。Adam(β=0.9/0.95),峰值 lr 2.5e-5→2.5e-6 over 30k,bf16,梯度裁剪 1.0,等效 batch 2048(梯度累积)。→ 一张 4090 就能复跑单任务训练
  • 硬件:Flexiv Rizon 臂(自带力矩估计,免另购 F/T/触觉传感器,整机¥25–40万级——🤖粗估,采购前核价) + 大寰夹爪 + 2×RealSense + Quest3。力的获取几乎零额外成本是它相对指尖触觉路线的省钱点。
  • 复现路径建议
  • 纯软件验证(数天):装 openpi 环境 → 拉 HF 数据 → 用作者配置在 1×4090 上微调单任务 → 离线/回放评估,核对训练曲线与消融结论(尤其"MoE-before-VLM 崩")。
  • 借架构不借硬件:把 FVLMoE(后融 + 单 force token + top-1 MoE)接到我们自己的 VLA/数据上,验证"后融合动力学模态"这条设计律是否迁移。
  • 真机全复现(有 Flexiv 臂时,~2–3 周):搭 Quest3 遥操 → 采~50 条/任务 → 训练 → 真机评测。无 Flexiv 则需改造臂端力估计或外挂 F/T。
  • 复现风险/坑:① checkpoint 未给,得先跑通 π0 基座;② 244 轨规模小,换硬件/换任务大概率要重采;③ 力是该臂特有的估计 wrench,换平台时"力口径"不一致会影响迁移;④ 真机结果对标定/装配公差敏感(USB 仅 10% 就是信号)。

8. 🎯 对我们(判断来源:🤖Claude 整理,待人复核)

  • 最可复用的洞见:消融里"动力学模态不能早融入预训练 VLM(MoE-before-VLM=0%)"是一条强设计律,直接适用于我们做视触觉融合/联合世界模型——别在 VLM 输入端掺触觉。
  • 当基线:与 卡片-FD-VLA 构成天然 A/B——后融合MoE(保 VLM 语义、交互浅) vs 蒸馏早注入(交互深、需对齐监督)。我们若做"可学接触门控"(见 触觉×机器人-文献地图与阅读方案 的门控演进线),正好把这两条当左右夹的对照。
  • 省钱参照:它用臂端估计力(零额外传感器)就拿到这些数——反过来提醒我们,"指尖触觉的增量价值"必须单独论证,不能默认必赢。这条和 卡片-OmniTacTune"低成本给冻结策略贴触觉残差"是两种不同的省成本思路。
  • 可直接上手:全开源 + 一张 4090 可训,是团队练 VLA/搭触觉融合基线的理想起点

附:原始出处锚点

  • 架构/维度:正文 §4 + 附录 B Table 4。
  • 主结果/消融/泛化:§5 Figure 5 / Table 1–3。
  • 多任务/路由:附录 C Figure 9 / D Table 5。
  • 训练细节:附录 B。

🔗 相关卡片
卡片-OmniTacTune · 卡片-FD-VLA · 卡片-ForceVLA · 详读-ForceVLA2