枢纽
机器人Unitree H1 (humanoid)
数据集AMASS
上真机
实时
输入模态人类动捕 / 参考运动 → 跟踪(可作 teleop 后端)

ExBody:上半身「演」,下半身「稳」

Xuxin Cheng, Yandong Ji 等(UC San Diego,Xiaolong Wang 组)。arXiv:2402.16796, 2024。 项目页 · humanoid whole-bodymotion imitation 线索 T03relaxed tracking

🧠 一句话心智模型:让人形机器人上身跟人学跳舞/挥手/打拳,但下身不要死磕每个关节角——只要腿能稳稳跟住「往前走、转弯、变速」的命令就行。这一「松紧搭配」,把动捕数据从「仿真里的虚拟人」搬到了「真铁疙瘩」上。

🎯 为什么重要:人形机器人不只是「会走」的工具

传统腿足机器人控制有个默认目标:走稳、走得快、走得省电。但人形机器人最有意思的地方恰恰不在「走」,而在边走边做动作——挥手、跳舞、与人握手。问题是,这两个目标在真机上打架

核心矛盾:图形学里那套「physics-based character animation」在仿真里好看,搬到真机就崩
  • 仿真里的虚拟人(SMPL)有 69 个自由度,Unitree H1 真机只有 19 个——直接迁移会丢大量动作细节;
  • 仿真里的「肌肉」需要 60 kg/m 量级的执行器增益(PD gain)比真机大一个数量级——动作在仿真里能做出来,真机做不动;
  • 图形学方法用「全局坐标下的速度、关键点位置」作为观测,这些真机看不到

ExBody 的回答是:不要全身上下都去 mimic。上身有 9 个自由度,足够表达「挥手、抱拳、跳舞」这种表达性动作,就老老实实跟动捕学;下身两条腿,跟参考动作太死板反而学不出稳健步态——放松到只跟「整体身体位移/朝向」

💡 核心思想:把目标空间拆成「表达」和「移动」两半

ExBody 把控制目标显式拆成两个子空间:expression goal $g_e$(上身动作)和 root movement goal $g_m$(整体移动)。一个策略同时跟这两个目标。

动捕参考 CMU MoCap 780 段 walk / dance / punch / basketball / hug … 重定向到 19-DoF H1 (球关节 → 3 个垂直 revolute) ~3.7 小时素材 把目标拆成两个子空间 G_e:上身 9 个上身关节角 + 6 keypoints (R¹⁸) 严格模仿 ✓ (肩 / 肘 / 手 位置) G_m:整体 线速度 v roll/pitch/yaw 身体高度 h 放松跟踪 ~ 单策略 π PPO + 4096 并行环境 Isaac Gym 同时跟 g_e 和 g_m 但腿不必跟参考 的每个关节角
图 1:ExBody 的核心拆分。上身严格模仿(保证表达性),下身放松到只跟整体移动命令(保证稳健性)。单策略同时学习两个目标。

🛠️ 三个工程关键

设计心智为什么必要
① 大规模 MoCap 数据 + 半自动筛选从 CMU MoCap 选 780 段(walk/dance/basketball/punch 等),共 ~3.7 小时;排除涉及重物、阶梯、双人互动的之前人形工作只用几十段参考(ASE 187 段、PHC 11000 段但只在仿真)。覆盖广度给策略提供了「人怎么做动作」的天然先验,相当于隐式课程(从站到走到舞)
② Random State Initialization (RSI)每个 episode 重置时,把机器人初始化成参考动作数据集里随机一帧的状态没有 RSI,机器人默认站姿开始探索,前期只能学到「立刻坐下避免惩罚」(论文里 No RSI baseline MEL=0.23,几乎全失败);RSI 相当于 dense supervision 起步
③ 只用真机能拿到的观测策略只看本体感觉(关节、IMU、上次动作)+ 目标命令;不看全局位置、速度、关键点论文 Table I 强调 PHC/ASE 用了线性速度、keypoints 等「真机拿不到的特权信息」。ExBody 删掉这些 = 可直接 sim2real
🔮 反直觉发现:「上身动得越丰富,下身走得越稳」
Table IV 显示,加上丰富上身动作的数据集,反而让下身步态更稳(MELV=318.67 vs Random Sample 的 181.85)。论文解释:动捕数据本身就是「人怎么协调全身」的天然课程——很多片段从站立开始过渡到走,给策略提供了从静态到动态的渐进样本,比人工设计的均匀命令采样更合理。

📊 结果:首个真机部署的「表达性人形控制」

维度数字(来自论文 Table IV/V)
训练数据规模CMU MoCap 子集 780 段 / 3.7 小时(PHC 11000 段 40h,但只在仿真;ASE 187 段 0.5h)
线速度跟踪(MELV)318.67(运动数据采样)/ 132.14(随机命令采样)—— ExBody + 大数据集 ≫ Random Sample 181.85 ≫ No RSI 0.63
真机测试稳定性14 个动作 10 秒测试,平均 roll+pitch 波动 0.051 rad(ExBody+AMP 反而更抖 0.087)
真机部署能力跳舞、握手、拥抱、与人类手拉手舞步——首个 learning-based 真机多样人形控制
重要消融No RSI 几乎全失败(MEL 0.23);Full body tracking(上下身都跟)反而更差(MELV 246 vs 318)
关键洞察:ExBody 的胜负手不是「更大的网络」或「更精细的 reward」,而是问题重构——把「全身上下都模仿」改成「上身模仿 + 下身命令跟踪」。这印证了一条研究哲学:真机上的瓶颈往往是问题表达,不是算力

🌐 在领域中的位置

DeepMimic(全身跟踪) AMP / ASE(对抗式 motion prior) PHC(perpetual humanoid, 仿真) ExBody(relaxed tracking, 真机)⭐ BeyondMimic / HOMIE / HUB(人形 versatile 控制)

ExBody 是「真机多样人形控制」的开端。它把图形学积累的 motion data + RL 范式,第一次以「可信、稳健、可商部署」的形态放到真机上。后续 BeyondMimic(用 diffusion 引导)、HumanPlus(影子模仿)、HOMIE(人类遥操作 + 模仿)都继承了「relaxed 下肢 + 模仿上身」的拆分。关联线索:T08 人形控制谱系

❓ 常见误区

ExBody 是「learning-based humanoid control」的第一个工作吗?

不是「第一个」,但是「第一个在真机上做到丰富多样动作」。之前 PHC 在仿真里很强但真机不可部署;Robomimic / Hutter 等四足 + 简单上身的工作覆盖动作太少。ExBody 第一次把「跳舞、挥手、与人互动」这类高维表达性动作放到了商业人形机器人上。

为什么不直接让下身也跟踪动捕?人腿不也是人腿吗?

因为机器人的腿和人的腿不一样。H1 只有 5 个 hip+ knee+ ankle 自由度(每腿:3 hip + 1 knee + 1 ankle),人有远超这个的自由度(含脚趾、脊柱的细微补偿)。强行让机器人腿去拟合人腿每个关节角,会让控制器过约束,学出来的步态僵硬、易摔(Table IV 里 Full Body Tracking MELV=246 vs ExBody 318)。放松到只跟「整体移动」= 给策略留出自由发挥腿姿的空间。

它和 AMP(Adversarial Motion Priors)什么关系?

AMP 是替代手动 reward 的「风格奖励」——用判别器打分「这看起来像不像人」。ExBody 论文也对比了 ExBody+AMP baseline,发现:AMP 让上身更接近参考的「质感」,但下身步态变差(MELV 从 318 跌到 205),原因是 AMP 鼓励「直腿站」而非「弯膝走」,对真机不友好。所以最终方案选了纯 tracking reward