Root locus analysis
Root locus analysis is a graphical method in control engineering for examining how the roots (poles) of the characteristic equation of a linear time-invariant feedback control system vary with a system parameter, most commonly the open-loop gain K, which is varied from zero to infinity.[1] This technique plots the trajectories of these closed-loop poles in the complex s-plane, providing insights into system stability, transient response, and performance characteristics such as damping ratio and natural frequency.[1]
The root locus method was developed by American control theorist Walter R. Evans in the late 1940s while working at North American Aviation, where it addressed challenges in designing stable feedback systems for applications like autopilots and guidance systems during the post-World War II era of advancing aerospace technology.[2] Evans first introduced the concept in his 1948 paper, where he described graphical methods for analyzing transient responses and pole movements in control systems, and also invented the Spirule, an analog slide-rule-like device to facilitate the computation of root loci.[2] He expanded on this in 1950 with a detailed synthesis approach using root loci to design compensators and predict system behavior.[3] Evans further popularized the technique through his 1954 book Control-System Dynamics, which formalized the rules and applications, making it a cornerstone of classical control theory.[4] The method's history was further chronicled in the 2025 book Into Stability: Walter R. Evans and the Story of Root Locus.[5] As of November 2025.
Key properties of the root locus include: the number of branches equals the number of open-loop poles; branches start at the open-loop poles (when K = 0) and terminate at the open-loop zeros or at infinity (as K \to \infty); segments lie on the real axis to the left of an odd number of poles and zeros; and for systems with more poles than zeros, branches approach infinity along asymptotes centered at \sigma = \frac{\sum \text{poles} - \sum \text{zeros}}{n - m} with angles \theta = \frac{(2q+1)180^\circ}{n-m} for q = 0, 1, \dots, n-m-1, where n and m are the numbers of finite poles and zeros, respectively.[6] Additional rules cover departure/arrival angles at poles/zeros, breakaway/break-in points on the real axis, and crossings of the imaginary axis to assess stability margins.[6] These rules enable manual sketching or computational plotting (e.g., via MATLAB's rlocus function) to evaluate how gain adjustments affect pole placement and thus system dynamics.[1]
In practice, root locus analysis is essential for designing controllers in fields like aerospace, robotics, and process control, as it visually reveals regions of stability (left-half s-plane) and allows selection of gain values for desired performance, such as minimal overshoot or rapid settling time.[1] Despite the rise of state-space and modern methods, it remains a fundamental tool for understanding parameter sensitivity and initial design iterations in linear systems.[3]
Introduction
Definition and purpose
Root locus analysis is a graphical method in control systems engineering that depicts the trajectories of the closed-loop poles in the complex s-plane as a system parameter, typically the open-loop gain K, varies from 0 to infinity.[1] This technique, developed by Walter R. Evans, allows engineers to visualize how the roots of the system's characteristic equation migrate, providing a qualitative understanding of dynamic behavior without exhaustive numerical computations.[3] The paths, known as loci, originate at the open-loop poles (when K = 0) and terminate at the open-loop zeros (or infinity if there are fewer zeros than poles) as K increases.[7]
In a standard feedback control system, the open-loop transfer function is denoted as G(s)H(s), where G(s) represents the plant and H(s) the feedback path. The closed-loop poles are determined by solving the characteristic equation:
$1 + K G(s) H(s) = 0.
[8]
This equation defines the locations of the poles for any given K, and the root locus plots all such points satisfying the equation for K \geq 0. By examining the locus, one can identify regions where poles lie in the left-half s-plane for stability or cross into the right-half plane, indicating instability.[9]
The primary purpose of root locus analysis is to facilitate the design and tuning of feedback controllers by assessing stability margins, transient response qualities (such as rise time and overshoot), and steady-state accuracy without repeatedly solving the characteristic equation for various K values.[10] It enables the selection of gain K that positions closed-loop poles at desired locations, such as those yielding specified damping ratios or natural frequencies, thereby optimizing system performance.[1] For instance, if a pole location on the locus corresponds to acceptable damping, the associated K can be directly computed to achieve that configuration.[11]
Historical development
The root locus method was pioneered by Walter R. Evans during the 1940s while working at North American Aviation in the aircraft industry, where he applied it initially to the design of aircraft control systems during the post-World War II era of advancing aerospace technology and servo-mechanism development.[12] Evans formalized the technique in his seminal 1948 paper, "Graphical Analysis of Control Systems," published in the Transactions of the American Institute of Electrical Engineers, which introduced graphical methods for analyzing transient response and stability in feedback control systems.[13] Evans expanded upon this in his 1950 paper, introducing a detailed synthesis approach using root loci to design compensators and predict system behavior.[3] He further elaborated on these concepts in his 1954 book, Control-System Dynamics, published by McGraw-Hill, which provided a comprehensive treatment of root locus techniques and became a foundational text for control engineers.[4] The method gained prominence in the post-war era, influencing aerospace applications such as inertial guidance systems for missiles and aircraft like the F-86D, where it facilitated rapid design of stable feedback controllers essential for high-performance flight control.[14]
By the 1970s, root locus analysis had been integrated into standard control theory curricula, as evidenced by its detailed coverage in Katsuhiko Ogata's Modern Control Engineering (first edition, 1970), which popularized the method among students and practitioners through systematic rules and examples. The transition to digital computation began in the 1960s, with early programs enabling automated plotting on computers like the IBM 7074, as described in NASA technical reports that adapted Evans' graphical approach for numerical root locus generation.[15] These developments laid the groundwork for later software tools, enhancing the method's accessibility beyond manual sketching.
Mathematical foundations
Characteristic equation
In control systems, the root locus analysis begins with the characteristic equation derived from the closed-loop transfer function of a feedback system. For a unity feedback configuration, the closed-loop transfer function is given by T(s) = \frac{K G(s)}{1 + K G(s)}, where K is the gain parameter and G(s) is the open-loop transfer function. The poles of this closed-loop system, which determine stability and transient response, are the roots of the denominator set to zero, yielding the characteristic equation $1 + K G(s) = 0. This equation, introduced by Walter R. Evans in his foundational work on root locus methods, forms the basis for plotting how the closed-loop poles vary with K.
For non-unity feedback systems, the general closed-loop transfer function is T(s) = \frac{K G(s)}{1 + K G(s) H(s)}, where H(s) is the feedback transfer function. The characteristic equation then becomes $1 + K G(s) H(s) = 0, or equivalently, when expressing the loop transfer function as L(s) = K \frac{N(s)}{D(s)} with N(s) and D(s) as the numerator and denominator polynomials, it simplifies to D(s) + K N(s) = 0. The open-loop poles are the roots of D(s) = 0, while the open-loop zeros are the roots of N(s) = 0. These poles and zeros define the starting and ending points of the root locus branches: as K = 0, the closed-loop poles coincide with the open-loop poles; as K \to \infty, the closed-loop poles approach the open-loop zeros or tend to infinity along asymptotes if the number of poles exceeds the number of zeros.[16][17]
The number of branches in the root locus equals the order of the system, which is the degree of the characteristic polynomial D(s) + K N(s) = 0, corresponding to the number of open-loop poles. This ensures that each branch traces the migration of one closed-loop pole as K varies from 0 to \infty, providing insight into system behavior without solving the equation for each K value.[18]
Angle and magnitude conditions
In root locus analysis, the trajectory of the closed-loop poles as the gain K varies is determined by two fundamental conditions derived from the characteristic equation $1 + K G(s) H(s) = 0, or equivalently K G(s) H(s) = -1. These conditions ensure that for a point s in the complex plane, there exists a real value of K that places a closed-loop pole at that location.[19]
The angle condition specifies that s lies on the root locus if the phase of the open-loop transfer function satisfies \angle G(s) H(s) = (2k + 1) 180^\circ, where k is any integer. This arises because the argument of -1 is an odd multiple of $180^\circ, and for positive K, the phase contribution from K is zero. Geometrically, this condition is interpreted using vectors in the s-plane: \angle G(s) H(s) equals the sum of the angles from all open-loop zeros to s minus the sum of the angles from all open-loop poles to s. A test point s satisfies the condition if the net phase is \pm 180^\circ, \pm 540^\circ, and so on.[20]
The magnitude condition complements the angle condition by determining the specific gain value: |K G(s) H(s)| = 1, or |G(s) H(s)| = 1/|K|. For a point s that already satisfies the angle condition, this equation yields the corresponding K > 0. In vector terms, |G(s) H(s)| is the product of the distances from s to all open-loop zeros divided by the product of the distances from s to all open-loop poles. Thus, K = \frac{\prod |s - z_i|}{\prod |s - p_j|}, where z_i are zeros and p_j are poles. Together, these conditions guarantee that s is a root of the characteristic equation for that K, tracing the locus as K varies from 0 to \infty.[20]
For the standard root locus assuming K > 0 (negative feedback), the angle condition uses odd multiples of $180^\circ. In contrast, for K < 0 (as in positive feedback or complementary root locus), the angle condition shifts to even multiples: \angle G(s) H(s) = 2k \cdot 180^\circ, while the magnitude condition becomes |K| \cdot |G(s) H(s)| = 1. This complementary locus, also introduced by Evans, explores pole locations for negative gains, often revealing additional stability insights but following similar vector-based construction principles.[19][21]
Construction methods
Sketching rules
Root locus sketching rules offer a systematic, graphical approach to approximate the paths of closed-loop poles for varying gain K \geq 0 in linear feedback systems, facilitating manual construction without computational tools. Developed by Walter R. Evans in the mid-20th century, these heuristics stem from the angle and magnitude conditions of the characteristic equation $1 + K G(s)H(s) = 0, allowing rapid insights into stability and transient behavior.[22][23]
The rules apply to systems where the open-loop transfer function G(s)H(s) has poles at locations p_i (total n) and zeros at z_j (total m), with excess poles q = n - m. Consider the following standard rules for construction:
-
Number of branches: The root locus comprises exactly n branches, corresponding to the n open-loop poles of the system, as the closed-loop characteristic equation is of order n. Each branch represents the trajectory of one closed-loop pole as K varies.[22][23]
-
Starting and ending points: All branches originate at the open-loop poles when K = 0 and terminate either at the open-loop zeros when K \to \infty or at infinity along asymptotes if q > 0. This reflects the continuity of pole locations from the open-loop to high-gain configurations.[22][23]
-
Real-axis segments: Portions of the root locus lie on the real axis to the left of an odd number of real open-loop poles and zeros (counting multiplicities). Complex conjugate poles and zeros do not contribute to this count, as their loci are off-axis. To identify these segments, test points on the real axis by summing the number of poles and zeros to the right.[22][23]
-
Asymptotes: When q > 0, the q branches approaching infinity align with straight-line asymptotes. These asymptotes intersect the real axis at the centroid \sigma = \frac{\sum \operatorname{Re}(p_i) - \sum \operatorname{Re}(z_j)}{q} and extend at angles \theta_k = \frac{(2k+1)180^\circ}{q} for k = 0, 1, \dots, q-1. This configuration captures the large-|s| behavior dominated by excess poles.[22][23]
-
Symmetry: The entire root locus is symmetric about the real axis, ensuring that if a point s lies on the locus, its complex conjugate \bar{s} does too. This property arises because the characteristic equation has real coefficients, pairing complex poles and zeros.[22][23]
Additional guidelines refine the sketch: For complex poles without nearby zeros, branches often depart at approximately $180^\circ relative to the real axis, while arrival angles at complex zeros follow complementary directions based on the angle condition. The locus intersects the imaginary axis at gains where the system is marginally stable, identifiable by the phase reaching -180^\circ. These rules collectively enable a qualitative yet informative plot, emphasizing conceptual system dynamics over precise coordinates.[22][23]
Asymptotes and breakaway points
In root locus analysis, asymptotes describe the behavior of the locus branches as the gain K approaches infinity, particularly when the number of finite open-loop poles exceeds the number of finite open-loop zeros.[6] This occurs because excess branches must tend toward infinity in the s-plane to satisfy the angle and magnitude conditions of the characteristic equation $1 + K G(s) H(s) = 0.[3] The number of asymptotes equals p - m, where p is the number of finite poles and m is the number of finite zeros.[6]
The asymptotes intersect the real axis at the centroid \sigma, calculated as
\sigma = \frac{\sum \operatorname{Re}(p_i) - \sum \operatorname{Re}(z_j)}{p - m},
where \operatorname{Re}(p_i) and \operatorname{Re}(z_j) are the real parts of the finite pole and zero locations, respectively.[6] This centroid acts as the origin from which the asymptotes radiate. The angles of the asymptotes relative to the positive real axis are given by
\phi_k = \frac{(2k + 1) 180^\circ}{p - m}, \quad k = 0, 1, \dots, p - m - 1.
These angles ensure the total phase contribution aligns with the 180° condition for points on the locus at large |s|.[6] For large values of K, the locus branches asymptotically approach these lines, providing insight into the high-gain stability and transient response of the closed-loop system.[24]
Breakaway points occur on the root locus where multiple closed-loop poles coincide and then diverge, on the real axis, marking a transition from real to complex conjugate roots.[24] These points lie on segments of the real axis between poles or zeros and are found by solving for locations where the gain K is stationary with respect to s, derived from K = -1 / G(s) H(s).[6] Differentiating yields \frac{dK}{ds} = 0, which, letting G(s) H(s) = N(s)/D(s), leads to the condition
N(s) D'(s) - N'(s) D(s) = 0.
This results in a polynomial equation whose real roots between relevant poles and zeros indicate breakaway points.[24] At these points, the locus curvature changes, often corresponding to maximum or minimum K along the real axis.[6]
Break-in points are analogous to breakaway points but describe locations where complex conjugate branches reconverge onto the real axis, typically to the left of a zero or between poles.[25] They are identified using the same differentiation method \frac{dK}{ds} = 0, with solutions selected based on the direction of branch entry onto the real axis, ensuring consistency with the overall locus topology.[6] These points help refine sketches by pinpointing where the locus re-enters the real axis after departing as complex pairs.[25]
The jω-axis crossings, or points where the root locus intersects the imaginary axis, indicate the boundary between stable and unstable regions, corresponding to marginal stability with sustained oscillations.[26] These are located by applying the Routh-Hurwitz criterion to the characteristic equation, forcing a row of zeros in the Routh array to find the critical gain K and solving the auxiliary polynomial for the crossing frequency \omega.[26] Alternatively, substitute s = j\omega into the characteristic equation and equate real and imaginary parts to zero, yielding equations for \omega and K.[6] This method determines the maximum stable gain before poles enter the right-half plane.[26]
Computational approaches
Numerical plotting techniques
Numerical plotting techniques enable the precise computation of root loci by solving the underlying mathematical conditions iteratively, providing greater accuracy than manual sketching for complex systems. The original approach, developed by Walter R. Evans, involved an iterative grid search in the complex s-plane to identify points where the open-loop transfer function satisfies the angle condition—namely, the argument of G(s) equals an odd multiple of 180 degrees—and the magnitude condition |G(s)| = 1/K for varying gain K.[3] This method systematically evaluates candidate points on a predefined grid, computing phase contributions from poles and zeros to locate segments of the locus, though it was computationally intensive even in its early adaptations to analog or early digital computers.[27]
Modern algorithms improve upon this by parameterizing the root locus as continuous curves in the (s, K) parameter space, often using continuation or predictor-corrector schemes to trace branches from open-loop poles toward zeros or infinity. For instance, a predictor-corrector method initializes at known starting points (such as open-loop poles) and advances along the locus using secant approximations for prediction, followed by Newton's method corrections to enforce both angle and magnitude conditions simultaneously, with adaptive step lengths to maintain convergence.[28] These techniques solve for s along radial rays from the origin or predefined contours, iteratively adjusting to satisfy the conditions while handling multiple branches efficiently. In state-space representations, the locus corresponds to the eigenvalues of the closed-loop system matrix A - k B C as k varies; numerical computation involves solving the generalized eigenvalue problem for the matrix pencil (sI - A, k B C) at discrete k values or using parametric eigenvalue solvers to trace the paths, which is particularly useful for multivariable systems where transfer function forms are cumbersome.
To integrate root-finding capabilities, algorithms often discretize the gain K over a range and compute the roots of the characteristic equation 1 + K G(s) = 0 using robust polynomial solvers, such as those based on the companion matrix eigenvalue decomposition or the Jenkins-Traub algorithm, yielding closed-loop poles at each K that can be connected to form the locus.[29] Newton's method is frequently employed here, iterating on the complex variable s to minimize the residual of the characteristic equation, starting from initial guesses along predicted paths. For complex systems with high-order dynamics or multiple branches, numerical instability arises near breakaway points where loci converge or diverge, leading to ill-conditioned Jacobians in iterative solvers; this is mitigated by incorporating branching point detection—solving for multiple roots of the derivative of the characteristic polynomial—and employing higher-order corrections or variable-precision arithmetic to ensure smooth tracing without divergence.[28][29]
The output of these techniques is typically a parametric plot in the complex plane, displaying the real part of s against the imaginary part for continuously varying K, often augmented with gain annotations and stability margins to facilitate analysis. This computational framework allows for high-fidelity visualization, essential for verifying manual sketches and optimizing controller parameters in practical designs.[27]
Software implementation and example
Root locus plots can be generated using specialized functions in popular control systems software packages, facilitating practical analysis without manual sketching. In MATLAB, the rlocus function from the Control System Toolbox computes and plots the root locus for a single-input single-output (SISO) linear time-invariant system defined by its transfer function.[30] Similarly, the Python Control Systems Library provides the root_locus_plot function, which calculates the locus by solving for roots of the characteristic equation $1 + k G(s) = 0 over a range of gains k and displays the plot using Matplotlib.[31] For more integrated design workflows, MATLAB's Simulink environment supports root locus visualization through tools like SISO Design Tool or PID Tuner, where users can interactively adjust parameters and observe locus changes in real-time simulations.[32]
To implement a root locus analysis, first define the open-loop transfer function G(s)H(s). In MATLAB, create a transfer function object using the tf command, specifying numerator and denominator coefficients; for instance, for a system with no finite zeros and poles at specified locations, the denominator polynomial is entered as a vector. Then, invoke rlocus(sys) to generate the plot, which displays the locus branches starting from open-loop poles (at gain K=0) and includes markers indicating closed-loop pole locations for discrete gain values. In Python, use TransferFunction from the control module to define the system, followed by root_locus_plot(sys), which produces an interactive plot with gain contours. Interpretation involves examining the plot for key features: branches migrate from poles toward asymptotes as K increases, and markers allow selection of gains yielding desired pole damping or natural frequency via tools like rlocfind in MATLAB. These numerical methods underlie the software, discretizing the gain range and solving eigenvalue problems for root locations.[30][31]
Consider the example open-loop transfer function G(s) = \frac{1}{s(s+1)(s+2)}, with poles at s = 0, s = -1, and s = -2. The corresponding root locus features three branches originating at these poles and extending to infinity, as there are no finite zeros. One branch starts at the pole at s = -2 and extends leftward along the real axis to -∞. The other two branches start at s = -1 and s = 0, move toward each other along the real axis between -1 and 0, meet at a breakaway point near s ≈ -0.42, and then diverge into the complex plane as a pair of complex conjugates. The asymptotes, determined by the excess of poles over zeros (three), emanate from the centroid at s = -1 with angles of $60^\circ, $180^\circ, and -60^\circ.[33]
The following pseudocode outlines the implementation in MATLAB:
sys = tf([1], [1 3 2 0]);
rlocus(sys);
sys = tf([1], [1 3 2 0]);
rlocus(sys);
This generates the plot, where the locus crosses the imaginary axis at \pm j \sqrt{2} for K = 6, marking the onset of marginal stability; for K > 6, branches enter the right-half plane, indicating instability. To assess damping, select points on the locus (e.g., via interactive tools) where the angle from the negative real axis yields a desired damping ratio \zeta; for instance, dominant complex poles near the $45^\circ line correspond to \zeta \approx 0.707, guiding gain selection for oscillatory performance. In Python, the equivalent code is:
import control as ct
import matplotlib.pyplot as plt
sys = ct.tf([1], [1, 3, 2, 0])
ct.root_locus_plot(sys)
plt.show()
import control as ct
import matplotlib.pyplot as plt
sys = ct.tf([1], [1, 3, 2, 0])
ct.root_locus_plot(sys)
plt.show()
This approach enables rapid iteration in controller design, confirming stability margins and transient response characteristics for the system.[30][31][33]
Applications
Root locus analysis serves as a fundamental tool for evaluating the stability of linear time-invariant feedback control systems by visualizing the trajectories of closed-loop poles as the open-loop gain K varies from 0 to \infty. A system exhibits absolute stability if all branches of the root locus lie entirely within the left-half of the s-plane for the relevant range of K, ensuring that all closed-loop poles have negative real parts and thus produce bounded outputs for bounded inputs. If any portion of the locus enters the right-half plane, the system becomes unstable for those gain values, as poles with positive real parts lead to exponentially growing responses. This graphical assessment provides a direct and intuitive means to determine the range of K for which the system remains stable, distinct from frequency-domain methods like the Nyquist criterion, which assesses stability via encirclement of the critical [point -1](/page/Point_No._1) + j0 but does not explicitly plot pole movements.[20][2]
Beyond stability, root locus plots enable detailed performance analysis by relating closed-loop pole locations to key transient response metrics, particularly for systems dominated by complex conjugate pole pairs. The natural frequency \omega_n, which governs the speed of the oscillatory response, is determined by the magnitude of the dominant pole:
\omega_n = |s|
where s is the pole location. The damping ratio \zeta, indicative of the decay rate and overshoot, is given by
\zeta = -\frac{\Re(s)}{|s|}
with \Re(s) denoting the real part of s. Poles closer to the imaginary axis (smaller |\Re(s)|) yield lower damping, increasing oscillatory tendencies, while the distance to the imaginary axis correlates with gain margin, offering a measure of relative stability. For instance, a gain margin is larger when poles are farther left, providing robustness against gain perturbations. These pole-derived parameters allow engineers to predict and tune dynamic behavior without full time-domain simulation.[20]
Performance specifications such as percentage overshoot and settling time are estimated directly from dominant pole positions on the root locus, facilitating gain selection for desired responses. The approximate percentage overshoot for a second-order approximation is
\%OS \approx 100 \exp\left( -\frac{\zeta \pi}{\sqrt{1 - \zeta^2}} \right),
enabling selection of K to achieve targets like \zeta \approx 0.6 for roughly 10% overshoot, where the locus intersects lines of constant damping (rays at angle \cos^{-1} \zeta from the negative real axis). Settling time to within 2% of the final value is estimated as t_s \approx 4 / |\Re(s)|, emphasizing the need for sufficiently negative real parts to ensure rapid decay. By identifying points on the locus that satisfy both \zeta and \omega_n requirements—such as placing dominant poles at s = -\zeta \omega_n \pm j \omega_n \sqrt{1 - \zeta^2}—an optimal K is computed using the magnitude condition K = 1 / |G(s)H(s)| at that point, balancing responsiveness and damping.[20]
Despite its utility, root locus analysis is inherently limited to linear time-invariant systems, assuming constant parameters and neglecting nonlinearities, unmodeled dynamics, or time-varying effects that could alter actual stability and performance. It relies on second-order approximations for transient predictions, which hold only if nondominant poles are at least five times farther left than dominant ones and zeros do not significantly influence the response; otherwise, higher-order effects may invalidate estimates. These constraints highlight the method's role as a preliminary design tool rather than a comprehensive solution for complex or real-world systems.[20]
Controller design principles
Root locus analysis serves as a foundational tool in controller design by visualizing how closed-loop pole locations vary with gain, enabling engineers to select parameters that achieve desired stability and performance specifications such as damping ratio, settling time, and steady-state error.[34] In the design process, the root locus of the uncompensated plant is first sketched to identify limitations in achievable pole placements, after which compensators are added to reshape the locus iteratively until it passes through regions corresponding to the target dominant poles.[35] This approach leverages the angle and magnitude conditions to ensure the selected gain satisfies the characteristic equation while meeting transient response criteria like overshoot and phase margin.[36]
Lead and lag compensators are commonly designed using root locus to modify the open-loop pole-zero configuration and thus alter the trajectory of the locus. A lead compensator, typically of the form G_c(s) = K_c \frac{s + z}{s + p} with |z| < |p|, introduces a zero closer to the origin than its pole, pulling branches of the root locus to the left in the s-plane to increase damping and improve transient response speed.[36] Conversely, a lag compensator, where |z| > |p|, places the pole nearer the origin to boost low-frequency gain and reduce steady-state error with minimal impact on high-frequency transients, as the added pole-zero pair forms a dipole that slightly shifts the locus rightward.[35] Lead-lag combinations integrate both by first applying the lead portion for stability enhancement and then the lag for error reduction, ensuring the locus aligns with specifications like a velocity error constant K_v \geq 20.[37]
Proportional-derivative (PD) and proportional-integral (PI) controllers represent simplified dynamic compensators whose effects on the root locus facilitate targeted performance improvements. A PD controller, G_c(s) = K_p + K_d s = K_d (s + \frac{K_p}{K_d}), adds a zero near the origin that attracts locus branches leftward, enhancing damping and reducing overshoot in systems with insufficient phase margin.[34] In contrast, a PI controller, G_c(s) = K_p + \frac{K_i}{s} = \frac{K_i (s + \frac{K_p}{K_i})}{s}, introduces a pole at the origin and a zero nearby, extending low-frequency branches to eliminate steady-state error for step inputs by increasing the system type, though it may slow convergence if not tuned carefully.[37]
The iterative design process begins with analyzing the uncompensated system's locus to pinpoint deficiencies, such as branches entering the right half-plane or failing to achieve desired damping, then adds compensator poles and zeros to redirect the locus toward the specified region in the complex plane.[36] For instance, in gain scheduling for nonlinear or varying operating conditions, root locus insights guide the selection of gain values at multiple linearization points, varying K dynamically to maintain performance across regimes, as parameterized in networked PI implementations.[38] A representative case involves improving a second-order system like G(s) = \frac{1}{s(s+1)}, where the dominant pole at s = 0 leads to a slow response; a PD controller places a zero at approximately s = -3.6 to reshape the locus, yielding dominant poles at approximately s = -3.1 \pm j4.2 for a damping ratio \zeta \approx 0.59 and settling time ≈1.5 seconds.[37]
Extensions
Discrete-time systems (z-plane)
In discrete-time systems, the root locus technique is adapted to the z-plane, where the characteristic equation takes the form $1 + z^{-1} G(z) H(z) = 0, with G(z) representing the discrete plant transfer function and H(z) the feedback, incorporating the inherent one-sample delay from digital computation and zero-order hold.[39] Alternatively, for systems expressed via difference equations, it can be written as z^N + K \cdot \text{num}(z) = 0, where N is the system order and \text{num}(z) is the numerator polynomial scaled by gain K.[40] This formulation allows analysis of closed-loop pole locations as K varies from 0 to \infty.
The root locus in the z-plane begins at the open-loop poles when K = 0, often including a pole at z = 1 for systems with steady-state tracking requirements, such as those incorporating an integrator, and terminates at the open-loop zeros or extends to infinity if there are fewer zeros than poles.[41] Unlike the s-plane, stability requires all closed-loop poles to lie inside the unit circle, defined by |z| < 1, ensuring bounded responses to bounded inputs.[42] The construction rules mirror those in the continuous domain, with loci symmetric about the real axis and the number of branches equal to the system order, but interpretation focuses on encirclements of the unit disk rather than the imaginary axis.[39]
The angle and magnitude conditions for points on the locus are analogous, requiring \angle G(z) H(z) = \pm 180^\circ (2k + 1) for integer k, while the magnitude condition is |z^{-1} G(z) H(z)| = 1/K.[40] This z-plane behavior arises from the mapping z = e^{sT}, where T is the sampling period, transforming s-plane stability regions into curved spirals within the unit disk.[41] Key differences include potential circular trajectories of branches around the unit disk due to the exponential mapping, contrasting the linear asymptotes in the s-plane. To emulate continuous designs, the bilinear transform s = \frac{2}{T} \frac{z-1}{z+1} warps the z-plane onto the s-plane, mapping the unit circle to the imaginary axis and facilitating direct application of s-domain tools like Routh-Hurwitz criteria.[43]
A representative example is a digital velocity control system with plant poles at z=0.5 and z=1 (including an integrator), compensated by adding a zero at z=0.2, yielding the open-loop transfer function G(z) = \frac{K (z-0.2)}{(z-0.5)(z-1)}. The root locus starts at the open-loop poles and curves inside the unit circle as K increases, with the added zero shifting the locus to allow stable pole placement. For instance, at K \approx 0.27, a damping ratio \zeta \approx 0.7 is achieved, with roots at a distance of approximately 0.66 from the origin, providing desired settling times while maintaining stability inside the unit disk.[44]
Multivariable root locus
In multi-input multi-output (MIMO) systems, the root locus technique is generalized to analyze the migration of closed-loop poles as feedback gains vary, providing insights into stability and performance beyond the single-input single-output (SISO) case. The fundamental setup involves the open-loop transfer function matrix G(s) \in \mathbb{C}^{m \times p}, where m is the number of outputs and p the number of inputs, and a constant gain matrix K \in \mathbb{R}^{p \times m}. The characteristic equation defining the closed-loop poles is \det(I + K G(s)) = 0, where I is the identity matrix of appropriate dimension. This equation determines the values of the complex variable s for which the system has poles, and the root locus traces these poles as elements of K are scaled or varied. Equivalently, the loci correspond to the points s where the eigenvalues of -G(s) equal the negative reciprocals of the eigenvalues of K, or more precisely, the locus of the eigenvalues of -G(s)^{-1} as the gain parameter changes.[45][46]
The generalized root locus plots the trajectories of these closed-loop eigenvalues in the complex plane as a scalar gain k > 0 multiplies G(s) (i.e., K = k I) or as a full matrix gain K varies along parameterized paths, such as constant singular values or structured updates. In Evans' form adapted for MIMO systems, the locus is characterized by solving \det(\lambda I + G(s)) = 0 for \lambda = 1/k, where the branches represent the values of s satisfying this generalized eigenvalue problem for varying \lambda. This formulation highlights the spectral nature of the analysis, treating the root locus as the preimage under G(s) of the negative real axis in the eigenvalue plane, analogous to the SISO condition G(s) = -1/k. Unlike SISO loci, which consist of n distinct branches for an n-th order system, MIMO loci can exhibit multiplicity and interdependence due to the matrix structure.[45][46]
Key challenges in multivariable root locus analysis arise from the non-unique branching of loci, which may form closed loops or reside on multi-sheeted Riemann surfaces rather than simple curves, complicating manual sketching and numerical computation. Loop interactions further exacerbate this, as changes in one feedback channel can influence distant poles through cross-coupling, leading to unanticipated eigenvalue migrations that affect overall system coordination. To mitigate these issues and enhance robust design, singular value decomposition (SVD) is employed on the return difference I + K G(s), decomposing the gain influence into principal directions and magnitudes; this allows assessment of the minimum singular value for stability margins and identification of sensitive directions for gain scheduling.[46][47]
Applications of the multivariable root locus are prominent in modern control, particularly for state feedback design, where the loci guide the selection of K to assign eigenvalues for specified damping ratios and natural frequencies in high-order systems. In linear quadratic regulator (LQR) synthesis, the technique approximates optimal gain selection by tracing eigenvalue paths under quadratic cost variations, revealing trade-offs in state weighting without full Riccati solutions; for instance, it highlights how increased control effort shifts loci toward more stable regions while respecting actuator limits. These tools are especially valuable in aerospace and process control, where MIMO interactions demand precise pole placement for robust performance.[46][47]