DOC: Differentiable Optimal Control for Retargeting Motions onto Legged Robots
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 执行: 仿真与真机部署"]
关键设计:
-
带等式约束的连续最优控制。内层求解一个固定时域、带动力学约束 \(\dot{\boldsymbol{x}} = \boldsymbol{f}(\boldsymbol{x},\boldsymbol{u})\) 与接触等式约束 \(\boldsymbol{g}(\boldsymbol{x},\boldsymbol{u})=0\) 的问题。摩擦锥、关节与力矩限制用罚函数并入目标。通过构造哈密顿量与拉格朗日量,把最优化改写成两点边值问题,线性化后用迭代(本质是带约束的 DDP)求解。
-
对参数求灵敏度(核心贡献)。作者对同一两点边值问题再做一次一阶泰勒展开,但这次考虑参数扰动 \(\boldsymbol{p}+\delta\boldsymbol{p}\),推导出计算 \(\boldsymbol{x}_{\boldsymbol{p}},\boldsymbol{u}_{\boldsymbol{p}}\)(最优轨迹对参数的全导数)的另一个线性两点边值问题。由于结果与 \(\delta\boldsymbol{p}\) 无关,导数是精确的,且同样的推法可推广到高阶导数。求搜索方向与求灵敏度这两个问题结构几乎一致,可复用同一套求解器。
-
投影到约束流形 + Riccati 求解。等式约束带来第四个方程与额外的拉格朗日乘子。作者对约束雅可比 \(\boldsymbol{g}_{\boldsymbol{u}}^{T}\) 做 QR 分解,用零空间/值空间分解把控制变量约化,把 4×4 系统逐步降到 2×2,再用向后时间求解矩阵 Riccati 方程,把两点边值问题化为单边值问题高效求解。
-
参数化的重定向目标。目标不是直接控制基座位姿与关节,而是度量一组离散兴趣点在位置、朝向、线速度、角速度上的差异;缩放矩阵 \(\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 泛化/鲁棒”上的取舍值得对照。