MIMOtool Help Desk

EMFC

(Pseudo State Feedback)

The Explicit Model Following Control belongs to the group of control laws that solves the general tracking problem using the LQR (Linear Quadratic Regulator) approach. The purpose of EMFC (and also of IMFC) is to find a closed loop control law that lets the plant (the current system) track the dynamics of a reference model.

The EMFC technique computes the optimal state feedback control law that minimizes the cost function

J = integral{ (Y - Ym)T Q (Y - Ym) + UT R U }dt

with

Plant

Model

X' = A X + B U

Y = C X

X'm = Am Xm + Bm Um

Ym = Cm Xm

 

The vector Ym = Cm Xm represents the reference command for the plant outputs. The cost function weighs, by means of the matrix Q, the error between the output vectors of the two systems. It's important to remember that the model is really present inside the control loop so the vector Xm is actually available.

For this reason, the augmented system has state x = [ X ; Xm ] and output e = [ Y - Ym ], so the cost function J can be transformed in

J = integral{ xT[ C , -Cm ]T Q [ C , -Cm ] x + UT R U }dt

In order that Y ® Ym = Cm Xm, the size of Ym (reference command for Y) must be equal to the size of Y, but there is no restriction on the size of Xm, differently to what occurs in IMFC where size(Xm) = size(Ym) = size(Y); then, as in IMFC, the transfer matrix of the model has to be diagonal and made up of as many SISO systems as the number of plant outputs but, in this case, there is no limit to the order of each system (or model channel). However, since a second order system can sufficiently approximate the response of any other system and since merely a stable reference command for Y is needed, we can restrict our attention to the systems of the first and second order.

In the first window, the user can shape the step response of the model channels selecting their order and writing, in the relative edit fields, the values of the static gain (sg), overshoot and settling time (Ta). The parameters are the same for all the channels and the model transfer matrix M becomes:

M = diag{ Gc1 , Gc2 , Gc3 , ... , Gcno }

where Gc1 = Gc2 = Gc3 = ... = Gcno are the transfer functions of each (SISO) channel and no is the number of the plant outputs.

The following figures display some step responses of a single channel with different values of the parameters:

 

If all the parameters are valid, the NEXT button opens the subsequent window in which it's possible to visualize and modify the matrices Q and R (symmetric and respectively positive semi definite and positive definite).

If a matrix has size less or equal to 10x10, the relative button allows to visualize all its coefficients, and the user is able to modify any of them; instead if a matrix can't be displayed on the window, it's possible to fix only the value T such that mat_name = T*eye(size(mat_name)). The changes introduced become effective only through the function associated with the SAVE MATRIX button that, if the matrix is correct, save it modifying the string of the relative button in [mat_name].

When both the matrices have been saved, the button COMPUTE EMFC appears so the user can start the controller computation pressing it. The activation of the two buttons EVALUATION and SIMULATION notifies that the state feedback gain matrix Ksf has been correctly computed and remapped in the output feedback controller Kof.