Root locus definition
The root locus method is a graphical technique for understanding how a closed-loop system's behavior changes as you vary a parameter, usually the loop gain . It plots the paths that closed-loop poles trace across the s-plane as goes from 0 to infinity.
This matters because pole locations directly control whether your system is stable, how fast it responds, and how much it oscillates. Instead of recalculating poles for every possible gain value, the root locus gives you the full picture at once.
Open-loop vs. closed-loop transfer functions
The open-loop transfer function describes the system's forward path multiplied by the feedback path, with the loop "broken open." There's no feedback acting on the input yet.
The closed-loop transfer function connects output back to input. For a standard negative-feedback system with forward path and feedback path , the closed-loop transfer function is:
The denominator is the characteristic equation. Its roots are the closed-loop poles, and those are exactly what the root locus tracks.
Poles and zeros
- Poles are values of where the transfer function goes to infinity (roots of the denominator). Marked with × on the s-plane.
- Zeros are values of where the transfer function equals zero (roots of the numerator). Marked with ○ on the s-plane.
Poles govern the system's natural modes of response: each pole contributes an exponential or oscillatory term to the time-domain output. Zeros shape how much each mode gets excited and can bend the root locus paths.
S-plane analysis
The s-plane is the complex plane where every point represents a complex frequency .
- The horizontal axis () corresponds to exponential growth or decay. Negative means the response decays over time.
- The vertical axis () corresponds to oscillation frequency.
The key stability rule: poles in the left-half plane (LHP) produce stable, decaying responses. Poles in the right-half plane (RHP) produce unstable, growing responses. Poles exactly on the imaginary axis produce sustained oscillations.
Root locus plotting rules
These rules let you sketch a root locus by hand without solving the characteristic equation for every value of . Mastering them also builds intuition for how pole locations shift when you change system parameters.
Number of branches
The number of branches equals the number of open-loop poles (the order of the characteristic equation). Each branch traces one closed-loop pole's path as increases from 0 to .
Symmetry
The root locus is always symmetric about the real axis. This follows directly from the fact that polynomial coefficients are real, so complex roots must appear in conjugate pairs.
Starting and ending points
- Branches start at the open-loop poles (at ).
- Branches end at the open-loop zeros (as ).
If there are more poles than zeros (which is typical), the extra branches head toward infinity along asymptotes. The number of branches going to infinity equals , where is the number of poles and is the number of zeros.
Real-axis segments
A point on the real axis belongs to the root locus if the total number of real-axis open-loop poles and zeros to its right is odd. Complex poles and zeros don't count for this rule since their angle contributions cancel in conjugate pairs.
Asymptotes and centroid
For the branches heading to infinity, asymptotes tell you the direction they travel.
- Number of asymptotes:
- Centroid (where asymptotes intersect the real axis):
- Asymptote angles:
For example, if , the three asymptote angles are , , and .

Angles of departure and arrival
These angles describe the direction a branch initially leaves a complex pole or approaches a complex zero. They're found using the angle condition of the root locus (the total angle contribution from all poles and zeros to a point on the locus must equal an odd multiple of ).
- Departure angle from a complex pole :
- Arrival angle at a complex zero :
A common mistake: forgetting to exclude the pole (or zero) you're computing the angle for from the summation.
Intersection with the imaginary axis
The gain values where branches cross the imaginary axis mark the boundary between stable and unstable operation. You can find these crossings by:
- Substituting into the characteristic equation .
- Separating real and imaginary parts and solving for and .
Alternatively, apply the Routh-Hurwitz criterion to the characteristic polynomial and find the value of that makes a row of zeros appear. The auxiliary polynomial then gives the crossing frequency.
Root locus sketching procedure
Here's the step-by-step process for drawing a root locus by hand:
- Find open-loop poles and zeros. Factor the numerator and denominator of . Plot poles (×) and zeros (○) on the s-plane.
- Count branches. The number of branches equals the number of open-loop poles.
- Mark real-axis segments. Shade portions of the real axis that lie to the left of an odd total count of real poles and zeros.
- Compute asymptotes. Calculate the centroid and asymptote angles . Draw the asymptotes as dashed lines from the centroid.
- Find departure and arrival angles. Use the angle condition at each complex pole and zero.
- Find breakaway and break-in points. These occur where branches leave or rejoin the real axis. Solve for the roots of , where is expressed in terms of from the characteristic equation. Only solutions that lie on the real-axis segments of the root locus are valid.
- Find imaginary-axis crossings. Use Routh-Hurwitz or direct substitution of .
- Sketch the locus. Connect the dots: branches start at poles, follow real-axis segments, break away at breakaway points, follow departure angles from complex poles, approach asymptotes or zeros, and cross the imaginary axis where calculated.
Root locus applications
Stability analysis
The root locus directly shows you the range of gain for which the system is stable. As long as all branches remain in the LHP, the system is stable. The gain at which a branch crosses into the RHP is the critical gain (or ultimate gain). Exceeding it makes the system unstable.
Dominant poles
Not all closed-loop poles affect the response equally. Dominant poles are the ones closest to the imaginary axis because they correspond to the slowest-decaying modes, which dominate the transient response. Poles far to the left decay quickly and contribute little to the output after a short time.
When analyzing root locus plots, focus on where the dominant poles end up for your chosen gain.
Transient response
Pole locations on the s-plane map directly to time-domain characteristics:
- Distance from the imaginary axis () controls how fast the response decays. Farther left means faster settling.
- Distance from the real axis () controls oscillation frequency.
- Angle from the negative real axis relates to the damping ratio . Specifically, where is measured from the negative real axis.
By choosing so that the dominant poles sit at a specific location, you can target a desired rise time, overshoot, or settling time.
Steady-state error
Steady-state error depends on the system type (the number of open-loop poles at the origin). The root locus itself doesn't directly show steady-state error, but it helps you understand the tradeoff: increasing generally reduces steady-state error but can push poles toward instability or increase overshoot.
- Type 0 system: Finite steady-state error to a step input, equal to
- Type 1 system: Zero steady-state error to a step, finite error to a ramp
- Type 2 system: Zero error to both step and ramp inputs
Gain selection for desired performance
The root locus is ultimately a design tool. The typical workflow:
- Identify the desired closed-loop pole locations based on transient response specs (e.g., a damping ratio of and a natural frequency of rad/s).
- Check whether those locations lie on the root locus.
- If they do, read off the corresponding gain using the magnitude condition: evaluated at the desired pole location.
- If they don't, you'll need to add compensation (see next section).

Root locus in control system design
When gain adjustment alone can't place poles where you need them, you reshape the root locus by adding compensators. These modify the open-loop transfer function, effectively adding new poles and/or zeros that pull the locus into a more favorable region.
Lead compensation
Lead compensators improve transient response by adding phase lead near the crossover frequency. The transfer function has the form:
The zero is closer to the origin than the pole. On the root locus, this pulls branches to the left, increasing stability margins and allowing higher bandwidth. Use lead compensation when you need faster response or reduced overshoot.
Lag compensation
Lag compensators improve steady-state accuracy by boosting low-frequency gain without significantly affecting transient response. The transfer function is:
Here the pole is closer to the origin than the zero. The pole-zero pair is placed close together near the origin, so it barely changes the root locus shape but increases the DC gain. Use lag compensation when steady-state error is too large but transient response is already acceptable.
PID controller tuning
A PID controller combines proportional, integral, and derivative action:
This adds one pole at the origin (from the integral term) and two zeros (from the numerator). Using root locus, you can:
- Place the two zeros to pull the locus into the desired region
- Adjust the overall gain to position the closed-loop poles at target locations
- Observe how each gain (, , ) shifts the zero locations and reshapes the locus
Cascade compensation
Cascade compensation places the compensator in series with the plant. The overall open-loop transfer function becomes , where is the compensator.
In practice, you often combine lead and lag stages into a lead-lag compensator to simultaneously improve transient response and steady-state accuracy. The design process involves iterating on the root locus: add the compensator poles and zeros, re-sketch the locus, and verify that the desired closed-loop pole locations are achievable.
Root locus software tools
Hand-sketching builds intuition, but software handles the precision work. These tools plot exact root loci, let you click on the locus to read gain values, and support interactive compensator design.
MATLAB and Control System Toolbox
MATLAB is the most widely used environment for control system design in both academia and industry.
rlocus(sys)plots the root locus of a system modelrlocfind(sys)lets you click on the plot to find the gain and pole locations at that pointsisotool(sys)opens an interactive GUI for designing compensators by dragging poles and zeros on the root locus
LabVIEW and Control Design Toolkit
LabVIEW uses a graphical (block diagram) programming approach. The Control Design Toolkit provides VIs such as CD Draw Root Locus and CD Root Locus Analysis Express VI for plotting and analyzing root loci within LabVIEW's visual environment. This is common in labs that already use National Instruments hardware.
Python Control Systems Library
The python-control library is a free, open-source alternative. Key functions include:
control.root_locus(sys)for plottingcontrol.rlocus(sys)as an aliascontrol.sisotool(sys)for interactive design (availability depends on version)
Python is a good choice if you want to integrate root locus analysis into larger scripts or don't have access to MATLAB licenses.