arXiv:2602.06643v2 · 12 Feb 2026 · Tsinghua / Shanghai Qi Zhi / Spirit.AI / SJTU

Humanoid Manipulation Interface: Humanoid Whole-Body Manipulation from Robot-Free Demonstrations

Ruiqian Nai*, Boyuan Zheng*, Junming Zhao*, Haodong Zhu, Sicong Dai†, et al.
Robot-Free Demonstration Whole-Body Manipulation Diffusion Policy + RL Controller Action Chunk Interface
§ 01

一句话看懂:不用真机器人采演示,但最终仍让真机器人做全身操作

这一节解决什么

这篇论文真正要省掉的是“采集演示时必须占用并操纵真机器人”。人背着五个追踪器、拿着两个带相机的夹爪,在真实场景里亲自完成任务;系统把人的手、骨盆和脚轨迹转成机器人可学的数据。难点不只是 retarget:人和机器人形态不同、低层控制一定有误差,而且高层策略每 2 秒左右换一次 action chunk。HuMI 的关键贡献,是把采集、可行性、精度、分层接口一起补齐。

Figure 1: HuMI overview
Fig. 1 · p.1HuMI 总览:左侧是无需真机器人在场的人类教学,右侧是真机器人获得的全身、动态、双手与移动操作能力。
输入双腕相机图像;左右手、骨盆、双脚的 SE(3) 轨迹;夹爪开合。
高层5 Hz Diffusion Policy:从腕部图像与下肢本体状态预测未来关键点 action chunk。
低层50 Hz whole-body RL controller:结合 IMU、关节位置/速度,把关键点目标变成关节命令。
结果五类任务;数据采集吞吐约为 TWIST2 遥操作的 3 倍;未见环境与物体上达到 70% 成功率。
§ 02

Robot-Free 到底“free”了什么?

承上 → 启下

上一节说“采演示时不用机器人”,但这很容易被误解成“训练也完全不用机器人/仿真”。不是。Robot-free 修饰的是 demonstration collection:采集者不远程操控实体机器人,也不需要实体机器人在现场;后续仍要使用机器人模型做 IK、在仿真里训练低层 RL,并在真机上部署和评测。

它免掉了 ✓

采集时占用真机;搬运机器人到每个场景;遥操作时实时维持平衡;操作者手工补偿低层控制误差。

它没有免掉 ✗

机器人 URDF/运动学;在线 IK 预览里的虚拟机器人;低层 sim-to-real RL;最终真机执行与评测。

Figure 2: Robot-free demonstration system
Fig. 2 · p.3Robot-free 的完整数据链:便携采集并不等于“随便录人类动作”,中间必须用在线 IK 预览把演示约束进机器人可行空间。
展开原文 · robot-free 的严格定义

“This design enables task teaching without the physical presence of a robot.”

— §I, p.2
理解检查
下面哪句话最准确?
§ 03

两层策略:一个想“往哪走”,一个负责“真的走到”

承上 → 启下

上一节解决了人类演示怎么变得“机器人可行”,但 IK 轨迹不等于真机能精确播放。HuMI 因此拆成两层:高层只在任务空间规划关键点,低层高速闭环维持全身稳定。这个分层也制造了下一节的核心矛盾:高层计划的 pose 与低层真正执行到的 pose 不会完全一致

Figure 3: hierarchical control framework
Fig. 3 · p.4高层 5 Hz 生成 action chunk,低层 50 Hz 闭环执行。两个频率、两个训练目标之间必须有一个稳健接口。
§ 04 · 核心

“训测不一致”为什么反而效果更好?

先纠正一句表述

更准确地说,这不是“作者故意让整个训练分布和测试分布不同”。部署时的确出现了训练中没有的计划—执行偏差;作者的反直觉选择是:在 chunk 切换时,不用最新的真实执行位姿重置计划,而继续用上一段的计划目标作为参考系。它牺牲了“新 chunk 起点和当前真机状态完全对齐”,换来了“高层时间轨迹连续”,再把剩余误差交给低层闭环控制器消化。

高层训练时模仿人类轨迹,默认给出的关键点目标会被完美执行;它没有见过 4–6 cm 的真机跟踪滞后。
低层训练时追踪固定的离线 reference motion;它擅长从当前状态追赶一条连续目标轨迹。
真机测试时执行位姿落后于计划位姿。若下一 chunk 锚到真实位姿,相当于高层突然把目标轨迹向后平移,甚至先反向再前进。
作者选择锚到上一 chunk 的 scheduled target,让计划轨迹连续;低层看到的是“继续追赶”,而不是“目标突然倒车”。
为什么“更真实”不等于“更正确”

控制接口不只要描述当前在哪里,还要保存原本想怎么运动。动态抛掷中,真实执行状态虽然最准确,却已经落后;用它重建下一段相对轨迹,会把“纠正误差”错误地写进高层目标,破坏速度和动量。scheduled pose 则保留了原动作的相位与意图。

展开原文 · 为什么 scheduled reference 更贴合训练

“This aligns better with the training dynamics of both levels: the high-level policy acts under the assumption of perfect tracking, while the low-level RL controller is trained to track fixed offline reference motions.”

— §II.C, p.5
理解检查
为什么不直接用最新 actual pose 作为下一 chunk 的参考?
§ 05 · Fig. 4

Fig. 4 逐点拆解:红线为什么会“倒车”,绿线为什么顺

承上 → 启下

上一节给出结论,这一节把图中的四条线和 $t=2$ 切换点走一遍。读图时要把两组概念分开:scheduled / executed 是系统过去实际发生的计划与执行;rel. scheduled / rel. executed 是选择不同参考系后,下一 action chunk 被放到全局坐标里形成的两种未来目标。

Figure 4: action chunk reference comparison
Fig. 4 · p.5参考系选择如何影响 action chunk 连续性。绿色以计划位姿为锚,红色以真实执行位姿为锚。
跟着时间走一遍
1 / 6

1. 高层先画出浅灰计划

它预计 t=2 到达浅灰圆点。

给第一次接触这个领域的读者

输入是什么:当前任务提供的原始观测、指令、机器人状态或训练数据。先明确这些输入,才能判断后面的结论是否用了部署时拿不到的信息。

这一步究竟做什么:本步骤执行“高层先画出浅灰计划”。具体来说,它预计 t=2 到达浅灰圆点。 这里处理的只是整条链路中的一个接口:把上一步的结果整理成下一步能够正确读取和继续计算的形式。

输出到哪里:经过本步骤处理、含义更明确的中间结果。这个结果会交给下一步“真机实际落后”继续处理。

为什么不能省略:它把未经处理的原始问题变成后续模块可以计算的输入,是整条链路的起点。

2. 真机实际落后

低层努力追踪,但在 t=2 只到达深灰叉号;误差不是零。

给第一次接触这个领域的读者

输入是什么:来自上一步“高层先画出浅灰计划”的产物:经过本步骤处理、含义更明确的中间结果。本步骤还会按论文设置读取当前条件、时间步或训练信号。

这一步究竟做什么:本步骤执行“真机实际落后”。具体来说,低层努力追踪,但在 t=2 只到达深灰叉号;误差不是零。 这里处理的只是整条链路中的一个接口:把上一步的结果整理成下一步能够正确读取和继续计算的形式。

输出到哪里:经过本步骤处理、含义更明确的中间结果。这个结果会交给下一步“新 action chunk 到来”继续处理。

为什么不能省略:它承担上下两步之间的接口;缺少它,前一步产生的信息无法以正确格式或正确含义传到下一步。

3. 新 action chunk 到来

新 chunk 是相对位移序列,必须选一个参考原点放回世界坐标。

给第一次接触这个领域的读者

输入是什么:来自上一步“真机实际落后”的产物:经过本步骤处理、含义更明确的中间结果。本步骤还会按论文设置读取当前条件、时间步或训练信号。

这一步究竟做什么:本步骤执行“新 action chunk 到来”。具体来说,新 chunk 是相对位移序列,必须选一个参考原点放回世界坐标。 这里处理的只是整条链路中的一个接口:把上一步的结果整理成下一步能够正确读取和继续计算的形式。

输出到哪里:经过本步骤处理、含义更明确的中间结果。这个结果会交给下一步“朴素做法:锚到 actual”继续处理。

为什么不能省略:它承担上下两步之间的接口;缺少它,前一步产生的信息无法以正确格式或正确含义传到下一步。

术语先翻译:action chunk(动作块):模型一次生成连续多步控制,而不是每次只预测一个瞬时动作。

4. 朴素做法:锚到 actual

原点被拉到落后位置,下一目标比浅灰计划还低,于是目标先“倒车”。

给第一次接触这个领域的读者

输入是什么:来自上一步“新 action chunk 到来”的产物:经过本步骤处理、含义更明确的中间结果。本步骤还会按论文设置读取当前条件、时间步或训练信号。

这一步究竟做什么:本步骤执行“朴素做法:锚到 actual”。具体来说,原点被拉到落后位置,下一目标比浅灰计划还低,于是目标先“倒车”。 这里处理的只是整条链路中的一个接口:把上一步的结果整理成下一步能够正确读取和继续计算的形式。

输出到哪里:经过本步骤处理、含义更明确的中间结果。这个结果会交给下一步“HuMI:锚到 scheduled”继续处理。

为什么不能省略:它承担上下两步之间的接口;缺少它,前一步产生的信息无法以正确格式或正确含义传到下一步。

5. HuMI:锚到 scheduled

新 chunk 从旧计划终点自然接上,保持目标速度和动作相位连续。

给第一次接触这个领域的读者

输入是什么:来自上一步“朴素做法:锚到 actual”的产物:经过本步骤处理、含义更明确的中间结果。本步骤还会按论文设置读取当前条件、时间步或训练信号。

这一步究竟做什么:本步骤执行“HuMI:锚到 scheduled”。具体来说,新 chunk 从旧计划终点自然接上,保持目标速度和动作相位连续。 这个动作会真正改变环境,所以系统还要读取执行后的新观测,检查模型预期与现实之间的差距。

输出到哪里:经过本步骤处理、含义更明确的中间结果。这个结果会交给下一步“误差交给低层闭环”继续处理。

为什么不能省略:它承担上下两步之间的接口;缺少它,前一步产生的信息无法以正确格式或正确含义传到下一步。

6. 误差交给低层闭环

低层仍读取真实状态并追赶连续绿色目标;HuMI 没有假装误差不存在,只是不让误差污染高层轨迹。

给第一次接触这个领域的读者

输入是什么:来自上一步“HuMI:锚到 scheduled”的产物:经过本步骤处理、含义更明确的中间结果。本步骤还会按论文设置读取当前条件、时间步或训练信号。

这一步究竟做什么:低层仍读取真实状态并追赶连续绿色目标;HuMI 没有假装误差不存在,只是不让误差污染高层轨迹。

输出到哪里:经过本步骤处理、含义更明确的中间结果。这是图中这条链路的最终产物,随后会进入真实执行、模型更新或指标评测。

为什么不能省略:机器人动作会改变下一次观测;只有执行后重新读取现实,才能发现预测误差并阻止错误连续累积。

§ 06

实验支持什么,又没有直接证明什么?

承上 → 小结

Fig. 4 解释了机制,实验则用不同任务的消融验证各个接口部件。要注意:论文没有给 Fig. 4 两种 reference 的统一总表,而是在对应动态任务中报告失败现象;因此“训测不一致效果更好”应理解为这一接口设计在 HuMI 分层系统中更稳,不能外推成“所有机器学习任务故意制造 train-test mismatch 都会更好”。

完整 HuMI跪地求婚 17/20 = 85%;双手拔剑 17/20 = 85%;抛玩具 16/20 = 80%;走到桌边清洁 15/20 = 75%。
用 actual EE pose 作参考抛掷中动作块切换会破坏连续性,典型失败是机器人突然向后跳并撞到后方障碍(Fig. 6b)。
去掉人在环 IK求婚任务由 85% 降到 1/10 = 10%,说明 robot-free 并不等于忽略 embodiment gap。
只给 EE、不指定全身求婚任务降到 0/10;两个手的轨迹不足以唯一决定腿和躯干如何配合。
去掉变速增强拔剑由 85% 降到 5/10 = 50%,平均末端误差升至 21.2 mm。
泛化350 条、7 个环境的瓶子拾取数据;未见环境和物体组合上成功率 70%。
最终记忆句

Robot-free:省掉采集时的实体机器人,不省机器人约束。
Fig. 4:actual pose 更真实,但 scheduled pose 更能保持动作意图连续。
核心分工:高层守住连续计划,低层根据真实状态负责追赶和稳定。

展开原文 · 论文对红线与绿线的解释

“Resetting the reference to the lagging executed pose generates a trajectory that suffers from a sudden reversal… To enforce continuity, we instead utilize the previous target pose as the action reference.”

— §II.C, p.5