skip to content
tlj 的工程笔记
← 项目

用 xMimic 训人形机器人模仿动作:官方示例 + LAFAN1 自定义迁移

比赛

「2026 世界机器人运动会实训营」xMimic 选拔挑战的提交作品。在 Isaac Sim + RSL-RL PPO 上让 DexEVT 人形机器人做 motion tracking:先复现官方示例舞蹈,再用公开数据集 LAFAN1 经 xGMR 重定向做自定义迁移。最硬的料是 reward 全程冻结的根因(24-body vs 39-body 不匹配),和一条「冲炫撞墙、退回稳健」的真实工程曲线。

时间
2026-06
角色
实训营选拔挑战提交(我定方案、选路线、逐帧验收;代码与训练照例由 AI 执行)
成果
Isaac Sim + RSL-RL PPO 训 DexEVT 人形动作模仿;自定义迁移(LAFAN1→xGMR)aim 动作终止率 3% / reward 17;核心坑是 24-body vs 39-body 不匹配导致 reward 冻结、机器人秒倒

具身智能方向走,我之前的短板是只读不动手——VLA 调研写了一堆,机器人仿真和运动控制一次没真跑过。正好赶上「2026 世界机器人运动会实训营」基于开源项目 xMimic 的选拔挑战:用 motion tracking 让人形机器人模仿一段参考动作,提交演示视频 + 策略模型。于是借它把人形全身运动控制这条线真正跑通一次

先说定位:这是人形全身运动模仿(让 23 关节的 DexEVT 机器人站着把一段舞 / 战术动作跟下来),不是机械臂操作、也不是自动驾驶——和我之前那个 OpenVLA 桌面操作复现是 VLA 谱系里不同的两支。和我所有项目一样,代码和训练是 AI 跑的,我做的是方案选择、路线决策、和一帧一帧地验收——这个项目里”验收”这件事,恰恰是最该写的一课(见后文)。

链路

一条动作的完整管线:参考动作数据 →(重定向到机器人本体)→ Isaac Sim 里用 PPO 训一个跟踪策略 → 导出 onnx + 录 demo 视频。具体栈是 Isaac Sim 5.1 + Isaac Lab + RSL-RL 的 PPO,4096 个并行环境,motion tracking 范式(DeepMimic 式:用参考动作的关节角 / body 位置误差当 reward,偏离太多就终止重置)。

两条提交线:

最硬的坑:reward 全程冻结,但表面一切正常

第一次训 dance1,进程在跑、迭代在涨、ETA 正常,但 900 多轮里 Mean reward 死贴 0.02 不动Episode_Termination/ee_body_pos 常年 1.0000——每个 episode 第一步就被判终止。

自定义迁移:一条「冲炫撞墙、退回稳健」的曲线

V2 这条我先赌了个炫的:LAFAN1 里的 fight(拳击攻防),想要直拳、防守、下潜闪避那种观感。训出来抽帧看着像模像样,子 agent 一度判”通过”。但我连续播放,发现机器人会瞬间弹回起始姿势——那不是动作,是穿帮。

最后退到稳健的 aim(瞄准 / 战术移动):reward 17、终止率 0.030(约 97% 回合干净)、25 秒单回合无早停、连续播放无拼接。它不炫、动作偏僵,但干净、跟得准、站得稳。挑战打分里测量类指标(关节 / 末端误差、足底滑动、跌倒率)占 80%,自然度只占专家评审 20%——所以一个”僵但准且稳”的策略,反而比”炫但保持不住”的更不丢分。最终提交 aim,fight 留作历史。

几个工程坑

真实结果

这个项目对我的意义:第一次有了 RL 的体感

比那两段视频更值钱的,是过程里搞清楚的一串认知(很多是我边训边追问出来的):

我对这个方向的系统理解写在 VLA 是怎么让语言模型去开车的VLA 的数据困局 两篇笔记里;这个项目是把”人形运动控制”这条线第一次真正跑起来。

诚实的边界