混合方法
✅ 本章定位:理解如何在动力学方法中引入运动学数据,实现高质量且符合物理的角色动画。
运动学 vs 动力学:优缺点对比
运动学方法
优点:
- 动作质量高:来自动捕数据,真实自然
- 计算效率高:无需物理仿真,实时性好
- 易于控制:直接输出姿态,可控性强
缺点:
- 不符合物理:穿模、滑步、浮空
- 抗扰动能力差:受外力后无法恢复
- 无法与环境交互:不能适应地形变化
动力学方法
优点:
- 符合物理:无穿模、滑步
- 抗扰动能力强:受外力后可恢复平衡
- 可与环境交互:适应地形、物体交互
缺点:
- 动作质量低:像机器人、僵硬
- 计算成本高:需要物理仿真、优化/训练
- 调参困难:需要大量手工调整
为什么要结合?
核心思想:取长补短
┌─────────────────────┐ ┌─────────────────────┐
│ 运动学方法 │ │ 动力学方法 │
│ │ │ │
│ ✓ 动作质量高 │ │ ✓ 物理真实 │
│ ✓ 计算效率高 │ │ ✓ 抗扰动强 │
│ ✓ 易于控制 │ │ ✓ 可交互 │
│ │ │ │
│ ✗ 不符合物理 │ │ ✗ 动作质量低 │
│ ✗ 抗扰动差 │ │ ✗ 计算成本高 │
│ ✗ 无法交互 │ │ ✗ 调参困难 │
└─────────────────────┘ └─────────────────────┘
↓ ↓
└──────────┬────────────────┘
│
↓
┌─────────────────────┐
│ 混合方法 │
│ │
│ ✓ 动作质量高 │
│ ✓ 物理真实 │
│ ✓ 抗扰动强 │
│ │
│ ✗ 系统复杂 │
│ ✗ 训练成本高 │
└─────────────────────┘
混合方法的本质
┌─────────────────────────────────────────────────────────┐
│ 混合方法 = 动力学方法 + 运动学数据 │
│ │
│ 动力学方法提供:物理仿真、抗扰动能力 │
│ 运动学数据提供:高质量动作参考、风格先验 │
└─────────────────────────────────────────────────────────┘
与前面章节的关系:
运动学方法 ──→ 提供数据/先验 ──┐
├──→ 混合方法
动力学方法 ──→ 提供仿真/执行 ──┘
常见的结合套路
套路 1:先运动学,后动力学(串联)
运动学生成初值 → 动力学优化 → 输出
代表:DReCon(Motion Matching + 轨迹优化)
流程:
- Motion Matching 从数据库中找到最匹配的 pose 作为初值
- 轨迹优化在初值基础上做物理适配
- PD 控制执行
优点:动作质量高,物理真实 缺点:系统复杂,需要维护数据库
套路 2:运动学指导动力学生成(并行)
运动学数据 → 学习先验 ──┐
├──→ 动力学方法生成
动力学方法 ─────────────┘
代表:AMP(对抗式运动先验)
流程:
- 用动捕数据训练判别器(学习风格先验)
- RL 策略生成动作,判别器判断"像不像"
- 策略不断优化,生成既符合物理又像动捕风格的动作
优点:推理时无需参考数据,可泛化 缺点:训练成本高,需要大量采样
套路 3:运动学作为跟踪目标(强耦合)
运动学轨迹 → 目标 → 动力学跟踪
代表:DeepMimic
流程:
- 动捕轨迹作为参考目标
- RL 学习如何跟踪参考轨迹
- 跟踪策略输出关节力矩,通过仿真器执行
优点:动作质量高,抗扰动 缺点:推理时仍需参考轨迹,泛化能力有限
套路 4:端到端学习(隐式结合)
状态输入 → 神经网络 → 力矩/姿态输出
(训练时用了运动学数据)
代表:UniPhys、CAMDM(Diffusion 模型)
流程:
- 用动捕数据(状态 - 动作对)训练模型
- 模型直接输出力矩或姿态
- 端到端,无需手动设计接口
优点:系统简单,推理快 缺点:需要大量训练数据,可解释性差
与前面章节的关系
四种套路的对比
| 套路 | 代表方法 | 运动学数据形式 | 动力学方法 | 依赖程度 |
|---|---|---|---|---|
| 串联 | DReCon | 动作数据库 | 轨迹优化 | 中 |
| 并行 | AMP | 风格先验 | RL 生成 | 弱 |
| 强耦合 | DeepMimic | 完整轨迹 | RL 跟踪 | 强 |
| 端到端 | UniPhys | 状态 - 动作对 | Diffusion 策略 | 中 |
深入学习:DeepMimic | AMP | DReCon | UniPhys
与前面章节的关系
| 章节 | 与混合方法的关系 |
|---|---|
| 轨迹优化 | 混合方法可以借用轨迹优化进行物理适配 |
| 角色控制 | 混合方法可以看作"有数据引导的角色控制" |
| PD 控制 | 混合方法的输出通常通过 PD 控制执行 |
本章重点问题
-
如何设计运动学数据与动力学方法的接口?
- DeepMimic:参考轨迹作为 reward
- AMP:动捕数据训练判别器
- DReCon:数据库提供初值
-
如何平衡数据依赖与泛化能力?
- 强依赖:动作质量高,但泛化差
- 弱依赖:泛化好,但训练难
-
如何处理训练与推理的差异?
- 训练时:可以用动捕数据
- 推理时:根据方法不同,依赖程度不同