This is the repository that contains the code to generate the benchmarks of the following paper. It includes trajectory optimization scripts and the MPC scipts used in our hardware experiments.
The two main solver variants used in this repository are available in our optimal control solver library mim_solvers :
- Stagewise SQP (SSQP) : solver that is designed to solve unconstrained optimal control problems quickly. The implementation of the algorithm is in
python/sqp_ocp/solvers/ssqp.py
. - Constrained Stagewise SQP (CSSQP) : solver that can handle constraints for OCPs by exploiting sparsity. The implementation of the algorithm is in
python/sqp_ocp/solvers/cssqp.py
.
- mim_solvers : C++/Python implementations of the aforementioned solvers
- crocoddyl (>= 2.0) : library of tools for optimal control
- croco_mpc_utils : helpers for easy & modular prototyping using Crocoddyl
- pinocchio : rigid-body dynamics computations
- mim_robots
- robot_descriptions
The code is maintained by Avadesh Meduri, Armand Jordana, Sébastien Kleff.
Please cite this paper as reference for the code and algorithm.
@article{jordana2025structure,
title={Structure-Exploiting Sequential Quadratic Programming for Model-Predictive Control},
author={Jordana, Armand and Kleff, S{\'e}bastien and Meduri, Avadesh and Carpentier, Justin and Mansard, Nicolas and Righetti, Ludovic},
journal={IEEE Transactions on Robotics},
year={2025},
publisher={IEEE}
}