Open Optimal Control Library

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

Quick start

Download the software, and install the package with just a click!

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 fast C++ implementations in the backend.

Get started within minutes

Just install the package and you are ready to go.

Free derivatives

Derivatives are calculated automatically using CasADi.

Easy modeling

The optimal control modeling language lets you define your problems in the most natural way.

Model Predictive Control (MPC)

Implement a real-time predictive controller for your physical system.

Trajectory optimization

Analyze the behavior and improve the performance of your system by optimizing parameters and the controller.


The following applications give you a quick overview on which kind of problems you can solve with the optimal control library, you can find example code at the given links.

Autonomous Driving

Optimization of vehicle dynamics, race track simulation, implementation of a predictive controller for autonomous driving. Have a look at the blog post about laptime optimization of a remote controlled race car , and the race car example code.

Aerospace engineering

Optimization of aircraft and spacecraft flight trajectories, control of unmanned aerial vehicles. Have a look at the OpenAWE project which is about optimization of flight trajectories for airborne wind energy.

Unstable mechanical systems

Get example code for the Van Der Pol oszillator, pendulum on a cart, pendulum simulation, ball on a plate. The toolbox can also be used for teaching!

More information

tutorials - interesting software projects - model predictive control - trajectory optimization - matlab toolbox installation


info [at]

Legal Notice