File Exchange

image thumbnail

OpenOCL - Open Optimal Control Library

version 7.02 (242 KB) by Jonas
Optimal Control toolbox for Matlab. Software for trajectory optimization and Model-predictive control (MPC).


Updated 15 Oct 2019

GitHub view license on GitHub

Optimal Control allows you to formulate control problems (control theory) as mathematical optimization problems. OpenOCL provides a modeling language that helps to implement optimal control problems. It implements direct collocations methods, and interfaces CasADi and ipopt to solve a non-linear program. Alternatively the new (work in progress) interface to acados can be used.

- Automatic differentiation through CasADi
- Multi-stage problems
- Matrix-valued variables
- Access all variables by their name (no indexing required)
- Plotting of initial guess, intermediate steps, and solution
- Dependencies (acados, CasADi) will be resolved automatically on first startup

Copyright 2019 Jonas Koenemann, Moritz Diehl, University of Freiburg
Redistribution is permitted under the 3-Clause BSD License terms. Please
ensure the above copyright notice is visible in any derived work.

The project is at the time of the release being developed at University of
Freiburg, Germany, under the supervision of Prof. Moritz Diehl.

Main developer:
Jonas Koenemann,,

Systems Control and Optimization Laboratory,
Department of Microsystems Engineering (IMTEK) and Department of Mathematics,
University of Freiburg, Georges-Koehler-Allee 102, 79110 Freiburg, Germany

OpenOCL: Copyright 2019 Jonas Koenemann, Moritz Diehl, University of Freiburg

Comments and Ratings (6)


Hi Jan, thanks a lot for the feedback! I updated the description, let me know (here or by mail) if there is anything missing that you would expect to be in the description. Best, Jonas


@Moritz and Jonas: It would be useful to explain here, what this tool does, because this is the information users need to decide, if this is a useful submission for them or not. The link to clarifies this exhaustively, if you are familiar with this topic already. But the average visitor on the FileExchange pages won't get any clue. Who needs this tool to solve which problem? Kind regards from Heidelberg!


Easy to use, nice!



release 7.02


acados interface
API updates


feature automatic differentiation


reformulation of description


introduction description




- allow use of custom CasADi installation
- resolved warning
- added description


- multi-stage problems (bouncing ball)
- GettingStarted.mlx
- Package documenation (doc ocl)
- Increased compatibility (R2014+)


Connected to github


Fixing issues with adding from Matlab Add-on manager

MATLAB Release Compatibility
Created with R2016a
Compatible with R2014b to any release
Platform Compatibility
Windows macOS Linux