Case 14 / Robust control
Quadrotor PD and LADRC control study
A nonlinear quadrotor simulation comparing cascaded PD and linear active disturbance rejection control, from vehicle modelling to discrete controller implementation.
Nonlinear simulation · disturbance tests · MATLAB S-functionsVehicle modelling, controller design and discrete implementation
What changes when an observer estimates disturbance effects, and how do you preserve the controller through discretization?
I derived a quadrotor model, linearized it around hover, designed cascaded PD and linear active disturbance rejection controllers, and implemented discrete MATLAB S-functions. The study examines nominal tracking, disturbance response and model uncertainty through simulation.
Method and workflow
- 01
Build the plant
Connect motor mixing, forces and moments with nonlinear six-degree-of-freedom motion.
- 02
Set a baseline
Design cascaded PD loops and inspect the nominal response before adding a disturbance observer.
- 03
Apply the same test
Inspect recorded disturbance and model-uncertainty simulations under the source study conditions.
- 04
Implement discretely
Compare discrete/S-function implementation with its simulation counterpart before moving to hardware.
Project figures

Model assumptions and scope
- Controller comparisons apply to the simulated plant, disturbances and parameter changes shown.
- These figures show simulation results. Related hardware integration and flight experiments are presented separately.
Potential extensions
Compare the controllers under matched sampling, actuator limits and disturbance conditions, then evaluate the selected implementation on hardware.
Let’s work through it.
Robotics, simulation and control consultation across Canada, with remote support available internationally. Share your system and the result you need.