Control Systems/Root Locus
Contents
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 openloop transfer function for the roots. This process can be a long one. Luckily, there is a method called the rootlocus method, that allows us to graph the locations of all the poles of the system for all values of gain, K.
RootLocus[edit]
As we change gain, we notice that the system poles and zeros actually move around in the Splane. This fact can make life particularly difficult, when we need to solve higherorder equations repeatedly, for each new gain value. The solution to this problem is a technique known as RootLocus graphs. RootLocus 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 closedloop transfer function for a particular system:
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:
from this same equation, we can manipulate the equation as such:
And finally by converting to polar coordinates:
Now we have 2 equations that govern the locations of the poles of a system for all gain values:
[The Magnitude Equation]
[The Angle Equation]
Digital Systems[edit]
The same basic method can be used for considering digital systems in the Zdomain:
Where N is the numerator polynomial in z, D is the denominator polynomial in z, and is the openloop transfer function of the system, in the Z domain.
The denominator D(z), by the definition of the characteristic equation is equal to:
We can manipulate this as follows:
We can now convert this to polar coordinates, and take the angle of the polynomial:
We are now left with two important equations:
[The Magnitude Equation]
[The Angle Equation]
If you will compare the two, the Zdomain equations are nearly identical to the Sdomain equations, and act exactly the same. For the remainder of the chapter, we will only consider the Sdomain equations, with the understanding that digital systems operate in nearly the same manner.
The RootLocus Procedure[edit]
In this section, the rules for the SPlane and the Zplane 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 openloop transfer function. When gain becomes infinity, the poles move to overlap the zeros of the system. This means that on a rootlocus 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:
We generally use capital letters for functions in the frequency domain, but a(s) and b(s) are unimportant enough to be lowercase.
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:
We will refer to these functions a(s) and b(s) later in the procedure.
We can start drawing the rootlocus 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'.
Poles are marked on the graph with an 'X' and zeros are marked with an 'O' by common convention. These letters have no particular meaning 
Next, we examine the realaxis. starting from the righthand side of the graph and traveling to the left, we draw a rootlocus line on the realaxis at every point to the left of an odd number of poles or zeros on the realaxis. This may sound tricky at first, but it becomes easier with practice.
Double poles or double zeros count as two. 
Now, a rootlocus line starts at every pole. Therefore, any place that two poles appear to be connected by a root locus line on the realaxis, 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 splane is symmetrical about the real axis, so whatever is drawn on the tophalf of the Splane, must be drawn in mirrorimage on the bottomhalf 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 rejoin the realaxis to meet a zero that is located on the realaxis. 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 rootlocus graph. We will use p and z to denote the number of poles and the number of zeros of the openloop transfer function, respectively. We will use P_{i} and Z_{i} 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 rootlocus graph.
 Rule 1
 There is one branch of the rootlocus for every root of b(s).
 Rule 2
 The roots of b(s) are the poles of the openloop 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 openloop 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 rootlocus 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 rootlocus 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.
 Rule 6
 The rootlocus diagram is symmetric about the realaxis. All complex roots are conjugates.
 Rule 7
 Two roots that meet on the realaxis will break away from the axis at certain breakaway points. If we set s → σ (no imaginary part), we can use the following equation:
 And differentiate to find the local maximum:
 Rule 8
 The breakaway lines of the root locus are separated by angles of , where α is the number of poles intersecting at the breakaway point.
 Rule 9
 The breakaway rootloci follow asymptotes that intersect the real axis at angles φ_{ω} given by:
 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:
 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., 180^{o}).
 Rule 11
 The angles that the root locus branch makes with a complexconjugate 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:
 The angle of arrival, φ_{a}, is given by:
We will explain these rules in the rest of the chapter.
Root Locus Equations[edit]
Here are the two major equations:
[Root Locus Equations]

SDomain Equations ZDomain Equations
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 (N_{a}) is given by:
[Number of Asymptotes]
The angles of the asymptotes are given by:
[Angle of Asymptotes]
for values of .
The angles for the asymptotes are measured from the positive realaxis 
Asymptote Intersection Point[edit]
The asymptotes intersect the real axis at the point:
[Origin of Asymptotes]
Where is the sum of all the locations of the poles, and 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]
 or
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 K_{1} may become unstable for a different gain K_{2}. 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 SDomain ZDomain Stable Region LeftHand S Plane Inside the Unit Circle Marginally Stable Region The vertical axis The Unit Circle Unstable Region RightHand S Plane Outside the Unit Circle,
Examples[edit]
Example 1: FirstOrder System[edit]
Find the rootlocus of the openloop system:
If we look at the characteristic equation, we can quickly solve for the single pole of the system:
We plot that point on our rootlocus 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:
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:
Is this system stable?
To answer this question, we can plot the rootlocus. First, we draw the poles on the graph at locations 1, 2, and 3. The realaxis between the first and second poles is on the rootlocus, 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:
 ,
and the angle of the asymptotes is given by:
We know that the breakaway occurs between the first and second poles, so we will estimate the exact breakaway point. Drawing the rootlocus gives us the graph below.
We can see that for low values of gain the system is stable, but for higher values of gain, the system becomes unstable.
Example: ComplexConjugate Zeros[edit]
Find the rootlocus graph for the following system transfer function:
If we look at the denominator, we have poles at the origin, 1, and 2. Following Rule 4, we know that the realaxis between the first two poles, and the real axis after the third pole are all on the rootlocus. 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:
If we draw our graph, we get the following:
We can see from this graph that the system is stable for all values of K.
Example: RootLocus Using MATLAB/Octave[edit]
Use MATLAB, Octave, or another piece of mathematical simulation software to produce the rootlocus graph for the following system:
First, we must multiply through in the denominator:
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: