introduction to multivariable controlmocha-java.uccs.edu/ece5580/ece5580_ch6_18apr16.pdf ·...

40
ECE5580: Multivariable Control in the Frequency Domain 6–1 Introduction to Multivariable Control In this chapter, we introduce the idea of multi-input multi-output (MIMO) systems Specifically, we’ll develop the following ideas: transfer function matrices, multivariable frequency response analysis, singular value decomposition (SVD), the relative gain array (RGA), multivariable control and multivariable zeros Introduction Consider a MIMO plant having m inputs and l outputs Basic transfer function model is: y .s/ D G.s/u.s/ where we have used bold-face symbols to make the vector-matrix structure more apparant In general form, we can write 2 6 6 6 6 4 y 1 .s/ y 2 .s/ : : : y l .s/ 3 7 7 7 7 5 D 2 6 6 6 6 4 g 11 .s/ g 12 .s/ g 1m .s/ g 21 .s/ g 22 .s/ g 2m .s/ : : : : : : : : : : : : g l1 .s/ g l2 .s/ g lm .s/ 3 7 7 7 7 5 2 6 6 6 6 4 u 1 .s/ u 2 .s/ : : : u m .s/ 3 7 7 7 7 5 where it is easy to see that each of the elements of G.s/ is itself a SISO transfer function g ij .s/ relating input u j .s/ to output y i .s/ Lecture notes prepared by M. Scott Trimboli. Copyright c 2016, M. Scott Trimboli

Upload: others

Post on 11-Mar-2020

16 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580: Multivariable Control in the Frequency Domain 6–1

Introduction to Multivariable Control

! In this chapter, we introduce the idea of multi-input multi-output(MIMO) systems

! Specifically, we’ll develop the following ideas: transfer functionmatrices, multivariable frequency response analysis, singular valuedecomposition (SVD), the relative gain array (RGA), multivariablecontrol and multivariable zeros

Introduction

! Consider a MIMO plant having m inputs and l outputs

! Basic transfer function model is:y.s/ D G.s/u.s/

where we have used bold-face symbols to make the vector-matrixstructure more apparant

! In general form, we can write266664

y1.s/

y2.s/:::

yl.s/

377775

D

266664

g11.s/ g12.s/ " " " g1m.s/

g21.s/ g22.s/ " " " g2m.s/::: ::: : : : :::

gl1.s/ gl2.s/ " " " glm.s/

377775

266664

u1.s/

u2.s/:::

um.s/

377775

where it is easy to see that each of the elements of G.s/ is itself aSISO transfer function gij .s/ relating input uj .s/ to output yi.s/

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 2: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–2

! A change in the first input u1 will generally affect all outputs,y1; y2; : : : ; yl – this means there is interaction between inputs and

outputs

! The main difference between SISO and MIMO systems is theexistence of directions in MIMO systems – these will be explored ingreater detail in this chapter

Transfer function matrices for MIMO systems

! Transfer functions for MIMO systems are matrices as describedabove, and as such must follow the rules of linear algebra

! Consider the following block diagrams:

zG1u G2

G

Cascade system

yu

Positive feedback system

G2

G1+

+v

z

! CASCADE RULE

For the cascade (series) interconnection of G1 and G2 , the overalltransfer function matrix is G D G2G1.

– Note that the order of the transfer function matrices is reversedfrom how they appear

! FEEDBACK RULE

With reference to the positive feedback system, we havev D .I $ L/$1u where L D G2G1 is the transfer function around theloop.

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 3: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–3

! PUSH-THROUGH RULE

For matrices of appropriate dimension,G1 .I $ G2G1/

$1 D .I $ G1G2/$1 G1

! From these rules, we may state the following MIMO RULE:

Start from the output and write down the blocks as you meet themwhen moving backwards (against signal flow) towards the input. Ifyou exit from a feedback loop then inlude a term .I $ L/$1 for positivefeedback (or .I C L/$1for negative feedback) where L is the looptransfer function. Parallel branches should be treated independentlyand their contributions added together.

Example 6.1

! Find the transfer function from w to z in the block diagram below.

zw

P12

+

+

P22

P21

P11

K

+

+

SOLUTION

! Start at the output z and move backward towards w.

– One branch beyond the summing junction goes to P11 directly

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 4: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–4

– At the other branch, continue backward to encounter P12 and thenK

! Exit the feedback loop and get term .I $ L/$1(positive feedback) withL D P22K

! Finally, encounter term P21

! The complete transfer function is given by:

z D!P11 C P12K .I $ P22K/$1 P21

"w

Negative feedback control systems

! Consider the negative feedback system shown below.

G+ +

K+++

!

d1d2

ru

y

! We define L to be the loop transfer function when breaking the loopat the plant output,

L D GK

! Accordingly, the sensitivity and complementary sensitivity are definedas

S , .I C L/$1

T , I $ S D L .I C L/$1

– To make it clear we’re defining these transfer function at the plantoutput, we further define

LO D L SO D S TO D T

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 5: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–5

! We next define LI to be the loop transfer function at the input to theplant,

LI D KG

! We then defineSI , .I C LI /$1

TI , I $ SI D LI .I C LI /$1

! Some useful relationships follow:.I C L/$1 C .I C L/$1 L D S C T D I

G .I C KG/$1 D .I C GK/$1 G

GK .I C GK/$1 D G .I C KG/$1 K D .I C GK/$1 GK

L .I C L/$1 D!I C L$1

"$1 D .I C L/$1 L D T

– A simple rule to remember: “G comes first and then G and K

alternate in sequence”.

Multivariable frequency response analysis

! G.s/ is a transfer function matrix which is a function of the complexvariable s

– For s D s0, G.s0/ becomes a constant complex-valued matrix

! G.j!/ is a complex matrix function representing the response tosinusoidal signals of frequency !

Obtaining the frequency response from G .s/

! Consider the system G.s/ with input vector d.s/ and output vectory.s/:

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 6: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–6

G(s)d y

– Input-output dynamics are given byy.s/ D G.s/d.s/

! A sinusoidal input to channel j is given bydj .t/ D dj 0 sin

!!t C ˛j

"

! The output in channel i is a sinusoid with the same frequencyyi.t/ D yi0 sin .!t C ˇi/

– Amplification gain is given by:yi0

dj 0D

ˇ̌gij .j!/

ˇ̌

– Phase shift is given by:ˇi $ ˛j D †gij .j!/

! We can represent the result in phasor notation as:yi .!/ D gij .j!/ dj .!/

where dj .!/ D dj 0ej˛j and yi .!/ D yi0e

jˇi .

– In matrix form, we havey .!/ D G .j!/ d .!/

Example 6.2

! Consider a 2 % 2 multivariable system where we simultaneously applysinusoidal signals of the same frequency ! to the two input channels:

d.t/ D"

d1.t/

d2.t/

#D

"d10 sin .!t C ˛1/

d20 sin .!t C ˛2/

#

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 7: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–7

! The output signal,

y.t/ D"

y1.t/

y2.t/

#D

"y10 sin .!t C ˇ1/

y20 sin .!t C ˇ2/

#

can be computed by multiplying the complex matrix G .j!/ by thecomplex vector d .!/:

y .!/ D G .j!/ d .!/

where

y .!/ D"

y10ejˇ1

y20ejˇ2

#and d .!/ D

"d10e

j˛1

d20ej˛2

#

Directions in multivariable systems

! For a SISO system, y D Gd , the gain is given byjy .!/jjd .!/j D jG .j!/ d .!/j

jd .!/j D jG .j!/j

– The gain depends on !, but is otherwise independent of themagnitude jd .!/j

! For MIMO systems, things are very different, because input andoutput are vectors

– So we need to use a measure appropriate for vectors – norm!

! Using the vector 2-norm, we have

kd .!/k2 DsX

j

ˇ̌dj .!/

ˇ̌2 Dq

d 210 C d 2

20 C " " "

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 8: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–8

ky .!/k2 DsX

i

jyi .!/j2 Dq

y210 C y2

20 C " " "

! The gain of the system transfer function matrix G.s/ isky .!/k2

kd .!/k2

D kG.j!/d.!/k2

kd.!/k2

! In the MIMO case, the gain depends on frequency !, but isindependent of the norm kd .!/k2

– However, the gain depends on the direction of the input vector d

! The MIMO gain given above is recognized as the induced 2-norm –its maximum is computed as the maximum singular value of G:

maxd¤0

kGdk2

kdk2

D maxkdk2D1

kGdk2 D N! .G/

– Conversely, the minimum gain is the minimum singular value of G:

mind¤0

kGdk2

kdk2

D minkdk2D1

kGdk2 D ! .G/

Example 6.3

! Consider the five different inputs shown below (kdk2 D 1):

d1 D"

1

0

#; d2 D

"0

1

#; d3 D

"0:7071

0:7071

#

d4 D"

0:7071

$0:7071

#; d5 D

"0:6

$0:8

#

! For the 2 % 2 system

G1 D"

5 4

3 2

#

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 9: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–9

! The five inputs dj lead to the following corresponding output vectors:

y1 D"

5

3

#; y2 D

"4

2

#; y3 D

"6:36

3:54

#

y4 D"

0:7071

0:7071

#; y5 D

"$0:2

0:2

#

! The corresponding 2-norms are:

ky1k2 D 5:83

ky2k2 D 4:47

ky3k2 D 7:30

ky4k2 D 1:00

ky5k2 D 0:28

! The figure below shows a functional plot of the matrix gain as afunction of a parameterized input direction

– It is easy to see that maximum and minimum gains are achieved atdistinct input vector directions

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 10: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–10

! = 7.34

! = 0.27

! Another way to visualize the singular value decomposition ispresented below where the domain and corresponding image of theinput and output map are shown.

Eigenvalues are a poor measure of gain

! Consider the system y D Gd with

G D"

0 100

0 0

#

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 11: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–11

– Note that both eigenvalues are equal to zero, but the gain is equalto 100

! PROBLEM: Eigenvalues measure the gain for the special case whenthe inputs and the outputs are in the same direction (that of theeigenvectors)

! For generalizations of jGj when G is a matrix, we need the concept ofa matrix norm, denoted kGk

! Two important properties of norms:

– Triangle inequalitykG1 C G2k & kG1k C kG2k

– Multiplicative propertykG1G2k & kG1k " kG2k

! Note that the spectral radius" .G/ , j#max .G/j

does not satisfy the properties of a matrix norm

Singular value decomposition

! Any matrix G may be decomposed into its singular valuedecomposition,

G D U˙V '

– ˙ is an l % m matrix with k D min fl; mg non-negative singularvalues !i arranged in descending order along its main diagonal,where

!i .G/ Dp

#i .G'G/

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 12: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–12

– U is an l % l unitary matrix of output singular vectors, ui

– V is an m % m unitary matrix of input singular vectors, vi

Example 6.4

! The SVD of a real 2 % 2 matrix can always be written in the form

G D"

cos $1 $ sin $1

sin $1 cos $1

# "!1 0

0 !2

# "cos $2 ˙ sin $2

$ sin $2 ˙ cos $2

#T

– Note that U and V involve rotations and their columns areorthonormal

! The singular values are sometimes called the principal values orprincipal gains, and the associated directions are called principaldirections

Input and output directions

! The column vectors of U , denoted by ui , represent the outputdirections of the plant

– They are orthogonal and of unit length (orthonormal), that is

kuik2 D 1

u'i ui D 1

uiuj D 0; i ¤ j

! The column vectors of V , denoted by vi , are orthogonal and of unitlength, and represent the input directions.

! Input and output directions are related through the singular values,Gvi D !iui

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 13: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–13

– If we consider an input in the direction vi ; then the output is in thedirection ui

! Since kvik2 D 1 and kuik2 D 1, !i gives the gain of the matrix G in thisdirection

!i .G/ D kGvik2 D kGvik2

kvik2

Maximum and minimum singular values

! The largest gain for any input direction is equal to the maximumsingular value

N! .G/ D !1 .G/ D maxd¤0

kGdk2

kdk2

D kGv1k2

kv1k2

! The smallest gain for any input direction is

! .G/ D !k .G/ D mind¤0

kGdk2

kdk2

D kGvkk2

kvkk2

where k D minn

l; mo

! Therefore, for any vector d we have the general relationship

! .G/ & kGdk2

kdk2

& N! .G/

! Define u1 D Nu, and v1 D Nv,

– Then it follows,G Nv D N! Nu

– Nv is the maximum principal input direction, and corresponds to theinput direction with the largest amplification

– Nu is the maximum principal output direction, and is the outputdirection in which the inputs are most effective

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 14: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–14

! Next define uk D u , and vk D v

– Then we can writeGv D !u

– v is the minimum principal input direction, and corresponds to theinput direction with the smallest amplification

– u is the minimum principal output direction, and is the outputdirection in which the inputs are least effective

! These important vectors are associated with the “highest gain” and’lowest gain” directions respectively

Example 6.5

! Consider the system of Example 6.3,

G1 D"

5 4

3 2

#

! The singular value decomposition of G1 is

G1 D"

0:872 0:490

0:490 $0:872

# "7:343 0

0 0:272

# "0:794 $0:608

0:608 0:794

#'

– The largest gain of 7:343 is for an input in the direction

Nv D"

0:794

0:608

#

– The smallest gain of 0:272 is for an input in the direction

v D"

$0:608

0:794

#

! Note from the form of G1 that both inputs affect both outputs – thusthe system exhibits interaction

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 15: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–15

! Note also that the system is ill-conditioned, meaning that somecombinations of inputs have a strong effect on the outputs, whereasothers have a weak effect

– CONDITION NUMBER: % .G1/ D N! .G1/

! .G1/D 7:343

0:272D 27:0

Example 6.6: Distillation Process

! Consider the following steady-state model of a distillation column:

G D"

87:8 $86:4

108:2 $109:6

#

– Since the element magnitudes are much larger than 1, thereshould be no problem with input constraints – however, thelow-gain direction could be problematic

G D"

0:625 $0:781

$:781 0:625

# "197:2 0

0 1:39

# "0:707 $0:708

$0:708 $0:707

#'

– The distillation process is clearly ill-conditioned, with conditionnumber % .G/ D 197:2=1:39 D 141:7

– The system is such that the two inputs counteract each other in thedirection of v in steady-state

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 16: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–16

Singular values for performance

! The maximum singular value is very useful in terms of frequencydomain performance and robustness

! For SISO systems we found that jS .j!/j D je.!/j=jr.!/j evaluated overfrequency gives useful information for feedback control

! Generalizations for MIMO systems can be obtained if we consider theratio ke.!/k2=kr.!/k2 where we write

! .S .j!// & ke .!/k2

kr .!/k2

& N! .S .j!//

! For performance we want the gain ke.!/k2=kr.!/k2 small for any directionof r .!/

N! .S .j!// <1

jwP .j!/j; 8!

, N! .wP S/ < 1; 8!

, kwP Sk1 < 1

where the H1 norm is the peak of the maximum singular value of thefrequency response:

kM .s/k1 , max!

N! .M .j!//

! The singular values of S .j!/ may be plotted versus frequency –typically they are small at low frequencies where feedback is effective,and approach 1 at high frequencies because any real system isstrictly proper

! BANDWIDTH, !B : frequency where N! .S/ crosses 1=p

2 D 0:7071 frombelow

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 17: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–17

– The bandwidth is at least !B for any direction of the input signal

– Since S D .I C L/$1, the singular value inequality

! .A/ $ 1 & 1

N! .I C A/$1& ! .A/ C 1

gives

! .L/ $ 1 & 1

N! .S/& ! .L/ C 1

– So at low frequencies,

! .L/ ( 1 ) N! .S/ ) 1

! .L/

– And at high frequencies,N! .L/ * 1 ) N! .S/ ) 1

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 18: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–18

Relative Gain Array (RGA)

! The RGA is a useful technique applied to multivariable systems toassess interaction

! Mathematically, the RGA of a non-singular square complex matrix G

is defined asRGA .G/ D & .G/ , G %

!G$1

"T

where here ’%’ denotes the Hadamard product (element-by-elementmultiplication)

– In Matlab we write RGA = G.*pinv(G).’

! The RGA of a transfer matrix is normally computed as a function offrequency

RGA as an interaction measure

! Let uj and y i denote a particular input-output pair for plant G.s/ – wewish to use uj to control y i

! There will be two extreme cases:

– All other loops are open: uk D 0; 8k ¤ j

– All other loops are closed with perfect control: yk D 0; 8k ¤ i

! Evaluating gain @y i=@uj for the two cases

– Other loops open:#

@y i

@uj

$ukD0; k¤j

D gij

– Other loops closed:#

@y i

@uj

$ykD0; k¤i

, Ogij

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 19: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–19

! Here, gij D ŒG'ij is the ij th element of G, whereas Ogij is the inverse ofthe j i th element of G$1:

Ogij D 1

ŒG$1'j i

! The ratio between the “loops open” and “loops closed” gains turns outto be a useful measure of interaction – we define the ij th relative gainas

#ij , gij

OgijD ŒG'ij

%G$1

&j i

– The RGA is the corresponding matrix of these relative gains

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 20: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–20

Example 6.7: RGA for 2 % 2 system

! Consider the system given by"y1

y2

#D

"g11 g12

g21 g22

# "u1

u2

#

where our task is to control ouput y1 using input u1.

! For the ouputs, we writey1 D g11u1 C g12u2

y2 D g21u1 C g22u2

! We consider two cases:

– Case 1: u2 D 0y1 D g11u1

– Case 2: y2 D 0

u2 D $g21

g22u1

! Substituting, we get

y1 D#

g11 $ g21

g22g12

$u1

y2 D 0

where we defineOg11 D g11 $ g21

g22g22

! The interpretation here is that the gain changes from g11 to Og11 as weclose the other loop

! Practically speaking, we prefer to pair input-output varables so thatthe corresponding #ij is close to 1

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 21: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–21

Example 6.8

! Consider a blending process where we mix sugar (u1 ) and water (u2)to make a given amount of a soft drink (y1 D F ) with a given sugarfraction (y2 D x)

! Mass balance gives:F1 C F2 D F

F1 D xF

! Linearization yields (note that the process has no dynamics):dF1 C dF2 D dF

dF1 D x'dF C F 'dx

! Assigning u1 D dF1, u2 D dF2, y1 D dF , and y2 D dx gives the model,

y1 D u1 C u2

y2 D#

1 $ x'

F '

$u1 $ x'

F 'u2

where x' D 0:2 is the nominal steady-state sugar fraction andF ' D 2 kg=s is the nominal amount

! We the obtain the corresponding transfer function matrix,

G.s/ D

24 1 1

1 $ x'

F ' $ x'

F '

35 D

"1 1

0:4 $0:1

#

! Constructing the RGA we obtain (at all frequencies)

& D"

x' 1 $ x'

1 $ x' x'

#D

"0:2 0:8

0:8 0:2

#

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 22: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–22

! For de-coupled control, we should pair on the off-diagonal elements;i.e., use u1 to control y1.

– Physically, this corresponds to using the largest stream (water, u2)to control the amount (y1 D F )

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 23: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–23

Example 6.9: Frequency-dependent RGA

! The following model describes a large pressurized vessel (e.g., asused in offshore oil-gas separations)

– Inputs are: (i) valve positions for liquid (u1), and (ii) vapor (u2) flow

– Outputs are: (i) liquid volume (y1), and (ii) pressure (y2)

! Transfer function matrix, G.s/ D0:01e$5s

.s C 1:72 10$4/ .4:32s C 1/

"$34:54 .s C :0572/ 1:913

$30:22s $9:188!s C 6:95 10$4

"#

! The RGA matrix depends on frequency

– At steady-state (s D 0), we see that g21 D 0; hence ƒ.0/ D I ,suggesting diagonal pairing should be used

– However, examining other frequencies we see that off-diagonalterms can approach 1

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 24: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–24

Introduction to MIMO robustness

! An example is presented to motivate the need for a deeperunderstanding of robustness

Example 6.10: Spinning satellite

! Consider the following model of angular velocity control of a satellitespinning about one of its principal axes:

G.s/ D 1

s2 C a2

"s $ a2 a .s C 1/

$a .s C 1/ s $ a2

#I a D 10

– A minimal state-space realization is given by:

"A B

C D

#D

266664

0 a 1 0

$a 0 0 1

1 a 0 0

$a 1 0 0

377775

! The plant has a pair of j!-axis poles at s D ˙ja , so it needs to bestabilized

! For stabilization, try the simple diagonal constant controller K D I ;this gives

T .s/ D GK .I C GK/$1 D 1

s C 1

"1 a

$a 1

#

! NOMINAL STABILITY. Two closed-loop poles are located at s D $1, soit is stable

– Examining the closed-loop system,

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 25: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–25

Acl D A $ BKC D"

0 a

$a 0

#$

"1 a

$a 1

#D

"$1 0

0 $1

#

! NOMINAL PERFORMANCE. The frequency-dependent singular valuesof L D GK D G are shown below.

– Note that ! .L/ D 1 at low frequencies and starts dropping offaround ! D 10 rad=sec

– Since ! .L/ never exceeds 1 , we do not have tight control in thelow-gain direction

– Also, the large off-diagonal elements in T .s/ show that we havestrong interaction in the closed-loop system

! ROBUST STABILITY. Check stability one loop at a time – here we havebroken the loop at the first input

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 26: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–26

G

K

+

+

!

!

z1 w1

! Loop transfer function –z1

w1, L1.s/ D 1

s) GM D 1; PM D 90ı

! Good robustness? Let’s check.

– Consider input gain uncertainty, and let (1 and (2 denote therelative gain error in each input channel.

u01 D .1 C (1/ u1; u

02 D .1 C (2/ u2

– The resulting change in the state-space B-matrix is

B 0 D"

1 C (1 0

0 1 C (2

#

– The corresponding closed-loop A-matrix is

A0cl D A $ BKC D

"0 a

$a 0

#$

"1 C (1 0

0 1 C (2

# "1 a

$a 1

#

– And characteristic polynomial –

det!dI $ A0

cl

"D s2 C .2 C (1 C (2/ s

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 27: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–27

C1 C (1 C (2 C!a2 C 1

"(1(2

– Stability conditions are:$1 < (1 < 1

(2 D 0

and$1 < (2 < 1

(1 D 0

– But only small simultaneous changes in the two channels: e.g., let(1 D $(2, then the system is unstable (a0 < 0) for

j(1j >1p

a2 C 1) 0:1

! Summary:

– Checking single-loop margins is inadequate for MIMO problems

– Large values of N!.T / or N!.S/ indicate robustness problems

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 28: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–28

Characteristic Loci

Introduction

! Recall that for a square system,

det ŒG .s/' D ˛z .s/

p .s/

where z.s/ and p.s/ are the zero and pole polynomial of G.s/ after thedeterminant has been adjusted to have p.s/ as its denominator.

! For a unity feedback system, the return difference matrix is defined asF .s/ D I C G .s/ K .s/ D I C L .s/

! In terms of the closed-loop transfer function matrix relating r to y , wehave

T .s/ D .I C L .s//$1 L .s/ D L .s/ .I C L .s//$1 D L .s/ F .s/$1

! This expression for T .s/ gives a multivariable generalization of thescalar relationship,

t .s/ D L .s/

1 C L .s/D L .s/ .1 C L .s//$1 D L .s/ .1 C L .s//$1

! We’ve seen that the closed-loop poles are determined by the poles of.I C L.s//$1and hence the zeros of I C L.s/ D F.s/

– Consider the free response of the closed-loop output, y.s/, (withr.s/ D 0)

y.s/ D L.s/e.s/ D $L.s/y.s/

.I C L.s// y.s/ D F.s/y.s/ D 0

– Clearly this expression is only satisfied for values of s for whichdet fF.s/g D 0; thus, closed-loop poles are described by the zerosof F.s/

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 29: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–29

– Since the poles of F.s/ are the same as the poles of L.s/; we maywrite

det fF.s/g D pc.s/

po.s/D closed loop characteristic polynomial

open loop characteristic polynomial

! Consider the scalar relationships,

g.s/ D n.s/

d.s/

t.s/ D g.s/

1 C g.s/D n.s/

n.s/ C d.s/

! Then the open- and closed-loop polynomials, po.s/ D d.s/, andpc.s/ D n.s/ C d.s/ satisfy

pc.s/

po.s/D n.s/ C d.s/

d.s/D 1 C n.s/

d.s/D 1 C g.s/ D f .s/

– Intuitively we expect det fF.s/g to be the vehicle for thegeneralization of the Nyquist criterion to the MIMO case

! We define the CHARACTERISTIC GAIN FUNCTION, g.s/ of G.s/ to bethe natural extension of the graphical Nyquist criterion

– The eigenfunctions of G.s/; denoted gi.s/, define the branches ofg.s/ and form the generalization of the scalar loop gain g.s/

– As such, g.s/ obeys the fame fundamental open- to closed-looprelationship, namely ti .s/ D gi .s/=1Cgi .s/

! The frequency response plots of the gi.s/; gi.j!/, are called the“characteristic loci” of G.s/

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 30: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–30

! Using these functions, multivariable analysis and design can becarried out employing well-established SISO techniques ofgain-phase margins, bandwidth, dc gain, etc....

Physical motivation

! Extending the idea of scalar transfer functions to transfer matrices, wehave for a 2 % 2 system,

y1 D g11 .j!/ u1 C g12 .j!/ u2

y2 D g21 .j!/ u1 C g22 .j!/ u2

– In general, each component of u is stretched and rotated by adifferent amount – so it is not possible to use any arbitrary inputvector phasor to define a multivariable gain

– We need a special input phasor u D w that produces an outputphasor y that is a scalar multiple of the input phasor, i.e.,

G .j!/ w D gw

– Thus the concept of gain we are after emerges as the n

eigenvalues of G.j!/; gi.j!/ for i D 1; 2; : : : ; n

– The corresponding phasors are the eigenvectors wi .j!/

associated with the gi.j!/

! Repeated eigenvalue calculations at a number of frequency pointsresult in n plots called the characteristic loci (CL) of G.s/

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 31: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–31

Example 6.11

! Consider a two-tank system with transfer function matrix

G.s/ D

266664

3

s C 3

1:5

s C 3

1

s C 6

$1

s C 6

377775

! To calculate the CL, we select values of s D j!, compute G.j!/,perform an eigenvalue-vector decomposition and plot in polar form:

Open- and closed-loop characteristic loci

! We may derive closed-loop characteristic loci directly from theopen-loop form by considering the spectral decomposition of G.j!/

and T .j!/

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 32: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–32

! It is easy to show that under unity feedback,G .j!/ D W .j!/ ƒG .j!/ V .j!/

T .j!/ D W .j!/ ƒT .j!/ V .j!/

and thatƒT .j!/ D .I C ƒG .j!//$1

D

2666666664

g1 .j!/

1 C g1 .j!/g2 .j!/

1 C g2 .j!/: : :

gn .j!/

1 C gn .j!/

3777777775

! This gives rise to two important results:

– The closed-loop CL, ti .j!/, are related to the open-loop CL,gi.j!/, in the same simple way as for SISO systems

– The eigenframes of G.j!/ remain invariant under unity feedback

! A corollary to this is that a MIMO system is stable under unityfeedback if its open-loop CL satisfy the classical Nyquist stabilitycriterion

Characteristic gain and the characteristic locus

Example 6.12

! Consider the following transfer function matrix,

G .s/ D 10

.s C 1/ .s C 2/

"3s C 4 $ .4s C 6/

2s C 3 $ .3s C 5/

#

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 33: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–33

! Analytically computing the eigenfunctions, we get

det fgI $ G.s/g D 0

D g2 C 10

.s C 1/ .s C 2/g $ 100

.s C 1/ .s C 2/D 0

! Solving gives the two eigenfunctions,

g1.s/ D 10

s C 2

g2.s/ D $10

s C 1

! Computing the eigenvector functions, we obtain

w1.s/ D"

g1.s/ $ g22.s/

g21.s/

#D 20s C 30

.s C 1/ .s C 2/

"2

1

#

w2.s/ D"

g2.s/ $ g22.s/

g21.s/

#D 20s C 30

.s C 1/ .s C 2/

"1

1

#

which gives,

W D"

2 1

1 1

#

! The system of Example 6.12 was especially constructed to giveeigenfunctions which turn out to be rational functions of s – but this isnot the case in general

! Indeed, if we perturb the matrix just slightly, we get a different result:

G 0 .s/ D 10

.s C 1/ .s C 2/

"3s C 4 C ( $ .4s C 6/

2s C 3 $ .3s C 5/

#

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 34: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–34

– Solving for the eigenfunctions,

det fgI $ G.s/g D 0

D g2 C 10 C 10(

.s C 1/ .s C 2/g $ 100 $ ( .3s C 5/

.s C 1/2 .s C 2/2D 0

– So that,

g1;2.s/ D $ .10 C 10(/

2 .s C 1/2 .s C 2/2

˙

q%.10 C 10(/2 C 4 .100 $ ( .3s C 5//

&.s C 1/2 .s C 2/2

2 .s C 1/2 .s C 2/2

! The discriminant (under the square root) is no longer a perfect square– thus the equation is irreducible over the field of rational functions

– Because of this, g defined on the complex plane is multi-valued –i.e., closed curves on the s-plane may not map to closed curves onthe complex g-plane

– A full treatment of this effect requires the introdution of Riemannsurfaces and will not be addressed here

Generalized Nyquist Stability Criterion

! The forgoing development leads to a multivariable generalization ofthe SISO Nyquist criterion and may be stated as follows:

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 35: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–35

A multivariable system is closed-loop stable (under unityfeedback) if and only if the net sum of critical point encir-clements by the CL of the transfer function matrix G.s/ isin a counterclockwise sense and is equal to the number ofopen-loop unstable poles. For open-loop stable systemsthe net sum of critical point encirclements must be zero.

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 36: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–36

Multivariable interaction

! In general a signal being applied to the i th input will cause all theoutputs (j D i and j ¤ i ) to respond – this defines interaction

! It is generally desirable to suppress interaction so that the i th inputexcites mostly the i th output while the response of the j ¤ i inputsremain below acceptable levels

! In principal, it is possible to supress interaction by ensuring themoduli of the CL be sufficienly large, because then ti ) 1

– But this cannot normally be done due to stability concerns

! An alternative approach involves the characteristic direction(eigenvector function) set

– Low interaction requires the standard basis directions ei to bereproduced at the outputs – which demands that vector ei shouldbe an eigenvector of T .s/ , or equivalently of L.s/

– Thus a sufficient condition for low interaction is that thecharacteristic direction set of L.j!/ approach the standard basisset

– One may take as a convenient measure of interaction the anglebetween the vectors wk.j!/ and the standard basis directions ei

cos $i .j!/ Dˇ̌w'

k .j!/ ei

ˇ̌wk'.j!/w

'k .j!/

where the $i are termed the “misalignment angles”.

ı The convention is adopted that k is chosen so that wk is theeigenvector that makes the smallest angle $i with ei atfrequency !

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 37: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

ECE5580, Introduction to Multivariable Control 6–37

! In summary,

– Interaction is determined at low frequencies by $i and/or moduli ofthe CL of the open-loop operator

– Interaction is determined at high frequencies by the $i

Lecture notes prepared by M. Scott Trimboli. Copyright c# 2016, M. Scott Trimboli

Page 38: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

(mostly blank)

Page 39: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

(mostly blank)

Page 40: Introduction to Multivariable Controlmocha-java.uccs.edu/ECE5580/ECE5580_CH6_18Apr16.pdf · Introduction to Multivariable Control! In this chapter, we introduce the idea of multi-input

(mostly blank)