Upload
others
View
11
Download
0
Embed Size (px)
Citation preview
The Root Locus MethodMEM 355 Performance Enhancement of Dynamical Systems
Harry G. KwatnyDepartment of Mechanical Engineering & MechanicsDrexel University
OutlineThe root locus method was introduced by Evans in the 1950’s. It remains a
popular tool for simple SISO control design.
• What is a root locus?• Poles & Transient Response (Why do we care about poles?)• The Root Locus Method
• Problem Definition• The Two Key Formulas• Root Locus Rules
• Examples:• Flexible Spacecraft• Robotic Arm• General Aviation Aircraft• Helicopter Pitch Control
Designing a Feedback Control SystemUsing The Root Locus• First, we choose a compensator
• There are many useful compensator types. We have already seen Proportional and Proportional plus Integral.
• This gives us a control structure, i.e., a compensator transfer function.
• The compensator will have one or more free parameters. • The root locus method typically focuses on the gain parameter. It is an
approach to select the gain as to achieve desired transient behavior.• The root locus rules of behavior provides insight for adjusting additional
compensator parameters.• The root locus structure also yields ideas for adding elements to the
compensator.
What is a Root Locus?• On the right is a negative
feedback loop• We wish to examine the closed
loop poles as the gain K varies• As K increases from zero the 4
poles move from the open loop values & trace 4 loci
• At any particular value of Kthere are 4 closed loop poles
• In this example there is a critical value of K at which the system becomes unstable.
( )G s-
yy
( )H s
Re
Im
0K =
2K =
at stability is lost
criticalK
( ) ( ) ( )( )( )( )
( )( )( )( )4 3 2
31 2 4
1 2 411 7 14 8 3ye
sG s H s K
s s s s
s s s sG
GH s s s K s K
+=
+ + +
+ + += =
+ + + + + +
Using Matlab>> s=tf('s');>> G=(s+3)/(s*(s+1)*(s+2)*(s+4));>> rlocus(G)>> sgrid>> [K,Poles]=rlocfind(G)Select a point in the graphics windowselected_point =-0.0720 + 1.4161i
K =7.3729
Poles =-4.2940 + 0.0000i-2.5617 + 0.0000i-0.0722 + 1.4162i-0.0722 - 1.4162i -12 -10 -8 -6 -4 -2 0 2 4
-10
-8
-6
-4
-2
0
2
4
6
8
10
0.280.42
0.91
0.975
0.8
0.140.280.420.560.680.8
0.91
0.975
0.140.560.68
24681012
Root Locus
Real Axis (seconds-1
)
Imag
inar
y Ax
is (s
econ
ds-1
)
Example ( ) ( ) ( )
( ) ( )
( )
2
2
2 2
1 1 , 11
1 11 1
10 42
CL
s GG s K H s Gs s G
s s Ks KG s Ks s s
s Ks K s K K K
+= = ⇒ =
++ + +
+ = + =
+ + = ⇒ = − ± −
Im
Re0K =
4K =
K = ∞K = ∞
Transient Response
( ) ( )( )
10
1
Consider a system described by the open loop transfer function
There are three ways to assess system transient behavior:1. time domain (output time trajectories)2. pole (or eige
pfdn s cG s K cd s s λ
= → + + ++
( ) ( ) ( )( ) ( )2 2 2 21 1 1 1
nvalue) location3. frequency response (Bode or Nyquist plots)Here we consider pole location. The poles are the roots of
2 2 0
p p p qd s s s s s s sρ ω ω ρ ω ω λ λ= + + + + + + =
Complex roots occur in complex conjugate pairs. In this case there are 2p+q poles
The root locus method is concerned with adjusting the closed loop pole positions
Ideal Pole Locations
Re
Im
degree of stability,decay rate 1/α
ideal region forclosed loop poles
α
θθ ρ= −sin 1damping ratio
Our goal is to design a compensator so that the closed loop poles lie in the shaded region. We get to choose the form of the compensator and select its parameters.
Problem Definition
( )G s-
yy
( )H s
( ) ( )( )
( ) ( )
The closed loop input response transfer function is
1The error response transfer function is (recall )
111
The poles of the closed loop system are the roots (zeros) of
1
yy
e y
G sG s
GH se y y
GH GG s G sGH
G
=+
= −+ −
= − =+
+ ( ) 0H s =
Problem Definition, Cont’d
( ) ( ) ( )( )
( ) ( )( ) ( )
( ) ( )
11 1 0
11 1 0
Suppose
, are completely known, but is a parameterthat we can adjust.
Root Locus Problem: Generate a sketch in the complex plane of
m mm m
n nn n
n s s z s z s b s bG s H s K K Kd s s p s p s a s a
n s d s K
−−
−−
− − + + += = =
− − + + +
the closed loop poles with varying gain .K
Solution Strategies
• We will do this two ways:• The easy way: Have MATLAB solve for the roots for each of a specified list
of values for K and plot them.• The hard (old) way: Generate a sketch by hand.
• Why do it the hard way at all?• We need to know how to interpret the plot.• We obtain insight concerning the choice of compensator.• We learn how to set the compensator parameters other than the gain K.
Root Locus Method ~ 1( ) ( )
( ) ( ) (2 1)
( ) ( )1 0 0 ( ) ( ) 0( )
( )1 0 1 , 0, 1, 2,( )
This means
( ) ( )1 and (2 1)( ) ( )
for 0 :
( ) ( )1 and (2 1)( ) ( )
j k
d s Kn sG s H s d s Kn sd s
n sG s H s K e kd s
n s n sK K kd s d s
K
n s n sK kd s d s
π
π
π
+
++ = ⇔ = ⇒ + =
+ = ⇔ = − = = ± ±
= ∠ = +
≥
= ∠ = +
Magnitude equation
Angle equation
Root Locus Method ~ 2
( )( )
Our goal is to find values of that satisfy both of these equations.
Note that for any given , the magnitude equation is satisfiedfor some value of , i.e.,
Note that the angle equation does n
s
sK
d sK
n s
⇒
=
⇒
Strategy:First, find values of that satisfy the angle equation.Second, calibrate the plot using t
ot depend on
he magnitude
at al
equat
.
n
l
io .s
K
Root Locus ~ 3 Using the Angle Formula
Re
Im
1θ2θ3θ4θ
test point 2 3s j= − +
1−2−3−4−
( ) ( )
( )
3 4 1 2
3 4 1 2
70.55 2 1 for any integer 2 3 is not a point on the root locus
The point 2 2 / 2 is180
k ks j
s i
θ θ θ θ π
θ θ θ θ
+ − + = ≠ +
= − +
= − +
+ − + =
( ) ( ) ( )( )( )( )
3 41 2
s sG s H s
s s+ +
=+ +
( ) ( )
( ) (2 1)( )
(2 1)
n s kd s
n s d s k
π
π
∠ = + ⇒∠ −∠ = +
Basic Rules ~ 1
( ) ( ) ( )t
1
h
. N
e o
umbe
rder
r of bra
of the pol
nches: The numbe
ynomial
r of branches of
is the o
the root locus equals the number of open loop poles.
2. Symmetry: The root locus is symmrd
etric about the realer of
ad s Kn s d s+
( ) ( ) ( )
( ) ( ) ( )
xis.
3. Starting & ending points: The root locus begins at the open loop poles and ends at the finite and infinite open loop
Poles occur in complex conjuga
zeros.
te pairs.
0 =0 as 01 0
d s Kn s d s K
d s n s n sK
+ = → →
+ = → = 0 as if is boundedK s→∞
Basic Rules ~ 24. Real-axis segments: For 0 , real axis segments to
the left of an odd number of finite real axis poles and/or zeros are part of the root locus.
K >
Im
Re1Test point sθ
θ−
Basic Rules ~ 3
5. Behavior at infinity: The root locus approaches infinity along asymptotes with angles:
(2 1) , 0, 1, 2, 3,# #
Furthermore, these asymptotes intersect the real axis at a comm
k kfinite poles finite zeros
πθ += = ± ± ±
−
on point given by
finite poles finite zeros# finite poles # finite zeros
σ−
=−
∑ ∑
Basic Rules ~ 4
( )( ) ( ) ( )
( )( ) ( )
( )( ) ( ) ( ) ( )
1 1
1 1
Angle part is easy:
Take . For ,
Then
So 2 1 2 1
m ni ii i
ji
m ni ii i
n ss z s p
d s
s e s s
s z s p m n
n sk m n k
d s
θρ ρ λ θ
θ θ
π θ π
= =
= =
∠ = ∠ − − ∠ −
= →∞ ∠ − →∠ =
∠ − − ∠ − → −
∠ = + ⇒ − = +
∑ ∑
∑ ∑
Basic Rules ~ 46. Real axis breakaway and break-in points: The root locus breaks away
from the real axis where the gain is a (local) maximum on the real axis, and breaks into the real axis where it is a local minimum
( ) ( )( )
( )( )
. To locate candidate break points
simply plot on the axis segment
or solve 0
7. -axis crossings: Use Routh test to determine values of K for which loci cross imaginary axis.
d sK s
n s
d sdds n s
jω
=
=
Routh Stability Test
4 3 23 2 1 0
2 0442 02 0
3 1 3331 23 13 1
3 3221 2 3
3 1111 2
1 20011
It is desired to determine the number of right handplane roots of a polynomial, say:
01 1
11 0, ,...00
s a s a s a s aa a
s a as a a a a ab bs a as a a a a
s b b bsa a
s c csb b
cs ds
+ + + + =
− −= =
⇒
−=
3
,...........................
The number of right half plane poles is equal to the number of signchanges in the first column.
a
Using MATLAB
The basic MATLAB functions are:rlocusrlocus(sys) calculates and plots the root locus of the open-loop SISO model sys.
rlocfind[K,POLES] = RLOCFIND(SYS) is used for interactive gain selection from the root locus plot of the SISO system SYS generated by RLOCUS. RLOCFIND puts up a crosshair cursor in the graphics window which is used to select a pole location on an existing root locus. The root locus gain associated with this point is returned in K and all the system poles for this gain are returned in POLES.
sisotoolWhen invoked without input arguments, sisotool opens a SISO Design GUI for interactive compensator design. This GUI allows you to design a single-input/single-output (SISO) compensator using root locus and Bode diagram techniques.
Flexible Spacecraft
K2s
1s
1
4
2 1s
s s−+ +
−
ΘΘ
K 2
2s
−
Θ Θ
4s +
( ) ( ) 2
4sG s H s Ks+
=
( ) ( )( )( )
( )( )( )( )
2
2 2
2
4 2 2
1
4 10.5 0.866
s s sG s H s K
s s s
s s jK
s s j
+ + +=
+ +
+ + ±=
+ ±
With One Flex Mode
Rigid
includesone flex mode
ignores allflex modes
Spacecraft
Re
Im
( ) ( ) ( )
( )
4 3 2
4
3
22
21
2
0
2 2
1 1 6 10 8
1 1
0
6 81 10 01 3 6 8 0
12 1 23 26
01 3 6
8
1 60, 1 3 6 0 3 2, 1 2
cld s s K s K s Ks K
s K Ks K K
K Ks KK
K K Ks
K Ks K
K K K K K
= + + + + + +
++
− ++− +
− +
+ − +≥ − ≥ ≥+
Re
Im
Rigid
One Flex Mode
Always positive(prove it)
unstable segment
without flex mode
with flex mode
Example Robotic Arm
2
511 30.25s s+ +
1s
44s +
0.1sKs+ ΘΘ
−
Compensator AmplifierMotor/
Speed Controller
( )( )( ) ( )( )22 2 2
0.1 0.120 204 11 30.25 4 5.5
s sL s K Ks s s s s s s
+ += =
+ + + + +
Robotic Arm 2
Re
Im
Re
Im
Re
Im
Asymptotes @ 45, 135, 225, 315Centroid @ -3.725
?
( )( )( )22
0.1204 5.5sL s K
s s s+
=+ +
Robotic Arm 3
-4 -3 -2 -1s
1
2
3
4
5
K
( )( ) ( )
Plot
, 4, 0.1d s
K sn s
= ∈ − −
Max, breakaway point at -1.1217
Min, breakin point at -.21613
Re
Im
Robotic Arm 4>> s=tf('s');>> G=20*(s+0.1)/(s^2*(s+4)*(s+5.5)^2);>> rlocus(G)>> rlocfind(G)Select a point in the graphics windowselected_point =-0.2161 + 0.0104i
ans =2.1211
selected_point =-0.0415 + 2.7640i
ans =24.9776
Robotic Arm 5( )
5 4 3 2
5
4
3
2
21
0
2
20 0.115 74.25 121 20 2
1 74 2015 121 265.9 19.86121 4.52 22271 89.76
121 4.522
121 4.52 0, 2271 89.76 0, 0121 26.7694.522271 25.30889.76
cl
K sG
s s s s Ks K
s Ks Ks Ks K K
K KsK
s K
K K K K
K
K
+=
+ + + + +
−
−−
− > − > >
< =
< =
Routh Table
Governing Inequality
Example: Piper Dakota Pitch Control
( ) ( )( )( )( )
( )
2 2
c
elevator angle, pitch angle, 2.5 0.7
Plant: 1605 40 0.03 0.06
3Lead compensator: G20
e
p
s sG s
s s s s
ss Ks
δ θ→
+ +=
+ + + +
+=
+
G sp ( )G sc ( )-
θθ
, errore
eδ
Franklin & Powell 3rd Ed
Piper Dakota
Re
Im
What do we expect?
Re
Im( ) ( )( )( )
( )( )( )2 2
2.5 0.7 3160
5 40 0.03 0.06 20s s s
L s Ks s s s s
+ + +=
+ + + + +
Piper Dakota>> s=tf('s');>> Gp=160*(s+2.5)*(s+0.7)/((s^2+5*s+40)*(s^2+0.03*s+0.06));>> Gc=(s+3)/(s+20);>> G=Gc*Gp;>> rlocus(G)>> sgrid>> [K,Poles]=rlocfind(G)Select a point in the graphics windowselected_point =-0.7032 + 0.4803i
K =1.5395
Poles =-7.8326 +12.9268i-7.8326 -12.9268i-7.9513 -0.7067 + 0.4888i-0.7067 - 0.4888i
>> Gcl=1.5*G/(1+1.5*G);>> step(Gcl)
Example: Helicopter Pitch Control
helicopterpilot
stabilizer
( )( )( )2
25 0.030.4 0.36 0.16
ss s s
+
+ − +
219
sKs++
12 12 1
Ks s+ +
--
disturbance
Pick the inner loop pitch control gain K2 so that the dominant inner loop poles have a damping ratio of 0.707. Select an outer loop gain (stick sensitivity) to place the poles. Determine ultimate error in response to unit step disturbance.
Notice unstable dynamics
Inner (Stabilization) Loop
( )
( )( )( )( )( )
2
The inner loop root locus is shownon the right. Choose a gain 1.5.The inner loop resolves to:
s1 1.5
25 0.03 9
3.81 3.53 1.37 0.0458
ps
c p
K
GG
G G
s ss j s s
=
=+
+ +=
+ ± + +
( )( )( )
( )( )2 2
25 0.03 11 1
90.4 0.36 0.16s s
GH Kss s s
+ ++ = +
++ − +
-10 -8 -6 -4 -2 0 2
-15
-10
-5
0
5
10
15
0.070.140.220.32
0.07
0.42
0.56
0.140.220.320.42
0.56
0.74
0.9
0.74
0.9
2
4
6
8
10
12
14
2
4
6
8
10
12
14
Root Locus
Real Axis (seconds-1
)
Imag
inar
y Ax
is (s
econ
ds-1
)
Outer Loop DesignInner looppilot
( )( )( )( )( )
25 0.03 90.3.81 3.53 1.37 0.0458
s ss j s s
+ ++ ± + +
12 12 1
Ks s+ +-
( ) ( )( )( )( )1 2
( 0.03)( 9)2512 1 3.81 3.53 1.37 0.0458
s sL s Ks s s j s s
+ +=
+ + + ± + +
Outer Loop
• On the basis of the root locus on the right, choose a gain of K=1.
• The closed loop poles are:
11.913.92 3.500.819 0.8350.053
jj
−− ±− ±−
Disturbance Response Error
( )( )( )( )( )( )
0
1
25 0.03 911.91 3.92 3.50 0.633 0.646 0.0314
1lim 0.7987
sde
pilot s
des
GGG G
s ss s j s j s
sGs→
−=
+
+ +=
+ + ± + ± +
= −