This toolbox is intended to
gather multiple theoretical results
obtained these past 10 years in Robust Control. The aim is to have some
simple functions for manipulating uncertain systems and building LMI
optimization problems related to robust multi-objective control
problems. The goal is not a commercial product but a platform for
academic cooperative exchanges and possible demonstrations for small
size application examples.
Functionalities: This package includes uncertain
modeling facilities and associated
robust analysis methods. The considered models are
affine polytopic (including parallelotopic and interval
systems)
and LFTs (the uncertainty is modeled as a feedback on some
nominal system). In this case the uncertain operator can be
{X,Y,Z}-dissipative (this formulation includes the
norm-bounded
and positive real cases)
polytopic (including special features for parallelotopic
and
interval formulations)
or any block-diagonal structure of such operators.
The analysis tools are
Lyapunov based. They go beyond the quadratic
stability framework and include several PDLF-based (parameter-dependent
Lyapunov function) methods. Robustness is analyzed with respect to
stability (for continuous or discrete-time systems)
as well as to pole location, H infinity, H2 and
impulse-to-peak
performances.
The numerical framework is
semi-definite programming (SDP). Thanks to
the YALMIP parser all available SDP solvers can be used. Future versions are intended to
perform multi-objective control design.
A user-friendly free Matlab
package for defining optimisation problems
over Linear Matrix Constraints (LMCs). It includes both Inequalities
(LMIs)
and Equalities (LMEs). It acts as an interface for the
Self-Dual-Minimisation
package SeDuMi developed by Jos F. Sturm.
The functionalities of SeDuMi
Interface are the following:
Declare an LMC problem. Five
Matlab
functions
allow to define completely an LMC problem which can be characterised by
variables, equality constraints, inequality constraints and a linear
objective:
Initialise the LMC problem: sdmpb.
Declare the matrix variables: sdmvar.
Declare the equality constraints: sdmlme and sdmeq.
Declare the inequality constraints: sdmlmi and sdmineq.
Declare the linear objective: sdmobj.
Solve an LMC problem. A
unique
function, sdmsol,
calls the SeDuMi solver. Options allow to tune the solver parameters.
Modify an LMC problem. At
any
moment
it is
possible to append an LMC problem by adding variables, inequalities or
linear terms to the objective. Moreover, the sdmset function
allows
to freeze matrix variables to specified values.
Analyse the solution issued from
the
solver.
For all (feasible or not) problems, the solver outputs the last
computed
iterate (get). SeDuMi Interface allows to analyse this result
in a convivial display. The solution is displayed directly in matrix
format
and indicators show which inequality constraints are satisfied.
More details and the
complete package are available here.