0% found this document useful (0 votes)
532 views

Ch10 Solutions 2ed

Dynamic Systems: Modeling, Simulation, and Control, 2nd Edition by: Craig A. Kluever

Uploaded by

Mazin Alsaedi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
532 views

Ch10 Solutions 2ed

Dynamic Systems: Modeling, Simulation, and Control, 2nd Edition by: Craig A. Kluever

Uploaded by

Mazin Alsaedi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

Chapter 10: Introduction to Control Systems (2nd Edition)

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

10.4 The closed-loop transfer function (CLTF) is

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

10.5 SS The closed-loop transfer function (CLTF) is

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 = 2n , where the
undamped natural frequency is n = 6 + 12K P . Setting  = 0.7 and solving for the gain yields
the solution KP = 1.5833.

c) With gain setting KP = 2, the CLTF is

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

10.6 SS a) The complete closed-loop transfer function is

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

Substituting this result for G(s) yields the overall CLTF:

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 = 2n , 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.

b) If we use a PI controller the forward transfer function becomes

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

10.8 The closed-loop transfer function (CLTF) is

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)

a) Using gains KP = 5 and KI = 25 the CLTF becomes

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

y(8) = r(8) – eSS = (1.4)(8) – 0.8960 = 10.3040

8
Chapter 10

10.9 The closed-loop system is shown below

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)

The asymptotes are determined by the open-loop poles and zeros:

Open-loop zeros: s = –5 (one zero, or m = 1)


Open-loop poles: s = 0, –4 , –15 (three poles, or n = 3)

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

The asymptote angles are

 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)

The solution is T ( s) = 18 which verifies the solution in Problem 10.1a.


s + 20

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)

The solution is T ( s) = 40 which verifies the solution in Problem 10.1c.


s + 6s 2 + 40
3

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).

c) The composite Simulink model is below:

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)

The solution is T ( s) = 4 which verifies the solution in Problem 10.1d.


s + 6s + 18
2

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

>> Kp = 0.3; % P gain


>> KI = 2; % I gain
>> sysGc = tf([Kp KI],[1 0]); % PI transfer function GC(s)
>> sysGp = tf(2,[1 5 4]); % plant transfer function GP(s)
>> sysG = sysGc*sysGp; % forward transfer function G(s)
>> sysH = 1; % feedback transfer function H(s)
>> sysT = feedback(sysG,sysH) % closed-loop transfer function T(s)

The solution is T ( s) = 0.6s + 4 which verifies the solution in Problem 10.1g.


s + 5s 2 + 4.6s + 4
3

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.

c) The composite Simulink model is below:

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.

>> denGp = conv([1 2 0],[1 3 24]); % denominator of transfer function GP(s)


>> sysGp = tf([6 6],denGp); % plant transfer function GP(s)
>> sysH = 1; % feedback transfer function H(s)
>> rlocus(sysGp*sysH) % draws root locus plot
>> [Kp,CLpoles] = rlocfind(sysGp*sysH)

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.

>> denGp = conv([1 2 0],[1 3 24]); % denominator of transfer function GP(s)


>> sysGp = tf([6 6],denGp); % plant transfer function GP(s)
>> sysH = 1; % feedback transfer function H(s)
>> KP = 5; % P-gain setting
>> margin(KP*sysGp*sysH) % determines gain and phase margins

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

a) The below MATLAB commands create the root locus plot.

>> sysGc = tf([1 5],1); % controller transfer function GC(s)


>> sysGp = tf([0.4 0.4],[1 4 36 0]); % plant transfer function GP(s)
>> sysH = tf([0 30],[2 30]); % feedback transfer function H(s)
>> rlocus(sysGc*sysGp*sysH) % draws root locus plot

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.

>> sysGc = tf([1 5],1); % controller transfer function GC(s)


>> sysGp = tf([0.4 0.4],[1 4 36 0]); % plant transfer function GP(s)
>> sysH = tf([0 30],[2 30]); % feedback transfer function H(s)
>> K = 2; % gain setting
>> margin(K*sysGc*sysGp*sysH) % determines gain and phase margins

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.

>> sysGc = tf([1 2],[2 16]); % controller transfer function GC(s)


>> sysGp = tf(12,[1 9 26 0]); % plant transfer function GP(s)
>> sysH = 1; % feedback transfer function H(s)
>> rlocus(sysGc*sysGp*sysH) % draws root locus plot
>> [K,CLpoles] = rlocfind(sysGc*sysGp*sysH)

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)

Repeating the command CLpoles = rlocus(sysGc*sysGp*sysH,K) 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 < 163.52

18
Chapter 10

b) The below MATLAB commands create Bode diagram and determine the gain and phase
margin for K = 20.

>> sysGc = tf([1 2],[2 16]); % controller transfer function GC(s)


>> sysGp = tf(12,[1 9 26 0]); % plant transfer function GP(s)
>> sysH = 1; % feedback transfer function H(s)
>> K = 20; % gain setting
>> margin(K*sysGc*sysGp*sysH) % determines gain and phase margins

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

10.17 a) The closed-loop transfer function (CLTF) is

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 2n = 3K .
Substituting for n we obtain the damping ratio:

 = 1.5K / 15K = 0.7071

Therefore, the required gain is K = 3.3333.

b) The following MATLAB commands will create the root-locus plot and draw the “s grid” lines
on the root locus:

>> sysGc = tf([1 5],1); % PD transfer function GC(s)


>> sysGp = tf(3,[1 0 0]); % plant transfer function GP(s)
>> sysGH = sysGc*sysGp; % open-loop transfer function G(s)H(s)
>> rlocus(sysGH); % draw root locus of G(s)H(s)
>> sgrid; % draw s-grid on root locus
>> [K,CL_roots] = rlocfind(sysGH) % click on root locus plot to get K

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:

>> sysGH = tf(40,[3 24 51 30]); % plant transfer function GP(s) = G(s)H(s)


>> rlocus(sysGH); % draw root locus of G(s)H(s)

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).

>> [Kp,CL_roots] = rlocfind(sysGH) % click on root locus plot to get KP

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:

>> Kp = 9.2; % P gain


>> CL_roots = rlocus(sysGH,Kp) % compute closed-loop roots for given gain KP

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

c) The closed-loop Simulink model with gain KP = 9.45 is below:

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

10 Ramp input, r(t)


Output, y(t)
Ramp input, r and output, y

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.

Closed-loop unit-step response with KP = 82.5

Using the Ziegler-Nichols tuning rules for the ultimate-gain method (see Table 10.2), a starting
point for the PID gains are

Proportional gain: KP = 0.6KU = 49.5

1.2 KU
Integral gain: KI = = 152.3
PU

Derivative gain: KD = 0.075KU PU = 4

24
Chapter 10

Using these trial PID gains in the Simulink model, the closed-loop step-response is plotted below:

Closed-loop unit-step response with PID gains KP = 49.5, KI = 152.3, KD = 4

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).

Closed-loop unit-step response with PID gains KP = 45, KI = 120, KD = 6

25
Chapter 10

10.21 The basic MATLAB commands for creating the root locus with the PD controller are

>> zC = 0.5; % select the zero location zC


>> sysGc = tf([1 zC],1); % PD transfer function (without gain K)
>> sysGp = tf(2,[1 3 0 0 ]); % plant transfer function
>> sysGH = sysGc*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
>> [K,CL_poles]=rlocfind(sysGH); % put crosshairs on root locus and click

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

1 0.94 Satisfies  > 0.65 1

and n > 1 rad/s 0.5


Imaginary Axis

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

Root locus with controller zero at zC = –0.5

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:

The open-loop step response is 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

10.23 To apply Ziegler-Nichol’s ultimate-gain method, we obtain the plant’s closed-loop


response to a unit-step input with a proportional (P) controller only. The P-gain KP is increased
until sustained oscillations are observed (i.e., marginal stability). The plot below shows the
closed-loop step response with the “ultimate gain” of KU = 4.65.

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

Proportional gain: K P = 0.6KU = 2.79

1.2 KU
Integral gain: KI = = 0.08
PU

Derivative gain: KD = 0.075KU PU = 24.41

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

Closed-loop PID response, y


1.4

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

Real Axis Real Axis

(i) Lead controller (s+3)/(s+4) (ii) Lead controller (s+3)/(s+15)

Root Locus Root Locus


10 15
0.91 0.83 0.72 0.58 0.4 0.2 0.86 0.76 0.64 0.5 0.34 0.16
8
0.96 0.94
10
6

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

(iii) Lead controller (s+3)/(s+25) (iv) Lead controller (s+3)/(s+30)

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

10.25 SS The closed-loop control system is shown below:

The controller is a lead filter, and the transfer function is

K ( s + 5)
GC ( s ) =
s + 15

a) The MATLAB commands to create the root-locus plot are shown below:

>> sysGc = tf([1 5],[1 15]); % define lead filter controller TF


>> sysGp = tf(3,[1 4 0]); % define plant TF
>> rlocus(sysGc*sysGp) % plot the root locus

The root-locus plot is 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:

>> sysGc = tf([1 5],[1 15]); % lead filter TF


>> sysGp = tf(3,[1 4 0]); % plant TF
>> K = 20; % set the gain
>> [Gm,Pm,Wgm,Wpm] = margin(K*sysGc*sysGp) % gain and phase margin
>> margin(K*sysGc*sysGp) % plot Bode diagram

The result from the first command margin(K*sysGc*sysGp) is 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

>> sysGc = tf([1.5 2.5],1); % PD controller transfer function


>> sysGp = tf(40,[3 24 51 30]); % plant transfer function
>> sysGH = sysGc*sysGp; % open-loop transfer function
>> margin(sysGH) % plots Bode diagram and computes GM, PM
Bode Diagram
Gm = Inf dB (at Inf rad/sec) , Pm = 80.8 deg (at 3.09 rad/sec)
20

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

c) The MATLAB commands to plot the root locus (P-controller) are

>> sysGp = tf(40,[3 24 51 30]); % plant transfer function


>> sysGH = sysGp; % open-loop transfer function
>> rlocus(sysGH) % plots root locus for P-controller system

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 for system with P-controller

The MATLAB commands to plot the root locus (PD-controller) are

>> sysGc = tf([1 1.66667],1); % PD controller transfer function


>> sysGp = tf(40,[3 24 51 30]); % plant transfer function
>> rlocus(sysGc*sysGp) % plots root locus for PD-controller system

Root Locus
3

1
Imaginary Axis

-1

-2

-3
-6 -5 -4 -3 -2 -1 0
Real Axis

Root locus for system with PD-controller

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:

>> sysGp = tf(0.1,[1 7 6 0]); % plant transfer function


>> sysGH = sysGp; % open-loop transfer function
>> Kp = 48; % P-gain
>> margin(Kp*sysGH) % plots Bode diagram and computes GM, PM
Bode Diagram
Gm = 18.8 dB (at 2.45 rad/sec) , Pm = 50.2 deg (at 0.663 rad/sec)
100

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

>> sysGp = tf(0.1,[1 7 6 0]); % plant transfer function


>> sysGH = sysGp; % open-loop transfer function
>> Kp = 150; % P-gain
>> margin(Kp*sysGH) % plots Bode diagram and computes GM, PM
Bode Diagram
Gm = 8.94 dB (at 2.45 rad/sec) , Pm = 22.2 deg (at 1.41 rad/sec)
100

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:

>> sysGc = tf([1 1],[1 7]); % lead controller transfer function


>> sysGp = tf(0.1,[1 7 6 0]); % plant transfer function
>> sysGH = sysGc*sysGp; % open-loop transfer function
>> K = 1050; % controller gain
>> margin(K*sysGH) % plots Bode diagram and computes GM, PM

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)

Bode diagram with lead controller 1050(s + 1)/(s + 7)

Hence, a satisfactory lead controller design is

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

Root locus for system with a P-controller

b) MATLAB’s rlocfind command can be used to place the crosshair target on the imaginary
axis crossing to obtain the gain KP

>> [Kp,CL_roots] = rlocfind(sysGH) % click on root locus branch

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

>> KV = 2.2e-4; % solenoid/valve gain


>> sysGc = tf([1 5],1); % PD 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 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

Root locus for system with a PD-controller

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

Root locus for system with a PVA-controller

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

10.31 SS The closed-loop pitch-control system is shown below:

The open-loop transfer function determines the root-locus plot, and it is

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:

>> sysGc = tf([1 3],1); % define PD controller TF


>> sysGs = tf(16,[1 16]); % define servo TF
>> sysGp = tf(5,[1 0 -3.5]); % define pitch dynamics TF
>> rlocus(sysGc*sysGs*sysGp) % plot the root locus
>> sgrid % overlay grid of  and n contours

The root-locus plot is 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:

>> [K,CL_roots] = rlocfind(sysGc*sysGs*sysGp)

Placing the cross-hair target on the intersection point and clicking yields

K = 1.4874

CL_roots = -5.5243+5.5017i -5.5243-5.5017i -4.9514+0.0000i

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:

n = 5.52432 + 5.5017 2 = 7.797 rad/s

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:

>> K = 1; % trial PD controller gain


>> sysGc = tf([1 3],1); % define PD controller TF
>> sysGs = tf(16,[1 16]); % define servo TF
>> sysGp = tf(5,[1 0 -3.5]); % define pitch dynamics TF
>> bode(K*sysGc*sysGs*sysGp) % plot Bode diagram

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:

>> K = 1.5; % PD controller gain


>> sysGc = tf([1 3],1); % define PD controller TF
>> sysGs = tf(16,[1 16]); % define servo TF
>> sysGp = tf(5,[1 0 -3.5]); % define pitch dynamics TF
>> sysT = feedback(K*sysGc*sysGs*sysGp,1) % compute CLTF
>> damp(sysT) % finds poles of CLTF

The closed-loop poles are

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

10.33 The roll dynamics block diagram is below:

a) The closed-loop transfer function of the inner roll-rate loop is

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

The denominator of Grr(s) is

( s + 10)( s + 2) + 92 K rr = s 2 + 12s + (20 + 92 K rr ) = s 2 + 2n s + n2

Undamped natural frequency is n = 20 + 92Krr

12 12
and damping ratio is  = = = 0.7
2n 2 20 + 92 K rr

The feedback gain is Krr = 0.5812

b) The following MATLAB commands plot the root locus for the roll dynamics loop:

>> Krr = 0.5812; % gain from part (a)


>> sysGrr = tf(92,[1 12 20+92*Krr]); % roll rate TF
>> sysInt = tf(1,[1 0]); % integrator TF
>> rlocus(sysGrr*sysInt); % draw root locus

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

Substituting the gain values, we obtain

147.2
G( s) = Aircraft roll dynamics
s + 12s + 73.47 s + 147.2
3 2

Using MATLAB’s damp.m command, the three poles are

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

c) The transfer function for the roll dynamics is

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).

d) The heading control block diagram is below

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:

>> g = 32.2; % gravity g, ft/s^2


>> V = 600; % airspeed, ft/s
>> sysG = tf(147.2,[1 12 73.47 147.2]); % roll dynamics TF
>> sysTurn = tf(g,[V 0]); % turn dynamics TF
>> rlocus(sysG*sysTurn); % draw root locus
>> sgrid % draw s-grid
>> [Kh,CLpoles] = rlocfind(sysG*sysTurn); % select pt on RL plot

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

1 = 0.698 for closed-loop poles −4.7612  j 4.8841


2 = 0.677 for closed-loop poles −1.2388  j1.3487

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

10.34 The roll control block diagram is below:

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

See Problem 10.33 for details.

The below MATLAB commands create the Bode diagram for the roll control system and
determine the gain and phase margins.

>> sysGrr = tf(92,[1 12 66]); % roll-rate TF


>> sysInt = tf(1,[1 0]); % integrator TF
>> Kr = 0.9; % roll error gain
>> margin(Kr*sysGrr*sysInt); % draw Bode, find GM, PM

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

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy