Conference

PARC: Physics-based Augmentation with Reinforcement Learning for Character Controllers

Michael Xu, Yi Shi, KangKang Yin, Xue Bin Peng

Simon Fraser University

一句话总结

PARC 用”运动生成器”和”物理跟踪控制器”互相喂数据的迭代自增强循环,从一个很小的地形穿越动捕数据集出发,逐步扩展出能让物理仿真角色敏捷跑酷、翻越复杂地形的运动数据与控制器。

研究背景

  • 领域现状:训练物理仿真角色的控制器,主流依赖动捕数据配合模仿学习目标来得到自然的人类动作;纯运动学生成方法(如扩散模型)能合成复杂动作,纯物理方法能程序化产生新行为。
  • 核心痛点:跑酷这类敏捷地形穿越技能(攀墙、跨跳、翻越)的高质量动捕数据极其稀缺且采集成本高昂。直接用小数据集训练生成模型,会产出物理上不合理的动作(穿模、悬浮、脚滑、不连续),而在这种”自产自消”的循环里反复训练还会导致质量逐代退化、模式崩溃。
  • 本文 idea:把物理仿真作为循环内的”纠错器”——不是直接把生成的原始动作加回数据集,而是先训练一个物理跟踪控制器在仿真中模仿这些动作、修正伪影,再把物理修正后的动作加回数据集。生成器与跟踪器交替训练、互相受益,共同扩展能力。

方法

整体框架:PARC 从一个小的”运动-地形”初始数据集 \(D_0\) 出发做迭代增强。第 \(i\) 轮里,先在上一轮数据集 \(D_{i-1}\) 上训练运动生成器 \(G_i\),用它在新地形上合成一批新动作 \(\tilde{M}_i\);再训练一个跟踪策略 \(\pi_i\) 去模仿 \(D_{i-1} \cup \tilde{M}_i\);用 \(\pi_i\) 在仿真里跟踪 \(\tilde{M}_i\) 记录下物理修正后的动作 \(M_i\),最后把它并入数据集 \(D_i \leftarrow D_{i-1} \cup M_i\)。两个模型都以上一轮的权重初始化做持续训练,复用旧经验加速学习新动作。

flowchart LR
  D[运动-地形数据集 D_i-1] --> G[训练运动生成器 G_i]
  G --> M1[合成新地形动作 M~_i]
  M1 --> T[训练跟踪控制器 π_i]
  T --> C[仿真中跟踪并记录物理修正动作 M_i]
  C --> D2[并入数据集 D_i]
  D2 -->|下一轮迭代| D

关键设计:

  1. 地形条件的运动生成器(扩散模型):基于 Transformer 编码器架构(类似 MDM),输入上下文包含角色局部坐标系下的高度图 \(h\)、水平目标方向 \(d\) 和运动序列的前两帧,直接预测去噪后的干净动作序列 \(\hat{x}_0\)。每帧特征包括根位置、根旋转、关节旋转、关节位置和接触标签(旋转用指数映射表示)。高度图用 CNN 处理后切成图像块再经 MLP 编码成 token。前两帧是可选条件,因此既能从零起步生成,也能自回归地生成长序列。训练损失在标准 DDPM 重建损失外,额外加了速度损失、关节一致性损失和地形穿透损失。

  2. 地形合规性技巧(穿透损失 + 混合去噪):小数据集训练时,生成器容易过拟合前几帧、忽略地形条件(比如直接撞墙而不是翻墙)。除穿透损失外,作者借鉴无分类器引导思路提出”混合去噪”:把”有前两帧条件”和”无前两帧条件”两种预测按系数 \(s\) 混合,\(s=0.65\) 时在时间平滑性与地形合规性之间取得较好折中。平滑性伪影可以交给物理跟踪器修,但严重穿墙这种在仿真里根本无法复现,所以更看重地形合规。

  3. 物理跟踪控制器(强化学习):遵循 DeepMimic 框架,用 PPO 训练,仿真在 Isaac Gym 中以 \(120Hz\) 运行、策略以 \(30Hz\) 查询,动作输出各关节 PD 控制器的目标朝向。奖励鼓励角色在根位置、根速度、关节旋转、关节速度、关键身体点位置以及接触标签上贴近参考动作。作者强调匹配接触标签对于角色以自然的接触方式与环境交互至关重要。

  4. 物理修正与数据回填:训练好的跟踪器在仿真里跟踪运动学动作,把成功到达末帧的片段记录为物理修正后的数据。若某参考动作早期帧太难跟踪,就从动作中不同时间点初始化角色,取最早能成功到达末帧的初始化记录下来,以提高成功产出率。

实验结果

初始数据集约 14 分 7 秒动捕,含攀爬、翻越、平地/崎岖地跑动、上下平台与楼梯等跑酷技能;先做 50 倍空间变体扩充,再用单张 A6000 跑三轮 PARC(约一个月)。主实验用一套不同于训练集的程序化地形生成 100 个测试地形,每个生成器各生成 32 条动作(共 3200 条)评测四项质量指标:FWD(末点距离)、TPL(地形穿透损失)、TCL(地形接触损失)、%HJF(高加加速度帧占比)。

迭代轮次 FWD ↓ TPL ↓ TCL ↓ %HJF ↓
1 1.908 2093 114.1 10.70
2 1.586 705.5 9.761 4.387
3 0.747 448.2 8.070 3.238
4 0.596 179.6 9.763 2.730
无物理修正 1.572 547.3 17.44 18.68

随迭代推进,各项指标显著改善;而”无物理修正”这一对照即便经过启发式筛选,%HJF 仍高达 18.68,出现如空中变向这类物理上不可能的动作,印证了物理跟踪纠错阶段的重要性。

跟踪器方面(100 条生成的测试动作),成功率从第 1 轮的 27% 提升到第 4 轮的 68%,关节跟踪误差从 0.083 米降到 0.052 米。此外,混合去噪系数 \(s\) 的消融显示:\(s\) 越小动作越平滑(%HJF 低),但地形穿透/接触损失急剧变差(\(s=0\) 时 TPL 高达 40796),因此实际取 \(s=0.65\) 做数据增强、\(s=0.5\) 生成复杂地形长序列。

亮点与局限

  • 亮点:
    • 把物理跟踪器”内化”进自产自消循环并持续训练它做纠错,而不是像以往工作那样用一个预训练固定的跟踪器当纠错函数,从而在扩展能力的同时抑制质量退化与模式崩溃。
    • 仅用一个很小的初始数据集就能自举出多样化的敏捷跑酷技能,并能自回归组合技能(如跨跳接抓边、坠落中二次抓边)穿越长地形。
    • 生成器与跟踪器持续(continual)训练、以上一轮权重初始化,复用经验加速收敛。
  • 局限:
    • 无法完全消除不自然行为的风险,缺乏识别并过滤不自然动作的更精细手段。
    • 训练用的是程序化生成地形,缺乏真实世界环境的多样性与复杂度。
    • 运动生成器速度不足以支撑实时闭环规划,难以直接用于游戏和机器人。
    • 整个三轮迭代需单卡约一个月,计算成本可观。

延伸思考

PARC 的核心是把”物理仿真”当作生成数据的一致性约束器,思路可推广到其他数据稀缺却有明确物理/几何约束的生成任务(如手物交互、多人接触)。若能把生成器换成更快的架构或蒸馏出实时策略,配合真实扫描地形,有望向游戏与足式机器人的在线规划靠拢。另一个值得追问的点是自产自消循环的收敛边界:随着迭代继续,数据分布是否会被生成器自身偏好持续拉偏,物理纠错能在多大程度上长期兜住这种漂移。