P-OmniH2O-2024:OmniH2O 的运动学姿态通用接口
作者 / 机构:Tairan He†, Zhengyi Luo†, Xialin He†, Wenli Xiao, Chong Zhang, Weinan Zhang, Kris Kitani, Changliu Liu, Guanya Shi(†并列一作)· Carnegie Mellon University(LeCAR Lab)+ Shanghai Jiao Tong University
发表:arXiv 2024.06 首发(arXiv:2406.08858),正式收录 ICML 2025(PMLR v270 he25b)
代码:LeCAR-Lab/human2humanoid(与 H2O 同仓)· 项目页 https://omni.human2humanoid.com
在线索中的位置:T07 · 人形遥操栈 的枢纽节点;teleop-as-data-collection 闭环(OmniH2O-6 数据集)→ 喂养 humanoid VLA(T06/T10)。
一句话定位:把"VR/视觉/外骨骼多模态输入 → 全身+灵巧手 teleop → 自主技能学习"统一进单一运动学姿态接口,是 2024 中全身遥操爆发的"接口标准化"事件。
动机
在 OmniH2O 之前,人形遥操接口是碎片的:H2O [Cheng 2024, arxiv:2403.04436] 只用单 RGB 抓躯干姿态、不含灵巧手;ExBody [Yoshida 2024, arxiv:2402.16796] 依赖动捕服后端;视觉 teleop 一脉(DexPilot、AnyTeleop)则聚焦孤立灵巧手、不覆盖躯干与腿。问题不是"做不到 teleop",而是每条输入模态都自带不同的目标空间,导致 teleop 数据不能跨硬件复用、自主策略无法跨采集平台迁移。OmniH2O 解决的正是这个"接口碎片化"。
方法核心:kinematic pose 作为 universal interface
1. 问题形式化与接口定义
OmniH2O 把任务形式化为 goal-conditioned RL 的 MDP $\mathcal{M}=\langle \mathcal{S},\mathcal{A},\mathcal{T},R,\gamma\rangle$,其中状态 $s_t=(sp_t, sg_t)$(proprioception + goal)、动作 $a_t$ 是 PD 控制器目标关节角、$r_t=R(sp_t, sg_t, a_t)$,用 PPO 最大化 $\mathbb{E}\sum_{t=1}^{T}\gamma^{t-1}r_t$。
论文的关键决定是显式定义与硬件无关的 kinematic pose 作为目标空间:
$$q_t \triangleq (\theta_t, p_t),\qquad \dot{q}_t \triangleq (\omega_t, v_t)$$
即所有刚体的 3D 关节旋转 $\theta_t$、位置 $p_t$、角速度 $\omega_t$、线速度 $v_t$。记号约定:$\hat{\cdot}$(戴帽)= VR/pose generator 输入空间,$\bar{\cdot}$(戴横)= MoCap 数据集真值,无修饰 = 仿真或真机值。这一层处在输入模态(视觉/VR/外骨骼)与机器人具体动力学之间——前者各自有异构的原始信号,后者因机型而异,kinematic pose 是两边都能稳定映射到的中间表示。
2. 大规模 retargeting + 可行性过滤
训练数据来自 AMASS(约 14K 序列),按 H2O 的 retargeting pipeline 映射到 humanoid 骨架。H2O 的已知缺陷是"不停小碎步无法静止站立",OmniH2O 用「standing / squatting」增广解决:对每个序列 $\hat q_{1:T}$ 额外生成「固定下半身+根位置」的稳定变体,让训练分布含足够的静止/蹲姿数据(Appendix H 消融确认)。
3. Reward & Domain Randomization(细节见 Appendix E/F)
Reward 分三类(共 20+ 项):
- Penalty(终止/超限/动作平滑):关节超位置限 $\mathbb{1}(d_t\notin[q_{\min},q_{\max}])$ 权重 $-125$、超速度限 $-50$、终止 $-250$、torque 超限 $-2$;上/下半身 action rate 不同权重(下 $-3$、上 $-0.625$,鼓励上身高频、下半身稳定)。
- Regularization(脚接触/朝向/不打滑):stumble $\mathbb{1}(F^{xy}_{feet}>5F^z_{feet})$、slippage $\|v^{feet}_t\|^2\mathbb{1}(F_{feet}\ge1)$ 权重 $-37.5$、feet orientation $\|g^z_{feet}\|$ 权重 $-62.5$。
- Task reward(tracking):每个刚体位置/姿态/速度的指数核——body position $r=\exp(-0.5\|p_t-\hat p_t\|^2_2)$ 权重 30,VR-3-points body position 权重 50(更高,因为是 deployable 输入),DoF position $\exp(-0.25\|\hat d_t-d_t\|^2)$ 权重 32,等等。
H2O 用的「feet air time」正则导致机器人"原地跺脚",OmniH2O 改用「每步最大脚高度」 $\max(h^{max}_{feet}-0.25,0)$ 权重 1000——鼓励要么静止要么大步走,配合 curriculum 动态调 penalty scale。
Reward curriculum(论文 Eq.)修正了多小 reward 的尺度问题:对每个 reward 项 $r_{t,i}$ 定义 scale $s_{t,i}=1$ 当 $r_{t,i}\ge0$(正奖励全额),$s_{t,i}=s_{current}$ 当 $r_{t,i}<0$(负 penalty 按当前缩放系数衰减);$s_{current}$ 初始 0.5,当平均 episode 长度 $<40$ 时乘 0.9999,$>120$ 时乘 1.0001,上界 1。本质是 episode 短时减弱 penalty 让 RL 探索,长时增强 penalty 收敛到稳定行为。
Domain Randomization(Appendix Table 16):摩擦 $U(0.2,1.1)$、base CoM offset $U(-0.1,0.1)$ m、link mass $U(0.7,1.3)\times$ 默认、PD gain $U(0.75,1.25)\times$ 默认、torque RFI $0.1\times$ limit、control delay $U(20,60)$ ms、motion reference offset ±2 cm;外部扰动每 5 s 推 1 m/s;地形 mix(flat/rough/low obstacles)。
4. Teacher-Student 蒸馏(核心 sim2real 设计)
仿真里 RL 有特权信息(每刚体线/角速度、动力学参数),真机没有。OmniH2O 采用两阶段 teacher-student:
Privileged teacher($\pi_{privileged}(a_t|sp^{privileged}_t, sg^{privileged}_t)$,状态维 913):
- $sp^{privileged}_t = [p_t, \theta_t, \dot q_t, \omega_t, a_{t-1}]$(全部刚体的位姿+速度+前一动作)
- $sg^{privileged}_t = [\hat\theta_{t+1}\ominus\theta_t, \hat p_{t+1}-p_t, \hat v_{t+1}-v_t, \hat\omega_t-\omega_t, \hat\theta_{t+1}, \hat p_{t+1}]$(含一阶差分)
- 目标:用 PPO + 特权 reward 训到 94.77% 成功率、Eg-MPJPE 126.51 mm。
Sim-to-real student($\pi_{OmniH2O}(a_t|sp^{real}_t, sg^{real}_t)$,状态维 1665 = 25 步历史×63 + 当前 90):
- $sp^{real}_t = (d_{t-25:t}, \dot d_{t-25:t}, \omega^{root}_{t-25:t}, g_{t-25:t}, a_{t-25-1:t-1})$:仅关节位置/速度、根角速度、根重力、前一动作;没有全局线速度(H2O 要 MoCap 才能拿,OmniH2O 用历史隐式估计)。
- $sg^{real}_t = (\tilde p^{real}_t-p_t, \tilde v^{real}_t-v_t, \tilde p^{real}_t)$:只跟踪 VR 的 3 个点(头+双手)位置,不用全关节角。
Policy distillation via DAgger:student 在仿真里 rollout 得到 $(sp^{real}_{1:T}, sg^{real}_{1:T})$,再用真值参考 $\hat q_{1:T}$ 反算出对应的 privileged states 喂 teacher 得到参考动作 $a^{privileged}_t$,loss:
$$\mathcal{L}=\|a^{privileged}_t - a_t\|^2_2$$
这是 DAgger 思路(on-policy rollout 收集 student 失败状态再让 teacher 标注),而不是固定数据集。正文 Table 1(a) 消融:直接用 RL 训同结构 student 只有 47.11% 成功率(历史长度过长使 RL 输入空间指数膨胀),DAgger 才能稳定利用 25 步历史。
5. 灵巧手控制
与全身 policy 解耦:VR 估手姿态 → 直接 IK 解算关节目标 → 喂给现成的低层 hand controller。不进 RL(手自由度太多,PD 控制已够),但接口仍属 kinematic pose 范畴,可替换为 MoCap glove 或 RGB 估手。
实验结果(数字来自正文 Table 1 / Table 2)
Sim 仿真 tracking(14K AMASS augmented set):
| Policy | 状态维 | Sim2Real | Succ ↑ | Eg-MPJPE ↓ | Empjpe ↓ |
|---|---|---|---|---|---|
| Privileged teacher | 913 | ✗ | 94.77% | 126.51 | 70.68 |
| H2O | 138 | ✓ | 87.52% | 148.13 | 81.06 |
| OmniH2O | 1665 | ✓ | 94.10% | 141.11 | 77.82 |
Student 的成功率(94.10%)几乎追平 teacher(94.77%),且远超 H2O。这证明 teacher-student 蒸馏几乎无损迁移。
Real 真机 tracking(20 个站立序列):OmniH2O Eg-MPJPE 47.94 mm(H2O 87.33 mm),Empjpe 41.87 mm(H2O 53.32 mm)。约 H2O 的一半误差。
关键消融(Table 1):
- DAgger 比 RL 训 student:成功率从 47% → 94%(同 architecture)。
- 历史步数:5/25/50 步差异不大,0 步掉到 93.8%。25 步是性能/效率 sweet spot。
- 跟踪点数:3 / 8 / 22 points 成功率都在 94% 附近——3 点(VR 可得)几乎无损。
- 全局线速度:去掉后 sim 不变、real 反而更稳(VIO/MLP 估计噪声大于隐式历史估计,Table 2(a))。这是关键工程洞察:不显式估计速度,让 policy 从历史隐式学到。
- 网络架构:MLP > 1D-conv (GRU/LSTM),与 H2O 历来发现一致。
OmniH2O-6 数据集:VR teleop 采集 6 任务(Catch-Release / Squat / Rock-Paper-Scissors / Hammer-Catch / Boxing / Basket-Pick-Place),30 Hz 同步 RGBD 头戴相机 + 头/手 motion goal(相对根坐标系)+ 电机关节目标。简单任务约 5 分钟数据即可训 LfD 自主策略,复杂任务约 10 分钟,合计约 40 分钟真机示教。
为什么重要
- 接口标准化的"事件":把 2024 年全身遥操从"每篇论文一个 ad-hoc 接口"推向"一个接口接所有输入",是 HOVER、Bunny-VisionPro、Open-TeleVision、HumanPlus 共享前提。
- 跑通"teleop 采集 → IL 自主"闭环:teleop 轨迹直接作为 IL 数据、用同一 kinematic pose 表示训练自主技能,首次在全身+灵巧手级别跑通——这正是 GR00T N1、Helix 依赖的数据管道。
- teacher-student + DAgger 几乎无损迁移:student 用历史 + 无线速度就能追平特权 teacher(94.1% vs 94.8%),把"盲人形"(不带 MoCap/VIO)的部署门槛拉到消费级 VR 级。
- reward curriculum + max-feet-height 解决 H2O 的跺脚问题:贡献了一个可复用的人形 RL 稳定性工程 trick。
局限与被超越
- kinematic pose 是几何层接口、不含力/触觉;闭环稳定性高度依赖 WBC 对抗动态扰动,敏捷动作(踢/跳/转)仍会失败——后续 ASAP [2502.01143] 用 residual delta dynamics 补 sim-real gap 才部分解决。
- 接口本身不解决操作员认知负荷——HOMIE [2502.13013] 把下半身委托给 RL 才部分缓解。
- 多模式命令(同时 teleop + loco-manip + 自主)的协调由 HOVER [2410.21229] 接力(mode concurrence)。
- 仅跟踪 3 点(头+双手),全身关节冗余由 policy 隐式补全——极端姿态可能映射出非自然全身姿态。
复现要点
LeCAR-Lab/human2humanoid同时提供 H2O 与 OmniH2O 的 privileged teacher 入口;复现全身+灵巧手的关键是把灵巧手关节也纳入 kinematic pose 并在 student 训练时施加足够动力学随机化。- 训练硬件:论文未明示 GPU 型号(待核);部署用 H1 机载双 Orin NX(或 i9-13900HX + RTX 4090 笔记本),policy 50 Hz、PD 200 Hz、ZED 60 Hz,端到端延迟约 20 ms。
- 不要复用 H2O 的 feet-air-time reward,改用 max-feet-height-per-step + curriculum。
- 不要把 root linear velocity 喂 student——隐式从历史学更稳。
相关
- 建立在:H2O [Cheng 2024, arxiv:2403.04436](同团队前作,单 RGB teleop)、DAgger [Ross 2011]、PPO [Schulman 2017]、AMASS retargeting pipeline。
- 同期/后续:HumanPlus [Fu 2024]、Bunny-VisionPro / Open-TeleVision(Vision Pro teleop)、HOVER [He 2024, arxiv:2410.21229](mode concurrence 多模式蒸馏)、HOMIE [2502.13013](半自主)、ASAP [2502.01143](residual delta dynamics 修敏捷动作 gap)。
- 本仓库线索:T07 人形遥操栈(枢纽)、T01 sim2real-locomotion(teacher-student 同栈)、T10 VLA+WBC 整合(teleop 数据→VLA 管道)。