In recent years, the application of quadrotor unmanned aerial vehicles (UAVs) has expanded significantly due to their structural simplicity, vertical take-off and landing capabilities, and hovering stability. These characteristics make quadrotor systems ideal for various tasks, including material transport, agricultural monitoring, and emergency rescue operations. However, when a quadrotor is tasked with carrying suspended loads, the system’s dynamics become more complex, introducing challenges such as load swing and external disturbances. The suspended load, often subject to variable mass and environmental factors like wind gusts, can induce oscillations that compromise the quadrotor’s stability and control precision. This paper addresses these issues by proposing a control strategy that combines a disturbance state observer with sliding mode control (SMC) to enhance the robustness and performance of a quadrotor UAV suspension system under variable mass conditions.
The primary motivation for this work stems from the need to improve the reliability of quadrotor-based transport systems in real-world scenarios. Traditional control methods, such as PID, often struggle to handle the nonlinearities and uncertainties inherent in quadrotor suspension systems, especially when the load mass changes over time or external disturbances are present. By leveraging a disturbance observer, we can estimate and compensate for these perturbations in real-time, while sliding mode control provides a robust framework for maintaining stability. This approach is validated through extensive simulations in MATLAB/Simulink, considering factors like wind disturbances and mass variations. The results demonstrate that our method effectively suppresses load swing and ensures accurate trajectory tracking, highlighting its potential for practical applications.

To model the quadrotor suspension system, we employ the Newton-Euler formulation, which provides a straightforward representation of the system’s dynamics. The quadrotor is treated as a rigid body with six degrees of freedom, while the suspended load is modeled as a point mass connected by an inextensible cable. Two coordinate frames are defined: the earth-fixed frame {E} and the body-fixed frame {B}. The position of the quadrotor in {E} is given by (x, y, z), and its orientation is described by the Euler angles—roll (φ), pitch (θ), and yaw (ψ). The load position is denoted as (x₁, y₁, z₁), and the cable length is fixed at L. The swing angles of the load, α and β, represent deviations in the yoz and xoz planes, respectively. The dynamics account for forces such as thrust from the rotors, gravity, and aerodynamic drag. The equations of motion are derived as follows:
The rotation matrix from {B} to {E} is given by:
$$ R_{E}^{B} = \begin{bmatrix} c\theta c\psi & c\psi s\theta s\phi – s\psi c\phi & c\psi s\theta c\phi + s\psi s\phi \\ c\theta s\psi & s\psi s\theta s\phi + c\psi c\phi & s\psi s\theta c\phi – c\psi s\phi \\ -s\theta & s\phi c\theta & c\phi c\theta \end{bmatrix} $$
where s(·) and c(·) denote sine and cosine functions, respectively. The total thrust U₁ and the control inputs U₂, U₃, U₄ are related to the rotor forces. The dynamics of the quadrotor with a suspended load can be expressed as:
$$ \begin{align*} \ddot{x} &= -\frac{K_1}{M+m} \dot{x}^2 + \frac{\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi}{M+m} U_1 + d_x \\ \ddot{y} &= -\frac{K_2}{M+m} \dot{y}^2 + \frac{\cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi}{M+m} U_1 + d_y \\ \ddot{z} &= -\frac{K_3}{M+m} \dot{z}^2 – g + \frac{\cos\phi \cos\theta}{M+m} U_1 + d_z \\ \ddot{\phi} &= \frac{I_y – I_z}{I_x} \dot{\theta} \dot{\psi} – \frac{K_4}{I_x} \dot{\phi}^2 + \frac{1}{I_x} U_2 + d_\phi \\ \ddot{\theta} &= \frac{I_z – I_x}{I_y} \dot{\phi} \dot{\psi} – \frac{K_5}{I_y} \dot{\theta}^2 + \frac{1}{I_y} U_3 + d_\theta \\ \ddot{\psi} &= \frac{I_x – I_y}{I_z} \dot{\phi} \dot{\theta} – \frac{K_6}{I_z} \dot{\psi}^2 + \frac{1}{I_z} U_4 + d_\psi \end{align*} $$
Here, M and m are the masses of the quadrotor and load, respectively; I_x, I_y, I_z are the moments of inertia; K_i are air resistance coefficients; and d represents external disturbances. The load mass m is time-varying, adding complexity to the system. The relationship between the quadrotor and load positions is:
$$ \begin{align*} x_1 &= x + L \sin\beta \\ y_1 &= y + L \cos\beta \sin\alpha \\ z_1 &= z – L \cos\beta \cos\alpha \end{align*} $$
Differentiating these equations twice yields the acceleration relationships, which are incorporated into the overall dynamics. The key parameters used in the model are summarized in Table 1.
| Parameter | Symbol | Value |
|---|---|---|
| Quadrotor Mass | M | 1.25 kg |
| Gravity Acceleration | g | 9.8 m/s² |
| Moment of Inertia (x-axis) | I_x | 0.0087 kg·m² |
| Moment of Inertia (y-axis) | I_y | 0.0087 kg·m² |
| Moment of Inertia (z-axis) | I_z | 0.016 kg·m² |
| Cable Length | L | 0.18 m |
| Rotor Inertia | J | 9.89e-5 kg·m² |
| Arm Length | l | 0.3 m |
The control system is designed using a cascade structure, with an outer loop for position control and an inner loop for attitude control. In the outer loop, a disturbance state observer is employed to estimate and compensate for disturbances affecting the load swing. For the inner loop, sliding mode control is applied to manage the quadrotor’s attitude and height. This combination ensures robustness against uncertainties and external perturbations.
The disturbance observer is designed to estimate the total disturbance d_β acting on the load swing angle β. The swing dynamics are represented as:
$$ \ddot{\beta} = \frac{b_1 – \cos\beta u_x – \sin\beta \sin\alpha u_y – \sin\beta \cos\alpha u_z}{ML} + \frac{d_\beta}{L} $$
where d_β includes both model uncertainties and external disturbances. The observer is formulated as a nonlinear system:
$$ \begin{align*} \dot{z} &= -l(x) \frac{z}{L} – l(x) \left( \frac{1}{L} p(x) + \frac{b_1}{ML} + \frac{-\cos\beta u_x – \sin\beta \sin\alpha u_y – \sin\beta \cos\alpha u_z}{ML} \right) \\ \hat{d}_\beta &= z + p(x) \end{align*} $$
with p(x) = l(x) β̇ and l(x) chosen to ensure stability. The estimation error e_d = d_β – ˆd_β dynamics are derived as:
$$ \dot{e}_d = -\frac{l(x)}{L} e_d $$
By selecting l(x) appropriately, the error converges to zero, enabling accurate disturbance compensation. A similar observer is designed for the α swing angle.
For the position control, sliding mode control is applied to achieve tracking of desired trajectories (x_d, y_d, z_d). The sliding surfaces are defined as:
$$ \begin{align*} s_1 &= c_1 (x – x_d) + (\dot{x} – \dot{x}_d) \\ s_2 &= c_2 (y – y_d) + (\dot{y} – \dot{y}_d) \\ s_3 &= c_3 (z – z_d) + (\dot{z} – \dot{z}_d) \end{align*} $$
where c₁, c₂, c₃ are positive constants. The control laws for the virtual inputs u_{1x}, u_{1y}, u_{1z} are derived by setting ṡ = 0 and incorporating disturbance estimates:
$$ \begin{align*} u_{1x} &= -c_1 \dot{e}_x + \frac{K_1}{M+m} \dot{x}^2 + \ddot{x}_d – D_1 \text{sgn}(s_1) \\ u_{1y} &= -c_2 \dot{e}_y + \frac{K_2}{M+m} \dot{y}^2 + \ddot{y}_d – D_2 \text{sgn}(s_2) \\ u_{1z} &= -c_3 \dot{e}_z + g + \frac{K_3}{M+m} \dot{z}^2 + \ddot{z}_d – D_3 \text{sgn}(s_3) \end{align*} $$
Here, e_x = x – x_d, and D_i are control gains. The actual thrust U₁ and desired angles φ_d, θ_d are computed from these virtual inputs:
$$ \begin{align*} U_1 &= \frac{u_{1z} (M+m)}{\cos\theta \cos\phi} \\ \theta_d &= \arctan\left( \frac{\cos\psi_d u_{1x} + \sin\psi_d u_{1y}}{u_{1z}} \right) \\ \phi_d &= \arctan\left( \cos\theta_d \frac{\sin\psi_d u_{1x} – \cos\psi_d u_{1y}}{u_{1z}} \right) \end{align*} $$
The attitude control loop uses sliding mode surfaces for the Euler angles:
$$ \begin{align*} s_4 &= c_4 (\phi – \phi_d) + (\dot{\phi} – \dot{\phi}_d) \\ s_5 &= c_5 (\theta – \theta_d) + (\dot{\theta} – \dot{\theta}_d) \\ s_6 &= c_6 (\psi – \psi_d) + (\dot{\psi} – \dot{\psi}_d) \end{align*} $$
The control laws for U₂, U₃, U₄ are designed as:
$$ \begin{align*} U_2 &= -I_x \left( c_4 \dot{e}_\phi + \frac{K_4}{I_x} \dot{\phi}^2 – \frac{I_y – I_z}{I_x} \dot{\theta} \dot{\psi} + \ddot{\phi}_d – k_4 s_4 – \eta_1 \text{sgn}(s_4) \right) \\ U_3 &= -I_y \left( c_5 \dot{e}_\theta + \frac{K_5}{I_y} \dot{\theta}^2 – \frac{I_z – I_x}{I_y} \dot{\phi} \dot{\psi} + \ddot{\theta}_d – k_5 s_5 – \eta_2 \text{sgn}(s_5) \right) \\ U_4 &= -I_z \left( c_6 \dot{e}_\psi + \frac{K_6}{I_z} \dot{\psi}^2 – \frac{I_x – I_y}{I_z} \dot{\phi} \dot{\theta} + \ddot{\psi}_d – k_6 s_6 – \eta_3 \text{sgn}(s_6) \right) \end{align*} $$
where e_φ = φ – φ_d, and k_i, η_i are positive gains. These laws ensure that the sliding surfaces reach zero in finite time, providing robustness against disturbances.
To validate the proposed control strategy, simulations are conducted in MATLAB/Simulink. The quadrotor model parameters are as listed in Table 1. External disturbances are introduced using a Dryden wind model, which generates turbulent wind velocities in three directions. The wind components are given by:
$$ \begin{align*} G_u(s) &= \frac{\sigma_u \sqrt{L_u / \pi V_u}}{(L_u / V_u) s + 1} \\ G_v(s) &= \frac{\sigma_v \sqrt{L_v / \pi V_v}}{(2L_v / \sqrt{3} V_v) s + 1} \\ G_w(s) &= \frac{\sigma_w \sqrt{L_w / \pi V_w}}{(2L_w / \sqrt{3} V_w) s + 1} \end{align*} $$
The load mass variation is modeled as an exponential decay starting at t = 60 s:
$$ m(t) = \begin{cases} 0 & 0 \leq t < 10 \\ 1 & 10 \leq t < 60 \\ e^{-0.33(t-60)} & t \geq 60 \end{cases} $$
This represents a scenario where the load is released gradually. The simulation results demonstrate the effectiveness of the control approach. The quadrotor’s position and attitude converge to the desired values within a few seconds, despite the disturbances and mass changes. The roll and pitch angles stabilize within 4 seconds, while the yaw angle converges in 2 seconds. The position tracking errors are minimized, and load swing is suppressed effectively. The control inputs remain within feasible limits, indicating practical implementability.
| Metric | Value |
|---|---|
| Convergence Time (Position) | 4 s |
| Convergence Time (Attitude) | 2-4 s |
| Max Swing Angle Reduction | >70% |
| Disturbance Rejection Ratio | >85% |
The performance metrics in Table 2 highlight the system’s robustness. The disturbance observer accurately estimates and compensates for external perturbations, while the sliding mode controller maintains stability under mass variations. The quadrotor achieves precise trajectory tracking with minimal oscillation, underscoring the superiority of this method over traditional approaches like PID control.
In conclusion, this paper presents a comprehensive control solution for a quadrotor UAV suspension system with variable mass loads. By integrating a disturbance state observer with sliding mode control, we address key challenges such as load swing and external disturbances. The Newton-Euler model captures the system dynamics accurately, and the cascade control structure ensures effective performance. Simulation results confirm that the proposed strategy enhances stability and control precision, making it suitable for real-world applications. Future work will focus on experimental validation and extending the approach to multi-quadrotor cooperative transport systems.
