Modern engineering applications increasingly rely on agile and stable aerial platforms. The quadrotor drone has emerged as a quintessential example, prized for its unique capabilities like vertical take-off and landing (VTOL) and stationary hovering. This versatility opens doors to a vast array of civilian and military applications, from aerial photography and inspection to search and rescue. However, the very features that make the quadrotor drone so useful also present significant control challenges. Its dynamics are inherently nonlinear, coupled, and underactuated—having four independent control inputs (rotor speeds) to manage six degrees of freedom (position and orientation). This complexity, compounded by external disturbances like wind gusts and internal model uncertainties, demands robust and adaptive control strategies.

Traditional control paradigms, notably the Proportional-Integral-Derivative (PID) controller, are widely used due to their simplicity and reliability. Yet, they operate on a principle of error feedback, reacting to disturbances only after they have affected the system’s output. This passive compensation can lead to sluggish response and significant tracking errors in the face of aggressive or unpredictable disturbances common in outdoor quadrotor drone flights. A more proactive approach is needed—one that can estimate and cancel disturbances in real-time before they degrade performance.
The Challenge of Disturbance Rejection and Parameter Tuning
Active Disturbance Rejection Control (ADRC) presents a powerful framework to address these limitations. Its core philosophy is to treat all internal dynamics uncertainties and external forces as a generalized “total disturbance,” which is then estimated in real-time by an Extended State Observer (ESO) and actively canceled in the control law. For a quadrotor drone, this means its attitude dynamics can be stabilized against unpredictable wind and model inaccuracies. A typical second-order nonlinear ADRC structure for one attitude channel (e.g., roll) consists of three key components:
- Tracking Differentiator (TD): Provides a smooth transition profile for the desired setpoint and its derivative.
- Extended State Observer (ESO): Estimates the system’s internal states and the total disturbance.
- Nonlinear State Error Feedback (NLSEF): Generates the control signal based on the error between TD outputs and ESO estimates.
The discrete-time algorithm for a quadrotor drone’s roll angle ($\phi$) control can be summarized as follows:
1. Tracking Differentiator (TD):
$$v_1(k+1) = v_1(k) + h \cdot v_2(k)$$
$$v_2(k+1) = v_2(k) + h \cdot fhan(v_1(k) – v_0(k), v_2(k), r, h_0)$$
where $v_0(k)$ is the desired roll angle, $v_1(k)$ tracks it, $v_2(k)$ is the estimated derivative, $r$ controls the tracking speed, $h$ is the sampling time, and $fhan(\cdot)$ is a nonlinear function.
2. Extended State Observer (ESO):
$$e(k) = z_1(k) – y(k)$$
$$z_1(k+1) = z_1(k) + h \left[ z_2(k) – \beta_{01} e(k) \right]$$
$$z_2(k+1) = z_2(k) + h \left[ z_3(k) – \beta_{02} fal(e(k), 0.5, \delta) + b_0 u(k) \right]$$
$$z_3(k+1) = z_3(k) – h \beta_{03} fal(e(k), 0.25, \delta)$$
Here, $y(k)$ is the measured roll angle, $z_1(k)$ and $z_2(k)$ estimate the state and its derivative, and $z_3(k)$ estimates the total disturbance. The parameters $\beta_{01}, \beta_{02}, \beta_{03}$ are observer gains, $b_0$ is a system parameter approximation, and $fal(\cdot)$ is another key nonlinear function.
3. Nonlinear State Error Feedback (NLSEF):
$$e_1(k) = v_1(k) – z_1(k)$$
$$e_2(k) = v_2(k) – z_2(k)$$
$$u_0(k) = \beta_1 fal(e_1(k), \alpha_1, \delta) + \beta_2 fal(e_2(k), \alpha_2, \delta)$$
$$u(k) = u_0(k) – \frac{z_3(k)}{b_0}$$
The final control signal $u(k)$ is sent to the quadrotor drone’s actuators. The controller gains $\beta_1$ and $\beta_2$ are critical for performance.
While theoretically robust, the practical application of nonlinear ADRC to a quadrotor drone is hindered by its numerous tuning parameters ($\beta_{01}, \beta_{02}, \beta_{03}, \beta_1, \beta_2, r, \delta$, etc.). Manual tuning is a time-consuming, experience-dependent process, and fixed parameters cannot adapt to changing flight conditions, potentially leading to suboptimal performance.
An Evolutionary Solution: The Seeker Optimization Algorithm
To achieve true self-tuning capability for the quadrotor drone’s ADRC, we turn to metaheuristic optimization. The Seeker Optimization Algorithm (SOA) is a population-based algorithm inspired by the behavior of human searching. It simulates a group of seekers (the population) collaborating and learning to find the optimal solution. Each seeker’s position in the D-dimensional search space represents a potential set of ADRC parameters. The algorithm uses fuzzy rules to determine step sizes and integrates three directional behaviors:
- Egocentric Behavior: Moving towards the seeker’s personal historical best position ($p_{i,best}$).
- Altruistic Behavior: Moving towards the neighborhood’s historical best position ($g_{i,best}$).
- Proactive Behavior: Moving based on a trend from recent positions.
The original SOA update for a parameter $x_{ij}$ of seeker $i$ in dimension $j$ is:
$$d_{ij,ego}(t) = p_{i,best,j} – x_{ij}(t)$$
$$d_{ij,alt}(t) = g_{i,best,j} – x_{ij}(t)$$
$$d_{ij,pro}(t) = x_{ij}(t_1) – x_{ij}(t_2)$$
$$d_{ij}(t) = sign(\varphi_1 d_{ij,pro} + \varphi_2 d_{ij,ego} + \varphi_3 d_{ij,alt})$$
$$\alpha_{ij}(t) = \delta_{ij} \sqrt{-\ln(u_{ij})}$$
$$\Delta x_{ij}(t+1) = \alpha_{ij}(t) d_{ij}(t)$$
$$x_{ij}(t+1) = x_{ij}(t) + \Delta x_{ij}(t+1)$$
where $\varphi$ are fixed weights, $\alpha$ is the step length, and $u$ is a membership degree based on fitness.
However, in optimizing complex systems like a quadrotor drone’s controller, the original SOA can suffer from slow convergence or getting trapped in local optima due to inflexible search direction weighting and step size determination.
Enhanced Adaptability: The Inertia-Term Modified SOA (SOAI)
To refine the algorithm for the dynamic tuning task of a quadrotor drone’s ADRC, we introduce two key modifications involving inertia terms, leading to the SOAI.
1. Adaptive Inertia Weight for Search Direction: Replacing the fixed coefficients ($\varphi$) with a dynamically decaying inertia weight ($\omega_{dir}$) balances global exploration and local exploitation over time.
$$\omega_{dir}(t) = \omega_{start} – (\omega_{start} – \omega_{end}) \times \frac{t}{T_{max}}$$
$$d_{ij}(t) = sign\left(\omega_{dir}(t)d_{ij,pro} + \omega_{dir}(t)d_{ij,ego} + \omega_{dir}(t)d_{ij,alt}\right)$$
This allows the quadrotor drone’s parameter search to broadly explore the space initially and finely tune later.
2. Stochastic Inertia for Step Size: The step size parameter $\delta_{ij}$ is crucial. We modify its calculation by introducing a stochastic inertia weight $\omega_{step}$ to prevent premature convergence.
$$\mu = \mu_{min} + (\mu_{max} – \mu_{min}) \cdot rand(0,1)$$
$$\omega_{step} = \mu + \sigma \cdot \mathcal{N}(0,1)$$
$$\delta_{ij} = \omega_{step} \cdot \lVert x_{min} – x_{max} \rVert$$
Here, $\mathcal{N}(0,1)$ is a standard normal random variable, adding a beneficial randomness to the search process for the quadrotor drone’s optimal parameters.
The Integrated SOAI-ADRC Framework for Quadrotor Drone Control
We integrate the SOAI as the brain for parameter auto-tuning within the ADRC structure for the quadrotor drone. The system operates in two interlinked phases:
Phase 1: Parameter Identification & Optimization. A population of seeker individuals is initialized, where each individual is a vector of five critical ADRC parameters to be tuned:
$$P_{individual} = [\beta_{01}, \beta_{02}, \beta_{03}, \beta_1, \beta_2]$$
The search space for each parameter is defined. The fitness of each individual is evaluated by running a simulation of the quadrotor drone’s closed-loop attitude control and calculating a cost function $J$ that penalizes tracking error, control effort, and overshoot:
$$J = \int_{0}^{T} \left( w_1 |e(t)| + w_2 u^2(t) \right) dt + w_3 \cdot OS_{penalty}$$
where $e(t)$ is the attitude error, $u(t)$ is the control signal, $w_i$ are weights, and $OS_{penalty}$ is a large penalty for overshoot, which is undesirable for stable quadrotor drone flight. The SOAI iteratively updates the population to minimize $J$.
Phase 2: Real-Time Control. Once the SOAI converges, the optimal parameter set is passed to the ADRC blocks (TD, ESO, NLSEF). These blocks then operate in real-time to control the quadrotor drone’s attitude. The ESO continually estimates disturbances (like wind), and the NLSEF generates counteracting control signals, ensuring stable and accurate flight.
The following table summarizes the role of key parameters in the SOAI-ADRC framework for a quadrotor drone:
| Component | Key Parameters | Role in Quadrotor Drone Control | Tuned by SOAI? |
|---|---|---|---|
| Extended State Observer (ESO) | $\beta_{01}, \beta_{02}, \beta_{03}$ | Govern the speed and accuracy of state & disturbance estimation. Critical for rejecting wind gusts. | Yes |
| Nonlinear Feedback (NLSEF) | $\beta_1, \beta_2$ | Determine the controller’s response to tracking error. Affect agility and damping of attitude movements. | Yes |
| Tracking Differentiator (TD) | $r, h_0$ | Shape the desired command profile. Prevent aggressive setpoint changes that stress motors. | No (set manually) |
| System Factor | $b_0$ | Approximates the control gain of the quadrotor drone’s attitude dynamics. | No (identified from model) |
| SOAI Algorithm | $\omega_{start}, \omega_{end}, \mu_{max}, \mu_{min}, \sigma$ | Control the optimization process’s exploration/exploitation balance and convergence speed. | No (algorithm settings) |
Simulation Analysis and Performance Evaluation
To validate the SOAI-ADRC approach, we conduct simulations on a widely accepted nonlinear dynamic model of a quadrotor drone. The model equations for attitude ($\phi, \theta, \psi$) and altitude ($z$) are given by:
$$
\begin{aligned}
\ddot{\phi} &= \frac{ l n_1 (\Omega_4^2 – \Omega_2^2) + I_R \dot{\theta} (-\Omega_1 + \Omega_2 – \Omega_3 + \Omega_4) + \dot{\psi}\dot{\theta}(I_z – I_y) }{I_x} \\
\ddot{\theta} &= \frac{ l n_1 (\Omega_3^2 – \Omega_1^2) + I_R \dot{\phi} (-\Omega_1 + \Omega_2 – \Omega_3 + \Omega_4) + \dot{\psi}\dot{\phi}(I_x – I_z) }{I_y} \\
\ddot{\psi} &= \frac{ n_2 (\Omega_2^2 + \Omega_4^2 – \Omega_1^2 – \Omega_3^2) + \dot{\phi}\dot{\theta}(I_y – I_x) }{I_z} \\
\ddot{z} &= \frac{ (\cos\theta \cos\phi) n_1 \sum_{i=1}^{4} \Omega_i^2}{m} – g
\end{aligned}
$$
where $l$ is arm length, $n_1, n_2$ are thrust/torque coefficients, $\Omega_i$ are rotor speeds, $I$ are moments of inertia, $I_R$ is rotor inertia, and $m$ is mass.
We focus on altitude and roll control, comparing three controllers:
1. ADRC: With manually tuned, fixed parameters.
2. SOA-ADRC: Using the original Seeker Optimization Algorithm for tuning.
3. SOAI-ADRC: Using our proposed Inertia-Term modified SOA for tuning.
1. Optimization Performance
The convergence of the fitness function $J$ during the parameter tuning phase clearly demonstrates the improvement. SOAI achieves a lower minimum fitness value (80.53 vs. 80.73 for SOA), indicating it finds a parameter set that minimizes tracking error and control effort more effectively for the quadrotor drone model. Its convergence curve is also steadier.
2. Dynamic Response & Tracking
For a step change in altitude command, SOAI-ADRC achieves a fast rise time comparable to SOA-ADRC (approximately 0.66s) and significantly faster than manual ADRC (1.03s). Crucially, both SOA and SOAI-ADRC maintain near-zero overshoot, a critical requirement for stable quadrotor drone operations like precision hovering or landing. The tracking error converges rapidly to zero.
3. Disturbance Rejection
We inject a persistent random disturbance signal (simulating turbulent wind) into the quadrotor drone’s roll channel during flight. The results are summarized below:
| Control Method | Max Deviation from Setpoint | Settling Time after Disturbance | Steady-State Error |
|---|---|---|---|
| Manual ADRC | High | Long | Visible fluctuation |
| SOA-ADRC | Medium | Medium | Very Small |
| SOAI-ADRC | Low | Short | Negligible |
The SOAI-ADRC controller, equipped with its optimally tuned ESO, demonstrates superior estimation and cancellation of the disturbance. The roll angle deviation is smallest and recovers quickest, showcasing excellent anti-disturbance capability for the quadrotor drone.
4. Robustness to Model Uncertainty
A practical quadrotor drone’s inertial parameters ($I_x, I_y, I_z$) can vary due to payload changes or manufacturing tolerances. We test robustness by varying these moments of inertia by ±30% from their nominal values. While all ADRC variants show inherent robustness, the SOAI-ADRC exhibits the most consistent performance. The plots for the roll angle step response under different inertia values are virtually indistinguishable for SOAI-ADRC, whereas manual ADRC and SOA-ADRC show more noticeable variation in their transient responses. This indicates that the parameter set found by SOAI is more robust to plant variations, a vital feature for real-world quadrotor drone deployment.
Conclusion
The integration of an enhanced metaheuristic algorithm with a robust control framework presents a compelling solution for autonomous flight control. This work has developed and validated a self-tuning Active Disturbance Rejection Controller (ADRC) for a quadrotor drone, where the critical controller and observer gains are autonomously optimized by a modified Seeker Optimization Algorithm featuring adaptive inertia terms (SOAI). The modifications in search direction and step size calculation address limitations of the original SOA, leading to more efficient and reliable convergence to an optimal parameter set.
Comprehensive simulation studies demonstrate that the proposed SOAI-ADRC system outperforms both manually tuned ADRC and the original SOA-tuned ADRC. Key performance metrics for the quadrotor drone—including dynamic response speed, rejection of external wind-like disturbances, and robustness to internal parameter uncertainties—are all significantly enhanced. The system effectively solves the practical problem of tedious manual parameter tuning while maintaining the powerful disturbance estimation and rejection capabilities that are essential for reliable quadrotor drone operation in complex environments. This intelligent, adaptive control strategy provides a strong foundation for developing more autonomous and resilient unmanned aerial vehicles capable of performing demanding tasks with high precision and stability.
