Ellipsoidal Toolbox (ET) is a standalone set of easy-to-use configurable MATLAB routines and classes 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.
- Version 2.1 (October 2015) A latest version compatible with Matlab 2015b 32/64bit for Windows (recommended)
- MATLAB 2015b 32/64 bit
- CVX 2.1 (tested with build 1110) as a more reliable toolbox for solving SDP problems of high dimensionality. CVX - Matlab-based convex modeling framework. CVX distribution includes two freeware solvers: SeDuMi (used by default in ET) and SDPT3.
- MPT3 (tested with ver.3.1) as a toolbox that defines polytope class used in Ellipsoids toolbox.
- Matlab Optimization Toolbox This toolbox is used by MPT (see below) for solving the quadratic programming problems.
- Matlab Curve Fitting Toolbox This toolbox is used for interpolation of system parameters and other internal needs
- Symbolic Math Toolbox This toolbox is used for a variable substitution in system parameters
- Version 1.1.3 (year 2006) A legacy version for old versions of Matlab (missing a LOT of new features)
- MATLAB 6.5 (or higher)
- YALMIP - high-level MATLAB toolbox for rapid development of optimization code.
- SeDuMi - MATLAB toolbox for solving optimization problems over symmetric cones.
ET version 1.1.3 is also distributed as part of Multi-Parametric Toolbox (MPT)
- Found ET useful for something?
- Have questions, suggestions or feature requests?
- Wish to contribute to the ET development? Please, contact Peter Gagarinov, Alex Kurzhanskiy.
If you Found a bug and wish to report it - create an issue following these instructions.You can also join ET discussion group and ET unit testing notification group.
In case you use ET in your research, we would greatly appreciate if you added a reference to this projectyour publications.
|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.|
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.