Create a tube object
==========================================================================
Tube class
Usage:
------
% Three different calling mechanisms, reach-avoid problem
tt = Tube('reach-avoid', safe_set, target_set, time_horizon);
% Viability Problem
tt = Tube('viability', safe_set, time_horizon);
% Note that both of the above mechanisms will yield a tube of length
% time_horizon+1 --- T_0, T_1, ..., T_{time_horizon}.
% General tube
% Can use general Polyhedron objects, for self-containment of the
% usage example will use empty Polyhedron objects
tt = Tube(Polyhedron(), Polyhedron(), Polyhedron());
Given a tube 'orig_tube' and a polytope 'int_polytope', you can also
construct a tube that is the result of the intersection of the polytope
and sets in the tube as
tt = Tube('intersect', orig_tube, int_polytope);
==========================================================================
Tube Properties:
------------------------
dim - Dimension of the tube, i.e. dimension of the sets in the tube
Tube Methods:
---------------------
Tube/Tube - Class constructor
concat - Get concatenated tube (Cartesian product of the polytopes)
contains - Check if a given concatenates state trajectory lies in the
tube
polyArray2Tube - Convert the array of polyhedra to a Tube object
Apart from these, the following MATLAB functions have been overloaded
disp - Display the tube
length - Provide the length of the tube
end - Indexing the end of the tube
subsref - Permits use of indexing of tube
Notes:
------
* MATLAB DEPENDENCY: MPT 3.0
=========================================================================
This function is part of the Stochastic Reachability Toolbox.
License for the use of this function is given in
https://sreachtools.github.io/license/
Reference page in Doc Center
doc Tube
Create a tube object
==========================================================================
Tube class
Usage:
------
% Three different calling mechanisms, reach-avoid problem
tt = Tube('reach-avoid', safe_set, target_set, time_horizon);
% Viability Problem
tt = Tube('viability', safe_set, time_horizon);
% Note that both of the above mechanisms will yield a tube of length
% time_horizon+1 --- T_0, T_1, ..., T_{time_horizon}.
% General tube
% Can use general Polyhedron objects, for self-containment of the
% usage example will use empty Polyhedron objects
tt = Tube(Polyhedron(), Polyhedron(), Polyhedron());
Given a tube 'orig_tube' and a polytope 'int_polytope', you can also
construct a tube that is the result of the intersection of the polytope
and sets in the tube as
tt = Tube('intersect', orig_tube, int_polytope);
==========================================================================
Tube Properties:
------------------------
dim - Dimension of the tube, i.e. dimension of the sets in the tube
Tube Methods:
---------------------
Tube/Tube - Class constructor
concat - Get concatenated tube (Cartesian product of the polytopes)
contains - Check if a given concatenates state trajectory lies in the
tube
polyArray2Tube - Convert the array of polyhedra to a Tube object
Apart from these, the following MATLAB functions have been overloaded
disp - Display the tube
length - Provide the length of the tube
end - Indexing the end of the tube
subsref - Permits use of indexing of tube
Notes:
------
* MATLAB DEPENDENCY: MPT 3.0
=========================================================================
This function is part of the Stochastic Reachability Toolbox.
License for the use of this function is given in
https://sreachtools.github.io/license/
Reference page in Doc Center
doc Tube
Tube/dim
==================================================================
Dimension of the tube / sets in the tube
Check if a given concatenates state trajectory lies in the tube
======================================================================
This method is a wrapper over MPT's Polyhedron/contains
Usage: See checkViaMonteCarloSims
======================================================================
[contains_flag] = contains(obj,X);
Inputs:
-------
X - Concatenated state vector (or collection of it
arranged columnwise)
Outputs:
--------
contains_flag - Row vector of length equal to columns in X
Notes:
------
* This function is useful for Monte-Carlo simulation-based
verification
======================================================================
This function is part of the Stochastic Optimal Control Toolbox.
License for the use of this function is given in
https://sreachtools.github.io/license/
Get concatenated tube (Cartesian product of the polytopes)
======================================================================
This method computes the half-space representation of the concatenated
tube. When no arguments are provided, it returns
safe_set^{time_horizon} x target_set, a huge polyhedron in the
(obj.dim x time_horizon)-dimensional Euclidean space.
[concat_tube_A, concat_tube_b] = concat(obj);
The output matrices satisfy the relation that the a concatenated
state vector X lies in the reach-avoid tube if and only if
concat_tube_A * [initial_state;X] <= concat_tube_b
When arguments are specified, it provides the Cartesian of
specific time splice mentioned. Specifically, if the half space
representation of sets from t=3 to 5 is desired for a given
tube of length 10 (sets are defined for t=0 to 9), we
provide
[concat_tube_A, concat_tube_b] = concat(obj, [4 6]);
The +1 added is to account for MATLAB's indexing which begins
from 1. In other words, provide the starting and ending index of
interest with respect to the Tube array of polyhedrons.
Usage: See getLowerBoundStochReachAvoid.
======================================================================
[concat_tube_A, concat_tube_b] = concat(obj,varagin);
Inputs:
-------
time_limits - A 1x2 vector [a b] with the 1 <= a,b <= length(obj).
If a>b, then empty matrices are returned.
Outputs:
--------
concat_tube_A - State matrix concatenated for tube
concat_tube_b - Input matrix concatenated for tube
Notes:
------
* This function also serves as a delegatee for input handling.
======================================================================
This function is part of the Stochastic Optimal Control Toolbox.
License for the use of this function is given in
https://sreachtools.github.io/license/
Convert the array of polyhedra to a Tube object
======================================================================
Inputs:
-------
polyArray - Array of polyhedrons
Outputs:
--------
newobj - Tube object
======================================================================
This function is part of the Stochastic Optimal Control Toolbox.
License for the use of this function is given in
https://sreachtools.github.io/license/