多重打靶法
Multiple Shooting进阶把长轨迹切成多段分别积分、再用衔接约束拼接起来的最优控制求解方法。
多重打靶法是求解轨迹优化和最优控制问题的一种转录方法,即把连续时间问题变成有限个变量的非线性规划。先看单重打靶:只把控制量当优化变量,从初始状态一口气积分到终点,看是否「打中」目标再调整控制;轨迹一长或系统不稳定,初值的小变化会被放大,很难收敛。多重打靶把时间切成若干段,每段起点的状态也作为优化变量,各段分别积分,再加衔接条件:上一段积分到末尾的状态必须等于下一段的起始状态。这样非线性被分散到短段里,数值上稳定得多,各段还能并行计算。1984 年 Bock 和 Plitt 把它用于最优控制。它和直接配点法是两种主流转录方式,形成的问题常用序列二次规划(SQP)求解,OCS2、acados 等 NMPC 工具都支持。
例子ANYmal 四足的感知式 NMPC(Grandia 等人,2022)用多重打靶离散未来一段时间的运动,再用 SQP 以 100 Hz 求解,实时生成跨沟壑、踩踏脚石的动作。
- 也叫
- 多重打靶、直接多重打靶法、Direct Multiple Shooting
- 相关
- 直接配点法、轨迹优化、序列二次规划、非线性模型预测控制、最优控制、acados
- 来源
- Wikipedia: Direct multiple shooting method
Perceptive Locomotion through Nonlinear Model Predictive Control (arXiv 2208.08373)