The Root Locus Technique
Every closed-loop pole is a moving point, and the root locus is the map of where those points travel as the loop gain is turned up from zero to infinity — a picture that replaces repeated root-finding with a handful of rules read straight off the open-loop pole–zero diagram.
- Why the characteristic equation \(1+KG(s)H(s)=0\) splits into a magnitude condition and an angle condition, and why only the angle condition decides shape.
- How to read \(\angle G(s)H(s)\) and \(|G(s)H(s)|\) as vectors drawn on the pole–zero map.
- The eight construction rules: branches, start and end points, real-axis segments, asymptote angles, the centroid, breakaway points, departure angles, and \(j\omega\) crossings.
- How each rule is derived from the angle condition rather than memorised.
- How to recover the gain \(K\) at any point of the locus from the magnitude condition alone.
- How the Routh array of Chapter 11 supplies the exact crossing gain and frequency the sketch can only estimate.
From "Is It Stable?" to "Where Are the Poles?"
Chapter 11 gave a decisive answer to a narrow question. Feed the closed-loop characteristic polynomial into the Routh array, count the sign changes in the first column, and the number of right-half-plane roots falls out — without ever solving for a root. Leave the gain \(K\) symbolic and the array even returns the range of \(K\) for which the loop is stable.
That is a great deal less than a designer needs. Knowing that a loop is stable for \(0 < K < 48\) says nothing about how it behaves at \(K=10\). Chapter 8 taught us to read a second-order response from its poles: the real part fixes the settling time, the angle from the negative real axis fixes the damping ratio, the distance from the origin fixes \(\omega_n\). To use any of that we need the pole locations, not merely a verdict on which half-plane they occupy.
The obvious approach is brute force: pick a value of \(K\), factor the characteristic polynomial, plot the roots; repeat. For a cubic this is tedious; for a fifth-order loop it is hopeless by hand. In 1948 Walter Evans observed that the roots do not scatter randomly as \(K\) varies — they trace continuous curves, and those curves can be sketched directly from the open-loop poles and zeros, which are already known and already factored. The set of curves is the root locus.
The plot is drawn from the open-loop transfer function \(G(s)H(s)\), whose poles and zeros are given in factored form, yet every point on it is a closed-loop pole. That translation from what we know to what we want is the whole value of the method.
The Magnitude and Angle Conditions
Take the standard loop of Chapter 4, with forward path \(KG(s)\) and feedback \(H(s)\). The closed-loop transfer function is
A point \(s\) of the \(s\)-plane is a closed-loop pole precisely when \(KG(s)H(s) = -1\). Now \(G(s)H(s)\) is a complex number at each \(s\), and \(K\) is a positive real gain. So the equation is a statement about a complex number: its value must be the number \(-1\), which has magnitude \(1\) and argument \(180^\circ\) (or any odd multiple of it). Splitting the single complex equation into its two real parts is the entire foundation of the method.
Because \(K\) is real and positive it contributes nothing to the angle. The angle condition therefore involves only the fixed open-loop poles and zeros — it is a test on the point \(s\), independent of gain. The magnitude condition, in turn, contains \(K\) and nothing else that is unknown.
This asymmetry is the reason root-locus sketching is practical. The angle condition alone answers "does the locus pass through this point?", and it does so without any reference to \(K\). Once we know the point lies on the locus, the magnitude condition is rearranged to tell us which gain puts a closed-loop pole exactly there:
Here \(p_i\) are the \(n\) open-loop poles and \(z_j\) the \(m\) open-loop zeros. In words: the gain at a point of the locus is the product of the distances from that point to all open-loop poles, divided by the product of the distances to all open-loop zeros. Nothing more sophisticated than a ruler is required.
Angles and Lengths on the Pole–Zero Map
Write the open-loop transfer function in factored (pole–zero) form,
Each factor \((s - p_i)\) is the difference of two points in the plane, which is exactly the vector drawn from \(p_i\) to \(s\). Its magnitude is the distance between them; its argument is the angle that vector makes with the positive real axis. Since the argument of a product is the sum of arguments and the argument of a quotient is a difference, the angle condition becomes purely geometric.
\(\phi_j\) and \(\theta_i\) are the angles of the vectors from the zeros and poles to the test point; \(L_i\) and \(M_j\) are the corresponding lengths. A trial point either satisfies the angle sum or it does not — there is no adjustable quantity left to help it.
In principle one could test every point of the plane this way and shade in those that pass. The construction rules that follow are simply the results of doing that testing once, in general, for whole families of points at a time: the real axis, points far from the origin, points beside a pole, and so on.
Branches: Where They Start and Where They End
Write \(G(s)H(s) = N(s)/D(s)\), with \(N\) of degree \(m\) and \(D\) of degree \(n\), and \(n \ge m\) for any physical system. The characteristic equation becomes
The left side is a polynomial of degree \(n\), so it has exactly \(n\) roots for every \(K\). As \(K\) sweeps continuously from \(0\) to \(\infty\) those \(n\) roots move continuously, tracing \(n\) curves. Each curve is a branch of the locus.
Now examine the two extremes. At \(K = 0\) the equation reduces to \(D(s) = 0\): the closed-loop poles sit exactly on the open-loop poles. This is no surprise — with zero gain the loop is broken and the closed-loop denominator is the open-loop denominator. As \(K \to \infty\), divide through by \(K\):
So \(m\) of the branches terminate on the open-loop zeros. The remaining \(n-m\) branches have nowhere finite to go; they run off to infinity. It is convenient to say that a transfer function with \(n\) poles and \(m\) finite zeros has \(n-m\) zeros at infinity, so that every branch begins at a pole and ends at a zero and the bookkeeping is exact.
One further property costs nothing. The coefficients of \(D(s)+KN(s)\) are real for real \(K\), and a real polynomial has roots that are either real or in conjugate pairs. Therefore the entire locus is symmetric about the real axis, and only the upper half need ever be drawn.
Counting \(n\), \(m\) and \(n-m\) is therefore the first thing to do in any problem: it fixes how many curves to draw and how many escape to infinity.
Segments of the Real Axis
Apply the angle condition to a trial point \(s_0\) that lies on the real axis. Three kinds of contribution arrive.
A complex pole (or zero) never comes alone; its conjugate is present too. The vector from \(p\) to \(s_0\) and the vector from \(\bar p\) to \(s_0\) are mirror images across the real axis, so their angles are \(+\alpha\) and \(-\alpha\) and they cancel exactly. Complex singularities contribute nothing to the angle at a real trial point.
A real pole or zero lying to the left of \(s_0\) gives a vector pointing in the \(+\sigma\) direction: angle \(0^\circ\). It contributes nothing either.
A real pole or zero lying to the right of \(s_0\) gives a vector pointing in the \(-\sigma\) direction: angle \(180^\circ\). Each such singularity contributes \(180^\circ\), with a minus sign if it is a pole and a plus sign if it is a zero — but since \(-180^\circ\) and \(+180^\circ\) differ by a full turn, the sign is irrelevant to the total modulo \(360^\circ\).
The angle sum is therefore \(180^\circ\) times the number of real poles and zeros to the right of \(s_0\), and it equals an odd multiple of \(180^\circ\) exactly when that count is odd.
Complex poles and zeros are ignored in the count. A pole or zero of multiplicity \(r\) counts \(r\) times. The rule is applied by walking in from \(+\infty\) along the real axis, toggling "on" and "off" at each real singularity.
The practical consequence is immediate: the rightmost real singularity is always followed by an on-locus stretch running left to the next one, then a gap, then a stretch, and so on. Since the locus starts at poles, a segment bounded by two poles must contain a point where the two branches collide and leave the axis; a segment bounded by two zeros must contain a point where two branches arrive. That is the subject of Section 12-7.
Asymptotes and the Centroid
The \(n-m\) branches that escape to infinity do not wander off in arbitrary directions. Far from the cluster of poles and zeros, every vector drawn to the test point is nearly parallel to every other, and the open-loop function degenerates. Writing \(N\) and \(D\) with their leading terms,
The angle condition then reads \(-(n-m)\,\theta = \pm180^\circ(2q+1)\), where \(\theta\) is the common direction of the far-off test point. Solving for \(\theta\) gives \(n-m\) distinct directions, equally spaced by \(360^\circ/(n-m)\).
For \(n-m=1\) the single asymptote is the negative real axis (\(180^\circ\)); for \(n-m=2\) they are \(\pm 90^\circ\); for \(n-m=3\) they are \(60^\circ, 180^\circ, 300^\circ\); for \(n-m=4\), \(45^\circ,135^\circ,225^\circ,315^\circ\).
Directions are not enough — the asymptotes must be placed. The approximation above kept only the leading term; keeping one more term locates the fan. Perform the division:
By Vieta's relations, \(a_1 = -\sum p_i\) and \(b_1 = -\sum z_j\). Substituting turns the abstract coefficient statement into something that can be read off the diagram at a glance.
All \(n-m\) asymptotes radiate from this single point on the real axis. It is always real, because complex poles and zeros enter in conjugate pairs whose imaginary parts cancel. Far from the origin the loop behaves like \(K/(s-\sigma_a)^{n-m}\) — a cluster of \(n-m\) coincident poles at the centroid.
Breakaway and Break-In Points
Consider a stretch of the real axis that lies on the locus and is bounded at both ends by open-loop poles. Two branches start at those poles and move toward each other as \(K\) grows. They cannot pass through one another and continue along the axis, because beyond the meeting point the axis is still on the locus only once. What happens instead is that they collide, form a double root, and leave the axis at right angles into complex conjugate positions. That meeting point is a breakaway point. The mirror-image situation — a segment bounded by two zeros, where two complex branches return to the axis — gives a break-in point.
Both are characterised by the same algebraic fact: at such a point the characteristic polynomial has a repeated root. Solve the characteristic equation for the gain,
Along an on-locus segment of the real axis this defines a real function \(K(\sigma)\). Moving inward from either pole, \(K\) increases from zero; at the collision the two branches must have the same gain, and \(K(\sigma)\) reaches a maximum there. A smooth function at an interior maximum has zero derivative. The same argument at a break-in gives a minimum, again with zero derivative.
Equivalently, differentiating \(\ln K\) gives the often-quicker form \(\displaystyle\sum_{i}\frac{1}{s-p_i} = \sum_{j}\frac{1}{s-z_j}\). Solve, then discard every root that does not lie on an on-locus segment — the equation has extra solutions that are mathematically valid but geometrically irrelevant.
Two branches leaving the axis do so at \(\pm 90^\circ\) to it. More generally, when \(r\) branches meet at a point they depart at angles \(180^\circ/r\) apart, which for \(r=2\) is the familiar perpendicular exit.
Angles of Departure and Arrival
A branch that starts at a complex pole leaves in some definite direction, and that direction controls whether the locus first swings toward the imaginary axis or away from it. The angle condition supplies it directly.
Let \(p_k\) be a complex open-loop pole and let \(s\) be a point on the locus infinitesimally close to it, at angle \(\theta_d\) from \(p_k\). Every other pole and zero is far away compared with that infinitesimal distance, so the vector from any of them to \(s\) is indistinguishable from the vector to \(p_k\) itself. Only the vector from \(p_k\) is sensitive to the direction, and its angle is \(\theta_d\). Writing out the angle condition:
where \(\phi_j\) is the angle of the vector from zero \(z_j\) to \(p_k\), and \(\theta_i\) the angle from pole \(p_i\) to \(p_k\). The identical argument at a complex zero, run with the signs reversed, gives the angle of arrival.
All angles are measured from the direction of the positive real axis. The result is defined modulo \(360^\circ\); reduce it to a convenient range before drawing.
Imaginary-Axis Crossings and the Critical Gain
The single most consequential feature of a locus is where — and whether — it crosses the imaginary axis, because that crossing is the boundary between a stable and an unstable closed loop. At the crossing point a closed-loop pole sits exactly at \(s = j\omega_c\), the response is a sustained oscillation of frequency \(\omega_c\), and the corresponding gain is the critical gain \(K_c\).
Two routes lead to the same answer. The direct one substitutes \(s=j\omega\) into the characteristic equation and separates real and imaginary parts, giving two real equations in the two unknowns \(\omega_c\) and \(K_c\). The second, usually faster, is the Routh array of Chapter 11 with \(K\) left symbolic: the value of \(K\) that drives a first-column entry to zero is \(K_c\), and the auxiliary equation formed from the row above yields the crossing frequency.
The auxiliary equation is precisely the factor of the characteristic polynomial that carries the purely imaginary root pair — which is why Chapter 11's marginal-stability machinery hands the root locus its most important single number.
Everything assembled, the construction of a locus follows a fixed order. The table below is the working checklist; the examples of Section 12-10 execute it.
| Step | What to determine | Tool |
|---|---|---|
| 1 | Open-loop poles and zeros; \(n\), \(m\), \(n-m\) | Factor \(G(s)H(s)\); mark on the \(s\)-plane |
| 2 | Number of branches and their endpoints | \(n\) branches, \(m\) to zeros, \(n-m\) to infinity |
| 3 | Real-axis segments | Odd count of real singularities to the right |
| 4 | Asymptote angles | \((2q+1)180^\circ/(n-m)\) |
| 5 | Centroid | \(\big(\sum p_i - \sum z_j\big)/(n-m)\) |
| 6 | Breakaway / break-in points | \(dK/ds=0\); keep on-locus roots only |
| 7 | Departure / arrival angles | Angle condition at each complex singularity |
| 8 | Imaginary-axis crossing | Routh array, or \(s=j\omega\) substitution |
| 9 | Gain at any chosen point | Magnitude condition, \(K=\prod L_i / \prod M_j\) |
Worked Examples
Problem. Sketch the root locus of \(G(s)H(s)=\dfrac{K}{s(s+4)}\) and find the gain that places the closed-loop poles at \(\zeta = 0.5\).
Solution. Poles at \(0\) and \(-4\); no finite zeros, so \(n=2\), \(m=0\), \(n-m=2\). Two branches, both running to infinity. On the real axis, a point between \(-4\) and \(0\) has exactly one pole to its right, so the segment \([-4,\,0]\) is on the locus; a point left of \(-4\) has two, and a point right of \(0\) has none. Asymptotes at \(\pm90^\circ\) from \(\sigma_a=(0-4)/2=-2\). For the breakaway:
The breakaway lies at the centroid, so the complex portion of the locus is exactly the vertical line \(\operatorname{Re}(s)=-2\). Confirm it directly: \(s^2+4s+K=0\) gives \(s = -2 \pm \sqrt{4-K}\), which for \(K > 4\) is \(-2 \pm j\sqrt{K-4}\). The locus never enters the right half-plane — this loop is stable for every positive gain.
For \(\zeta = 0.5\), compare \(s^2+4s+K\) with \(s^2+2\zeta\omega_n s+\omega_n^2\): \(\omega_n=\sqrt K\) and \(2\zeta\omega_n = 4\), so \(\zeta = 2/\sqrt K = 0.5\) gives \(K = 16\). The magnitude condition confirms it at \(s=-2+j3.464\):
Problem. Construct the root locus of \(G(s)H(s)=\dfrac{K}{s(s+2)(s+4)}\) and find the range of \(K\) for closed-loop stability.
Solution. \(n=3\), \(m=0\), so three branches all go to infinity. Real-axis segments: walking left from \(+\infty\), the stretch \([-2,\,0]\) has one pole to the right (odd, on locus), \([-4,-2]\) has two (even, off), and \((-\infty,-4]\) has three (odd, on). Asymptotes at \(60^\circ, 180^\circ, 300^\circ\) from
Breakaway on the segment \([-2,0]\):
Only \(-0.845\) lies on an on-locus segment; \(-3.155\) falls in the gap \([-4,-2]\) and is discarded. The gain there is \(K = -\big[(-0.845)^3+6(-0.845)^2+8(-0.845)\big] = 3.08\).
For the crossing, build the Routh array of \(s^3+6s^2+8s+K\):
The \(s^1\) entry vanishes at \(K_c=48\); the auxiliary equation \(6s^2+48=0\) gives \(s = \pm j2.83\). Hence the loop is stable for \(0 < K < 48\), and this is the locus drawn in Section 12-9.
Problem. For \(G(s)H(s)=\dfrac{K}{(s+2)(s^2+2s+2)}\), find the angle of departure from the pole at \(-1+j1\), and the gain at which the locus crosses the imaginary axis.
Solution. The poles are \(-2\), \(-1+j1\) and \(-1-j1\); there are no zeros. Draw the vectors to the pole of interest from the other two:
The branch leaves the complex pole heading up and to the right at \(45^\circ\) — straight toward the imaginary axis, so this loop will become unstable at finite gain. Expanding the characteristic equation:
Problem. Sketch the root locus of \(G(s)H(s)=\dfrac{K(s+3)}{s(s+1)}\), locating both points at which the locus meets the real axis.
Solution. Here \(n=2\), \(m=1\), so one branch ends at the zero \(-3\) and one runs to infinity along the single asymptote at \(180^\circ\). Real-axis segments: \([-1,0]\) has one pole to the right (on locus); \([-3,-1]\) has two (off); \((-\infty,-3]\) has three (on). The first segment is bounded by two poles, so it contains a breakaway; the second is bounded by a zero and the zero at infinity, so it contains a break-in.
Both roots lie on on-locus segments, so both are kept: \(-0.551\) is the breakaway (with \(K=0.101\)) and \(-5.449\) the break-in (with \(K=9.90\)). Each sits a distance \(\sqrt6=2.449\) from the zero at \(-3\), which is no accident — for two poles and one finite zero the complex part of the locus is always a circle centred on the zero, here of radius \(\sqrt{(3-0)(3-1)}=\sqrt6\).
Problem. For the system of Example 2, \(G(s)H(s)=\dfrac{K}{s(s+2)(s+4)}\), find the gain that puts the dominant closed-loop pair at \(\zeta=0.5\), and locate the third pole.
Solution. A \(\zeta=0.5\) pair has the form \(s = -a \pm ja\sqrt3\) (since \(\zeta\omega_n = a\) and \(\omega_d = a\sqrt3\) give \(\omega_n=2a\)), so its quadratic factor is \(s^2+2as+4a^2\). Write the cubic as that factor times the remaining real pole \(-b\) and match coefficients with \(s^3+6s^2+8s+K\):
So \(K=8.30\) puts poles at \(-0.667 \pm j1.155\) with \(\omega_n = 1.333\), and the third pole at \(-4.667\). This is comfortably below the critical gain of \(48\), as it must be. Chapter 13 asks the next question: is the pair genuinely dominant?
Problem. The loop \(G(s)H(s)=K/[s(s+4)]\) of Example 1 is stable for all \(K\). An unmodelled actuator lag adds a pole at \(-10\). Show what happens to the locus and find the new stability limit.
Solution. With \(G(s)H(s)=\dfrac{K}{s(s+4)(s+10)}\) we now have \(n-m=3\) instead of \(2\), so the asymptotes swing from \(\pm90^\circ\) to \(60^\circ, 180^\circ, 300^\circ\) — two of them now point into the right half-plane. The centroid moves right as well:
Only \(-1.761\) lies on the segment \([-4,0]\); the breakaway gain there is \(K=32.5\). Beyond it the two branches bend right along the \(\pm60^\circ\) asymptotes and eventually cross into the right half-plane. The Routh array of \(s^3+14s^2+40s+K\) puts the crossing at
An unconditionally stable loop has become conditionally stable. A pole added far to the left is comparatively harmless — the crossing gain is large — but the qualitative change is permanent: no amount of care with \(K\) restores the old behaviour, only a change in the pole–zero pattern itself can.
Chapter Summary
\(|KGH|=1\) fixes the gain; \(\angle GH = \pm180^\circ(2q+1)\) fixes the shape.
\(n\) branches start at open-loop poles; \(m\) end at zeros, \(n-m\) at infinity.
On the locus where the count of real poles and zeros to the right is odd.
Angles \((2q+1)180^\circ/(n-m)\), all radiating from \(\sigma_a=(\sum p-\sum z)/(n-m)\).
Where \(dK/ds=0\) with \(K=-D/N\) — keep only roots on on-locus segments.
\(\theta_d = 180^\circ + \sum\phi_j - \sum_{i\neq k}\theta_i\) at any complex pole.
Routh gives \(K_c\); the auxiliary equation gives \(\omega_c\) — the stability limit.
Added poles move \(\sigma_a\) right and destabilise; added zeros move it left.
Problems
Assume positive gain \(K\) varying from \(0\) to \(\infty\) and unity feedback unless stated otherwise. Work through the checklist of Section 12-9 in order; difficulty rises down the list.
- For \(G(s)H(s)=\dfrac{K}{s(s+6)}\), find the number of branches, the real-axis segments, the asymptote angles and the centroid, and the breakaway point with its gain.
- For \(G(s)H(s)=\dfrac{K}{(s+1)(s+5)}\), locate the breakaway point and state the gain there. Explain why the locus never reaches the imaginary axis.
- For \(G(s)H(s)=\dfrac{K}{s(s+1)(s+5)}\), find the centroid, the asymptote angles, the breakaway point, and the value of \(K\) at which the locus crosses the imaginary axis.
- Sketch the locus of \(G(s)H(s)=\dfrac{K(s+4)}{s(s+2)}\), locating the breakaway and break-in points, and show that its complex portion is a circle. State the centre and radius.
- For \(G(s)H(s)=\dfrac{K}{s(s^2+4s+8)}\), find the angle of departure from the pole at \(-2+j2\) and the critical gain.
- The open-loop function \(G(s)H(s)=\dfrac{K(s+4)}{s(s+1)(s+10)}\) has one finite zero. Determine the asymptote angles and centroid, and state which real-axis segments belong to the locus.
- Verify with the angle condition that \(s=-3+j2.449\) lies on the locus of \(G(s)H(s)=\dfrac{K(s+3)}{s(s+1)}\), then use the magnitude condition to find the gain at that point.
- For \(G(s)H(s)=\dfrac{K}{s^2(s+8)}\), show that two branches lie in the right half-plane for every \(K > 0\), and explain the result in terms of the departure directions from the double pole at the origin.