Ch10 Solutions 2ed
Ch10 Solutions 2ed
10.1 SS For the system in Fig. P10.1 the closed-loop transfer function (CLTF) is
GC ( s )GP ( s ) Y (s)
T (s) = =
1 + GC ( s )GP ( s ) H ( s ) R ( s )
6 4
KP KP
a) T ( s) = s+2 = 6K P b) T ( s ) = s 2
+ 2s = 4K P
6 s + 2 + 6K P 1 + KP 2
4 s + 2s + 4 K P
2
1 + KP
s+2 s + 2s
8 1
KP KP
c) T ( s) = s + 6s 2 =
3 8K P d) T ( s) = s 2 + 6s + 10 = KP
1 + KP 3
8 s + 6s 2 + 8K P
3
1 + KP 2
2 s 2
+ 6 s + 10 + 2 K P
s + 6s 2
s + 6s + 10
2
KP
e) T ( s) = s +1 2 K P ( s + 20)
= 2
1 + KP
2 20 s + 21s + 20 + 40K P
s + 1 s + 20
3
KP
f) T ( s ) = s + 6s
2 3K P ( s + 10)
= 3
1+ KP 2
3 10 s + 16s 2 + 60s + 30K P
s + 6s s + 10
KPs + KI 2
g) T ( s ) = s s + 5s + 4 =
2 2( K P s + K I )
KPs + KI 2 s + 5s + ( 4 + 2 K P ) s + 2 K I
3 2
1+
s s 2 + 5s + 4
1
(KDs + KP )
h) T ( s) = s + 3s =
2 KDs + KP
1 + (KDs + KP ) 2
1 s + (3 + K D ) s + K P
2
s + 3s
KDs2 + KPs + KI 1
s s + 2s + 6 =
2 KDs2 + KPs + KI
i) T ( s) =
K s2 + KPs + KI 1 s 3 + ( 2 + K D ) s 2 + (6 + K P ) s + K I
1+ D
s s 2 + 2s + 6
Chapter 10
10.2 The given controller, plant, and feedback transfer functions are
3
GC (s) = KP GP ( s) = H ( s) = 1
s + 8s + 20
2
a) The system is Type 0 (there are no integrators in the loop). Therefore the steady-state error for
a unit-step input is
1 3K P
ess = where K sp = lim G ( s) = lim GC ( s)GP ( s) = lim 2
1 + K sp s → 0 s → 0 s → 0 s + 8s + 20
Using KP = 35, Ksp = 5.25 and the steady-state error is ess = 0.16
b) Because the system is Type 0 (again, no integrators in the loop) the closed-loop system cannot
track a ramp input. Therefore the tracking error diverges to infinity at time increases.
2
Chapter 10
10.3 The given controller, plant, and feedback transfer functions are
KP s + KI 3
GC ( s) = GP ( s) = H ( s) = 1
s s + 8s + 20
2
a) The system is Type 1 (because this is a PI controller there is one integrator in the loop).
Therefore the steady-state error for a step input is zero (perfect tracking).
b) The steady-state error for a Type-1 system with a ramp input (slope = 0.6) is
0.6
ess = where K sv = lim sG ( s ) = lim sGC ( s )GP ( s)
K sv s →0 s →0
Substituting for the controller and plant, the static velocity constant is
KP s + KI 3 3( K s + K I )
K sv = lim s = lim 2 P
s →0 s s + 8s + 20
2 s → 0 s + 8s + 20
Using KI = 60, we find Ksv = 9 and the steady-state error is ess = 0.0667
3
Chapter 10
G ( s) 0.6 0.6 s
T ( s) = = =
1 + G ( s) H ( s) 1 + 0.6 s + 0.6
s
a) Because the input is a step (constant), we can use the DC gain of the CLTF to obtain the
steady-state response. Since T(s = 0) = 0, the steady-state output is y() = 0 .
b) The time constant of the first-order CLTF is = 1/0.6 = 1.6667 s. Hence the settling time is
approximately four time constants, or tS = 4 = 6.6667 s.
4
Chapter 10
2
KP
K PGP ( s ) s +1 2 K P ( s + 6)
T ( s) = = = 2
1 + K PGP ( s ) H ( s) 1 + K 2 6 s + 7 s + 6 + 12K P
s +1 s + 6
P
a) The (closed-loop) undamped natural frequency is obtained from the zeroth-order term, or
n = 6 + 12K P = 4 rad/s. Hence the gain setting must be KP = 0.8333.
b) The (closed-loop) damping ratio is obtained from the first-order term 7 = 2n , where the
undamped natural frequency is n = 6 + 12K P . Setting = 0.7 and solving for the gain yields
the solution KP = 1.5833.
4( s + 6)
T (s) =
s + 7 s + 30
2
Because the input is a constant (magnitude of 4) we can use the CLTF DC gain: T(s = 0) = 24/30
= 0.8 and hence the steady-state output is ySS = (4)(0.8) = 3.2.
5
Chapter 10
1
K1G ( s )
Y (s) s
T (s) = =
R( s) 1 + K G ( s) 1
1
s
where G(s) is the closed-loop transfer function of the “inner” closed-loop feedback system:
1
G ( s) = s + 4 =
1
1+
K2 s + 4 + K2
s+4
1 1
K1
Y (s) s + 4 + K2 s K1
T ( s) = = =
R( s) 1 + K 1 1 s + (4 + K 2 ) s + K1
2
s + 4 + K2 s
1
b) The (closed-loop) damping ratio is obtained from the first-order term 4 + K2 = 2n , where
the undamped natural frequency is n = K1 . Substituting the Option 1 gains (K1 = 15, K2 = 2)
yields n = 3.873 rad/s and damping ratio = 0.7746. Substituting the Option 2 gains (K1 = 30,
K2 = 3) yields n = 5.4772 rad/s and damping ratio = 0.6390. Therefore Option 1 gains provide
the largest closed-loop damping ratio.
6
Chapter 10
10.7 SS a) We may use Table 10-3 to compute the steady-state tracking error. Note that the
plant is a type 1 system (it has one “pure integrator”). For a ramp input (with slope 0.2) the
steady-state error for a type-1 system is
0.2
Type-1 system: eSS =
K SV
where the “static velocity error constant” is K SV = lim s G ( s ) . The forward transfer function is
s →0
3K P
G( s) =
s( s + 4)
When the control gain is KP = 2, we get KSV = 6/4 = 1.5, and the steady-state error eSS = 0.1333.
KPs + KI 3 3( K s + K I )
G( s) = GC ( s)GP ( s) = = 2P
s s( s + 4) s ( s + 4)
Because the forward transfer function is type 2 the steady-state error for a ramp input is zero.
7
Chapter 10
KPs + KI 1
Y ( s) s ( s + 2)(s + 8) KPs + KI
T ( s) = = = 3
R( s ) 1 + K P s + K I 1 s + 10s + (16 + K P ) s + K I
2
s ( s + 2)(s + 8)
5s + 25
T ( s) =
s 3 + 10s 2 + 21s + 25
The three roots of the closed-loop transfer function are s1 = –7.6926 and s2,3 = −1.1537 j1.3852 .
Since all closed-loop roots have negative real parts the closed-loop system is stable for this gain
setting.
b) We want the output at time t = 8 s for a ramp input r(t) = 1.4t. The complex closed-loop root
at s2,3 = −1.1537 j1.3852 is the “slowest” root and its settling time is approximately 3.5 s.
Hence, the closed-loop transient response has died out by t = 8 s. Using Table 10-1 we see that
the for a type 1 system the steady-state error for a ramp input (with slope 1.4) is
1.4
Type-1 system: eSS =
K SV
The system is clearly type 1 due to the PI controller in the forward path. The “static velocity
error constant” is K SV = lim s G ( s ) . The forward transfer function is
s →0
KPs + KI 1 5s + 25
G( s) = GC ( s)GP ( s) = = (using the PI gains)
s ( s + 2)(s + 8) s( s + 2)(s + 8)
Hence KSV = 25/16 = 1.5625, and the steady-state error for a ramp input is eSS = 0.8960. The
output at time t = 8 s can be computed using the tracking error since e = r – y. Therefore
8
Chapter 10
K ( s + 5)
The controller is a lead filter GC ( s ) =
s + 15
3K ( s + 5)
The root locus is governed by the open-loop transfer function: G ( s) H ( s) =
s( s + 15)( s + 4)
Therefore the asymptotes of the root locus plot are located on the real axis at
n m
p −z
i =1
i
j =1
j
(0 − 4 − 15) − (−5)
a = = = −7
n−m 3 −1
k180o
= for k = 1, 3, 5, …
n−m
For all odd values of k and n – m = 2, the asymptotes angles are = 90o (vertical) centered on
the real axis at a = –7.
9
Chapter 10
10.10 a) The MATLAB commands for computing the closed-loop transfer function are
>> Kp = 3; % P gain
>> sysGp = tf(6,[1 2]); % plant transfer function GP(s)
>> sysG = Kp*sysGp; % forward transfer function G(s)
>> sysH = 1; % feedback transfer function H(s)
>> sysT = feedback(sysG,sysH) % closed-loop transfer function T(s)
b) The single root of the CLTF is a negative real number s = –20 and hence the transient closed-
loop step response is an exponential function (no oscillations). The time constant is = 1/20 =
0.05 s and the settling time is tS = 4 = 0.2 s. The DC gain of the CLTF is 18/20 = 0.9 and
therefore the steady-state response to a unit-step input is ySS = 0.9.
c) The composite Simulink model is below: note the two separate systems and simulations. Both
step function blocks are unit-step inputs.
The plot of outputs y and y1 vs. time t from executing the Simulink model is below:
1
0.9
0.8
0.7
0.6
Output, y
0.5
0.4
0.3
0.2
0.1
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
Time, s
Note that both y and y1 responses are identical (as expected) and show an exponential rise to a
steady-state value of 0.9 with a settling time of 0.2 s which verifies part (b).
10
Chapter 10
10.11 a) The MATLAB commands for computing the closed-loop transfer function are
>> Kp = 5; % P gain
>> sysGp = tf(8,[1 6 0 0]); % plant transfer function GP(s)
>> sysG = Kp*sysGp; % forward transfer function G(s)
>> sysH = 1; % feedback transfer function H(s)
>> sysT = feedback(sysG,sysH) % closed-loop transfer function T(s)
b) The three roots of the CLTF are s1 = −6.852 and s2,3 = 0.4260 j 2.3783. Because two
roots are complex the transient response will exhibit oscillations (with frequency of 2.378 rad/s).
However, the two complex roots have positive real parts and therefore the closed-loop system is
unstable and does not reach a steady-state value (the response oscillates and diverges to infinity).
The plot of outputs y and y1 vs. time t from executing the Simulink model is below:
60
50
40
30
20
Output, y
10
0
-10
-20
-30
-40
-50
0 2 4 6 8 10
Time, s
Note that both y and y1 responses are identical (as expected) and show an unstable oscillatory
response to the step input which verifies part (b).
11
Chapter 10
10.12 a) The MATLAB commands for computing the closed-loop transfer function are
>> Kp = 4; % P gain
>> sysGp = tf(1,[1 6 10]); % plant transfer function GP(s)
>> sysG = Kp*sysGp; % forward transfer function G(s)
>> sysH = 2; % feedback transfer function H(s)
>> sysT = feedback(sysG,sysH) % closed-loop transfer function T(s)
b) The two roots of the CLTF are s1, 2 = −3 j3 . Because the two roots are complex the
transient response will exhibit oscillations (with frequency of 3 rad/s). The time constant is =
1/3 = 0.3333 s and the settling time is tS = 4 = 1.3333 s. The DC gain of the CLTF is 4/18 =
0.2222 and therefore the steady-state response to a unit-step input is ySS = 0.2222.
c) The composite Simulink model is below: Note the feedback transfer function H(s) = 2.
The plot of outputs y and y1 vs. time t from executing the Simulink model is below:
0.25
0.2
0.15
Output, y
0.1
0.05
0
0 0.5 1 1.5 2 2.5
Time, s
Note that both y and y1 responses are identical (as expected) and show an oscillatory response to
the step input with settling time of 1.333 s and steady-state response of 0.222 which verifies part
(b). The closed-loop response is well damped and only shows a slight overshoot of ySS.
12
Chapter 10
10.13 a) The MATLAB commands for computing the closed-loop transfer function are
b) The three roots of the CLTF are s1 = −4.1190 and s2,3 = −0.4405 j 0.8815 . Because two
roots are complex the transient response will exhibit oscillations (with frequency of 0.8815 rad/s).
The slowest time constant is = 1/0.4405 = 2.2701 s and the settling time is tS = 4 = 9.081 s.
The DC gain of the CLTF is 4/4 = 1 and therefore the steady-state response to a unit-step input is
ySS = 1.
The plot of outputs y and y1 vs. time t from executing the Simulink model is below:
1.4
1.2
1
Output, y
0.8
0.6
0.4
0.2
0
0 5 10 15
Time, s
Note that both y and y1 responses are identical (as expected) and show an oscillatory response to
the step input with settling time of 9.1 s and steady-state response of unity which verifies part (b).
13
Chapter 10
10.14 The given controller, plant, and feedback transfer functions are
6( s + 1)
GC (s) = KP GP ( s) = H ( s) = 1
s( s + 2)( s 2 + 3s + 24)
a) The below MATLAB commands create the root locus plot. Note that the convolution
command conv is used to multiply the two polynomials in the denominator of the plant transfer
function. The rlocfind command allows the user to use the “crosshairs” to determine the
stable range for gain KP by clicking on the root locus as it crosses the imaginary axis.
The root locus plot (with selected points using rlocfind) is below. Selecting the branch as it
crosses the imaginary axis results in
KP = 12.79 and four closed-loop poles –4.05, –0.73, and −0.11 j5.096 (still stable)
Repeating the command CLpoles = rlocus(sysGp*sysH,Kp) allows the user to try trial
gains until the closed-loop poles cross the imaginary axis (i.e., zero real part). The closed-loop
system is stable for gains 0 < KP < 14.326
14
Chapter 10
b) The below MATLAB commands create Bode diagram and determine the gain and phase
margin for KP = 5.
The resulting Bode diagram is below. The gain margin is Gm = 9.14 dB and the phase margin is
Pm = 101 deg.
The gain margin as a multiplicative factor is 109.14/20 = 2.8642. Therefore, the maximum gain for
marginal stability is KP = (5)(2.8642) = 14.3209, which verifies the solution found in part (a).
15
Chapter 10
10.15 The given controller, plant, and feedback transfer functions are
0.4( s + 1) 30
GC (s) = K (s + 5) GP ( s) = H ( s) =
s( s 2 + 4s + 36) 2s + 30
The root locus plot is below. All root locus branches remain in the left-half plane, so therefore
the closed-loop system is stable for all gains K > 0
b) The below MATLAB commands create Bode diagram and determine the gain and phase
margin for K = 2.
16
Chapter 10
The resulting Bode diagram is below. The gain margin is Gm = Infinity and the phase margin is
Pm = 96.5 deg. The gain margin is infinite because the phase angle plot never crosses –180 deg.
An infinite gain margin means that all gains K > 0 result in stable closed-loop systems, which
verifies the solution found in part (a).
17
Chapter 10
10.16 The given controller, plant, and feedback transfer functions are
K ( s + 2) 12
GC ( s) = GP ( s) = H ( s) = 1
2s + 16 s( s + 9s + 26)
2
a) The below MATLAB commands create the root locus plot and allow the user to place the
crosshairs on the imaginary axis to find the gain where the closed-loop system goes unstable.
The root locus plot (with selected points using rlocfind) is below. Selecting the branch as it
crosses the imaginary axis results in
KP = 155.36 and four closed-loop poles –14.98, –1.84, and −0.086 j8.214 (still stable)
18
Chapter 10
b) The below MATLAB commands create Bode diagram and determine the gain and phase
margin for K = 20.
The resulting Bode diagram is below. The gain margin is Gm = 18.3 dB and the phase margin is
Pm = 88 deg.
The gain margin as a multiplicative factor is 1018.3/20 = 8.2224. Therefore, the maximum gain for
marginal stability is K = (20)(8.2224) = 164.448 , which verifies the solution found in part (a).
Note the loss of accuracy due to the presentation of Gm rounded to the tenths decimal place.
19
Chapter 10
3
K ( s + 5) 2
Y ( s) s 3Ks + 15K
T ( s) = = = 2
R( s ) 1 + K ( s + 5) 3 s + 3Ks + 15K
s2
Using the “standard form” for an underdamped second-order system, the zeroth-order term
provides the undamped natural frequency, n = 15K , and the first-order term is 2n = 3K .
Substituting for n we obtain the damping ratio:
b) The following MATLAB commands will create the root-locus plot and draw the “s grid” lines
on the root locus:
Root Locus
5
0.9 0.81 0.7 0.56 0.4 0.2
4
0.955
3
2 0.988
1
Imaginary Axis
12 10 8 6 4 2
0
-1
-2 0.988
-3
0.955
-4
0.9 0.81 0.7 0.56 0.4 0.2
-5
-12 -10 -8 -6 -4 -2 0
Real Axis
Clicking on the root-locus branch that crosses the 45-deg “s grid” line of = 0.7 gives us the gain
K = 3.2506 and closed-loop roots − 4.877 j 4.953 which essentially verifies part (a).
20
Chapter 10
10.18 a) The MATLAB commands for the root locus are below:
Root Locus
10
2
Imaginary Axis
-2
-4
-6
-8
-10
-16 -14 -12 -10 -8 -6 -4 -2 0 2 4
Real Axis
b) We can use MATLAB’s rlocfind command to estimate the gain KP where the closed-loop
roots cross the imaginary axis (i.e., marginal stability).
Placing the cross-hair target on the imaginary axis crossing yields Kp = 9.1698 and the closed-
loop roots CL_roots = –7.9535 and − 0.0233 j 4.0779 which are very close to point of
marginal stability (i.e., the real part of the complex roots is nearly zero). We can use the
MATLAB command rlocus to iterate on Kp until we obtain purely imaginary closed-loop
roots. For example:
Eventually we find that for gain KP = 9.45 the closed-loop roots are –8 and j 4.1231. This
gain and closed-loop roots indicate the marginal stability condition.
21
Chapter 10
The closed-loop response to a unit-step input is a harmonic oscillation as expected (i.e., marginal
stability). The period is about 1.52 sec, so the frequency is = 2/1.52 = 4.13 rad/s which is
very close to the closed-loop pole at the imaginary axis crossing from part (b).
1.8
1.6
1.4
1.2
Output, y
0.8
0.6
0.4
0.2
0
0 2 4 6 8 10
Time, s
22
Chapter 10
10.19 The Simulink model of the closed-loop system with a PI controller and ramp input (slope
is 1.4) is below:
The plot of ramp input r(t) and closed-loop response y(t) is below. Note that the output at time t
= 8 s is about 10.3 which verifies the calculation in Problem 10.8b.
12
0
0 1 2 3 4 5 6 7 8
Time, s
23
Chapter 10
10.20 In order to apply the Ziegler-Nichols ultimate-gain method, we obtain the closed-loop
response to a unit-step input using the Simulink model shown below. Note that only the P-gain is
used in the controller. The P-gain is increased until the closed-loop system is marginally stable.
The closed-loop system becomes marginally stable (sustained oscillations) with KP = 82.5 as
shown in the plot below. The step response with ultimate gain KP = KU = 82.5 is shown below.
The period of oscillation (“ultimate period”) is PU = 0.65 s.
Using the Ziegler-Nichols tuning rules for the ultimate-gain method (see Table 10.2), a starting
point for the PID gains are
1.2 KU
Integral gain: KI = = 152.3
PU
24
Chapter 10
Using these trial PID gains in the Simulink model, the closed-loop step-response is plotted below:
The closed-loop response shown above has 31% overshoot with these trial PID gains which is too
high (the goal is 10% overshoot). We know that the proportional term speeds up the initial rise,
the integrator term slows down the response, and the derivative term adds damping. Therefore,
we ran a few trials and eventually found a good set of PID gains: KP = 45, KI = 120, and KD = 6.
The closed-loop response is below. Now the peak overshoot is less than 10% (good damping)
and the settling time is short (about 1.5 s).
25
Chapter 10
10.21 The basic MATLAB commands for creating the root locus with the PD controller are
We see with trial values of zero location zC that if the PD controller zero is to the left of the plant
pole at s = –3 then the two root-locus branches emanating from the double open-loop pole at s = 0
move to the right-half plane (unstable). Furthermore, is the PD controller zero zC is too close to
the open-loop pole at s = –3 then it has little effect on the two loci emanating from the origin.
Therefore, the key is to place the PD zero near to the origin so that it “pulls” the double loci
branches to the left in order to increase damping. A good solution occurs with zC = 0.5 (see root
locus plot below)
Root Locus
3
3
0.64 0.5 0.38 0.28 0.17 0.08
2.5
0.8
2
2
1.5
0.5
-1 0.94
1
1.5
-2
2
0.8
2.5
0.64 0.5 0.38 0.28 0.17 0.08
-3
-3 -2.5 -2 -1.5 -1 -0.5 30
Real Axis
Clearly part of the complex loci branches have damping ratio > 0.65 and n > 1 rad/s (see doted
region on root locus plot). Therefore, it is possible to use rlocfind to click on the branch in
this region and obtain the following results:
K = 1.8572, and the three closed-loop poles are s1 = –1.1902 and s2,3 = −0.9049 j 0.8611
Hence a good PD controller design is GC(s) = 1.8572(s + 0.5). Using this PD controller the two
underdamped poles of the closed-loop system have undamped natural frequency n = 1.25 rad/s
and damping ratio = 0.724.
26
Chapter 10
10.22 SS a) In order to apply the Ziegler-Nichols reaction-curve method, we obtain the plant’s
open-loop response to a unit-step input using the Simulink model shown below:
Td = 15 s
Using the above “S-shaped reaction curve” response, we estimate the delay time as Td = 15 s and
the maximum slope as R = 2.7/98 = 0.0276. The Ziegler-Nichols PID gains are computed using
the formulas in Table 10.1 and the values for R and Td
1.2
Proportional gain: KP = = 2.904
RTd
0 .6
Integral gain: KI = = 0.097
RTd2
0.6
Derivative gain: KD = = 21.778
R
27
Chapter 10
b) The Simulink model of the closed-loop system using the Ziegler-Nichols PID gains is shown
below:
The closed-loop response to a unit-step input is shown below. Note that the maximum percent
overshoot is almost 75%.
c) We need to add damping to the closed-loop control system in order to decrease the overshoot.
The closed-loop response can be improved by increasing the derivative gain that was obtained
using the Ziegler-Nichols reaction-curve method (that is, KD = 21.778). After some trial-and-
error simulations using the Simulink model, we see that a derivative gain KD = 65 and
proportional gain KP = 4 provides a fast response with less overshoot. A plot showing both
closed-loop responses using the PID schemes from part (b) and part (c) is below. The
proportional gain is increased from 2.904 to 4 in order to maintain a fast response (short peak
28
Chapter 10
time) with the increased damping. Note that the closed-loop response with the improved PID
gains reaches steady state much more quickly when compared to the response using the Ziegler-
Nichols gains.
29
Chapter 10
1.8
1.6
1.4
Closed-loop response, y
1.2
0.8
0.6
0.4
0.2
0
0 50 100 150 200 250 300 350 400
Time, s
From this plot we estimate the period to be PU = 70 s. Using Table 10.2, the Ziegler-Nichols PID
gains are
1.2 KU
Integral gain: KI = = 0.08
PU
b) The Simulink model of the closed-loop system using the Ziegler-Nichols PID gains is below:
30
Chapter 10
The closed-loop response to a unit-step input is shown below. Note that the maximum percent
overshoot is 60%.
1.8
1.6
1.2
0.8
0.6
0.4
0.2
0
0 50 100 150 200 250 300 350 400
Time, s
Closed-loop response using Ziegler-Nichols PID gains (ultimate-gain method)
c) We need to add damping in order to decrease the overshoot. The closed-loop response can be
improved by increasing the derivative gain KD that was obtained using the Ziegler-Nichols
ultimate-gain method. After some trial and error, we see that a derivative gain KD = 60 and
proportional gain KP = 3.5 provides a fast response with less overshoot (more damping). A plot
showing both closed-loop responses using the PID schemes from part (b) and part (c) is below.
1.8
Ziegler-Nichols PID gains
1.6 Kp = 3.5, K I = 0.08, K D = 60
Closed-loop PID responses, y
1.4
1.2
0.8
0.6
0.4
0.2
0
200 250 300 350 0400 50 100 150
Time, s
Closed-loop response using Ziegler-Nichols PID gains (ultimate-gain method) and improved gains
31
Chapter 10
10.24 a) The MATLAB commands for the root locus plots are
>> pL = 4; % select the lead controller pole location
>> sysGc = tf([1 3],[1 pL]); % lead controller transfer function (without gain K)
>> KA = 2; % actuator gain
>> sysGp = tf(1,[1 0.3 0 ]); % plant transfer function
>> sysGH = sysGc*KA*sysGp; % open-loop transfer function
>> rlocus(sysGH); % create root locus plot for open-loop TF
>> sgrid % draw s-grid ( and n contours) on root locus
The four different root-locus plots for the four different lead controllers are below:
Root Locus Root Locus
10 20
10 20
0.32 0.23 0.16 0.115 0.07 0.035 0.54 0.4 0.3 0.21 0.13 0.0617.5
8
8 15
15 0.7
0.48
6 12.5
6
10
10
4 7.5
4
0.75 0.9
5
2 5
2
Imaginary Axis
Imaginary Axis
2.5
0 0
-2 2.5
2 -5
5
0.75 0.9
-4 7.5
4
-10
10
-6
6 12.5
0.48 -15 0.7
-8 15
8
0.32 0.23 0.16 0.115 0.07 0.035 0.54 0.4 0.3 0.21 0.13 0.0617.5
-10 -20
-4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 10 0 -15 -10 -5 20 0
4
0.99 5 0.985
2
Imaginary Axis
Imaginary Axis
25 20 15 10 5 30 25 20 15 10 5
0 0
-2
0.99 -5 0.985
-4
-6
-10
0.96 0.94
-8
0.91 0.83 0.72 0.58 0.4 0.2 0.86 0.76 0.64 0.5 0.34 0.16
-10 -15
-25 -20 -15 -10 -5 0 -30 -25 -20 -15 -10 -5 0
Real Axis Real Axis
b) When the pole of the lead controller is near the zero of the controller (at s = –3) the lead controller has
very little effect on the dominant complex closed-loop pole locations – see plot (i). As the lead controller
pole is moved to the left (i.e., pL becomes larger) the complex root locus branches are bent to the left and
closer to the negative real axis – see (ii) and (iii). For lead controllers with large pL the closed-loop system
has improved damping and faster response because the dominate complex poles have moved to the left and
are closer to the negative real axis. The root locus for the lead controller with a pole at –30 [plot (iv)]
resembles the PD controller root locus of Example 10.12 (Fig. 10.42). The root locus for the lead
controller with a pole at –15 [plot (ii)] resembles the lead controller root locus of Example 10.13 (Fig.
10.49). The low-pass filtering effect of the lead controller pole is diminished as the pole is moved to the
left and hence the lead controller “looks like” a pure PD controller.
32
Chapter 10
K ( s + 5)
GC ( s ) =
s + 15
a) The MATLAB commands to create the root-locus plot are shown below:
We see that all three branches of the root locus remain on the left-half plane (that is, to the left of
the imaginary axis) as the gain K is varied from zero to infinity. One root-locus branch
terminates at the open-loop zero at s = –5, while the other two root-locus branches approach
vertical asymptotes centered at s = –7. Therefore, the closed-loop system is stable for all gains
K > 0.
33
Chapter 10
b) The MATLAB commands that determine the gain and phase margins are shown below:
Gm = Inf
Pm = 67.5761
Wgm = Inf
Wpm = 4.3149
The gain margin Gm is infinite. This means that multiplying the current gain setting (K = 20) by
any positive number results in a stable closed-loop system. The closed-loop system cannot be
driven to instability even as K → . This verifies the root-locus result obtained in part (a).
The second margin command creates the Bode diagram, which is shown below:
The phase plot never crosses –180 deg, and hence the phase-crossing frequency is infinite (see the
prior result where Wgm = Inf). Therefore, it is impossible to adjust the gain K to obtain a
Magnitude of 0 dB and a Phase angle of –180 deg (that is, the critical point for marginal stability
can never be achieved). Thus, the gain margin is infinite.
34
Chapter 10
10.26 a) The MATLAB commands to compute gain and phase margins for P-control are
>> Kp = 2.5; % P-gain
>> sysGp = tf(40,[3 24 51 30]); % plant transfer function
>> sysGH = Kp*sysGp; % open-loop transfer function
>> margin(sysGH) % plots Bode diagram and computes GM, PM
Bode Diagram
Gm = 11.6 dB (at 4.12 rad/sec) , Pm = 50.9 deg (at 1.97 rad/sec)
50
Magnitude (dB) 0
-50
-100
-150
0
Phase (deg)
-90
-180
-270
-2 -1 0 1 2 3
10 10 10 10 10 10
Frequency (rad/sec)
The gain and phase margins are Gm = 11.6 dB and Pm = 50.9 deg, respectively.
b) The MATLAB commands to compute gain and phase margins for PD-control are
0
Magnitude (dB)
-20
-40
-60
0
-45
Phase (deg)
-90
-135
-180
-2 -1 0 1 2
10 10 10 10 10
Frequency (rad/sec)
The gain and phase margins are Gm = infinity and Pm = 80.8 deg, respectively. The gain
margin is infinite because the phase angle never reaches –180 deg.
35
Chapter 10
Root Locus
10
2
Imaginary Axis
-2
-4
-6
-8
-10
-16 -14 -12 -10 -8 -6 -4 -2 0 2 4
Real Axis
Root Locus
3
1
Imaginary Axis
-1
-2
-3
-6 -5 -4 -3 -2 -1 0
Real Axis
We see that the closed-loop system with P-control can be driven unstable if the gain is too high;
i.e., the Bode diagram shows a finite gain margin and the root locus shows the complex poles
crossing the imaginary axis and moving into the right-half plane. Adding a zero at s = –1.6667
(PD control) shifts the breakaway point to the left (faster response) and causes the asymptotes to
be 90 deg which results in a stable closed-loop system for all gains (i.e., the complex branches
never cross the imaginary axis). The Bode diagram shows infinite gain margin for PD control.
36
Chapter 10
10.27 We begin the controller design by computing the steady-state error for a Type 1 system
with a ramp input (slope is 0.5)
0.5
Type-1 system: eSS =
K SV
where the “static velocity error constant” is K SV = lim s G ( s ) . The forward transfer function is
s →0
K (s + zL ) 0.1
G ( s ) = GC ( s )GP ( s ) =
s + pL s( s + 1)(s + 6)
Therefore the static velocity error constant is K SV = 0.1Kz L and the steady-state error
6 pL
requirement is
0.5 30 pL
eSS = = 0.2 (A)
K SV Kz L
Next, we can check the stability margins for a simple P-controller using MATLAB’s margin
command:
50
Magnitude (dB)
-50
-100
-150
-200
-90
-135
Phase (deg)
-180
-225
-270
-2 -1 0 1 2 3
10 10 10 10 10 10
Frequency (rad/sec)
We see that with P-gain KP = 48 the gain margin is 18.8 dB and phase margin is 50.2 deg. If the
P-gain is increased the 50-deg phase margin constraint is violated. The steady-state error using a
P-controller (with gain KP = 48) is
0.5 0.5
eSS = = = 0.625 → violates constraint Eq. (A)
K SV 0.01667K P
37
Chapter 10
Hence while a simple P-controller can satisfy the GM and PM constraints it cannot satisfy the
steady-state accuracy requirement.
We can increase the gain KP so that the steady-state error is less than 0.2 as required. Therefore,
set KP = 150 so that eSS = 0.2. The gain and phase margins with KP = 150 are
50
Magnitude (dB)
-50
-100
-150
-90
-135
Phase (deg)
-180
-225
-270
-2 -1 0 1 2 3
10 10 10 10 10 10
Frequency (rad/sec)
Note that the 0-dB and 180-deg crossover frequencies are close to each other which results in the
low gain and phase margins.
We can increase the phase margin by adding the lead controller zero near the 0-dB crossover
frequency. Hence, choose zL = 1. Next, select the lead controller pole at pL = 7. Equation (A)
requires that the controller gain K be at least 1050 so that the steady-state error is 0.2. The gain
and phase margins with the lead controller and gain K = 1050 are computed below:
The Bode diagram (next page) shows that gain margin is Gm = 14.3 dB and phase margin is
Pm = 51.9 deg which satisfies the first two design requirements
38
Chapter 10
Bode Diagram
Gm = 14.3 dB (at 6.48 rad/sec) , Pm = 51.9 deg (at 2.23 rad/sec)
50
Magnitude (dB)
-50
-100
-150
-90
-135
Phase (deg)
-180
-225
-270
-1 0 1 2 3
10 10 10 10 10
Frequency (rad/sec)
1050( s + 1)
GC ( s) =
s+7
39
Chapter 10
10.28 SS Using the Bode diagram in Fig. P10.28, we see that the –180 deg phase-crossing
frequency is about 1 rad/s and the 0-dB gain crossover frequency is about 0.66 rad/s. The
magnitude at the phase-crossing frequency is about –7 dB, so the gain margin (in decibels) is 7
dB. The gain margin as a multiplicative factor is 107/20 so GM = 2.24.
The phase angle at the 0-dB gain crossover frequency is roughly –158 deg. Hence the phase
margin is the difference between the –180 deg and –158 deg, or PM = 22 deg.
Since the GM is 2.24 and the current gain is K = 2, the control gain for marginal stability is
(2.24)(2) or KMS = 4.48.
40
Chapter 10
10.29 a) The MATLAB commands for the root locus plot are
>> KV = 2.2e-4; % solenoid/valve gain
>> sysGp = tf(7.003e6,[1 28.3 15890 0]); % plant transfer function
>> sysGH = KV*sysGp; % open-loop transfer function
>> rlocus(sysGH); % create root locus plot for open-loop TF
The root-locus plot with P-control is below. Clearly a simple proportional controller will not
work since the two complex roots immediately move toward the imaginary axis (decreasing
damping) as the gain KP is increased and eventually cross the imaginary axis. Hence the closed-
loop system becomes unstable for larger gain values.
Root Locus
400
300
200
100
Imaginary Axis
-100
-200
-300
-400
-500 -400 -300 -200 -100 0 100 200
Real Axis
b) MATLAB’s rlocfind command can be used to place the crosshair target on the imaginary
axis crossing to obtain the gain KP
The selected point is Kp = 305.8247 and the three closed-loop roots are s1 = –29.58 and
s2,3 = 0.64 j126.2 which is very close to the point of marginal stability (i.e., crossing the
imaginary axis). We can use the MATLAB command rlocus to iterate on KP until the complex
closed-loop roots have zero real parts. The exact solution for the maximum gain for marginal
stability is KP = 291.9.
c) The plant (pneumatic servo) is a type-1 system. The steady-state error for a type-1 system
with a ramp input (with slope of 0.008) is
0.008
Type-1 system: eSS =
K SV
where the “static velocity error constant” is K SV = lim s G ( s ) . The forward transfer function is
s →0
41
Chapter 10
7.003(106 ) K P KV
G( s) = GC ( s) KV GP ( s) =
s( s 2 + 28.3s + 15890)
Hence, using KP = 10 V/m and KV = 2.2(10-4) m/V we obtain KSV = 0.9696. The steady-state error
for a ramp input is eSS = 0.0083 m (or, 8.3 mm).
d) The MATLAB commands for the root locus plot with a PD controller are
The root-locus plot with PD-control is below. Adding the open-loop zero at s = –5 has made the
closed-loop system stable for all values of gain K (i.e., all root-locus branches remain in the left-
half plane and do not cross the imaginary axis). However, the closed-loop damping is
insufficient: the complex roots immediately move “upward” and to the right as gain K increases
and therefore damping decreases as gain is increased. Note that the damping ratio of the open-
loop plant is = 0.112 which is very low.
Root Locus
250
200
150
100
50
Imaginary Axis
-50
-100
-150
-200
-250
-15 -10 -5 0
Real Axis
e) The MATLAB commands for the root locus plot with the PVA controller are
>> KV = 2.2e-4; % solenoid/valve gain
>> sysGc = tf([1 30 200],1); % PVA controller transfer function
>> sysGp = tf(7.003e6,[1 28.3 15890 0]); % plant transfer function
>> sysGH = sysGc*KV*sysGp; % open-loop transfer function
>> rlocus(sysGH); % create root locus plot for open-loop TF
The root-locus plot with PVA-control is on the next page. The PVA controller adds two open-
loop zeros at s = –10 and s = –20. These two zeros “bend” the closed-loop roots to the left for a
faster closed-loop response. The root locus shows that increasing the gain K causes the two
42
Chapter 10
complex roots to move left and “downward” thus increasing the system damping and reducing the
settling time. The closed-loop system is stable for all gains since the roots remain in the left-half
plane. The closed-loop system can have any damping ratio between = 0.112 (open-loop) and
= 1 by adjusting the gain K (the system can also be overdamped, or > 1, when the complex
branches enter the negative real axis). Thus the PVA controller greatly improves the stability and
damping characteristics compared to the P- and PD-control schemes in parts (a) and (d).
Root Locus
150
100
50
Imaginary Axis
-50
-100
-150
-160 -140 -120 -100 -80 -60 -40 -20 0
Real Axis
43
Chapter 10
10.30 The Simulink model of the Space Shuttle Flare and Shallow Glide Slope is below:
Note that the maximum value of incremental normal acceleration, nZ , occurs at time t = 0 since
the integrator feedback is initially zero and therefore can be computed from the forward loop:
C V
nZ , max = = 0.4
g
Hence, using C = 0.09 rad, V = 420 ft/s, and g = 32.2 ft/s2, we obtain time constant = 2.9348 s.
The closed-loop response for nZ is plotted below. Clearly the initial (peak) value of nZ is 0.4 g
as expected. The incremental normal acceleration exponentially decays to zero over 4 time
constants, i.e. the settling time is tS = 4 = 11.74 s.
0.5
0.45
Incremental normal acceleration, nZ , g
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
0 5 10 15
Time, s
44
Chapter 10
80 K ( s + 3) K (80s + 240)
G( s) H ( s) = = 3
( s + 16)( s − 3.5) s + 16s 2 − 3.5s − 56
2
Note that the open-loop transfer function is the product of all transfer functions in the forward
path (feedback transfer function H(s) is unity). The MATLAB commands that create the root-
locus plot are shown below:
45
Chapter 10
We want to find the gain K that maximizes the closed-loop undamped natural frequency n with
damping ratio = 0.7071. The semi-circle contours in the above root-locus plot show the
locations of constant n. Increasing the radius of the semi-circles increases n. A 45-deg radial
line (passing through the origin) denotes the locations of constant damping ratio = 0.7071.
A zoomed-in view of the root-locus plot is shown below. We see that the 45-deg radial line
(contour for = 0.7071) intersects the root-locus branch in three places. The gain that maximizes
the undamped natural frequency is the intersection farthest from the origin. The zoomed-in root
locus shows that the best design will result in a closed-loop undamped natural frequency of about
7.6 rad/s.
We can use the rlocfind MATLAB command to determine the gain K and closed-loop roots at
the design point:
Placing the cross-hair target on the intersection point and clicking yields
K = 1.4874
Note that the real and imaginary components of the two complex roots are nearly equal (that is,
the roots lie near the 45-deg radial line), and thus the damping ratio is about 0.7071. The exact
closed-loop damping ratio for the selected design point is
46
Chapter 10
5.5017
= tan −1 = 44.88 deg → = cos = 0.7086
5.5243
The closed-loop undamped natural frequency for this design point is the radial distance from the
complex root to the origin:
In summary, the controller gain K = 1.4874 will produce a closed-loop system with the desired
damping ratio ( = 0.709) while maximizing the undamped natural frequency at n = 7.8 rad/s.
47
Chapter 10
10.32 The MATLAB commands that create the Bode diagram and determine the gain and phase
margins are shown below:
The Bode diagram for the trial gain K = 1 is below. The phase margin (PM) is determined by the
0-dB crossover frequency, which is about 4.5 rad/s. Because the phase angle at = 4.5 rad/s is
about –140 deg, the PM is about 40 deg.
The PM is maximized by increasing gain K so that the 0-db crossover frequency corresponds to 7
rad/s where the phase angle shows its peak value of –136 .8 deg. Using the above Bode diagram,
the Magnitude at = 7 rad/s is about –3.5 dB. As a factor, this value is 103.5/20 = 1.5. Thus, an
increased gain setting of K = 1.5 will shift the Magnitude plot “up” so that the 0-dB crossover
frequency is about 7 rad/s.
The Bode diagram with gain K = 1.5 is on the next page. The max PM = 43.2 deg. The GM is
infinite because the phase angle plot does not cross –180 deg.
48
Chapter 10
The following MATLAB commands compute the closed-loop transfer function (CLTF) with gain
K = 1.5 and then determines the poles of the CLTF:
The three closed-loop poles are in the left-half plane (i.e., they have negative real parts) and
therefore the closed-loop system is stable with K = 1.5.
49
Chapter 10
4 23
s + 10 s + 2 92
Grr ( s ) = = =
ref 1 + 4 23 K ( s + 10)( s + 2) + 92 K rr
s + 10 s + 2
rr
12 12
and damping ratio is = = = 0.7
2n 2 20 + 92 K rr
b) The following MATLAB commands plot the root locus for the roll dynamics loop:
The root locus is on the next page. Increasing roll-error gain Kr drives two roots towards the
imaginary axis and eventually crossing into the right-half plane (unstable). A good option for the
two complex roots is the location where they “dip” toward the real axis. Using rlocfind, a
roll-error gain Kr = 1.6 places the two complex roots near this location.
50
Chapter 10
The roll dynamics transfer function G(s) using roll-error gain Kr = 1.6 and roll-rate feedback gain
Krr = 0.5812 is
92 1
Kr
( s + 10)( s + 2) + 92 K rr s 92 K r
G(s) = = =
ref 1 + K 92 1 s( s + 10)( s + 2) + 92 K rr s + 92 K r
( s + 10)( s + 2) + 92 K rr s
r
147.2
G( s) = Aircraft roll dynamics
s + 12s + 73.47 s + 147.2
3 2
The roll dynamics are fast because the slowest pole at –3.28 dies out in about 1.22 s.
We can find the undamped natural frequency and damping ratio from the two complex poles:
4.36
n = 4.362 + 5.092 = 6.70 rad/s and = = 0.651
n
51
Chapter 10
147.2
G( s) = =
s + 12s + 73.47 s + 147.2 ref
3 2
If the reference roll angle is ef = 0.1 rad, then the steady-state roll angle is ss = 0.1 rad (perfect
tracking) because the DC gain of G(s) is unity. The steady-state roll angle will always match the
reference roll angle for any set of gains because the roll dynamics are Type 1 due to the integrator
in the forward loop (see Figure P10.33b).
The steps of parts (a-b) have established the roll dynamics transfer function (repeated below).
147.2
Roll dynamics: G ( s ) = =
s + 12s + 73.47 s + 147.2 ref
3 2
The following MATLAB commands create the root locus plot for the heading control system as
heading gain Kh varies:
The rlocfind command was used to select four closed-loop poles with damping ratios close
to 0.7. The root locus plot (with selected point on RL plot) is on the next page. The heading gain
and closed-loop poles for the selected RL point are
52
Chapter 10
The two damping ratios for these two complex conjugate pairs are
Re
The damping ratio is determined by = where Re and Im are the real and
Re 2 + Im 2
imaginary parts of the complex closed-loop pole.
In summary, the heading gain Kh = 19.75 provides good closed-loop damping ( 0.7 ) with a
settling time of roughly 4/1.24 = 3.23 s for the heading-control system.
53
Chapter 10
We use the roll-rate gain Krr = 0.5 to determine the inner-loop roll-rate transfer function
4 23
s + 10 s + 2 92
Grr ( s ) = = = 2
ref 1 + 4 23
K rr s + 12s + 66
s + 10 s + 2
The below MATLAB commands create the Bode diagram for the roll control system and
determine the gain and phase margins.
The gain margin is GM = 19.6 dB (= 1019.6/20 = 9.55 as multiplicative factor) and phase margin
PM = 76.9 deg. The Bode diagram is on the next page.
54
Chapter 10
55