具身智能新手名词表English

微分动态规划

Differential Dynamic ProgrammingDDP进阶

沿当前轨迹做二阶近似、反复前后扫描,逐步改进控制序列的轨迹优化方法。

DDP 是求解非线性最优控制的迭代算法,由 David Mayne 在 1966 年提出,后经 Jacobson 与 Mayne 的同名专著系统化。给定一条初始控制序列,它反复做两步:反向扫描时,在当前轨迹附近把动力学和代价做二阶展开,从终点往回算出每一步的修正量 k = −Q_uu⁻¹Q_u 和反馈增益 K = −Q_uu⁻¹Q_ux,其中 Q 是「这一步选控制 u、之后都按最优走」的总代价,下标表示对 u 或状态 x 求导;正向扫描时按 u = ū + αk + K(x − x̄) 重新仿真出新轨迹(ū、x̄ 是旧轨迹,α 是线搜索步长)。它在最优解附近二次收敛,还顺带给出反馈增益,适合做 MPC。把动力学的二阶导项丢掉,就是更常用的 iLQR。它属于打靶类方法,状态靠仿真得到,处理状态约束不如配点法方便。

例子开源库 Crocoddyl 以 DDP 及其变体 FDDP 为核心求解器,借助 Pinocchio 的解析导数,为足式机器人等计算带接触序列的最优轨迹和对应的反馈增益。

也叫
DDP 算法
相关
迭代线性二次调节器、线性二次调节器、轨迹优化、模型预测控制、最优控制、Crocoddyl
来源
Wikipedia: Differential dynamic programming
loco-3d/crocoddyl(solvers based on DDP algorithms)

在完整名词表里查看 →