Skip to content
Ahmet Çelik
← Back to Study Guides

Chapter 7: The Root Locus Method

MECH304

A self-contained, exam-focused study guide built strictly from the uploaded Ch07 slides and the Desired Outcomes document.


1. What the Root Locus Is

For a unity-feedback system with controller gain KK and plant G(s)G(s):

T(s)=Y(s)R(s)=KG(s)1+KG(s)T(s) = \frac{Y(s)}{R(s)} = \frac{KG(s)}{1 + KG(s)}

Characteristic equation:

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

Root locus plot: the graphical display of the closed-loop pole locations in the ss-plane as KK varies over 0K0 \le K \le \infty.

Why we use it: transient response is closely related to the locations of the closed-loop poles. For many systems, simple gain adjustment moves the closed-loop poles to desired locations, so design reduces to choosing an appropriate KK.


2. Angle and Magnitude Conditions

For the more general feedback configuration with feedback path H(s)H(s):

Y(s)R(s)=G(s)1+G(s)H(s)\frac{Y(s)}{R(s)} = \frac{G(s)}{1 + G(s)H(s)}

Characteristic equation:

1+G(s)H(s)=0    G(s)H(s)=11 + G(s)H(s) = 0 \;\Longrightarrow\; G(s)H(s) = -1

Because 1-1 has unit magnitude and angle ±180\pm 180^\circ:

Angle condition

G(s)H(s)=±180(2k+1),k=0,1,2,\angle G(s)H(s) = \pm 180^\circ(2k+1), \quad k = 0, 1, 2, \ldots

Magnitude condition

G(s)H(s)=1|G(s)H(s)| = 1

The values of ss that satisfy both conditions are the closed-loop poles.

After rearranging to standard form

1+K(s+z1)(s+z2)(s+zm)(s+p1)(s+p2)(s+pn)=1+KZ(s)P(s)=01 + K\frac{(s+z_1)(s+z_2)\cdots(s+z_m)}{(s+p_1)(s+p_2)\cdots(s+p_n)} = 1 + K\frac{Z(s)}{P(s)} = 0

the angle condition reads

(ϕz1++ϕzm)(ϕp1++ϕpn)=±180(2k+1)(\phi_{z_1} + \cdots + \phi_{z_m}) - (\phi_{p_1} + \cdots + \phi_{p_n}) = \pm 180^\circ(2k+1)


3. Introductory Example: G(s)=1s(s+2)G(s) = \dfrac{1}{s(s+2)}

Closed-loop:

Y(s)R(s)=Ks2+2s+K\frac{Y(s)}{R(s)} = \frac{K}{s^2 + 2s + K}

Characteristic equation:

q(s)=s2+2s+K=0    s1,2=1±1Kq(s) = s^2 + 2s + K = 0 \;\Longrightarrow\; s_{1,2} = -1 \pm \sqrt{1-K}

KKPoles
00, 20,\ -2
3/41/2, 3/2-1/2,\ -3/2
11, 1-1,\ -1 (breakaway)
51±2j-1 \pm 2j

Observations:

  • K=0K=0: closed-loop poles equal the open-loop poles.
  • 0<K10 < K \le 1: real distinct poles, no oscillations.
  • K>1K > 1: complex conjugate poles, oscillatory but stable.
  • Loci start at open-loop poles when K=0K=0 and travel toward zeros (finite or at infinity) as KK \to \infty.

Verification at s1,2=1±js_{1,2} = -1 \pm j

Magnitude: K=1+j1+j+2=22=2K = |-1+j|\cdot|-1+j+2| = \sqrt{2}\cdot\sqrt{2} = 2.

Angle: s1(s1+2)=13545=180-\angle s_1 - \angle(s_1+2) = -135^\circ - 45^\circ = -180^\circ


4. Eight-Step Construction Procedure

Demonstrated on G(s)H(s)=Ks(s+1)(s+2)G(s)H(s) = \dfrac{K}{s(s+1)(s+2)} throughout.

Step 1 — Locate open-loop poles and zeros

  • Loci start at the poles of Z(s)/P(s)Z(s)/P(s) when K=0K = 0.
  • Loci end at the zeros of Z(s)/P(s)Z(s)/P(s) when KK \to \infty (finite or at infinity).

For the example: poles 0,1,20, -1, -2; no finite zeros.

Step 2 — Root loci on the real axis (point test)

A point on the real axis lies on a root locus iff the total number of real poles and zeros to its right is odd.

For the example: loci exist on [1,0][-1, 0] and on (,2](-\infty, -2].

Step 3 — Asymptotes

Number of asymptotes=#p#z\text{Number of asymptotes} = \#p - \#z

ψ=±180(2k+1)#p#z,σ=poleszeros#p#z\psi = \frac{\pm 180^\circ(2k+1)}{\#p - \#z}, \quad \sigma = \frac{\sum \text{poles} - \sum \text{zeros}}{\#p - \#z}

For the example: 3 asymptotes; ψ=±60,±180\psi = \pm 60^\circ, \pm 180^\circ; σ=1\sigma = -1.

Step 4 — Breakaway / break-in points

Solve dKds=0\dfrac{dK}{ds} = 0 and keep only roots that lie on root-locus segments.

  • Two adjacent open-loop poles on a locus segment ⇒ at least one breakaway.
  • Two adjacent open-loop zeros on a locus segment ⇒ at least one break-in.

For the example: K=s(s+1)(s+2)K = -s(s+1)(s+2), dKds=(3s2+6s+2)=0s=0.4226,1.5774\dfrac{dK}{ds} = -(3s^2 + 6s + 2) = 0 \Rightarrow s = -0.4226,\, -1.5774. Only s=0.4226s = -0.4226 is on the locus.

Step 5 — Angle of departure / arrival

Angle of departure from p1=180i1ϕpi+jϕzj\text{Angle of departure from } p_1 = 180^\circ - \sum_{i\ne 1}\phi_{p_i} + \sum_j\phi_{z_j}

Angle of arrival at z1=180j1ϕzj+iϕpi\text{Angle of arrival at } z_1 = 180^\circ - \sum_{j\ne 1}\phi_{z_j} + \sum_i\phi_{p_i}

Slide example: angle of departure from p2=180(120+90)+20=10p_2 = 180^\circ - (120^\circ+90^\circ) + 20^\circ = -10^\circ.

Step 6 — Imaginary-axis crossings

Apply Routh–Hurwitz; the KK that creates a row of zeros, plus the auxiliary polynomial, gives the crossing.

For q(s)=s3+3s2+2s+Kq(s) = s^3 + 3s^2 + 2s + K:

RowCol 1Col 2
s3s^31122
s2s^233KK
s1s^1(6K)/3(6-K)/300
s0s^0KK

(6K)/3=0K=6(6-K)/3 = 0 \Rightarrow K = 6. Auxiliary U(s)=3s2+6=0s=±j2U(s) = 3s^2 + 6 = 0 \Rightarrow s = \pm j\sqrt{2}.

Step 7 — Sketch the loci

The plot is symmetric about the real axis. For K>6K > 6 (this example), the system is unstable.

num = [1];
den = [1 3 2 0];
sys = tf(num, den);
rlocus(sys);

Step 8 — Select closed-loop poles and find KK

Magnitude condition:

K=s+p1s+p2s+z1s+z2s=sdesiredK = \frac{|s+p_1|\,|s+p_2|\cdots}{|s+z_1|\,|s+z_2|\cdots}\bigg|_{s=s_\text{desired}}

Damping-ratio line: ζ=cosθ\zeta = \cos\theta, with θ\theta from the negative real axis.

For ζ=0.5\zeta = 0.5 (θ=60\theta = 60^\circ): s1,2=0.3337±j0.5780s_{1,2} = -0.3337 \pm j0.5780, K=1.0383K = 1.0383, third pole s3=2.3326s_3 = -2.3326.


5. Worked Example with Real-Axis Zeros

1+Ks28s+15s2+3s+2=01 + K\frac{s^2 - 8s + 15}{s^2 + 3s + 2} = 0

Poles 1,2-1, -2; zeros +3,+5+3, +5. #p#z=0\#p - \#z = 0 → no asymptotes.

Breakaway/break-in: 11s226s61=0s=1.4511s^2 - 26s - 61 = 0 \Rightarrow s = -1.45 (breakaway), s=3.82s = 3.82 (break-in).

Imaginary-axis crossing: Routh row-of-zeros at K=3/8K = 3/8; auxiliary 118s2+618=0s=±2.355j\tfrac{11}{8}s^2 + \tfrac{61}{8} = 0 \Rightarrow s = \pm 2.355j.

Design (Tp4T_p \le 4 s and Ts8T_s \le 8 s):

Tp=πωd4ωd0.79T_p = \frac{\pi}{\omega_d} \le 4 \Rightarrow |\omega_d| \ge 0.79

Ts=4ζωn8ζωn0.5T_s = \frac{4}{\zeta\omega_n} \le 8 \Rightarrow |\zeta\omega_n| \ge 0.5

Select locus points satisfying both.


6. Worked Example — Parameter Other Than Gain

q(s)=s3+(5+α)s2+8.5s+5=0q(s) = s^3 + (5+\alpha)s^2 + 8.5s + 5 = 0

Convert to standard form:

1+αs2s3+5s2+8.5s+5=01 + \alpha\frac{s^2}{s^3 + 5s^2 + 8.5s + 5} = 0

  • Zeros: z1=z2=0z_1 = z_2 = 0 (double at origin).
  • Poles: s1=2s_1 = -2, s2,3=1.5±0.5js_{2,3} = -1.5 \pm 0.5j.
  • 1 asymptote.

Breakaway: s48.5s210s=0s(s38.5s10)=0s^4 - 8.5s^2 - 10s = 0 \Rightarrow s(s^3 - 8.5s - 10) = 0; keep s1=0s_1 = 0.

Angle of departure from p1=1.5+0.5jp_1 = -1.5 + 0.5j:

180(90+45)+(161.6+161.6)=368.28.2180^\circ - (90^\circ + 45^\circ) + (161.6^\circ + 161.6^\circ) = 368.2^\circ \equiv 8.2^\circ


7. PID Controller

Gc(s)=KP+KIs+KDs=KD(s+z1)(s+z2)sG_c(s) = K_P + \frac{K_I}{s} + K_D s = \frac{K_D(s+z_1)(s+z_2)}{s}

u(t)=KPe(t)+KI ⁣e(t)dt+KDe˙(t)u(t) = K_P\, e(t) + K_I\!\int e(t)\,dt + K_D\,\dot e(t)

GainMeaning
KPK_POutput proportional to error
KIK_IOutput proportional to time error is present
KDK_DOutput proportional to rate of change of error

Structural insight: PID adds one pole at the origin and two LHP-placeable zeros.

Effect of increasing PID gains on step response

Gain ↑%OvershootSettling TimeSteady-State Error
KPK_PIncreasesMinimal impactDecreases
KIK_IIncreasesIncreasesZero (eliminates)
KDK_DDecreasesDecreasesNo impact

8. PID + Root Locus Example

Plant: s+6(s+3)(s2+9)\dfrac{s+6}{(s+3)(s^2+9)} — poles 3,±3j-3, \pm 3j; zero 6-6.

(a) P-controller

#p#z=2\#p - \#z = 2, ψ=±90\psi = \pm 90^\circ, σ=(33j+3j)(6)2=1.5\sigma = \dfrac{(-3-3j+3j)-(-6)}{2} = 1.5 (RHP). Cannot stabilize.

(b) PD-controller (zero at 9-9)

#p#z=1\#p - \#z = 1, ψ=±180\psi = \pm 180^\circ (heads left). Can be stabilized.


9. Mass-Spring-Damper PID Example

Plant from mx¨+bx˙+kx=Fm\ddot x + b\dot x + kx = F with m=1,b=10,k=20m=1, b=10, k=20:

X(s)F(s)=1s2+10s+20\frac{X(s)}{F(s)} = \frac{1}{s^2 + 10s + 20}

Unit step: open-loop xss=0.05x_{ss} = 0.05, ess=0.95e_{ss} = 0.95.

Closed-loop TFs:

P: T(s)=Kps2+10s+(20+Kp)T(s) = \dfrac{K_p}{s^2 + 10s + (20+K_p)}

PD: T(s)=Kds+Kps2+(10+Kd)s+(20+Kp)T(s) = \dfrac{K_d s + K_p}{s^2 + (10+K_d)s + (20+K_p)}

PID: T(s)=Kds2+Kps+Kis3+(10+Kd)s2+(20+Kp)s+KiT(s) = \dfrac{K_d s^2 + K_p s + K_i}{s^3 + (10+K_d)s^2 + (20+K_p)s + K_i}

ControllerKPK_PKIK_IKDK_Dxssx_{ss}esse_{ss}Notes
Open loop0.050.95very large error
P3000.93750.0625oscillatory
PD300100.93750.0625same error, fewer oscillations, faster TsT_s
PID3503005010fast rise, small OS, no error

10. How to Choose PID Gains

With a TF model: MATLAB / Simulink PID Tuner.

Without a model — Ziegler–Nichols:

  1. Set KI=KD=0K_I = K_D = 0.
  2. Slowly increase KPK_P until output has stable, consistent oscillations at ultimate gain KuK_u with period TuT_u.
ControllerKPK_PTiT_iTdT_dKIK_IKDK_D
P0.5Ku0.5\,K_u
PI0.45Ku0.45\,K_u0.80Tu0.80\,T_u0.54Ku/Tu0.54\,K_u/T_u
PD0.8Ku0.8\,K_u0.125Tu0.125\,T_u0.10KuTu0.10\,K_u T_u
Classic PID0.6Ku0.6\,K_u0.5Tu0.5\,T_u0.125Tu0.125\,T_u1.2Ku/Tu1.2\,K_u/T_u0.075KuTu0.075\,K_u T_u
Pessen Integral0.7Ku0.7\,K_u0.4Tu0.4\,T_u0.15Tu0.15\,T_u1.75Ku/Tu1.75\,K_u/T_u0.105KuTu0.105\,K_u T_u
Some overshoot0.33Ku0.33\,K_u0.50Tu0.50\,T_u0.33Tu0.33\,T_u0.66Ku/Tu0.66\,K_u/T_u0.11KuTu0.11\,K_u T_u
No overshoot0.20Ku0.20\,K_u0.50Tu0.50\,T_u0.33Tu0.33\,T_u0.40Ku/Tu0.40\,K_u/T_u0.066KuTu0.066\,K_u T_u

11. Full Worked Study Question (from Desired Outcomes)

GH(s)=K(s+5)s2+4s+3GH(s) = \frac{K(s+5)}{s^2 + 4s + 3}

Poles 1,3-1, -3; finite zero 5-5; one zero at infinity.

Real-axis loci: between 1-1 and 3-3; between 5-5 and -\infty.

Asymptotes: #p#z=1\#p-\#z = 1, ψ=±180\psi = \pm 180^\circ (single asymptote — no centroid needed).

Breakaway/break-in:

K=s2+4s+3s+5,dKds=(2s+4)(s+5)(s2+4s+3)(s+5)2=0K = -\frac{s^2 + 4s + 3}{s+5}, \quad \frac{dK}{ds} = -\frac{(2s+4)(s+5) - (s^2+4s+3)}{(s+5)^2} = 0

s2+10s+17=0s=5±22s^2 + 10s + 17 = 0 \Rightarrow s = -5 \pm 2\sqrt{2}

s1=7.83,s2=2.17s_1 = -7.83,\quad s_2 = -2.17

  • s=2.17s = -2.17: breakaway between poles 1-1 and 3-3, at K=0.343K = 0.343.
  • s=7.83s = -7.83: break-in between zero 5-5 and -\infty, at K=11.66K = 11.66.

MATLAB code

clc; clear; close all;
num = [1 5];
den = [1 4 3];
GH = tf(num, den);
figure;
rlocus(GH);
grid on;
title('Root Locus of GH(s) = K(s+5) / (s^2 + 4s + 3)');
xlabel('Real Axis');
ylabel('Imaginary Axis');

Range of KK for overdamped response (real poles)

0<K0.343or11.66<K<0 < K \le 0.343 \quad\text{or}\quad 11.66 < K < \infty

Range of KK for underdamped response (complex poles)

0.343<K<11.660.343 < K < 11.66

Find KK for Ts=0.8T_s = 0.8 s

Ts4ζωnζωn=5T_s \approx \dfrac{4}{\zeta\omega_n} \Rightarrow \zeta\omega_n = 5. Vertical line at σ=5\sigma = -5.

Grid intersection: s=5±2.8js = -5 \pm 2.8j.

K=s2+4s+3s+5s=5+2.8j=16.82.8=6K = \left|\frac{s^2+4s+3}{s+5}\right|_{s=-5+2.8j} = \frac{16.8}{2.8} = 6

Verification: T(s)=K(s+5)s2+(4+K)s+(3+5K)T(s) = \dfrac{K(s+5)}{s^2 + (4+K)s + (3+5K)}; 2ζωn=4+K10=4+KK=62\zeta\omega_n = 4+K \Rightarrow 10 = 4+K \Rightarrow K = 6. With K=6K=6: q(s)=s2+10s+33q(s) = s^2+10s+33, roots 5±22j5±2.8j-5 \pm 2\sqrt{2}j \approx -5 \pm 2.8j


12. Useful Derivations

Asymptote-angle formula

At a far test point, all pole/zero angles ≈ ψ\psi. The angle condition becomes

#zψ#pψ=±180(2k+1)ψ=±180(2k+1)#p#z\#z\,\psi - \#p\,\psi = \pm 180^\circ(2k+1) \Rightarrow \psi = \frac{\pm 180^\circ(2k+1)}{\#p - \#z}

Breakaway condition dK/ds=0dK/ds = 0

From P(s)+KZ(s)=0P(s) + KZ(s) = 0, incrementing KK by ΔK\Delta K and dividing by the original characteristic polynomial yields, at a root of multiplicity nn:

ΔKΔs=(Δsi)n1ci  Δs0  dKds=0\frac{\Delta K}{\Delta s} = -\frac{(\Delta s_i)^{n-1}}{c_i} \;\xrightarrow{\Delta s \to 0}\; \frac{dK}{ds} = 0


13. Key Facts to Remember

  1. Loci start at open-loop poles (K=0K=0) and end at open-loop zeros (KK\to\infty, finite or at infinity).
  2. Number of branches = number of open-loop poles.
  3. Plot is symmetric about the real axis.
  4. Real-axis test: odd count of real poles + zeros to the right.
  5. Number of asymptotes = #p#z\#p - \#z.
  6. jωj\omega-axis crossings: Routh–Hurwitz + auxiliary polynomial.
  7. PID contributes one pole at the origin and two LHP-placeable zeros.
  8. Ts4/(ζωn)T_s \approx 4/(\zeta\omega_n) → vertical line in ss-plane.
  9. Tp=π/ωdT_p = \pi/\omega_d → horizontal line in ss-plane.
  10. ζ=cosθ\zeta = \cos\theta, θ\theta measured from the negative real axis.