# Getting started with the SMART library

### System requirements

The SMART library of the SMAC toolbox can be used on all platforms (Linux, Mac and Windows).

All routines run on Matlab 2012b or higher. They should run on older releases, but no validation has been performed.

The Control System toolbox and the Robust Control toolbox are always required. The Optimization toolbox can be required to compute an upper bound on the (skewed) robust stability margin, a lower bound on the worst-case $\mathcal{H}_\infty$ performance level, or an upper bound on the worst-case gain, modulus, phase or delay margin.

### Structure of the SMART library of the SMAC toolbox

The routines can be divided into three categories:

• The first ones are designed for non-expert users. Preliminary tests, uncertainties normalization and data conversion are performed automatically. The computational method which is the most adapted to the considered problem is then selected and the analysis is finally performed using default values of the optional tuning parameters.
• The second ones are designed for expert users. Only preliminary tests are performed automatically, whereas uncertainties normalization and possible conversion from USS, GSS or LFR object to standard Matlab variables must be performed first by the user, either manually or using the routine convert_data. Rectangular uncertainty blocks must also be made square, either manually of using the routine make_square. Finally, the most suitable analysis routine must be chosen manually and all optional tuning parameters can be freely customized.
• The third ones are subroutines, which can occasionally be called by the user.

### Description of the uncertain system

In all routines dedicated to non-expert users, the uncertain system can be described with:

• a USS object,
• a GSS object obtained using the GSS library of the SMAC toolbox,
• a LFR object obtained using the LFR toolbox version 2.0 or higher,
• a SS object representing the nominal system and a 2-columns matrix describing the uncertainties structure as in the classical routine mussv of the Robust Control toolbox.

In all other routines, it must be described by a SS object and a 2 or 3-columns matrix, whose first two columns are the same as before and whose third one can be used to specify the skew nature of the uncertainties.

The following descriptions of the uncertainties are not recognized:

• a UMAT object delta obtained for example from a USS object using the routine lftdata,
• a matrix delta obtained using the routines ublock and udiag.

### Choosing the appropriate analysis routine

The form below is intended to help the user choose the most appropriate analysis routine. But you have to log in first!

Type of analysis problem:
Robust stability margin
Skewed robust stability margin
Worst-case $\mathcal{H}_\infty$ performance level
Worst-case gain/modulus/phase/delay margin

Type of bound:
Lower bound
Upper bound
Lower and upper bounds with desired accuracy

Type of uncertainties:
Single real uncertainty
Multiple real uncertainties
Mixed real/complex or purely complex uncertainties

Type of user:
Expert user
Non-expert user