OmniXtreme:把"翻跟头"塞进一个统一策略
🎯 为什么重要:高动态人形的"通用性墙"
过去几年,基于 RL 的人形动作跟踪已经很厉害——单条动作能做到毫米级还原。但研究者撞到一面奇怪的墙:动作库越多样化,跟踪精度就越崩。一个能跳芭蕾的策略,再加几条武术、空翻,整体精度就垮。论文称之为 "fidelity–scalability trade-off"(保真度-可扩展性权衡)。
论文 Fig.1(a) 那张图很直观:作者们精心挑选的 XtremeMotion 数据集(约 60 条极限动作),在「角速度 vs 线加速度」平面上把标准多动作 benchmark(LAFAN1)远远甩开——空翻这类动作峰值角速度达 9.27 rad/s,线加速度 49.11 m/s²。
💡 核心思想:解耦"学得会"和"跑得动"
OmniXtreme 把"学一个统一策略"和"让真机跑起来"拆成两个独立阶段,各自解决一堵墙:
关键洞见:flow matching 不是用来"画动作",而是当作一个可扩展的统一表示。论文 III-A.3 给出的训练目标是预测速度场:
$$\mathcal{L}_{\text{FM}}(\theta) = \mathbb{E}_{t,\epsilon,a_{\text{expert}}}\,\big\| v_\theta(a_t, t, o) - (\epsilon - a_{\text{expert}}) \big\|^2,\quad a_t = (1-t)\,a_{\text{expert}} + t\,\epsilon$$这里 $a_{\text{expert}}$ 是某个专科教师对当前状态给出的动作,$\epsilon$ 是高斯噪声,$t\in[0,1]$ 是 flow 时间。这个速度场学的是「从噪声到专家动作」的位移方向,因此能像 score function 一样自然表达多模态动作分布(空翻起跳可以有几种正确姿态)。
🛠️ 让真机"翻跟头"翻得起来的四个工程关键
把 flow 策略搬到真机上,光有"通用性"不够,还得让它尊重电机的物理限制。论文 III-B 给出四个互相补充的工程件:
| 机制 | 心智 | 为什么必要 |
|---|---|---|
| ① 扭矩-转速包络 Torque-Speed Envelope | 动态地把 commanded torque 裁剪到电机瞬时能输出的范围里($\tau_{\max,0}$ 随 $|v|$ 线性下降到 0) | back-EMF 让高速时电机给不出力;标准 torque clipping 不建模这一点 → sim 里能做、真机跳不起来 |
| ② 非线性摩擦 Coulomb + Viscous | 在裁剪后的扭矩上再减去 $\mu_s\tanh(v/v_{\text{act}}) + \mu_d v$,模仿关节内部损耗 | 电机内部损耗是 sim-to-real gap 的隐性元凶;不补会让"看起来对的策略"上机发飘 |
| ③ 功率安全正则 Power-Safe Penalty | 对膝关节的"负机械功率"($P=\tau\omega$)超出死区后加二次惩罚 | 高动态动作(空翻落地)瞬时制动会触发再生发电 → 过流保护跳闸;这条直接罚它 |
| ④ 激进域随机 Aggressive DR | 把常见域随机的范围放宽约 50%,终止阈值放宽 1.5×,加地形台阶 | 残差策略要敢去救"濒死"状态;保守的早终止让它学不会救援 |
Flow 策略已经把动作分布学到位,重新训会破坏这种结构。残差 MLP 只学一个 小修正量 $a_{\text{res}}$,叠加到 $a_{\text{flow}}$ 上:$a = a_{\text{flow}} + a_{\text{res}}$。这样既不破坏已有的多样性,又能让真机执行约束"软着陆"。这就是论文标题说的"decouples general motor skill learning from sim-to-real physical skill refinement"。
📊 结果:157 次真机试验,91% 成功率,覆盖空翻/武术/霹雳舞
| 评估维度 | 关键数字(来自原文) |
|---|---|
| 仿真总体(LAFAN1+XtremeMotion) | MPJPE 30.93 mm · Succ 98.54%(baseline MLP 蒸馏 94.91%,from-scratch RL 82.95%) |
| 仅 XtremeMotion(极限动作) | MPJPE 36.17 mm · Succ 95.64%(baseline 在此处掉到 79–89%) |
| 未见动作(AMASS 抽样) | MPJPE 56.05 mm · Succ 89.54%(baseline 85%) |
| 真机总数 | 24 个动作 × 157 次试验 → 91.08% 总成功率 |
| 分技能成功率 | 空翻 96.36% · 武术 93.33% · 霹雳舞 86.36% · 侧手翻 88.57% · 杂技 80.00% |
| 推理延迟 | 端到端 ≈ 10 ms(含 FK 状态估计 + flow + 残差),稳定 50 Hz,完全机载 Orin NX |
另外,论文 Fig.4 的 capacity scaling 实验显示:把 MLP 换成 flow matching,扩大模型容量才能持续换精度;MLP 跟随容量上升很快饱和。这就解释了为什么"加宽加深网络"在传统 MLP 跟踪器上没收益——是表示能力先撞了顶。
🌐 在领域中的位置
OmniXtreme 把 "生成式动作表示 + 残差精修" 这套来自通用机器人学(Policy Decorator、ResiP、Diffusion Policy)的范式,第一次完整搬到高动态人形整身控制。它证明:保真度-可扩展性的"墙"不是物理定律,而是选错了表示 + 没把电机建模进来。关联线索:T01 移动谱系、T05 扩散策略谱系。
❓ 常见误区
它和 ASAP / BeyondMimic 那些多动作跟踪工作有什么本质不同?
ASAP/BeyondMimic 把"多动作"问题留在 RL 框架内解决(更聪明的 reward、curriculum、guided diffusion)。OmniXtreme 直接绕开多动作 RL——先用 flow matching + DAgger 把专家蒸馏成统一表示,再做残差精修。RL 这一步只剩"残差",几乎不会被多动作梯度干扰。
残差策略不会"喧宾夺主",最后学成一个完全不同的动作?
不会。论文 III-B.1 明确说 flow 策略冻结(参数不更新),残差策略观察里包含 $a_{\text{flow}}$ 本身作为条件,它的输出只是"小修正"。加上 power-safe 等约束,它的可行解空间是被牢牢框在 flow 给出的轨迹附近。
flow matching 比 diffusion 好在哪?
两者数学上很近。Flow matching(Lipman et al. ICLR 2023)的好处是训练目标直接是直线速度场,不像 diffusion 要走随机过程,推理的 Euler 积分步数更少、更稳定。对 50Hz 实时控制很关键。
真机 91% 听起来不算高,局限在哪?
"杂技"类(Acrobatics)只有 80%,主要是落地冲击大、过流保护易触发。作者在 Q4 消融里承认:即便功率安全机制加上,大冲击落地仍是当前天花板。这也是他们 future work 指的方向——把电流、温度等更细的电机状态建进策略。