WAM 世界模型VLA理解与问答论文解读

UC San Diego的新工作:怎么解决动作接近了,但是没抓着这个问题

Stevlen.Fu Hongjin2026-09-19 18:15
UC San Diego的新工作:怎么解决动作接近了,但是没抓着这个问题

ReForce:Retargeting 只迁了一半

如果最近一直在看 Dexterous Manipulation、Human-to-Robot Retargeting、Teleoperation 或者 Human Video 这条线,会发现一个很容易被忽略的问题:我们天天在说"把人的动作迁到机器人上",而实际迁过去的内容只有一半,姿态迁了,力没有。这件事听起来好像只是"少了一个传感器",放到灵巧操作里,问题就大得多。

比如一个人拿纸杯。从视觉上看,手指位置可以和机器人几乎一模一样:拇指在左边,食指和中指在右边,手型也差不多。然后机器人一执行:啪,杯子瘪了。或者手指位置看起来也对,结果机器人根本没碰到。这时候只看 Kinematics,还会觉得"挺像的啊";物理世界的反应是"像有用吗?"

这是 ReForce 这篇 Paper 的出发点,全名 ReForce: Learning Force-aware Retargeting for Dexterous Manipulation。传统 Retargeting 负责"手应该摆成什么样",ReForce 补上后面那一层:"你摆成这样以后,接触力到底对不对?"

论文针对的核心问题是 Human-to-Robot Retargeting 里的 Embodiment Gap。传统方法(DexPilot、AnyTeleop 这类)把人手关键点或者关节位置映射到机器人手上,本质是一个 Kinematic Optimization:

Human Pose→Robot Pose\text{Human Pose} \rightarrow \text{Robot Pose}

而 manipulation 的结果由 Pose、Contact、Force 三者共同决定:

Pose+Contact+Force\text{Pose} + \text{Contact} + \text{Force}

论文指出,同样的几何姿态可能对应完全不同的物理结果:抓住、滑掉、夹坏,差别都落在接触力上。

这个问题在普通夹爪上还没那么明显,parallel gripper 的世界比较简单:闭合,夹住,结束。到了五指灵巧手,复杂度立刻上来:食指有没有真的接触?中指是轻轻扶着还是已经承担主要载荷?无名指参与了,还是只是离物体很近?拇指是在对抗其它手指,还是已经压太狠?这些问题单靠 Joint Position 很难回答。

机器人手可能长得很像人,动作也模仿得很像,最后还是拿不住。Kinematic Similarity 和 Functional Similarity 之间隔着一层物理接触,PPT 很像,落地另说。

从 Kinematic Retargeting 到 Force-aware Retargeting

传统 Retargeting 可以写成

qtrobot=R(qthuman)q_t^{\mathrm{robot}} = \mathcal R\left(q_t^{\mathrm{human}}\right)

给它一个 human pose,算出一个 robot pose。ReForce 认为这不够,Reference 本身应该同时包含 qt⋆q_t^\star 和 Ft⋆F_t^\star——手应该在哪,以及每根手指大概应该有多大的接触力。目标状态于是变成

st⋆=(qt⋆,Ft⋆)s_t^\star = \left(q_t^\star, F_t^\star\right)

机器人当前状态是

st=(qtobs,Ft)s_t = \left(q_t^{\mathrm{obs}}, F_t\right)

qtobsq_t^{\mathrm{obs}} 是当前机器人手的 joint configuration,FtF_t 是当前测到的 fingertip normal forces。ReForce 用五个 fingertip force channel,对应 thumb、index、middle、ring、pinky。

误差写出来很直接:

et=(qt⋆−qtobs, Ft⋆−Ft)e_t = \left(q_t^\star - q_t^{\mathrm{obs}},\ F_t^\star - F_t\right)

Kinematic Retargeting 盯前半段,ReForce 两段都看。模型预测一个 Joint Command Residual:

Δqtcmd=πθ(st,st⋆,et)\Delta q_t^{\mathrm{cmd}} = \pi_\theta\left(s_t, s_t^\star, e_t\right)

然后在现有 command 上继续修:

qt+1cmd=clip⁡(qtcmd+Δqtcmd, qmin⁡, qmax⁡)q_{t+1}^{\mathrm{cmd}} = \operatorname{clip}\left(q_t^{\mathrm{cmd}} + \Delta q_t^{\mathrm{cmd}},\ q_{\min},\ q_{\max}\right)

ReForce 的定位在这里很关键:原有 Retargeting 的输出仍然是起点,它自己负责在接触发生之后,把这个动作往"真的能产生目标接触"的方向修。上层说"手指放这里",ReForce 发现放是放了、但是没碰到;上层说"姿态不是差不多吗",ReForce 回一句"你跟纸杯解释吧"。

它是一个 Residual Controller。Kinematic Retargeting 在 free-space motion 阶段通常已经做得不错,出问题的是 Contact-rich phase。抓杯子差 3 mm,没必要把从伸手开始的整套 Pipeline 重写,在接触阶段哪里力不对就补哪里。补的方式用 Learned Residual 完成。

为什么不直接用 Admittance Control

传统 force controller 也能做类似的事。Admittance Control 的写法是:实际力比目标力小,

eiF=Fi,t⋆−Fi,te_i^F = F_{i,t}^\star - F_{i,t}

再通过

ui,t=kpei,tF+kde˙i,tFu_{i,t} = k_p e_{i,t}^F + k_d \dot e_{i,t}^F

生成修正量,映射到 fingertip displacement,再通过 Jacobian 转成 joint correction。论文把这种手工设计的控制器当 Baseline。理论没问题,现实问题是 Gain 怎么调:不同手指一样吗?不同接触方向一样吗?纸杯和夹子一样吗?已经接触和完全没接触一样吗?多个手指同时接触怎么办?最后 Controller 进入一个熟悉的状态

kp, kd, M, B, K, λk_p,\ k_d,\ M,\ B,\ K,\ \lambda

全是参数。实验室里开始出现"这个 gain 昨天不是还能用吗""换了个杯子""哦"。

ReForce 把 Force Error→Motion Correction\text{Force Error} \rightarrow \text{Motion Correction} 这套映射学出来,减少对手调参数的依赖。整篇 Paper 最核心的内容就在这:Learned Force-to-Motion Correction。

训练数据从哪来:Simulation

问题马上来了:怎么训练?真实世界采几百万条五指接触数据,成本又回到原点。作者的答案是 Simulation。

ReForce 在 Simulation 里大量生成 hand-object interaction trajectory,同时记录 qtq_t 和 FtF_t,也就是 Joint Position 和 Contact Force,然后训练一个 General Force Tracker。论文强调这个 tracker 是统一训练的,不做某个 object、某条 trajectory 的单独 optimize,所以可以直接 Zero-shot 用到不同 reference source 上。

这个设计和前面 SPD 那篇放在一起看很合适。SPD 说 Simulation 可以先生产 Dexterity Data,ReForce 说 Simulation 还可以先生产 Contact Correction Experience。最近仿真的 KPI 越来越多:以前是"帮我跑个 benchmark",现在是"帮我采数据、训 skill prior、学 contact dynamics,顺便把现实世界也解决一下"。MuJoCo:"好的,我的排期呢?"

Future Window:别只盯下一帧

训练时它没有直接拿未来某一帧当 Reference,Reference 来自对 Future Window 的平均:

qt⋆=1Kt∑k=1Ktqt+k,Ft⋆=1Kt∑k=1KtFt+kq_t^\star = \frac{1}{K_t}\sum_{k=1}^{K_t} q_{t+k}, \qquad F_t^\star = \frac{1}{K_t}\sum_{k=1}^{K_t} F_{t+k}

KtK_t 是未来窗口里有效的 timestep 数。可以理解成,它给机器人的指令从"下一毫秒必须精确到哪里"放宽成"接下来这段时间逐渐到达一个差不多这样的 motion + contact state"。好处是 Reference 不会对单个 timestep 的噪声或者瞬时 contact spike 太敏感,force signal 本来就容易抖。

supervised action 还是一小步:

Δqtdemo=qt+1−qt\Delta q_t^{\mathrm{demo}} = q_{t+1} - q_t

Future Window 提供"未来应该发展成什么状态",当前 action supervision 给出"现在先迈哪一步"。

训练 Objective 很朴素,就是 Behavior Cloning MSE:

LReForce=Et∼D[15∑i=151Di∥Δqtdemo,(i)−Δqtcmd,(i)∥22]\mathcal L_{\mathrm{ReForce}} = \mathbb E_{t\sim\mathcal D} \left[ \frac{1}{5} \sum_{i=1}^{5} \frac{1}{D_i} \left\| \Delta q_t^{\mathrm{demo},(i)} - \Delta q_t^{\mathrm{cmd},(i)} \right\|_2^2 \right]

DiD_i 是第 ii 根手指对应的 joint 数。作者先在每根手指内部平均,再在五根手指之间平均,否则 joint 数更多的 finger group 会天然在 loss 里声音更大——开董事会可以,但不能因为部门人多就自动多五票。

训练时故意制造不完美

训练数据里故意加入各种不完美情况:Contact Timing Variation、Force Noise、Missing Contact、Residual Force,还会让 reference 暂时 stall,姿态 reference 卡住,但正确 action 还得继续往目标 contact 推。

这些正是部署时天天遇到的情况:Reference 说"你现在应该碰到了",现实是没碰到;Reference 已经开始松手,现实里力还残留着。Force-aware Retargeting 需要学的是出问题之后怎么拉回来,这比单纯的 Force Tracking 更贴近实际。

Human Demo 怎么接进来

除了 Simulation Reference,ReForce 还能吃一套完整 Human Demo Pipeline。人这边:Quest Controller 提供 Wrist Pose,Manus Glove 记录 Hand Pose,五个 Fingertip FSR Sensor 记录 Human Contact Force。机器人这边是 UFACTORY xArm + 12-DoF XHand,XHand 自己的 fingertip tactile sensor 提供当前真实机器人 contact force。

Human Demo 最后变成一条 Robot-space Reference:

τref={(qtref,Ftref)}t=1T\tau^{\mathrm{ref}} = \left\{\left(q_t^{\mathrm{ref}}, F_t^{\mathrm{ref}}\right)\right\}_{t=1}^{T}

qtrefq_t^{\mathrm{ref}} 是 Human Pose 做 Kinematic Retargeting 后得到的 Robot Joint Reference,FtrefF_t^{\mathrm{ref}} 是 Human Fingertip Force 经过 Calibration 得到的 Per-finger Force Reference。

以前的 Human Demo 记录"这个人手怎么动",现在多记录了每根手指大概用了多大力。整篇 Paper 的思想可以压成

Retarget Motion+Retarget Contact Intent\boxed{\text{Retarget Motion} + \text{Retarget Contact Intent}}

比只 Retarget Motion 多出一半信息。这个区别对 Tool Use 尤其关键:人用夹子的时候,拇指关节 34° 这个数字本身不重要,重要的是几根手指一起施加了足够的力让夹子闭合、又没用力过头。Motion 在这里只是实现 Force 的手段之一。接触任务里 Pose 是手段,Force 是结果,这话不能无限推广,但在很多 Contact-rich manipulation 里确实接近现实。

Online 修正和 Offline Translation

ReForce 除了 Online Teleoperation Correction,还支持 Offline Data Translation:已经有一条 Human Demo,不需要人在现场实时操作,先把它转换成 (qt⋆,Ft⋆)(q_t^\star, F_t^\star),再让 ReForce 在机器人执行的时候根据 tactile feedback 在线修正。

论文强调它不依赖每个新 Object 都有 Digital Twin,也不要求每条 trajectory 都重新在 Simulation 里做 trajectory-specific optimization,因此比一些 physics-aware retargeting 方法更适合 Online Teleoperation 和大规模 Offline Translation。

以前一些 Force-aware 或 Contact-aware Retargeting 方法要求先知道 Object Mesh、准确 Pose、摩擦参数,然后进 Simulation 优化。实验室里做 Demo 很漂亮,一旦换成"我现在随手拿了一个新杯子,在线 Teleop",系统回一句"请先给我 CAD",人就无语了。

ReForce 的做法是:在 Simulation 里把各种 contact correction 练过一遍,现场根据 Force Error 直接修。这个 general force tracker 的定位比"又一个 retargeting network"更值得关注。

ACT:告诉机器人应该去哪

论文还训练了一个 ACT(Action Chunking Transformer),预测未来一小段的 Motion Reference 和 Force Reference:

{q^t+k∣tref}k=0C−1=πηq(Qt,ϕt)\left\{\hat q_{t+k|t}^{\mathrm{ref}}\right\}_{k=0}^{C-1} = \pi_\eta^q\left(\mathbf Q_t, \phi_t\right)

{F^t+k∣tref}k=0C−1=πηF(ϕt)\left\{\hat F_{t+k|t}^{\mathrm{ref}}\right\}_{k=0}^{C-1} = \pi_\eta^F\left(\phi_t\right)

其中

Qt=(qt−H+1,…,qt)\mathbf Q_t = \left(q_{t-H+1}, \ldots, q_t\right)

是历史 configuration,ϕt\phi_t 是 task phase。

这个 Reference Policy 不吃当前测得的 fingertip force。它负责"按照 Demo,我现在大概应该进入什么 contact phase",当前接触偏差怎么修交给 ReForce,Force Feedback 也另外送给 ReForce。

分工因此很干净:ACT 说应该去哪,ReForce 看现实有没有做到,没做到就修。这样的结构避免了让一个 Policy 同时处理 Task Progress、Reference Generation、Force Feedback、Local Contact Correction:

Reference Policy→(q⋆,F⋆)→ReForce→qcmd\text{Reference Policy} \rightarrow (q^\star, F^\star) \rightarrow \text{ReForce} \rightarrow q^{\mathrm{cmd}}

战略部门给方向,现场部门负责别把纸杯捏爆。

实验:Paper Cup 和 Tongs

论文在真实机器人上主要用了两个 Force-sensitive Task:Paper Cup Grasping 和 Tongs Manipulation。为什么选纸杯其实很好理解——纸杯是一个非常讨厌的测试物:力小了拿不住,力大了瘪。它特别适合测试一个系统到底是真的 Force-aware,还是"我只是把手指关得更紧"。Tongs 同理,你需要足够力把夹子闭合,但过大又可能导致操作异常。

作者先做了一个最干净的实验:固定同一条 Recorded Reference,比较 Direct Replay、Admittance、ReForce。Paper Cup Side Grasp 的 Force Tracking Error:

  • Replay:0.309±0.006 N0.309 \pm 0.006\ \text{N}
  • Admittance:0.280±0.013 N0.280 \pm 0.013\ \text{N}
  • ReForce:0.247±0.036 N0.247 \pm 0.036\ \text{N}

Top Grasp 更明显:

  • Replay:0.736±0.000 N0.736 \pm 0.000\ \text{N}
  • Admittance:0.619±0.048 N0.619 \pm 0.048\ \text{N}
  • ReForce:0.474±0.049 N0.474 \pm 0.049\ \text{N}

同一条 Kinematic Reference,执行方式不同,最后 Force 可以差很多。Joint Trajectory 对了,力不一定对。

Direct Replay 的问题在于它不看现实:Reference 说"现在食指应该已经碰到了",机器人回"好的",实际根本没碰,它还是继续往后放——流程走完了,业务没发生。

Admittance 会根据 Force Error 修,但 hand-designed mapping 有时候会产生 Residual Force:Reference Force 已经下降,Controller 由于动态响应、gain 或映射关系还在继续压。ReForce 更容易根据当前 contact state 学出不同的 correction。

论文没有把自己写成全赢。进入 Learned Reference 的完整实验以后,结果复杂起来。Paper Cup 上,Reference Policy 的 Force-safe Success 是 30%30\%,Reference + Admittance 是 60%60\%,Reference + ReForce 是 70%70\%。ReForce 的 Force Tracking Error 是 0.124 N0.124\ \text{N},低于 Reference Policy 的 0.812 N0.812\ \text{N} 和 Admittance 的 0.683 N0.683\ \text{N}。Severe Missing Contact 从 Reference Policy 的 7/107/10 降到 ReForce 的 0/100/10,平均 Active Fingers 从 0.170.17 提高到 2.612.61。

ReForce 的优势集中体现在 Contact Engagement 上:该碰到的时候,真的更容易碰到。

Force Error 单独看容易被骗。目标力 2 N、实际力 0 N,如果模型从来没碰到物体,某些任务阶段的平均值可能看起来也没那么夸张。作者因此加了 Active Fingers、Severe Missing Contact、Over-force 这些指标,这个实验设计是对的。Force-aware manipulation 只报一个 Mean Force Error,很容易掩盖"整个手都没碰东西"这件事——模型说"误差挺小",物体说"你谁?"

到了 Tongs,事情更真实。Force-safe Success:Reference Policy 50%50\%,Admittance 90%90\%,ReForce 54.5%54.5\%。ReForce 明显没赢 Admittance,原因也写得很清楚:它有 4/114/11 次 Over-force Trial。平均 Active Fingers 它最高(1.621.62),Missing Contact 也减少了,但压得太狠,Force-safe Success 被直接拉下来。

更会建立接触和更会控制接触是两件事。ReForce 擅长解决"本来该碰但没碰"的 Missing Contact,在某些任务里会过度补偿——"我知道你要力""收到""给你更多力""不用了""给",这就是 Tongs 里面的问题。

有人看完标题写成"ReForce 全面优于 Admittance Control",不准确。合理的结论是:ReForce 在复杂多指 Contact Engagement 上有优势,Force Regulation 相比经典 Admittance 仍然是 Task-dependent。

论文自己也是这么写的。它证明了 Hand-designed Force-to-Motion Mapping 在多指、高维、Embodiment-specific Contact 里有一部分可以被 learned correction 替代,同时 Classical Control 在结构清晰的任务上依然能打。Force Control 不是昨天才发明的,经典控制几十年也不是在实验室摸鱼。

Retargeting 的定义被推了一步

几个牛顿的误差之外,更值得看的是 Retargeting 的定义往前挪了一段。

以前说 Retargeting,想到的是 Joint Mapping、Keypoint Mapping、Pose Mapping、Trajectory Matching。现在得习惯:

Retargeting=Motion+Interaction\text{Retargeting} = \text{Motion} + \text{Interaction}

manipulation 里人真正演示的是"我怎么和这个物体发生作用",手长什么样只是其中一个 Observable,Force 是 interaction 的另一半。

这和 Human Video 迁机器人直接相关。Human Video 数据多,但如果只从 RGB recover Pose 再拿去 Retarget,很多细粒度 manipulation skill 天生就丢了:RGB 能告诉你手指在那里,告诉不了你它压了多少、有没有真的接触、主要载荷在哪根手指上。

由此引出一个更大的问题:Human Demonstration Dataset 要不要把 Force / Tactile 当成第一等公民?现在很多 Human Data Pipeline 是 RGB、Depth、Hand Pose、Body Pose,偶尔加个 IMU。目标往 Dexterous Manipulation 走,Pose-only Human Data 本身就带着信息缺失。

和 SPD 的关系

SPD 绕开 Human-to-Robot Embodiment Gap,直接让人操作 Virtual Robot;ReForce 走另一条路,Human Data 继续要,把 Force Intent 一起迁过来。两者处理的是同一个大问题的不同侧面:

SPD:别让 Human Hand 和 Robot Hand 对不上\text{SPD:别让 Human Hand 和 Robot Hand 对不上}

ReForce:就算 Pose 对上了,Contact 也不一定对\text{ReForce:就算 Pose 对上了,Contact 也不一定对}

一个解决 Embodiment Alignment,一个解决 Interaction Alignment。再叠加视觉 world model,分工大概会变成:世界长什么样、手应该怎么动、手真正应该怎么和东西接触。系统复杂度开始向企业组织架构发展。

限制

Force Reference 怎么来? 论文真实实验里 Human Side 用了五个 Fingertip FSR Sensor,这段信号没法从随手一个 YouTube Video 里拿到。想要 Force-aware Human Demonstration,就得有 Force Sensing,这会直接影响数据 Scale。Human Video 的一个巨大优势是已经存在,ReForce 这种 Force Demo 得重新采。它解决了"怎么迁 Force",没有解决 Force Data 本身怎么大规模来。这个问题以后会很大:wearable tactile、从 vision / deformation 估 force、multimodal sensor,总得挑一条,反正不会凭空出现。

当前 real-world task 还是比较少,核心就 Paper Cup 和 Tongs。它们确实 Force-sensitive,也适合验证方法,但还不足以说明 ReForce 已经是 General Dexterous Retargeting。In-hand Rotation、复杂 Tool Use、软物体、双手操作、多阶段 Contact Switching 这些还没有真正证明。

训练高度依赖 Simulation Interaction Distribution。 不需要每个 Deployment Object 都有 Digital Twin,这一点比 per-object optimization 方便,但能不能 Zero-shot generalize,取决于 Simulation 里到底把哪些 Contact Failure 看过了。现实里出现一种完全不同的 tactile response,网络照样可能"这个题没刷过"。

Force 也只是一部分。 论文主要用 Fingertip Normal Force,真实 dexterous manipulation 里还需要 Tangential Force、Torque、Slip、Contact Location、Shear,甚至 deformation。Ft∈R5F_t \in \mathbb R^5 已经比 Pose-only 前进一大步,离完整 Contact State 还有很远。

值不值得看

如果你做 Dexterous Manipulation、Human-to-Robot Retargeting、Teleoperation、Tactile、Force Control、Human Demonstration,这篇值得看,做 Retargeting 的人尤其建议看。它把一个之前很容易被忽略的问题摆到了正中间:你在迁"动作长得像",还是在迁"动作产生的效果像"?

时间有限的话重点看三块。

  1. Problem Formulation。 st=(qtobs,Ft)s_t = (q_t^{\mathrm{obs}}, F_t) 和 st⋆=(qt⋆,Ft⋆)s_t^\star = (q_t^\star, F_t^\star) 这两个式子看懂了,整篇 Paper 的思想懂了一半。
  2. Figure 2 的 Training / Inference Pipeline。 看清 ReForce 是堆在 Kinematic Retargeting 上面的 Residual,别误以为它把 Retargeting 重做了一遍。
  3. Table 2。 Paper Cup 和 Tongs 一起看,能看到方法的边界在哪里。看完别急着下"加了 Force-aware Network 就能扔掉传统 Force Control"的结论,这篇还没证明这件事。
点赞收藏
// 评论0
0 / 500
还没有评论,快来抢沙发