Open Optimal Control Library

Quick start

Download the software and have a look at the API Docs.



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 swingup, ball on a plate. The toolbox can also be used for teaching!


info [at]

Legal Notice