Dynamics & Control · Lab
Root Locus Lab
Enter the base system G(s) as polynomial coefficients or directly as ω_n and ζ, then move the scalar gain. The locus shows where the closed-loop poles of 1 + K·G(s) = 0 travel; the panels show exactly what the current gain does to stability and to the response.
Base system G(s)
loop L(s) = K · G(s) with K = 1
characteristic equation 1 + K·G(s) = 0 → D(s) + K·N(s) = 0
closed loop T(s) = K·N(s) / [D(s) + K·N(s)]
Gain K
Read as the classical locus parameter: the swept scalar multiplies G(s) in L(s) = K·G(s). Switch to proportional control to read the same number as a controller gain.
Range in use: 0 … 1000. The automatic range is large enough for finite-zero convergence and asymptotic behaviour, and it always contains every stability crossing that was found.
Current lower bound 0.
Root-locus properties
| Branches (n) | 2 |
|---|---|
| Finite zeros (m) | 0 |
| Branches to infinity (n − m) | 2 |
| Asymptote centroid σ_a | 0 |
| Asymptote angles | 90°, 270° |
Open-loop poles and zeros
- × pole s = 0 + 1.414j
- × pole s = 0 − 1.414j
- No finite zeros.
Real-axis segments
- No part of the real axis is on the locus.
Breakaway / break-in points (0)
- No verified break point: dK/ds = 0 has no real solution on a positive-gain segment here.
Rejected candidates (1)
- s = 0 · rejected — Not on a positive-K real-axis locus segment.
Departure and arrival angles
- departure from 0 + 1.414j · 90°
- departure from 0 − 1.414j · 270°
Key points
- ✕ open-loop pole s = 0 + 1.414j
- ✕ open-loop pole s = 0 − 1.414j
- 2 branch(es) leave along the asymptotes from σ_a = 0
- None on the positive-gain locus.
- None in the gain range examined: the locus stays on one side of Re(s) = 0.
Angle and magnitude conditions
Angle condition. A point s belongs to the positive-K locus when the open-loop phase satisfies ∠G(s) = (2l + 1)·180° — the phase contributed by the zeros minus the phase contributed by the poles is an odd multiple of 180°.
Magnitude condition. The gain at such a point follows from |K·G(s)| = 1, i.e. K = 1/|G(s)|. Every branch point plotted here obeys both conditions by construction: it is a root of D(s) + K·N(s).
Root locus — 1 + K·G(s) = 0
- ✕ open-loop poles (2)
- ■ closed-loop poles at K = 1
- — locus branches
- ┄ asymptotes
- ✛ centroid σ_a = 0
- ┆ stability boundary Re(s) = 0; shaded side is unstable
Closed-loop poles at the current gain
| Gain K | 1 |
|---|---|
| Closed-loop verdict | Marginally stable |
| Right-half-plane poles | 0 |
| Imaginary-axis poles | 2 |
| Dominant Re(s) | 0 |
| Pole | Re(s) | Im(s) | Half-plane |
|---|---|---|---|
| ■ 1 | 0 | 1.732 | On the axis |
| ■ 2 | 0 | -1.732 | On the axis |
| Regime | Undamped (ζ = 0) |
|---|---|
| ω_n | 1.732 rad/s |
| ζ | 0 |
| ω_d | 1.732 rad/s |
| Percent overshoot | Not defined |
| Settling time (2%, envelope) | Not applicable in this regime |
These metrics are reported only because the closed loop really is the canonical second-order form here: a degree-2 characteristic polynomial with no closed-loop zero. Add a zero or a third pole and they disappear rather than being approximated.
Closed-loop response T(s) = K·G/(1 + K·G)
| Final value y∞The final-value theorem requires every pole of s·Y(s) in the open left half-plane; this system is not asymptotically stable, so no finite steady state exists. | Not applicable |
|---|---|
| Peak value | 0.6667 |
| Peak time | 16.32 s |
| Percent overshootThe final-value theorem requires every pole of s·Y(s) in the open left half-plane; this system is not asymptotically stable, so no finite steady state exists. | Not applicable |
| Settling time (2%)The final-value theorem requires every pole of s·Y(s) in the open left half-plane; this system is not asymptotically stable, so no finite steady state exists. | Not applicable |
| Settling time (5%)The final-value theorem requires every pole of s·Y(s) in the open left half-plane; this system is not asymptotically stable, so no finite steady state exists. | Not applicable |
| Rise time (10%–90%)The final-value theorem requires every pole of s·Y(s) in the open left half-plane; this system is not asymptotically stable, so no finite steady state exists. | Not applicable |
Stability range in K
- 0 ≤ K (up to the largest gain examined) · marginal
- No crossing was found in the gain range examined.
This system has no special gain to jump to.
These are computed landmarks, not recommendations: root locus is an analysis tool and there is no universal optimal gain.
Loop frequency summary — L(s) = K·G(s)
| Gain crossover ω_gc | 1.732 rad/s |
|---|---|
| Phase margin | 0° |
| Gain margin | 0.5346 dB |
The full Bode and Nyquist workspace lives in the Transfer Function Lab; this is a compact reading of the current loop only.
Continue with this system
The current model travels with the link; nothing is re-entered and nothing opens on its own.
The gain travels as part of the loop numerator, so it means the same thing in every workspace: the loop analysed there is exactly K·G(s), while the plant links carry the untouched G(s).
Diagnostics
Diagnostics
- · Info Simple poles on the imaginary axis give a bounded, non-decaying mode: the system is marginally stable, not asymptotically stable.
- ⚠ Note More than 20 -180° crossings were found in this range; only the first 20 are listed. Narrow the frequency range to inspect the rest.
- ⚠ Note The loop magnitude crosses 0 dB at 2 frequencies, so a single phase margin does not characterise it. Every candidate is listed.
- ⚠ Note The loop phase crosses -180° (modulo 360°) at 20 frequencies, so several gain-margin candidates exist.
What this Lab models
The closed-loop pole trajectories of 1 + K·G(s) = 0 as the scalar gain K varies: real-axis segments, asymptotes, breakaway points, imaginary-axis crossings, the stable gain interval(s) and the resulting closed-loop response at the selected K.