File Exchange

image thumbnail

OpenOCL - Open Optimal Control Library

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

22 Downloads

Updated 24 May 2020

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.

Features:
- 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

Main developer:
Jonas Koenemann, https://github.com/jkoendev, info@openocl.org

Copyright 2019, 2020 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

https://openocl.org
https://github.com/jkoendev
https://github.com/OpenOCL/OpenOCL

Comments and Ratings (7)

Zhibin Deng

Dear Jonas,

Thank you for this wonderful matlab library. It runs perfectly in my MATLAB 2019b. I wonder whether this library supports non-smooth cost function, e.g. piece-wise quadratic functions.

SARDER RAFEE MUSABBIR

Jonas

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

Jan

@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 opencl.org 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!

halumni

Tobias Schoels

Easy to use, nice!

Katrin Baumgärtner

Awesome!

Updates

7.06

update descriptions

7.05

- initialize function
- fix for Matlab < 2016a

7.02

release 7.02

6.01

acados interface
API updates

5.11

feature automatic differentiation

5.10

reformulation of description

5.09

introduction description

5.08

typo

5.07

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

5.05

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

4.33

Connected to github

4.32

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

+ocl

+ocl/+acados

+ocl/+casadi

+ocl/+collocation

+ocl/+examples

+ocl/+examples/+cartpole

+ocl/+examples/+mass_spring

+ocl/+examples/+pendulum

+ocl/+model

+ocl/+simultaneous

+ocl/+tests

+ocl/+tests/+feature_tests

+ocl/+tests/+run

+ocl/+types

+ocl/+utils