In recent years, quadrotor drones have gained significant attention due to their versatility in applications such as logistics, surveillance, and rescue operations. However, one critical challenge arises when these drones carry payloads with unknown masses, which can introduce disturbances that degrade control performance. As a researcher in this field, I have explored various control strategies to address this issue. In this article, I propose an adaptive attitude control method based on a disturbance observer for quadrotor drones carrying unknown mass payloads. This approach aims to enhance robustness and stability without requiring precise model knowledge. I will first establish the dynamics model of a quadrotor drone under such conditions, then design the disturbance observer and adaptive controller, and finally validate the method through experimental comparisons.
The quadrotor drone is a highly nonlinear system, and its control becomes more complex when external disturbances, like variable payloads, are present. Traditional control methods, such as PID or backstepping, often struggle to compensate for these uncertainties. My work builds on existing adaptive control techniques but incorporates a disturbance observer to estimate and cancel out the effects of unknown mass payloads in real-time. This combination allows for simpler implementation while maintaining high performance. Throughout this article, I will use mathematical formulations, tables, and analyses to detail the methodology. The key term “quadrotor drone” will be frequently emphasized to highlight the focus of this research.
Introduction and Background
The quadrotor drone has become a popular platform in robotics due to its ability to hover, maneuver vertically, and carry payloads. However, when a quadrotor drone transports a payload with an unknown mass, the dynamics change unpredictably, leading to attitude deviations that can compromise safety and efficiency. In my experience, this problem is common in delivery and inspection tasks where payloads vary. Existing solutions often involve complex algorithms or require extensive sensor data, which may not be feasible for commercial quadrotor drone systems. Therefore, I developed an adaptive control method that leverages a disturbance observer to handle these uncertainties. This method reduces computational load and improves practicality, making it suitable for real-world quadrotor drone applications.
Previous studies have addressed quadrotor drone control under disturbances. For instance, robust control and sliding mode methods have been proposed, but they can be computationally intensive or require precise models. Adaptive control, on the other hand, offers flexibility by adjusting parameters online. In my approach, I integrate a disturbance observer to estimate the torque caused by unknown mass payloads, then use this estimate in an adaptive controller to correct the quadrotor drone’s attitude. This synergy enhances performance without relying on heavy calculations. Throughout this article, I will refer to the system as a “quadrotor drone” to maintain focus on the platform.
Dynamics Modeling of the Quadrotor Drone
To design an effective controller, I first derive the dynamics model of a quadrotor drone carrying an unknown mass payload. The model considers both inertial and body-fixed frames, as commonly used in aerial robotics. Let the inertial frame be denoted as \( W = [X_w, Y_w, Z_w] \) and the body frame as \( B = [X_b, Y_b, Z_b] \). The Euler angles are represented by the vector \( \eta = [\phi, \theta, \psi]^T \), where \( \phi \) is the roll angle, \( \theta \) is the pitch angle, and \( \psi \) is the yaw angle. For stability, I assume small angle approximations: \( \phi, \theta \in (-\pi/8, \pi/8) \) and \( \psi \in (-\pi, \pi) \).
The dynamics of the quadrotor drone can be expressed using Lagrange’s method, incorporating a disturbance torque \( \tau_d \) due to the unknown mass payload. The equation is:
$$ J_u \ddot{\eta} = – \dot{\eta} \times J_u \dot{\eta} + \tau + \tau_d $$
where \( \ddot{\eta} \) is the angular acceleration, \( \dot{\eta} \) is the angular velocity, \( \tau = [\tau_\phi, \tau_\theta, \tau_\psi]^T \in \mathbb{R}^3 \) is the control torque vector, \( \tau_d = [\tau_{d\phi}, \tau_{d\theta}, \tau_{d\psi}]^T \in \mathbb{R}^3 \) is the disturbance torque vector, and \( J_u \) is the inertia matrix. The cross product term \( \dot{\eta} \times \) is defined as:
$$ \dot{\eta} \times = \begin{bmatrix} 0 & -\dot{\psi} & \dot{\theta} \\ \dot{\psi} & 0 & -\dot{\phi} \\ -\dot{\theta} & \dot{\phi} & 0 \end{bmatrix} $$
Assuming symmetry, the inertia matrix \( J_u \) is diagonal:
$$ J_u = \begin{bmatrix} J_{xx} & 0 & 0 \\ 0 & J_{yy} & 0 \\ 0 & 0 & J_{zz} \end{bmatrix} $$
where \( J_{xx}, J_{yy}, J_{zz} \) are the moments of inertia about the principal axes. The disturbance torque \( \tau_d \) is treated as a constant vector in this analysis, as the quadrotor drone operates indoors without significant wind effects and with small attitude changes.
The forces and torques generated by the motors are linear functions of the motor control signals. Based on experimental data, the lift force \( f_i \) and torque \( \tau_i \) for each motor \( i \) (with \( i = 1,2,3,4 \)) are:
$$ f_i = c_t (\delta_i – 1000), \quad \tau_i = c_q (\delta_i – 1000) $$
where \( c_t \) and \( c_q \) are the thrust and torque coefficients, and \( \delta_i \) is the motor control signal in microseconds. The total thrust \( f \) and control torques can be summarized in a matrix form:
$$ \begin{bmatrix} f \\ \tau_\phi \\ \tau_\theta \\ \tau_\psi \end{bmatrix} = \begin{bmatrix} -c_t & -c_t & -c_t & -c_t \\ -\frac{c_t l_r}{\sqrt{2}} & \frac{c_t l_r}{\sqrt{2}} & \frac{c_t l_r}{\sqrt{2}} & -\frac{c_t l_r}{\sqrt{2}} \\ \frac{c_t l_r}{\sqrt{2}} & -\frac{c_t l_r}{\sqrt{2}} & \frac{c_t l_r}{\sqrt{2}} & -\frac{c_t l_r}{\sqrt{2}} \\ c_q & c_q & -c_q & -c_q \end{bmatrix} \begin{bmatrix} \delta_1 \\ \delta_2 \\ \delta_3 \\ \delta_4 \end{bmatrix} $$
where \( l_r \) is the distance from the motor axis to the center of mass of the quadrotor drone. This model forms the basis for controller design. To clarify parameters, I provide a table below summarizing key values used in my experiments.
| Parameter | Description | Value | Unit |
|---|---|---|---|
| \( m \) | Mass of the quadrotor drone | 1.325 | kg |
| \( g \) | Gravitational acceleration | 9.807 | m/s² |
| \( J_{xx} \) | Roll moment of inertia | 12.71 | g·m² |
| \( J_{yy} \) | Pitch moment of inertia | 12.71 | g·m² |
| \( J_{zz} \) | Yaw moment of inertia | 23.7 | g·m² |
| \( l_r \) | Motor arm length | 0.225 | m |
| \( c_t \) | Thrust coefficient | 3.51 | mN/μs |
| \( c_q \) | Torque coefficient | 0.108 | mN·m/μs |
This model captures the essential dynamics of a quadrotor drone, but the unknown mass payload introduces an additional torque \( \tau_d \) that must be estimated and compensated. In the next section, I will design a disturbance observer for this purpose.
Design of the Disturbance Observer and Adaptive Controller
My control strategy involves two main components: a disturbance observer to estimate the torque from the unknown mass payload, and an adaptive attitude controller to adjust the quadrotor drone’s response. The overall control structure is illustrated in the following diagram, which integrates these elements for robust performance. The disturbance observer provides real-time estimates of \( \tau_d \), which are then fed into the adaptive controller to compute the control torque \( \tau \). This approach ensures that the quadrotor drone maintains stable attitude even under varying payload conditions.
To formalize, I define the attitude tracking error \( e_1 \in \mathbb{R}^3 \) as:
$$ e_1 = \eta_d – \eta $$
where \( \eta_d \) is the desired attitude angle vector. For stability analysis, I use Lyapunov theory. Consider the Lyapunov function candidate:
$$ V_1 = \frac{1}{2} \| e_1 \|^2 $$
Its time derivative is:
$$ \dot{V}_1 = e_1^T \dot{e}_1 = e_1^T (\dot{\eta}_d – \dot{\eta}) $$
To ensure \( \dot{V}_1 \leq 0 \), I introduce a virtual control variable \( \phi = K_1 e_1 + \dot{\eta}_d \), where \( K_1 = \text{diag}(K_\phi, K_\theta, K_\psi) \) is a positive definite matrix. This yields:
$$ \dot{V}_1 = -e_1^T K_1 e_1 = -K_1 \| e_1 \|^2 \leq 0 $$
Next, I define the angular velocity tracking error \( e_2 \in \mathbb{R}^3 \) and the disturbance estimation error \( \Delta \tau_d \):
$$ e_2 = \phi – \dot{\eta} = K_1 e_1 + \dot{\eta}_d – \dot{\eta} $$
$$ \Delta \tau_d = \hat{\tau}_d – \tau_d $$
where \( \hat{\tau}_d \) is the estimated disturbance torque. Assuming \( \tau_d \) is constant, the derivative is \( \Delta \dot{\tau}_d = \dot{\hat{\tau}}_d \). The disturbance observer is designed as:
$$ \dot{\hat{\tau}}_d = L(\eta) \left( \ddot{\eta} + J_u^{-1} \dot{\eta} \times J_u \dot{\eta} – J_u^{-1} \tau – J_u^{-1} \hat{\tau}_d \right) – J_u^{-1} e_2 $$
Substituting the dynamics model, this simplifies to:
$$ \dot{\hat{\tau}}_d = -L(\eta) J_u^{-1} \Delta \tau_d – J_u^{-1} e_2 $$
I choose \( L(\eta) = K_3 J_u \), where \( K_3 \) is a positive definite matrix, to simplify the stability proof.
Now, I propose the adaptive attitude controller for the quadrotor drone. The control torque \( \tau \) is given by:
$$ \tau = J_u \left( (I_3 – K_1^2) e_1 + (K_1 + K_2) e_2 \right) + \dot{\eta} \times J_u \dot{\eta} – \hat{\tau}_d $$
where \( I_3 \) is the identity matrix and \( K_2 \) is another positive definite matrix. This controller uses the disturbance estimate \( \hat{\tau}_d \) to compensate for the unknown mass payload effects. To prove stability, consider the Lyapunov function:
$$ V_2 = \frac{1}{2} \| e_1 \|^2 + \frac{1}{2} \| e_2 \|^2 + \frac{1}{2} \Delta \tau_d^T \Delta \tau_d $$
Taking its derivative and substituting the controller and observer equations, I obtain:
$$ \dot{V}_2 = -e_1^T K_1 e_1 – e_2^T K_2 e_2 – \Delta \tau_d^T K_3 \Delta \tau_d \leq -\lambda_1 \| e_1 \|^2 – \lambda_2 \| e_2 \|^2 – \lambda_3 \| \Delta \tau_d \|^2 $$
where \( \lambda_1, \lambda_2, \lambda_3 \) are the minimum eigenvalues of \( K_1, K_2, K_3 \), respectively. Since \( \dot{V}_2 \leq 0 \), the errors \( e_1, e_2, \) and \( \Delta \tau_d \) converge to zero asymptotically, ensuring that the quadrotor drone’s attitude tracks the desired values despite the unknown mass payload. This stability guarantee is crucial for reliable operation of the quadrotor drone in practical scenarios.
To summarize the controller parameters, I provide a table below. These parameters were tuned experimentally to achieve optimal performance for the quadrotor drone.
| Parameter | Description | Typical Value Range |
|---|---|---|
| \( K_\phi \) | Roll error gain | 1.0 – 5.0 |
| \( K_\theta \) | Pitch error gain | 1.0 – 5.0 |
| \( K_\psi \) | Yaw error gain | 0.5 – 3.0 |
| \( K_2 \) diagonal elements | Velocity error gains | 0.1 – 2.0 |
| \( K_3 \) diagonal elements | Disturbance observer gains | 0.01 – 0.5 |
This adaptive controller is computationally efficient, making it suitable for real-time implementation on quadrotor drone platforms. In the next section, I will describe the experimental setup used to validate this method.
Experimental Setup and Platform Description
To test the proposed adaptive control method, I built a custom quadrotor drone platform capable of carrying unknown mass payloads. The platform includes a frame, motors, electronic speed controllers, a flight controller, and a payload release mechanism. The quadrotor drone is designed for indoor experiments to eliminate wind disturbances, and it can carry payloads attached below its center of mass. The flight controller runs the adaptive algorithm in real-time, processing sensor data from an inertial measurement unit (IMU). Below is an image of the quadrotor drone platform used in my experiments, showing its structure and payload attachment.

The quadrotor drone parameters are as listed in Table 1. For propulsion, I used brushless motors with calibrated thrust coefficients. The control algorithm was implemented on a microcontroller, with a communication link for data logging. The payload consisted of weights with unknown masses (ranging from 100g to 500g) attached to the quadrotor drone’s underside. This setup simulates real-world scenarios where a quadrotor drone might transport parcels of uncertain weight. I conducted multiple flights, comparing the adaptive controller against a baseline backstepping controller to evaluate performance.
To quantify the hardware specifications, I provide a table detailing the components of the quadrotor drone platform.
| Component | Specification | Purpose |
|---|---|---|
| Frame | Carbon fiber, 250mm diagonal | Structural support |
| Motors | Brushless, 1000kV | Thrust generation |
| Propellers | 5-inch diameter | Lift and control |
| Flight Controller | STM32-based with IMU | Sensor processing and control |
| Battery | LiPo, 3S 2200mAh | Power supply |
| Payload Mechanism | Servo-actuated release | Payload attachment and release |
This experimental platform allowed me to collect accurate data on the quadrotor drone’s attitude and motor signals under different control strategies. The results are discussed in the next section.
Experimental Results and Comparative Analysis
I performed a series of flight tests with the quadrotor drone carrying an unknown mass payload of 300g. The goal was to maintain hover attitude (i.e., \( \eta_d = [0, 0, 0]^T \)) despite the disturbance. I compared two controllers: the proposed adaptive controller based on the disturbance observer, and a conventional backstepping controller without disturbance estimation. Each controller was activated during flight, and data on Euler angles and motor control signals were recorded at 100 Hz. The quadrotor drone started with the adaptive controller, then switched to the backstepping controller, and back to the adaptive controller to observe transient responses.
The attitude angles over time are summarized in the table below, showing key metrics for both controllers. These metrics include maximum deviation, settling time, and steady-state error, which are critical for assessing quadrotor drone performance.
| Controller Type | Max Roll Deviation (deg) | Max Pitch Deviation (deg) | Settling Time (s) | Steady-State Error (deg) |
|---|---|---|---|---|
| Adaptive Controller | 2.1 | 7.3 | 0.50 | 0.1 |
| Backstepping Controller | 5.5 | 7.5 | N/A (diverging) | 7.5 |
From the data, the adaptive controller quickly reduced the pitch error from 7.3° to near zero within 0.50 seconds, while the backstepping controller caused a persistent pitch error of 7.5°, indicating an inability to compensate for the unknown mass payload. The roll and yaw angles also showed better stability with the adaptive controller. This demonstrates the effectiveness of the disturbance observer in estimating and canceling the disturbance torque for the quadrotor drone.
The motor control signals further illustrate the controller behavior. For the adaptive controller, the signals adjusted rapidly to correct the attitude, whereas for the backstepping controller, they remained biased, leading to a constant tilt. I analyzed the control effort using the norm of the torque vector \( \| \tau \| \). The adaptive controller achieved a lower average torque magnitude after convergence (0.15 N·m vs. 0.25 N·m for backstepping), indicating energy efficiency for the quadrotor drone. This is important for extending flight time in practical applications.
To provide a mathematical insight, I computed the disturbance estimate \( \hat{\tau}_d \) during the flight. For the adaptive controller, \( \hat{\tau}_d \) converged to approximately \( [0.02, 0.08, 0.01]^T \) N·m, which aligns with the expected torque from the 300g payload. The estimation error \( \Delta \tau_d \) decayed exponentially, as predicted by the Lyapunov analysis. This confirms that the observer accurately captures the effects of the unknown mass payload on the quadrotor drone.
I also tested the quadrotor drone with varying payload masses (from 100g to 500g) to evaluate robustness. The adaptive controller maintained stability across all cases, with attitude errors below 1° after convergence. In contrast, the backstepping controller showed increasing deviations with heavier payloads. This highlights the scalability of my method for different quadrotor drone payload scenarios.
Discussion and Implications
The results validate that the proposed adaptive control method enhances the attitude stability of quadrotor drones carrying unknown mass payloads. By integrating a disturbance observer, the controller adapts online without requiring prior knowledge of the payload, making it suitable for dynamic environments. This approach reduces the computational burden compared to other advanced methods, as it relies on simple gain matrices and a linear observer. For quadrotor drone applications like delivery or inspection, where payloads can change frequently, such adaptability is crucial.
However, there are limitations. The controller assumes small attitude angles and constant disturbances, which may not hold in aggressive maneuvers or outdoor conditions with wind. Future work could extend the method to handle time-varying disturbances or incorporate position control for full trajectory tracking of the quadrotor drone. Additionally, implementing the algorithm on low-cost hardware could further promote its use in commercial quadrotor drone systems.
From a broader perspective, this research contributes to the field of unmanned aerial vehicles by offering a practical solution for payload adaptation. The quadrotor drone serves as a testbed, but the principles can be applied to other multirotor platforms. The use of Lyapunov theory ensures rigorous stability guarantees, which is essential for safety-critical operations involving quadrotor drones.
Conclusion
In this article, I presented an adaptive attitude control method for quadrotor drones based on a disturbance observer. The method addresses the challenge of unknown mass payloads by estimating the disturbance torque and adjusting the control input accordingly. I derived the dynamics model, designed the observer and controller, and proved stability using Lyapunov analysis. Experimental comparisons showed that the adaptive controller outperforms a backstepping controller in maintaining attitude stability for the quadrotor drone. The results underscore the effectiveness of combining disturbance observation with adaptive control for robust quadrotor drone operation. As quadrotor drones continue to evolve, such control strategies will play a key role in enabling reliable autonomous transport and other advanced applications.
