Module 04 — Control
Take the damping out and watch it panic
The card below is being held by a control loop — the same one that moves everything else on this site. It is chasing a target that keeps moving; on a desktop, your pointer takes over the moment you move it. Pull Damping to zero and watch it hunt for the target and keep missing. Nothing here is an animation of a control system. It is one.
Drag inside to command it
Three terms
kp — How hard it pulls when it's off target. More is faster — and more overshoot.
kd — Resists sudden movement. The only thing stopping it from ringing. Take it to zero.
ki — Notices when it has been off target for a while and pushes harder. Without it the card hangs below your cursor forever.
What that means
Damping0.67ζ
overshoots a little, then settles — confident
Speed10.5ωₙ rad/s
pulls with a firm hand
Margin5.9×
How much integral action it could still take before running away.
Damping is read from the real closed loop, not the textbook formula — integral action takes damping away, and the approximation everyone quotes does not show it.
Measured response
Commanded position dashed, measured position solid. This is sampled off the running loop — not a drawing of what it should look like.
The target
Three conditions. Each one needs a different term, which is why they fight.
- Settles within 300 ms—
- Overshoot under 5 %—
- Final offset under 3 px—
Run a step test to measure the response against the target.
The controller behind this is back-calculation anti-windup, derivative-on-measurement, output saturation, and its step response is unit-tested against exp(−πζ/√(1−ζ²)). Stability comes from Routh–Hurwitz on the full cubic, so the margin above is exact rather than estimated. The full instrument is here if you want every knob, including the ones that break it.