Skip to main content
Engineering LibreTexts

Chapter 12: Root Locus

  • Page ID
    123788
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\dsum}{\displaystyle\sum\limits} \)

    \( \newcommand{\dint}{\displaystyle\int\limits} \)

    \( \newcommand{\dlim}{\displaystyle\lim\limits} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    Introduction to Root Locus Method

    Root locus is a graphical method for examining how the roots (poles) of the closed-loop transfer function vary as a function of the feedback gain \( K \). It is particularly useful for control design because the closed-loop poles fully determine the dynamic behavior of the system.

    Root Locus Form and Characteristic Equation

    To apply root locus methods, the characteristic equation must be written in the form:

    \[ 1 + K L(s) = 0 \]

    This form is essential. In some systems, algebraic manipulation is needed to bring the system into this structure. Importantly, root locus is always traced based on this functional form of re-writing the transfer function and poles in this form \( L(s) \).

    Root Locus Behavior with Proportional Control: Real vs. Complex Poles

    Let us consider a simple unity feedback control system with:

    \[ P(s) = \frac{1}{s + 1}, \quad C(s) = K \]

    This is a first-order, stable plant with a pole at \( s = -1 \). The proportional controller multiplies the plant by a gain \( K \).

    Closed-Loop Transfer Function

    The closed-loop transfer function is:

    \[ G(s) = \frac{C(s) P(s)}{1 + C(s) P(s)} = \frac{K}{s + 1 + K} \]

    This is a first-order system with a single pole located at:

    \[ \boxed{s = -1 - K} \]

    As \( K \to \infty \), the pole moves toward \( s = -\infty \). The system becomes increasingly fast and remains stable for all positive values of \( K \) as shown in the figure:

    pl1.jpg
    Figure \(\PageIndex{1}\): Pole Location

    We can also visualize the motion of this pole as \( K \) changes using Mathematica:

    rlp1.jpg
    Figure \(\PageIndex{2}\): Root Locus Plot

    Pole Behavior for Real Poles

    For this simple case, the root locus consists of a single branch entirely along the real axis. The key behavior is:

    - At \( K = 0 \), the pole is at \( s = -1 \) (the open-loop pole)
    - As \( K \) increases, the pole moves leftward on the real axis
    - The pole never becomes complex
    - As \( K \to \infty \), \( s \to -\infty \)

    This reflects the typical behavior for systems with a single real pole: increasing gain improves speed and reduces rise/settling time without introducing oscillation.

    Now Consider a More Complex System

    Suppose instead we have:

    \[ P(s) = \frac{1}{(s + 1)(s + 2)} \quad \text{and still } C(s) = K \]

    Then the open-loop transfer function becomes:

    \[ L(s) = \frac{K}{(s + 1)(s + 2)} \]

    Characteristic Equation

    \[
    1 + \frac{K}{(s + 1)(s + 2)} = 0 \Rightarrow (s + 1)(s + 2) + K = 0
    \Rightarrow s^2 + 3s + (2 + K) = 0
    \]

    The closed-loop poles are:

    \[
    \boxed{s = \frac{-3 \pm \sqrt{1 - 4K}}{2}}
    \]

    Qualitative Behavior

    - When \( K < \frac{1}{4} \), the poles are real and distinct
    - When \( K = \frac{1}{4} \), the poles are repeated (critically damped)
    - When \( K > \frac{1}{4} \), the poles become complex conjugates
    - As \( K \to \infty \), the poles approach:
    \[
    s \approx \frac{-3 \pm j\sqrt{4K - 1}}{2}
    \]
    The real part stays fixed at \( -\frac{3}{2} \), but the imaginary part grows.

    Thus, for second-order systems, increasing \( K \) can cause poles to become complex and oscillatory — but they still remain in the left-half plane because the real part remains negative.

    pl2.jpg
    Figure \(\PageIndex{3}\): Pole Location Motion
    rlp2.jpg
    Figure \(\PageIndex{4}\): Root Locus Plot with Two Poles

    Now Consider a Poorly Designed System

    Let:

    \[
    P(s) = \frac{s - 1}{(s + 1)(s + 2)}, \quad C(s) = K
    \]

    This system has:
    - A zero at \( s = 1 \) (in the right-half plane)
    - Poles at \( s = -1, -2 \)

    Characteristic Equation

    \[
    1 + K \cdot \frac{s - 1}{(s + 1)(s + 2)} = 0
    \]

    <h3>Closed-Loop Poles</h3>

    \[
    \boxed{s = \frac{-(3 + K) \pm \sqrt{(3 + K)^2 - 4(2 - K)}}{2}}
    \]

    As \( K \) increases:
    - The constant term \( 2 - K \) becomes negative when \( K > 2 \)
    - This implies the product of the roots is negative → one pole must be positive → the system becomes <strong>unstable</strong>

    Key Insight

    - For simple systems, increasing \( K \) moves poles to \( -\infty \)
    - For higher-order systems with RHP zeros, increasing \( K \) can <strong>destabilize</strong> the system
    - Root locus allows us to track how poles move and determine safe values of \( K \)

    Summary

    - In first-order systems like \( P(s) = \frac{1}{s + 1} \), increasing \( K \) moves the pole leftward — faster and more stable
    - In second-order systems, poles can become complex as \( K \) increases — leading to oscillations
    - If the plant has right-half-plane zeros, increasing \( K \) can push poles into the RHP — causing instability
    - Root locus gives a graphical way to understand this behavior and guide controller design

    rlp3.jpg
    Figure \(\PageIndex{5}\): Root Locus Plot becoming unstable

    Root locus plots are useful because they allow us to:

    - Predict closed-loop pole locations without solving for roots numerically
    - Design controllers by adding poles/zeros
    - Assess how gain \( K \) influences stability, damping, and response time

    Fundamental Root Locus Rules

    Rule 0: Symmetry About the Real Axis

    The root locus is always symmetric with respect to the real axis. This is because complex poles always appear in conjugate pairs, so their paths mirror each other about the real axis.

    rule0violated.png
    Figure \(\PageIndex{6}\): Rule 0 Violated

    Rule 1: Number of Branches and Endpoints

    Let \( L(s) = \frac{N(s)}{D(s)} \) with:

    - \( n = \) number of poles of \( L(s) \)
    - \( m = \) number of zeros of \( L(s) \)

    Then:

    - The root locus has \( n \) branches, one for each pole
    - \( m \) branches terminate at the finite zeros of \( L(s) \)
    - \( n - m \) branches go to infinity, approaching asymptotes

    Note: \( n \geq m \) must hold to preserve causality.

    rule1violated.jpg
    Figure \(\PageIndex{7}\): Rule 1 Violated

    Rule 2: Real-Axis Segments

    A point \( s \) on the real axis belongs to the root locus if the total number of poles and zeros to the right of \( s \) on the real axis is odd.

    This rule can be applied visually using a vertical line test.

    rule2violated.jpg
    Figure \(\PageIndex{8}\): Rule 2 Violated

    Rule 3: Asymptotes of Branches Going to Infinity

    For \( n - m \) branches that go to infinity, the asymptotes intersect the real axis at:

    \[
    \alpha = \frac{\sum \text{(poles)} - \sum \text{(zeros)}}{n - m}
    \]

    and depart at angles:

    \[
    \theta_k = \frac{(2k + 1)\pi}{n - m}, \quad k = 0, 1, 2, \dots
    \]

    rule3violated.jpg
    Figure \(\PageIndex{9}\): Rule 3 Violated

    Rule 4: Angle of Departure and Arrival

    For complex poles and zeros not on the real axis, the angle of departure from a pole and angle of arrival at a zero can be calculated using:

    \[
    \phi_{\text{departure}} = 180^\circ - \sum \angle(\text{vectors from other poles and zeros})
    \]

    This rule is tedious and typically used only for precision analysis but can be necessary to perform.

    Root Locus Geometric Formulas with Worked Example

    We now apply the root locus geometric rules to a specific example, including the asymptote behavior and the angle of departure from a complex pole. These are essential tools for understanding pole movement and controller design.

    Given System

    Consider the open-loop transfer function:

    \[
    L(s) = \frac{s + 4}{(s + 2)(s^2 + 4s + 20)}
    \]

    This system has:

    - One finite zero at \( z_1 = -4 \)
    - Three poles:
    - One real pole at \( p_1 = -2 \)
    - Two complex poles at \( p_{2,3} = -2 \pm j4 \)

    Step 1: Number of Branches and Asymptotes

    - Number of poles: \( n = 3 \)
    - Number of zeros: \( m = 1 \)
    - Number of asymptotes: \( n - m = 2 \)

    Centroid of Asymptotes:

    \[
    \alpha = \frac{p_1 + p_2 + p_3 - z_1}{n - m}
    = \frac{-2 + (-2 + j4) + (-2 - j4) - (-4)}{2}
    = \frac{-6 + 4}{2} = -1
    \]

    Asymptote Angles:

    \[
    \theta_k = \frac{(2k + 1)\pi}{n - m}, \quad k = 0, 1
    \Rightarrow \theta_0 = 90^\circ, \quad \theta_1 = 270^\circ
    \]

    These asymptotes indicate that two branches go to infinity vertically, one upward and one downward from \( s = -1 \).

    Step 2: Angle of Departure from a Complex Pole

    Compute the angle of departure from the pole at \( p_2 = -2 + j4 \):

    \[
    \phi_d = \pi + \sum_j \angle(p - z_j) - \sum_{i \neq p} \angle(p - p_i)
    \]

    Where:

    - \( p = -2 + j4 \)
    - \( z_1 = -4 \)
    - \( p_1 = -2 \), \( p_3 = -2 - j4 \)

    Compute angles:

    \[
    \angle(p - z_1) = \arg(2 + j4) = \tan^{-1}\left(\frac{4}{2}\right) = 63.4^\circ
    \]

    \[
    \angle(p - p_1) = \arg(j4) = 90^\circ, \quad \angle(p - p_3) = \arg(j8) = 90^\circ
    \]

    Final calculation:

    \[
    \phi_d = 180^\circ + 63.4^\circ - (90^\circ + 90^\circ)
    = 180 + 63.4 - 180 = \boxed{63.4^\circ}
    \]

    So the root locus departs from the complex pole at \( -2 + j4 \) at an angle of approximately \( 63.4^\circ \).

    RootLocusPlot.jpg
    Figure \(\PageIndex{10}\): Root Locus Plot

    Summary of This Example

    - The system has 3 poles and 1 zero
    - The root locus has 2 asymptotes at \( \pm 90^\circ \), centered at \( \alpha = -1 \)
    - The root locus leaves the complex pole at \( -2 + j4 \) at an angle of \( 63.4^\circ \)
    - Symmetry rule guarantees the conjugate pole departs at \( 63.4^\circ \) below the real axis

    Rule 5: Breakaway and Break-in Points

    When two or more branches of the root locus come together or separate on the real axis, they do so at breakaway (diverging) or break-in (converging) points. These points are always located on the real axis and must lie within segments of the root locus (as determined by Rule 2).

    To calculate them, write:

    \[
    L(s) = \frac{n(s)}{d(s)}
    \]

    Then apply the quotient rule to the open-loop transfer function (excluding the gain \( k \)), and solve:

    \[
    \frac{d}{ds} \left( \frac{n(s)}{d(s)} \right) = 0
    \]

    That is, compute:

    \[
    \frac{n'(s) d(s) - n(s) d'(s)}{d(s)^2} = 0
    \]

    This simplifies to:

    \[
    n'(s) d(s) - n(s) d'(s) = 0
    \]

    Only real-valued roots of this equation that lie on valid segments of the real axis are valid breakaway or break-in points.

    Root Locus and Control Design

    Root locus is a powerful graphical method to design controllers that shift the closed-loop poles into desired locations in the complex \( s \)-plane. By adding poles or zeros to the open-loop transfer function, we can shape the root locus and place poles to meet time-domain or frequency-domain specifications.

    Worked Example

    Let the open-loop transfer function be:

    \[
    L(s) = \frac{k(s+3)}{s^2 + 3s + 2}
    \]

    Zeros: \( s = -3 \)
    Poles: \( s = -1, -2 \)
    This system has two poles and one zero, so one branch will go to the zero and one will go to infinity.

    Step 1: Use the Quotient Rule

    Let:

    \[
    n(s) = s + 3, \quad d(s) = s^2 + 3s + 2
    \]

    Then:

    \[
    n'(s) d(s) - n(s) d'(s) = 1 \cdot (s^2 + 3s + 2) - (s + 3)(2s + 3)
    \]

    Expand both terms:

    \[
    (s^2 + 3s + 2) - (2s^2 + 9s + 9) = -s^2 - 6s - 7
    \]

    Solve:

    \[
    -s^2 - 6s - 7 = 0 \Rightarrow s^2 + 6s + 7 = 0
    \]

    \[
    s = \frac{-6 \pm \sqrt{36 - 28}}{2} = \frac{-6 \pm \sqrt{8}}{2} = \frac{-6 \pm 2\sqrt{2}}{2} = -3 \pm \sqrt{2}
    \]

    \[
    \Rightarrow s \approx -4.414,\quad s \approx -1.586
    \]

    Step 2: Check Real-Axis Segments (Rule 2)

    From Rule 2: A point on the real axis is part of the root locus if the number of real poles and zeros to the right of that point is odd.

    Real poles: \( s = -1,\ -2 \)
    Real zero: \( s = -3 \)

    Segments of the real axis:

    - \( (-\infty, -3) \): 3 elements to the right → on locus
    - \( (-3, -2) \): 2 to the right → not on locus
    - \( (-2, -1) \): 1 to the right → on locus
    - \( (-1, \infty) \): 0 to the right → not on locus

    So the breakaway and break-in points:

    \[
    \boxed{-4.414 \text{ and } -1.586}
    \]

    are both valid — they lie on segments of the real axis where the root locus exists.

    Step 3: Asymptote Calculation

    Number of poles: \( n = 2 \), number of zeros: \( m = 1 \)
    So there is one branch going to infinity.

    Asymptote:

    \[
    \alpha = \frac{\sum \text{poles} - \sum \text{zeros}}{n - m} = \frac{-1 + (-2) - (-3)}{1} = 0
    \]

    Angle:

    \[
    \theta_k = \frac{(2k+1)\pi}{n - m} = \pi \Rightarrow 180^\circ
    \]

    Conclusion

    - Root locus starts at poles \( s = -1 \) and \( s = -2 \)
    - One branch terminates at the zero at \( s = -3 \)
    - One branch goes to infinity along the real axis at angle \( 180^\circ \)
    - Breakaway at \( s \approx -1.586 \), break-in at \( s \approx -4.414 \)

    breakinbreakout.jpg
    Figure \(\PageIndex{11}\): Rule 5

    Design Objective and Desired Pole Region

    Design objective: Place the poles such that:

    - The system is stable (poles in LHP)
    - Damping ratio \( \zeta \geq \zeta_{\text{min}} \)
    - Natural frequency \( \omega_n \leq \omega_{\text{max}} \)
    - Settling time \( t_s \leq t_{s,\text{max}} \)

    This corresponds to selecting a desired pole region, often a wedge defined by lines of constant damping and a vertical boundary for maximum settling time.

    We then check whether the root locus enters this region for any gain \( K \). If it does, then proportional control is sufficient. If not, we must redesign the controller to shift the root locus.

    Controller Design via Root Locus

    Step 1: Try Proportional Control

    \[
    C(s) = K
    \]

    If the root locus of \( K P(s) \) does not intersect the desired region for any value of \( K \), then P control is insufficient.

    Let us consider the open-loop transfer function:

    \[
    L(s) = \frac{1}{s(s + 1)}
    \]

    This is a Type 1, second-order system with:

    - Poles at \( s = 0 \) and \( s = -1 \)
    - No finite zeros
    - System order: \( n = 2 \), number of zeros \( m = 0 \)
    - \( n - m = 2 \) branches of the root locus

    Closed-loop characteristic equation (with P controller):

    \[
    1 + K \cdot \frac{1}{s(s + 1)} = 0
    \Rightarrow s(s + 1) + K = 0
    \Rightarrow s^2 + s + K = 0
    \]

    Closed-loop poles:

    \[
    s = \frac{-1 \pm \sqrt{1 - 4K}}{2}
    \]

    Behavior of the poles as \( K \) varies:

    - For \( K < \frac{1}{4} \), poles are real and negative
    - For \( K = \frac{1}{4} \), repeated real pole (critical damping)
    - For \( K > \frac{1}{4} \), poles become complex conjugates
    - Real part of poles approaches \( -\frac{1}{2} \) as \( K \to \infty \)

    Desired Closed-Loop Pole Region

    The design specifications require:

    - Settling time \( t_s < 2 \) seconds
    - Maximum overshoot \( < 10\% \)

    These constraints define the following pole region in the complex \( s \)-plane:

    - Minimum damping ratio: \( \zeta > 0.528 \)
    - Minimum exponential decay rate: \( \sigma > 2.3 \)
    - Minimum natural frequency: \( \omega_n > 4.35 \)

    This defines a shaded “safe” region in the left-half plane where:

    - The poles lie to the left of \( \operatorname{Re}(s) = -2.3 \)
    - The poles lie within a cone defined by \( \theta = \cos^{-1}(0.528) \approx 58.1^\circ \)
    - The poles lie outside a circle of radius \( \omega_n = 4.35 \)

    Compare with Root Locus of P-Controlled System

    \[
    L(s) = \frac{K}{s(s + 1)} \Rightarrow \text{Characteristic equation: } s^2 + s + K = 0
    \]

    This gives the closed-loop poles:

    \[
    s = \frac{-1 \pm \sqrt{1 - 4K}}{2}
    \]

    As \( K \to \infty \), the real part of the poles approaches:

    \[
    \operatorname{Re}(s) \to -\frac{1}{2}
    \]

    This does not satisfy the requirement \( \operatorname{Re}(s) < -2.3 \). The root locus stays too close to the imaginary axis, and overshoot and settling time requirements are violated.

    controllerrootlocus.jpg
    Figure \(\PageIndex{12}\): Controller doesn't meet requirements

    Conclusion: P Control is Insufficient

    \[
    \boxed{\text{Proportional control alone cannot enter the desired region.}}
    \]

    The closed-loop poles never reach the region defined by \( \zeta > 0.528 \), \( \sigma > 2.3 \), and \( \omega_n > 4.35 \). Therefore, additional control (e.g., \( K_d \), \( K_i \)) is needed to meet specs.

    Therefore, we must increase the complexity of the controller.

    In the next step, we can add a zero via lead control:

    \[
    C(s) = K \cdot (s + z)
    \]

    This will bend the root locus toward the desired pole region by pulling branches leftward, enabling faster and more stable response.

    Step 2: Use Lead Compensation

    To move the root locus into the desired region, add a zero via lead compensation:

    \[
    C(s) = K \cdot \frac{s + z}{s + p}, \quad z < p
    \]

    This zero attracts the locus toward the desired region. For effective placement:

    - Place the zero near the desired pole location
    - Position the pole further left to ensure lead (phase advancement)

    Controller Design via Root Locus: Lead Compensation

    When proportional control is insufficient to meet system performance requirements (e.g., damping, settling time, or overshoot), we introduce a lead compensator. The lead controller introduces a zero that attracts the root locus into the desired region of the complex plane.

    Example System with Lead Compensation

    Suppose we have the open-loop transfer function:

    \[
    L(s) = \frac{k (s + 1.5)}{s(s + 1)(s + 8)(s + 6)}
    \]

    This corresponds to a unity-feedback system with:

    - One compensator zero at \( s = -1.5 \)
    - Four finite poles:
    - \( s = 0 \) (integrator)
    - \( s = -1 \)
    - \( s = -6 \) (lead compensator pole)
    - \( s = -8 \)
    - System order \( n = 4 \), number of zeros \( m = 1 \)
    - \( n - m = 3 \) root locus branches go to infinity

    Root Locus Geometry

    Centroid of asymptotes:

    \[
    \alpha = \frac{0 + (-1) + (-6) + (-8) - (-1.5)}{3} = \frac{-13.5}{3} = -4.5
    \]

    Asymptote angles:

    \[
    \theta_k = \frac{(2k + 1)\pi}{n - m}, \quad k = 0, 1, 2
    \Rightarrow \theta = 60^\circ, 180^\circ, 300^\circ
    \]

    The branches to infinity depart from \( s = -4.5 \) at those angles.

    Controller Purpose and Interpretation

    The compensator adds a zero at \( s = -1.5 \), which attracts the root locus into the desired pole region, while the pole at \( s = -6 \) keeps the phase lead localized.

    This lead compensator bends the locus so that for some \( k > 0 \), we can achieve:

    - Damping ratio \( \zeta > 0.6 \)
    - Settling time \( t_s < 1.5 \, \text{seconds} \)

    The corresponding pole region has:

    \[
    \operatorname{Re}(s) < -2, \quad \angle(\theta) > \cos^{-1}(0.6) \approx 53.1^\circ
    \]

    Result:

    By applying this compensator, we confirmed via root locus and pole calculations that the system achieves poles such as:

    \[
    s = -2.67 \pm 4.47j
    \]

    Which gives:

    - \( \zeta = \cos(\theta) \approx 0.51 \)
    - \( \omega_n = \sqrt{(-2.67)^2 + (4.47)^2} \approx 5.22 \)
    - \( t_s \approx \frac{4.6}{\sigma} = \frac{4.6}{2.67} \approx 1.72 \, \text{seconds} \)

    So this compensator brings the poles close to the desired region. With further tuning, we can fully satisfy the damping and settling time requirements.

    controllerlead.jpg
    Figure \(\PageIndex{13}\): Lead Controller Root Locus

    Conclusion:

    This example shows how lead compensation:

    - Attracts the root locus into more desirable locations in the complex plane
    - Enables design for speed and damping not achievable by P control alone
    - Can be implemented by adding a zero near the origin and a pole further left

    Step 3: Use Integral Control to Improve Steady-State

    If tracking or steady-state error is unsatisfactory, add an integrator:

    \[
    C(s) = \frac{K(s + z)}{s}
    \]

    This makes the system Type 1 and improves steady-state accuracy, but introduces a pole at the origin and a new third-order dynamic, which must be carefully analyzed (e.g., using Routh-Hurwitz).

    Controller Design via Root Locus: Integral Control

    When proportional or lead compensation is not sufficient to meet steady-state performance (e.g., eliminating steady-state error to a step input), we can introduce integral control. Integral control improves tracking and regulation by increasing system type — but introduces a pole at the origin and increases system order, requiring caution in stability analysis.

    Example System with Integral Control

    Let the plant be:

    \[
    P(s) = \frac{s + 2}{s^2 + s + 3}
    \]

    We define the controller as pure integral control:

    \[
    C(s) = \frac{K}{s}
    \]

    So the open-loop transfer function becomes:

    \[
    L(s) = C(s) P(s) = \frac{K(s + 2)}{s(s^2 + s + 3)}
    \]

    This system has:

    - Poles at:
    - \( s = 0 \) (integrator)
    - \( s = -\frac{1}{2} \pm j \frac{\sqrt{11}}{2} \)
    - One zero at \( s = -2 \)
    - System order \( n = 3 \), number of finite zeros \( m = 1 \)
    - Number of asymptotes: \( n - m = 2 \)

    Asymptotes and Geometry

    Centroid of asymptotes:

    \[
    \alpha = \frac{0 + (-\frac{1}{2} + j \frac{\sqrt{11}}{2}) + (-\frac{1}{2} - j \frac{\sqrt{11}}{2}) - (-2)}{2} = \frac{-1 + 2}{2} = \boxed{\frac{1}{2}}
    \]

    Asymptote angles:

    \[
    \theta_k = \frac{(2k + 1)\pi}{2}, \quad k = 0, 1
    \Rightarrow \theta_0 = 90^\circ, \quad \theta_1 = 270^\circ
    \]

    So the root locus will have branches going vertically to infinity from \( \alpha = 0.5 \).

    Closed-Loop Characteristic Equation

    We form the unity-feedback closed-loop system:

    \[
    1 + L(s) = 0
    \Rightarrow s(s^2 + s + 3) + K(s + 2) = 0
    \Rightarrow s^3 + s^2 + 3s + K(s + 2) = 0
    \Rightarrow \boxed{s^3 + s^2 + (3 + K)s + 2K = 0}
    \]

    This is a cubic polynomial. To determine stability, we apply the Routh-Hurwitz criterion.

    Routh Table

    Let:

    \[
    a_3 = 1, \quad a_2 = 1, \quad a_1 = 3 + K, \quad a_0 = 2K
    \]

    Stability Conditions (All First Column Elements > 0)

    - \( 1 > 0 \)
    - \( 1 > 0 \)
    - \( 3 - K > 0 \Rightarrow K < 3 \)
    - \( 2K > 0 \Rightarrow K > 0 \)

    So for stability:

    \[
    \boxed{0 < K < 3}
    \]

    integralcontrol.jpg
    Figure \(\PageIndex{14}\): Integral Controller Root Locus

    Interpretation

    - Adding the integrator improved steady-state tracking (Type 1 system)
    - The new pole at \( s = 0 \) increased the system order to 3
    - Stability is limited to a bounded range of \( K \)
    - Beyond \( K = 3 \), the system becomes unstable due to a sign change in the Routh table

    Why the Integrator Improves Tracking

    When we add an integrator via \( C(s) = \frac{K}{s} \), the open-loop system becomes Type 1:

    \[
    L(s) = \frac{K}{s(s + 1)(s + 2)}
    \]

    This guarantees:

    - Zero steady-state error to step inputs:
    \[
    e_{ss} = \lim_{s \to 0} \frac{1}{1 + L(s)} = 0
    \]
    - Perfect tracking of step references
    - Automatic error correction over time due to integral accumulation

    However, adding the integrator increases system order and can introduce instability if \( K \) is too large. Stability must be ensured via Routh-Hurwitz or root locus analysis.

    Critical Gain for Stability

    Suppose \( s = j \omega \) lies on the imaginary axis — this is the boundary of marginal stability. Then we can find the critical gain \( K_{\text{crit}} \) such that:

    \[
    1 + K_{\text{crit}} L(j\omega) = 0
    \Rightarrow K_{\text{crit}} = \frac{1}{|L(j\omega)|}
    \]

    This tells us the maximum gain before the system becomes unstable.

    Example:

    Let the critical frequency be \( \omega_{\text{crit}} \), found by solving:

    \[
    \angle L(j \omega) = \pm 180^\circ
    \]

    Then compute \( |L(j \omega_{\text{crit}})| \), and solve:

    \[
    K_{\text{crit}} = \frac{1}{|L(j \omega_{\text{crit}})|}
    \]

    This can be visualized and calculated on a Bode plot as well.

    Design Rule:

    For stability, choose \( K < K_{\text{crit}} \)

    Summary

    - Root locus traces how closed-loop poles move as \( K \) varies
    - Provides powerful visual tool for controller design
    - Stability, damping, and response time all depend on pole location
    - If root locus does not enter desired region, increase controller complexity (lead, lag, PID)
    - Critical gain analysis gives safety margins for proportional control


    This page titled Chapter 12: Root Locus is shared under a CC BY-NC-ND license and was authored, remixed, and/or curated by Joshua P. Steimel.

    • Was this article helpful?