Real plants never match their nominal models. External loads, friction, actuator nonlinearities, and parameter drift inject unmodeled energy into the loop. A Disturbance Observer (DOB) lumps all of these effects into a single equivalent disturbance signal, estimates it online, and subtracts it from the control input so the plant behaves as if it were the clean nominal model.
The key insight is that the DOB wraps around any existing controller without redesigning it. An engineer who has already tuned a PID or LQR for the nominal plant can bolt on a DOB and gain strong disturbance rejection without revisiting the nominal design. This makes DOBs especially attractive for embedded motion controllers — motor drives, precision stages, robotic joints — where the plant is moderately well-known but subject to load variations the nominal model ignores.
Let the true discrete-time plant be
If
Subtracting the actual commanded input
The plant inverse
The filter
The DOB corrects the nominal controller output
The closed-loop system then sees an effective plant of
Let
Inside the Q-filter passband (
Robust stability requires the complementary sensitivity of the inner DOB loop to satisfy
where
| Operation | Time | Space | Notes |
|---|---|---|---|
| Construct | DC gain simulation, |
||
| Compute |
|
Per-channel biquad filter pair | |
| Reset |
|
Clears filter states |
All storage is fixed-size; no heap allocation occurs at any point in the lifecycle.
Consider a first-order discrete plant (
Steady-state with constant disturbance
- Plant output settles to
$y_{ss} = P(1),d = 1 \cdot 0.5 = 0.5$ . - Q-filter path 1:
$Q(1),P_n^{-1}(1),y_{ss} = 1 \cdot 1 \cdot 0.5 = 0.5$ . - Q-filter path 2:
$Q(1),u_{ss} = 1 \cdot (c - \hat{d})_{ss}$ . - At equilibrium path 1
$-$ path 2$= \hat{d}$ and$u_{ss} = c - \hat{d}$ , giving$\hat{d} = 0.5 = d$ . The estimate converges exactly. - The corrected input is
$u = 0 - 0.5 = -0.5$ , so the effective input to the plant is$-0.5 + 0.5 = 0$ — the disturbance is cancelled.
-
Non-minimum-phase plants:
$P_n^{-1}(z)$ has unstable poles when$P_n$ has zeros outside the unit circle. The DOB inner loop becomes unstable; non-minimum-phase zeros must be treated specially or the DOB must not be applied directly. - DC gain of zero: if the nominal plant has no steady-state response to the input, the inverse gain is ill-defined. The implementation guards against division by zero but the DOB will not function correctly.
- Wide Q bandwidth: increasing the cutoff trades rejection bandwidth for noise amplification and reduced robustness to model mismatch. The trade-off is captured by the robust-stability bound above.
-
Large model mismatch: when
$|\Delta_m|$ is not small, the DOB may amplify rather than cancel the disturbance. The bandwidth of$Q$ must be restricted so the robustness condition holds across the frequency range of significant mismatch. - Unstable nominal plant: the steady-state DC-gain simulation used during construction diverges; only stable nominal plants are supported.
- Two-degree-of-freedom DOB: a separate reference pre-filter shapes the tracking response independently of the disturbance rejection channel.
- Nonlinear DOB: replaces the linear inverse with a nonlinear observer (e.g., extended high-gain observer) for plants with known nonlinear structure.
- Time-varying Q: adapts the Q-filter bandwidth online to balance rejection versus robustness as operating conditions change.
-
Multi-input multi-output (MIMO) DOB: generalises the scalar channel-pairing to full matrix
$P_n^{-1}$ , requiring the nominal plant to be square and invertible.
- Precision motion control: rejects cutting forces in CNC machines and friction in ball-screw drives.
- Robotic joint torque control: cancels gravity, Coriolis, and friction terms without explicit model inversion.
- Hard-disk drive servo: one of the earliest industrial applications; Q-filter bandwidth sets the track-following bandwidth.
- Power electronics: rejects grid-voltage disturbances in inverter current control.
- Sliding Mode Control: an alternative approach to matched-disturbance rejection via a switching term; SMC is discontinuous and model-free while the DOB is smooth and model-based.
- Luenberger Observer / Kalman Filter: estimate state from measurements; the DOB estimates disturbance from input-output pairs without augmenting the state.
- Active Disturbance Rejection Control (ADRC): treats total disturbance as an augmented state in a full observer; conceptually similar to DOB but parameterised through observer bandwidth rather than a Q-filter.
- BiquadCascade: the Q-filter is realised directly as a second-order IIR section.
- W.-H. Chen, J. Yang, L. Guo, S. Li, "Disturbance-Observer-Based Control and Related Methods — An Overview," IEEE Transactions on Industrial Electronics, 63(2), pp. 1083–1095, 2016.
- K. Ohishi, M. Nakao, K. Ohnishi, K. Miyachi, "Microprocessor-Controlled DC Motor for Load-Insensitive Position Servo System," IEEE Transactions on Industrial Electronics, 34(1), pp. 44–49, 1987.
- E. Schrijver, J. van Dijk, "Disturbance Observers for Rigid Mechanical Systems: Equivalence, Stability, and Design," ASME Journal of Dynamic Systems, Measurement, and Control, 124(4), pp. 539–548, 2002.
- S. Komada, K. Ohnishi, "Force Feedback Control of Robot Manipulator by the Acceleration Tracing Orientation Method," IEEE Transactions on Industrial Electronics, 37(1), pp. 6–12, 1990.