OpenOCL - Open Optimal Control Library
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
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.github.io/
https://github.com/jkoendev
https://github.com/OpenOCL/OpenOCL
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired: Analytical Analysis of an OCP with System of ODEs in MATLAB
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
+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
doc
Versions that use the GitHub default branch cannot be downloaded
Version | Published | Release Notes | |
---|---|---|---|
7.07 | Webpage |
|
|
7.06 | update descriptions |
|
|
7.05 | - initialize function
|
|
|
7.02 | release 7.02 |
|
|
6.01 | acados interface
|
|
|
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
|
|
|
5.05 | - multi-stage problems (bouncing ball)
|
|
|
4.33 | Connected to github |
|
|
4.32 | Fixing issues with adding from Matlab Add-on manager |
|
|
4.29 |
|