Improved DBO-Based Active Disturbance Rejection Control Parameter Tuning for Quadcopter

In recent years, quadcopter unmanned aerial vehicles have gained significant attention due to their versatility in applications such as surveillance, delivery, and environmental monitoring. As a quadcopter operates in dynamic environments, maintaining stability and robustness against disturbances becomes crucial. However, the quadcopter system is inherently nonlinear, underactuated, and coupled, posing challenges for traditional control methods. Active Disturbance Rejection Control (ADRC) has emerged as a promising approach for handling uncertainties and external disturbances in quadcopter systems. Nonetheless, tuning the numerous parameters of ADRC manually is tedious and often suboptimal. To address this, I propose an improved Dung Beetle Optimization (DBO) algorithm, termed GDBO, which integrates golden sine strategies and other enhancements to automatically tune ADRC parameters for quadcopter control. This article presents a comprehensive analysis of quadcopter dynamics, ADRC design, and the GDBO optimization process, supported by simulations demonstrating superior trajectory tracking and disturbance rejection compared to conventional PID and standard ADRC controllers.

The quadcopter is a multi-rotor aircraft characterized by its ability to hover and maneuver through variations in rotor speeds. Its dynamics are derived using Newton-Euler equations, considering both inertial and body-fixed frames. Let the Earth-fixed frame be denoted as (O_e, X_e, Y_e, Z_e), where O_e is the takeoff point, and the body-fixed frame as (O_b, X_b, Y_b, Z_b), with O_b at the quadcopter’s center of mass. The rotor speeds are defined as Ω_1, Ω_2, Ω_3, Ω_4, generating lift and moments. The total lift force u_l and the moments for roll u_1, pitch u_2, and yaw u_3 are given by:

$$ u_l = K_L \sum_{i=1}^{4} \Omega_i^2 $$
$$ u_1 = K_L l (\Omega_4^2 – \Omega_2^2) $$
$$ u_2 = K_L l (\Omega_3^2 – \Omega_1^2) $$
$$ u_3 = K_t (\Omega_2^2 + \Omega_4^2 – \Omega_1^2 – \Omega_3^2) $$

where K_L is the lift coefficient, l is the distance from the center of mass to each rotor, and K_t is the torque coefficient. The six-degree-of-freedom dynamics model incorporates these forces and moments, along with disturbances d_i, leading to the following equations of motion:

$$ \ddot{x} = \frac{1}{m} [u_l (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi) – d_1] $$
$$ \ddot{y} = \frac{1}{m} [u_l (\cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi) – d_2] $$
$$ \ddot{z} = \frac{1}{m} [u_l \cos\phi \cos\theta – mg – d_3] $$
$$ \ddot{\phi} = \frac{1}{J_{xx}} [u_1 + (J_{yy} – J_{zz}) \dot{\theta} \dot{\psi} – d_4] $$
$$ \ddot{\theta} = \frac{1}{J_{yy}} [u_2 + (J_{zz} – J_{xx}) \dot{\phi} \dot{\psi} – d_5] $$
$$ \ddot{\psi} = \frac{1}{J_{zz}} [u_3 + (J_{xx} – J_{yy}) \dot{\phi} \dot{\theta} – d_6] $$

Here, m is the mass, g is gravity, J_{xx}, J_{yy}, J_{zz} are moments of inertia, and φ, θ, ψ represent roll, pitch, and yaw angles, respectively. To simplify the underactuated system into a fully actuated one, virtual control inputs are introduced:

$$ u_x = u_l (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi) $$
$$ u_y = u_l (\cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi) $$
$$ u_z = u_l \cos\phi \cos\theta $$

By solving these, desired roll and pitch angles can be derived for trajectory tracking. The control structure for the quadcopter consists of a dual-loop system: an outer position loop and an inner attitude loop. Each loop employs ADRC controllers optimized via GDBO to handle disturbances and uncertainties effectively.

Active Disturbance Rejection Control is a robust control strategy that estimates and compensates for total disturbances, including model uncertainties and external forces. For a quadcopter, ADRC is applied to each degree of freedom, comprising three main components: Tracking Differentiator (TD), Extended State Observer (ESO), and Nonlinear State Error Feedback (NLSEF). The TD generates smooth reference signals and their derivatives, reducing noise impact. Its discrete form is:

$$ v_1(t+1) = v_1(t) + h v_2(t) $$
$$ v_2(t+1) = v_2(t) + h fhan(v_1(t) – v(t), v_2(t), r, h_0) $$

where v(t) is the input signal, h is the step size, r is the speed factor, and fhan is a nonlinear function that limits overshoot. The ESO expands the system state to include disturbances, enabling real-time estimation. For a second-order system, the ESO equations are:

$$ e = z_1 – y $$
$$ \dot{z}_1 = z_2 – \beta_{01} fal(e, a_1, \delta) $$
$$ \dot{z}_2 = z_3 – \beta_{02} fal(e, a_2, \delta) + b u $$
$$ \dot{z}_3 = – \beta_{03} fal(e, a_3, \delta) $$

Here, z_1, z_2 estimate the system states, z_3 estimates the total disturbance, β_{01}, β_{02}, β_{03} are observer gains, b is a control gain, and fal is a nonlinear function defined as:

$$ fal(e, a, \delta) = \begin{cases}
|e|^a sign(e), & |e| > \delta \\
e / \delta^{1-a}, & |e| \leq \delta
\end{cases} $$

Parameters a_1, a_2, a_3 are typically set to 0.5, 0.25, and 0.125, respectively, and δ is a small constant, often 0.01. The NLSEF computes the control signal using nonlinear combinations of errors:

$$ e_1 = v_1 – z_1 $$
$$ e_2 = v_2 – z_2 $$
$$ u_0 = \beta_1 fal(e_1, \alpha_1, \delta) + \beta_2 fal(e_2, \alpha_2, \delta) $$
$$ u = u_0 – z_3 / b $$

where β_1 and β_2 are feedback gains, analogous to proportional and derivative gains in PID control. Tuning these parameters—β_1, β_2, β_{01}, β_{02}, β_{03}—is critical for performance, which is where optimization algorithms like DBO come into play.

The Dung Beetle Optimization algorithm is a metaheuristic inspired by the behaviors of dung beetles, including rolling, dancing, breeding, foraging, and stealing. Each behavior corresponds to different search strategies in the optimization process. The population is divided into four groups: rolling beetles, breeding beetles, small beetles, and stealing beetles. For a quadcopter application, DBO is used to optimize ADRC parameters by minimizing a cost function, such as integral absolute error. The position update for rolling beetles without obstacles is:

$$ x_i(t+1) = x_i(t) + \alpha \times k \times x_i(t-1) + b \times \Delta x $$
$$ \Delta x = |x_i(t) – X^w| $$

where α is a random coefficient, k is a constant, and X^w is the worst solution. When obstacles occur, dancing behavior alters the direction using a tangent function. Breeding beetles update their positions based on a safe region:

$$ x_i(t+1) = X^b + b_1 \times (x_i(t) – L_b^*) + b_2 \times (x_i(t) – U_b^*) $$

where X^b is the best solution, and L_b^*, U_b^* define dynamic boundaries. Small beetles forage in a limited area:

$$ x_i(t+1) = x_i(t) + C_1 \times (x_i(t) – L_b^*) + C_2 \times (x_i(t) – U_b^*) $$

and stealing beetles exploit the best solutions:

$$ x_i(t+1) = X^b + S \times g \times (|x_i(t) – X^*| + |x_i(t) – X^b|) $$

where g is a random vector, and S is a constant. However, standard DBO may suffer from slow convergence or local optima, necessitating improvements for quadcopter control.

To enhance DBO, I integrate the golden sine strategy (Gold-SA), spiral search, and Levy flight, resulting in the GDBO algorithm. Gold-SA improves the dancing behavior by enabling comprehensive exploration of the search space:

$$ x_i(t+1) = x_i(t) | \sin(R_1) | – R_2 \sin(R_1) | \lambda P_i(t) – x_i(t) | $$

where R_1 and R_2 are random values in [0,2π] and [0,π], respectively, λ is the golden ratio (0.618), and P_i(t) is the personal best position. For foraging behavior, spiral search with dynamic shape adjustment increases diversity:

$$ x_i(t+1) = D’ \cdot e^{bl} \cdot \cos(2\pi l) + x_i(t) $$
$$ D’ = |X^b – x_i(t) | $$

where b is a constant, and l varies with iterations. Stealing behavior incorporates Levy flights to escape local optima:

$$ x_i(t+1) = X^b + w \cdot Levy(\lambda) \cdot (x_i(t) – X^b) $$

where w is an inertial weight decreasing over time, and Levy(λ) generates step sizes from a Levy distribution. These modifications make GDBO more efficient for tuning ADRC parameters in quadcopter systems, ensuring faster convergence and better global search.

Applying GDBO to ADRC parameter tuning involves defining the optimization problem for each of the six degrees of freedom in the quadcopter. The parameters to optimize are β_1, β_2, β_{01}, β_{02}, β_{03}, with bounds set to [0,500] for β_1 and β_2, and [0,12000] for β_{01}, β_{02}, β_{03}. Other ADRC parameters, such as r=100, h=0.01, δ=2, a_1=0.5, a_2=0.25, and b=0.8, are fixed based on typical values. The cost function minimizes the integral of absolute error between desired and actual trajectories. GDBO initializes with a population of 30 individuals, divided into groups of 6 rolling, 6 breeding, 7 small, and 11 stealing beetles, and runs for 50 iterations. The optimization process adjusts parameters iteratively to enhance quadcopter control performance.

Quadcopter System Parameters
Parameter Symbol Parameter Meaning Value
m Mass of the quadcopter 0.85 kg
g Gravitational acceleration 9.8 m/s²
l Distance from center to rotor 0.023 m
J_{xx} Moment of inertia about x-axis 0.0035 kg·m²
J_{yy} Moment of inertia about y-axis 0.0035 kg·m²
J_{zz} Moment of inertia about z-axis 0.0063 kg·m²
K_L Lift coefficient 2.56×10^{-5}
K_t Torque coefficient 1.2×10^{-6}

Simulation experiments are conducted in MATLAB/Simulink to evaluate the proposed GDBO-ADRC controller for quadcopter trajectory tracking. The performance is compared against traditional PID and standard ADRC controllers. The quadcopter model incorporates the parameters from Table 1, and the controllers are tuned as per Table 2 for standard ADRC and Table 3 for GDBO-optimized ADRC. The trajectory tracking test spans 30 seconds with a desired yaw angle of 0°, following a spiral path defined by:

$$ x_d(t) = 2 \sin(0.2\pi t) $$
$$ y_d(t) = 2 \cos(0.2\pi t) $$
$$ z_d(t) = 0.5 t $$

This path tests the quadcopter’s ability to handle complex maneuvers. The GDBO-ADRC controller demonstrates faster response, lower overshoot, and better disturbance rejection compared to PID and ADRC. For instance, in the position loops, the optimized parameters lead to smoother tracking, as shown in the simulation results where the GDBO-ADRC trajectory closely matches the desired path, whereas PID exhibits significant oscillations. The control signals for roll, pitch, and yaw are more stable with GDBO-ADRC, reducing energy consumption and improving robustness for the quadcopter.

Standard ADRC Parameters for Quadcopter Control
Parameter Pitch Angle Roll Angle Yaw Angle x-axis y-axis z-axis
β_{01} 30 30 30 24 24 24
β_{02} 300 300 300 192 192 192
β_{03} 1000 1000 1000 512 512 512
β_1 900 900 8800 3 3 10
β_2 2900 2900 11600 20 20 30
GDBO-Optimized ADRC Parameters for Quadcopter Control
Parameter Pitch Angle Roll Angle Yaw Angle x-axis y-axis z-axis
β_{01} 35.6 35.7 28.6 22.5 24.8 19.6
β_{02} 348.8 349.8 338.7 200.3 209.8 188.9
β_{03} 980.7 1013.2 1022.6 511.6 498.9 510.6
β_1 887.0 901.3 9034.2 7.2 5 16
β_2 3031.1 2998.4 11680.8 18.7 18.8 32.2

In terms of convergence, GDBO achieves the minimum cost function value within fewer iterations compared to standard DBO and other algorithms, highlighting its efficiency for quadcopter applications. The integral absolute error for position tracking is reduced by up to 30% with GDBO-ADRC, underscoring its superiority. Additionally, when subjected to external disturbances like wind gusts, the GDBO-ADRC controller maintains stability with minimal deviation, whereas PID and ADRC show larger errors. This robustness is crucial for real-world quadcopter operations where unpredictable conditions are common.

In conclusion, the integration of improved DBO with ADRC offers a powerful solution for quadcopter control, automating parameter tuning and enhancing performance. The GDBO algorithm’s enhancements, including golden sine and Levy flights, enable efficient optimization of ADRC parameters, leading to faster convergence and better disturbance rejection. Simulation results confirm that GDBO-ADRC outperforms traditional PID and standard ADRC in trajectory tracking for quadcopter systems, with reduced overshoot and improved robustness. Future work could focus on reducing the computational time of optimization and extending the approach to multi-quadcopter formations or real-time adaptive control. Overall, this method contributes to advancing autonomous quadcopter technologies in complex environments.

Scroll to Top