You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Old "reach" class responsible for calculating reach sets for both discrete and continous systems is replaced with new elltool.reach.ReachContinuous and elltool.reach.ReachDiscrete classes. These new classes feature
all new solvers performing the internal consistency checks for ellipsoidal approximations to make sure that ellipsoidal tubes are calculated with the desired precision
all new visualization engine with improved visual effects and capable of displaying the touch curves and good curves l(t) for the tight approximations.
ability to recognize LTI systems (with constant A) to use a more precise algorithm of ellipsoidal approximation calculation.
built-in quadratic regularization for linear systems with uncertainty
New command-line tool gras.ellapx.uncertcalc.run for calculating the tight ellipsoidal approximations for the linear systems defined via user-friendly configuration files. The tool features the same plotting features and is based on the same solver as elltool.reach.ReachContinuous? used
Regularization for degenerate ellipsoidal constraints for control, initial state and disturbance in ReachContinuous and ReachDiscrete classes.
New command-line tool gras.ellapx.uncertmixcalc.run for calculating the non-tight approximations by algorithm developed by A.B. Kurzhansky and A.N. Daryin. In features the same user-friendly command-line interface.
New methods of ellipsoid class:
fromRepMat - creates an array of equal ellipsoids of specified size
getCenterVec - returns center of ellipsoid
getShapeMat - returns configuration matrix of ellipsoid
getBoundary - returns a triangulation approximating a boundary of ellipsoid
toPolytope - creates a polytope approximating an ellipsoid with a desired precision
The following methods of ellipsoid class has been changed
eq - checks if two arrays of ellipsoids are the same element-wise. Now this method accepts additional paramter maxTol that specifies a precision of ellipsoid comparison. Also eq returns reportStr containing a detailed information about the differences between the ellipsoid arrays if they are found
New method of ellipsoid-to-ellipsoid/ellipsoid-to-point distance calculation
Lin, A. and Han, S. On the Distance between Two Ellipsoids. SIAM Journal on Optimization, 2002, Vol. 13, No. 1 : pp. 298-308
New Ellipsoid Toolbox configuration subsystem that replaces the legacy lobal variable ellOptions. Now all the parameters can be changed in a user-friendly way via the special command line tool elltool.conf.editconf by editing the toolbox configurations as text files.
Yalmip solver for SDP problem is replaced with more reliable CVX (http://cvxr.com/cvx/) which allowed to fix a lot of bugs and solve problems in the following methods of ellipsoid class:
contains - checks if one ellipsoid contains the other. The condition for E1 = firstEllArr to contain E2 = secondEllArr is min(rho(l | E1) - rho(l | E2)) > 0, subject to <l, l> = 1.
intersect - checks if the union or intersection of ellipsoids intersects given ellipsoid, hyperplane or polytope.
isContainedInIntersection - checks if the intersection of ellipsoids contains the union or intersection of given ellipsoids or polytopes.
ellintersection_ia - computes maximum volume ellipsoid that is contained
ellunion_ea - computes minimum volume ellipsoid that contains union of given ellipsoids.
distance - computes distance between the given ellipsoid (or array of ellipsoids) to the specified object (or arrays of objects):vector, ellipsoid, hyperplane or polytope.
Implemented a new ellipsoid class capable of representing both unbounded and degenerate ellipsoids. Has a reduced functionality compared to ellipsoid class. However all the implemented methods are capable of dealing with all cases of ellipsoids being degenerate/unbounded. These methods are:
minkSumEa - external approximation of E1+E2
minkSumIa - internal approximation of E1+E2
minkDiffEa - external approximation of E1-E2
minkDiffIa - internal approximation of E1-E2
inv - create generalized ellipsoid whose matrix in pseudoinverse to the matrix of input generalized ellipsoid
rho - calculate support function for input generalized ellipsoid
plot - plots ellipsoids in 2D or 3D.
eq - compares two arrays of ellipsoids
dimension - returns dimensionality of input ellipsoid
Improved matrix S calculation algorithm introduced by A.N. Daryain and A.B. Kurzhansky in "Method of invariant sets for linear systems of high dimensionality under uncertain disturbances", "Doklady Akademii Nauk", 2012 for internal ellipsoidal approximations of E_1+E_2. This results into less calculation-expensive and more robust ellipsoidal approximations for both ellipsoidal sums and reachability domains of linear systems.
Implemented the functions for
checking for positive (non-negative) definiteness,
checking forsymmetry;
matrix square root extraction for non-negative matrices these functions are used everywhere in the toolbox (in ReachContinuous ,ReachDiscrete, ellipsoid and GenEllipsoid classes). This results into more robust calculation logic and user-friendly problem reporting.
Integration between Ellipsoidal Toolbox and Multi-Parametric Toolbox has been improoved, particularly new
contains method for ellipsoid and polytop has been significantly speed up for high-dimensional inputs
Fixed a problem in intersection_ea for ellipsoid E and polytope P. In intersection_ea each facet F(i) of polytope P with number i is transformed into a half-space defined by hyperplane H(i). Then, starting with E_0=E, E_i was build as minimum-volume external appproximation of intersection between E(i-1) and H(i). Before the fix E_i on each step was multiplied by sqrt(1+absTol) which resulted into accumulated calculated error equal to absTol (number of constraints in polytope). The fix has removed that multiplication.
Fixed a problem in hpintersection for intersecting ellipsoid E and hyperplane H. Prior the fix the method checked if distance (H,E) > 0 which lead to not-robust results. As part of the fix this check was replaced with distance(E,H)>absTol
isinside was renamed into isContainedInIntersection
new isInside method that is opposite to "contains" method
Many methods of ellipsoid class now support for multi-dimensional inputs
Incorporated log4j framework for logging which made debugging of Ellipsoidal Toolbox classes easier.
All classes of the toolbox has been re-written using the modern implemenentaiton of object oriented programming in recent Matlab versions. Now the toolbox requires Matlab 2012a or later.
All classes and functions of the toolbox has been convered with the unit tests which resulted in a lot of bug fixes. All tests are run on a daily basis on a dedicated hardware, the tests results are automatically set to the subscribers of the ET automatic test notification Google group. The link to this group has been publishes on the project web site. The unit tests has been implemented using MLUNITEXT framework
The user manual for the toolbox has migrated to reStructuredText format and made online