polynomialControl
Implementation of polynomial controller synthesis
Contents
Syntax
[objContr,res] = polynomialControl(benchmark,Param,Opts)
[objContr,res] = polynomialControl(benchmark,Param,Opts,Post)
Description
Offline-phase computations for the polynomial controller synthesis algorithm.
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)
|
|
.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]
|
|
.Ninter
|
number of intermediate timesteps between
two center trajectory timesteps
[{4} / positive integer]
|
|
.ctrlOrder
|
polynomial order for the controller
[{2} / 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)
[{20} / positive integer]
|
|
.Q
|
state weighting matrix for the cost
function of the optimization problem
|
|
.splits
|
number of recursive splits used to refine
the bounds for the control parameters
[{0} / positive integer]
|
|
.refInput
|
use the input from the reference trajectory
as input for the center instead of
optimizing
[{true} / boolean]
|
|
.refUpdate
|
update the reference trajectory after each
time step
[{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
the optimal control problem
|
|
.refTraj.R
|
input weighting matrix for the cost function of
the optimal control problem
|
|
.refTraj.x
|
user provided reference trajectory
(dimension: [nx,N*Ninter + 1])
|
-.refTraj.u inputs for the user provided reference
trajectory (dimension: [nu,N*Ninter])
|
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: objPolyContr)
|
|
res
|
results object storing the computed reachable set and
the center trajectory
|
See Also
objPolyContr
References
- [1] Gassman et al. (2021), Verified Polynomial Controller Synthesis for Disturbed Nonlinear Systems
© 2018-2023 I6 Technische Universität München
Website
License