Ellipsoidal Toolbox for MATLAB
Ellipsoidal Toolbox (ET) is a standalone set of easy-to-use configurable MATLAB routines to perform operations with ellipsoids and hyperplanes of arbitrary dimensions. It computes the external and internal ellipsoidal approximations of geometric (Minkowski) sums and differences of ellipsoids, intersections of ellipsoids and intersections of ellipsoids with halfspaces and polytopes; distances between ellipsoids, between ellipsoids and hyperplanes, between ellipsoids and polytopes; and projections onto given subspaces.
Ellipsoidal methods are used to compute forward and backward reach sets of continuous- and discrete-time piecewise affine systems. Forward and backward reach sets can be also computed for piecewise linear systems with disturbances. It can be verified if computed reach sets intersect with given ellipsoids, hyperplanes, or polytopes.
The toolbox provides efficient plotting routines for ellipsoids, hyperplanes and reach sets. Required software: MATLAB 6.5 (or higher).
ET is also distributed as part of Multi-Parametric Toolbox (MPT).
Contact / Support
- Found ET useful for something?
- Found a bug and wish to report it?
- Have questions, suggestions or feature requests?
- Wish to contribute to the ET development?
Please, contact Alex Kurzhanskiy or report an issue.
In case you use ET in your research, we would greatly appreciate if you added the corresponding reference to your publications:
@techreport{Kurzhanskiy:EECS-2006-46,
Author = {Kurzhanskiy, A. A. and Varaiya, P.},
Title = {Ellipsoidal Toolbox},
Institution = {EECS Department, University of California, Berkeley},
Year = {2006},
Month = {May},
URL = {http://code.google.com/p/ellipsoids},
Number = {UCB/EECS-2006-46}
}Download and Installation
1. If you have a previous version of the toolbox installed, remove it completely.
2. Download ET or its lite version from the Downloads page.
3. Unzip the file into the directory where you want the toolbox to be.
4. Read the copyright notice.
5. In your MATLAB command window change the working directory to the one where you unzipped the distribution file and type:
>> install
6. At this point, the directory tree of ET is added to the MATLAB path list. In order to save the updated path list, in your MATLAB window menu go to File --> Set Path… and click Save.
7. To get started, read the README file carefully.
Animations
| Refinement of Ellipsoidal Approximation | It starts approximating the reach set with one external (blue) and one internal (green) ellipsoids, then the number of approximating ellipsoids is doubled – now there are two external and two internal, then it is doubled again – now there are four of each, finally, there are 32 external and 32 internal ellipsoids. |
| Switching System | The dynamics of the system changes every 5 seconds. For the first system, the external approximation is blue and internal – yellow; for the second, the external approximation is red and internal – green; for the third, the external approximation is magenta and internal – cyan. The set of initial conditions for the second system is the reach set of the first one, and the set of initial conditions for the third system – the reach set of the second one. |
| Switching System in 3D | Tthis example is similar to the previous one, only this time it is 3-dimensional system with one switch. |
| Reaching Boundary Point | This example illustrates how moving along the good curve using known control, we reach the boundary point of the reach set at given time. |
| Reaching Internal Point | By squeezing the set of controls and computing 'good curves' for the squeezed set, we can steer the system to any internal point of the reach set at given time. |
| Choosing Control Based on Reach Set Information | The control can be chosen based on the reach set computed for the next time interval. Here, the black dot chooses where to go, knowing its reach set 5 seconds ahead. The reach set is displayed in red for external, and blue – for internal approximation. |
| Reach Set Info in 3D | This example is similar to the previous one, only in 3D. |
Third Party Software Packages in ET
YALMIP - high-level MATLAB toolbox for rapid development of optimization code.
SeDuMi - MATLAB toolbox for solving optimization problems over symmetric cones.
Both packages are included in the ET distribution. So, you don’t need to download them separately.
Related Software
Ellipsoidal Calculus based on Propagation and Fusion. Propagation is an operation of obtaining an ellipsoid that satisfies an affine relation with given ellipsoid. Fusion is operation of finding an ellipsoid that tightly bounds from outside the intersection of two given ellipsoids.
Geometric Bounding Toolbox (GBT) - commercial MATLAB toolbox that deals with multidimensional convex and nonconvex polytopes and has a limited number of functions operating with ellipsoids.
Hybrid System Tools - list of free modeling and verification tools for hybrid systems.