In recent years, quadcopters have gained significant attention due to their simple structure, low cost, and excellent flight capabilities. These unmanned aerial vehicles are underactuated systems with six degrees of freedom but only four control inputs, leading to inherent challenges in control design. The quadcopter’s dynamics are highly nonlinear and coupled, making them susceptible to parameter uncertainties and external disturbances. Traditional control methods, such as PID, often suffer from slow response and poor disturbance rejection. To address these issues, we propose a fuzzy linear active disturbance rejection control strategy based on an improved linear extended state observer. This approach enhances the quadcopter’s tracking performance and robustness by adaptively tuning controller parameters and accurately estimating disturbances.

The quadcopter dynamics involve translational and rotational motions. Let the earth-fixed frame be denoted as e and the body-fixed frame as b. The rotation matrix R transforms vectors from the body frame to the earth frame. The total lift force in the body frame is given by:
$$G_b = [0, 0, G]^T$$
where G is the sum of individual rotor thrusts. The rotation matrix is:
$$R = \begin{bmatrix}
C_\theta C_\psi & S_\phi S_\theta C_\psi – C_\phi S_\psi & S_\phi S_\psi + C_\phi S_\theta C_\psi \\
C_\theta S_\psi & C_\phi C_\psi + S_\phi S_\theta S_\psi & -S_\phi C_\psi + C_\phi S_\theta S_\psi \\
-S_\theta & S_\phi C_\theta & C_\phi C_\theta
\end{bmatrix}$$
where S and C denote sine and cosine functions, and φ, θ, ψ are roll, pitch, and yaw angles, respectively. The control inputs U1 to U4 are related to the rotor thrusts as:
$$\begin{bmatrix}
U_1 \\
U_2 \\
U_3 \\
U_4
\end{bmatrix}
=
\begin{bmatrix}
1/m & 1/m & 1/m & 1/m \\
-1/I_y & 1/I_y & 1/I_y & -1/I_y \\
-1/I_x & -1/I_x & 1/I_x & 1/I_x \\
-1/I_z & 1/I_z & -1/I_z & 1/I_z
\end{bmatrix}
\begin{bmatrix}
G_1 \\
G_2 \\
G_3 \\
G_4
\end{bmatrix}$$
The equations of motion for the quadcopter are derived using Newton-Euler formalism:
$$\begin{aligned}
\ddot{x} &= (S_\theta C_\phi C_\psi + S_\phi S_\psi)U_1/m – f_k \dot{x}/m \\
\ddot{y} &= (S_\theta C_\phi S_\psi – S_\phi C_\psi)U_1/m – f_k \dot{y}/m \\
\ddot{z} &= C_\theta C_\phi U_1/m – f_k \dot{z}/m – g \\
\ddot{\theta} &= U_3/I_y + (I_z – I_x)\dot{\phi}\dot{\psi}/I_y – f_k \dot{\theta}/I_y \\
\ddot{\phi} &= U_2/I_x + (I_y – I_z)\dot{\theta}\dot{\psi}/I_x – f_k \dot{\phi}/I_x \\
\ddot{\psi} &= U_4/I_z + (I_x – I_y)\dot{\theta}\dot{\phi}/I_z – f_k \dot{\psi}/I_z
\end{aligned}$$
Here, x, y, z are positions; θ, φ, ψ are angles; Ix, Iy, Iz are moments of inertia; m is mass; g is gravity; and fk is air resistance coefficient.
Linear active disturbance rejection control (LADRC) is designed to handle uncertainties and disturbances. For a second-order system:
$$\ddot{y}(t) = f(t) + b_0 u(t)$$
where f(t) represents the total disturbance. A linear extended state observer (LESO) estimates the states and disturbance:
$$\begin{aligned}
\dot{z}_1 &= z_2 – \beta_1 (z_1 – y) \\
\dot{z}_2 &= z_3 – \beta_2 (z_1 – y) + b_0 u \\
\dot{z}_3 &= -\beta_3 (z_1 – y)
\end{aligned}$$
The observer gains are parameterized by the observer bandwidth ωo:
$$\beta_1 = 3\omega_o, \quad \beta_2 = 3\omega_o^2, \quad \beta_3 = \omega_o^3$$
The control law compensates for the disturbance:
$$u = \frac{u_0 – z_3}{b_0}$$
and a PD controller is used:
$$u_0 = k_p (r – z_1) + k_d (\dot{r} – z_2)$$
with controller bandwidth ωc:
$$k_p = \omega_c^2, \quad k_d = 2\omega_c$$
To enhance performance, we integrate fuzzy logic with LADRC. The fuzzy controller adaptively adjusts b0, ωc, and ωo based on system error and its derivative. Additionally, a Levant tracking differentiator provides accurate derivative signals:
$$\begin{aligned}
v_0 &= -\lambda_1 |c_0 – a(t)|^{2/3} \text{sign}(c_0 – a(t)) + c_1 \\
v_1 &= -\lambda_2 |c_1 – v_0|^{1/2} \text{sign}(c_1 – v_0) + c_2 \\
v_2 &= -\lambda_3 \text{sign}(c_2 – v_1) \\
\dot{c}_0 &= v_0, \quad \dot{c}_1 = v_1, \quad \dot{c}_2 = v_2
\end{aligned}$$
This differentiator tracks the second derivative of the quadcopter output, improving disturbance estimation. The total disturbance is computed as:
$$f_L = c_1 – b_0 u$$
The fuzzy controller uses the disturbance estimation error and its derivative to adjust ωo, ensuring accurate disturbance rejection for the quadcopter.
Stability analysis for the pitch channel demonstrates bounded estimation error and closed-loop stability. Consider the state equation:
$$\begin{aligned}
\dot{x}_1 &= x_2 \\
\dot{x}_2 &= U_3/I_x – f_k x_2/I_x + x_3 \\
\dot{x}_3 &= l(t) \\
y &= x_1
\end{aligned}$$
The LESO is:
$$\begin{aligned}
\dot{z}_1 &= z_2 – 3\omega_o (z_1 – x_1) \\
\dot{z}_2 &= z_3 – 3\omega_o^2 (z_1 – x_1) – f_k z_2/I_x + U_3/I_x \\
\dot{z}_3 &= -\omega_o^3 (z_1 – x_1)
\end{aligned}$$
With estimation error α = x – z, the error dynamics are:
$$\dot{\alpha} = A_\alpha \alpha + d$$
where
$$A_\alpha = \begin{bmatrix}
-3\omega_o & 1 & 0 \\
-3\omega_o^2 & 0 & 1 \\
-\omega_o^3 & 0 & 0
\end{bmatrix}, \quad d = E l$$
Assuming bounded disturbance and its derivative, the estimation error remains bounded. The control law ensures tracking error convergence to zero, proving BIBO stability for the quadcopter system.
Simulations validate the proposed fuzzy-LADRC for quadcopter control. The quadcopter parameters are:
| Parameter | Value |
|---|---|
| fk | 0.012 Ns²/rad² |
| m | 1.5 kg |
| Ix | 0.01745 kg·m² |
| Iy | 0.01745 kg·m² |
| Iz | 0.03175 kg·m² |
| g | 9.8 m/s² |
Step response tests show improved tracking with fuzzy-LADRC. Rise times for position and yaw are summarized:
| Control Strategy | tr (x) | tr (y) | tr (z) | tr (ψ) |
|---|---|---|---|---|
| LADRC | 2.314 s | 2.103 s | 1.672 s | 0.564 s |
| FLADRC | 2.103 s | 1.883 s | 1.476 s | 0.463 s |
| Fuzzy-LADRC | 2.002 s | 1.815 s | 1.456 s | 0.426 s |
Under wind disturbances, the quadcopter’s robustness is evaluated. Disturbance signals are applied as:
| Disturbance | Amplitude | Time |
|---|---|---|
| Dx | 1.0, 1.2 | 16-20 s, 32-36 s |
| Dy | 1.0, 1.2 | 9-13 s, 28-32 s |
| Dz | 1.0, 1.2 | 13-17 s, 24-28 s |
Performance metrics include control energy Eu = ∫u² dt and ITAE = ∫|e|t dt. Results for fuzzy-LADRC show lower energy consumption and error:
| Control Strategy | Eu (U1) | Eu (U2) | Eu (U3) | Eu (U4) |
|---|---|---|---|---|
| LADRC | 12740.9 | 0.3558 | 0.4982 | 0.3782 |
| FLADRC | 12721.1 | 0.3164 | 0.4640 | 0.3329 |
| Fuzzy-LADRC | 12715.2 | 0.2952 | 0.4494 | 0.3182 |
| Control Strategy | ITAE (x) | ITAE (y) | ITAE (z) | ITAE (ψ) |
|---|---|---|---|---|
| LADRC | 38.9353 | 40.0090 | 27.2100 | 10.6036 |
| FLADRC | 34.5192 | 35.0078 | 25.1000 | 9.0736 |
| Fuzzy-LADRC | 32.8830 | 33.0508 | 24.3952 | 7.9303 |
The fuzzy controller uses triangular membership functions with seven linguistic variables: NB, NM, NS, ZO, PS, PM, PB. Rules for adjusting parameters are based on error and error derivative. For example, the rules for Δb0 are:
| e \ ec | NB | NM | NS | ZO | PS | PM | PB |
|---|---|---|---|---|---|---|---|
| NB | NB | NB | NM | NM | NS | ZO | ZO |
| NM | NB | NB | NM | NS | NS | ZO | PS |
| NS | NM | NM | NS | NS | ZO | PS | PM |
| ZO | NM | NM | NS | ZO | PS | PM | PM |
| PS | NS | NS | ZO | PS | PM | PM | PB |
| PM | ZO | ZO | ZO | PS | PM | PB | PB |
| PB | ZO | ZO | PS | PM | PB | PB | PB |
Similar tables exist for Δωc and Δωo. The final parameters are:
$$b_0 = b_{0in} + \Delta b_0, \quad \omega_c = \omega_{cin} + \Delta \omega_c, \quad \omega_o = \omega_{oin} + \Delta \omega_o$$
In conclusion, the proposed fuzzy-LADRC with improved LESO effectively handles quadcopter uncertainties and disturbances. The method simplifies parameter tuning and enhances disturbance estimation, leading to superior tracking and robustness. Future work will focus on adaptive observer bandwidth laws for further improvement in quadcopter control performance.
