Skip to content

Root Locus Method

Consider a continuous-time negative-feedback system with forward transfer function G(s)G(s), feedback H(s)H(s), and a nonnegative adjustable gain KK. Its closed-loop transfer function and loop transfer function are

T(s)=KG(s)1+KG(s)H(s),L(s)=KG(s)H(s)=KL0(s).T(s)=\frac{K G(s)}{1+K G(s)H(s)}, \qquad L(s)=K G(s)H(s)=K L_0(s).

The root locus is the set of positions traced by the roots of the closed-loop characteristic equation as a real system parameter, normally KK, varies from 00 to ∞\infty. Thus it displays the motion of every closed-loop pole directly in the ss-plane.

The method is important because one sketch can reveal:

  • the gain range for closed-loop stability;

  • changes in transient speed, damping, and overshoot as KK changes;

  • likely dominant closed-loop poles;

  • damping ratio ζ\zeta and natural frequency ωn\omega_n;

  • the effect of adding open-loop poles or zeros; and

  • whether a controller or compensator is needed to meet a design target.

the figure is an exact example rather than a decorative sketch. For the nonreal branches, writing s=x+jys=x+jy in the angle condition gives

y2=3x2+12x+8,K=8(x+1)(x+2)(x+3),y^2=3x^2+12x+8, \qquad K=8(x+1)(x+2)(x+3),

with x≥−2+2/3x\ge -2+2/\sqrt3. Therefore the plotted branches, crossing points, and arrows all correspond to K≥0K\ge0.

Exact root locus for G(s)H(s) = K/(s(s + 2)(s + 4)). The arrows show increasing K; the complex branches satisfy the angle condition and approach the three asymptotes.

Exact root locus for G(s)H(s)=K/(s(s+2)(s+4))G(s)H(s)=K/(s(s+2)(s+4)). The arrows show increasing KK; the complex branches satisfy the angle condition and approach the three asymptotes.

Characteristic Equation and Root-Locus Conditions

Section titled “Characteristic Equation and Root-Locus Conditions”

The denominator of T(s)T(s) gives the characteristic equation

1+KG(s)H(s)=0.\boxed{1+K G(s)H(s)=0}.

Equivalently,

KL0(s)=−1.K L_0(s)=-1.

Because −1-1 has unit magnitude and an angle equal to an odd multiple of 180∘180^\circ, every root-locus point must satisfy two conditions:

Write the gain-free loop transfer function as

L0(s)=N(s)D(s)=∏i=1m(s−zi)∏i=1n(s−pi),L_0(s)=\frac{N(s)}{D(s)} =\frac{\displaystyle\prod_{i=1}^{m}(s-z_i)} {\displaystyle\prod_{i=1}^{n}(s-p_i)},

where ziz_i and pip_i are its uncancelled open-loop zeros and poles. At a candidate point s=s0s=s_0, the angle condition becomes

∑i=1m∠(s0−zi)−∑i=1n∠(s0−pi)=(2q+1)180∘.\boxed{ \sum_{i=1}^{m}\angle(s_0-z_i) -\sum_{i=1}^{n}\angle(s_0-p_i) =(2q+1)180^\circ}.

Only after this angle test is satisfied may the magnitude condition be used to find the corresponding nonnegative gain:

K=1∣L0(s0)∣=∏i=1n∣s0−pi∣∏i=1m∣s0−zi∣.\boxed{ K=\frac{1}{\lvert L_0(s_0)\rvert} =\frac{\displaystyle\prod_{i=1}^{n}\lvert s_0-p_i\rvert} {\displaystyle\prod_{i=1}^{m}\lvert s_0-z_i\rvert}}.

Assume a real-coefficient, proper loop transfer function with n≥mn\ge m and K≥0K\ge0. The following rules convert the two exact locus conditions into a systematic sketch.

The closed-loop characteristic equation is

F(s,K)=D(s)+KN(s)=0.F(s,K)=D(s)+K N(s)=0.

Its degree is nn, so it has nn roots when multiplicity is counted. Hence

number of root-locus branches=n.\boxed{\text{number of root-locus branches}=n.}

At K=0K=0, F(s,0)=D(s)F(s,0)=D(s), so branches start at the nn open-loop poles. For large KK, N(s)N(s) must approach zero for a finite root, so mm branches end at the finite open-loop zeros. The remaining n−mn-m branches end at infinity:

n starts at poles,m ends at finite zeros,n−m ends at infinity.\boxed{n\text{ starts at poles},\quad m\text{ ends at finite zeros},\quad n-m\text{ ends at infinity}.}

Repeated poles or zeros receive the corresponding number of branches.

Since F(s,K)F(s,K) has real coefficients for real KK, every nonreal root occurs with its complex conjugate. The root locus is therefore symmetric about the real axis. It is enough to construct one half and reflect it.

Take a test point on the real axis that is not itself a pole or zero. A real pole or zero to its left contributes an angle of 0∘0^\circ, while one to its right contributes 180∘180^\circ. Nonreal conjugate singularities contribute angles whose sum is an even multiple of 180∘180^\circ. Therefore:

Apply the count separately on every interval divided by a real pole or zero.

If n>mn>m, let r=n−mr=n-m. Far from all finite poles and zeros, L0(s)∼sm−n=s−rL_0(s)\sim s^{m-n}=s^{-r}. Applying the angle condition to s=Rejθs=R e^{j\theta} as R→∞R\to\infty yields the rr asymptote directions

θq=(2q+1)180∘n−m,q=0,1,…,n−m−1.\boxed{ \theta_q=\frac{(2q+1)180^\circ}{n-m}, \qquad q=0,1,\ldots,n-m-1.}

Matching the first-order terms of the pole and zero products, or equivalently using the sum of roots, locates the common real-axis intercept:

σa=∑i=1npi−∑i=1mzin−m.\boxed{ \sigma_a=\frac{\displaystyle\sum_{i=1}^{n}p_i -\displaystyle\sum_{i=1}^{m}z_i}{n-m}.}

The pole and zero locations in this expression are algebraic, so an LHP pole such as −4-4 contributes −4-4; dropping that sign reverses the centroid.

On the locus, solve the characteristic equation for gain:

K(s)=−D(s)N(s).K(s)=-\frac{D(s)}{N(s)}.

At a multiple closed-loop root, both F(s,K)=0F(s,K)=0 and ∂F/∂s=0\partial F/\partial s=0. Away from an open-loop zero this is equivalent to

dK(s)ds=0.\boxed{\frac{dK(s)}{ds}=0.}

A real stationary point where two branches leave the real axis is a breakaway; one where they enter is a break-in. The derivative equation produces candidates only. A candidate is retained only if it lies on a valid real-axis segment, satisfies the angle condition, and gives K≥0K\ge0.

Let pkp_k be a complex open-loop pole. Apply the angle condition at a point infinitesimally displaced from pkp_k and isolate the angle of that displacement. The departure angle, measured from the positive real axis into the branch, is

ϕd=180∘+∑i=1m∠(pk−zi)−∑i=1i≠kn∠(pk−pi)(mod360∘).\boxed{ \phi_d=180^\circ +\sum_{i=1}^{m}\angle(p_k-z_i) -\sum_{\substack{i=1\\i\ne k}}^{n}\angle(p_k-p_i) \pmod{360^\circ}.}

The conjugate pole has the reflected departure angle.

Similarly, at a complex zero zkz_k, isolate the angle of the local ray from the zero into the nearby locus. The arrival-angle formula is

ϕa=180∘−∑i=1i≠km∠(zk−zi)+∑i=1n∠(zk−pi)(mod360∘).\boxed{ \phi_a=180^\circ -\sum_{\substack{i=1\\i\ne k}}^{m}\angle(z_k-z_i) +\sum_{i=1}^{n}\angle(z_k-p_i) \pmod{360^\circ}.}

All vector angles must be evaluated in the correct quadrant; an atan2⁡\operatorname{atan2} calculation is safer than an unqualified inverse tangent.

Insert the gain-dependent characteristic polynomial into a Routh array. A crossing occurs at the gain for which a first-column boundary is reached, normally producing an all-zero row. The row above supplies an auxiliary polynomial A(s)A(s); its imaginary roots give the crossing frequency. Direct substitution s=jωs=j\omega and separation of real and imaginary parts is a useful independent check.

For any point already verified by the angle condition, use the distance form of the magnitude condition:

K=∏i∣s−pi∣∏i∣s−zi∣.\boxed{ K=\frac{\displaystyle\prod_i\lvert s-p_i\rvert} {\displaystyle\prod_i\lvert s-z_i\rvert}.}

This labels the locus with gain and determines the direction of increasing KK from the start points toward finite zeros or infinity.

A finite-dimensional continuous-time closed loop is asymptotically stable, and its proper rational transfer function is BIBO stable, when every uncancelled closed-loop pole lies strictly in the open left half-plane (LHP). Root locus exposes this condition for every plotted value of KK.

Closed-loop pole location at a given KKInterpretation
All branches strictly in the LHPStable for that gain
One or more branches in the RHPUnstable for that gain
Simple conjugate pair on the imaginary axis, all others in the LHPStability boundary; sustained zero-input oscillation, but not BIBO stable
Repeated imaginary-axis poleUnstable because the natural response grows polynomially

Reading closed-loop stability from a root locus

To obtain an exact stable-gain range:

  1. Form 1+KL0(s)=01+K L_0(s)=0 and expand its characteristic polynomial.

  2. Construct the Routh array with the leading coefficient normalized positive.

  3. Require every first-column element to be strictly positive.

  4. Solve the resulting simultaneous inequalities in KK.

  5. Check that every endpoint agrees with the root-locus crossing or termination shown in the ss-plane.

For

ansn+an−1sn−1+⋯+a1s+a0=0,a_n s^n+a_{n-1}s^{n-1}+\cdots+a_1s+a_0=0,

the first two rows of the Routh array are filled alternately from the coefficients, and subsequent entries are formed from the preceding two rows. For a fourth-order polynomial,

s4a4a2a0s3a3a10s2b1b20s1c100s0a000\begin{array}{c|ccc} s^4 & a_4 & a_2 & a_0 \\ s^3 & a_3 & a_1 & 0 \\ s^2 & b_1 & b_2 & 0 \\ s^1 & c_1 & 0 & 0 \\ s^0 & a_0 & 0 & 0 \end{array}

where

b1=a3a2−a4a1a3,b2=a3a0−a4(0)a3=a0,b_1=\frac{a_3a_2-a_4a_1}{a_3}, \qquad b_2=\frac{a_3a_0-a_4(0)}{a_3}=a_0,

and

c1=b1a1−a3b2b1.c_1=\frac{b_1a_1-a_3b_2}{b_1}.

Two special cases must be handled rather than ignored:

  • Zero first element, row not all zero: replace the zero by a small positive ϵ\epsilon, complete the table symbolically, and take the limit ϵ→0+\epsilon\to0^+ when counting sign changes.

  • Entire row zero: form the auxiliary polynomial from the row immediately above, replace the zero row by the coefficients of dA(s)/dsdA(s)/ds, and continue. The roots of A(s)A(s) include the symmetric pair responsible for the boundary; at a root-locus crossing they give s=±jωs=\pm j\omega.

Transient-Response Mapping and Design Grids

Section titled “Transient-Response Mapping and Design Grids”

For a dominant underdamped closed-loop pair, write

s=−σ±jωd,σ>0.s=-\sigma\pm j\omega_d, \qquad \sigma>0.

The standard second-order relationships are

Here the settling-time formula uses the usual 2%2\% criterion and assumes a dominant second-order response. Additional poles, zeros, or large residues can make the actual response differ.

The ss-plane design loci follow immediately:

Quantity held constantLocus in the ss-planeInterpretation
Damping ratio ζ\zetaRays from the origin with ζ=cos⁡θ\zeta=\cos\theta, where θ\theta is measured from the negative real axisLarger ζ\zeta places the ray closer to the negative real axis and normally reduces overshoot
Natural frequency ωn\omega_nCircles ∣s∣=ωn\lvert s\rvert=\omega_n centered at the originRadial distance sets ωn\omega_n
Settling time tst_sVertical line ℜ{s}=−σ=−4/ts\Re\{s\}=-\sigma=-4/t_sPoles farther left have a faster exponential envelope

Standard root-locus design-grid curves in the LHP

For example, ζ=0.6\zeta=0.6 and ωn=4 rad/s\omega_n=4\,\mathrm{rad/s} give

sd=−ζωn±jωn1−ζ2=−2.4±j3.2.s_d=-\zeta\omega_n \pm j\omega_n\sqrt{1-\zeta^2} =-2.4\pm j3.2.

The point also satisfies ts≈4/2.4=1.67 st_s\approx4/2.4=1.67\,\mathrm{s}. A design-grid intersection is only a performance target; it is achievable by gain alone only when it also satisfies the plant’s root-locus angle condition.

Root-locus design grid: constant-ζ rays, constant-ω_(n) circles, the t_(s) = 2 s boundary, a desired pole pair, and the qualitative influence of an added pole or zero.

Root-locus design grid: constant-ζ\zeta rays, constant-ωn\omega_n circles, the ts=2 st_s=2\,\mathrm{s} boundary, a desired pole pair, and the qualitative influence of an added pole or zero.

The angle condition explains the common design heuristic that zeros attract nearby locus branches while poles repel them. This is a tendency, not an independent construction law: all poles and zeros contribute angles, so the complete compensated locus must always be reconstructed.

Adding an open-loop pole commonly bends the locus toward the right, which can reduce relative stability, slow the response, increase overshoot, or make a previous gain range unstable. Adding an open-loop zero commonly bends the locus leftward, increasing damping and speed and reducing settling time. Location matters; neither statement is universal for every plant.

CompensatorTypical root-locus additionMain purpose
LeadLHP zero closer to the origin than its LHP poleSupplies positive phase and moves a feasible dominant-pole region leftward for better transient response and stability margin
LagLHP pole closer to the origin than its LHP zeroRaises low-frequency loop gain and improves steady-state accuracy while trying to disturb the dominant locus only slightly
PIDA pole at the origin and up to two controller zeros; a practical derivative filter may add a high-frequency poleCombines steady-state improvement with transient-shaping freedom

Pole-zero interpretation of common compensators

A complete gain or compensator design follows this sequence:

  1. Write L(s)=KL0(s)=KG(s)H(s)L(s)=K L_0(s)=K G(s)H(s) and form the characteristic equation.

  2. Factor L0(s)L_0(s) and mark every uncancelled open-loop pole and zero.

  3. Construct the uncompensated root locus using all ten rules.

  4. Translate overshoot, settling-time, peak-time, and frequency specifications into a desired region or desired dominant pole pair.

  5. Test a desired point with the angle condition. If it lies on the locus, choose it as the dominant pair.

  6. Use the magnitude condition to calculate KK.

  7. Find all remaining closed-loop poles and verify that neglected poles are sufficiently farther left and have no unexpectedly large residue.

  8. If the uncompensated locus misses the desired point, calculate the angle deficiency, add a suitable lead, lag, or PID pole-zero pattern, reconstruct the locus, and verify both transient and steady-state requirements.

If percent overshoot is specified, put Mp=(%OS)/100M_p=(\%OS)/100. Inverting the overshoot relation gives

ζ=−ln⁡Mpπ2+(ln⁡Mp)2.\boxed{ \zeta=\frac{-\ln M_p}{\sqrt{\pi^2+(\ln M_p)^2}}.}

For a specified 2%2\% settling time,

σ=4ts,ωn=σζ,ωd=ωn1−ζ2.\boxed{\sigma=\frac{4}{t_s}}, \qquad \omega_n=\frac{\sigma}{\zeta}, \qquad \omega_d=\omega_n\sqrt{1-\zeta^2}.

Thus the desired dominant poles can be written in either equivalent form:

sd=−ζωn±jωn1−ζ2orsd=−σ±jωd.\boxed{ s_d=-\zeta\omega_n \pm j\omega_n\sqrt{1-\zeta^2}} \qquad\text{or}\qquad \boxed{s_d=-\sigma\pm j\omega_d}.

Source-faithful symbolic construction for the parameterized NTC 2081 root-locus problem. The real-axis segment and asymptotes are exact; horizontal marker positions are schematic because σ is unspecified.

Source-faithful symbolic construction for the parameterized NTC 2081 root-locus problem. The real-axis segment and asymptotes are exact; horizontal marker positions are schematic because σ\sigma is unspecified.

TopicKey result
Characteristic equation1+KG(s)H(s)=01+K G(s)H(s)=0
Angle condition∠G(s)H(s)=(2q+1)180∘\angle G(s)H(s)=(2q+1)180^\circ when G(s)H(s)G(s)H(s) excludes the adjustable KK
Magnitude condition∣KG(s)H(s)∣=1\lvert K G(s)H(s)\rvert=1
Number of branchesNumber nn of open-loop poles
Branch startOpen-loop poles at K=0K=0
Branch endOpen-loop zeros or infinity as K→∞K\to\infty
Real-axis ruleOdd number of real poles and zeros to the right
Number of asymptotesn−mn-m
Asymptote anglesθq=(2q+1)180∘/(n−m)\theta_q=(2q+1)180^\circ/(n-m)
Centroidσa=(∑pi−∑zi)/(n−m)\sigma_a=(\sum p_i-\sum z_i)/(n-m)
Break-point candidatesdK/ds=0dK/ds=0, followed by segment and K≥0K\ge0 checks
Stability crossingRouth–Hurwitz array and its auxiliary equation
Constant damping-ratio lineζ=cos⁡θ\zeta=\cos\theta
Constant natural-frequency line∣s∣=ωn\lvert s\rvert=\omega_n
Constant settling-time lineVertical line ℜ{s}=−4/ts\Re\{s\}=-4/t_s under the 2%2\% approximation
Gain at a locus pointK=∏∣s−pi∣/∏∣s−zi∣K=\prod\lvert s-p_i\rvert/\prod\lvert s-z_i\rvert

Root-locus results for rapid revision