generatorSpaceControl
Implementation of a controller synthesis algorithm based on optimal control in generator space
Contents
Syntax
[objContr,res] = generatorSpaceControl(benchmark,Param)
[objContr,res] = generatorSpaceControl(benchmark,Param,Opts)
[objContr,res] = generatorSpaceControl(benchmark,Param,Opts,Post)
Description
Offline-phase computations for the controller synthesis algorithm that is based on optimal control in generator space.
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
[{10} / positive integer]
|
.Ninter
|
number of intermediate time steps during one
time step
[{4} / positive integer]
|
.reachSteps
|
number of reachability steps in one time step
[{10} / positive integer]
|
.Q
|
state weighting matrix for the cost function of
the optimal control problem
[{eye(nx)} / positive-definite square matrix]
|
.R
|
input weighting matrix for the cost function of
the optimal control problem
[{zeros(nu)} / positive-definite square matrix]
|
.refInput
|
use the input from the reference trajectory
as input for the center instead of optimizing
[{false} / boolean]
|
.extHorizon.active
|
use extended optimization horizon for
optimal control problems
[{false} / true]
|
.extHorizon.horizon
|
length of the extended optimization
horizon in center trajectory time steps
[{'all'} / positive integer]
|
.extHorizon.decay
|
decay function for the objective
function of the optimization problem
with extended optimization horizon
[{'fall+End'} / 'uniform' / 'fall' /;
'fallLinear' / 'fallLinear+End' /;
'fallEqDiff' / 'fallEqDiff+End' /;
'rise' / 'quad' / 'riseLinear' /;
'riseEqDiff' / 'end']
|
.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*Opts.Ninter + 1])
|
-.refTraj.u inputs for the user provided reference
trajectory (dimension: [nu,Opts.N*Opts.Ninter])
.cora.alg
|
reachability algorithm that is used
[{'lin'} / 'poly']
|
.cora.tensorOrder
|
taylor order for the abstraction of
the nonlinear function [{2}/ 3]
|
.cora.taylorTerms
|
taylor order for computing e^At
[{20} / positive integer]
|
.cora.zonotopeOrder
|
upper bound for the zonotope order
[{30} / 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
[{20} / positive integer]
|
|
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: objContrGenSpace)
|
res
|
results object storing the computed reachable set and
the center trajectory
|
See Also
objContrGenSpace
References
- [1] Schuermann et al. (2017), Guaranteeing constraints of disturbed nonlinear systems using set-based optimal control in generator space
© 2018-2020 I6 Technische Universität München
Website
License