qpOASES
AdvancedOpen-source quadratic-program solver based on an online active-set method, commonly used in MPC.
qpOASES is an open-source C++ quadratic programming (QP) solver developed by Hans Joachim Ferreau and colleagues at KU Leuven in Belgium, now hosted on COIN-OR. It uses a parametric online active-set method: since two consecutive problems to be solved are usually only slightly different, it can reuse information about which constraints were active last time as a “warm start,” which makes it especially well suited to model predictive control (MPC), where a QP must be solved on every control cycle. It works best on small-to-medium, fairly dense problems, provides MATLAB and Python interfaces, and is integrated into optimization frameworks such as CasADi and acados. It shows up frequently in convex-MPC implementations for legged robots.
ExampleA quadruped robot's convex MPC needs to solve for foot contact forces over the next several steps on every cycle, which can be handed to qpOASES for a warm-started solve.
- Related
- Quadratic Programming · Model Predictive Control · Convex MPC · OSQP · acados (fast embedded optimal control solver) · CasADi
- Sources
- coin-or/qpOASES (GitHub)