# Control Systems/Root Locus

## The Problem

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

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:

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

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

### Digital Systems

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:

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

$$\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

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}$$

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

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 P~i~ and
Z~i~ to denote the location of the *i*th pole and the *i*th zero,
respectively. Likewise, we will use ψ~i~ and ρ~i~ to denote the angle
from a given point to the *i*th 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.

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

## Root Locus Equations

Here are the two major equations:


:   {\| class=\"wikitable\"

! 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

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:

$$N_a = P - Z$$

The angles of the asymptotes are given by:

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

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

### Asymptote Intersection Point

The asymptotes intersect the real axis at the point:

$$\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

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

$$\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

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:

:   {\|class=\"wikitable\"

! Region ! colspan=2 \| S-Domain ! colspan=2 \| 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

### Example 1: First-Order System

### Example 2: Third Order System

### Example: Complex-Conjugate Zeros

### Example: Root-Locus Using MATLAB/Octave

{{TextBox\|1=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+7s+12}{(s^2 + 3s + 6)}$$

First, we must multiply through in the denominator:

$$N(s) = S^2+7S+12$$

$$D(s) = S^2+3S+2$$

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

     num = [0 1 7 12];
     den = [0 1 3 2];

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_.svg "Root_Locus_diagram_.svg"){width="600"}

