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 3
+
+
+
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

UNSTABLE
Closed-loop poles-20.01, -2.122, -1.057, 0.09283 + 0.6609j, 0.09283 − 0.6609j
Right-half-plane poles2
Dominant pole(s)0.09283 + 0.6609j, 0.09283 − 0.6609j
Steady-state step errorNot defined
Phase margin-17.39 °
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.

The closed loop is not asymptotically stable, so no finite steady-state error exists.

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

(0.15s² + 1.05s + 1) / (0.05s⁵ + 1.15s⁴ + 3.1s³ + 2s²)

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

(0.15s² + 1.05s + 1) / (0.05s⁵ + 1.15s⁴ + 3.1s³ + 2.15s² + 1.05s + 1)

SensitivityS = 1/(1+L)

(0.05s⁵ + 1.15s⁴ + 3.1s³ + 2s²) / (0.05s⁵ + 1.15s⁴ + 3.1s³ + 2.15s² + 1.05s + 1)

Complementary sensitivityT = L/(1+L)

(0.15s² + 1.05s + 1) / (0.05s⁵ + 1.15s⁴ + 3.1s³ + 2.15s² + 1.05s + 1)

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

(0.15s⁵ + 1.5s⁴ + 4.45s³ + 5.1s² + 2s) / (0.05s⁵ + 1.15s⁴ + 3.1s³ + 2.15s² + 1.05s + 1)

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

(0.05s² + s) / (0.05s⁵ + 1.15s⁴ + 3.1s³ + 2.15s² + 1.05s + 1)

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

(− 0.15s² − 1.05s − 1) / (0.05s⁵ + 1.15s⁴ + 3.1s³ + 2.15s² + 1.05s + 1)

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[%]14.46—not comparable
Settling time (2%)[s]12.5—not comparable
Rise time (10%–90%)[s]2.68—not comparable
Steady-state step error[–]0—not comparable
Phase margin[°]53.41-17.39-70.81
Gain margin[dB]15.56—not comparable
Closed-loop bandwidth[rad/s]0.7966—not comparable
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 controller makes the closed loop unstable; the baseline loop was asymptotically stable.
  • · Phase margin drops from 53.41° to -17.39° — less damping in reserve.

Suggested starting point (optional)

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

Sustained oscillation occurs at Ku = 6.000 with ω = 1.414 rad/s, so Tu = 4.443 s.

Ultimate gain Ku6
Oscillation frequency ω1.414 rad/s
Ultimate period Tu = 2π/ω4.443 s
  • · 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 ×-20.00601
Pole ×-2.122301
Pole ×-1.057501
Pole ×0.092830.660921
Pole ×0.09283-0.660921

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

  • ⚠ Note 2 pole(s) lie in the open right half-plane: the response grows without bound.
  • · Info The loop phase never reaches -180° (modulo 360°) inside the evaluated range: no finite gain margin is defined here.
  • ⚠ Note Repeated poles on the imaginary axis produce a response growing like t: this is unstable, not marginally 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