Ipopt
Interior Point OPTimizer进阶COIN-OR 开源的大规模非线性优化求解器,基于内点法,常用于轨迹优化。
Ipopt 是 COIN-OR 开源社区维护的非线性规划求解器,核心算法由 Andreas Wächter 和 Lorenz Biegler 提出,用内点法(在可行域内部沿「障碍函数」逐步逼近最优解)求解带等式和不等式约束的大规模问题。机器人里的轨迹优化、非线性模型预测控制都要反复求这类问题:变量是一段时间内的状态和控制量,约束是动力学方程、关节限位、摩擦锥等。Ipopt 通常不单独使用,而是通过 CasADi、Drake、Pyomo 等建模工具调用;它需要搭配 MUMPS 或 HSL 等线性方程求解器。
例子用 CasADi 写好四足机器人跳跃的直接配点法问题,再调用 nlpsol('solver', 'ipopt', nlp) 求出一条满足动力学和摩擦约束的起跳轨迹。
- 也叫
- IPOPT
- 相关
- 轨迹优化(Trajectory Optimization)、非线性模型预测控制(Nonlinear Model Predictive Control)、CasADi、直接配点法(Direct Collocation)、序列二次规划(Sequential Quadratic Programming)、acados
- 来源
- coin-or/Ipopt (GitHub)
Ipopt 官方文档