SSQP: an open-source structure-exploiting SQP solver for optimal control

October 23, 2026

We are happy to announce the public release of SSQP, an open-source structure-exploiting Sequential Quadratic Programming (SQP) solver for nonlinear optimal control problems, developed at the Laboratory of Automation and Robotics (LAR) of the University of Patras.

SSQP targets the sparsity pattern that naturally arises in discrete-time optimal control. Instead of handing a generic nonlinear program to an off-the-shelf solver, it exploits the banded, stage-wise structure of the problem to solve the quadratic subproblems efficiently. This makes it suitable both for offline trajectory optimization and for real-time Model Predictive Control (MPC) on robotic hardware.

Beyond the solver itself, the release includes documentation, examples, benchmarks, and real-world validation.

Documentation

The documentation covers installation and a quickstart, detailed explanations of the underlying concepts and of the solver architecture, and complete C++ and Python API references.

Examples and tutorials

Step-by-step walkthroughs and working examples cover both trajectory optimization and MPC, including applications with robotic manipulators, underactuated systems, and legged robots.

Trajectory optimization on a Franka Panda arm, a Unitree G1 humanoid, and a Unitree Go2 quadruped. More in the gallery.

Benchmarks

We provide comparisons against established optimal control solvers, namely Fatrop, Ipopt, Aligator, and mim_solvers/CSQP, across a range of robotics problems. Every solver is given the same problem definition, so all of them attempt the same costs and constraints.

Solver comparison on the Panda circle problem

Solver comparison on the Panda circle problem, all solvers run to the same nominal tolerance.

Across this shared problem set SSQP is competitive with the other solvers. We deliberately phrase that carefully rather than as a claim of being faster or better than any specific one of them: the benchmarks overview explains the reasoning, and the per-problem numbers are all published so that users can judge for themselves. A second set of benchmarks compares SSQP’s own dynamics formulations against each other.

Real-world examples and validation

SSQP has been validated beyond simulation. We demonstrate SSQP-based MPC on the Unitree Go2 quadruped, including locomotion over uneven terrain, jumping, and push recovery, all running in real time on the robot.

Trotting on flat terrain, push recovery, and trotting over uneven terrain with SSQP-based MPC on the Unitree Go2. The full set of hardware experiments, including the Panda arm and the Pendubot, is in the real MPC gallery.

The solver was also at the core of our winning entries in the 4th AI Olympics with RealAIGym, where our real-time nonlinear MPC approach took first place in both the Pendubot and Acrobot tracks.

Development was led by Nick Karydakis, who implemented most of the library.

SSQP is open source and we welcome feedback, discussions, and contributions, either through GitHub issues and pull requests or by getting in touch.