optimizationBasedControl
Implementation of a optimazation based control algorithm
Contents
Syntax
[objContr,res] = optimizationBasedControl(benchmark,Param)
[objContr,res] = optimizationBasedControl(benchmark,Param,Opts)
[objContr,res] = optimizationBasedControl(benchmark,Param,Opts,Post)
Description
Offline-phase computations for a control algorithm that is based on the optimization over reachable sets
Input Arguments
benchmark
|
name of the considered benchmark model (see;
"aroc/benchmarks/...")
|
Param
|
a structure containing the benchmark parameters
.R0
|
initial set of states (class: interval)
|
.xf
|
goal state
|
.tFinal
|
final time after which the goal state should be
reached
|
.U
|
set of admissible control inputs (class:;
interval)
|
.W
|
set of uncertain disturbances (class: interval)
|
.X
|
set of state constraints (class: mptPolytope)
|
|
Opts
|
a structure containing the algorithm settings
.N
|
number of time steps
[{5} / positive integer]
|
.reachSteps
|
number of reachability steps during one
time step (optimization)
[{10} / positive integer]
|
.reachStepsFin
|
number of reachability steps during one
time step (final reachable set computation)
[{100} / positive integer]
|
.maxIter
|
maximum number of iterations for
optimization with fmincon
[{15} / positive integer]
|
.bound
|
scaling factor between upper and lower
bound of the weigthing matrices
[{1000} / positive scalar]
|
.refTraj.Q
|
state weighting matrix for the cost function of
optimal control problem (dimension:[nx,nx])
|
.refTraj.R
|
input weighting matrix for the cost function of
optimal control problem (dimension:[nu,nu])
|
.refTraj.x
|
user provided reference trajectory
(dimension: [nx,Opts.N + 1])
|
-.refTraj.u inputs for the user provided reference
trajectory (dimension: [nu,Opts.N])
.cora.alg
|
reachability algorithm (nonlinear)
[{'lin'} / 'poly']
|
.cora.linAlg
|
reachability algorithm (linear)
[{'standard'} / 'fromStart' /;
'wrapping-free' / 'adap']
|
.cora.tensorOrder
|
taylor order for the abstraction of
the nonlinear function
[{2} / 3]
|
.cora.taylorTerms
|
taylor order for computing e^At
[{10} / positive integer]
|
.cora.zonotopeOrder
|
upper bound for the zonotope order
[{50} / positive integer]
|
.cora.errorOrder
|
upper bound for the zonotope order
before comp. the abstraction error
[{5} / positive integer]
|
.cora.intermediateOrder
|
upper bound for the zonotope order
during internal computations
[{30} / positive integer]
|
.cora.error
|
uppper-bound for Hausdorff distance
(for cora.linAlg = 'adap' only)
|
|
Post
|
function handle to the postprocessing function that is
used to compute the occupancy set
|
Output Arguments
objContr
|
resulting controller storing the data computed during
the offline phase (class: objOptBasedContr)
|
res
|
results object storing the computed reachable set and
the center trajectory
|
See Also
objOptBasedContr
References
- [1] Schuermann et al. (2017), Optimal Control of Sets of Solutions to Formally Guarantee Constraints of Disturbed Linear Systems
© 2018-2020 I6 Technische Universität München
Website
License