Optimized Active Disturbance Rejection Control for Drone Formation Keeping

In recent years, drone formation flight has gained significant attention due to its applications in surveillance, delivery, and aerial displays. Maintaining precise formation poses challenges such as model uncertainties, external disturbances, and inter-drone coupling. Traditional control methods often struggle with these issues, leading to the adoption of advanced techniques like Active Disturbance Rejection Control (ADRC). ADRC excels in handling nonlinearities and disturbances without relying on precise models. However, tuning ADRC parameters is complex, especially for multi-channel systems in drone formation. To address this, I integrate Particle Swarm Optimization (PSO) to automate parameter tuning, enhancing performance in dynamic environments. This article details the design of an optimized ADRC controller for drone formation keeping, focusing on relative error models, controller structure, and simulation validation.

The core of drone formation control lies in maintaining relative positions between leader and follower drones. I establish a three-dimensional model based on relative position errors. Let the leader drone coordinates be \((X_1, Y_1, Z_1)\) and the follower coordinates be \((X_f, Y_f, Z_f)\). The desired relative distances are \((\Delta x^*_f, \Delta y^*_f, \Delta z^*_f)\), typically constants. The relative error vector \(\mathbf{E} = [E_x, E_y, E_z]^T\) is defined as:

$$
\mathbf{E} = \begin{bmatrix} X_1 – X_f \\ Y_1 – Y_f \\ Z_1 – Z_f \end{bmatrix}
$$

Assuming each drone is modeled as a point mass with first-order kinematics and autopilot dynamics, the equations of motion are:

$$
\begin{aligned}
\dot{X} &= V \sin \psi \sin \theta \\
\dot{Y} &= V \cos \psi \sin \theta \\
\dot{Z} &= V \cos \theta \\
\dot{\psi} &= \frac{1}{\tau_\psi} (\psi_c – \psi) + \omega_\psi \\
\dot{\theta} &= \frac{1}{\tau_\theta} (\theta_c – \theta) + \omega_\theta \\
\dot{V} &= \frac{1}{\tau_V} (V_c – V) + \omega_V
\end{aligned}
$$

Here, \((\psi, \theta, V)\) represent the yaw angle, pitch angle, and velocity, respectively; \((\psi_c, \theta_c, V_c)\) are control commands; \((\tau_\psi, \tau_\theta, \tau_V)\) are autopilot time constants; and \((\omega_\psi, \omega_\theta, \omega_V)\) denote external disturbances. For drone formation, the follower drone adjusts its commands to track the leader’s position. By differentiating the error vector and incorporating dynamics, I derive a second-order state-space model for each channel. For instance, the X-channel error dynamics can be expressed as:

$$
\ddot{E}_x = f_x(\mathbf{E}, \dot{\mathbf{E}}, \omega) + b_{0x} u_x
$$

where \(f_x\) encapsulates couplings and disturbances, \(b_{0x}\) is a input coefficient, and \(u_x\) is the control input (e.g., velocity command \(V_{fc}\)). Similarly, for Y and Z channels, inputs are yaw command \(\psi_{fc}\) and pitch command \(\theta_{fc}\), respectively. This formulation allows treating cross-channel couplings as disturbances, estimated and compensated by ADRC. The unified model for each channel is:

$$
\begin{aligned}
\dot{x}_1 &= x_2 \\
\dot{x}_2 &= f(x_1, x_2, \omega) + b_0 u
\end{aligned}
$$

where \(x_1 = E\) (relative error), \(x_2 = \dot{E}\), and \(u\) is the control input. This model serves as the basis for designing the ADRC controller.

The ADRC controller comprises three key components: Tracking Differentiator (TD), Extended State Observer (ESO), and Nonlinear State Error Feedback (NLSEF). For drone formation keeping, each channel (X, Y, Z) has its own ADRC instance to handle decoupled control after disturbance compensation.

First, the TD arranges a transient process for the desired reference signal. Given a desired relative position \(\nu_0\) (e.g., \(\Delta x^*_f\)), the TD generates a smooth tracking signal \(\nu_1\) and its derivative \(\nu_2\). Using the fast optimal synthesis function \(fhan\), the discrete-time TD is:

$$
\begin{aligned}
fh(k) &= fhan(\nu_1(k) – \nu_0(k), \nu_2(k), r, h) \\
\nu_1(k+1) &= \nu_1(k) + T \cdot \nu_2(k) \\
\nu_2(k+1) &= \nu_2(k) + T \cdot fh(k)
\end{aligned}
$$

where \(T\) is the sampling period, \(r\) is the speed factor, and \(h\) is the filtering factor. For drone formation, I set \(T = 0.01\, \text{s}\), \(r = 2\), and \(h = 3T = 0.03\, \text{s}\) to balance rapid tracking and noise suppression.

Second, the ESO estimates the total disturbance, including model uncertainties and couplings. For a second-order system, the ESO extends the state vector to include disturbance \(x_3 = f\). The discrete-time ESO is:

$$
\begin{aligned}
e(k) &= z_1(k) – y(k) \\
fe_1(k) &= fal(e(k), \alpha_1, \delta) \\
fe_2(k) &= fal(e(k), \alpha_2, \delta) \\
z_1(k+1) &= z_1(k) + T \cdot (z_2(k) – \beta_1 e(k)) \\
z_2(k+1) &= z_2(k) + T \cdot (z_3(k) – \beta_2 fe_1(k) + b_0 u(k)) \\
z_3(k+1) &= z_3(k) – T \cdot \beta_3 fe_2(k)
\end{aligned}
$$

Here, \(y\) is the measured output (relative error), \(z_1\) estimates \(x_1\), \(z_2\) estimates \(x_2\), and \(z_3\) estimates the disturbance \(f\). The nonlinear function \(fal\) is defined as:

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

with typical parameters \(\alpha_1 = 0.5\), \(\alpha_2 = 0.25\), and \(\delta\) as a tuning parameter. The gains \(\beta_1, \beta_2, \beta_3\) are critical for estimation accuracy and are optimized using PSO for drone formation scenarios.

Third, the NLSEF computes the control law based on error signals. Let \(e_1 = \nu_1 – z_1\) and \(e_2 = \nu_2 – z_2\). The preliminary control \(u_0\) is derived via nonlinear combination:

$$
u_0 = fhan(e_1, e_2, r, h)
$$

The final control input compensates for the estimated disturbance:

$$
u = \frac{u_0 – z_3}{b_0}
$$

This structure enables robust tracking despite disturbances in drone formation. The overall ADRC architecture for one channel is summarized in Table 1.

Table 1: ADRC Components for Drone Formation Keeping
Component Function Key Parameters
Tracking Differentiator (TD) Generates smooth reference and derivative \(r\) (speed factor), \(h\) (filter factor)
Extended State Observer (ESO) Estimates states and total disturbance \(\beta_1, \beta_2, \beta_3\) (gains), \(\delta\) (nonlinear factor)
Nonlinear State Error Feedback (NLSEF) Computes control law based on errors \(r, h\) (same as TD for consistency)

To optimize the ESO gains \(\beta_1, \beta_2, \beta_3\) for drone formation, I employ Particle Swarm Optimization (PSO). PSO is a population-based algorithm inspired by bird flocking, suitable for global optimization. Each particle represents a candidate solution \((\beta_1, \beta_2, \beta_3)\), and the swarm iteratively updates positions to minimize a fitness function. For drone formation control, the fitness function \(J\) combines tracking error and control effort:

$$
J = \int_0^t \left[ \omega_1 \tau |e(\tau)| + \omega_2 u^2(\tau) \right] d\tau
$$

where \(e(\tau)\) is the instantaneous relative error, \(u(\tau)\) is the control input, and \(\omega_1, \omega_2\) are weighting factors (set to 0.5 each). This ensures a balance between rapid convergence and actuator limits. The PSO update equations for particle \(i\) are:

$$
\begin{aligned}
\mathbf{v}_i(t+1) &= \omega_n \mathbf{v}_i(t) + c_1 r_1 (\mathbf{p}_i – \mathbf{x}_i(t)) + c_2 r_2 (\mathbf{p}_g – \mathbf{x}_i(t)) \\
\mathbf{x}_i(t+1) &= \mathbf{x}_i(t) + \mathbf{v}_i(t+1)
\end{aligned}
$$

where \(\mathbf{x}_i\) is the position vector \((\beta_1, \beta_2, \beta_3)\), \(\mathbf{v}_i\) is the velocity, \(\mathbf{p}_i\) is the personal best, \(\mathbf{p}_g\) is the global best, \(\omega_n = 0.8\) is inertia weight, \(c_1 = c_2 = 2\) are learning factors, and \(r_1, r_2\) are random numbers in \([0,1]\). The search ranges are set based on typical ADRC values: \(\beta_1 \in [0, 220]\), \(\beta_2 \in [0, 1000]\), \(\beta_3 \in [0, 5000]\). PSO runs for 100 iterations with a population of 100 particles per channel. The optimized gains improve ESO convergence and disturbance rejection in drone formation. Table 2 lists the PSO parameters.

Table 2: PSO Parameters for Optimizing Drone Formation ADRC
Parameter Value Description
Population size 100 Number of particles per channel
Iterations 100 Maximum optimization cycles
Inertia weight \(\omega_n\) 0.8 Balances exploration and exploitation
Learning factors \(c_1, c_2\) 2, 2 Accelerate toward personal/global best
Velocity bounds [-1,1; -2,2; -5,5] Limits for \(\beta_1, \beta_2, \beta_3\) updates
Position bounds [0,220; 0,1000; 0,5000] Search ranges for \(\beta_1, \beta_2, \beta_3\)

After optimization, the ESO gains for each channel in drone formation are obtained. For example, in the X-channel, \(\beta_{1x} = 200.1\), \(\beta_{2x} = 589.4\), \(\beta_{3x} = 3869.1\). These values enhance estimation accuracy compared to initial guesses. The overall control structure for drone formation keeping is depicted in Figure 1, integrating TD, ESO, and NLSEF with PSO-optimized parameters.

To validate the optimized ADRC controller for drone formation, I conduct simulations in MATLAB/Simulink. The scenario involves a leader drone and a follower drone in 3D space. The leader flies at a constant velocity of 200 m/s with initial yaw \(\psi = 45^\circ\) and pitch \(\theta = 45^\circ\). The follower starts at coordinates \((-200, 100, 100)\) m with initial velocity 200 m/s, yaw \(60^\circ\), and pitch \(60^\circ\). The desired relative positions are \(E_x = 100\) m, \(E_y = 0\) m, \(E_z = 100\) m. Autopilot time constants are \(\tau_V = 5\), \(\tau_\psi = 3\), \(\tau_\theta = 3\). External disturbances are modeled as Gaussian noise with zero mean and standard deviation 0.2. The simulation step size is 0.01 s.

The results show that the optimized ADRC achieves precise formation keeping. The relative errors converge to zero with minimal overshoot and steady-state error. For instance, the X-channel error \(E_x\) settles within 0.1 m after 5 seconds. The control inputs remain smooth and within practical limits, thanks to the fitness function’s penalty on control effort. To quantify performance, I define key metrics: settling time \(T_s\) (time to reach within 2% of final value), overshoot \(O_s\), and integral absolute error (IAE). Table 3 summarizes these metrics for each channel.

Table 3: Performance Metrics for Drone Formation Keeping
Channel Settling Time \(T_s\) (s) Overshoot \(O_s\) (%) IAE (m·s)
X (velocity control) 4.2 1.5 12.3
Y (yaw control) 3.8 0.8 10.7
Z (pitch control) 4.5 1.2 13.5

The ESO’s estimation performance is critical for disturbance rejection. The estimated disturbance \(z_3\) quickly tracks the actual total disturbance, with steady-state estimation errors below 0.05 m/s² for all channels. This validates the PSO-optimized gains. Additionally, I test the controller under maneuvering conditions. At \(t = 15\) s, the leader executes a turn with yaw rate \(5^\circ/\text{s}\) and acceleration \(2\) m/s² for 20 seconds, then reverses to \(-5^\circ/\text{s}\) and \(-2\) m/s². The follower maintains formation with errors under 0.5 m during maneuvers, demonstrating robustness. The control laws adapt smoothly, as shown by the following equations for the X-channel during maneuver:

$$
\begin{aligned}
u_x(t) &= \frac{fhan(e_1(t), e_2(t), r, h) – z_3(t)}{b_{0x}} \\
b_{0x} &= -\frac{1}{\tau_V} \sin \psi_f \sin \theta_f
\end{aligned}
$$

where \(\psi_f\) and \(\theta_f\) are the follower’s estimated angles. The nonlinear feedback ensures rapid correction without oscillations. To further analyze stability, I linearize the closed-loop system around equilibrium. The characteristic equation for each channel approximates a second-order system with damping ratio \(\zeta \approx 0.9\) and natural frequency \(\omega_n \approx 2\) rad/s, indicating well-damped responses suitable for drone formation.

The optimized ADRC offers several advantages for drone formation. First, it decouples channels by treating couplings as disturbances, simplifying control design. Second, PSO automation reduces tuning time from hours to minutes, making it practical for multi-drone systems. Third, the controller adapts to varying conditions, such as wind gusts or model changes, thanks to real-time disturbance estimation. However, challenges remain, including computational load for real-time PSO and scalability to large formations. Future work could explore distributed ADRC with communication constraints.

In conclusion, I designed a parameter-optimized ADRC controller for drone formation keeping. By modeling relative errors and integrating PSO-tuned ESO gains, the controller achieves high-precision tracking with robustness to disturbances. Simulations confirm effectiveness in static and maneuvering scenarios. This approach enhances autonomous drone operations, paving the way for reliable formation flight in complex environments. The integration of optimization and nonlinear control holds promise for advanced multi-agent systems beyond drone applications.

The mathematical foundation of ADRC lies in its ability to handle nonlinearities. For drone formation, the key is the \(fhan\) function, defined piecewise for efficiency. In continuous time, it approximates optimal control for double-integrator systems. The discrete version used here is:

$$
\begin{aligned}
d &= r h^2 \\
a_0 &= h x_2 \\
y &= x_1 + a_0 \\
a_1 &= \sqrt{d(d + 8|y|)} \\
a_2 &= a_0 + \frac{\text{sign}(y)(a_1 – d)}{2} \\
s_y &= \frac{\text{sign}(y + d) – \text{sign}(y – d)}{2} \\
a &= (a_0 + y – a_2)s_y + a_2 \\
s_a &= \frac{\text{sign}(a + d) – \text{sign}(a – d)}{2} \\
fhan &= -r \left( \frac{a}{d} – \text{sign}(a) \right) s_a – r \text{sign}(a)
\end{aligned}
$$

This function ensures fast convergence without chattering, crucial for smooth drone movement. Moreover, the \(fal\) function in ESO provides nonlinear gains that improve estimation near zero error. For drone formation, I set \(\delta = 0.1\) for the X-channel and \(\delta = 0.03\) for Y and Z channels, based on error scales.

To illustrate the parameter optimization process, Table 4 shows the evolution of PSO fitness values over iterations for the X-channel. The fitness decreases monotonically, indicating convergence to optimal gains.

Table 4: PSO Fitness Convergence for X-Channel Drone Formation
Iteration Best Fitness \(J\) \(\beta_1\) \(\beta_2\) \(\beta_3\)
1 150.2 180.0 600.0 4200.0
25 45.6 195.3 580.1 4000.5
50 22.3 200.0 589.0 3870.2
100 18.7 200.1 589.4 3869.1

The control performance can be further analyzed through frequency response. The linearized ADRC has a bandwidth of approximately 10 rad/s, sufficient for drone formation dynamics where disturbances typically occur below 5 Hz. The phase margin exceeds \(60^\circ\), ensuring stability under delays. For multi-drone formations, the controller can be extended to \(N\) drones by defining relative errors between neighbors, leading to a networked control system. The ADRC’s disturbance rejection minimizes propagation of errors across the formation.

In summary, this article presents a comprehensive approach to drone formation keeping using optimized ADRC. The synergy of nonlinear control and swarm intelligence enhances autonomy and reliability, critical for real-world deployments. Future directions include hardware-in-the-loop testing and integration with path planning algorithms for fully autonomous drone swarms.

Scroll to Top