本页概念卡
人形运动跟踪 · 特权教师策略 · CVAE · 部分可观测条件先验 · 残差动作解码器 · 人形运动重定向 · SMPL 人体动作 · PHC 筛选协议 · PPO 优化跟踪奖励 · SR · MPKPE · Vel-Dist · Acc-Dist
一句话定位
UniTracker 用“特权 RL 教师 → CVAE 在线蒸馏学生 → 残差快速适配”三阶段流程,让同一个 23-DoF 控制策略在 Unitree G1 上跟踪 8,100 余条全身动作;核心是在部分观测下把动作多样性和全局意图压进可部署的潜变量。
背景概念(给新人)
人形机器人拿到一段参考舞蹈/踢腿轨迹后,不能直接复制人类关节角:身体比例、自由度、动力学和接触都不同。先通过 运动重定向 生成机器人参考,再让 运动跟踪 策略在每个控制周期输出关节目标,低层 PD 控制器执行。
难点是:真机只能测到关节、IMU 等局部信息,却缺少仿真中每个刚体的全局位置/速度。传统 MLP + DAgger 学生容易把多种合理动作“平均化”,出现动作不鲜明、朝向漂移,以及未见动作泛化差。
问题
在单一策略中追踪大量、多样的人类动作,同时满足:
- 真机只能使用部分观测;
- 不丢失动作表现力与全局方向一致性;
- 遇到极端/OOD 动作时可以快速特化,而非从头训练。
贡献
方法
#mermaid-svg-IJIzjAy4ERnnzJQw{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-IJIzjAy4ERnnzJQw .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-IJIzjAy4ERnnzJQw .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-IJIzjAy4ERnnzJQw .error-icon{fill:#552222;}#mermaid-svg-IJIzjAy4ERnnzJQw .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-IJIzjAy4ERnnzJQw .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-IJIzjAy4ERnnzJQw .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-IJIzjAy4ERnnzJQw .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-IJIzjAy4ERnnzJQw .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-IJIzjAy4ERnnzJQw .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-IJIzjAy4ERnnzJQw .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-IJIzjAy4ERnnzJQw .marker{fill:#333333;stroke:#333333;}#mermaid-svg-IJIzjAy4ERnnzJQw .marker.cross{stroke:#333333;}#mermaid-svg-IJIzjAy4ERnnzJQw svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-IJIzjAy4ERnnzJQw p{margin:0;}#mermaid-svg-IJIzjAy4ERnnzJQw .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-IJIzjAy4ERnnzJQw .cluster-label text{fill:#333;}#mermaid-svg-IJIzjAy4ERnnzJQw .cluster-label span{color:#333;}#mermaid-svg-IJIzjAy4ERnnzJQw .cluster-label span p{background-color:transparent;}#mermaid-svg-IJIzjAy4ERnnzJQw .label text,#mermaid-svg-IJIzjAy4ERnnzJQw span{fill:#333;color:#333;}#mermaid-svg-IJIzjAy4ERnnzJQw .node rect,#mermaid-svg-IJIzjAy4ERnnzJQw .node circle,#mermaid-svg-IJIzjAy4ERnnzJQw .node ellipse,#mermaid-svg-IJIzjAy4ERnnzJQw .node polygon,#mermaid-svg-IJIzjAy4ERnnzJQw .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-IJIzjAy4ERnnzJQw .rough-node .label text,#mermaid-svg-IJIzjAy4ERnnzJQw .node .label text,#mermaid-svg-IJIzjAy4ERnnzJQw .image-shape .label,#mermaid-svg-IJIzjAy4ERnnzJQw .icon-shape .label{text-anchor:middle;}#mermaid-svg-IJIzjAy4ERnnzJQw .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-IJIzjAy4ERnnzJQw .rough-node .label,#mermaid-svg-IJIzjAy4ERnnzJQw .node .label,#mermaid-svg-IJIzjAy4ERnnzJQw .image-shape .label,#mermaid-svg-IJIzjAy4ERnnzJQw .icon-shape .label{text-align:center;}#mermaid-svg-IJIzjAy4ERnnzJQw .node.clickable{cursor:pointer;}#mermaid-svg-IJIzjAy4ERnnzJQw .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-IJIzjAy4ERnnzJQw .arrowheadPath{fill:#333333;}#mermaid-svg-IJIzjAy4ERnnzJQw .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-IJIzjAy4ERnnzJQw .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-IJIzjAy4ERnnzJQw .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-IJIzjAy4ERnnzJQw .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-IJIzjAy4ERnnzJQw .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-IJIzjAy4ERnnzJQw .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-IJIzjAy4ERnnzJQw .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-IJIzjAy4ERnnzJQw .cluster text{fill:#333;}#mermaid-svg-IJIzjAy4ERnnzJQw .cluster span{color:#333;}#mermaid-svg-IJIzjAy4ERnnzJQw div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-IJIzjAy4ERnnzJQw .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-IJIzjAy4ERnnzJQw rect.text{fill:none;stroke-width:0;}#mermaid-svg-IJIzjAy4ERnnzJQw .icon-shape,#mermaid-svg-IJIzjAy4ERnnzJQw .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-IJIzjAy4ERnnzJQw .icon-shape p,#mermaid-svg-IJIzjAy4ERnnzJQw .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-IJIzjAy4ERnnzJQw .icon-shape .label rect,#mermaid-svg-IJIzjAy4ERnnzJQw .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-IJIzjAy4ERnnzJQw .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-IJIzjAy4ERnnzJQw .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-IJIzjAy4ERnnzJQw :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
AMASS 人类动作
重定向到 G1
PHC 物理可行性筛选
阶段 1:特权 RL 教师
阶段 2:CVAE 在线蒸馏
通用可部署策略
阶段 3:冻结基座 + 残差适配
高难 / OOD 动作
0. 数据:从人类动作变成可学的 G1 参考
数据主要来自 AMASS。论文删去人-物交互片段与短于 10 帧的序列,再采用 PHC 的筛选协议,得到 8,179 条 SMPL 人体动作。重定向分两步:先基于 16 个对应身体链接匹配静止姿态比例;再对整段动作优化机器人根平移、根姿态和关节位置,并加平滑/不过激正则。
1. 特权教师:先在完整仿真状态上学好
教师策略输入包括刚体位置/姿态、线角速度、关节状态、前一动作和完整参考目标,用 强化学习 的 PPO 优化跟踪奖励。奖励既鼓励关键点、脚、姿态、关节位置与速度贴近参考,也惩罚动作变化、力矩、脚滑和终止。
为先获得动作质量,第一阶段只随机化质量、摩擦、质心等资产属性,不同时引入 PD 增益噪声或外力等环境动力学随机化。教师输出 atoraclea_t^{oracle}atoracle,是下一阶段的动作监督。
2. CVAE 学生:把“看不到的全局信息”变成潜变量
部署侧状态取过去 25 步关节位置/速度、根角速度、重力向量和历史动作;参考端取未来 5 帧的高度、根姿态与速度等目标。关键是三件事:
- 全状态编码器 q(zt∣storacle)q(z_t\\mid s_t^{oracle})q(zt∣storacle):训练时看特权全局状态,抽取潜变量;
- 部分观测先验 p(zt∣stdeploy)p(z_t\\mid s_t^{deploy})p(zt∣stdeploy):只看真机可得状态,预测部署时可用的潜变量分布;
- 解码器 D(at∣stdeploy,zt)D(a_t\\mid s_t^{deploy},z_t)D(at∣stdeploy,zt):不直接喂显式参考,以免强参考输入让模型忽略 zzz,退化成普通 DAgger。
损失为动作监督加 KL 对齐:
L=∥atdeploy−atoracle∥22+β DKL(q(zt∣storacle)∥p(zt∣stdeploy)).
\\mathcal L=\\lVert a_t^{deploy}-a_t^{oracle}\\rVert_2^2+\\beta\\,D_{KL}\\bigl(q(z_t\\mid s_t^{oracle})\\parallel p(z_t\\mid s_t^{deploy})\\bigr).
L=∥atdeploy−atoracle∥22+βDKL(q(zt∣storacle)∥p(zt∣stdeploy)).
编码器按“先验均值 + 编码器残差”构造。论文的最佳设置是潜变量维度 64、未来窗口 5 帧、KL 系数 0.1。
3. 快速适配:只补高难动作的差量
对通用策略无法稳定追踪的高动态/OOD 序列,冻结原策略,只训练 残差动作解码器。它读与先验相同的可部署状态和显式参考,输出 a~t\\tilde a_ta~t:
atfinal=at+a~t.a_t^{final}=a_t+\\tilde a_t.atfinal=at+a~t.
此处允许直接使用显式参考,因为目标是迅速拟合特定序列,而不是保持通用泛化。论文同时支持单条和批量动作适配。
对比结果(All AMASS Train Dataset)
| OmniH2O | 84.58 | 188.91 | 7.09 | 3.98 |
| Exbody2 | 86.39 | 186.77 | 6.10 | 3.63 |
| 无 CVAE 的 DAgger | 88.03 | 185.01 | 5.63 | 2.95 |
| 从头训练 | 72.22 | 104.49 | 8.79 | 6.33 |
| UniTracker | 91.82 | 82.57 | 4.22 | 1.79 |
论文在 Isaac Gym 的 8,192 个并行环境训练,随后转到 MuJoCo,并在 G1 真机验证。相较无 CVAE 的 DAgger,UniTracker 不只提升 SR,还把世界坐标下的 MPKPE 大幅降低。
消融给出的关键信息
- 显式参考不能直接喂给 actor:会盖过潜变量,zzz 失效,表现接近普通 DAgger。
- KL 残差结构重要:去掉残差后 SR 从 91.82 降至 85.39,MPKPE 从 82.57 升至 91.35。
- CVAE 提升抗噪与全局一致性:观测噪声增大时下降更慢;在未见的 crescent kick 和直线行走测试中优于无 CVAE 版本。
- 快速适配优于从头训:在 roundhouse kick 与 AMASS 测试集上,奖励和 episode length 收敛都更快。
局限与阅读边界
- 论文未在正文完整公开网络层数、训练时长、各观测归一化和 Vel-Dist/Acc-Dist 的精确实现;复现需继续查代码或补充材料。
- 适配阶段刻意过拟合特定动作,不能把其效果当作通用泛化指标。
- AMASS 筛选与重定向质量会直接影响上限;“8,100 条可跟踪”不等同于任意人体视频都能可靠执行。
要点总结
- 核心洞见:部分观测下的动作歧义不要用单点回归硬压平;让特权编码器把全局意图压到、并由部署先验复现的潜变量中。
- 工程取舍:通用策略承担覆盖面;高难样本用小型残差头做受控特化,避免重训大模型。
- 评测习惯:同时看 SR、MPKPE、Vel-Dist 与 Acc-Dist,分别对应可完成性、几何精度和一/二阶动态。
开放问题
- 论文的特权状态是否能由真机视觉/状态估计器近似,从而进一步缩小 sim-to-real 信息差?
- 面对真实接触任务,残差动作是否需要显式的安全投影或力矩/碰撞约束?
- 开源实现中,CVAE 的采样方式、KL 退火与动作分布参数如何设定?
相关
- 本地论文:2507.07356 – UniTracker.pdf
- 人形运动跟踪 · CVAE-条件变分自编码器 · 残差动作解码器
- DAgger · WBC
网硕互联帮助中心








评论前必须登录!
注册