Journal

DOC: Differentiable Optimal Control for Retargeting Motions onto Legged Robots

Ruben Grandia, Farbod Farshidian, Espen Knoop, Christian Schumacher, Marco Hutter, Moritz Bächer

Disney Research; ETH Zürich

一句话总结

提出一个可微优化控制(DOC)框架,把优化控制得到的最优轨迹对”重定向参数”求导,从而自动把动物动捕或艺术家动画重定向到比例、质量分布、自由度都截然不同的四足机器人上。

研究背景

  • 领域现状:腿式机器人已能做出高动态动作,动捕数据与艺术家动画是让它们”像角色而非机器”的宝贵素材;已有重定向方法要么基于模型、要么数据驱动,也有把 MPC 与动捕结合的尝试。
  • 核心痛点:输入源与机器人之间在肢体比例、质量分布、自由度数量上差异巨大,且艺术家动画本身不遵守物理规律。现有方法通常要求机器人与输入比例相近、或全驱动、或动画绑定与机器人自由度一致,重定向往往要人工试错。
  • 本文 idea:把”重定向”写成一个双层优化——外层优化一组与比例/自由度无关的重定向目标参数,内层求解带等式约束的最优控制问题。关键在于让内层最优轨迹对外层参数可微,从而用梯度自动找到最优重定向参数。

方法

整体框架分三步:从动捕或动画中提取若干”兴趣点”的目标运动轨迹(输入);用户在机器人部件上选取对应的参考坐标框架(定义对应关系);再用 DOC 自动调整目标轨迹的缩放系数与参考框架的位姿偏移,使机器人在满足物理约束的前提下最贴近目标动作。最后把该框架套到 MPC 上,在仿真与真机(ANYmal)上执行。

flowchart LR
  A["输入: 动捕/动画的兴趣点轨迹"] --> B["定义对应: 机器人部件上的参考框架"]
  B --> C["内层 OC: 求最优状态/控制轨迹"]
  C --> D["计算灵敏度: 轨迹对参数 p 的导数"]
  D --> E["外层 L-BFGS: 更新重定向参数 p"]
  E --> C
  E --> F["MPC 执行: 仿真与真机部署"]

关键设计:

  1. 带等式约束的连续最优控制。内层求解一个固定时域、带动力学约束 \(\dot{\boldsymbol{x}} = \boldsymbol{f}(\boldsymbol{x},\boldsymbol{u})\) 与接触等式约束 \(\boldsymbol{g}(\boldsymbol{x},\boldsymbol{u})=0\) 的问题。摩擦锥、关节与力矩限制用罚函数并入目标。通过构造哈密顿量与拉格朗日量,把最优化改写成两点边值问题,线性化后用迭代(本质是带约束的 DDP)求解。

  2. 对参数求灵敏度(核心贡献)。作者对同一两点边值问题再做一次一阶泰勒展开,但这次考虑参数扰动 \(\boldsymbol{p}+\delta\boldsymbol{p}\),推导出计算 \(\boldsymbol{x}_{\boldsymbol{p}},\boldsymbol{u}_{\boldsymbol{p}}\)(最优轨迹对参数的全导数)的另一个线性两点边值问题。由于结果与 \(\delta\boldsymbol{p}\) 无关,导数是精确的,且同样的推法可推广到高阶导数。求搜索方向与求灵敏度这两个问题结构几乎一致,可复用同一套求解器。

  3. 投影到约束流形 + Riccati 求解。等式约束带来第四个方程与额外的拉格朗日乘子。作者对约束雅可比 \(\boldsymbol{g}_{\boldsymbol{u}}^{T}\) 做 QR 分解,用零空间/值空间分解把控制变量约化,把 4×4 系统逐步降到 2×2,再用向后时间求解矩阵 Riccati 方程,把两点边值问题化为单边值问题高效求解。

  4. 参数化的重定向目标。目标不是直接控制基座位姿与关节,而是度量一组离散兴趣点在位置、朝向、线速度、角速度上的差异;缩放矩阵 \(\boldsymbol{D}=\mathrm{diag}(s_{xy},s_{xy},s_z)\) 允许对目标轨迹做非均匀缩放(水平面内保持一致以免运动被扭曲),参考框架的原点与轴向也可作为待优化参数 \(\boldsymbol{p}\)。外层用 L-BFGS 搜索方向,并加正则项约束 \(\boldsymbol{p}\) 靠近初值以保证问题良定。

实验结果

在 10 个机器人(含 7 个仿真”Max 家族”、Lizard、ANYmal 及 Strong ANYmal)上重定向 8 段狗的动捕(M1–M8)与 4 段艺术家动画(A1–A4)。以 Max 为例的重定向流水线计算耗时如下(Intel Xeon E-2178M CPU):

动作 时长 [s] 总求解时间 [s] 灵敏度耗时 [s] OC 耗时 [s] DOC 迭代
M1 4.7 129.7 44.2 85.4 10
M2 10.0 138.6 90.8 47.8 13
M6 3.5 75.7 29.8 45.9 15
M8 10.2 177.7 78.0 99.8 11

外层重定向代价随迭代稳定收敛,且收敛行为基本与机器人和动作无关;针对 M8 优化出的垂直缩放系数与各机器人的实际相对高度高度吻合。当输入超出机器人力矩上限(ANYmal 对比 Strong ANYmal)时,优化会自动加宽力矩尖峰并缩小前向速度以适配限制而不产生 artefact;对起止于台阶上的非物理输入(M6/M7),也能通过接触约束重定向到平地并保持跳跃特征。真机 ANYmal 上执行的重定向动作能贴合参考,并借在线 MPC 从外部扰动中恢复。

亮点与局限

  • 亮点:
    • 把”让最优控制轨迹对参数可微”这一核心问题,归结为与 OC 搜索方向同构的第二个两点边值问题,导数精确、代码复用度高。
    • 重定向目标对比例、质量分布、自由度差异不敏感,用户只需给出松散的兴趣点对应关系,其余由优化自动完成。
    • 方法与具体控制问题无关,理论上适用于一大类带等式约束的最优控制任务,不限于重定向。
  • 局限:
    • 假设步态/落足模式固定并从输入预提取,对超出硬件能力的快速动态输入会限制质量。
    • 含整圈旋转的动作因旋转拓扑存在局部极小,需谨慎初始化,多圈杂技动作可能需要全局探索。
    • 未处理足间自碰撞;求解虽快但达不到实时部署要求。

延伸思考

把”最优轨迹对参数可微”做成通用工具,很像可微仿真/可微物理在控制侧的对应物,思路可迁移到机器人设计优化、系统辨识乃至物理约束下的角色动画参数拟合。若能进一步把固定落足模式放开为可优化的”最优切换”,并降到实时,便可支持真机上的实时动作创作。与近年基于强化学习的四足运动相比,本文走的是模型驱动、可解释、少调参的路线,二者在”表现力 vs 泛化/鲁棒”上的取舍值得对照。