一句话定位
用一个统一策略(single unified policy)在真实人形机器人(Unitree G1)上跟踪从走路到高踢腿、功夫、跳舞的全身多样动作,靠两件事撑起来:把易/难动作自动配平的 Adaptive Sampling 课程,和让不同动作流形分区专精的 Motion Mixture-of-Experts。
背景与定位
GMT 属于「从人类动捕数据学人形全身控制」(humanoid motion imitation / whole-body control)这条线。图形学里早已有单一统一控制器复现海量动作的先例(DeepMimic、ASE、PHC、MaskedMimic 等),但把它搬到真机上有四个坎,作者在引言里明确列出:
- 部分可观测(Partial Observability):真机拿不到线速度、全局根位置等全状态,训练更难;
- 硬件限制(Hardware Limitations):动捕里有后空翻、翻滚这类真机做不了的动作,连走跑都可能因扭矩不足追不上人的速度;
- 数据分布不均(Unbalanced Data Distribution):AMASS 这类大库大量是走路/原地动作,复杂动态动作稀缺,机器人学不好这些关键但低频的技能;
- 模型表达力(Model Expressiveness):小 MLP 跟几段 clip 够用,套到大库就抓不住时序依赖、区分不了动作类别。
已有工作各解一坎:teacher-student 处理部分可观测(omnih2o、exbody2);小数据集分类微调多个专家策略(ExBody2);transformer 提表达力(HumanPlus)。GMT 的主张是把这些坎联合起来一次解决,得到一个真正通用的统一跟踪控制器。作者自己在对比表里把 GMT 定位为「单策略 + 全身 + 多样」三者兼得,数据规模 8925 个筛后 clip:ExBody 780 clip(非全身/非多样)、ExBody2 1050 clip(筛后,需分类微调)、HumanPlus 10k clip(非多样)、OmniH2O 14k clip(增广,非多样)、ASAP 用互联网 clip(但非单策略,每个动作单独训)。范式上它是 goal-conditioned RL + teacher-student 蒸馏,相关工作可参见 exbody2、omnih2o、asap。
模型架构
任务形式:goal-conditioned RL,策略 π(a_t | s_t, g_t),最大化折扣回报。输出动作是目标关节位置(target joint positions),下发给 PD 控制。
Motion target(g_t):每帧目标 g_t = [q_t, v_base, r_base, p_key, h_root]:
- q_t ∈ R²³:关节位置(23 DoF);
- v_base ∈ R⁶:base 线速度 + 角速度;
- r_base ∈ R²:base roll、pitch;
- h_root:根高度(1 维);
- p_key ∈ R^(3×num keybody):局部 key body 位置。与用全局 key body 的 OmniH2O/ASAP 不同,GMT 学 ExBody2 用局部 key body,并进一步把局部 key body 对齐到机器人 heading 朝向。
Motion input(关键设计):不只喂下一帧。把未来一段连续帧 [g_t, …, g_{t+100}](约 2 秒未来动作)堆叠,经一个卷积编码器压成潜向量 z_t ∈ R¹²⁸,再与紧邻下一帧 g_t 拼接一起喂策略网络。这样既有长期趋势又有最近关键目标信息——消融显示两者缺一不可(见评测)。
Motion MoE(teacher 阶段):teacher 策略里用 soft MoE——一组 expert 网络 + 一个 gating 网络。expert 和 gating 都吃「机器人状态观测 + motion target」,最终动作是各 expert 动作分布采样的加权和 a = Σᵢ pᵢ aᵢ(pᵢ 由 gating 输出)。可视化 gating 权重随时间在「站立→踢腿→后退走→站立」的组合动作里出现清晰的 expert 切换,验证了不同 expert 对不同动作类型的专精。
观测维度:
- Teacher 观测 = 本体感受 o_t + 特权信息 e_t + motion target g。o_t = root 角速度(3) + root roll/pitch(2) + 关节位置(23) + 关节速度(23) + 上一动作(23)。e_t = root 线速度(3) + root 高度(1) + key body 位置 + 双脚接触 mask(2) + 质量随机化参数(6) + 电机强度(46)。
- Student 观测 = 本体感受 o_t + 本体感受历史 o_{t-20…t}(约 21 帧)+ motion target g(不含特权信息)。
机器人本体:Unitree G1,23 DoF,高 1.32 m。
数据
- 来源:AMASS + LAFAN1 两库组合。
- 两阶段 curation(沿用 PHC 思路):
- 规则过滤:剔除爬行、倒地、极端动态等真机不可行动作——例如根的 roll/pitch 超阈值、或根高度异常高/低的动作;
- 策略完成度过滤:先在规则过滤后的数据上用约 50 亿(5 billion)样本训一个初步策略,按其完成率再滤掉失败动作。
- 最终训练集:AMASS+LAFAN1 的筛后子集,8925 个 clip,共 33.12 小时。
- 分布问题:AMASS 原始分布高度不均(大量走路/原地动作),正是 Adaptive Sampling 要针对的对象。
- sim vs real:训练全程在仿真(IsaacGym)里做;真机只做部署验证,无真机训练数据。
训练方法
两阶段 teacher-student:
- 特权 teacher:观测含本体 + 特权信息 + motion target,用 PPO 优化,输出目标关节动作 â_t;
- 可部署 student:只吃本体感受历史 + motion target,用 DAgger 蒸馏 teacher,最小化 L2 损失 ‖â_t − a‖²。
Adaptive Sampling(核心课程),两部分:
- Random Clipping:>10 s 的动作切成 ≤10 s 子段,切点加最多 2 s 随机偏移避免过渡伪影;训练中周期性重切以进一步多样化子段。
- Tracking Performance-based Probabilities:训练时记录每个动作的完成等级 cᵢ,当跟踪误差超过 Eᵢ 就终止 episode。动作被成功完成时,cᵢ 和 Eᵢ 逐步下调(最小值 c_min = 1.0、E_min = 0.25)。采样概率:cᵢ=1 时 pᵢ = (min(E_{max key body error}/0.15, 1))⁵,cᵢ>1 时 pᵢ = cᵢ。效果是不再反复采样长动作里的简单段,把训练力气压到高误差的难动作上。
奖励(第一阶段 PPO):exp 形式的跟踪项 + 正则项。跟踪项:tracking joint positions / joint velocities / root pose(root 旋转 + 高度)/ root vel / key body positions;辅助项:alive(1.0)、foot slip、joint velocities、joint accelerations、action rate。
Sim-to-real:teacher 和 student 训练都加 domain randomization + action delay。为对齐仿真与真机动力学,显式建模减速器转动惯量:给定减速比 k、减速器惯量 I,仿真里把 armature 参数配成 armature = k²·I。student 训好后先在 MuJoCo 里验证再上真机。
Infra(训练 / 推理工程)
- 模拟器:IsaacGym,4096 个并行环境。
- 训练算力:单张 RTX 4090 GPU——特权 teacher 训约 3 天,student 约 1 天。(仿真实验里每个策略用约 68 亿(6.8 billion)样本训练。)
- 频率:仿真 500 Hz,控制 50 Hz。
- 推理/部署:策略先在 MuJoCo 做 sim-to-sim 验证,再部署到真实 Unitree G1;控制频率 50 Hz。精度、板载算力、端到端时延未披露。
评测 benchmark
仿真评测在 AMASS-test 与 LAFAN1 上,所有策略均在同一「筛后 AMASS+LAFAN」上训练;baseline/消融只比特权策略。四个指标(越低越好):E_mpkpe(mean per keybody position error, mm)、E_mpjpe(mean per joint position error, rad)、E_vel(线速度误差, m/s)、E_yaw vel(yaw 速度误差, rad/s)。
GMT vs ExBody2(作者复现,同数据集训练)
| Method | AMASS mpkpe↓ | AMASS mpjpe↓ | AMASS vel↓ | AMASS yaw↓ | LAFAN mpkpe↓ | LAFAN mpjpe↓ | LAFAN vel↓ | LAFAN yaw↓ |
|---|---|---|---|---|---|---|---|---|
| ExBody2(复现) | 50.28 | 0.0925 | 0.1875 | 0.3402 | 58.36 | 0.1378 | 0.3461 | 0.4260 |
| GMT(特权) | 42.07 | 0.0834 | 0.1747 | 0.2238 | 45.16 | 0.0975 | 0.2837 | 0.3314 |
| GMT(student) | 42.01 | 0.0807 | 0.1943 | 0.2211 | 46.14 | 0.1060 | 0.3009 | 0.3489 |
GMT 在局部(mpkpe/mpjpe)和全局(vel/yaw vel)跟踪上全面优于 ExBody2。student 通过纯蒸馏拿到与 teacher 几乎持平的性能。
组件消融(特权策略,AMASS-test / LAFAN mpkpe)
| 配置 | AMASS mpkpe↓ | LAFAN mpkpe↓ |
|---|---|---|
| GMT w.o. A.S. & MoE(MLP,无课程) | 44.34 | 52.34 |
| GMT w.o. MoE(换等参 MLP) | 42.53 | 48.26 |
| GMT w.o. A.S.(去掉 Adaptive Sampling) | 43.54 | 49.61 |
| GMT(full) | 42.07 | 45.16 |
MoE 和 Adaptive Sampling 都对更难的动作改善更大(top-percentile 跟踪误差图 Fig. 5)。去掉 Adaptive Sampling 时,一段从 240 s 长组合动作里抽出的片段策略学不好、难以平衡,膝/髋 roll 的扭矩表现使真机部署不可行。
Motion input 消融(AMASS-test mpkpe):GMT-M(仅下一帧)46.02;GMT-L0.5-M 43.64;GMT-L1-M 43.15;GMT-L2(仅 2 s 窗口、不含下一帧)49.52(显著退化);GMT-L2-M(本文)42.07。结论:加长未来窗口能提精度,但紧邻下一帧不可省——窗口给趋势、下一帧给最近的精细目标。
真机部署:在真实 Unitree G1 上复现了 stylized walking、high kicking、dancing、spinning、crouch walk、soccer kicking 等大量动作,作者称达到 SOTA 保真度(定量真机数值未在正文给出,见项目页视频)。
下游应用:在 MuJoCo sim-to-sim 里跟踪 MDM(Motion Diffusion Model) 按文本 prompt 生成的动作,表现良好,展示了作为下游任务底座的潜力。
创新点与影响
- 贡献:首次用单一统一策略在真机上覆盖「单策略 + 全身 + 多样」三者兼得的全身动作跟踪,规模到 8925 clip / 33.12 h。两个核心组件——Adaptive Sampling(完成度驱动的采样课程 + 随机切段)和 Motion MoE(动作流形分区专精)——加上局部对齐 heading 的 key body、2 s 未来窗口 + 下一帧的输入设计,是把大动捕库真机化的关键拼图。
- 改变了什么:相比 ExBody2 的「分类微调多个专家策略」和 ASAP 的「每个动作单独训」,GMT 证明一个策略也能高保真跑遍多样技能,并能直接接 MDM 这类高层动作生成器,向「高层 planner 选/串技能 → 通用人形」的路线铺路。可作为后续全身算法开发的底座(作者语)。
- 作者自述局限:(1) 缺接触密集技能——因接触建模的仿真复杂度 + 硬件限制,不支持倒地起身、地面翻滚等;(2) 不适应复杂地形——当前策略无地形观测,不为斜坡/楼梯设计。
原始链接
- arXiv abs:https://arxiv.org/abs/2506.14770
- arXiv PDF:https://arxiv.org/pdf/2506.14770
- 项目页:https://gmt-humanoid.github.io/
- 代码(Mujoco sim + 预训练 ckpt):https://github.com/zixuan417/humanoid-general-motion-tracking
- 视频:https://youtu.be/n6p0DzpYjDE
一手源存档(sources/)
- gmt—github-readme — GitHub README(sources/embodied/2025/gmt—github-readme.md)
- gmt—project-page — 项目页快照(sources/embodied/2025/gmt—project-page.md)
- arXiv 2506.14770 全文(arXiv 原文 PDF/HTML,不入 git;引用见上方链接)