An Optimal Control Toolbox for MATLAB Based on CasADi
Many engineering problems are naturally posed as optimal control problems. It
may involve moving between two points in the fastest possible way, or to put a
satellite into orbit with minimum energy consumption. Many optimal control
problems are too difficult to be solved analytically and therefore require the use
of numerical methods. The numerical methods that are the most widespread are
the so-called direct methods. However, there is one major drawback with these.
If the problem is non-convex, the solution is not guaranteed globally optimal,
that is, the absolute best, instead it is guaranteed locally optimal, that is the best
in its vicinity. To compensate for this, the problem should be solved several times,
under different conditions, in order to investigate whether the solution is a good
candidate for the global optimum.
CasADi is a software specifically designed for dynamic optimization. It has
gained wide spread in recent years because it provides all the necessary building
blocks for dynamic optimization. This has given individual engineers and scientists
the ability to independently formulate and solve all sorts of optimal control
problems. However, this requires good theoretical knowledge of the necessary
The advantage of a toolbox, which solves general optimal control problems, is
that the underlying numerical methods have been tested and shown to function
on optimal control problems with known solutions. This means that the user
does not need exhaustive knowledge of the numerical methods involved, but can
focus on formulating and solving optimal control problems.
The main contribution of this thesis is an optimal control toolbox for MATLAB
based on CasADi. The toolbox does not require expert knowledge of the numerical
methods, but provides an alternative lower level abstraction that allows for
more complex problem formulations.
The toolbox implements two direct methods, direct multiple shooting and direct
collocation. This allows a problem formulation with many degrees of freedom.
The most important property of the toolbox is that the discretization can
be changed, without the problem formulation needing to be altered. This way
the user can easily change the conditions for his/her problem.
The thesis describes how the two implemented direct methods work, and the
design choices made. It also describes what remains to test and evaluate, and
the problems that have been used as a reference during the development process.
Senast uppdaterad: 2019-06-05