Package tulip :: Package abstract :: Module discretization :: Class AbstractPwa
[frames] | no frames]

Class AbstractPwa


Discrete abstraction of PWA dynamics, with attributes:

If any of the above is not given, then it is initialized to None.

Notes

  1. There could be some redundancy in ppp and ofts, in that they are both decorated with propositions. This might be useful to keep each of them as functional units on their own (possible to change later).
  2. The 'Pwa' in AbstractPwa includes LtiSysDyn as a special case.
Instance Methods
 
__init__(self, ppp=None, ts=None, ppp2ts=None, pwa=None, pwa_ppp=None, ppp2pwa=None, ppp2sys=None, orig_ppp=None, ppp2orig=None, disc_params=None)
x.__init__(...) initializes x; see help(type(x)) for signature
 
__str__(self)
str(x)
 
ts2ppp(self, state)
 
ppp2trans(self, region_index)
Return the transition set constraint and active subsystem,
(i, pwa.pwa_ppp[i])
ppp2pwa(self, region_index)
Return dynamics and predicate-preserving region and its index for PWA subsystem active in given region.
(i, pwa.list_subsys[i])
ppp2sys(self, region_index)
Return index and PWA subsystem active in indexed region.
(i, orig_ppp.regions[i])
ppp2orig(self, region_index)
Return index and region of original partition.
 
_debug_str_(self)
 
plot(self, show_ts=False, only_adjacent=False, color_seed=None)
Plot partition and optionally feasible transitions.
 
verify_transitions(self)

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __subclasshook__

Properties

Inherited from object: __class__

Method Details

__init__(self, ppp=None, ts=None, ppp2ts=None, pwa=None, pwa_ppp=None, ppp2pwa=None, ppp2sys=None, orig_ppp=None, ppp2orig=None, disc_params=None)
(Constructor)

 

x.__init__(...) initializes x; see help(type(x)) for signature

Overrides: object.__init__
(inherited documentation)

__str__(self)
(Informal representation operator)

 

str(x)

Overrides: object.__str__
(inherited documentation)

ppp2trans(self, region_index)

 

Return the transition set constraint and active subsystem,

for non-conservative planning.

ppp2pwa(self, region_index)

 

Return dynamics and predicate-preserving region and its index for PWA subsystem active in given region.

The returned region is the trans_set used for non-conservative planning.

Parameters:
  • region_index - index in ppp.regions.
Returns: (i, pwa.pwa_ppp[i])

ppp2sys(self, region_index)

 

Return index and PWA subsystem active in indexed region.

Semantics: j-th sub-system is active in i-th Region, where j = ppp2pwa[i]

Parameters:
  • region_index - index in ppp.regions.
Returns: (i, pwa.list_subsys[i])

ppp2orig(self, region_index)

 

Return index and region of original partition.

The original partition is w/o any dynamics, not even the PWA domains, only the polytopic predicates.

Parameters:
  • region_index - index in ppp.regions.
Returns: (i, orig_ppp.regions[i])

plot(self, show_ts=False, only_adjacent=False, color_seed=None)

 

Plot partition and optionally feasible transitions.

Parameters:
  • show_ts (bool) - plot feasible transitions on partition
  • only_adjacent - plot feasible transitions only between adjacent regions. This reduces clutter, but if horizon > 1 and not all horizon used, then some transitions could be hidden.
  • only_adjacent - bool