You are on page 1of 15

14

Experiment No. (1)


Routh-Hurwitz Criterion

 Objective:
The objective of this experiment is to determine a stability of the linear
control system using Routh-Hurwitz criterion.

 Introduction:

Stability is the most important system specification, if the system is


unstable, transient response and steady state error are moot points.
Physically, an unstable system can cause damage to the system, to
adjacent property, or to human life.
There are many techniques to investigate the stability of control
systems, like as Routh Hurwitz criterion and Root Locus method in the
time domain. Also, we have other methods in the frequency domain,
such as Bode Plot, Nyquist Diagram, and Nichols - Chart.

 Routh-Hurwitz Criterion:

Routh - Hurwitz criterion that yields stability information without the


need to solve for the closed loop system poles. Using this method, we
can tell how many closed loop system poles are in the left half - plane,
in the right half - plane, and on the imaginary axis, but we cannot find
their coordinates. The zeros of control systems affect the system
response to an input. But don’t have direct role in the stability of the
system.
This criterion requires there is no changes in sign in the first column
for a stable system, If all elements are not of the same sign, that means
the system is unstable, and the number of sign change of the elements

Khaled Mustafa Mahmoud Session: Fall 2015/2016


15

in first column equals the number of roots of the characteristic


equation in the right half -plane .
The characteristic equation is: 1 + 𝐺(𝑠)𝐻(𝑠) = 0.

Example 2.1: Consider the unity feedback system of Figure 2.1 with:
200
𝐺(𝑠) =
𝑠(𝑠 3 + 6𝑠 2 + 11𝑠 + 6)

Check whether the system is stable or not using MATLAB.

Figure 2.1: Unity feedback system for Example 2.1.

Solution:

First, find the closed loop transfer function as:

𝑌(𝑠) 𝐺(𝑠) 200


= = 4
𝑅(𝑠) 1 + 𝐺(𝑠)𝐻(𝑠) 𝑠 + 6𝑠 3 + 11𝑠 2 + 6𝑠 + 200

𝑠4 1 11 200

𝑠3 6(1) 6(1) 0

𝑠2 10(1) 200(20)

𝑠1 -19 0

𝑠0 20

There are two changes of sign in the first column of array. So there are
two roots in the right half plane, and hence the system is unstable.

Khaled Mustafa Mahmoud Session: Fall 2015/2016


16

>> % To determine the stability of the system for Example 2.1 using MATLAB %
>> a=200;
>> b1=[1 0];
>> b2=[1 6 11 6];
>> b=conv(b1,b2);
>> x=tf(a,b);
>> sys=feedback(x,1);
>> p=pole(sys);
>> subplot(1,2,1)
>> pzmap(sys)
>> subplot(1,2,2)
>> step(sys)

Pole-Zero Map 10 Step Response


x 10
3 2

1
2
0

-1
1
Imaginary Axis

-2
Amplitude

0 -3

-4
-1
-5

-6
-2
System: sys
-7 Final Value: Inf
-3 -8
-6 -4 -2 0 2 0 5 10 15 20
Real Axis Time (sec)

Figure 2.2: Pole - Zero map and step response for Example 2.1.

Khaled Mustafa Mahmoud Session: Fall 2015/2016


17

Example 2.2: Use MATLAB to determine the stability of the closed loop
transfer function:
2
𝑇(𝑠) =
𝑠 4 + 2𝑠 3 + 3𝑠 2 + 6𝑠 + 5
Solution:

The characteristic equation is: 𝑠 4 + 2𝑠 3 + 3𝑠 2 + 6𝑠 + 5 = 0

𝑠4 1 3 5

𝑠3 2 6 0

𝑠2 0(𝜀) 5
6𝜀−10
𝑠1 0
𝜀

𝑠0 5

When the first column term in any row zero is occurs (that indicates
there are symmetrical any even roots about the real axis). Since 𝜀 is
small and positive value, it can be seen there is two sign changes in the
first column. Hence, the system is unstable and has two poles are
symmetric about the real axis in the right half plane.

>> % To determine the stability of a system for Example 2.2 using MATLAB %
>> s=tf('s');

>> T=2/(s^4+2*s^3+3*s^2+6*s+5);

>> subplot(1,2,1)

>> pzmap(T)

>> subplot(1,2,2)

>> step(T)

Khaled Mustafa Mahmoud Session: Fall 2015/2016


18

25
Pole-Zero Map x 10 Step Response
2 2
System: T
Final Value: Inf
1.5
1.5

1
0.5
Imaginary Axis

Amplitude
0 0.5

-0.5
0

-1

-0.5
-1.5

-2 -1
-1.5 -1 -0.5 0 0.5 0 50 100 150 200
Real Axis Time (sec)

Figure 2.3: Pole - Zero map and step response for Example 2.2.

Example 2.3: Consider the system has the forward transfer function:
4
𝐺(𝑠) =
𝑠 5 + 4𝑠 4 + 8𝑠 3 + 8𝑠 2 + 7𝑠
Determine the stability of the system using MATLAB.

Solution:

First, find the closed loop transfer function as:

𝑌(𝑠) 𝐺(𝑠) 4
= = 5
𝑅(𝑠) 1 + 𝐺(𝑠)𝐻(𝑠) 𝑠 + 4𝑠 4 + 8𝑠 3 + 8𝑠 2 + 7𝑠 + 4

𝑠5 1 8 7

𝑠4 4 8 4

𝑠3 6 6

𝑠2 4 4

𝑠1 0 0 → Auxiliary Equation A(s)

Khaled Mustafa Mahmoud Session: Fall 2015/2016


19

The term in the 𝑠1 row are all zeros.


𝐴(𝑠) = 4𝑠 2 + 4

𝑑𝐴(𝑠)
= 8𝑠 + 0
𝑑𝑠
Replace the row of zeros with the derivative constants.

𝑠5 1 8 7

𝑠4 4 8 4

𝑠3 6 6

𝑠2 4 4

𝑠1 8 0

𝑠0 4

When a row of all zeros occurs (that indicates there are roots symmetrical
about the origin), since there is no change of sign in the first column of
array, this means no poles in the right half plane. Also, there is no sign
change from 𝑠 2 row down to the 𝑠 0 row. Thus, the system is marginally
stable and has two poles on the imaginary axis.

>> % To determine the stability of a system for Example 2.3 using MATLAB %
>> a=4;
>> b=[1 4 8 8 7 0];
>> x=tf(a,b);
>> sys=feedback(x,1);
>> subplot(1,2,1)
>> pzmap(sys)
>> subplot(1,2,2)
>> step(sys)

Khaled Mustafa Mahmoud Session: Fall 2015/2016


20

Pole-Zero Map Step Response


1.5 1.8

1.6
1
1.4

0.5 1.2
Imaginary Axis

Amplitude
1
0
0.8

-0.5 0.6

0.4
-1
0.2

-1.5 0
-2 -1 0 1 0 10 20 30
Real Axis Time (sec)

Figure 2.4: Pole - Zero map and step response for Example 2.3.

Example 2.4: Consider the system given in Figure 2.5. Find the range of
values of K for which the system to be stable, unstable, and marginally
stable. Also, find the frequency of oscillation. Verify your results using
MATLAB.

Figure 2.5: Closed loop system for Example 2.4.

Solution:
𝐾 1
𝐺(𝑠) = , 𝐻(𝑠) =
𝑠(𝑠 + 2) 𝑠+1

Khaled Mustafa Mahmoud Session: Fall 2015/2016


21

First, find the closed loop transfer function as:

𝑌(𝑠) 𝐺(𝑠) 𝐾(𝑠 + 1)


= = 3
𝑅(𝑠) 1 + 𝐺(𝑠)𝐻(𝑠) 𝑠 + 3𝑠 2 + 2𝑠 + 𝐾

𝑠3 1 2

𝑠2 3 K
6−𝐾
𝑠1 3

𝑠0 K

The range of K that keeps system stable is: 0 < K <6.

>> % To determine the stability of a system for Example 2.4 when K=3
using MATLAB %
>> s=tf('s');

>> K=3; % In the second case: let K=9, and in the third case: let K=6 %

>> G=1/(s*(s+2));

>> H=1/(s+1);

>> T=feedback(K*G,H);

>> subplot(1,2,1)

>> pzmap(T)

>> subplot(1,2,2)

>> step(T)

Khaled Mustafa Mahmoud Session: Fall 2015/2016


22

Pole-Zero Map Step Response


1.5 2

1.8
1
1.6

1.4
0.5
Imaginary Axis

1.2 System: T

Amplitude
Final Value: 1
0 1

0.8
-0.5
0.6

0.4
-1
0.2

-1.5 0
-3 -2 -1 0 0 10 20 30
Real Axis Time (sec)

Figure 2.6: Pole - Zero map and step response for K=3.

The range of K that makes system unstable is: 0> K >6.


To determine the stability of a system when K=9 using MATLAB:

Pole-Zero Map 5 Step Response


x 10
2 2

1.5 1.5
System: T
Final Value: Inf
1 1
Imaginary Axis

0.5 0.5
Amplitude

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5

-2 -2
-4 -2 0 2 0 50 100
Real Axis Time (sec)

Figure 2.7: Pole - Zero map and step response for K=9.

Khaled Mustafa Mahmoud Session: Fall 2015/2016


23

The value of K that makes system marginally is: K=6.


To determine the stability of a system when K=6 using MATLAB:
Pole-Zero Map Step Response
1.5 3
System: T
Pole : 1.66e-016 + 1.41i 2.5
1Damping: -1.17e-016
Overshoot (%): 100
Frequency (rad/sec): 1.41 2
0.5
Imaginary Axis

1.5

Amplitude
0 1

0.5
-0.5
0
-1
-0.5

-1.5 -1
-3 -2 -1 0 1 0 5 10 15 20
Real Axis Time (sec)
Figure 2.8: Pole - Zero map and step response for K=6.

The oscillation frequency is from 2nd order equation from the second
row we have:

3𝑠 2 + 𝐾|𝐾= 6, and 𝑠=𝑗𝜔 =0

𝜔 = 1.414 rad/sec.

Or it can be obtained from Figure 2.8: 𝜔 = 1.41 rad/sec.

Example 2.5: Consider the system represented in state variable form:


𝑥̇ (𝑡) = 𝐴𝑥(𝑡) + 𝐵𝑢(𝑡)
𝑦(𝑡) = 𝐶𝑥(𝑡) + 𝐷𝑢(𝑡)
Where:

0 0 1 10
𝐴 = [ −2 −8 1 ], 𝐵 = [ 0 ] , 𝐶 = [1 0 0], and 𝐷 = [0]
−10 −12 −2 0
Find how many poles are in the left half plane, in the right half plane,
and on the imaginary axis using MATLAB.

Khaled Mustafa Mahmoud Session: Fall 2015/2016


24

Solution:
First, from (𝐬𝐈 − 𝐀):
𝑠 0 0 0 0 1 𝑠 0 −1
(sI − A) = [ 0 𝑠 0] − [ −2 −8 1] = [ 2 𝑠 + 8 −1 ]
0 0 𝑠 −10 −12 −2 10 12 𝑠+2
Now, find the det (𝐬𝐈 − 𝐀):

det (sI − A) = 𝑠 3 + 10 𝑠 2 + 38 𝑠 + 56

The characteristic equation is: 𝑠 3 + 10 𝑠 2 + 38 𝑠 + 56 = 0.

𝑠3 1 38

𝑠2 10 56

𝑠1 32.4 0

𝑠0 56

Since there are no sign changes in the first column, the system has all
poles in the left half plane. Therefore, the system is stable.
>> % To determine the stability of the system for Example 2.5 using MATLAB %
>> A=[0 0 1;-2 -8 1;-10 -12 -2];

>> B=[10;0;0];

>> C=[1 0 0];

>> D=0;

>> eig(A);

>> sys=ss(A,B,C,D);

>> subplot(1,2,1)

>> pzmap(sys)

>> subplot(1,2,2)

>> step(sys)

Khaled Mustafa Mahmoud Session: Fall 2015/2016


25

Pole-Zero Map Step Response


2.5 6

2
5
1.5
System: sys
Final Value: 5
1
4
0.5
Imaginary Axis

Amplitude
0 3

-0.5
2
-1

-1.5
1
-2

-2.5 0
-6 -4 -2 0 0 1 2 3 4 5
Real Axis Time (sec)

Figure 2.9: Pole - Zero map and step response for Example 2.5.

Example 2.6: Consider the control system for the two – track vehicle is
shown in Figure 2.10. The design of a turning control for a tracked
vehicle involves the selection of two parameters. Use MATLAB to find
𝑎 and 𝐾 such that the system is stable.

Figure 2.10: Block diagram for two-track vehicle control system.

Solution:
The characteristic equation of the feedback system is:
1 + 𝐺𝑐 (𝑠)𝐺(𝑠) = 0
or
𝐾(𝑠 + 𝑎)
1+
𝑠(𝑠 + 1)(𝑠 + 2)(𝑠 + 5)
Therefore, we have:
𝑠 4 + 8𝑠 3 + 17𝑠 2 + (𝐾 + 10)𝑠 + 𝐾𝑎 = 0

Khaled Mustafa Mahmoud Session: Fall 2015/2016


26

To determine the stable region for 𝐾 and 𝑎, we establish the Routh


array as:

𝑠4 1 17 𝐾𝑎

𝑠3 8 (𝐾 + 10) 0

𝑠2 (126 − 𝐾)/8 𝐾𝑎

(126−𝐾)(𝐾+10)−64𝐾𝑎
𝑠1 0
126−𝐾

𝑠0 𝐾𝑎

For the elements of the first column to be positive, we require that:


𝐾 < 126
𝐾𝑎 > 0
(126 − 𝐾)(𝐾 + 10) − 64𝐾𝑎 > 0
For positive 𝐾, it follows that we can restrict our search to:
0 < 𝐾 < 126 and 𝑎 > 0.
% To plot the a-K region stability for the two track vehicle %
a=[0.1:0.01:2.5];
K=[20:1:120];
x=0*K;y=0*K;
for i=1: length(K)
for j=1: length(a)
q=[1 8 17 K(i)+10 K(i)*a(j)];
p=roots(q)
if max (real(p))>0 , x(i)=K(i);y(i)=a(j); break; end
end
end
plot(x,y)
xlabel('K')
ylabel('a')
gtext('Stable region')

Khaled Mustafa Mahmoud Session: Fall 2015/2016


27

2.5

1.5
a

Stable region

0.5

0
20 30 40 50 60 70 80 90 100 110 120
K
Figure 2.11: Block diagram for two-track vehicle control system.
-----------------------------------------------------------------------------------------
Homework 2.1: Using MATLAB, determine if the following systems are
stable, marginally stable, or unstable. In each case, the system transfer
function is given:
3𝑒 −2𝑠 10(𝑠 − 2)
𝟏. 𝐺(𝑠) = 3 𝟐. 𝑇(𝑠) =
𝑠 + 5𝑠 2 + 9𝑠 + 6 𝑠 5 + 2𝑠 3 + 2𝑠
-----------------------------------------------------------------------------------------
Homework 2.2: The block diagram of a system is shown in Figure 2.12.
Use MATLAB to:
1. Find the transfer function 𝑌(𝑠)/𝑅(𝑠).
2. Determine if the system is stable or not?

Figure 2.12: Multiple feedback system.

Khaled Mustafa Mahmoud Session: Fall 2015/2016


28

Homework 2.3: The space satellite shown in Figure 2.13(a), uses a


control system to readjust orientations as shown in Figure 2.13(b).
Perform the following:
1. Determine the range of K. So that the system is stable, then
determine the frequency oscillation.
2. Verify your results using MATLAB.

(a) (b)

Figure 2.13: Control of space satellite.


-----------------------------------------------------------------------------------------
Homework 2.4: For the following system represented in state space,
use MATLAB to find out how many poles are in the left half plane, in
the right half plane, and on the imaginary axis?

2 1 1 0
𝑥̇ (𝑡) = [ 1 7 1 ] 𝑥(𝑡) + [0] 𝑟(𝑡)
−3 4 −5 1

𝑦(𝑡) = [0 1 0] 𝑥(𝑡)

Khaled Mustafa Mahmoud Session: Fall 2015/2016

You might also like