Home > mpt > extras > analysis > mpt_maxCtrlSet.m

# mpt_maxCtrlSet

## PURPOSE

MPT_MAXCTRLSET Computes the maximal robust control invariant set C_inf

## SYNOPSIS

function [invSet,iterations, Piter] = mpt_maxCtrlSet(sysStruct,Options)

## DESCRIPTION

MPT_MAXCTRLSET     Computes the maximal  robust control invariant set C_inf
or the maximal robust attractive set K_inf

[invSet,iterations] = mpt_maxCtrlSet(sysStruct,Options)

---------------------------------------------------------------------------
DESCRIPTION
---------------------------------------------------------------------------
Computes the maximal control invariant set C_inf or the maximal attractive set K_inf
Assume a system x(k+1)=f(x(k),u(k),w(k)) subject to constraints x(k) \in X and u(k) \in U;
Then
C_inf = {x \in R^n | \exists u(k) \in U, s.t. x(k) \in X, \forall k >=0}

The N-step attractive set K_inf is defined as with respect to the target set Phi:
K_inf = {x \in R^n | \exists u(k) \in U, s.t. x(k) \in X, x(N) \in Phi, \forall k >=0}

Here, by default, Phi is an invariant set around the origin. By default N->Infty.
The function is able to deal with additive and polytopic uncertainty in the system
matrices.

---------------------------------------------------------------------------
INPUT
---------------------------------------------------------------------------
sysStruct        - System structure in the sysStruct format

See the MPT Manual for additional details on the structure format or
consult one of the example systems (e.g. Double_Integator) which were
provided with this package.

Options.y0bounds - add constraints on y0? (1 - yes, 0 - no)
Options.Kinf     - If set to 1, then K_inf will be computed. If set to 0,
C_inf will be computed. (default is 0)
Options.maxCtr   - Maximum number of iterations (default is 1000)
(corresponds to N-step attractive set)
Options.verbose  - Optional: level of verbosity
Options.scaling  - Scaling the set at each iteration with a parameter
0 < lambda < 1 guarantees finite time convergence to a
robust invariant subset of the maximal control invariant
set. (Default: Options.scaling = 1)
Options.Vconverge - A non-zero value will force the algorithm to break if
relative increase of volume of atractive set at the next
iteration compared to volume of the set at the previous
iteration decreases below this value. E.g.
Options.Vconverge=1 will terminate the procedure if
(Vnew-Vold)/Vold*100 < 1.
NOTE! Currently works only for LTI systems!
NOTE! Value of this option has percents as units!
NOTE! Should only be used if you are computing Kinf set!!!
Options.set_limit - If the invariant set has a chebychev redius which is
smaller than this value the iteration is aborted.
(Default is 1e-3)
Options.useprojection - if true, uses projections to obtain feasible set. if
false, feasible sets are obtained by solving a
multi-parametric program.
(Default is true)
Options
.Q, .R, .Tset  - additional problem-depended options
.probStruct    - the whole problem structure can be passed as well

Note: If Options is missing or some of the fields are not defined, the default
values from mptOptions will be used (see help mpt_init)

---------------------------------------------------------------------------
OUTPUT
---------------------------------------------------------------------------
invSet          - maximal control invariant (or attractive set)
iterations      - number of iterations that were required to compute set
Piter           - sets obtained at each iteration

---------------------------------------------------------------------------
LITERATURE
---------------------------------------------------------------------------
"Robust Low Complexity Feedback Control of Constrained Systems", P. Grieder and M. Morari;
submitted

see also MPT_ONESTEPCTRL

## CROSS-REFERENCE INFORMATION

This function calls:
• length LENGTH Returns number of regions over which the explicit control law is defined
• chebyball CHEBYBALL Computes center and radius of the largest ball inscribed in a polytope
• double DOUBLE Function used to access internal properties of the given polytope
• end END Returns the last element in a given polytope array
• eq EQ Checks if two polytopes are equal
• ge GE Checks if polytope P is a superset of polytope Q
• isfulldim ISFULLDIM Checks if a polytope is full dimensional
• isminrep ISMINREP Checks if a given polytope is in minimal representation
• le LE Checks if polytope P is a subset of polytope Q
• length LENGTH Returns number of elements in a polytope array
• nconstr NCONSTR Returns number of constraints that form an H-representation of a polytope
• polytope POLYTOPE Default constructor for the POLYTOPE object
• projection PROJECTION Projection of a polytope or a polytope array
• reduce REDUCE Reduces the polytope by removing redundant inequalities
• reduceunion REDUCEUNION Removes redundant elements from a polytope array
• regiondiffXU REGIONDIFFXU Computes region difference in lifted XU space
• size SIZE Returns size of the given polytope object
• volume VOLUME Calculates volume of a polytope
• mpt_error MPT_ERROR Function called if MPT toolbox is not initialized
• mpt_lti2pwa MPT_LTI2PWA Converts an LTI system to a PWA system
• mpt_sysStructInfo MPT_SYSSTRUCTINFO Returns information about system structure
• mpt_verifyProbStruct MPT_VERIFYPROBSTRUCT Verifies the probStruct structure
• mpt_verifySysProb MPT_VERIFYSYSPROB Verifies system and problem structures
• mpt_verifySysStruct MPT_VERIFYSYSSTRUCT Verifies the sysStruct structure
• mpt_constructMatrices MPT_CONSTRUCTMATRICES Constructs matrices for the finite time constrained optimal control problem
• mpt_iterativePWA MPT_ITERATIVEPWA Computes a time-optimal or low-complexity explicit controller for PWA systems
• mpt_mplp MPT_MPLP Explicitly solves the given linear program (LP)
• mpt_mpqp MPT_MPQP Explicitly solves the given quadratic program (QP)
This function is called by:
• mpt_oneStepCtrl MPT_ONESTEPCTRL Computes low complexity controller for LTI systems

Generated on Thu 30-Mar-2006 10:26:47 by m2html © 2003