Control Systems/Root Locus

From Wikibooks, open books for an open world
Jump to: navigation, search


The Problem[edit]

Consider a system like a radio. The radio has a "volume" knob, that controls the amount of gain of the system. High volume means more power going to the speakers, low volume means less power to the speakers. As the volume value increases, the poles of the transfer function of the radio change, and they might potentially become unstable. We would like to find out if the radio becomes unstable, and if so, we would like to find out what values of the volume cause it to become unstable. Our current methods would require us to plug in each new value for the volume (gain, "K"), and solve the open-loop transfer function for the roots. This process can be a long one. Luckily, there is a method called the root-locus method, that allows us to graph the locations of all the poles of the system for all values of gain, K.

Root-Locus[edit]

As we change gain, we notice that the system poles and zeros actually move around in the S-plane. This fact can make life particularly difficult, when we need to solve higher-order equations repeatedly, for each new gain value. The solution to this problem is a technique known as Root-Locus graphs. Root-Locus allows you to graph the locations of the poles and zeros for every value of gain, by following several simple rules. As we know that a fan switch also can control the speed of the fan.

Let's say we have a closed-loop transfer function for a particular system:

\frac{N(s)}{D(s)} = \frac{KG(s)}{1 + KG(s)H(s)}

Where N is the numerator polynomial and D is the denominator polynomial of the transfer functions, respectively. Now, we know that to find the poles of the equation, we must set the denominator to 0, and solve the characteristic equation. In other words, the locations of the poles of a specific equation must satisfy the following relationship:

D(s) = 1 + KG(s)H(s) = 0

from this same equation, we can manipulate the equation as such:

1 + KG(s)H(s) = 0
KG(s)H(s) = -1

And finally by converting to polar coordinates:

\angle KG(s)H(s) = 180^\circ

Now we have 2 equations that govern the locations of the poles of a system for all gain values:


[The Magnitude Equation]

1 + KG(s)H(s) = 0


[The Angle Equation]

\angle KG(s)H(s) = 180^\circ

Digital Systems[edit]

The same basic method can be used for considering digital systems in the Z-domain:

\frac{N(z)}{D(z)} = \frac{KG(z)}{1 + K\overline{GH}(z)}

Where N is the numerator polynomial in z, D is the denominator polynomial in z, and \overline{GH}(z) is the open-loop transfer function of the system, in the Z domain.

The denominator D(z), by the definition of the characteristic equation is equal to:

D(z) = 1 + K\overline{GH}(z) = 0

We can manipulate this as follows:

1 + K\overline{GH}(z) = 0
K\overline{GH}(z) = -1

We can now convert this to polar coordinates, and take the angle of the polynomial:

\angle K\overline{GH}(z) = 180^\circ

We are now left with two important equations:


[The Magnitude Equation]

1 + K\overline{GH}(z) = 0


[The Angle Equation]

\angle K\overline{GH}(z) = 180^\circ

If you will compare the two, the Z-domain equations are nearly identical to the S-domain equations, and act exactly the same. For the remainder of the chapter, we will only consider the S-domain equations, with the understanding that digital systems operate in nearly the same manner.

The Root-Locus Procedure[edit]

Note:
In this section, the rules for the S-Plane and the Z-plane are the same, so we won't refer to the differences between them.

In the transform domain (see note at right), when the gain is small, the poles start at the poles of the open-loop transfer function. When gain becomes infinity, the poles move to overlap the zeros of the system. This means that on a root-locus graph, all the poles move towards a zero. Only one pole may move towards one zero, and this means that there must be the same number of poles as zeros.

If there are fewer zeros than poles in the transfer function, there are a number of implicit zeros located at infinity, that the poles will approach.

First thing, we need to convert the magnitude equation into a slightly more convenient form:

KG(s)H(s) + 1 = 0 \to G(s)H(s) = \frac{-1}{K}
Note:
We generally use capital letters for functions in the frequency domain, but a(s) and b(s) are unimportant enough to be lower-case.

Now, we can assume that G(s)H(s) is a fraction of some sort, with a numerator and a denominator that are both polynomials. We can express this equation using arbitrary functions a(s) and b(s), as such:

\frac{a(s)}{b(s)} = \frac{-1}{K}

We will refer to these functions a(s) and b(s) later in the procedure.

We can start drawing the root-locus by first placing the roots of b(s) on the graph with an 'X'. Next, we place the roots of a(s) on the graph, and mark them with an 'O'.

Next, we examine the real-axis. starting from the right-hand side of the graph and traveling to the left, we draw a root-locus line on the real-axis at every point to the left of an odd number of poles or zeros on the real-axis. This may sound tricky at first, but it becomes easier with practice.

Now, a root-locus line starts at every pole. Therefore, any place that two poles appear to be connected by a root locus line on the real-axis, the two poles actually move towards each other, and then they "break away", and move off the axis. The point where the poles break off the axis is called the breakaway point. From here, the root locus lines travel towards the nearest zero.

It is important to note that the s-plane is symmetrical about the real axis, so whatever is drawn on the top-half of the S-plane, must be drawn in mirror-image on the bottom-half plane.

Once a pole breaks away from the real axis, they can either travel out towards infinity (to meet an implicit zero), or they can travel to meet an explicit zero, or they can re-join the real-axis to meet a zero that is located on the real-axis. If a pole is traveling towards infinity, it always follows an asymptote. The number of asymptotes is equal to the number of implicit zeros at infinity.

Root Locus Rules[edit]

Here is the complete set of rules for drawing the root-locus graph. We will use p and z to denote the number of poles and the number of zeros of the open-loop transfer function, respectively. We will use Pi and Zi to denote the location of the ith pole and the ith zero, respectively. Likewise, we will use ψi and ρi to denote the angle from a given point to the ith pole and zero, respectively. All angles are given in radians (π denotes π radians).

There are 11 rules that, if followed correctly, will allow you to create a correct root-locus graph.

Rule 1
There is one branch of the root-locus for every root of b(s).
Rule 2
The roots of b(s) are the poles of the open-loop transfer function. Mark the roots of b(s) on the graph with an X.
Rule 3
The roots of a(s) are the zeros of the open-loop transfer function. Mark the roots of a(s) on the graph with an O. There should be a number of O's less than or equal to the number of X's. There is a number of zeros p - z located at infinity. These zeros at infinity are called "implicit zeros". All branches of the root-locus will move from a pole to a zero (some branches, therefore, may travel towards infinity).
Rule 4
A point on the real axis is a part of the root-locus if it is to the left of an odd number of poles and zeros.
Rule 5
The gain at any point on the root locus can be determined by the inverse of the absolute value of the magnitude equation.
\left|\frac{b(s)}{a(s)}\right| = |K|
Rule 6
The root-locus diagram is symmetric about the real-axis. All complex roots are conjugates.
Rule 7
Two roots that meet on the real-axis will break away from the axis at certain break-away points. If we set s → σ (no imaginary part), we can use the following equation:
K = -\frac{b(\sigma)}{a(\sigma)}
And differentiate to find the local maximum:
\frac{dK}{d\sigma} = \frac{d}{d\sigma}\frac{b(\sigma)}{a(\sigma)}
Rule 8
The breakaway lines of the root locus are separated by angles of \frac{\pi}{\alpha}, where α is the number of poles intersecting at the breakaway point.
Rule 9
The breakaway root-loci follow asymptotes that intersect the real axis at angles φω given by:
\phi_\omega = \frac{\pi + 2N\pi}{p - z},\quad N = 0, 1, ... p-z-1
The origin of these asymptotes, OA, is given as the sum of the pole locations, minus the sum of the zero locations, divided by the difference between the number of poles and zeros:
OA = \frac{\sum_pP_i - \sum_zZ_i}{p - z}
The OA point should lie on the real axis.
Rule 10
The branches of the root locus cross the imaginary axis at points where the angle equation value is π (i.e., 180o).
Rule 11
The angles that the root locus branch makes with a complex-conjugate pole or zero is determined by analyzing the angle equation at a point infinitessimally close to the pole or zero. The angle of departure, φd is given by the following equation:
\sum_p\psi_i + \sum_z\rho_i + \phi_d = \pi
The angle of arrival, φa, is given by:
\sum_z\rho_i + \sum_p\psi_i + \phi_a = \pi

We will explain these rules in the rest of the chapter.

Root Locus Equations[edit]

Here are the two major equations:


[Root Locus Equations]

S-Domain Equations Z-Domain Equations
1 + KG(s)H(s) = 0 1 + K\overline{GH}(z) = 0
\angle KG(s)H(s) = 180^o \angle K\overline{GH}(z) = 180^o

Note that the sum of the angles of all the poles and zeros must equal to 180.

Number of Asymptotes[edit]

If the number of explicit zeros of the system is denoted by Z (uppercase z), and the number of poles of the system is given by P, then the number of asymptotes (Na) is given by:


[Number of Asymptotes]

N_a = P - Z

The angles of the asymptotes are given by:


[Angle of Asymptotes]

\phi_k = (2k + 1)\frac{\pi}{P - Z}

for values of k = [0, 1, ... N_a - 1].

Asymptote Intersection Point[edit]

The asymptotes intersect the real axis at the point:


[Origin of Asymptotes]

\sigma_0 = \frac{\sum_P - \sum_Z}{P - Z}

Where \sum_P is the sum of all the locations of the poles, and \sum_Z is the sum of all the locations of the explicit zeros.

Breakaway Points[edit]

The breakaway points are located at the roots of the following equation:


[Breakaway Point Locations]

\frac{dG(s)H(s)}{ds} = 0 or \frac{d\overline{GH}(z)}{dz} = 0

Once you solve for z, the real roots give you the breakaway/reentry points. Complex roots correspond to a lack of breakaway/reentry.

The breakaway point equation can be difficult to solve, so many times the actual location is approximated.

Root Locus and Stability[edit]

The root locus procedure should produce a graph of where the poles of the system are for all values of gain K. When any or all of the roots of D are in the unstable region, the system is unstable. When any of the roots are in the marginally stable region, the system is marginally stable (oscillatory). When all of the roots of D are in the stable region, then the system is stable.

It is important to note that a system that is stable for gain K1 may become unstable for a different gain K2. Some systems may have poles that cross over from stable to unstable multiple times, giving multiple gain values for which the system is unstable.

Here is a quick refresher:

Region S-Domain Z-Domain
Stable Region Left-Hand S Plane  \sigma < 0 Inside the Unit Circle |z| < 1
Marginally Stable Region The vertical axis  \sigma = 0 The Unit Circle |z| = 1
Unstable Region Right-Hand S Plane  \sigma > 0 Outside the Unit Circle, |z| > 1

Examples[edit]

Example 1: First-Order System[edit]

Find the root-locus of the open-loop system:

T(s) = \frac{1}{1 + 2s}

If we look at the characteristic equation, we can quickly solve for the single pole of the system:

D(s) = 1 + 2s = 0
s = -\frac{1}{2}

We plot that point on our root-locus graph, and everything on the real axis to the left of that single point is on the root locus (from the rules, above). Therefore, the root locus of our system looks like this:

Rlocus 1pole.JPG

From this image, we can see that for all values of gain this system is stable.

Example 2: Third Order System[edit]

We are given a system with three real poles, shown by the transfer function:

T(s) = \frac{1}{(s+1)(s+2)(s+3)}

Is this system stable?

To answer this question, we can plot the root-locus. First, we draw the poles on the graph at locations -1, -2, and -3. The real-axis between the first and second poles is on the root-locus, as well as the real axis to the left of the third pole. We know also that there is going to be breakaway from the real axis at some point. The origin of asymptotes is located at:

OA = \frac{-1 + -2 + -3}{3} = -2,

and the angle of the asymptotes is given by:

\phi = \frac{180(2k+1)}{3} \; \mathrm{for} \; k = 0,1,2

We know that the breakaway occurs between the first and second poles, so we will estimate the exact breakaway point. Drawing the root-locus gives us the graph below.

Rlocus 3poles.JPG

We can see that for low values of gain the system is stable, but for higher values of gain, the system becomes unstable.

Example: Complex-Conjugate Zeros[edit]

Find the root-locus graph for the following system transfer function:

T(s) = K\frac{s^2 + 4.5s + 5.625}{s(s+1)(s+2)}

If we look at the denominator, we have poles at the origin, -1, and -2. Following Rule 4, we know that the real-axis between the first two poles, and the real axis after the third pole are all on the root-locus. We also know that there is going to be a breakaway point between the first two poles, so that they can approach the complex conjugate zeros. If we use the quadratic equation on the numerator, we can find that the zeros are located at:

s = (-2.25 + j0.75), (-2.25 - j0.75)

If we draw our graph, we get the following:

RLocus 3poles 2zeros.JPG

We can see from this graph that the system is stable for all values of K.

Example: Root-Locus Using MATLAB/Octave[edit]

Use MATLAB, Octave, or another piece of mathematical simulation software to produce the root-locus graph for the following system:

T(s) = K\frac{s + 2}{(s + 3)(s^2 + 2s + 2)}

First, we must multiply through in the denominator:

D(s) = s^3 + 5s^2 + 8s + 6

Now, we can generate the coefficient vectors from the numerator and denominator:

 num = [0 0 1 2];
 den = [1 5 8 6];

Next, we can feed these vectors into the rlocus command:

 rlocus(num, den);

Note:In Octave, we need to create a system structure first, by typing:

 sys = tf(num, den);
 rlocus(sys);

Either way, we generate the following graph:

Root Locus diagram with three poles and one zero.svg

← Jurys Test

Control Systems

Nyquist Stability Criteria →