Dynamics & Control · Lab

Control Design Lab

Put a controller in front of a plant and see exactly what it costs and what it buys. Every number here comes from the same time, frequency, stability and root-locus engines used elsewhere — nothing is tuned automatically, and nothing is declared optimal.

Plant G(s) = N(s) / D(s)

Numerator N(s) · degree 0
Denominator D(s) · degree 2
+
+
Examples

Controller C(s)

Controller type

The slider is logarithmic from 10⁻³ to 10³; the field accepts any value.

The slider is logarithmic from 10⁻³ to 10³; the field accepts any value.

The slider is logarithmic from 10⁻³ to 10³; the field accepts any value.

Term Kd·s/(1 + s/N). Filter time constant τ = 1/N = 0.05 s; limiting high-frequency derivative gain Kd·N = 2.

Design requirements

Requirements are treated as constraints, not as a promise. Each enabled requirement is checked against the numbers the engines produced for the controller you chose. Several requirements can be mutually unsatisfiable; nothing here searches for a design.

Closed-loop verdict

ASYMPTOTICALLY STABLE
Closed-loop poles-5.896 + 17.18j, -5.896 − 17.18j, -11.69, -0.5185
Right-half-plane poles0
Dominant pole(s)-0.5185, -5.896 + 17.18j
Steady-state step error0
Phase margin46.1 °
Gain marginNo phase crossover

The verdict is the direct classification of the roots of 1 + C(s)G(s)H(s) = 0 for this exact configuration — not an inference from the root-locus crossing scan.

Controller

C(s) = Kp + Ki/s + Kd·s/(1 + s/N)

Controller numerator0.15s² + 1.05s + 1
Controller denominator0.05s² + s
FormBiproper — direct feedthrough
Controller poles0, -20
Controller zeros-1.137, -5.863
Derivative filter τ = 1/N0.05 s
High-frequency derivative gain Kd·N2

Loop channels

Loop transferL = C·G·H

(15s² + 105s + 100) / (0.05s⁴ + 1.2s³ + 9s² + 100s)

Reference to outputY/R = C·G/(1+L)

(15s² + 105s + 100) / (0.05s⁴ + 1.2s³ + 24s² + 205s + 100)

SensitivityS = 1/(1+L)

(0.05s⁴ + 1.2s³ + 9s² + 100s) / (0.05s⁴ + 1.2s³ + 24s² + 205s + 100)

Complementary sensitivityT = L/(1+L)

(15s² + 105s + 100) / (0.05s⁴ + 1.2s³ + 24s² + 205s + 100)

Reference to controlU/R = C/(1+L)

(0.15s⁴ + 1.65s³ + 20.2s² + 109s + 100) / (0.05s⁴ + 1.2s³ + 24s² + 205s + 100)

Plant-input disturbance to outputY/D = G/(1+L)

(5s² + 100s) / (0.05s⁴ + 1.2s³ + 24s² + 205s + 100)

Measurement noise to outputY/N = −L/(1+L)

(− 15s² − 105s − 100) / (0.05s⁴ + 1.2s³ + 24s² + 205s + 100)

All seven channels share the closed-loop characteristic polynomial Dc·Dg·Dh + Nc·Ng·Nh, so S + T = 1 holds identically. Y/R and T coincide only when H(s) = 1. The disturbance d is additive at the PLANT INPUT, before G(s); the noise n is added to the measurement inside the feedback path. U/R is linear control effort — no actuator limit is modelled.

Uncontrolled versus controlled

QuantityBaseline C = 1ControlledChange
Percent overshoot[%]62.59—not comparable
Settling time (2%)[s]1.86—not comparable
Rise time (10%–90%)[s]0.08336—not comparable
Steady-state step error[–]0.50-0.5
Phase margin[°]32.8646.1+13.24
Gain margin[dB]——not comparable
Closed-loop bandwidth[rad/s]21.660.69-20.97
Peak control effort |u|[–]——not comparable

The baseline is the SAME plant and the SAME feedback path with C(s) = 1, measured over the SAME simulated horizon. A change is not automatically an improvement.

What this controller traded

  • · The steady-state step error is driven to zero (it was 0.5000).
  • · Closed-loop bandwidth falls from 21.66 to 0.6900 rad/s — a slower loop.
  • · Phase margin improves from 32.86° to 46.10°.

Suggested starting point (optional)

Ziegler–Nichols, ultimate-cycle (continuous-cycling) rule

This plant has no sustained-oscillation condition under proportional control: the closed-loop poles never cross the imaginary axis at a non-zero frequency for K > 0 in the range examined. The Ziegler–Nichols ultimate-cycle rule has no Ku or Tu here and is not applied.

  • · Ziegler–Nichols ultimate-cycle rule, applied to the parallel form C(s) = Kp + Ki/s + Kd·s.
  • · Ku and Tu are read from the imaginary-axis crossing of the proportional-only unity-feedback loop, not estimated from a test.
  • · The rule is empirical and was derived for self-regulating process plants; it is not an optimum and offers no margin guarantee.
  • · The classical PID row is tuned for roughly quarter-amplitude decay and typically gives a large overshoot.
  • · Any proposal must be verified with the actual time, frequency and stability results before it is trusted.

Applying a row only writes the parameters. It does not verify anything: the resulting loop is then evaluated by the same time, frequency and stability engines as any hand design, and it is not claimed to be optimal.

Closed-loop poles and zeros

poles = × · zeros = ○ · dashed line = imaginary axis
Numeric poles and zeros
RootRe(s)Im(s)Multiplicity
Pole ×-5.895817.1821
Pole ×-5.8958-17.1821
Pole ×-11.6901
Pole ×-0.5184801

Continue with this system

The current model travels with the link; nothing is re-entered and nothing opens on its own.

The plant travels; the controller you tuned here does not, because none of these workspaces has a controller to receive it.

Notes and limitations

Diagnostics

  • ✕ Error The requested horizon needs more integration steps than the safety limit allows; use a shorter horizon or a larger maxStepSec.
  • · Info The loop phase never reaches -180° (modulo 360°) inside the evaluated range: no finite gain margin is defined here.
  • · Info Simple poles on the imaginary axis give a bounded, non-decaying mode: the system is marginally stable, not asymptotically stable.

Continuous-time, linear, time-invariant, single-input single-output. No time delay, actuator saturation, anti-windup, discretization, plant uncertainty model or automatic optimization is included. The controller you see is the controller that was evaluated.

What this Lab models

A continuous-time SISO feedback loop built from a plant G(s), a classical controller C(s) — P, PI, PD, PID with optional filtered derivative, or lead, lag and lead-lag compensation — and an optional non-unity measurement path H(s), evaluated across time response, frequency response, root locus, sensitivity S and complementary sensitivity T, and explicit design requirements.

Related calculations