Design and Validation of a Desktop Quadrotor UAV Platform with Linear Active Disturbance Rejection Control

The rapid advancement of Unmanned Aerial Vehicle (UAV) drone technology has led to their widespread adoption across numerous fields, including environmental monitoring, precision agriculture, and logistics. Among various configurations, the quadrotor UAV drone stands out due to its mechanical simplicity, hovering capability, and agile maneuverability. However, the research and development phase of a new UAV drone control algorithm presents significant challenges. Real-world flight testing carries inherent risks of crashes, leading to substantial financial losses from damaged hardware and extended development timelines. Furthermore, pure software simulations often fail to accurately capture the complex dynamics and disturbances present in a real physical system, resulting in a performance gap when controllers are deployed on actual hardware.

To bridge this gap between safe simulation and risky real-world testing, we have designed and implemented a desktop-scale experimental platform for quadrotor UAV drone development and education. This platform provides a controlled, low-risk environment for validating control algorithms, making it particularly suitable for academic research and laboratory-based coursework in control systems and robotics. The core of our work involves developing a high-fidelity dynamic model of the UAV drone, designing a robust Linear Active Disturbance Rejection Control (LADRC) attitude controller, and conducting comprehensive Hardware-in-the-Loop (HIL) co-simulation and physical experiments to validate the platform’s efficacy and the controller’s superior performance compared to traditional methods.

1. Desktop Quadrotor UAV Drone Experimental Platform Design

1.1 Overall System Architecture

The desktop quadrotor UAV drone experimental platform is an integrated system designed for safety, modularity, and real-time control. Its architecture consists of four primary components:

  1. Quadrotor UAV Drone Body: The core flight vehicle.
  2. Flight Controller (Pixhawk 2.4.8): Handles low-level motor mixing, sensor data acquisition (IMU, barometer), and actuator signaling.
  3. Onboard Companion Computer (Raspberry Pi 4B): Runs the high-level control algorithms (e.g., LADRC) and manages communication.
  4. Host Computer: Used for Simulink model development, HIL co-simulation setup, parameter tuning, and real-time data monitoring.

The communication and data flow is critical. Control algorithms are developed in Simulink on the host PC and deployed to the Raspberry Pi via external mode over a TCP/IP Ethernet connection. The Raspberry Pi executes the controller in real-time, exchanging data with the Pixhawk flight controller using the MAVLink protocol over a USB-to-TTL serial link. The Pixhawk then translates the computed control signals into Pulse-Width Modulation (PWM) commands for the four Electronic Speed Controllers (ESCs), which drive the brushless motors. This setup creates a flexible HIL environment where the plant (the physical UAV drone) is controlled by an algorithm running on separate hardware, closely mimicking a real deployment.

1.2 Key Mechanical and Safety Design

A paramount requirement for a desktop UAV drone platform is operational safety. Our design incorporates two key mechanical features to mitigate risk:

  • Aluminum Alloy Protective Enclosure: A rigid frame constructed from 30mm x 30mm aluminum profiles encloses the operational volume (850mm x 850mm x 525mm). The sides are covered with a steel mesh (5mm x 5mm grid), and the top is fitted with ventilated polycarbonate panels. This structure contains the UAV drone during aggressive maneuvers or instability, protecting both the equipment and the operator.
  • Universal Damping Ball Joint Tether: The UAV drone is attached to the platform’s base via a damped, adjustable-torque ball joint. This joint constrains the drone’s translational degrees of freedom while allowing full rotational freedom in roll, pitch, and yaw. It prevents catastrophic crashes against the enclosure walls by absorbing kinetic energy during large, sudden movements, effectively turning a potential crash into a damped swing. This is essential for initial controller tuning and testing under fault conditions.

The UAV drone itself is based on an F330-class quadcopter frame equipped with propeller guards, brushless motors, and 30A ESCs. The selection of components prioritizes durability and ease of maintenance for a laboratory setting.

1.3 Electrical and Power System Design

A reliable power and signal distribution system is crucial for stable UAV drone operation. The design employs a hierarchical power scheme:

Module Voltage Requirement Power Source
Host PC 220V AC Direct Wall Outlet
Brushless Motors & ESCs 12V DC High-current 12V Switch-Mode Power Supply (SMPS)
Pixhawk FC, Raspberry Pi 5V DC Voltage Regulator (stepped down from 12V SMPS)

The signal chain is designed for low latency and noise immunity. The critical link between the high-level controller (Raspberry Pi) and the low-level flight controller (Pixhawk) uses a direct USB-to-TTL serial connection on the TELEM2 port, ensuring robust MAVLink communication at 115200 baud.

2. Comprehensive Modeling of the Quadrotor UAV Drone Dynamics

An accurate mathematical model is the foundation for model-based controller design. We derive the dynamics by considering the UAV drone as a 6-DOF rigid body acted upon by forces and moments generated by its rotors.

2.1 Coordinate Frames and Euler Angles

Two right-handed coordinate frames are defined:

  • Earth-Fixed Frame (E-frame), $\{O_e, x_e, y_e, z_e\}$: Inertial frame with $z_e$ pointing downwards along gravity.
  • Body-Fixed Frame (B-frame), $\{O_b, x_b, y_b, z_b\}$: Attached to the UAV drone’s center of mass, with $x_b$ pointing forward, $y_b$ right, and $z_b$ downwards.

The orientation of the B-frame relative to the E-frame is described by the ZYX Euler angles: roll ($\phi$), pitch ($\theta$), and yaw ($\psi$). The rotation matrix from B-frame to E-frame is:

$$
\mathbf{R}_e^b = \begin{bmatrix}
c_\theta c_\psi & s_\phi s_\theta c_\psi – c_\phi s_\psi & c_\phi s_\theta c_\psi + s_\phi s_\psi \\
c_\theta s_\psi & s_\phi s_\theta s_\psi + c_\phi c_\psi & c_\phi s_\theta s_\psi – s_\phi c_\psi \\
-s_\theta & s_\phi c_\theta & c_\phi c_\theta
\end{bmatrix}
$$

where $c_\cdot$ and $s_\cdot$ denote $\cos(\cdot)$ and $\sin(\cdot)$, respectively.

2.2 Translational Dynamics

Applying Newton’s second law in the E-frame, the translational dynamics are:
$$ m \ddot{\mathbf{P}}_e = m\mathbf{g} – \mathbf{R}_e^b \begin{bmatrix}0 \\ 0 \\ f_b\end{bmatrix} – \mathbf{F}_d $$
where:

  • $m$ is the total mass of the UAV drone.
  • $\mathbf{P}_e = [x, y, z]^T$ is the position in E-frame.
  • $\mathbf{g} = [0, 0, g]^T$ is the gravity vector ($g=9.81 m/s^2$).
  • $f_b$ is the total thrust generated by all rotors along the body $-z_b$ axis.
  • $\mathbf{F}_d$ is a simplified drag force, often modeled as $\mathbf{F}_d = \text{diag}(k_{dx}, k_{dy}, k_{dz}) \dot{\mathbf{P}}_e$.

Expanding, we get:
$$
\begin{aligned}
\ddot{x} &= -\frac{f_b}{m}(c_\phi s_\theta c_\psi + s_\phi s_\psi) – \frac{k_{dx}}{m}\dot{x} \\
\ddot{y} &= -\frac{f_b}{m}(c_\phi s_\theta s_\psi – s_\phi c_\psi) – \frac{k_{dy}}{m}\dot{y} \\
\ddot{z} &= g – \frac{f_b}{m}(c_\phi c_\theta) – \frac{k_{dz}}{m}\dot{z}
\end{aligned}
$$

2.3 Rotational Dynamics

Using the Newton-Euler formulation in the B-frame, the rotational dynamics are:
$$ \mathbf{J} \dot{\boldsymbol{\omega}}_b + \boldsymbol{\omega}_b \times \mathbf{J} \boldsymbol{\omega}_b = \boldsymbol{\tau}_b – \boldsymbol{\tau}_d $$
where:

  • $\boldsymbol{\omega}_b = [p, q, r]^T$ is the angular velocity in the B-frame.
  • $\mathbf{J} = \text{diag}(I_{xx}, I_{yy}, I_{zz})$ is the inertia matrix.
  • $\boldsymbol{\tau}_b = [\tau_\phi, \tau_\theta, \tau_\psi]^T$ is the control torque vector generated by differential rotor thrusts.
  • $\boldsymbol{\tau}_d$ represents disturbance torques (e.g., unmodeled aerodynamic effects).

Assuming small angular rates, the Coriolis term $\boldsymbol{\omega}_b \times \mathbf{J} \boldsymbol{\omega}_b$ can be neglected for controller design. Thus, the simplified dynamics are:
$$
\begin{aligned}
\dot{p} &= \frac{1}{I_{xx}} (\tau_\phi + \tilde{\tau}_{d\phi}) \\
\dot{q} &= \frac{1}{I_{yy}} (\tau_\theta + \tilde{\tau}_{d\theta}) \\
\dot{r} &= \frac{1}{I_{zz}} (\tau_\psi + \tilde{\tau}_{d\psi})
\end{aligned}
$$
where $\tilde{\boldsymbol{\tau}}_d$ incorporates the disturbance effects.

The relationship between the angular velocity $\boldsymbol{\omega}_b$ and the Euler angle rates $\dot{\boldsymbol{\eta}} = [\dot{\phi}, \dot{\theta}, \dot{\psi}]^T$ is given by:
$$ \dot{\boldsymbol{\eta}} = \mathbf{W} \boldsymbol{\omega}_b, \quad \text{where} \quad \mathbf{W} = \begin{bmatrix} 1 & s_\phi t_\theta & c_\phi t_\theta \\ 0 & c_\phi & -s_\phi \\ 0 & s_\phi / c_\theta & c_\phi / c_\theta \end{bmatrix} $$
and $t_\cdot$ denotes $\tan(\cdot)$. For small angles, $\mathbf{W} \approx \mathbf{I}$.

2.4 Actuator and Force/Torque Mapping Model

The control inputs for the quadrotor UAV drone are the squared rotational speeds of the four rotors, $\boldsymbol{\Omega} = [\omega_1^2, \omega_2^2, \omega_3^2, \omega_4^2]^T$. The total thrust $f_b$ and torques $\boldsymbol{\tau}_b$ are related to $\boldsymbol{\Omega}$ by:

$$
\begin{bmatrix} f_b \\ \tau_\phi \\ \tau_\theta \\ \tau_\psi \end{bmatrix} =
\begin{bmatrix}
c_T & c_T & c_T & c_T \\
0 & -d c_T & 0 & d c_T \\
-d c_T & 0 & d c_T & 0 \\
c_M & -c_M & c_M & -c_M
\end{bmatrix}
\boldsymbol{\Omega} = \mathbf{M} \boldsymbol{\Omega}
$$

where:

  • $c_T$ is the thrust coefficient.
  • $c_M$ is the moment (drag) coefficient.
  • $d$ is the distance from the center of mass to a motor (arm length).

The motor dynamics are modeled as a first-order system:
$$ \dot{\omega}_i = \frac{1}{\tau_m} (K_m u_i – \omega_i), \quad i=1,2,3,4 $$
where $\tau_m$ is the motor time constant, $K_m$ is the gain, and $u_i$ is the PWM command signal. The matrix $\mathbf{M}$ defines the control allocation for the common “X” configuration UAV drone.

Table 1: Key Parameters for the Quadrotor UAV Drone Model
Parameter Symbol Value Unit
Mass $m$ 1.2 kg
Arm Length $d$ 0.225 m
Thrust Coefficient $c_T$ $1.105 \times 10^{-5}$ N·s²/rad²
Drag Coefficient $c_M$ $1.779 \times 10^{-7}$ N·m·s²/rad²
Inertia (xx) $I_{xx}$ $7.5 \times 10^{-3}$ kg·m²
Inertia (yy) $I_{yy}$ $7.5 \times 10^{-3}$ kg·m²
Inertia (zz) $I_{zz}$ $1.3 \times 10^{-2}$ kg·m²
Motor Time Constant $\tau_m$ 0.02 s

3. Linear Active Disturbance Rejection Control (LADRC) Design for UAV Drone Attitude

Precise attitude control is the fundamental prerequisite for stable flight of any UAV drone. Traditional PID controllers struggle with the nonlinear, coupled, and disturbance-prone nature of quadrotor dynamics. We adopt the LADRC framework for its inherent disturbance estimation and rejection capabilities.

3.1 LADRC Core Principle

The central idea of LADRC is to treat all internal model uncertainties and external disturbances (e.g., wind gusts, unbalanced payloads, model inaccuracies) as a “total disturbance” acting on a nominally simple (e.g., integral) plant. A Linear Extended State Observer (LESO) dynamically estimates this total disturbance in real-time, and the control law actively cancels it out. For a second-order attitude channel (e.g., roll $\phi$), the plant can be generically expressed as:
$$ \ddot{\phi} = f(\phi, \dot{\phi}, w(t), t) + b_0 u_\phi $$
where $f(\cdot)$ represents the total disturbance (including coupling from other channels) and $b_0$ is a rough estimate of the control gain. The goal of LESO is to estimate $\phi$, $\dot{\phi}$, and $f$.

3.2 Linear Extended State Observer (LESO) Design

Let $x_1 = \phi$, $x_2 = \dot{\phi}$, and $x_3 = f$ be the extended state. The system is rewritten as:
$$
\begin{aligned}
\dot{x}_1 &= x_2 \\
\dot{x}_2 &= x_3 + b_0 u \\
\dot{x}_3 &= \dot{f} \\
y &= x_1
\end{aligned}
$$
A third-order LESO is constructed for this system:
$$
\begin{aligned}
\dot{z}_1 &= z_2 + \beta_1 (y – z_1) \\
\dot{z}_2 &= z_3 + \beta_2 (y – z_1) + b_0 u \\
\dot{z}_3 &= \beta_3 (y – z_1)
\end{aligned}
$$
where $z_1$, $z_2$, and $z_3$ are the estimates of $x_1$ (attitude), $x_2$ (angular rate), and $x_3$ (total disturbance), respectively. The observer gains $\beta_1, \beta_2, \beta_3$ are parameterized by a single observer bandwidth $\omega_o$ to ensure stability and performance:
$$ \beta_1 = 3\omega_o, \quad \beta_2 = 3\omega_o^2, \quad \beta_3 = \omega_o^3 $$
This greatly simplifies tuning. A higher $\omega_o$ leads to faster disturbance estimation but increases sensitivity to measurement noise.

3.3 Linear State Error Feedback (LSEF) and Disturbance Rejection

With accurate estimates from the LESO, a simple PD-type control law can be used. The desired attitude $\phi_r$ and its derivative are compared with the estimated states. The control law is:
$$ u_0 = k_p (\phi_r – z_1) + k_d (\dot{\phi}_r – z_2) $$
where $k_p$ and $k_d$ are the controller gains. Crucially, the estimated total disturbance $z_3$ is actively canceled:
$$ u_\phi = \frac{u_0 – z_3}{b_0} $$
This is the key disturbance rejection step. The controller gains are also parameterized by a controller bandwidth $\omega_c$:
$$ k_p = \omega_c^2, \quad k_d = 2\omega_c $$

The block diagram for a single LADRC attitude channel is summarized below. This structure is replicated independently for the roll, pitch, and yaw channels of the UAV drone, providing a decentralized control architecture that is simple to implement yet robust.

$$
\text{Control Law: } u = \frac{\omega_c^2 (\phi_r – z_1) + 2\omega_c (\dot{\phi}_r – z_2) – z_3}{b_0}
$$

Table 2: LADRC Parameter Tuning for the Quadrotor UAV Drone
Control Channel Gain Estimate ($b_0$) Controller BW ($\omega_c$) Observer BW ($\omega_o$)
Roll ($\phi$) 30 8 rad/s 105 rad/s
Pitch ($\theta$) 30 8 rad/s 100 rad/s
Yaw ($\psi$) 75 16 rad/s 130 rad/s

4. Simulation and Experimental Validation on the UAV Drone Platform

The complete system, comprising the dynamic model and the LADRC controller, was first implemented in MATLAB/Simulink for nonlinear simulation. Subsequently, Hardware-in-the-Loop (HIL) co-simulation was conducted where the controller model ran on the Raspberry Pi while receiving simulated sensor data from the Simulink plant model on the host PC. Finally, physical experiments were performed on the desktop UAV drone platform.

4.1 Attitude Tracking Performance

The primary experiment involved commanding step changes in attitude. A step reference of 1 rad (≈57.3°) was given to the roll channel at time t=1s. The performance of the LADRC controller was compared against a finely-tuned conventional PID controller. The LADRC-controlled UAV drone exhibited significantly faster convergence with minimal overshoot. The LESO’s ability to estimate and cancel cross-coupling and other disturbances resulted in a smoother and more precise response. The tracking error for LADRC was consistently lower throughout the transient and steady-state phases. Similar superior performance was observed for pitch and yaw channels, validating the decentralized LADRC design for full attitude control of the UAV drone.

4.2 Disturbance Rejection Capability

To test robustness, an external disturbance was introduced during flight. A short-duration impulse torque, simulating a sudden wind gust or an imbalance, was applied to the roll axis. The PID controller showed a significant and prolonged deviation from the setpoint, taking considerable time to recover. In contrast, the LADRC controller, through its LESO, quickly estimated the disturbance effect ($z_3$) and compensated for it within the control law ($u = (u_0 – z_3)/b_0$). The resulting attitude deviation was noticeably smaller in magnitude and duration, demonstrating the enhanced robustness of the LADRC-based UAV drone control system.

Table 3: Comparative Performance Metrics (Roll Channel Step Response)
Metric PID Controller LADRC Controller Improvement
Rise Time (10%-90%) 0.25 s 0.18 s 28% faster
Overshoot 12.5% 3.2% 74% reduction
Settling Time (2% band) 0.95 s 0.52 s 45% faster
Steady-State Error (abs) ~0.02 rad < 0.005 rad > 75% reduction
ISE (Integral Squared Error) 0.087 0.041 53% lower

4.3 Practical Platform Performance

The desktop platform performed flawlessly throughout testing. The protective enclosure and damping tether allowed for aggressive control maneuvers and disturbance rejection tests to be conducted with zero risk of damage. The real-time data stream from the Pixhawk to Simulink via the Raspberry Pi provided excellent visibility into the UAV drone’s states and controller performance. The modular design facilitated easy parameter changes and controller swapping (e.g., between PID and LADRC). The entire setup proved to be an effective sandbox for developing and validating advanced control strategies for UAV drones before costly and risky free-flight tests.

5. Conclusion

This work successfully designed, implemented, and validated a desktop quadrotor UAV drone experimental platform integrated with a Linear Active Disturbance Rejection Control strategy. The platform’s mechanical design, featuring a safety enclosure and a damping tether, effectively mitigates the high costs and risks associated with free-flight UAV drone testing, making advanced control research accessible and safe in a laboratory setting. A comprehensive nonlinear dynamic model of the UAV drone was derived, forming the basis for model-based controller design.

The core contribution is the application and experimental validation of the LADRC algorithm for UAV drone attitude control. By employing Linear Extended State Observers to actively estimate and cancel “total disturbance” – encompassing model nonlinearities, parameter uncertainties, and external perturbations – the LADRC controller demonstrated superior performance compared to a conventional PID controller. Experimental results on the physical platform confirmed significantly improved tracking accuracy, faster transient response, and notably stronger disturbance rejection capabilities across all rotational degrees of freedom.

The presented platform is not only a powerful tool for research into robust flight control for UAV drones but also an excellent educational resource for hands-on learning in dynamics, control theory, and embedded systems. Future work will focus on implementing LADRC for position/velocity control, extending the framework to manage slung loads, and exploring adaptive tuning of the LADRC bandwidth parameters $\omega_c$ and $\omega_o$ for optimal UAV drone performance under varying flight conditions.

Scroll to Top