Root Locus


Jump to: navigation, search
Root Locus
Green carrot left.gif
Controller Design Examples
Green carrot.jpg
In order to prevent spam, users must register before they can edit or create articles.


This article could really use some plots. Please contribute original plots if you can. Thank you (Gabe 07:55, 6 July 2008 (UTC))

1 Introduction to Root Locus

I've taken 2 courses in Controls at the undergraduate level. One course at the University of Colorado and the other at Arizona State University. Both courses taught the root locus. I assume all undergraduate courses teach the root locus method.

The basics of the method, as I was taught, assume that a controller gain must be determined. So an open loop system is plotted using the root locus rules. Adjusting the gain of an open loop system allows the controller design to achieve a limited number of closed loop poles. The root locus plot allows the designer to see all of the possible closed loop poles. With an understanding of the system to be controlled and the desired performance of that system a "best" set of closed loop poles can be achieved by choosing the proper gain.

In my own professional experience I've very rarely used the root locus. Typically, I've been given performance requirements that dictate the sytem closed loop bandwidth and residual error over a frequency band. As a result the controller design is largely a matter of choosing the correct controller form and adjusting the gain to achieve the necessary closed loop bandwidth. I've seen seen some discussion baord topics question how an appropriate controller gain can be determined. Obviously root locus is one method, some have mentioned Nyquist and Nichols plots as well. I've used the Bode plot to adjust the system gain to achieve the desired open loop crossover frequency. I've also used the Nichols plot to adjust the system gain to achieve maximum phase margin.

One final note on the root locus: The root locus is difficult to appreciate or understand without plots of each step along the way. I've spent a lot of time attempting to create a function which would make these intermediate root locus plots. However, after a week's worth of on and off effort I haven't yet finished the function to my satisfaction. I just haven't had any big blocks of time to devote to it. So at the end of this root locus article I've included other tutorials as well as some example MATLAB functions from One function claims to generate all of the necessary academic data (but no plots). The other function is a GUI which creates a plot of each of the common root locus plotting rules. They are worth checking out.

2 Root Locus from Feedback Control of Dynamic Systems by Franklin et all[1]

Figure 1: Closed Loop Block Diagram for Root Locus

Define the closed loop system as

LaTeX: \frac{Y\left(s\right)}{R\left(s\right)}=\frac{K_{A}K_{G}G\left(s\right)}{1+K_{A}K_{G}G\left(s\right)} (5.1)

and the characteristic equation as

LaTeX: 1+K_{A}K_{G}G\left(s\right)=0 (5.2)

The roots of characteristic equation are the poles of the closed loop transfer function. From Eqn. (5.2) it is obvious that the closed loop poles can be effected by the value of LaTeX: K_{A} but that the choice of closed loop poles that can achieved from adjustment of LaTeX: K_{A} alone is very limited. Root locus is a tool for selecting the best LaTeX: K_{A}. It also allows for the analysis of the effects of additional poles and zeros. As a result it is a tool for designing not just compensator gains but an entire compensator. For the Franklin et all root locus method the open loop transfer function LaTeX: K_{G}G\left(s\right) is a rational function where the numerator is LaTeX: K_{G}b\left(s\right) and LaTeX: b\left(s\right) is a monic (coefficient of highest power of s is 1) polynomial of degree m, and whose denominator is a monic polynomial LaTeX: a\left(s\right) of degree n such that LaTeX: n \ge m.

LaTeX: b\left(s\right)=s^{m}+b_{1}s^{m-1}+\ldots+b_{m} (5.3)

LaTeX: b\left(s\right)=\left(s-z_{1}\right)\left(s-z_{2}\right)\left(s-z_{m}\right)

LaTeX: b\left(s\right)=\prod_{i=1}^{m} \left(s-z_{i}\right)

LaTeX: a\left(s\right)=s^{n}+a_{1}s^{n-1}+\ldots+a_{n} (5.4)

LaTeX: a\left(s\right)=\prod_{i=1}^{n} \left(s-p_{i}\right)

Assume that LaTeX: K_{G} > 0 and define the root locus parameter K as

LaTeX: K \equiv K_{A}K_{G}

These are different representations of a polynomial with the same roots.

LaTeX: 1+KG\left(s\right)=0 (5.5a)

LaTeX: 1+K\frac{b\left(s\right)}{a\left(s\right)}=0 (5.5b)

LaTeX: a\left(s\right)+Kb\left(s\right)=0 (5.5c)

LaTeX: G\left(s\right)=-\frac{1}{K} (5.5d)

2.1 Guidelines for Sketching a Root Locus

  • Definition I: The root locus is the set of values of s for which LaTeX: 1+KG\left(s\right)=0 is satisfied as the real parameter K varies from 0 to +∞. Often G(s) is teh opne loop transfer function of a system; in this case, roots on the locus are closed loop poles of taht system.
  • Definition II: The root locus of G(s) is the set of points in the s-plane where the phase of G(s) is 180°.


  1. Draw the axes of the s-plane to a suitable scale and enter an X on this plane for each pole of G(s) and a 0 for each zero of G(s). See Figure 2.
  2. Find the real axis portions of the locus.
  3. Draw the asymptotes for larges values of K.
  4. Compute the departure and arrival angles.
  5. Estimate (or compute) the points where the locus crosses imaginary asix.
  6. Estimate locations of multiple roots, especially on the real axis, and determine the arrival and departure angles at these locations.
  7. Complete the sketch.

3 Root Locus from Control System Design by Goodwin et all[2]

The root locus can be used to examine the location of the roots of the characteristic polynomial as one parameter is varied. FOr instance, assume that the nominal plant model is given by LaTeX: G_{o}\left(s\right) and that the controller has a transfer function descried as LaTeX: C\left(s\right)=KC_{a}\left(s\right), where LaTeX: C_{a}\left(s\right) is a known quotient of two monic polynomials in s, and where K is a positive, but unknown, constant. Then the closed-loop poles are the roots of

LaTeX: 1+KC_{a}\left(s\right)G_{o}\left(s\right)=0 (5.6.1)

The set of all points in the complex plane that satisfy (5.6.1) for some positive value of K is known as the root locus. This particular problem can be embedded in the following more general problems. Consider the following equation

LaTeX: 1+\lambda F\left(s\right) where LaTeX: F\left(s\right)=\frac{M\left(s\right)}{D\left(s\right)} (5.6.2)

with λ ≥ 0 and

LaTeX: M\left(s\right)=s^m+b_{m-1}s^{m-1}+\ldots+b_{1}s+b_{0}=\prod_{i=1}^{m}\left(s-c_{i}\right) (5.6.3)

LaTeX: D\left(s\right)=s^n+a_{n-1}s^{n-1}+\ldots+a_{1}s+a_{0}=\prod_{i=1}^{n}\left(s-p_{i}\right) (5.6.4)

where the coefficients of the polynomials M(s) and D(s) are real numbers. Tehn the solution to the root-locus problem requires us to find the set of all points in the complex plane that are solutions for (5.6.2) for all nonnegative values of λ.

3.1 Rules of the Root Locus[3]

The solution of equation (5.6.2) is also the solution to the equation

LaTeX: D\left(s\right)+\lambda M\left(s\right)=\prod_{i=1}^{n}\left(s-p_{i}\right)+\lambda \prod_{i=1}^{m}\left(s-c_{i}\right)=0 Eqn. 5.6.5

While MATLAB can easily plot the root locus using the rlocus command, understanding the root locus building rules can be useful, they are:

  1. The number of roots in equation (5.6.5) is equal to max{m, n}. Thus, the root locus has max{m, n} branches.
  2. From equation (5.6.2), we observe that s0 belongs to the root locus (for λ ≥ 0) if and only if
LaTeX: \mbox{arg}F\left(s_{0}\right)=\left(2k+1\right)\pi for LaTeX: k \in \mathbb{Z} (5.6.6)

  1. From equation (5.6.2), we observe that if s0 belongs to the root locus, the corresponding value of λ is λ0, where
LaTeX: \lambda_{0}=\frac{-1}{F\left(s_{0}\right)} (5.6.7)

  1. A point s0 on the real axis, LaTeX: s_{0} \in \mathbb{R}, is part of the root locus (for λ ≥ 0) if and only if it is located to the left of an odd number of poles and zeros (so that (5.6.6) is satisfied).
  2. When λ is close to zero, then n of the roots are located at the poles of F(s), that is, at p1, p2,... , pn and, if n < m, the other m - n roots are located at ∞.
  3. When λ is close to ∞, then m of these roots are located at the zeros of F(s), that is, at c1, s2,... , cm and, if n > m, the other n - m roots are located at ∞.
  4. If n > m and λ tends to ∞, then, n - m roots asymptotically tend to ∞, following asymptotes that intersect at (σ, 0), where
LaTeX: \sigma=\frac{\sum_{i=1}^{n} p_{i}-\sum_{i=1}^{m} c_{i}}{n-m} (5.6.8)

The angles of these asymptotes are η1, η2,... , ηn-m, where
LaTeX: \eta_{k}=\frac{\left(2k-1\right)\pi}{n-m};  k=1,2,\ldots,n-m (5.6.9)

  1. If n < m and λ tends to zeros, then m - n roots asymptotically tend to ∞, following asymptotes that intersect at (σ,0), where
LaTeX: \sigma=\frac{\sum_{i=1}^{n} p_{i}-\sum_{i=1}^{m} c_{i}}{m-n} (5.6.10)

The angles of these asymptotes are η1, η2,... , ηm-n, where
LaTeX: \eta_{k}=\frac{\left(2k-1\right)\pi}{n-m};  k=1,2,\ldots,m-n (5.6.11)

  1. When the root locus crosses the imaginary axis, say at LaTeX: s= \pm j\omega_{c}, then LaTeX: \omega_{c} can be computed eitehr by using the Routh Hurwitz algorithm or by using the fact that LaTeX: s^2+\omega_{c}^2 divides exactly the polynomial LaTeX: D\left(s\right)+\lambda M\left(s\right), for some positive real value of λ.

4 References

  • Franklin, G. F., Emami-Naeini, A., and Powell, J. D. 1993 Feedback Control of Dynamic Systems. 3rd. Addison-Wesley Longman Publishing Co., Inc. ISBN 0201527472
  • Goodwin, G. C., Graebe, S. F., and Salgado, M. E. 2000 Control System Design. 1st. Prentice Hall PTR. ISBN 0139586539

4.1 Notes

  1. Franklin et all, pp. 243-291
  2. Goodwin et all, pp. 134-138
  3. Goodwin et all, pp. 135-137

5 External Sites

5.1 Example MATLAB scripts