In recent years, quadrotor unmanned aerial vehicles (UAVs) have garnered significant attention due to their superior performance in various applications. The unique structure of quadrotors allows for vertical take-off and landing, eliminating the need for runways. This capability enables quadrotors to perform specialized tasks such as disaster rescue, pesticide spraying, and parcel delivery in mountainous areas. As society advances and technology matures, the integration of quadrotors into urban infrastructure may become a benchmark for modernization. However, when a quadrotor is tasked with carrying suspended loads, challenges such as position errors and load oscillations arise, particularly under unknown system parameters. This paper addresses these issues by designing a nonlinear control method based on energy analysis for a quadrotor with an elastic suspension system. The controller ensures rapid and stable position control of the quadrotor while effectively suppressing load oscillations during flight. Stability of the closed-loop system is rigorously analyzed using Lyapunov theory and Barbalat’s lemma, and the effectiveness of the proposed method is validated through simulations in MATLAB/Simulink.

The dynamics of the quadrotor with an elastic suspension system are derived from first principles. The system consists of a quadrotor of mass $M$ carrying a load of mass $m$ via an elastic rope with stiffness coefficient $k$ and unstretched length $L_0$. The rope’s instantaneous length is denoted as $L(t)$, and the tension force is $T$. The load’s swing angle relative to the vertical direction is $\theta(t)$. The quadrotor’s position in the horizontal and vertical directions is given by $y(t)$ and $z(t)$, respectively. The system’s state vector is defined as $q(t) = [y(t), z(t), L(t), \theta(t)]^T \in \mathbb{R}^4$. The equations of motion are expressed as:
$$ M_c(q) \ddot{q} + C(q, \dot{q}) \dot{q} + G(q) = u + f_d $$
where $M_c(q)$ is the inertia matrix, $C(q, \dot{q})$ is the Coriolis and centripetal matrix, $G(q)$ is the gravitational vector, $u$ is the control input vector from the rotor thrusts, and $f_d$ represents aerodynamic damping forces. The specific forms of these matrices are as follows:
$$ M_c(q) = \begin{bmatrix}
M + m & 0 & m \sin\theta & m L \cos\theta \\
0 & M + m & -m \cos\theta & m L \sin\theta \\
m \sin\theta & -m \cos\theta & m & 0 \\
m L \cos\theta & m L \sin\theta & 0 & m L^2
\end{bmatrix} $$
$$ C(q, \dot{q}) = \begin{bmatrix}
0 & 0 & m \dot{\theta} \cos\theta & -m L \dot{\theta} \sin\theta \\
0 & 0 & m \dot{\theta} \sin\theta & m L \dot{\theta} \cos\theta \\
0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0
\end{bmatrix} $$
$$ G(q) = \begin{bmatrix}
0 & (M + m)g & 0 & -m g L \sin\theta
\end{bmatrix}^T $$
The control input $u$ is derived from the rotor thrusts and is given by $u = [u_x, u_z, 0, 0]^T$, where $u_x = -f \sin\phi$ and $u_z = f \cos\phi$, with $f$ being the total thrust magnitude and $\phi$ the roll angle. The damping force vector is $f_d = [-d_y \dot{y}, -d_z \dot{z}, -c_L \dot{L}, -d_\theta \dot{\theta}]^T$, where $d_y$, $d_z$, $c_L$, and $d_\theta$ are damping coefficients. The system exhibits properties such as a symmetric positive definite inertia matrix and skew-symmetry in the Coriolis matrix, i.e., $\dot{M}_c(q) – 2C(q, \dot{q})$ is skew-symmetric. Assumptions include the load always being below the quadrotor ($-90^\circ < \theta < 90^\circ$) and the load being a point mass coincident with the quadrotor’s center of mass.
The control objective is to drive the quadrotor to a desired position $(y_d, z_d)$ while suppressing load oscillations, i.e., $\lim_{t \to \infty} y(t) = y_d$, $\lim_{t \to \infty} z(t) = z_d$, and $\lim_{t \to \infty} \theta(t) = 0$. Position errors are defined as $e_y(t) = y(t) – y_d$ and $e_z(t) = z(t) – z_d$. To address unknown parameters such as load mass $m$ and damping coefficients, an adaptive control law is designed based on energy analysis. The total mechanical energy of the system is:
$$ E(t) = \frac{1}{2} \dot{q}^T M_c(q) \dot{q} + m g L (1 – \cos\theta) $$
Differentiating $E(t)$ with respect to time yields:
$$ \dot{E}(t) = \dot{q}^T (u + f_d – G(q)) + m g L \dot{\theta} \sin\theta $$
After substituting the expressions for $u$ and $f_d$, this simplifies to:
$$ \dot{E}(t) = u_x \dot{y} + u_z \dot{z} – d_y \dot{y}^2 – d_z \dot{z}^2 – c_L \dot{L}^2 – d_\theta \dot{\theta}^2 $$
The control inputs are designed as:
$$ u_x = -k_y e_y – k_{dy} \dot{y} + k_\theta \theta + k_L L + \hat{\omega}_x \phi_x $$
$$ u_z = -k_z e_z – k_{dz} \dot{z} + \hat{\omega}_z \phi_z $$
where $k_y$, $k_{dy}$, $k_\theta$, $k_L$, $k_z$, and $k_{dz}$ are positive control gains, $\hat{\omega}_x$ and $\hat{\omega}_z$ are estimates of unknown parameters $\omega_x = [d_y, m]^T$ and $\omega_z = [d_z, (M+m)g]^T$, and $\phi_x = [-\dot{y}, 1]^T$, $\phi_z = [-\dot{z}, 1]^T$. The parameter adaptation laws are:
$$ \dot{\hat{\omega}}_x = \gamma_x \phi_x (e_y + a \dot{y}) $$
$$ \dot{\hat{\omega}}_z = \gamma_z \phi_z (e_z + a \dot{z}) $$
where $\gamma_x$ and $\gamma_z$ are positive adaptation gains, and $a$ is a positive constant. The adaptation laws ensure that parameter estimates converge to their true values under persistent excitation conditions.
To prove stability, consider the Lyapunov candidate function:
$$ V(t) = \frac{1}{2} \dot{q}^T M_c(q) \dot{q} + \frac{1}{2} k_y e_y^2 + \frac{1}{2} k_z e_z^2 + m g L (1 – \cos\theta) + \frac{1}{2} \tilde{\omega}_x^T \Gamma_x^{-1} \tilde{\omega}_x + \frac{1}{2} \tilde{\omega}_z^T \Gamma_z^{-1} \tilde{\omega}_z $$
where $\tilde{\omega}_x = \omega_x – \hat{\omega}_x$ and $\tilde{\omega}_z = \omega_z – \hat{\omega}_z$ are parameter estimation errors, and $\Gamma_x$ and $\Gamma_z$ are positive definite matrices. Differentiating $V(t)$ along the system trajectories and substituting the control laws yields:
$$ \dot{V}(t) = -k_{dy} \dot{y}^2 – k_{dz} \dot{z}^2 – d_\theta \dot{\theta}^2 – c_L \dot{L}^2 – k_y e_y \dot{y} – k_z e_z \dot{z} + \tilde{\omega}_x^T \phi_x \dot{y} + \tilde{\omega}_z^T \phi_z \dot{z} $$
Using the adaptation laws, the terms involving parameter errors cancel out, resulting in:
$$ \dot{V}(t) \leq – \lambda \min\{k_{dy}, k_{dz}, d_\theta, c_L\} \| \dot{q} \|^2 – \frac{1}{2} k_y \frac{d}{dt} e_y^2 – \frac{1}{2} k_z \frac{d}{dt} e_z^2 $$
where $\lambda$ is a positive constant. Integrating both sides shows that $V(t)$ is bounded, and by Barbalat’s lemma, $\dot{q} \to 0$ and $e_y, e_z \to 0$ as $t \to \infty$. Thus, the quadrotor achieves position tracking and load oscillation suppression.
Simulations are conducted in MATLAB/Simulink to validate the proposed controller. The system parameters are set as $M = 2\, \text{kg}$, $m = 0.2\, \text{kg}$, $k = 20\, \text{N/m}$, $L_0 = 0.5\, \text{m}$, $g = 10\, \text{m/s}^2$, $d_y = 0.1$, $d_z = 0.1$, $c_L = 0.05$, $d_\theta = 0.1$. The control gains are chosen as $k_y = 4$, $k_{dy} = 2$, $k_\theta = 1$, $k_L = 0.5$, $k_z = 9$, $k_{dz} = 2$. The adaptation gains are $\gamma_x = 0.1$ and $\gamma_z = 0.1$. The initial quadrotor position is $(0.5, 0.3)$, and the desired position is $(1, 1)$. The simulation results demonstrate that the quadrotor reaches the target position within 4 seconds in the horizontal direction and 6 seconds in the vertical direction, with load oscillations suppressed to near zero within 2-5 seconds. The elastic rope length $L$ and thrust force $f$ converge smoothly to steady-state values, confirming the controller’s effectiveness.
| Parameter | Value | Description |
|---|---|---|
| $M$ | 2 kg | Quadrotor mass |
| $m$ | 0.2 kg | Load mass |
| $k$ | 20 N/m | Rope stiffness |
| $L_0$ | 0.5 m | Unstretched rope length |
| $g$ | 10 m/s² | Gravitational acceleration |
| $d_y$, $d_z$ | 0.1 | Damping coefficients |
| $c_L$ | 0.05 | Rope damping coefficient |
| $d_\theta$ | 0.1 | Swing damping coefficient |
| Gain | Value | Purpose |
|---|---|---|
| $k_y$ | 4 | Horizontal position error gain |
| $k_{dy}$ | 2 | Horizontal damping gain |
| $k_\theta$ | 1 | Swing angle gain |
| $k_L$ | 0.5 | Rope length gain |
| $k_z$ | 9 | Vertical position error gain |
| $k_{dz}$ | 2 | Vertical damping gain |
| $\gamma_x$ | 0.1 | Adaptation gain for $\omega_x$ |
| $\gamma_z$ | 0.1 | Adaptation gain for $\omega_z$ |
In conclusion, this paper presents a nonlinear adaptive control design for a quadrotor with an elastic suspension system. The controller effectively handles unknown parameters and ensures precise position tracking and oscillation suppression. Stability is guaranteed through Lyapunov analysis, and simulations confirm the approach’s robustness. Future work may explore real-world implementation and additional disturbances.
