Fiveable

🎛️Control Theory Unit 3 Review

QR code for Control Theory practice questions

3.3 Root locus method

3.3 Root locus method

Written by the Fiveable Content Team • Last updated August 2025
Written by the Fiveable Content Team • Last updated August 2025
🎛️Control Theory
Unit & Topic Study Guides

Root locus definition

The root locus method is a graphical technique for understanding how a closed-loop system's behavior changes as you vary a parameter, usually the loop gain KK. It plots the paths that closed-loop poles trace across the s-plane as KK goes from 0 to infinity.

This matters because pole locations directly control whether your system is stable, how fast it responds, and how much it oscillates. Instead of recalculating poles for every possible gain value, the root locus gives you the full picture at once.

Open-loop vs. closed-loop transfer functions

The open-loop transfer function G(s)H(s)G(s)H(s) describes the system's forward path multiplied by the feedback path, with the loop "broken open." There's no feedback acting on the input yet.

The closed-loop transfer function connects output back to input. For a standard negative-feedback system with forward path G(s)G(s) and feedback path H(s)H(s), the closed-loop transfer function is:

T(s)=G(s)1+G(s)H(s)T(s) = \frac{G(s)}{1 + G(s)H(s)}

The denominator 1+G(s)H(s)=01 + G(s)H(s) = 0 is the characteristic equation. Its roots are the closed-loop poles, and those are exactly what the root locus tracks.

Poles and zeros

  • Poles are values of ss where the transfer function goes to infinity (roots of the denominator). Marked with × on the s-plane.
  • Zeros are values of ss where the transfer function equals zero (roots of the numerator). Marked with on the s-plane.

Poles govern the system's natural modes of response: each pole contributes an exponential or oscillatory term to the time-domain output. Zeros shape how much each mode gets excited and can bend the root locus paths.

S-plane analysis

The s-plane is the complex plane where every point represents a complex frequency s=σ+jωs = \sigma + j\omega.

  • The horizontal axis (σ\sigma) corresponds to exponential growth or decay. Negative σ\sigma means the response decays over time.
  • The vertical axis (jωj\omega) corresponds to oscillation frequency.

The key stability rule: poles in the left-half plane (LHP) produce stable, decaying responses. Poles in the right-half plane (RHP) produce unstable, growing responses. Poles exactly on the imaginary axis produce sustained oscillations.

Root locus plotting rules

These rules let you sketch a root locus by hand without solving the characteristic equation for every value of KK. Mastering them also builds intuition for how pole locations shift when you change system parameters.

Number of branches

The number of branches equals the number of open-loop poles (the order of the characteristic equation). Each branch traces one closed-loop pole's path as KK increases from 0 to \infty.

Symmetry

The root locus is always symmetric about the real axis. This follows directly from the fact that polynomial coefficients are real, so complex roots must appear in conjugate pairs.

Starting and ending points

  • Branches start at the open-loop poles (at K=0K = 0).
  • Branches end at the open-loop zeros (as KK \to \infty).

If there are more poles than zeros (which is typical), the extra branches head toward infinity along asymptotes. The number of branches going to infinity equals npnzn_p - n_z, where npn_p is the number of poles and nzn_z is the number of zeros.

Real-axis segments

A point on the real axis belongs to the root locus if the total number of real-axis open-loop poles and zeros to its right is odd. Complex poles and zeros don't count for this rule since their angle contributions cancel in conjugate pairs.

Asymptotes and centroid

For the branches heading to infinity, asymptotes tell you the direction they travel.

  • Number of asymptotes: npnzn_p - n_z
  • Centroid (where asymptotes intersect the real axis):

σc=(real parts of poles)(real parts of zeros)npnz\sigma_c = \frac{\sum \text{(real parts of poles)} - \sum \text{(real parts of zeros)}}{n_p - n_z}

  • Asymptote angles:

θa=(2k+1)180°npnz,k=0,1,2,,(npnz1)\theta_a = \frac{(2k+1) \cdot 180°}{n_p - n_z}, \quad k = 0, 1, 2, \ldots, (n_p - n_z - 1)

For example, if npnz=3n_p - n_z = 3, the three asymptote angles are 60°60°, 180°180°, and 300°300°.

Open vs closed loop transfer functions, Determine la estabilidad del sistema de retroalimentación a partir de la función de ...

Angles of departure and arrival

These angles describe the direction a branch initially leaves a complex pole or approaches a complex zero. They're found using the angle condition of the root locus (the total angle contribution from all poles and zeros to a point on the locus must equal an odd multiple of 180°180°).

  • Departure angle from a complex pole pip_i:

θd=180°(angles from pi to all zeros)+(angles from pi to all other poles)\theta_d = 180° - \sum(\text{angles from } p_i \text{ to all zeros}) + \sum(\text{angles from } p_i \text{ to all other poles})

  • Arrival angle at a complex zero zjz_j:

θa=180°+(angles from zj to all other zeros)(angles from zj to all poles)\theta_a = 180° + \sum(\text{angles from } z_j \text{ to all other zeros}) - \sum(\text{angles from } z_j \text{ to all poles})

A common mistake: forgetting to exclude the pole (or zero) you're computing the angle for from the summation.

Intersection with the imaginary axis

The gain values where branches cross the imaginary axis mark the boundary between stable and unstable operation. You can find these crossings by:

  1. Substituting s=jωs = j\omega into the characteristic equation 1+KG(s)H(s)=01 + KG(s)H(s) = 0.
  2. Separating real and imaginary parts and solving for ω\omega and KK.

Alternatively, apply the Routh-Hurwitz criterion to the characteristic polynomial and find the value of KK that makes a row of zeros appear. The auxiliary polynomial then gives the crossing frequency.

Root locus sketching procedure

Here's the step-by-step process for drawing a root locus by hand:

  1. Find open-loop poles and zeros. Factor the numerator and denominator of G(s)H(s)G(s)H(s). Plot poles (×) and zeros (○) on the s-plane.
  2. Count branches. The number of branches equals the number of open-loop poles.
  3. Mark real-axis segments. Shade portions of the real axis that lie to the left of an odd total count of real poles and zeros.
  4. Compute asymptotes. Calculate the centroid σc\sigma_c and asymptote angles θa\theta_a. Draw the asymptotes as dashed lines from the centroid.
  5. Find departure and arrival angles. Use the angle condition at each complex pole and zero.
  6. Find breakaway and break-in points. These occur where branches leave or rejoin the real axis. Solve for the roots of dKds=0\frac{dK}{ds} = 0, where KK is expressed in terms of ss from the characteristic equation. Only solutions that lie on the real-axis segments of the root locus are valid.
  7. Find imaginary-axis crossings. Use Routh-Hurwitz or direct substitution of s=jωs = j\omega.
  8. Sketch the locus. Connect the dots: branches start at poles, follow real-axis segments, break away at breakaway points, follow departure angles from complex poles, approach asymptotes or zeros, and cross the imaginary axis where calculated.

Root locus applications

Stability analysis

The root locus directly shows you the range of gain KK for which the system is stable. As long as all branches remain in the LHP, the system is stable. The gain at which a branch crosses into the RHP is the critical gain (or ultimate gain). Exceeding it makes the system unstable.

Dominant poles

Not all closed-loop poles affect the response equally. Dominant poles are the ones closest to the imaginary axis because they correspond to the slowest-decaying modes, which dominate the transient response. Poles far to the left decay quickly and contribute little to the output after a short time.

When analyzing root locus plots, focus on where the dominant poles end up for your chosen gain.

Transient response

Pole locations on the s-plane map directly to time-domain characteristics:

  • Distance from the imaginary axis (σ|\sigma|) controls how fast the response decays. Farther left means faster settling.
  • Distance from the real axis (ω|\omega|) controls oscillation frequency.
  • Angle from the negative real axis relates to the damping ratio ζ\zeta. Specifically, ζ=cos(θ)\zeta = \cos(\theta) where θ\theta is measured from the negative real axis.

By choosing KK so that the dominant poles sit at a specific location, you can target a desired rise time, overshoot, or settling time.

Steady-state error

Steady-state error depends on the system type (the number of open-loop poles at the origin). The root locus itself doesn't directly show steady-state error, but it helps you understand the tradeoff: increasing KK generally reduces steady-state error but can push poles toward instability or increase overshoot.

  • Type 0 system: Finite steady-state error to a step input, equal to 11+Kp\frac{1}{1+K_p}
  • Type 1 system: Zero steady-state error to a step, finite error to a ramp
  • Type 2 system: Zero error to both step and ramp inputs

Gain selection for desired performance

The root locus is ultimately a design tool. The typical workflow:

  1. Identify the desired closed-loop pole locations based on transient response specs (e.g., a damping ratio of ζ=0.7\zeta = 0.7 and a natural frequency of ωn=5\omega_n = 5 rad/s).
  2. Check whether those locations lie on the root locus.
  3. If they do, read off the corresponding gain KK using the magnitude condition: K=1G(s)H(s)K = \frac{1}{|G(s)H(s)|} evaluated at the desired pole location.
  4. If they don't, you'll need to add compensation (see next section).
Open vs closed loop transfer functions, Category:Root Locus - Wikimedia Commons

Root locus in control system design

When gain adjustment alone can't place poles where you need them, you reshape the root locus by adding compensators. These modify the open-loop transfer function, effectively adding new poles and/or zeros that pull the locus into a more favorable region.

Lead compensation

Lead compensators improve transient response by adding phase lead near the crossover frequency. The transfer function has the form:

Gc(s)=Kcs+zs+p,z<pG_c(s) = K_c \frac{s + z}{s + p}, \quad |z| < |p|

The zero is closer to the origin than the pole. On the root locus, this pulls branches to the left, increasing stability margins and allowing higher bandwidth. Use lead compensation when you need faster response or reduced overshoot.

Lag compensation

Lag compensators improve steady-state accuracy by boosting low-frequency gain without significantly affecting transient response. The transfer function is:

Gc(s)=Kcs+zs+p,z>pG_c(s) = K_c \frac{s + z}{s + p}, \quad |z| > |p|

Here the pole is closer to the origin than the zero. The pole-zero pair is placed close together near the origin, so it barely changes the root locus shape but increases the DC gain. Use lag compensation when steady-state error is too large but transient response is already acceptable.

PID controller tuning

A PID controller combines proportional, integral, and derivative action:

GPID(s)=Kp+Kis+Kds=Kds2+Kps+KisG_{PID}(s) = K_p + \frac{K_i}{s} + K_d s = \frac{K_d s^2 + K_p s + K_i}{s}

This adds one pole at the origin (from the integral term) and two zeros (from the numerator). Using root locus, you can:

  • Place the two zeros to pull the locus into the desired region
  • Adjust the overall gain to position the closed-loop poles at target locations
  • Observe how each gain (KpK_p, KiK_i, KdK_d) shifts the zero locations and reshapes the locus

Cascade compensation

Cascade compensation places the compensator in series with the plant. The overall open-loop transfer function becomes Gc(s)G(s)G_c(s) \cdot G(s), where Gc(s)G_c(s) is the compensator.

In practice, you often combine lead and lag stages into a lead-lag compensator to simultaneously improve transient response and steady-state accuracy. The design process involves iterating on the root locus: add the compensator poles and zeros, re-sketch the locus, and verify that the desired closed-loop pole locations are achievable.

Root locus software tools

Hand-sketching builds intuition, but software handles the precision work. These tools plot exact root loci, let you click on the locus to read gain values, and support interactive compensator design.

MATLAB and Control System Toolbox

MATLAB is the most widely used environment for control system design in both academia and industry.

  • rlocus(sys) plots the root locus of a system model
  • rlocfind(sys) lets you click on the plot to find the gain and pole locations at that point
  • sisotool(sys) opens an interactive GUI for designing compensators by dragging poles and zeros on the root locus

LabVIEW and Control Design Toolkit

LabVIEW uses a graphical (block diagram) programming approach. The Control Design Toolkit provides VIs such as CD Draw Root Locus and CD Root Locus Analysis Express VI for plotting and analyzing root loci within LabVIEW's visual environment. This is common in labs that already use National Instruments hardware.

Python Control Systems Library

The python-control library is a free, open-source alternative. Key functions include:

  • control.root_locus(sys) for plotting
  • control.rlocus(sys) as an alias
  • control.sisotool(sys) for interactive design (availability depends on version)

Python is a good choice if you want to integrate root locus analysis into larger scripts or don't have access to MATLAB licenses.