Routh stability criterion and root locus

Closed-loop stability by the Routh–Hurwitz test, including special cases and the ultimate gain and period, and how to sketch and read a root locus.

Drafted with Aria, reviewed by the AiCanCode.org team. Spotted an error? Use Give Feedback at the bottom of the page.

Why it matters

Feedback can destabilise a perfectly stable process if the controller gain is too high. Before tuning any loop you need the gain at which it starts to oscillate without decay: the ultimate gain. The Routh test finds it algebraically from the characteristic equation, and the root locus shows how every closed-loop pole moves as the gain rises.

Key ideas

Stability. A linear closed loop is stable if every root of the characteristic equation 1 + G_OL(s) = 0 has a negative real part. A root on the imaginary axis gives sustained oscillation (marginal stability); a root in the right half-plane gives growth.

Routh–Hurwitz test. Write the characteristic polynomial a₀sⁿ + a₁sⁿ⁻¹ + … + aₙ = 0 with a₀ > 0.

  • Necessary condition: all coefficients present and positive. A missing or negative coefficient means instability at once.
  • Routh array: row 1 holds a₀, a₂, a₄, …; row 2 holds a₁, a₃, a₅, …. Each further element is b = (a₁·a₂ − a₀·a₃)/a₁, and so on, using the two rows above it.
  • Criterion: the system is stable if and only if every element of the first column is positive. The number of sign changes in the first column equals the number of roots in the right half-plane.
  • Special cases: a zero first-column element with other non-zero elements in its row is replaced by a small ε > 0 and the test continued. A whole row of zeros means roots symmetric about the origin (often a pair on the imaginary axis); form the auxiliary polynomial from the row above and solve it to find them.
  • Ultimate gain: with K_c as a parameter, the K_c that makes a first-column element zero is the ultimate gain K_cu; the auxiliary equation of the row above then gives the oscillation frequency ω_u and ultimate period P_u = 2π/ω_u. These feed directly into Ziegler–Nichols tuning.
  • Limitation: Routh cannot handle e^(−θs) exactly; use a Padé approximation or switch to frequency response.

Root locus. The root locus is the path of the closed-loop poles as K (usually K_c) goes from 0 to ∞ for 1 + K·G(s) = 0, with G having n poles and m zeros. Rules for sketching:

  1. Branches start at the open-loop poles (K = 0) and end at the open-loop zeros or at infinity (K → ∞); there are n branches.
  2. A point on the real axis lies on the locus if the number of real poles plus zeros to its right is odd.
  3. n − m branches go to infinity along asymptotes at angles (2q + 1)·180°/(n − m), q = 0, 1, …, meeting the real axis at the centroid σ = (Σ poles − Σ zeros)/(n − m).
  4. Breakaway points from the real axis satisfy dK/ds = 0.
  5. Imaginary-axis crossings come from the Routh test (K_cu and ω_u).
  6. The locus is symmetric about the real axis. Reading the locus: poles moving toward the right mean less damping; lines of constant ζ are rays from the origin at angle cos⁻¹ζ to the negative real axis.

Process insight. First- and second-order processes under P control can never go unstable (their loci stay in the left half-plane). Three or more lags, or any dead time, produce a finite ultimate gain. The more lags, the lower K_cu.

Formulas

1 + G_c·G_v·G_p·G_m = 0

  • Characteristic equation.

b₁ = (a₁·a₂ − a₀·a₃)/a₁, b₂ = (a₁·a₄ − a₀·a₅)/a₁, c₁ = (b₁·a₃ − a₁·b₂)/b₁

  • Routh array elements.

a₀s³ + a₁s² + a₂s + a₃ = 0 stable if all aᵢ > 0 and a₁·a₂ > a₀·a₃

  • Cubic shortcut.

ω_u = √(a₃/a₁) (from the auxiliary equation a₁s² + a₃ = 0 at K_cu), P_u = 2π/ω_u

  • Cubic at the ultimate gain; ω_u in rad per unit time.

σ = (Σp − Σz)/(n − m), θ_q = (2q + 1)·180°/(n − m)

  • Root-locus centroid and asymptote angles.

dK/ds = 0

  • Breakaway points.

Worked examples

Example 1 (standard): root locus and ultimate gain. G_OL = K/(s(s + 2)(s + 3)). Find the real-axis segments, asymptotes, breakaway point, and the gain and frequency at which the locus crosses the imaginary axis.

  1. Poles 0, −2, −3; no zeros; n − m = 3.
  2. Real-axis locus: between 0 and −2, and left of −3 (odd number of poles to the right).
  3. Centroid σ = (0 − 2 − 3)/3 = −1.667; asymptote angles 60°, 180°, 300°.
  4. K = −s(s + 2)(s + 3) = −(s³ + 5s² + 6s); dK/ds = −(3s² + 10s + 6) = 0 gives s = −0.785 or −2.549. Only −0.785 lies on the locus (between 0 and −2); K there = 2.11.
  5. Characteristic equation s³ + 5s² + 6s + K = 0. Routh: row s¹ = (5·6 − K)/5. It is zero at K = 30.
  6. Auxiliary equation 5s² + 30 = 0 gives s = ±j√6, so ω = 2.449 rad/s.

Stable for 0 < K < 30; crossing at s = ±j2.449 rad/s; breakaway at s ≈ −0.785

Example 2 (GATE level): ultimate gain of three lags. G_p = 1/((s + 1)(2s + 1)(4s + 1)) (time in min) under P control, G_v = G_m = 1. Find K_cu and P_u.

  1. Expand: (s + 1)(2s + 1)(4s + 1) = 8s³ + 14s² + 7s + 1.
  2. Characteristic equation: 8s³ + 14s² + 7s + (1 + K_c) = 0.
  3. Routh rows: [8, 7], [14, 1 + K_c], s¹ element = (14·7 − 8·(1 + K_c))/14, s⁰ element = 1 + K_c.
  4. Stability: 98 − 8(1 + K_c) > 0, so 1 + K_c < 12.25 and K_c < 11.25 (and K_c > −1).
  5. At K_cu = 11.25: auxiliary equation 14s² + 12.25 = 0 gives ω_u = √(12.25/14) = √0.875 = 0.935 rad/min.
  6. P_u = 2π/0.935 = 6.72 min.

K_cu = 11.25; ω_u ≈ 0.935 rad/min; P_u ≈ 6.72 min

Example 3 (short): counting unstable roots. For s⁴ + 2s³ + 3s² + 4s + 5 = 0: rows [1, 3, 5], [2, 4], [(2·3 − 1·4)/2 = 1, (2·5 − 1·0)/2 = 5], [(1·4 − 2·5)/1 = −6], [5]. First column 1, 2, 1, −6, 5 has two sign changes: two roots in the right half-plane.

Common mistakes

  • Concluding stability from positive coefficients alone; that is necessary but not sufficient beyond second order.
  • Counting a sign change as a pair of unstable roots; each sign change is one root.
  • Forgetting to add 1 to K_c in the constant term (1 + K_c) of the characteristic equation.
  • Using ω_u in rad/min but reporting P_u as if ω were cycles per minute (P_u = 2π/ω_u).
  • Applying Routh to e^(−θs) without approximation.
  • Putting real-axis root-locus segments where an even number of poles and zeros lie to the right.

For GATE CH

Expect: the range of K_c for stability by Routh (cubic shortcut a₁a₂ > a₀a₃), the ultimate gain and period, the number of right-half-plane roots, and root-locus features (centroid, asymptotes, breakaway, crossing). Many tuning questions start from K_cu and P_u obtained here. Practise expanding products of lags quickly.

Quick check

  1. Is s³ + s² + 2s + 8 = 0 stable?
  2. A loop has characteristic equation s³ + 3s² + 3s + 1 + K_c = 0. Find K_cu.
  3. How many asymptotes does a root locus with 4 poles and 1 zero have, and at what angles?
  4. What does a whole row of zeros in a Routh array indicate?

Answers: 1. No, 1·2 < 1·8 (two right-half-plane roots). 2. 3·3 = 1 + K_c gives K_cu = 8. 3. Three, at 60°, 180° and 300°. 4. Roots symmetric about the origin, typically a pair on the imaginary axis, found from the auxiliary polynomial.

Try answering each one aloud before you open it.

  1. 1.What is the Routh stability criterion?Concept

    It is an algebraic test that tells whether all roots of a characteristic polynomial lie in the left half-plane without solving for them. All coefficients must first be positive (a necessary condition); then the Routh array is built from the coefficients, and the system is stable only if every element in its first column is positive. The number of sign changes in that column equals the number of right-half-plane roots, and making a first-column element zero gives the ultimate gain.

  2. 2.Explain the concept of root locus in control systems.Concept

    Root locus is a graphical method used in control systems to analyze and design the roots of a transfer function as system parameters are varied. It shows the trajectory of the poles of the closed-loop transfer function in the complex plane as a particular parameter, usually the gain, is varied from zero to infinity. This helps in understanding how the system stability and transient response change with different gain values.

  3. 3.How does the Routh stability criterion help in determining system stability?Application

    It turns the stability question into sign checks on the first column of the Routh array: no sign changes means every closed-loop pole is in the left half-plane, and each sign change means one root in the right half-plane. With the controller gain kept as a symbol, the condition that the first column stays positive gives the stable range of K_c directly. The auxiliary equation at the limiting gain gives the frequency of sustained oscillation, which is the basis of Ziegler–Nichols tuning.

  4. 4.Why is the root locus method used in control system design?Application

    The root locus method is used in control system design because it provides a visual representation of how the poles of a system move in the complex plane as a system parameter, typically gain, is varied. This helps engineers to design controllers that achieve desired performance specifications such as stability, transient response, and steady-state error. It is particularly useful for designing compensators and tuning PID controllers.

  5. 5.What happens if a system has poles on the right half of the s-plane?Application

    If a system has poles on the right half of the s-plane, it is considered unstable. This is because poles in the right half of the s-plane correspond to exponential terms with positive exponents in the time domain, leading to responses that grow unbounded over time. Such systems cannot maintain a steady state and will exhibit oscillations or diverging outputs.

  6. 6.What special cases arise in the Routh test, and what are its limitations?Application

    If a first-column element is zero but its row is not all zeros, replace it with a small positive ε and continue. If an entire row is zero, the polynomial has roots symmetric about the origin, often a pair on the imaginary axis; the auxiliary polynomial from the row above gives them, which is how the ultimate frequency is found. The test only says how many roots are unstable, not how well damped the stable ones are, and it cannot treat dead time e^(−θs) exactly, so a Padé approximation or frequency-response methods are used instead.

  7. 7.How can you use the root locus to determine the range of gain for stability?Application

    To use the root locus to determine the range of gain for stability, you plot the root locus of the system and observe the paths of the poles as the gain is varied. The system remains stable as long as all poles are in the left half of the s-plane. By identifying the gain values at which poles cross into the right half, you can determine the maximum gain for which the system remains stable.

  8. 8.Given a characteristic equation: s^3 + 2s^2 + 3s + 4 = 0, determine if the system is stable using the Routh stability criterion.Numerical

    To determine stability using the Routh stability criterion, construct the Routh array for the characteristic equation s^3 + 2s^2 + 3s + 4 = 0. The first row is [1, 3], and the second row is [2, 4]. The third row is calculated as [(23 - 14)/2, 0] = [1, 0]. Since all elements in the first column are positive, the system is stable.

  9. 9.Sketch the main features of the root locus for G(s) = K/(s(s + 2)(s + 3)).Numerical

    Branches start at the poles 0, −2 and −3 and all go to infinity, since there are no zeros. The real-axis locus lies between 0 and −2 and to the left of −3. Three asymptotes at 60°, 180° and 300° meet at the centroid (0 − 2 − 3)/3 = −1.67. The branches from 0 and −2 break away at s ≈ −0.785 (from 3s² + 10s + 6 = 0), and Routh on s³ + 5s² + 6s + K = 0 shows they cross the imaginary axis at K = 30, s = ±j√6 = ±j2.45.

  10. 10.What is the significance of the centroid and asymptotes in a root locus plot?Concept

    When there are more poles (n) than zeros (m), n − m branches go to infinity as K grows, following straight-line asymptotes at angles (2q + 1)·180°/(n − m). The asymptotes meet the real axis at the centroid σ = (sum of poles − sum of zeros)/(n − m). With three or more excess poles, some asymptotes point into the right half-plane, which shows immediately that a high enough gain will make the loop unstable.

Finished this topic? Mark it so your progress, study plan and readiness keep up.

Stuck on something here?