Imagine turning up the volume on a guitar amp. At first it's clean. Bump it: a faint ring. Bump it more: a sustained note. Past some threshold: the system squeals uncontrollably. That entire journey is the closed-loop poles of your amp-plus-feedback system sliding across the s-plane. The root locus is a map drawn before you turn the knob — it shows every position the closed-loop poles can possibly take, parameterized by the loop gain .
Why care? Picking K is the most common act in practical control design. Root locus tells you, at a glance, which gains give you fast response, which give you ringing, and at which K the loop tips into instability.
What you're looking at below. Left pane: the s-plane. The three crosses (×) are the open-loop plant poles you can drag around. The curving accent-color paths are the branches of the root locus — every point a closed-loop pole could occupy as K ranges from 0 to ∞. The filled dots ride those branches at your current K; they are the closed-loop poles right now. Right pane: the closed-loop step response at the current K. Slide the big K slider and watch all three move together.
Slide K, watch the poles march
what to try
- Start with K at the far left of the slider (). The closed-loop dots sit almost exactly on top of the plant poles — the open-loop plant. The step trace on the right is sluggish: not enough gain to push the output to the setpoint.
- Slide K to the right. Watch the dots move along the branches. Two of them head toward each other on the real axis, collide, then split vertically into a conjugate pair that arcs upward. The K where the collision happens is the breakaway point. Before it: overdamped (no ring). After it: underdamped (ring).
- Keep sliding K right. The complex pair drifts toward the imaginary axis. At some K, marked in red as K_crit, it crosses into the right half-plane. Instantly the closed-loop is unstable and the step response on the right explodes. That's the same boundary Nyquist found by encirclement; here it's just a pole crossing.
- Drag a plant pole to a new spot. The whole locus redraws — you've changed the plant, so the branches change. Push one pole deep into the left half-plane: the locus shrinks and the system tolerates much higher K before instability.
- Drag all three poles close together on the real axis (e.g. at −1.0, −1.1, −1.2). The three branches now leave from nearly-coincident starts and head off along asymptote angles of ±60° and 180°. Classic "n−m = 3" geometry from the textbook.
show the math
For unity feedback, the closed-loop transfer function is . Its poles are the values of where the denominator vanishes:
Splitting into magnitude and angle:
The angle condition is the geometric one: every point on the locus has angles-from-poles minus angles-from-zeros summing to an odd multiple of 180°. That defines the shape of the locus, independent of K. The magnitude condition labels each point on that shape with the specific K that lands a closed-loop pole there.
Properties that always hold (and are how textbooks draw the locus by hand):
- Branches start at open-loop poles (K = 0) and end at open-loop zeros (K = ∞).
- If poles exceed zeros by , the extra branches escape to infinity along asymptote angles .
- Locus is symmetric about the real axis (real plant coefficients).
- A point on the real axis is on the locus iff the number of open-loop poles + zeros to its right is odd.
- Breakaway/break-in points satisfy dfrac{d}{ds}igl[K(s)igr] = 0 along the real axis.
The widget above evaluates this numerically: for each K in a log-spaced sweep, it finds the roots of (via Durand–Kerner) and plots them. The branches you see are nothing more than those root sets stitched together.