combinedControl
Implementation of the combined controller
Contents
Syntax
[objContr,res] = combinedControl(benchmark,Param,Opts)
Description
Offline-phase computations for the controller that combines initial state dependent feed-forward part with a feedback controller.
Input Arguments
|
benchmark
|
name of the considered benchmark model (see;
"aroc/benchmarks/dynamics/...")
|
|
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)
|
|
.V
|
set of measurement errors (class: interval or;
zonotope)
|
|
.X
|
set of state constraints (class: mptPolytope)
|
|
|
Opts
|
a structure containing the algorithm settings
|
.N
|
number of time steps
[{10} / positive integer]
|
|
.feedForward
|
type of feed-forward controller used
[{'genSpace'} / 'poly']
|
|
.reachSteps
|
number of reachability steps in one time
step
[{10} / positive integer]
|
|
.reachStepsFin
|
number of reachability steps during one
time step (final reachable set computation)
[{50} / positive integer]
|
|
.scale
|
scaling factor for the tightend input
constraints [{0.9} / scalar between 0 and 1]
|
|
.Q
|
state weighting matrix for the cost
function of the optimal control problem
[{eye(nx)} / pos.-definite square matrix]
|
|
.R
|
input weighting matrix for the cost
function of the optimal control problem
[{zeros(nu)} / pos.-definite square matrix]
|
|
.Qff
|
state weighting matrix for feed-forward
control
[{eye(nx)} / pos.-definite square matrix]
|
|
.Rff
|
input weighting matrix for feed-forward
control
[{zeros(nu)} / pos.-definite square matrix]
|
|
.finStateCon
|
use constraint that the final reachable set
is inside the shifted initial set
[{false} / boolean]
|
|
.maxIter
|
maximum number of iterations for
optimization with fmincon
[{5} / 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 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]
|
|
Output Arguments
|
objContr
|
resulting controller storing the data computed during
the offline phase (class: objCombinedContr)
|
|
res
|
results object storing the computed reachable set and
the center trajectory
|
See Also
objCombinedContr
References
- [1] Schuermann et al. (2020)*, Optimizing Sets of Solutions for Controlling Constrained Nonlinear Systems
- [2] Gassmann et al. (2021)*, Verified Polynomial Controller Synthesis for Disturbed, Nonlinear Systems
© 2018-2023 I6 Technische Universität München
Website
License