直接配点法
Direct Collocation进阶把轨迹切成节点,把动力学写成节点间的约束,转成一个大优化问题来求解。
直接配点法是轨迹优化里最常用的「转写」方法之一,由 Hargraves 和 Paris 在 1987 年提出,作用是把连续时间的最优控制问题变成有限维的非线性规划(NLP)。做法是把时间切成 N 段,每个节点上的状态 x_k 和控制 u_k 都当优化变量,节点之间用多项式连起来(常见是控制分段线性、状态用三次样条),再要求多项式在配点(如区间中点)处的导数等于动力学 ẋ = f(x, u),用这些等式约束保证轨迹符合物理。打靶法只优化控制、状态靠仿真积分得到,时域一长就对初值很敏感;配点法把状态也当变量,初值可以随手画一条,状态约束好加,问题稀疏,适合交给 IPOPT、SNOPT 等求解器。缺点是变量多,迭代中途的轨迹不一定满足动力学。多重打靶法介于两者之间。
例子小车倒立摆摆起:把整段时间切成若干节点,以每个节点的小车位置、摆角、速度和推力为变量,约束相邻节点满足动力学、终点摆杆竖直,目标是推力平方和最小,求解后得到一条摆起轨迹。Matthew Kelly 发表在 SIAM Review 的入门教程专讲这一方法,Drake 里也有现成的 DirectCollocation 类。
- 也叫
- 配点法、直接配置法、Collocation method
- 相关
- 轨迹优化、多重打靶法、序列二次规划、接触隐式轨迹优化、Drake、Ipopt
- 来源
- Underactuated Robotics (Tedrake), Ch. Trajectory Optimization
Drake: DirectCollocation Class Reference
Matthew Kelly: Trajectory Optimization tutorials