MIMOtool Help Desk

MU

(Output Feedback)

The MU synthesis [10] manages the problem of robust stability in front of structured uncertainties. It's important to remember that any nominal (or current) model is obtained by theoretical or identification methods and certainly differs in behavior from the corresponding actual system; all the differences between these two plants are named system uncertainties or modeling errors and the most important objective in MU control design is to find a controller that not only stabilizes the nominal model, but which must also stabilize a family of systems which exist in a uncertainty region around the nominal model.

Using a LFT (Linear Fractional Transformation) [7] it's possible to obtain the following general structure in which any linear interconnection of inputs (v,u), outputs (e,y) and uncertainties (D) may be rearranged:

where P(s) represents the generalized plant (nominal model plus all the necessary weighting functions) and K(s) the controller; v(s) is a vector of exogenous inputs such as reference commands, disturbance and noise, e(s) is a vector of error signal to be kept small, y(s) is a vector of sensor measurements, u(s) is a vector of control signals and the uncertainty D is assumed to be structured as follow

(1)          D = { diag( D1 , D2 , ..., Dn ) | 1 ³ s max( Di ) }

The design specifications can be resumed in the following remarks:

·       At low frequencies, where a satisfying knowledge of the plant is assumed, the most important requirements are the tracking of the reference signal and a good disturbance rejection, which can be both meet by keeping the Sensitivity matrix low (performance requirement)

·        At high frequencies, the most important requirements are sensor noise rejection and robust stability in face of uncertainties due to unmodelled dynamics, non linearities and system truncation, which usually become marked as the working frequency increases; moreover the control energy has to be reduced as much as possible at these frequencies, since no reference signal must be followed. These requirements can be meet keeping the Control Sensitivity matrix or the Complementary Sensitivity matrix as low as possible (note that if M(s) is low, the control signal u(s) and hence the matrix T(s) are low too) (stability requirement)

Without examine carefully the theory of this type of control, the first design step is the building, through a LFT, of a general structure in such a way that the transfer matrix Pev(s) between the exogenous input and the error signal contains the matrices which have to be minimized in order to meet the design specifications; in particular Pev(s) can results:

and the uncertainties of the matrices are assumed respectively:

For instance, if Pev(s) is full with Si, Ti, To and So along its main diagonal, the uncertainty block D will be equal to

D = { diag( DSi , DTi , DTo , DSo ) | 1 ³ s max( Dj ) : j = Si, So, Ti, To}

where DSi and DSo are full blocks, while DTi and DTo are, in turn, structured blocks as indicated in (1).

In accordance with all the previous considerations, naming bMo bMi bTo and bTi the matrices which describe the uncertainty structure on Mo Mi To and Ti, the purpose of MU synthesis is to find the controller K(s) which minimizes the maximum mu-value over frequency on Pev(s) with respect to an uncertainty block relative to Pev(s) itself and assembled from bMo bMi bTo and bTi.

The user can assign the uncertainty structure on the interested matrices through the commands of the following window (in the example below, Pev is full with Si, Ti, To and So along its main diagonal);

each row of bTo (or bTi) represents the size of an uncertainty block in DTo (or DTi); considering, for instance, only the matrix bTo:

·        If bTo = [4,4] (default value which depends on the nominal model) then DTo is full and made up of only one block whose size is 4x4

DTo = { D1 | size(D1) = 4x4 }

·        If bTo = [2,2 ; 2,2], DTo = { diag(D1 , D2) | size(D1) = size(D2) = 2x2 }

·        If bTo = [1,1 ; 3,3], DTo = { diag(D1 , D2) | size(D1) = 1x1 , size(D2) = 3x3 }

·        If bTo = [1,1 ; 2,2 ; 1,1],

DTo = { diag(D1 , D2 , D3) | size(D1) = 1x1 , size(D2) = 2x2 , size(D2) = 1x1 }

in any case, if rj and cj denote the number of rows and columns of an uncertainty block Dj,

( S j rj , S j cj ) = ( 4 , 4 ) = default value of bTo

The button SET allows to check the previous relation between the coefficients of the relative matrix and to store them in memory (if the parameters written by the user are inconsistent or not valid the corresponding matrix is reinitialized to its default value).

The subsequent steps in MU synthesis, concerning the upper limit of the matrices contained in Pev(s) and the controller computation, are exactly the same ones which have been explained in the H-INFINITY help page; the button COMPUTE MU in the last window starts the controller computation and only if the controller has been found the two buttons "EVALUATION" and "SIMULATION" are activated.

Note: the computation time could be very long; in any case it's possible to visualize all the calculation steps on the Matlab window.