convexInterpolationControl

Implementation of the convex interpolation control algorithm in [1]

Contents

Syntax

objContr = convexInterpolationControl(benchmark,Param)
objContr = convexInterpolationControl(benchmark,Param,Opts)
objContr = convexInterpolationControl(benchmark,Param,Opts,Post)

Description

Offline-phase computations for the Convex Interpolation Control Algorithm.

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)

.X

set of state constraints (class: mptPolytope)

Opts

a structure containing the algorithm settings

.controller

use exact convex interpolation control law or a linear or quadratic approximation [{'linear'} / 'quadratic' / 'exact']

.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 [{20} / 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]

.parallel

use parallel computing [{false} / true]

.approx.method

method used to determine the approximated control law [{'scaled'} / 'optimized' / 'center']

.approx.lambda

tradeoff betwen vertex inputs and difference from the exact control law [{0.5} / value between 0 and 1]

.polyZono.N

number of reference trajectory time steps after which the polynomial zontope is over-approximated with a parallelotope [{Opts.N/2} / positive integer]

.polyZono.orderDep

maximum zonotope order for the dependent part of the polynomial zonotope (for function restructure) [{10} / positive integer]

.polyZono.order

maximum zonotope order for the overall polynomial zonotope (for; function restructure) [{20} / positive integer]

.extHorizon.active

use extended optimization horizon for optimal control problems [{false} / true]

.extHorizon.horizon

length of the extended optimization horizon in reference 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 + 1])

-.refTraj.u inputs for the user provided reference trajectory (dimension: [nu,Opts.N])

.cora.alg

reachability algorithm that is used ('lin' or 'poly')

.cora.tensorOrder

taylor order for the abstraction of the nonlinear function (2 or 3)

.cora.taylorTerms

taylor order for computing e^At [{20} / positive integer]

.cora.zonotopeOrder

upper bound for the zonotope order [{100} / 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 [{50} / 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: objConvInterContr)

res

results object storing the computed reachable set and the reference trajectory

See Also

objConvInterContr

References


© 2018-2020 I6 Technische Universität München Website License

logoAroc logoCora logoChair logoTum