Control Systems
Root Locus
Watching poles migrate as you crank the gain
The root locus is a graphical map of how a closed-loop system's poles slide across the complex s-plane as you turn one knob — the loop gain — from zero to infinity. It shows, at a glance, the gain that places the poles where you want them and the gain at which a branch crosses the imaginary axis and the loop goes unstable.
- Plotted inComplex s-plane, s = σ + jω
- Swept parameterLoop gain K, from 0 to ∞
- Branches startAt open-loop poles (K = 0)
- Branches endAt open-loop zeros, or ∞ along asymptotes
- Stability boundaryThe jω-axis (Re{s} = 0)
- Invented byWalter R. Evans, 1948
Interactive visualization
Press play, or step through manually. The visualization is yours to drive — try it before reading on.
Watch the 60-second explainer
A condensed visual walkthrough — narrated, captioned, under a minute.
What the root locus is — one knob, every pole position
A feedback control loop has exactly one thing the designer usually gets to turn freely: the loop gain. Turn it up and the system responds faster and rejects disturbances harder; turn it up too far and the system rings, then oscillates, then runs away. The hard question is where exactly that boundary sits, and what the response looks like at every gain on the way there. The root locus answers both with a single picture.
Start from the closed-loop characteristic equation. For a unity-feedback loop with forward path K·G(s) and feedback H(s), the closed-loop poles are the roots of:
1 + K·G(s)·H(s) = 0 → G(s)·H(s) = − 1/K
Those roots are the closed-loop poles, and a pole's location in the s-plane fixes the transient behaviour completely. A pole at s = σ + jω contributes a term proportional to e^(σt)·cos(ωt): the real part σ sets how fast that mode decays (negative) or grows (positive), and the imaginary part ω sets the oscillation frequency. So the root locus — the locus of those roots as K sweeps from 0 to ∞ — is a direct translation from one tuning knob to the speed, damping, ringing, and stability of the whole loop. It is the single most economical answer in classical control to the question "what does gain do to my system?"
Walter R. Evans published the construction in 1948 while at North American Aviation, and the method has outlived almost every contemporaneous graphical technique because the picture it draws is the physically meaningful one: not magnitudes and phases, but the actual poles whose positions you are trying to control.
The two conditions that define every point on the locus
Because K is a positive real number, the equation G(s)H(s) = −1/K splits into a phase part that is independent of K and a magnitude part that fixes K. A point s in the plane lies on the locus if and only if it satisfies the angle condition:
∠ G(s)H(s) = (2q + 1)·180°, q = 0, ±1, ±2, …
(sum of angles from zeros) − (sum of angles from poles) = odd multiple of 180°
Once a point passes that test, the gain that puts a closed-loop pole exactly there comes from the magnitude condition:
K = 1 / |G(s)H(s)| = (product of distances from s to the poles) / (product of distances from s to the zeros)
This is the entire engine of the method. The angle condition decides the shape of the curves — it is purely geometric and does not depend on gain. The magnitude condition decides how far along each curve you have travelled for a given gain. To pick a gain you find a point on the locus that meets your damping and speed specs (angle condition), then read the gain off the distance ratio (magnitude condition).
Evans' sketching rules — the locus without a computer
The reason the root locus survives in textbooks and interviews is that a handful of rules let you sketch the dominant shape in minutes, no root-finding required. For an open-loop transfer function with n poles and m zeros:
| Rule | Statement | Why it holds |
|---|---|---|
| Number of branches | Equals n, the number of open-loop poles | The characteristic polynomial has degree n; one root traces one branch |
| Start & end | Branches start at the n poles (K = 0), end at the m zeros (K → ∞); n − m go to ∞ | At K = 0 the equation reduces to the open-loop denominator; at K = ∞ to the numerator |
| Real-axis segments | A real point is on the locus if the count of real poles+zeros to its right is odd | The angle condition, with each real singularity contributing 0° or 180° |
| Asymptote angles | (2q + 1)·180° / (n − m) | Far from the cluster, n − m excess poles behave like a single high-order term |
| Asymptote centroid | σ_a = (Σ poles − Σ zeros) / (n − m) | The asymptotes radiate from this real-axis point |
| Breakaway points | Where dK/ds = 0 on a real-axis segment between two poles (or two zeros) | Two real branches meet, then split into the complex plane |
| Symmetry | The locus is mirror-symmetric about the real axis | Complex roots of a real polynomial occur in conjugate pairs |
| jω-axis crossing | Found from the Routh-Hurwitz array — gives K_crit and crossing frequency | Marginal stability = a row of zeros in the Routh table |
Rule 3 is the one beginners get wrong most often: it is the odd-count-to-the-right test, and it is what makes the locus appear and disappear along the real axis between alternating singularities. Rule 8 is the one that matters for safety — it is the only rule that tells you the gain at which the design tips into instability.
Worked example — a third-order plant going unstable
Take the textbook plant whose open-loop transfer function has three poles and no zeros:
G(s)H(s) = K / [ s (s + 2) (s + 4) ] n = 3 poles at 0, −2, −4 ; m = 0 zeros
Branches: 3 (one per pole)
Real-axis locus: segment [−2, 0] and segment (−∞, −4] (odd count to the right)
Excess n − m: 3 → three asymptotes
Asymptote angles: (2q+1)·180° / 3 = 60°, 180°, 300°
Centroid: σ_a = (0 − 2 − 4 − 0) / 3 = −2.0
Characteristic equation: s³ + 6s² + 8s + K = 0
Routh array:
s³ : 1 8
s² : 6 K
s¹ : (48 − K)/6
s⁰ : K
Marginal stability: 48 − K = 0 → K_crit = 48
Crossing frequency: from the s² row, 6s² + K = 0 at K = 48 → ω = √(48/6) = √8 ≈ 2.83 rad/s
So this plant is stable for 0 < K < 48. Below that the dominant pole pair sits in the left half-plane and the step response is well damped; at K = 48 a conjugate pair sits exactly on the imaginary axis at ±j2.83 and the output oscillates forever; above 48 those poles are in the right half-plane and the response grows without bound. The root locus draws all of this as two branches that start at 0 and −2, meet at a breakaway point near s ≈ −0.85, peel off into the complex plane, and curve rightward until they pierce the jω-axis at ±j2.83 exactly when K = 48. The third branch heads left from −4 along the 180° asymptote and never threatens stability.
This is the canonical lesson of the root locus: a stable plant with three lazy real poles becomes an oscillator if you simply turn the gain up far enough, because the excess of poles over zeros forces branches into the right half-plane. The fix is not a smaller gain — that leaves the system sluggish — but adding a left-half-plane zero (a derivative or lead term) to bend the branches back left.
Designing to a spec — damping, settling time, the constant-ζ line
The root locus earns its keep at design time. Most second-order-dominant specifications map onto simple geometry in the s-plane:
- Damping ratio ζ. For a dominant complex pole at angle
θmeasured from the negative real axis,ζ = cos(θ). A radial line from the origin at fixed angle is a line of constant damping. The classic "≈16% overshoot" target isζ = 0.5, the 60° line; "≈5% overshoot" isζ ≈ 0.69, about 46°. - Natural frequency ω_n. The distance of the pole from the origin. Circles centred at the origin are lines of constant
ω_n. - Settling time. Set by the real part:
t_s ≈ 4 / |σ|for the 2% criterion. Vertical lines of constantσare lines of constant settling time. - Peak overshoot.
M_p = exp(−πζ / √(1 − ζ²))— purely a function of ζ, hence of the radial angle.
The design recipe: draw the constant-ζ line for your overshoot spec, find where it intersects the locus, check that the intersection's real part also meets the settling-time spec, then evaluate the magnitude condition there to get the exact gain. If no single point on the locus satisfies both overshoot and speed at once, the plant cannot be tuned by gain alone — you reshape the locus with a compensator. A lead compensator (a zero left of a more-distant pole) pulls the branches left and adds damping; a lag or integral term adds a pole near the origin to kill steady-state error at the cost of pushing the locus right. PID tuning, viewed through this lens, is just deliberate placement of two zeros (from the proportional-plus-derivative action) and one pole at the origin (the integrator) to bend the locus into the region the specs require.
How adding poles and zeros reshapes the locus
- Add a left-half-plane zero → locus bends left, toward the zero. Damping and stable gain range both increase. This is the stabilising mechanism of the derivative term and the lead network. A zero acts like an attractor that the nearby branches curve toward.
- Add a pole → locus bends right, toward the jω-axis. The stable gain range shrinks and phase lag grows. This is the destabilising cost of integral action, of lag compensation, and of every real, unmodelled actuator or sensor lag. A pole acts like a repeller that pushes branches away — usually rightward.
- Change the pole/zero excess (n − m). The asymptote count is
n − m. Two excess poles give vertical ±90° asymptotes that may never cross into instability; three give a 60°/180°/300° fan that does bend into the right half-plane, so a third-order-or-higher plant is conditionally stable and a low-order one often is not. - Non-minimum-phase zeros (right-half-plane zeros). A zero in the right half-plane pulls branches into the right half-plane — the locus is attracted toward an unstable point. This is why non-minimum-phase plants (flexible structures, some boost converters, tail-controlled aircraft) are fundamentally hard to control and impose a hard bandwidth ceiling no compensator can lift.
Failure modes and limitations — where the locus misleads
- It assumes a linear, time-invariant plant. Actuator saturation, backlash, friction, and rate limits are all nonlinear; a pole comfortably in the left half-plane can still produce a limit cycle once the actuator clips. The locus tells you about small-signal stability, not large-signal behaviour.
- Dominant-pole reasoning can lie. Designers approximate the response by the two poles closest to the jω-axis. If a "non-dominant" pole or a zero is not five-to-ten times further out, the second-order formulas for overshoot and settling time drift, sometimes badly. Always verify the full response, not just the dominant pair.
- It is single-parameter. The classic locus varies one gain. Tuning two parameters at once (a PI controller's K_p and K_i, for instance) needs a generalised or contour root locus, or you fall back to a numerical sweep.
- It struggles with pure time delay. A transport delay
e^(−sT)is not rational; it has infinitely many phase contributions, so the standard finite-branch construction fails. You approximate the delay with a Padé rational, which adds a right-half-plane zero and warns you — correctly — that delay is destabilising. - Right-half-plane open-loop poles need care. An open-loop-unstable plant still has a valid locus, but reading stability off it is error-prone; the Nyquist criterion, which counts encirclements of −1, is the rigorous tool for unstable or non-minimum-phase open loops.
Root locus versus the other classical stability tools
| Property | Root locus | Bode plot | Nyquist plot |
|---|---|---|---|
| Domain / variable | s-plane, swept gain K | Frequency ω, log scale | Complex plane, swept ω |
| What it shows | Closed-loop pole positions | Open-loop gain & phase vs ω | Open-loop locus vs the −1 point |
| Reads out directly | ζ, ω_n, settling time, K_crit | Gain margin, phase margin | Encirclements → closed-loop stability |
| Best for | Choosing pole locations & gain | Loop-shaping, lead/lag design | Unstable / non-minimum-phase plants |
| Handles pure time delay | Poorly (needs Padé) | Exactly (extra phase lag) | Exactly |
| Handles open-loop instability | Awkward | Awkward | Rigorously (Cauchy argument principle) |
| Multi-parameter | One gain at a time | One loop at a time | One loop at a time |
In a real design office the three are complementary, not rivals. The root locus is where you decide where the poles should be and what gain gets them there; the Bode plot is where you confirm you still have a comfortable gain and phase margin once sensor noise and unmodelled lag are added; the Nyquist plot is the court of last resort for plants that are open-loop unstable or non-minimum-phase, where the other two can quietly give the wrong answer.
Where root locus is actually used
- Servo and motion control. Picking the gain of a position or velocity loop on a brushless DC or stepper drive so the dominant poles hit a 0.6–0.7 damping ratio for fast settling without overshoot — the day-to-day bread and butter of the method.
- Aircraft and spacecraft autopilots. Sizing the gain of a pitch or yaw damper, and seeing immediately how an actuator pole or a flexible-mode pair eats into the stable gain range before a branch crosses into the right half-plane.
- Power-electronic converters. Compensator design for buck, boost, and resonant converters, where the right-half-plane zero of a boost converter shows up on the locus as branches dragged toward instability — a textbook non-minimum-phase warning.
- Process control. Reasoning about why adding integral action (a pole at the origin) to kill offset simultaneously shrinks the stable gain margin, and why a derivative kick (a left-half-plane zero) buys it back.
- Teaching and intuition. Long after a design is finalised in MATLAB's
rlocus, the hand sketch is what lets an engineer predict, without computing, which way the poles will move when a real lag is discovered or a gain is bumped.
Frequently asked questions
What is the root locus and what does it actually show?
The root locus is a plot in the complex s-plane of every possible location of a closed-loop system's poles as one parameter — almost always the loop gain K — varies from zero to infinity. Those poles are the roots of the characteristic equation 1 + K·G(s)H(s) = 0. At K = 0 they sit on the open-loop poles; as K rises each traces a continuous curve; as K → ∞ each lands on an open-loop zero or escapes to infinity along an asymptote. Because a pole's position fixes the transient response — real part sets decay, imaginary part sets oscillation — the locus maps a single knob (gain) directly onto the loop's dynamics and stability.
Why does the system go unstable when a pole crosses the jω-axis?
A continuous-time linear system is stable only if every closed-loop pole has a negative real part. A pole at s = σ + jω contributes e^(σt) to the response, so positive σ grows without bound. The imaginary jω-axis (σ = 0) is the boundary: a pole on it gives a sustained oscillation — marginal stability. As gain rises, locus branches can bend right and cross the axis; the gain at that crossing is K_crit, and any higher value puts the dominant poles in the unstable right half-plane. The crossing point and K_crit come exactly from the Routh-Hurwitz array.
What are the main rules for sketching a root locus by hand?
Evans' rules: (1) the number of branches equals the number of open-loop poles n; (2) branches start at the n poles (K = 0) and end at the m zeros (K → ∞), with n − m running to infinity; (3) a real-axis point is on the locus if the count of real poles and zeros to its right is odd; (4) the infinite branches approach asymptotes at (2q+1)·180°/(n − m) radiating from a centroid σ_a = (Σpoles − Σzeros)/(n − m); (5) breakaway points occur where dK/ds = 0; (6) the locus is symmetric about the real axis; (7) jω-axis crossings come from the Routh array.
How is the root locus different from a Bode or Nyquist plot?
All three are stability tools but live in different domains. The root locus is parametric in gain K and shows where the closed-loop poles physically sit, so it reads out damping, natural frequency, and settling time. Bode and Nyquist are frequency-response tools evaluated along the jω-axis of the open-loop transfer function: Bode gives gain and phase margins and is natural for lead/lag loop-shaping; Nyquist counts encirclements of −1 and rigorously handles open-loop-unstable or non-minimum-phase plants. Engineers typically choose pole locations on the locus, then verify margins on Bode.
Can the root locus tell me what gain to choose for a target overshoot or damping?
Yes — that is its primary design use. A dominant complex pole at angle θ from the negative real axis has damping ratio ζ = cos(θ); the ≈16% overshoot spec is ζ ≈ 0.5, the 60° radial line. Draw that line, find where it meets the locus, read the pole location, and evaluate the magnitude condition K = 1/|G(s)H(s)| there to get the exact gain. The pole's distance from the origin gives ω_n, which with ζ fixes settling time (≈ 4/ζω_n for 2%). If no locus point meets every spec at once, you need a compensator rather than just more gain.
What happens to the root locus when you add a pole or a zero?
Adding a left-half-plane zero pulls the locus toward it, increasing damping and stabilising the loop — exactly what a PID derivative term or a lead compensator does. Adding a pole pushes the locus right toward the imaginary axis, shrinking the stable gain range and adding phase lag — the destabilising side of integral action and lag compensators. Each extra pole raises n − m, so asymptotes that were ±90° for two excess poles fan out to ±60°/180° for three and bend into the right half-plane far sooner.