1
Multivariable Control
By Kirsten Mølgaard Nielsen
Root Locus
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
3
Introduction
0)()()(1
)()()(1)()()(
)()(
sHsGsD
sHsGsDsGsDsT
sRsYClosed loop transfer function
Characteristic equation,roots are poles in T(s)
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)
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
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
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
8
IntroductionSome root loci examples (K from zero to infinity)
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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(
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)
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
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
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 !
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
++
29
Lead Compensation
2010105
:try
,2)(
oncompensati Lead
)2()(control-PD
)1(1)(
zz
p
pssKsD
sKsD
sssG
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
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
32
Lead CompensationPossiblepole location
Matlab – design 1sysG = tf([1],[1 1 0])sysD = tf([1 7],[1 5*7])rlocus(sysD*sysG)
33
Lead CompensationNo possiblepole location !
Matlab – design 2sysG = tf([1],[1 1 0])sysD = tf([1 7],[1 20])rlocus(sysD*sysG)
34
Lead CompensationPossiblelocation
Matlab – design 3sysG = tf([1],[1 1 0])sysD = tf([1 4],[1 20])rlocus(sysD*sysG)
New zerolocation
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
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
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
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)
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)
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
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
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
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
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.
45
Lag CompensationNotice, a slightly different polelocation
Lead-lagController
01.003.0
204.5127
)(
ss
ss
sD
46
Lag Compensation
z p
47
Lag CompensationStep
48
Lag Compensation
Ramp
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
50
Notch compensation
Step response using the lead-lag controller
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
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
53
Notch compensation
Cancellation
Root LocusThe lead-lag controller with notch compensation
0 = 50 = 0.01
54
Notch compensation
Too much overshoot !!
Also, exact cancellation might cause problems due to modelling errors
Thus, we need different parameters
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
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 !
57
Notch compensation
Root LocusThe lead-lag controller with notch compensation
0 = 60 = 0.3
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)
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
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)
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
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
Top Related