Polytope operations --- limited functionality
Project description
pytope
Package with a limited set of operations for polytopes, zonotopes, and invariant sets.
The currently implemented features include
- constructing polytopes from inequalities (halfspace representation), vertices, and upper and lower bounds,
- linear mapping (multiplying a matrix M and a polytope P: M P),
- the Minkowski sum and Pontryagin difference of polytopes,
- the intersection of polytopes, and
- simple plotting.
The figures below are generated with pytope. The first two illustrate the currently implemented operations (see demo.py); the third uses pytope to plot a robust MPC trajectory (implemented in CasADi, combining Figures 1 and 2 from Mayne et al. (2005)) (with a rough approximation of the disturbance sequence); the fourth shows an outer ε-approximation of a minimal robust positively invariant (or MRPI) set (computed with pytope), reproducing the example from Raković et al. (2005).
Most of pytope is experimental, fragile, largely untested, and buggy.
Figure: Illustration of various polytope operations.
Figure: The Minkowski sum of two polytopes.
Figure: Robust MPC trajectory from Mayne et al. (2005), combining Figures 1 and 2.
Figure: Outer ε-approximation of a minimal robust positively invariant (MRPI) set – a reproduction of the example in Raković et al. (2005).
References
- Mayne, D.Q., Seron, M.M., & Raković, S.V. (2005). Robust model predictive control of constrained linear systems with bounded disturbances. Automatica, 41(2), 219–224.
- Raković, S.V., Kerrigan, E.C., Kouramas, K.I., & Mayne, D.Q. (2005). Invariant approximations of the minimal robust positively invariant set. IEEE Transactions on Automatic Control, 50(3), 406–410.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.