枢纽
机器人full-size humanoid + dexterous hands
上真机
实时
输入模态IMU 全身动捕 + 手部追踪

HumDex:让人形机器人「灵巧操作」变简单的三件事

Liang Heng, Yihe Tang 等(USC Physical Superintelligence Lab + WorldEngine AI)。arXiv:2603.12260,2026 年 3 月。全开源。 humanoidteleoperationdexteroushuman data

🧠 一句话心智模型:人形机器人 + 灵巧手的数据采集一直是个「死结」——VR 遥操作会被自身遮挡、mocap 房又贵又不便携。HumDex 一口气解了三件事:(1) IMU 套装做遥操作(不怕遮挡、便携)(2) MLP 学一个「人指尖位置→机器人手关节角」的 retargeter(不用每帧 IK);(3) 两阶段模仿学习——先用人数据预训练,再用机器人数据微调,绕开「人-机 embodiment gap」。

🎯 为什么重要:人形 + 灵巧手的「数据瓶颈」真的卡住了

桌面双臂模仿学习(ACT/ALOHADiffusion Policy)已经很成熟,但把它搬到人形 + 灵巧手上立刻撞墙:

核心瓶颈:模仿学习的天花板是数据。而人形 + 灵巧手的数据采集,老方法各有死穴——
· 光学动捕(mocap)/ 外骨骼:精度高,但需要专门房间或笨重设备,环境受限。
· 基于 VR 头显的视觉跟踪(PICO / Quest):便携,但必须把手放在头显视野内一遮挡就丢跟踪。而「使用工具时手必然被工具遮挡」——比如握住扫描仪按 trigger——视觉方法根本采不到。

Humble 洞察:上面两类方法都在「便携 vs 精度」之间拉扯。IMU(惯性测量单元)其实一直是隐藏的最优解——自带、不依赖外部基站、不怕遮挡。只是历史上精度被诟病。HumDex 用了 2025 年的新硬件(ICM-45686 + SlimeVR 方案),IMU 的漂移问题终于被压下去了。

mocap / 外骨骼 精度 ✓ ✗ 需要专用房间 ✗ 笨重、坐姿操作 ✗ 基建贵 难规模化 VR 头显(PICO) 便携 ✓ ✗ 手必须在视野内 ✗ 工具一遮挡就丢 ✗ 头要不自然地随手转 采不到精细任务 HumDex: IMU 便携 ✓ ✓ 抗遮挡(自身惯性) ✓ 15 节点 <20g/节 ✓ 20h 续航、50m+ 范围 可野外部署 + 学习方法 MLP retargeter 两阶段 IL 人数据预训练 解耦 + 泛化
图 1:遥操作方案谱系。HumDex 选了 IMU 路线(解决便携-精度悖论),叠加学习侧的两个技巧(学习 retargeter + 两阶段训练)。

💡 核心思想:硬件解耦 + 学习解耦 = 全栈解耦

HumDex 的核心判断是「把问题分层解耦」——硬件层把身体和手分开,学习层把人和机器人分开。每一层用最合适的工具:

硬件层:身体 + 手解耦 身体:15-node IMU 套装 Vdmocap 商业方案 / SlimeVR <$200 自制 → GMR 求解器:以骨盆为中心,最小化朝向+末端误差 手:惯性手套(Vdhand/Manus) 5 个指尖 3D 位置(15 维) → MLP retargeter:p_t (15D) → q_t (20D 关节) 学习层:人数据 + 机器人数据解耦(两阶段) Stage 1:人数据预训练 多样位置/物体/背景 输入:ego RGB + 上一帧动作 a_{t-1} (用 a_{t-1} 近似本体感觉 s_t) Stage 2:机器人数据微调 单一位置/物体/背景(少量) 把视觉/运动先验「对齐」到机器人 embodiment 学输出动作的精确化
图 2:HumDex 的双解耦架构。硬件层把身体(IMU)和手(手套)解耦,学习层把人(多样)和机器人(单一)解耦。

🛠️ 工程化:4 个关键设计

设计心智为什么必要
① 骨盆中心化 GMR不用世界绝对位置(IMU 有漂移),用相对于骨盆的末端位置+所有 link 的朝向做 IKIMU 算 global position 会随时间漂移;但相对位姿不会。这是 TWIST2 的成熟做法,HumDex 直接复用
② MLP 学习 retargeter用离线 IK 生成 ~20k 配对数据(5 指尖位置 ↔ 20-DoF 关节角),训练一个 finger-wise MLP(每指独立子网络)相比传统 per-frame 优化:① 推理 O(1) 而非求解 IK;② 输出更平滑;③ 不需要手调 IK objective 的各种正则项
③ 上一帧动作 a_{t-1} 当本体感觉人数据没有机器人本体感觉,直接用 $a_{t-1}$ 近似 $s_t$(因为机器人动作 → 下一时刻状态)否则人数据缺一半输入,没法预训练。论文实测 $a_t$ 对应 $s_{t+1}$ 的延迟极小,这个近似成立
④ 顺序训练,不混合不把人数据和机器人数据混着训(Mix baseline 直接 0% 成功),而是先人后机人-机 embodiment gap 太大,同视觉状态对应两个不同动作空间会让网络梯度冲突崩盘。分阶段:人数据先学视觉/运动先验,机器人数据再校准动作输出
🔮 直觉:为什么「先人后机」比「混合训练」好?
想象教一个小孩做菜。「先人后机」= 先让他在家看妈妈做 100 次菜(视觉先验:菜长啥样、什么时候放盐),然后到餐厅实习 5 次微调手感。混合训练= 一边让他看妈妈做菜、一边逼他用大厨的姿势切菜——两种「正确动作」冲突,他直接懵圈(Mix 0% 成功)。
本质是 embodiment gap:人的关节和机器人 20-DoF 手的关节不是同一个动作空间,强行混训会让网络试图「同一视觉 → 两种动作」,无解。

📊 关键结果:硬件 + 算法双重胜出

维度对比数字(源自 PDF)
遥操作任务覆盖5 个任务:Scan&Pack、Hang Towel、Open Door、Place Basket、Pick Breadbaseline(PICO 视觉)完全做不了 Scan&Pack(遮挡问题);HumDex 全部跑通
采集效率采 60 episodes 用时(4 个共同任务平均)baseline 59.8 min → HumDex 44.3 min(-26%)
遥操作成功率60 次尝试(4 个共同任务平均)baseline 74.6% → HumDex 91.7%
下游 policy 成功率30 次评估(4 个共同任务平均)baseline 57.5% → HumDex 80.0%(Hang Towel 11→19/30,差距最明显)
学习 retargeter vs 优化 retargeterTable II 三个精细子任务(Scanner Trigger / Hanger Stabilize / Doll Grasp)学习版(Glove+Learn.):20+20+29 / 30;优化版(Glove+Opt.):14+21+23 / 30;精细任务学习版完胜
人数据带来的泛化Table III:30 trials 在 unseen 设置下RobotOnly: 12 / 10 / 9(Pos/Obj/Bg)→ Ours 21 / 20 / 25(接近 2× 提升)
成本可扩展SlimeVR 自制 vs Vdmocap 商业(Hang Towel/Place Basket/Pick Bread)14-node SlimeVR(<$200)与商业方案成功率基本持平(如 Hang Towel 48/60 vs 50/60)
关键洞察:Scan&Pack 这个任务(握扫描仪 + 食指按 trigger)是整个论文的「罗塞塔石碑」——baseline 因为自身遮挡直接 0/60,HumDex 90%。这彻底说明:「视觉遥操作 + 灵巧手」是个死方向,工具使用一定有遮挡,惯性测量才是出路。

🌐 在领域中的位置

外骨骼/mocap(Homie) VR 头显遥操作(TWIST/TWIST2) HumDex: IMU + 学习 retargeter ⭐ 人数据预训练范式的规模化(Humanoid VLA)

谱系定位:HumDex 在「人形灵巧遥操作」轴上标志着从视觉转向 IMU 的范式迁移(继承 TWIST2 的 GMR,但抛弃其 VR 视觉)。在「人数据利用」轴上,它代表「不强行对齐、顺序训练」路线(与 EgoMimic 的对齐路线、DexCap 的校正路线并列)。开源代码 + 低成本硬件(<$200)让它有很强的可复现性。

❓ 常见误区

IMU 不是有漂移吗?怎么解决?

论文用了 2025 年的新款 ICM-45686 IMU(低陀螺仪漂移),加上 SlimeVR 的 ESB 协议(避免 WiFi 拥堵丢包)。但更关键的是算法层用「骨盆中心化 GMR」——只跟踪相对骨盆的末端位置,从不依赖 global 绝对位置,漂移自然不影响。这是 TWIST2 已经验证过的工程范式。

为什么不用 force-feedback 数据手套?

HumDex 关注的是运动学数据采集(关节轨迹、视觉),不是力控。论文 §VI 限制里也承认:「contact modes, force-sensitive interactions」还是 open challenge。如果你做需要力反馈的任务(如 Beyond Binary),那要的是触觉传感器,不是手套。

人数据没有真机本体感觉,真不会训崩?

论文用了一个非常聪明的近似:用 $a_{t-1}$(上一帧动作)当 $s_t$(本体感觉)。因为机器人执行动作后状态变化是接近瞬时且确定的,$a_t \approx s_{t+1}$。这个近似在机器人数据上验证过延迟极小。然后第二阶段微调时,机器人数据有真正的 $s_t$,把这点偏差校准回来。

为什么 Mix baseline 是 0%?

不是训不动,是根本不收敛。同一个「看到面包」的视觉输入,人数据告诉它「输出人手的关节角」,机器人数据告诉它「输出 20-DoF 机械手的关节角」——两种答案完全不同的动作空间,loss 梯度互相打架。顺序训练避免了这个冲突:第一阶段只学视觉/运动先验(不动动作头),第二阶段才校准动作。