multivariable control

62
1 Multivariable Control By Kirsten Mølgaard Nielsen Root Locus

Upload: drago

Post on 22-Feb-2016

164 views

Category:

Documents


4 download

DESCRIPTION

Multivariable Control. Root Locus . By Kirsten Mølgaard Nielsen. Outline. Root Locus Design Method Root locus definition The phase condition Test points, and sketching a root locus Dynamic Compensation Lead compensation Lag compensation. Introduction. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Multivariable Control

1

Multivariable Control

By Kirsten Mølgaard Nielsen

Root Locus

Page 2: Multivariable Control

2

Outline

Root Locus Design Method Root locus

definition The phase condition Test points, and sketching a root locus

Dynamic Compensation Lead compensation Lag compensation

Page 3: Multivariable Control

3

Introduction

0)()()(1

)()()(1)()()(

)()(

sHsGsD

sHsGsDsGsDsT

sRsYClosed loop transfer function

Characteristic equation,roots are poles in T(s)

Page 4: Multivariable Control

4

Introduction

)(,8.1))((2

)(

11)(

2

22

2

2

1

pnr

dd

n

nn

n

Mtjsjsss

sH

ssH

Dynamic features depend on the pole locations.

For example, time constant , rise time tr, and overshoot Mp

(1st order)

(2nd order)

Page 5: Multivariable Control

5

IntroductionRoot locus

Determination of the closed loop pole locations under varying K.

For example, K could be the control gain.

Ksasb

sasbK

sHsGsD

1)()(

0)()(1

0)()()(1

The characteristic equation can be written in various ways

Page 6: Multivariable Control

6

IntroductionRoot locus of a motor position control (example)

241

21,

0)()(

of roots of grapha is locusRoot )(,1)(

,)1(

1)(,

have, We)1(

)()()(

)()( positionmotor -DC

21

2

2

Krr

KsssKbsa

sssasb

sssLAK

ssAsG

sUsY

sVs

a

m

Page 7: Multivariable Control

7

Introduction

0.5) (here, somefor calculated be can 21part real ,conjugatedcomplex :),(

,41For [-1;0] interval thein real :),(

,410For 1

021

21),(

loop)-(open,0For 241

21),(

21

21

21

21

Krr

Krr

K

rr

K

Krr

break-away point

Page 8: Multivariable Control

8

IntroductionSome root loci examples (K from zero to infinity)

Page 9: Multivariable Control

9

Sketching a Root LocusDefinition 1

The root locus is the values of s for which 1+KL(s)=0 is satisfied as K varies from 0 to infinity (pos.).

Definition 2 The root locus is the points in the s-plane where the

phase of L(s) is 180°. The angle to a point on the root locus from zero number i is yi. The angle to a point on the root locus from pole number i is fi. Therefore, m-nl1 integer,an is l ),1(360180 lii fy

positive and realK for 180)/1(,/1)(: KKsLnotic

Page 10: Multivariable Control

10

)(exp

)()()()()(general, In

1121

21

)()(1

)()(1

010

0100 1

1

nmaa

bb

jan

ja

jbm

jb

n

m

jrrrr

erererer

pspszszssG

n

m

ffyy

ff

yy

Sketching a Root Locus

s0

pf1

p*f2

y1

A root locus can be plotted using Matlab: rlocus(sysL)

Page 11: Multivariable Control

11

Root Locus characteristicsRule 1 (of 6)

The n branches of the locus start at the poles L(s) and m of these branches end on the zeros of L(s).

3) Rule()(1) Rule)((0)(

,(end) if

(poles) 0)(,(start)0 if

1)()(0)()(

,order of is )( and ,order of is )(Notice,

sazerossb

K

saKKsa

sbsKbsa

mnmsbnsa

Page 12: Multivariable Control

12

Root Locus characteristicsRule 2 (of 6)

The loci on the real axis (real-axis part) are to the left of an odd number of poles plus zeros.

Notice, if we take a test point s0 on the real axis :• The angle of complex poles

cancel each other.• Angles from real poles or zeros

are 0° if s0 are to the right.• Angles from real poles or zeros

are 180° if s0 are to the left.• Total angle = 180° + 360° l

Page 13: Multivariable Control

13

Root Locus characteristicsRule 3 (of 6)

For large s and K, n-m branches of the loci are asymptotic to lines at angles fl radiating out from a point s = a on the real axis.

mnzp

mnlmn

l

ii

l

a

f ,,2,1,)1(360180

fl

a

For example

Page 14: Multivariable Control

14

Root Locus characteristicsn-m=1 n-m=2 n-m=3 n-m=4

mnzp

mnlmn

l

ii

l

a

f

,,2,1

,)1(3601803 Rule

For ex.,n-m=3

Page 15: Multivariable Control

15

Root Locus Rule 4: The angles of departure

(arrival) of a branch of the locus from a pole (zero) of multiplicity q.

f1,dep = 60 deg.f2,dep = 180 deg.f3,dep = 300 deg.)1(360180

)1(360180

,

,

lq

lq

liiidepl

liiidepl

yfy

fyf

3 poles:q = 3

Page 16: Multivariable Control

16

Root Locus characteristicsRule 5 (of 6)

The locus crosses the j axis at points where the Routh criterion shows a transition from roots in the left half-plane to roots in the right half-plane.

Routh: A system is stable if and only if all the elements in the first column of the Routh array are positive.

0)Row(s

3)Row(s2)Row(s1)Row(s

1)Row(s

0

3213-n

3212-n

5311-n

42n

cccnbbbnaaanaan

21

31

11

51

4

12

31

2

11

det1

1det1

1det1

bbaa

bc

aaa

ab

aaa

ab

Page 17: Multivariable Control

17

Root Locus characteristicsRule 6 (of 6)

The locus will have multiplicative roots of q at points on the locus where (1) applies.

The branches will approach a point of q roots at angles separated by (2) and will depart at angles with the same separation.

ql

dsdba

dsdab

Ksasb

)1(360180)2(

0)1(

1)()(

Characteristic equation

Page 18: Multivariable Control

18

ExampleRoot locus for double integrator with P-control

Rule 1: The locus has two branches that starts in s=0. There are no zeros. Thus, the branches do not end at zeros.

Rule 3: Two branches have asymptotes for s going to infinity. We get

020

27090

2)1(360180)1(360180

mn

zp

lmn

l

ii

l

a

f

Eq.)(Char.011)(,1)( 22 s

kksDs

sG pp

Page 19: Multivariable Control

19

Rule 2: No branches that the real axis.

Rule 4: Same argument and conclusion as rule 3.

Eq.)(Char.011)(,1)( 22 s

kksDs

sG pp

Rule 5: The loci remain on the imaginary axis. Thus, no crossings of the j-axis.

Rule 6: Easy to see, no further multiple poles. Verification:

0021)(10

1)(,)(

22

2

ssdsds

dssd

dsdba

dsdab

sbssa

Page 20: Multivariable Control

20

Eq.)(Char.0)1(101)1(1

1and

Eq.)(Char.01)(1

)(,1)(

22

2

2

ssK

ss

K

kk

kK

sskk

skksDs

sG

D

pD

Dp

Dp

ExampleRoot locus for satellite attitude control with PD-control

Page 21: Multivariable Control

21

90 areat 0 pole double thefrom departure of angles The :4 Rule

axis real negative thealong asymptote one is there,1 Because :3 Rule

locus on the is 1 ofleft the toaxis real The :2 Rule

infinity. approachesother The.1at zero on the s terminateOne

.0at start that branches twoare There :1 Rule

1)1(0)1(1 22

s

mn

s

ss

Kss

ssK

Page 22: Multivariable Control

22

2,002)1(

2,1,)(,1)(

from found are roots multiple of points The :6 Rule

1 axis.imaginary thecrossnot does locus theThus,

below.array thefind wecriterion, sRouth' Applying :5 Rule

Eq.) (Char.0)1(1

2

2

2

issssdsdba

dsdab

sdsda

dsdbssassb

KK

K

ssK

Page 23: Multivariable Control

23

Selecting the Parameter ValueThe (positive) root locus

A plot of all possible locations of roots to the equation 1+KL(s)=0 for some real positive value of K.

The purpose of design is to select a particular value of K that will meet the specifications for static and dynamic characteristics.

For a given root locus we have (1). Thus, for some desired pole locations it is possible to find K.

LK

sLK 1

)(1)1(

Page 24: Multivariable Control

24

Selecting the Parameter Value

657.7*1.2*4)()()(

1))((

1 then,5.0 want say we usLet

, ,at Poles)44)(44(

1)16)4((

1

32000

32000

321

2

ssssssL

K

sssss)L(s

sssjsjss

ssL(s)

Example

Selection of K using Matlab: [K,p]=rlocfind(sysL)

Page 25: Multivariable Control

25

Dynamic CompensationSome facts

We are able to determine the roots of the characteristic equation (closed loop poles) for a varying parameter K.

The location of the roots determine the dynamic characteristics (performance) of the closed loop system.

It might not be possible to achieve the desired performance with D(s) = K.

Controller design using root locus Lead compensation (similar to PD control)

overshoot, rise time requirements Lag compensation (similar to PI control)

steady state requirements

Page 26: Multivariable Control

26

Dynamic Compensation

ba

ba

bsas

abK

bsasKsD

oncompensati Lag

oncompensati Lead

)1()1()(

abK

K

a b

PD

Lead

abK

K

a b

PI

Lag

Page 27: Multivariable Control

27

Lead Compensation

)2()(control-PD

)(control-P

2trequiremen with)1(

1)(

system Example

sKsD

KsD

sssG

n

PD

P

Lower damping ratio with PD !

Page 28: Multivariable Control

28

Lead CompensationPD control

Pure differentiation Output noise has a great effect on u(t) Solution: Insert a pole at a higher frequency

controllerD(s)

plantG(s)

r(t) u(t) y(t)e(t)+

-

noise

++

Page 29: Multivariable Control

29

Lead Compensation

2010105

:try

,2)(

oncompensati Lead

)2()(control-PD

)1(1)(

zz

p

pssKsD

sKsD

sssG

Page 30: Multivariable Control

30

Lead CompensationSelecting p and z

Usually, trial and error The placement of the zero is determined by dynamic

requirements (rise time, overshoot). The exact placement of the pole is determined by

conflicting interests. suppression of output noise effectiveness of the zero

In general, the zero z is placed around desired closed loop n the pole p is placed between 5 and 20 times of z

Page 31: Multivariable Control

31

Lead CompensationDesign approach (A)

Initial design z=n, p=5z Noise: additional

requirement, max(p)=20 Iterations

First design: z=n, p=5z(neglecting the add. req.)

Second design: z=n, p=20 Third design: new z, p=20

,)(

oncompensati Lead

7 : timeRise5.0 :Overshoot

tsRequiremen

)1(1)(

pszsKsD

sssG

n

Page 32: Multivariable Control

32

Lead CompensationPossiblepole location

Matlab – design 1sysG = tf([1],[1 1 0])sysD = tf([1 7],[1 5*7])rlocus(sysD*sysG)

Page 33: Multivariable Control

33

Lead CompensationNo possiblepole location !

Matlab – design 2sysG = tf([1],[1 1 0])sysD = tf([1 7],[1 20])rlocus(sysD*sysG)

Page 34: Multivariable Control

34

Lead CompensationPossiblelocation

Matlab – design 3sysG = tf([1],[1 1 0])sysD = tf([1 4],[1 20])rlocus(sysD*sysG)

New zerolocation

Page 35: Multivariable Control

35

Lead CompensationDesign approach (B)

Pole placement from the requirements

Noise: Additional requirement, max(p)=20. So, p=20 to minimize the effect of the pole.

,)(

oncompensati Lead

7 : timeRise5.0 :Overshoot

tsRequiremen

)1(1)(

pszsKsD

sssG

n

35.35.30 jr

Page 36: Multivariable Control

36

Lead Compensation

4.5 :Resultz of location Gives

6.72

180)()( as calculate toPossible

fixed. is fixed. are poles All

0

z

sGsD

r

y

y

Page 37: Multivariable Control

37

Lead CompensationPole location

Matlab – design BsysG = tf([1],[1 1 0])sysD = tf([1 5.4],[1 20])rlocus(sysD*sysG)

204.5127)(

Controller Final

sssD

Page 38: Multivariable Control

38

Lead CompensationExercise

Design a lead compensation D(s) to the plant G(s) so that the dominant poles are located at s = -2 ± 2j

controllerD(s)

plantG(s)

r(t) u(t) y(t)e(t)+

-

2

1)()(s

sGpszsKsD

You can use, trianglea/sin(A) = b/sin(B)

Page 39: Multivariable Control

39

Lead CompensationAnswer

we have three poles and one zero

f1yf2

65.1

)35sin()100sin(

22

100460101352180

180210135

180)()(Condition Root Locus

22

21

2

1

z

sGsD

y

ffyff

Notice, trianglea/sin(A) = b/sin(B)

Page 40: Multivariable Control

40

Dynamic Compensation

ba

ba

bsas

abK

bsasKsD

oncompensati Lag

oncompensati Lead

)1()1()(

abK

K

a b

PD

Lead

abK

K

a b

PI

Lag

Page 41: Multivariable Control

41

Lag CompensationLag compensation

Steady state characteristics (requirements) Position error constant Kp

Velocity error constant Kv

Let us continue using the example system

and the designed controller (lead compensation)

204.5127)(

sssD

)1(1)(

ss

sG

Page 42: Multivariable Control

42

Lag CompensationCalculation of error

constants Suppose we want

Kv ≥ 100 We need additional

gain at low frequencies !

03.01 :input Ramp

3.3420

4.5127)()(lim

01

1 :input Step

)()(lim

)1(1

204.5127)()(

0

0

vss

sv

pss

sp

Ke

sGssDK

Ke

sGsDK

sssssGsD

Page 43: Multivariable Control

43

Lag CompensationSelecting p and z

To minimize the effect on the dominant dynamics z and p must chosen as low as possible (i.e. at low frequencies)

To minimize the settling time z and p must chosen as high as possible (i.e. at high frequencies)

Thus, the lag pole-zero location must be chosen at as high a frequency as possible without causing any major shifts in the dominant pole locations

Page 44: Multivariable Control

44

Lag Compensation

pzKD

pszsKsD

K

sssG

v

)0(

gain freq.Low

)(

oncompensati Lag

100constant errorVelocity tRequiremen

)1(1)( Design approach

Increase the error constant by increasing the low frequency gain

Choose z and p somewhat below n

Example system: K = 1 (the proportional part

has already been chosen) z/p = 3, with z = 0.03, and

p = 0.01.

Page 45: Multivariable Control

45

Lag CompensationNotice, a slightly different polelocation

Lead-lagController

01.003.0

204.5127

)(

ss

ss

sD

Page 46: Multivariable Control

46

Lag Compensation

z p

Page 47: Multivariable Control

47

Lag CompensationStep

Page 48: Multivariable Control

48

Lag Compensation

Ramp

Page 49: Multivariable Control

49

Notch compensationExample system

We have successfully designed a lead-lag controller

Suppose the real system has a rather undampen oscillation about 50 rad/sec.

Include this oscillation in the model

Can we use the original controller ?

)2500(2500

)1(1)( 2

ssss

sG

01.003.0

204.5127)(

ss

sssD

Page 50: Multivariable Control

50

Notch compensation

Step response using the lead-lag controller

Page 51: Multivariable Control

51

Notch compensationAim: Remove or dampen the oscillationsPossibilities

Gain stabilization Reduce the gain at high frequencies Thus, insert poles above the bandwidth but below the

oscillation frequency – might not be feasible Phase stabilization (notch compensation)

A zero near the oscillation frequency A zero increases the phase, and ≈ PM/100 Possible transfer function

20

200

2

)(2)(

ssssD n

nIf n < 1, complex zerosand double pole at 0

Page 52: Multivariable Control

52

Notch compensation

20

200

2

22

2

2

)(

2)(

oncompensati Notch

01.0,50

)2()1(1

)2500(2500

)1(1)(

s

sssD

ssss

sssssG

nn

rr

rrr

r

2

2

0

)()1(1

)()(Result

,

choose usLet

r

r

n

nrr

sss

sGsD

Page 53: Multivariable Control

53

Notch compensation

Cancellation

Root LocusThe lead-lag controller with notch compensation

0 = 50 = 0.01

Page 54: Multivariable Control

54

Notch compensation

Too much overshoot !!

Also, exact cancellation might cause problems due to modelling errors

Thus, we need different parameters

Page 55: Multivariable Control

55

Notch compensationModified parameters

Notch compensation

Dynamic characteristics Increase n to obtain less overshoot Make sure that the roots move into the LHP In general, obtain a satisfactory dynamic behavior

After some trial and error

20

200

2

)(2)(

ssssDn

3.0,600 n

Page 56: Multivariable Control

56

Notch compensation

The overshoot has been lowered to an acceptable level !

The oscillations have almost been removed !

So, we have reached a final design !

Page 57: Multivariable Control

57

Notch compensation

Root LocusThe lead-lag controller with notch compensation

0 = 60 = 0.3

Page 58: Multivariable Control

58

Time DelayNotice

Time delay always reduces the stability of a system ! Important to be able to analyze its effect In the s-domain a time delay is given by e-ls

Most applications contain delays (sampled systems)Root locus analysis

The original method does only handle polynomialsSolutions

Approximation (Padé) of e-ls

Modifying the root locus method (direct application)

Page 59: Multivariable Control

59

Time Delay

3100

20

21000

10010

10

432

0

10

)()(

)(1

!4!321

series McLauren

1

tapproximan Padé(1,1)ionapproximatFirst

sbabasbaba

sbabbsa

bsb

sssse

sabsbe

s

s

)2/(1)2/(1

with

61)(

21)(

11

10020

1000

100

1

sTsTe

sTs

baba

baba

babb

d

dsT

d

d

Page 60: Multivariable Control

60

Time Delay

Root locus for some example system (heat exchanger)

No delay

Padé (1,1)

Padé (2,2)

Exact

(p,p) Approx. in Matlab :[num,den]=pade(T,p)

Page 61: Multivariable Control

61

Time Delay

d

sT

djTTsT

sT

TsGsD

esGsDsGsD

Teee

jssGesG

d

ddd

d

180)()(

180)()()()(

condition locusroot Modified

)(

Notice,)()(

Processn)calculatio(exact approachDirect

0

0

However, Matlab does not support this approach...

In discrete systems the sampling time introduce a time delay

Page 62: Multivariable Control

62

The Discrete Root Locus

Discrete (z-domain) Closed loop transfer function

Characteristic equation

Thus, same sketching techniques as in the s-domain However, different interpretation !!!

)()(1)()(zGzD

zGzD

0)()(1 zGzD