Open Optimal Control Library

Get Started - Documentation - Blog - Support - Publications - Contributing

Note: This project has been archived and is not actively maintained anymore

Quick start

Clone the repository or download the latest release of the toolbox.

Also have a look at the API Docs. Get support if you run into any problems. Consider contributing if you would like to help with the project! Please cite us if you use OpenOCL in your scientific work.



Uses C++ implementations of CasADi, Ipopt, and acados in the backend.

Get started within minutes

Download the toolbox and run some of the examples.

Automatic differentiation

Derivatives are calculated automatically using CasADi.

Optimal control modeling

Have a look at the docs to see which type problems are supported. Let us know if you have an optimal control problem that is currently not supported.

Trajectory optimization

For trajectory optimization we use the direct collocation method and solve the non-linear program using CasADi and Ipopt.

Model Predictive Control (MPC)

OpenOCL has a basic interface to acados which provides some fast SQP methods. The acados interface is ongoing work, let us know if you are missing a feature.

Legal Notice