Electronics Guide

Root Locus Analysis

Raise the gain of a feedback loop and its closed-loop poles move. They start at the open-loop poles, travel through the s-plane as the gain grows, and end at the open-loop zeros or at infinity. The root locus is the set of paths they follow. One plot shows every pole location that gain alone can reach: which gains are stable, which give the required damping, and how fast the loop can respond before it rings.

Walter R. Evans developed the method at North American Aviation and published it in 1948 as “Graphical Analysis of Control Systems” in the Transactions of the American Institute of Electrical Engineers. His 1950 paper in the same journal, “Control System Synthesis by Root Locus Method,” extended it to design. His rules sketch the locus from the open-loop poles and zeros alone. Software now draws it directly, but the rules still explain its shape and expose errors in a model or a plot.

This article covers the angle and magnitude conditions, the construction rules, reading damping from the plot, compensator design, and the z-plane, with a motor position loop as the worked example. The loop is assumed linear and time-invariant, with a rational transfer function. Laplace Transform covers poles and zeros, Time-Domain Response of Control Systems turns pole locations into overshoot and settling time, and Stability Analysis and Compensation treats the same loops through phase and gain margins.

Closed-Loop Poles and the Characteristic Equation

In the standard single loop, a gain K and a forward path G(s) drive the output, and a sensor H(s) feeds the output back for subtraction from the reference. The closed-loop transfer function is

T(s) = KG(s) / [1 + KG(s)H(s)]

and its poles are the roots of the characteristic equation

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

Write G(s)H(s) = N(s)/D(s), where N(s), of degree m, has the open-loop zeros z1 through zm as its roots, and D(s), of degree n, has the open-loop poles p1 through pn. Scale both polynomials to leading coefficients of 1, folding the constant into K. Clearing the fraction gives

D(s) + KN(s) = 0

whose n roots are the closed-loop poles. The root locus plots them as K runs from 0 toward infinity.

The closed-loop zeros, which are the zeros of G(s) and the poles of H(s), do not move with K. The locus therefore shows the poles, which fix stability and each mode's decay rate and ringing frequency, but not the zeros, which set how strongly each mode appears in a response.

A second-order loop shows the idea. With G(s)H(s) = 1/[s(s + 4)], the characteristic equation s2 + 4s + K = 0 has the roots

s = −2 ± √(4 − K)

At K = 0 the poles sit at 0 and −4. As K rises to 4, they approach each other along the real axis and meet at −2. Above K = 4 they become −2 ± j√(K − 4) and climb vertically. The natural frequency, √K, grows and the damping ratio, 2/√K, falls, but the real part stays at −2, so no gain makes this loop unstable. Larger loops rarely have roots in closed form, and the rules below sketch their loci without them.

The method assumes a lumped, linear, time-invariant loop with real coefficients, negative feedback, a real gain K ≥ 0, and n ≥ m.

The Angle and Magnitude Conditions

A point s is a closed-loop pole for some gain exactly when KG(s)H(s) = −1. This complex equation splits into two real conditions. The angle condition decides whether a point lies on the locus, and the magnitude condition gives the gain that puts a pole there.

Draw a vector from each open-loop zero and pole to the test point s, with angles measured counterclockwise from the positive real direction. Let θz denote the angles of the vectors from the zeros and θp those from the poles. For K > 0 the angle condition is

∑θz − ∑θp = (2q + 1) × 180°, for some integer q

so the net angle must be an odd multiple of 180°. At a point that satisfies it, the magnitude condition gives the gain:

K = (product of the vector lengths from the poles) / (product of the vector lengths from the zeros)

with the denominator taken as 1 when the loop has no zeros.

Test two points against 1/[s(s + 4)]. At s = −2 + j3, the vectors from the poles at 0 and −4 have angles of 123.7° and 56.3°, a net angle of −180°, so the point lies on the locus. Both vectors have length √13, so K = 13, and s2 + 4s + 13 = 0 indeed has the roots −2 ± j3. At s = −1 + j3 the angles sum to 153.4°, so no positive gain places a pole there.

Because angles add and lengths multiply, points can be tested with a protractor and a scale. Evans also invented the Spirule, an arm and a disk joined at a pivot. With the pivot on the test point, rotating the arm through each vector angle summed the angles, and a logarithmic spiral on the device turned each vector length into an angle, so adding those angles multiplied the lengths, as on a slide rule.

Positive Feedback and the Complementary Locus

Positive feedback, a negative gain, or a negative sign left over when N(s) and D(s) are made monic changes the requirement to an even multiple of 180°. The result is the complementary, or 0°, locus, and the sketching rules in the next two sections change to match. Its real-axis segments lie to the left of an even number of real poles and zeros, its asymptotes lie at angles of q × 360°/(n − m), and its departure and arrival angles lose the 180° term. Roots of the breakaway equation that give a negative K belong to it. The sign trap is common. A right-half-plane zero written as (1 − s/20) becomes −(s − 20)/20 in monic form, so its loop follows the 0° rules even with ordinary negative feedback.

Parameters Other Than Gain

Any parameter α that enters the characteristic polynomial linearly can take the place of K. Write the polynomial as A(s) + αB(s) = 0 and divide by A(s): the roots of A(s) act as poles, and the roots of B(s) as zeros. The resulting root contour shows how the closed-loop poles move as a compensator pole or a time constant changes with the gain held fixed.

Sketching Rules: Branches, the Real Axis, and Asymptotes

The two conditions yield rules that fix the shape of a locus before any point on it is calculated.

  1. Branches. The locus has n branches, one per closed-loop pole. They vary continuously with K, and because the coefficients are real, the locus is symmetric about the real axis.
  2. Start and end points. At K = 0 the equation reduces to D(s) = 0, so the branches start at the open-loop poles. As K grows without bound, m branches end at the open-loop zeros, and the other n − m go to infinity.
  3. Real-axis segments. A point on the real axis lies on the locus exactly when the number of real poles and zeros to its right is odd. Each one to the right contributes 180°, each one to the left 0°, and the angles from a complex-conjugate pair cancel.
  4. Asymptotes. The n − m branches that go to infinity approach lines at angles of (2q + 1) × 180°/(n − m), for q = 0, 1, and so on up to n − m − 1. The lines radiate from a point on the real axis, the centroid σa = (sum of the pole locations − sum of the zero locations)/(n − m).
  5. Constant sum. When n − m ≥ 2, the coefficient of sn−1 in D(s) + KN(s) does not depend on K, so the closed-loop poles always sum to the sum of the open-loop poles. Branches that bend right must be balanced by branches that move left.
Asymptote angles by pole-zero excess
n − m Asymptote angles Behavior at high gain
1180°One branch runs out along the negative real axis
2±90°Two branches approach a vertical line through the centroid
3±60° and 180°Two branches enter the right half-plane
4±45° and ±135°Two branches enter the right half-plane

For the motor loop of the worked example, K/[s(s + 10)(s + 100)], three branches start at 0, −10, and −100. The locus covers the real axis between 0 and −10 and to the left of −100. The asymptotes leave the centroid, (0 − 10 − 100)/3 = −36.7, at 60°, 180°, and −60°, so two branches must eventually cross into the right half-plane, and the three poles always sum to −110.

Sketching Rules: Breakaway Points, Axis Crossings, and Departure Angles

Three further rules each take a short calculation.

Breakaway and Break-In Points

Where branches meet on the real axis and leave it, or arrive and join it, the gain along the axis passes through a local maximum or minimum. Writing K = −D(s)/N(s) and setting dK/ds = 0 gives

N(s) dD/ds − D(s) dN/ds = 0

Not every root is a breakaway point. A real root counts only if it lies on a segment allowed by rule 3 and gives a positive K, and a complex root counts only if the K it implies is real and positive. Two branches that meet on the real axis leave it at right angles; in general, r branches that meet at a point leave at angles of 180°/r from the branches that arrive.

For the motor loop, N(s) = 1 and D(s) = s3 + 110s2 + 1,000s, so the condition is 3s2 + 220s + 1,000 = 0, with roots −4.87 and −68.5. The first lies between 0 and −10 and gives K = 2,377: the branches from 0 and −10 meet there and turn into the complex plane. The second lies between −10 and −100, where two poles lie to the right, and gives K ≈ −126,000, a point on the complementary locus.

Imaginary-Axis Crossings

The Routh–Hurwitz criterion finds the gain at which a pair of branches reaches the imaginary axis without computing any roots. For the motor loop the characteristic polynomial is s3 + 110s2 + 1,000s + K.

Routh array for s3 + 110s2 + 1,000s + K
Row First column Second column
s311,000
s2110K
s1(110,000 − K)/1100
s0K0

Every entry in the first column is positive, and the loop stable, for 0 < K < 110,000. At K = 110,000 the s1 row vanishes, and the auxiliary polynomial from the row above it, 110s2 + 110,000 = 0, gives the crossings s = ±j31.6 rad/s, so at that gain the loop oscillates at about 5.0 Hz. Substituting s = jω and setting the real and imaginary parts to zero gives the same result.

Angles of Departure and Arrival

Apply the angle condition at a point very close to a complex pole pj. Every other vector keeps essentially the angle it has at pj, so the direction of departure must supply the rest:

θdep = 180° + (sum of the angles of the vectors from the zeros to pj) − (sum of the angles of the vectors from the other poles to pj)

The same argument at a complex zero zj gives the direction, seen from the zero, of the branch that arrives there:

θarr = 180° − (sum of the angles of the vectors from the other zeros to zj) + (sum of the angles of the vectors from the poles to zj)

Both angles are defined modulo 360°.

For K/[s(s2 + 4s + 20)], with poles at 0 and −2 ± j4, the vectors to the upper complex pole from the origin and from the lower pole have angles of 116.6° and 90°, so θdep = 180° − 116.6° − 90° = −26.6°. The branch heads down and to the right and reaches the imaginary axis at K = 80, where ω = √20 ≈ 4.47 rad/s. The breakaway condition, 3s2 + 8s + 20 = 0, has only complex roots, which imply complex values of K, so the complex branches never reach the real axis. The open-loop pair has a damping ratio of only 0.45, the departure angle carries it toward the imaginary axis, and no gain yields ζ = 0.5.

For K(s2 + 2s + 5)/[s(s + 4)], with zeros at −1 ± j2, the vectors to the upper zero from the lower zero and from the poles at 0 and −4 have angles of 90°, 116.6°, and 33.7°, so θarr = 180° − 90° + 116.6° + 33.7° = 240.3°, or −119.7°. The branches break away from the real axis at −1.53, where K = 0.88, and the upper branch approaches its zero from below and to the left.

Reading Damping, Natural Frequency, and Gain from the Locus

A complex closed-loop pole at s = −σ + jωd, together with its conjugate, has

  • a natural frequency ωn equal to its distance from the origin, √(σ2 + ωd2);
  • a damping ratio ζ = cos θ, where θ is the angle between the vector to the pole and the negative real axis;
  • a decay rate σ = ζωn, its distance from the imaginary axis; and
  • a damped natural frequency ωd, its distance from the real axis.

Rays from the origin therefore mark constant damping, with ζ = 0.5 at an angle of 60° from the negative real axis and ζ = 0.707 at 45°. Circles about the origin mark constant natural frequency, and vertical lines mark constant decay rate. Time-Domain Response of Control Systems converts overshoot and settling-time limits into such boundaries, which enclose a wedge about the negative real axis cut off on the right by a vertical line. To choose a gain:

  1. Draw the ray for the required damping ratio, or the boundary of the required region.
  2. Find where the locus crosses it, from the angle condition or from computed points.
  3. Read the gain at the crossing from the magnitude condition.
  4. Find the other closed-loop poles, for example with the constant-sum rule, and confirm that they lie far to the left or close to zeros.
  5. Check the error constant, and confirm the response by simulation, because zeros and the other poles shift overshoot and settling time.

For a loop that loses stability as gain rises, the locus also shows the gain margin, the ratio of the crossing gain to the design gain. For the motor loop under proportional control, designed for ζ = 0.5 at K = 8,340, the ratio is 110,000/8,340 ≈ 13.2, or 22.4 dB. A Bode plot gives the same value, because the loop's phase passes through −180° at the crossing frequency. The locus does not show phase margin or sensitivity to dynamics left out of the model; Stability Analysis and Compensation covers those measures.

How Added Poles and Zeros Reshape the Locus

Compensation adds poles and zeros, so it pays to see what one added element does. Start from K/[s(s + 10)], a motor under proportional position control with negligible armature inductance. Its branches meet at −5 and rise vertically, so every gain is stable, and K = 100 gives poles at −5 ± j8.66 with ζ = 0.5. The table adds one element at a time, each with unity gain at DC, so the velocity constant Kv = K/10 compares the cases directly.

Effect of one added pole, zero, or delay on the loop K/[s(s + 10)]
Added element Gain K for ζ = 0.5 Dominant closed-loop poles Kv at that gain (s−1) Largest stable gain
None100−5.00 ± j8.6610.0No limit
Pole at −100, as 1/(1 + s/100)83.4−4.55 ± j7.878.341,100
Pole at −20, as 1/(1 + s/20)51.9−3.33 ± j5.775.19300
Zero at −20, as (1 + s/20)None; the least damping, ζ = 0.707, occurs at K = 200−10.0 ± j10.0 at K = 20020.0 at K = 200No limit
Right-half-plane zero at +20, as (1 − s/20)53.6−3.66 ± j6.345.36200
Time delay of 0.05 s, e−0.05s51.9−3.48 ± j6.035.19215

Added Poles

An added left-half-plane pole contributes angle lag, so the branches bend toward the imaginary axis. It also raises n − m, and at n − m = 3 the asymptotes at ±60° guarantee instability at high enough gain. The nearer the pole to the dominant poles, the stronger the effect. A pole at −100 barely moves the ζ = 0.5 point, while a pole at −20 cuts the decay rate by a third, nearly halves Kv, and limits the gain to 300.

Added Zeros

An added left-half-plane zero contributes angle lead, pulls the branches left, and lowers n − m. With two real poles and a real zero beyond them, the complex part of the locus is a circle centered on the zero, with a radius equal to the square root of the product of the zero's distances from the two poles. For K(1 + s/20)/[s(s + 10)], the radius is √(20 × 10) ≈ 14.1, so the branches leave the real axis at −5.86 and rejoin it at −34.1. A tangent from the origin to this circle makes an angle of 45° with the negative real axis, so ζ never falls below 0.707, and no gain destabilizes the loop. The zero also appears in the closed-loop transfer function, where it raises overshoot above what the poles alone predict.

Right-Half-Plane Zeros and Time Delay

A right-half-plane zero ends a branch in the right half-plane, so high gain must destabilize the loop. For K(1 − s/20)/[s(s + 10)], the characteristic equation s2 + (10 − K/20)s + K = 0 loses its damping term at K = 200, where the poles cross the imaginary axis at ±j14.1. Following the complementary rules, the branches leave the real axis at −4.49, swing around the zero, and rejoin the axis at +44.5.

A time delay Td multiplies the loop by e−sTd, which adds an angle of −ωTd radians at s = σ + jω and gives the locus infinitely many branches. The first-order Padé approximation,

e−sTd ≈ (1 − sTd/2) / (1 + sTd/2)

substitutes a right-half-plane zero at 2/Td and a pole at −2/Td. For the 0.05 s delay in the table, it predicts instability at K = 222 against the exact 215 and places the ζ = 0.5 poles almost exactly, but it degrades far from the origin. The delay, the right-half-plane zero, and the pole at −20 cost nearly the same velocity constant, because each adds 15° to 19° of angle lag at its own ζ = 0.5 poles.

Compensator Design on the Locus

If the locus misses the region the specifications require, lead or PD compensation reshapes it to pass through a chosen point, and the magnitude condition sets the gain there. If the locus passes through the region but the error constant there is too small, a lag or PI pair near the origin raises the low-frequency gain while leaving the locus almost unchanged.

Lead Compensation

A lead compensator, C(s) = Kc(s + z)/(s + p) with p > z > 0, adds more angle through its zero than it removes through its pole, so it pulls the locus left. The angle deficiency method designs it:

  1. Choose the desired dominant pole location sd.
  2. At sd, sum the angles of the vectors from the plant's poles and subtract those from its zeros. The excess over 180° is the lead φ that the compensator must supply.
  3. Place the zero, often directly below sd or on a stable real plant pole, and place the pole so that the zero's angle minus the pole's angle equals φ.
  4. Compute Kc from the magnitude condition at sd.
  5. Find the other closed-loop poles, check the error constant, and simulate the response.

A large φ pushes the pole far from the zero, and the ratio p/z sets how far the compensator's high-frequency gain exceeds its DC gain, amplifying sensor noise and demanding more drive. Stability Analysis and Compensation designs the same network from the frequency response.

PD Control

A PD controller, C(s) = KP + KDs = KD(s + KP/KD), adds a zero alone, the limit of a lead network whose pole has moved to infinity. In the worked example, a PD zero at −10 would leave the loop 2,000KD/[s(s + 100)], whose branches rise vertically from −50. The poles would reach ζ = 0.5 at −50 ± j86.6 with KD = 5 V·s/rad, five times faster than the lead design. But the controller's gain rises without limit with frequency. Even with a filter pole at 1,000 rad/s, its high-frequency gain would be 5,000 V/rad, so a step of only 1 mrad would demand 5 V at once. Filtering the derivative makes a practical PD controller a lead network again.

Lag Compensation

A lag compensator, C(s) = (s + z)/(s + p) with z > p > 0, has unity gain at high frequency and a DC gain of z/p, so it multiplies Kv by z/p. Placed close to the origin compared with the dominant poles, its zero and pole subtend nearly equal angles at sd. In the worked example, a zero at −0.2 and a pole at −0.02 add only −0.45° of angle and a magnitude factor of 0.996 at sd = −10 + j17.3.

The pair still leaves a slow closed-loop pole just left of the zero. The zero nearly cancels that pole, so its share of a step response is small but decays slowly. In a type 1 loop the share is roughly (z − p)/Kv0, where Kv0 is the velocity constant before the lag was added, and the time constant is about 1/z. Moving the pair toward the origin shrinks the tail but slows it.

PI Control

A PI controller, C(s) = KP(s + KI/KP)/s, is a lag compensator with its pole at the origin. It raises the system type by one, and it removes the steady error caused by a constant disturbance entering between the controller and the plant. On the locus it behaves like a lag network, leaving a slow closed-loop pole near its zero, and its integrator costs a little stability: added to the worked example's lead design with its zero at −1, it lowers the largest stable gain from 312,500 to 296,875. It also winds up when the actuator saturates. The PID Control Fundamentals section of Process Control Theory and Implementation covers anti-windup and tuning, and a PID controller adds a second zero, combining the lag action of PI with the lead action of PD.

Pole-Zero Cancellation: Uses and Hazards

Placing a compensator zero on a stable plant pole removes the pair from the loop transfer function and simplifies the locus that remains, and the worked example cancels the motor's mechanical pole this way. The shortcut has three hazards.

Cancellation Is Never Exact

A plant pole moves with load, temperature, and tolerances, while the zero meant to cancel it stays put. Every zero terminates a branch, so a zero off its pole draws a closed-loop pole toward itself. If the pair lies much closer to the origin than the dominant poles, that pole ends up near the zero with a small residue and a long time constant, a slow tail. If the pair lies among the dominant poles, the extra pole takes a large share of the response. Doubling the load inertia in the worked example moves the canceled pole from −10 to −5, adds a real closed-loop pole at −16.5, and raises overshoot from 17 to 28 percent.

The Canceled Pole Still Belongs to the Loop

A disturbance that enters between controller and plant, such as a load torque, reaches the output through G(s)/[1 + C(s)G(s)], where the canceled pole survives. In the lead-compensated motor loop, the e−10t term of that pole carries 88 percent of the position change caused by a constant disturbance at the amplifier input. That costs little here, because the pole decays as fast as the dominant pair. Had the canceled pole been at −1, the command response could have been identical, but the disturbance response would take about 4 s to settle within 2 percent.

Never Cancel an Unstable Pole or a Right-Half-Plane Zero

Such a cancellation fails however well the parts match. Take a real plant pole at +a and a compensator zero just beside it, with no other real poles or zeros to their right. By the real-axis rule, the short segment between them lies on the locus, so a closed-loop pole stays in the right half-plane at every gain. Even perfect cancellation only hides the unstable mode from the reference, and disturbances and initial conditions still excite it. Feedback must move an unstable pole rather than cancel it, and a right-half-plane zero must be accommodated, typically by keeping the loop bandwidth well below the zero's frequency.

Worked Example: A Motor Position Loop

A permanent-magnet DC motor turns a heavy load through a gearbox. A PWM amplifier drives it as a voltage source limited to ±24 V, and an encoder measures the load angle. The motor's voltage-to-speed response has a mechanical pole at 10 rad/s, set mainly by the load inertia, and an electrical pole at 100 rad/s, set mainly by the armature inductance and resistance. With a speed gain of 2 (rad/s)/V at the load, the plant from drive voltage to load angle is

G(s) = 2,000 / [s(s + 10)(s + 100)] rad/V

A proportional controller of KP volts per radian gives the loop K/[s(s + 10)(s + 100)] with K = 2,000KP. The specification calls for overshoot below 20 percent on a small step, settling within 2 percent in less than 0.5 s, and a following error of at most 0.01 rad while the command moves at 1 rad/s, which requires Kv ≥ 100 s−1.

The earlier sections have sketched this locus. The branches from 0 and −10 meet at −4.87, where K = 2,377 (KP = 1.19), then rise as a complex pair toward the ±60° asymptotes and cross the imaginary axis at ±j31.6 rad/s when K = 110,000 (KP = 55). Meanwhile the branch from −100 moves left, keeping the sum of the poles at −110. To find the gain for ζ = 0.5, write the dominant pair as s2 + rs + r2, where r = ωn. Matching (s2 + rs + r2)(s + c) to s3 + 110s2 + 1,000s + K gives r + c = 110 and r(r + c) = 1,000, so r = 9.09 and c = 100.9. The poles are −4.55 ± j7.87 and −100.9, and K = r2c = 8,340, or KP = 4.17 V/rad.

Closed-loop poles of the motor loop under proportional control
K KP (V/rad) Closed-loop poles ζ of the complex pair
000, −10, −100None; the open-loop poles
1,0000.50−1.14, −8.75, −100.1None; overdamped
2,3771.19−4.87 (double), −100.31.00, at the breakaway point
5,0002.50−4.73 ± j5.23, −100.50.67
8,3404.17−4.55 ± j7.87, −100.90.50, the design point
20,00010.0−3.94 ± j13.43, −102.10.28
50,00025.0−2.49 ± j21.68, −105.00.11
110,00055.0±j31.62, −110.00, the stability limit
200,000100+3.10 ± j41.37, −116.2Negative; unstable

Simulated, the design overshoots by 16.2 percent, close to the second-order prototype's 16.3 percent, because the third pole lies more than 20 times farther left than the dominant pair. It settles within 2 percent in 0.90 s. The gain margin is 13.2 (22.4 dB), and the phase margin is 51.6°, near the prototype's 51.8° for ζ = 0.5. But Kv = K/1,000 = 8.3 s−1, so the load trails a 1 rad/s command by 0.12 rad. No proportional gain meets the 0.5 s settling requirement. Beyond the breakaway point, more gain moves the dominant poles toward the imaginary axis, so their decay rate never exceeds the 4.87 s−1 they have at that point. The fastest 2 percent settling comes just below K = 3,800 (KP ≈ 1.9), where ζ ≈ 0.78 holds the overshoot just under 2 percent, and even that response needs about 0.6 s.

Worked Example, Continued: Lead and Lag Compensation

Faster settling needs the dominant poles farther left, which calls for lead compensation:

  1. Choose the target. Keep ζ = 0.5 and double the decay rate to 10 s−1: sd = −10 + j17.32, with ωn = 20 rad/s.
  2. Find the deficiency. At sd, the vectors from the plant poles at 0, −10, and −100 have angles of 120°, 90°, and 10.9°, a total of 220.9°, so the compensator must supply 40.9° of lead.
  3. Place the zero and pole. A zero at −10 cancels the mechanical pole's 90°, so the compensator pole must contribute 90° − 40.9° = 49.1°. The vector from a pole at −p to sd is (p − 10) + j17.32, and tan 49.1° = 17.32/(p − 10) gives p = 25.
  4. Set the gain. The magnitude condition gives K = |sd| × |sd + 25| × |sd + 100| = 20 × 22.9 × 91.7 = 42,000. Since K = 2,000Kc, the compensator is C(s) = 21(s + 10)/(s + 25).
  5. Check the result. The characteristic polynomial of the loop 42,000/[s(s + 25)(s + 100)] factors exactly as (s2 + 20s + 400)(s + 105), and Kv = 42,000/2,500 = 16.8 s−1.
Closed-loop poles of the motor loop with the lead compensator Kc(s + 10)/(s + 25)
K Kc (V/rad) Closed-loop poles ζ of the complex pair
000, −25, −100None
5,0002.5−2.25, −22.1, −100.7None
13,7416.87−11.62 (double), −101.81.00, at the breakaway point
42,00021.0−10.00 ± j17.32, −105.00.50, the design point
100,00050.0−7.22 ± j29.20, −110.60.24
312,500156±j50.00, −125.00, the stability limit

The lead design overshoots by 16.0 percent and settles within 2 percent in 0.41 s, with a gain margin of 7.4 (17.4 dB) and a phase margin of 51.8°. A step of r radians demands 21r volts at the first instant, so steps above about 1.1 rad saturate the amplifier, and larger moves need the motion profiling described in Automatic Control Circuits. The following error, 1/16.8 ≈ 0.06 rad at 1 rad/s, is still six times the limit.

A lag network can multiply Kv by 10. A first attempt puts its zero at −1, a tenth of the dominant poles' real part, and its pole at −0.1. Kv rises to 168 s−1, and the dominant poles barely move, to −9.54 ± j16.96. But the slow closed-loop pole at −1.06 carries 6.1 percent of the step, close to the 5.4 percent that (z − p)/Kv0 = 0.9/16.8 predicts. Overshoot grows to 22.7 percent and the 2 percent settling time to 1.05 s, so both transient requirements now fail.

Moving the pair five times closer to the origin, to a zero at −0.2 and a pole at −0.02, keeps Kv at 168 s−1 and shrinks the tail to 1.1 percent, with a time constant of about 5 s. Overshoot is 17.3 percent. The response stays within 2 percent after 0.30 s, sooner than with the lead alone, because the small positive tail lifts the first undershoot inside the band, though it remains more than 1 percent from its final value until 0.66 s. The final controller is

C(s) = 21(s + 10)(s + 0.2) / [(s + 25)(s + 0.02)]

Motor position loop designs compared
Controller Dominant closed-loop poles Overshoot (%) 2 percent settling time (s) Kv (s−1) Gain margin
Proportional, KP = 4.17 V/rad−4.55 ± j7.8716.20.908.313.2 (22.4 dB)
Lead, 21(s + 10)/(s + 25)−10.00 ± j17.3216.00.4116.87.4 (17.4 dB)
Lead with lag zero at −1 and pole at −0.1−9.54 ± j16.9622.71.051687.1 (17.0 dB)
Lead with lag zero at −0.2 and pole at −0.02−9.91 ± j17.2517.30.301687.4 (17.4 dB)

A last check tests the cancellation. If the load inertia doubles, the plant becomes 1,000/[s(s + 5)(s + 100)], while the compensator's zero stays at −10. The final design then has dominant poles at −5.42 ± j9.68 and a real pole at −16.5; it overshoots by 27.5 percent and settles within 2 percent in 0.71 s. Proportional control facing the same change overshoots by 30 percent and needs 1.7 s. A load that varies this much calls for checking the design at both extremes or scheduling the gains on the load.

The Root Locus in the z-Plane

With a digital controller, the characteristic equation becomes 1 + KG(z) = 0, where G(z) is the pulse transfer function of the zero-order hold, plant, and sensor together. It must come from transforming that cascade as a whole, because the product of separately transformed blocks is not the transform of their combination. The algebra is unchanged, so every construction rule carries over; only the reading changes. Stability requires every closed-loop pole inside the unit circle, which replaces the imaginary axis, and the Jury test, or Routh's array after the substitution z = (1 + w)/(1 − w), replaces Routh's criterion. Under the mapping z = esT, lines of constant damping become logarithmic spirals that wind toward the origin, and z = 1 corresponds to s = 0. Z-Transform develops the mapping and the unit-circle stability condition.

Sampling costs stability. Sample the base loop K/[s(s + 10)] every T = 20 ms through a zero-order hold, and the discrete plant becomes

G(z) = 1.873 × 10−4 (z + 0.9355) / [(z − 1)(z − 0.8187)]

Its poles, at 1 and e−10T = 0.8187, are images of the continuous poles, and its zero at −0.9355 comes from the hold. Two real poles and a real zero beyond them again give a circle about the zero, here of radius 1.84. The branches break away at 0.907, swing around the zero, and leave the unit circle at K = 1,034, at angles of ±35.7° that correspond to oscillation at 31.1 rad/s, before rejoining the real axis at −2.78. The continuous loop is stable at every gain; the sampled loop is not. At K = 100, where the continuous loop has ζ = 0.5, the sampled poles at 0.900 ± j0.162 correspond to ζ = 0.45, and sampling every 50 ms lowers that damping ratio to 0.37 and the stability limit to K = 436.

Software Tools and Numerical Checks

Software computes a locus by solving D(s) + KN(s) = 0 over a grid of gains and joining the roots into branches:

  • MATLAB: The Control System Toolbox function rlocus plots the closed-loop pole trajectories against the feedback gain, assuming negative feedback, and returns the roots at specified gains. The Control System Designer app, opened with controlSystemDesigner, adds an interactive root locus editor for placing compensator poles, zeros, and gain.
  • Python: The Python Control Systems Library, python-control, provides root_locus_map to compute the locus and root_locus_plot to plot the roots of 1 + kG(s) as k varies.
  • Scilab: The evans function draws what its documentation calls the Evans root locus of a single-input, single-output system.

The hand rules remain the best check on a computed plot:

  • Match the feedback sign. The tools assume negative feedback around the model as entered, so pass the negated model to study positive feedback.
  • Refine the grid near special points. Near a breakaway point, a double root splits in proportion to the square root of the change in gain, so a coarse grid can make branches appear to jump or swap. Request the breakaway and crossing gains explicitly.
  • Keep canceled modes visible. Reducing a model to minimal form drops canceled pole-zero pairs, along with the modes that disturbances still excite, so keep the plant and controller as separate blocks.
  • Test the plot against the rules. Branch counts, real-axis segments, the centroid, and the constant pole sum catch most model-entry errors, such as a pole entered with the wrong sign.

Strengths and Limits of the Method

The root locus shows closed-loop poles directly, so it suits requirements stated as damping, natural frequency, or decay rate, and design choices that come down to one gain or one compensator zero. Its limits follow from the same directness. Its rules need a rational model, so it cannot work directly from measured frequency-response data, and a time delay calls for a rational approximation or a numerical solution of the angle condition. It varies one parameter at a time. It shows poles but not closed-loop zeros, so its predictions still need simulation. And it assumes linearity, while saturation, backlash, and friction shape real hardware. Frequency-response methods complement it by reading margins from measured loops and treating delays exactly, and multivariable loops call for state-space methods.

Summary

The root locus traces the roots of 1 + KG(s)H(s) = 0 as the gain rises from zero. The angle condition decides which points lie on it, and the magnitude condition labels those points with gains. The rules follow from the two conditions: n branches from the poles to the zeros or to infinity, real-axis segments to the left of an odd count of poles and zeros, asymptotes from the centroid, breakaway points from dK/ds = 0, axis crossings from Routh's array, and departure and arrival angles.

Read against rays of constant damping, the locus turns specifications into gains. Added poles push it right and added zeros pull it left. Lead and PD compensation move it toward faster poles, while lag and PI compensation raise low-frequency gain at the cost of a slow tail. Canceling a stable pole is a shortcut that disturbances and parameter changes can expose, and canceling an unstable pole or a right-half-plane zero never works. In the motor example, a lead network doubled the decay rate that proportional control allowed, and a lag pair near the origin then raised the velocity constant tenfold. In the z-plane the same rules apply, with the unit circle as the stability boundary.

Related Topics