里程碑
机器人Unitree H1
数据集AMASS
上真机
物理感知
实时
输入模态vision,proprioception

H2O:用一个 RGB 摄像头实时操纵人形机器人

Tairan He, Zhengyi Luo, Wenli Xiao 等(CMU)。arXiv:2403.04436(2024 年 3 月)。 项目页 · action_genteleoperation

🧠 一句话心智模型:你想让一台人形机器人「学你动」——你出拳它出拳、你踢球它踢球。最朴素的做法是给它穿动捕衣,但太贵;H2O 只要一个普通 RGB 摄像头拍你就够了。诀窍:先用 3D 姿态估计提取你身上的 8 个关键点(肩、肘、腕、踝),再让一个 RL 策略把这些关键点翻译成机器人 19 个关节的目标角,让机器人「实时」跟着你动。

🎯 为什么重要:数据收集瓶颈 + 双足控制鸿沟

人形机器人的两大痛点:

痛点 1:数据获取昂贵
要训一个能自主做事的人形机器人,需要海量「人示范」数据。但现有方法要么需要动捕衣(几万到几十万、只能在专门实验室),要么需要外骨骼 + 力传感器(同上),完全无法规模化。
痛点 2:双足控制难
传统模型控制器(MPC)需要简化模型、要预先指定接触状态,没法处理跳跃、踢球、侧步这种动态动作;之前最近的 RL 工作(ExBody/Cheng 2024)只追踪上半身,下半身用速度跟踪——丢失了「下半身灵活运动」的全部价值。

H2O 是第一个实现「学习式实时全身遥操」的工作——只需一个 RGB 相机,机器人就能完成踢球、后跳、推婴儿车、抓箱子放桶等动作。这同时解决了数据收集(任何人家里的摄像头都能成为数据采集站)和全身控制两大难题。

人类 RGB 1080P webcam 30 Hz 视频流 HybrIK 3D 姿态估计 8 个关键点 关键点 H2O 策略 RL + sim-to-real 200Hz PD 控制 Unitree H1 端到端延迟 < 100ms,实时跟动 人不戴任何标记/传感器,机器人做全身动作(含跳跃、踢、走)
图 1:H2O 部署管线。RGB → 3D 姿态估计 → RL 策略 → 关节目标。整个链路只用普通摄像头,无需动捕衣或外骨骼。

💡 核心思想:sim-to-data + 关键点目标

训练 H2O 有两大挑战:(1) 人动到机器人重定向有大量「不可行」动作(如双腿劈叉、侧手翻),直接训会让策略学崩;(2) 真机状态远不如仿真完整(没有 IMU、没有精确速度)。H2O 用两步破解:

阶段 A:sim-to-data 过滤 AMASS(13k 段人动) ↓ SMPL 拟合 H1 体形 ↓ IK 重定向 → 10k 段 特权策略试跑 → 8.5k 可行 → 干净数据集 Q̂_clean 阶段 B:sim-to-real 训练 状态:本体感知 + 8 个关键点 (肩/肘/腕/踝) 大规模 domain randomization (摩擦/质量/PD增益/延迟) → H2O 策略 阶段 C:实时遥操 RGB 相机 → HybrIK 30Hz → 8 个关键点位置 H2O 策略输出 19 关节目标 PD 控制器 200Hz → 机器人跟动 三个关键状态设计 本体感知:关节位置 q、关节速度 q̇、根线速度 v、根角速度 ω、重力投影 g、上一动作 a(堆叠历史) 目标状态:8 个关键点(左右肩/肘/腕/踝)的 3D 位置 + 位移差 + 速度 奖励:3 项——penalty(防摔)+ regularization(顺滑)+ task(追踪各部位)
图 2:H2O 的三阶段流程。「sim-to-data」过滤不可行动作是关键创新——它把 1.5k 不可行的动作剔除掉,让策略不会被「学不会的动作」拖累。

🛠️ 工程关键设计

设计心智为什么必要
① SMPL 体形拟合找到最接近 H1 的人体形状参数 β'避免重定向出现「内八字」伪影;让 IK 解在 H1 的可行工作空间内
② 特权策略当过滤器训一个看「特权状态」的强策略,它能跟的就保留,跟不上的扔掉把「机器人学不会的人动」从训练集里清掉(13k→10k→8.5k)
③ 8 个关键点做目标目标 = 8 个末端/关键关节的 3D 位置(肩肘手腕踝)RGB 估计器(HybrIK)输出可靠的关键点;关节角对单目 RGB 不可靠
④ 重 domain randomization摩擦 0.2-1.1、质量 ±30%、PD 增益 ±25%、控制延迟 20-60ms、推扰 5s 一次从仿真到 Unitree H1 的 sim-to-real 鸿沟大,必须强化鲁棒性
⑤ 三类早停低高度 + 大倾角 + 追踪偏离 0.5m提升样本效率,避免「摔了还接着跑」浪费训练
⑥ MoCap 估线速度真机线速度用动捕系统辅助(50Hz)IMU 估线速度太漂;论文承认这是简化,未来可用视觉/LiDAR 里程计替代
🔮 直觉:为什么「sim-to-data 过滤」那么重要?
人能做的事机器人做不了——劈叉、侧手翻、单腿深蹲。如果训练集里有这些动作,策略会浪费样本试图学它们,最后什么都没学好。H2O 的「特权策略」相当于一个能力探测仪:能跟下来的就是机器人「学得会」的动作,跟不下的就是不可行。把后者扔掉,训练效率暴涨——Table IV 显示 10% 数据训出来的策略已经接近 100% 数据的 80% 效果。

📊 结果:首个学习式实时全身遥操

对比(仿真,10k 段 AMASS 重定向)成功率E_mpjpe ↓
Privileged(特权,无随机化)85.5%43.6 mm
H2O-reduced(只用关键点位置)53.2%115.8 mm
H2O-w/o-sim2data(不过滤数据)67.9%95.0 mm
H2O(完整)72.5%91.7 mm
真机能力说明
能做的动作走路、踢球、后跳、侧步、推婴儿车、抓箱子放桶、出拳、招手
鲁棒性外部力扰动下能保持平衡(Fig.7 强力踢击测试)
抗漂移姿态估计噪声 + perspective bias 下仍能保持稳定追踪
硬件Unitree H1(19 DoF),普通 1080P webcam(30Hz)
数据扩展0.1% 数据 → 52% 成功率;100% 数据 → 72.5%;曲线仍未饱和
关键洞察:H2O 的成功率(72.5%)低于特权策略(85.5%)——差距来自 (1) 更贫乏的观测空间;(2) sim-to-real 随机化让策略更保守。但 72.5% 已足够支撑实时遥操:失败时人可以「重来」,且失败模式多发生在挑战性动作上(如侧手翻这种机器人本来做不到的)。

🌐 在领域中的位置

动捕衣 + MPC(昂贵 + 接触预定) ExBody(RL 但只跟上半身) H2O(RGB 相机 + 全身遥操)⭐ OmniH2O / HumanPlus / Mobile ALOHA(更通用的遥操)

H2O 是第一个学习式实时全身遥操系统,开创了「单 RGB 相机 + RL 跟踪」的范式。后续 OmniH2O(同一组作者)扩展到灵巧手 + 更通用的人动,HumanPlus 用模仿学习进一步加强,Mobile ALOHA 把整套思路搬到带轮子的移动操作平台。属于 T-遥操作 线索中「RGB 相机驱动」的源头工作。

❓ 常见误区

为什么只用 8 个关键点?多加一些会不会更准?

关键点选择对应 RGB 估计器可靠输出的位置——HybrIK 对肩肘手腕踝的位置估计较准,但对躯干、髋部等位置估计较噪。8 个点已经是单目 RGB 鲁棒估计的「上限」。论文 §VII 提到未来可用更多模态(如 IMU)扩展。

只用一个相机,深度信息怎么来?

HybrIK 是3D 姿态估计器——它从单目 RGB 估计出 3D 关键点位置(带深度)。但确实有 perspective bias(远近难判断)。H2O 策略经过大量随机化训练,对深度误差有鲁棒性。MoCap 提供的根线速度也间接给了尺度参考。

它的成功率 72.5% 听起来不高?

要分清两种情况:(1) 训练集里包含的不可行动作(如侧手翻)——这些 H2O 学不会也不该学会,特权策略成功率 85.5% 就是上限;(2) 真正可行动作的失败率更低。论文 Table III 分了两栏:左半「All sequences」是全集指标,右半「Successful sequences」是各方法自己成功子集上的指标(不是同一个子集)。在 H2O 自己的成功子集上 E_mpjpe 是 88.8mm(全集 91.7mm),特权在自己成功子集上是 40.9mm——两者仍有 2× 差距(更贫乏的观测 + sim-to-real 随机化所致),但说明 H2O 一旦成功,跟踪精度与全集水平接近。

它能完全代替动捕系统吗?

不能完全代替。论文承认 MoCap 用来估计根线速度(50Hz)。要完全摆脱 MoCap,需要把视觉/LiDAR 里程计整合进来。但这是「最后一公里」问题,主体方案已经只剩一个 RGB 相机。

延迟会不会很大?

不算太大:RGB → HybrIK 30Hz(33ms 一帧),策略推理几毫秒,PD 控制 200Hz(5ms)。整体端到端延迟约 50-80ms,足够实时遥操。但姿态估计的「抖动」需要策略本身去平滑掉。