Home > mpt > extras > analysis > mpt_infsetPWA.m

# mpt_infsetPWA

## PURPOSE

MPT_INFSETPWA Computes (robust) positive invariant subset for PWA systems

## SYNOPSIS

function [Pn,dynamics,invCtrl]=mpt_infsetPWA(Pn,A,f,Wnoise,Options)

## DESCRIPTION

MPT_INFSETPWA Computes (robust) positive invariant subset for PWA systems

[Pn,dynamics] = mpt_infsetPWA(ctrl)
[Pn,dynamics] = mpt_infsetPWA(ctrl,Options)
[Pn,dynamics] = mpt_infsetPWA(Pn,A,f,Wnoise,Options)
[Pn,dynamics,invCtrlStruct] = mpt_infsetPWA(ctrlStruct,Options)

---------------------------------------------------------------------------
DESCRIPTION
---------------------------------------------------------------------------
Computes the maximal (robust) positive invariant set of a PWA System
x(k+1)=A{i}x(k)+f{i}+w    for x(k) \in Pn(i), w \in Wnoise

---------------------------------------------------------------------------
INPUT
---------------------------------------------------------------------------
Pn       - Polytope array defining the area where the PWA system is defined
A        - Cell array containing dynamic matrices A_i
f        - Cell array containing dynamic matrices f_i
Wnoise   - Polytope which bounds additive uncertainty w \in Wnoise (can be empty)
ctrl     - Explicit controller (MPTCTRL object)
Options.verbose   - Level of verbosity 0,1 or 2
Options.nohull    - If set to 1, do not compute convex unions
Options.maxIter   - maximum number of iterations. Set is not invariant if
iteration is aborted prior to convergence  (default is 200)
Options.useTmap   - If set to true (default is false), transition map will be
computed to rule out certain transitions
Options.sphratio  - Gives factor which governs maximum number of separating
hyperplanes computed in transition maps. Number of
separating  hyperplnaes computed at each step is given by
length(Pn)*length(targetPn) / Options.ratio
Default value is 20.
Set this option to 0 if you don't want to impose any limit
on number of separating hyperplanes.
Options.mergefinal - If set to true (default), tries to simplify
final result by merging regions
Options.simplify_target - If set to true, tries to merge regions between
iteration steps, after Minkowski calculations,
and after detecting a non-convex union of more than
two polytopes in iterations. Default value is set to
TRUE if system is subject to noise, and to FALSE
otherwise.
Options.simplify_method - valid only if .simplify_target set; 'greedy'
(default) - uses greedy merging, other string -
uses optimal merging

NOTE: Length of Pn, A, f must be identical

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

---------------------------------------------------------------------------
OUTPUT
---------------------------------------------------------------------------
Pn        - Polytope array defining the (robust) positive invariant set
dynamics  - Integer array defining the active dynamics A_i,f_i for each
polytope Pn(i)
invCtrl   - optional; returns a controller which contains control
laws associated to the positive invariant set

---------------------------------------------------------------------------
LITERATURE
---------------------------------------------------------------------------
"Computation of Invariant Sets for Piecewise Affine Discrete Time Systems
subject to Bounded Disturbances"
S. Rakovic, P. Grieder, M. Kvasnica, D. Q. Mayne and M. Morari, 2003, submitted
check http://control.ee.ethz.ch for latest info

see also MPT_INFSET

## CROSS-REFERENCE INFORMATION

This function calls:
• isexplicit ISEXPLICIT Returns true if the controller is an explicit controller
• length LENGTH Returns number of regions over which the explicit control law is defined
• mptctrl MPTCTRL Constructor for the MPT controller object
• chebyball CHEBYBALL Computes center and radius of the largest ball inscribed in a polytope
• domain DOMAIN Computes polytope that is mapped to an another polytope using affine map
• end END Returns the last element in a given polytope array
• isfulldim ISFULLDIM Checks if a polytope is full dimensional
• length LENGTH Returns number of elements in a polytope array
• merge MERGE merges polytopes together
• polytope POLYTOPE Default constructor for the POLYTOPE object
• size SIZE Returns size of the given polytope object
• union UNION convex union computation
• mpt_transmap MPT_TRANSMAP Computes transition map
• mpt_error MPT_ERROR Function called if MPT toolbox is not initialized
• mpt_isValidCS MPT_ISVALIDCS Checks if input argument is a valid controller structure
• mpt_isnoise MPT_ISNOISE Checks if noise object is not empty
• mpt_statusbar Status bar function
This function is called by:
• mpt_computePWATset MPT_COMPUTEPWATSET Computes a stabilizing control invariant set (+ controllers) around the origin
• mpt_getCommonSOSLyapFct MPT_GETCOMMONSOSLYAPFCT Calculates Common SOS Lyapunov function for system with additive disturbance
• mpt_boolMinTime MPT_BOOLMINTIME Computes minimum time controller for systems with discrete inputs
• mpt_invariantSet MPT_INVARIANTSET Computes (robust) positive invariant subset of an explicit controller

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