You are on page 1of 29

MIMO robustness

MIMO analysis: loop-at-a-time

+
y1 r1

+
P (s)
K2 (s)

y2
r2


K1 (s)

Plant:

1 s 2
(s + 1)
P (s) = 2 . (take = 10 in the following numerical analysis)
s + 2 (s + 1) s 2

Controller:

1 0 1 1
K1 = , K2 =
0 1 1 + 2 1

Control Systems II 11: 1


MIMO robustness

MIMO analysis: loop-at-a-time

+
y1 r1

+
P (s)
K2 (s)

y2
r2


K1 (s)

Closed-loop transfer function:


y1 1 r1
= P (s) (I + P (s)K1 (s)) K2 (s)
y2 r2

1 1 0 r1
= .
s+1 0 1 r 2

Control Systems II 11: 2


MIMO robustness

MIMO analysis: loop-at-a-time


u1 e1

+
y1 r1

+
P (s)
K2 (s)

y2
r2


K1 (s)

1
Loop transfer function: e1 = u1 .
s

Control Systems II 11: 3


MIMO robustness

MIMO analysis

More general input perturbation analysis:

Perturbations at the plant input (actuator uncertainty) u1 = (1 + 1 ) e1 .

u2 = (1 + 2 ) e2

+ +

P (s) K2 (s)

y1 r1
y2 r2
K1 (s)


1 0
= ,
0 2

Control Systems II 11: 4


MIMO robustness

MIMO analysis


1 0
= , Take 0.05 (5% uncertainty in each actuator)
0 2

Step response for y1 channel


1.4
y1 (1 = 0.05, 2 = 0.05)
1.2

0.05 0
= ,
0 0.05 1
y1 (nominal)
0.8

0.6

0.4
y2 (1 = 0.05, 2 = 0.05)
0.2

0 2 4 6 8 10
Time: seconds
Control Systems II 11: 5
MIMO robustness

MIMO analysis


0.11 0
The closed-loop system becomes unstable with = ,
0 0.11

Closed-loop characteristic polynomial:


s + (2 + 1 + 2 ) s + 1 + 1 + 2 + ( + 1)1 2 = 0.
2 2

If 2 = 0 the smallest destabilizing perturbation is 1 = 1

1
Choose instead: 1 = 0.1 and 2 = 1
2 +1

Control Systems II 11: 6


MIMO robustness

MIMO analysis
2

1.5
Stability regions:
1 UNSTABLE STABLE

0.5

2 0

-0.5
STABLE

-1 UNSTABLE

-1.5 UNSTABLE

-2
-2 -1 0 1
1

Control Systems II 11: 7


MIMO robustness

Singular value analysis 2


10

(L)

Magnitude
1
10


(G)
0
10
(L)
(G)
!1
10 !2 0 2
10 10 10
Frequency [rad/s]

(L) 1 for all . Performance(a) Spinning


poor in satellite
low gain direction. in
(6.44)
(L) 1. Very sensitive to errors in direction.

Figure 60: Typical plo


Control Systems II 11: 8
MIMO robustness
6.3.2 Motivating robustness6.3.2 example no. robustness
Motivating 2: example no. 2:
Distillation
Motivating robustness Process
example no. [3.7.2]
2: Distillation Process [3.7.2]
Distillation Process [3.7.2]
Idealized dynamic model of Idealized
a distillation column,
dynamic model of a distillation column,
ized dynamic model of a distillation ! column, " ! "
1 87.8 86.4 1 87.8 86.4
!G(s) = " G(s) = (6.49) (6.49)
1 87.8 75s +
86.4 1 108.2 109.6 75s + 1 108.2 109.6
G(s) = (6.49)
75s(time
+ 1 is108.2 109.6
in minutes). (time is in minutes).
is in minutes).
2.5 2.5 Nominal plant: Nominal plant:
2 2 Perturbed plant: Perturbed plant:
Nominal plant:
1.5 Perturbed 1.5
plant:
y1 y1
1 1
y1
0.5 0.5
y2 y2
0 0
y2
0 10 20 300 10
40 20
50 30
60 40 50 60
Time [min] Time [min]
10 20 30 40 50 60
Time [min]
Figure 62:controller
Figure 62: Response with decoupling Responsetowithfil- decoupling controller to fil-
e 62: Response
teredwith decoupling
reference tered
inputcontroller
r1 = 1/(5s reference
to+fil- input r1 = 1/(5s + 1). The perturbed
1). The perturbed
reference input
plantr1has
= 1/(5s plantashas
+ 1).uncertainty
20% gain The perturbed given20% bygain uncertainty as given by (6.52).
(6.52).
has 20% gain uncertainty as given by (6.52).
Inverse-based
Inverse-based controller or equivalently controller or equivalently steady-state
steady-state
se-based controller or equivalently
decoupler decoupler
steady-state
with a PI controller (k1 = 0.7)with a PI controller (k1 = 0.7)
upler with a PI controller (k1 = 0.7) ! " ! "
k1 1 k1 (1 + 75s) 0.3994 k 1 1 0.3149 k 1 (1 + 75s) 0.3994 0.3149
K (s) = G (s) = ! K inv (s) = " G (s) =
k1 1 inv k1 (1 + s 75s) 0.3994 0.3149
s s
0.3943 0.3200 s 0.3943 0.3200
s) = G (s) = (6.50)Control Systems II 11: 9
s s 0.3943 0.3200 (6.50)
tered reference input r1 = 1/(5s + 1). The perturbed MIMO robustness
plant has 20% gain uncertainty as given by (6.52).

Nominal performance (NP).


Inverse-based controller or equivalently steady-state
0.7
decoupler with a PI controller
GKinv = Kinv G = I (k1 = 0.7)
s ! "
k1 1 k1 (1 + 75s) 0.3994 0.3149
first orderKresponse
inv (s) = with
G (s) =
s time constants 1.43 (Fig. 0.3943 0.3200
62). (6.50)
Nominal performance (NP).
Nominal performance (NP) achieved with decoupling 6-24
0.7
controller. GKinv = Kinv G = I
s
Robust stability
first order (RS).
response with time constant 1.43 (Fig.
62). s 1
S = SI = I; T = TI = I (6.51)
s + 0.7 1.43s + 1
Nominal performance (NP) achieved with decoupling
In each channel: GM=, PM=90 .
controller.
Robust stability (RS).
Input gain uncertainty (6.48) with !1 = 0.2 and
s 1
!2 = 0.2: S = SI = I; T = TI = I (6.51)
s + 0.7 1.43s + 1
u"1 channel:
In each u"2 = 0.8u
= 1.2u1 , GM=, PM=90
2

. (6.52)
! "
" " 1 + !1 0
LI (s) Input
= Kgain
inv G uncertainty
= Kinv G (6.48) with !1 ==0.2 and
0 1 + !2
!2 = 0.2:
! "
0.7 1 + !1 0
(6.53)
s 0 u"1 =1 1.2u
+ !21 , u"2 = 0.8u2 (6.52)
Control Systems II 11: 10
Perturbed closed-loop poles are ! "
Nominal performance (NP) achieved with decoupling MIMO robustness
controller.
Robust stability (RS).
s 1
S = SI = I; T = TI = I (6.51)
s + 0.7 1.43s + 1
In each channel: GM=, PM=90 .

Input gain uncertainty (6.48) with !1 = 0.2 and


!2 = 0.2:

u"1 = 1.2u1 , u"2 = 0.8u2 (6.52)


! "
1 + !1 0
L"I (s) = Kinv G" = Kinv G =
0 1 + !2
! "
0.7 1 + !1 0
(6.53)
s 0 1 + !2
Perturbed closed-loop poles are

s1 = 0.7(1 + !1 ), s2 = 0.7(1 + !2 ) (6.54)

6-25

Closed-loop stability as long as the input gains 1 + !1


and 1 + !2 remain positive
Robust stability (RS) achieved with respect to
input gain errors for the decoupling controller.
Control Systems II 11: 11
Robust performance (RP).
Robust stability (RS) achieved with respect to MIMO robustness
input gain errors for the decoupling controller.
Robust performance (RP).
Performance with model error poor (Fig. 62)
SISO: NP+RS RP (within a factor of 2)
MIMO: NP+RS " RP
(arbitrarily large violation)
RP is not achieved by the decoupling controller.
6.3.2 Motivating robustness example no. 2:
Distillation Process [3.7.2]
6.3.3 Robustness conclusions [3.7.3]
Idealized dynamic model of a distillation column,
Multivariable plants can display a sensitivity to ! "
1 87.8 86.4
uncertainty (in this case input uncertainty)
G(s) =which is (6.49)
75s + 1 108.2 109.6
fundamentally different from what is possible in
SISO systems. (time is in minutes).

2.5 Nominal plant:


2 Perturbed plant:

1.5
y1
1
0.5
y2
0
0 10 20 6-26 30 40 50 60
Time [min]
Control Systems II 11: 12
MIMO systems
6.4 General control problem
formulation [3.8]
General control problem formulation (3.8 in S&P)

(weighted) (weighted)
exogenous inputs exogenous outputs
w " "z
" P
u v
control signals sensed outputs
K!

Figure 63: General control configuration for the case


with no model uncertainty

The overall control objective is to minimize some


norm of the transfer function from w to z, for
example, the H norm. The controller design
problem is then:

Find a controller K which based on the information


in v, generates a control signal u which counteracts
the influence of w on z, thereby minimizing the
closed-loop norm from w to z.

Control Systems II 11: 13


MIMO systems
6.4.1 Obtaining the generalized plant P
Calculating the generalized plant
[3.8.1]

The routines in MATLAB for synthesizing H and


H2 optimal controllers assume that the problem is in
the general form of Figure 63

Example: One degree-of-freedom feedback


control configuration.
d
r $+ ! $ K u$ G $ !#
+ " $y
- +
!
+#!" 6.4
ym + n
General control problem
Figure 64: One degree-of-freedom control configura- formulation [3.8]
tion
(weighted) (weighted)
exogenous inputs exogenous outputs
w " "z
" P
u v
control signals sensed outputs
K!

Control Systems II 11: 14


Example: One degree-of-freedom feedbackMIMO systems
control configuration.
Calculating the generalized plant
d
r $+ ! $ K u$ G $ !#
+ " $y
- +
!
+#!" n
ym +
Figure 64: One degree-of-freedom control configura-
tion
Equivalent representation of Figure 64 where the
error signal to be minimized is z = y r and the
input to the controller is v = r ym

!
d
P !+ ! !z
-
w r #
"
n
! G !"!+ " ! "
!+! "
!+
+ + -
u v 6-28

K $

Figure 65: General control configuration equivalent to


Figure 64

Control Systems II 11: 15


MIMO systems

Calculating the generalized plant



w1 d
w = w2 = r ; z = e = yr; v = rym = ryn
w3 n
(6.55)

z = y r = Gu + d r = Iw1 Iw2 + 0w3 + Gu


v = r ym = r Gu d n =
= Iw1 + Iw2 Iw3 Gu

and P which represents the transfer function matrix


from [ w u ]T to [ z v ]T is
% &
I I 0 G
P = (6.56)
I I I G

Note that P does not contain the controller.


Alternatively, P can be obtained from Figure 65.

Control Systems II 11: 16


MIMO systems

Calculating the generalized plant

Remark. In MATLAB we may obtain P via simulink,


or we may use the sysic program in the Robust Control
toolbox. The code in Table 2 generates the generalized
plant P in (6.56) for Figure 64.

Table 2: Matlab program to generate P


% Uses the Robust Control toolbox
systemnames = G; % G is the SISO plant.
inputvar = [d(1);r(1);n(1);u(1)]; % Consists of vectors w and u.
input to G = [u];
outputvar = [G+d-r; r-G-d-n]; % Consists of vectors z and v.
sysoutname = P;
sysic;

Control Systems II 11: 17


MIMO systems

Equivalent representation of Figure 64 where the


Calculating the generalized plant
error signal to be minimized is z = y r and the
input to the controller is v = r ym

!
d
P !+ ! !z
-
w r #
"
n
! G !"!+ " ! "
!+! "
!+
+ + -
u v
K $

Figure 65: General control configuration equivalent to


Figure 64

Control Systems II 11: 18


MIMO systems

Equivalent representation of Figure 64 where the


Calculating the generalized plant
error signal to be minimized is z = y r and the
input to the controller is v = r ym

!
d
P !+ ! !z
-
w r #
"
n
! G !"!+ " ! "
!+! "
!+
+ + -
u v
K $

Figure 65: General control configuration equivalent to


Figure 64
>> [A,B,C,D] = linmod(P_diagram);

>> P = ss(A,B,C,D);

>> P = minreal(P);

Control Systems II 11: 19


6.4.2 Including weights in P [3.8.2] MIMO systems

To get a meaningful controller synthesis problem, for


Including weights example, in terms of the H or H2 norms, we
generally have to include weights Wz and Ww in the
generalized plant P , see Figure 66.
P

w ! W w
" ! z" ! !z
w Wz
!
!
P

K "

Figure 66: General control configuration for the case


with no model uncertainty

That is, we consider the weighted or normalized


exogenous inputs w, and the weighted or normalized
controlled outputs z = Wz z". The weighting matrices
are usually frequency dependent and typically
selected such that weighted signals w and z are of
magnitude 1, that is, the norm from w to z should
be less than 1.
Control Systems II 11: 20
6-32
MIMO systems

Example: Stacked S/T /KS problem.


Consider an H problem where we want to bound (S)
(for performance), (T ) (for robustness and to avoid
sensitivity to noise) and (KS) (to penalize large
inputs). These requirements may be combined into a
stacked H problem

Wu KS
min !N (K)! , N = WT T (6.57)
K
WP S
where K is a stabilizing controller. In other words, we
have z = N w and the objective is to minimize the H
norm from w to z.

Control Systems II 11: 21


MIMO systems

" Wu "



w

" WT " z





" v" K !"
u G ! !
" "+"
! WP "
- +
#

Figure 67: Block diagram corresponding to general-


ized plant in (6.57)

z1 = Wu u
z2 = WT Gu
z3 = WP w + WP Gu
v = w Gu

T T
so the generalized plant P from [ w u ] to [ z v]

is 0 Wu I

0 WT G

P = (6.58)
WP I WP G

I G
Control Systems II 11: 22
MIMO systems

6.4.3 Partitioning the generalized plant P


[3.8.3]

We often partition P as

! "
P11 P12
P = (6.59)
P21 P22
so that

z = P11 w + P12 u (6.60)


v = P21 w + P22 u (6.61)

In Example Stacked S/T /KS problem we get


from (6.58)

# $ # $
0 Wu I
P11 = 0 , P12 = WT G (6.62)
WP I WP G

P21 = I, P22 = G (6.63)

Note that P22 has dimensions compatible with the


controller K in Figure 66
Control Systems II 11: 23
MIMO systems

6.4.3 Partitioning the generalized plant P


[3.8.3]

We often partition P as

! "
P11 P12
P = (6.59)
P21 P22
so that

z = P11 w + P12 u (6.60)


v = P21 w + P22 u (6.61)

In Example Stacked S/T /KS problem we get


from (6.58)

# $ # $
0 Wu I
P11 = 0 , P12 = WT G (6.62)
WP I WP G

P21 = I, P22 = G (6.63)

Note that P22 has dimensions compatible with the


controller K in Figure 66
Control Systems II 11: 24
6.4.4 Analysis: Closing the loop to get N MIMO systems
[3.8.4]
Calculating the closed-loop:

w ! N !z

Figure 68: General block diagram for analysis with no


uncertainty

For analysis of closed-loop performance we may


absorb K into the interconnection structure and
obtain the system N as shown in Figure 68 where

z = Nw (6.64)

where N is a function of K. To find N , first partition


the generalized plant P as given in (6.59)-(6.61),
combine this with the controller equation

u = Kv (6.65)

and eliminate u and v from equations (6.60), (6.61)


and (6.65) to yield z = N w where N is given by


N = P11 + P12 K(I P22 K)1 P21 = Fl (P, K) (6.66)
Control Systems II 11: 25
and eliminate u and v from equations (6.60), (6.61) MIMO systems
and (6.65)the
Calculating to closed-loop:
yield z = N w where N is given by


N = P11 + P12 K(I P22 K)1 P21 = Fl (P, K) (6.66)

Here Fl (P, K) denotes a lower linear fractional 6-36

transformation (LFT) of P with K as the parameter.


In words, N is obtained from Figure 63 by using K
6.4.2 Including weights in P [3.8.2]
to close a lower feedback loop around P . Since
positive
To get feedbackcontroller
a meaningful is used insynthesis
the general configuration
problem, for
1
in Figure
example, 63 the
in terms the H(IorP22
of term HK) has a negative
2 norms, we
sign. have to include weights W and W in the
generally z w
6.4.4 Analysis: Closing the loop to get N
generalized plant P , see Figure 66.
[3.8.4]
P
Example: We want to derive N for the partitioned P
w in (6.62) w" ! using the LFT-formula
! Wand (6.63) z" !
Wz in ! z We
(6.66). w ! N !z
w
get !
!
P
0 Wu I Wu KS
N = 0 + WT G K(I+GK)1 (I) = WTFigure
T 68: General block diagram for analysis with no
WP I WP G WP uncertainty
S
K "
For analysis of closed-loop performance we may
where we have made use of the identities absorb K into the interconnection structure and
1
Figure
S =66:
(I +General
GK) , control
T = GKSconfiguration
and I T =forS. the case II 11: 26
obtain the system N as shown inControl Systems
Figure 68 where
with no model uncertainty
uncertainty. Here the model is in error because
MIMO systems
of missing dynamics, usually at high frequencies,
Robustness:
6.4.8 A generala more general
control control structure
configuration
either through deliberate neglect or because of a
including model uncertainty [3.8.8] lack of understanding of the physical process.
Any model of a real system will contain this
The general control configuration in Figure 63 maysource of uncertainty.
be extended to include model uncertainty. Here the
3. Lumped uncertainty. Here the uncertainty
matrix is a block-diagonal matrix that includes all
description represents one or several sources of
possible perturbations (representing uncertainty) to
parametric and/or unmodelled dynamics
the system. It is normalized such that !! 1.
uncertainty combined into a single lumped
SISO example:
perturbation of a choseninput multiplicative
structure.
" Gp
! wI ! I
u y
! " !"!+ ! G !
w ! !z +
!
P
u v

K " Figure 33: Plant with multiplicative uncertainty


4-3

Figure 70: General control configuration for the case


with model uncertainty
Control Systems II 11: 27
MIMO systems

Robustness: a more general control structure

"
u y

!
w ! N !
z

Figure 71: General block diagram for analysis with


uncertainty included

!1 !2
Outputs
Inputs z !1
w !2
System with !3
Actuators, Sensors !4
and Controller
>
w
N z
!3 !4

(a) (b)
Control Systems II 11: 28
MIMO systems

Robustness: a more general control structure

The block diagram in Figure 70 in terms of P (for


synthesis) may be transformed into the block
diagram in Figure 71 in terms of N (for analysis) by
using K to close a lower loop around P . The same
lower LFT as found in (6.66) applies, and

N = Fl (P, K) = P11 + P12 K(I P22 K)1 P21 (6.71)

To evaluate the perturbed (uncertain) transfer


function from external inputs w to external outputs
z, we use to close the upper loop around N (see
Figure 71), resulting in an upper LFT:

z = Fu (N, )w; (6.72)



Fu (N, ) = N22 + N21 (I N11 )1 N12 (6.73)
Remark 1 Almost any control problem with uncertainty
can be represented by Figure 70. First represent each
source of uncertainty by a perturbation block, i , which
is normalized such that !i ! 1. Then pull out each
Control Systems II 11: 29
of these blocks from the system so that an input and an