ADRC tuning sandbox

A simulated drone rate loop using active disturbance rejection control (ADRC). Drag the sliders to see how controller bandwidth, observer bandwidth, and the nominal control gain change the step response and recovery after an applied disturbance. An oscillation is injected at t = 2.5s as a disturbance. The simulation is qualitative and to build an intuition for how each parameter affects the controller, not to predict real flight behavior, so the conditions are deliberately unitless.

Step response: full run

  • Plant output (y)
  • Reference (r)
  • Disturbance starts

Step response: zoom (−0.5 to 0.5 s)

  • Plant output (y)
  • ESO estimate (z1)
  • Reference (r)

Disturbance response: zoom (2.5 to 3 s)

  • Plant output (y)
  • ESO estimate (z1)
  • Reference (r)

Control effort: full run

  • Command (u)
  • Motor output (u after lag)