Next Article in Journal
Modeling and Simulation of Urban Laser Countermeasures Against Low-Slow-Small UAVs
Previous Article in Journal
An End-to-End Solution for Large-Scale Multi-UAV Mission Path Planning
Previous Article in Special Issue
Neural Network-Based Path Planning for Fixed-Wing UAVs with Constraints on Terminal Roll Angle
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

High-Precision Trajectory-Tracking Control of Quadrotor UAVs Based on an Improved Crested Porcupine Optimiser Algorithm and Preset Performance Self-Disturbance Control

1
College of Future Technology for Intelligent Ocean, Harbin Engineering University, Harbin 150001, China
2
College of Mechanical Engineering, Taiyuan University of Technology, Taiyuan 030024, China
3
Faculty of Engineering, The University of Hong Kong, Hong Kong 999077, China
*
Author to whom correspondence should be addressed.
Drones 2025, 9(6), 420; https://doi.org/10.3390/drones9060420
Submission received: 28 April 2025 / Revised: 30 May 2025 / Accepted: 4 June 2025 / Published: 8 June 2025

Abstract

In view of the difficulties encountered when tuning parameters and the lack of anti-interference capabilities exhibited by high-precision trajectory-tracking control of quadrotor UAVs in complex dynamic environments, this paper proposes a fusion control framework based on an improved crowned pig optimisation algorithm (ICPO) and preset performance anti-disturbance control (PPC-ADRC). Initially, this paper addresses the limited convergence efficiency of the traditional crowned pig algorithm (CPO) by introducing a dynamic time threshold mechanism and an adaptability-based directed elimination strategy to balance the algorithm’s global exploration and local development capabilities. This results in a significant improvement in the convergence speed and optimisation accuracy. Secondly, a hierarchical control architecture is designed, with the outer loop using a PPC-ADRC controller to dynamically constrain the tracking error boundary using an exponential performance funnel function and a combined state observer (ESO) to estimate the compound disturbance in real time. The inner-loop attitude control uses ADRC, and the 24-dimensional parameters of the ADRC (including the ESO bandwidth and non-linear feedback gain) are optimised autonomously using the ICPO to achieve efficient parameter tuning. The simulation experiments demonstrate that, in comparison with the original CPO, the ICPO attains an average fitness ranking that is superior in the CEC2014–2022 benchmark test, thereby substantiating its global optimisation capability. In the PPC-ADRC controller parameter optimisation, the preset performance of the ICPO-tuned PPC-ADRC controller (PPC-ADRC) is superior to that of the particle swarm optimisation (PSO), genetic algorithm (GA) and original CPO. The ICPO-based PPC-ADRC controller is shown to reduce the total error by more than 45.6% compared to the ordinary ADRC controller in the task of tracking a spiral trajectory, and it effectively reduces the overshoot. Its capacity to withstand complex wind disturbances is notably superior to that of the traditional PID and ADRC architectures. Stability analysis further proves that the system satisfies the Lyapunov convergence condition in a finite time. This research provides a theoretical foundation for the high-precision control of UAVs in complex dynamic environments.

1. Introduction

Quadrotor UAVs have been shown to offer significant advantages in complex environment inspection [1], autonomous logistics [2] and disaster relief [3] due to their high mobility and flexible deployment capabilities. Nevertheless, their underactuated characteristics, strong non-linear dynamic models and susceptibility to external disturbances render high-precision trajectory tracking and robust control challenging. Although traditional PID control [4] has a simple structure, it has limitations, such as large steady-state errors and empirical parameter tuning difficulty in dynamic environments [5,6]. Adaptive disturbance rejection control (ADRC) is a methodology that estimates and compensates for disturbances in real time using an extended state observer (ESO), thereby significantly improving the system’s anti-interference ability. However, its multi-parameter coupling characteristics result in inefficient tuning [7], thus limiting its practical engineering applications.
In recent years, the combination of intelligent optimisation algorithms and the self-tuning of controller parameters has become a research hotspot. Particle swarm optimisation (PSO) and genetic algorithms (GAs) are widely used to improve controller performance and tune controller parameters. However, traditional algorithms are prone to local optima in high-dimensional parameter spaces and have insufficient search efficiency. For example, an adaptive disturbance rejection controller (ADRC) based on improved particle swarm algorithm optimisation was proposed. By introducing an adaptive adjustment mechanism for the inertia weight, the problem of ADRC parameter tuning being dependent on experience is solved and the practical performance of the controller is improved [8]. In view of the problem of excessive ADRC parameters and difficulty in tuning in the attitude control of quadrotor aircraft, a particle swarm optimisation algorithm with variable weights and hybridisation has been proposed. By dynamically adjusting the inertia weights and introducing hybrid evolution, it avoids falling into local optima. The optimised controller shows good control effects in the attitude control of quadrotor aircraft [9]. In order to address the difficulty of ADRC parameter tuning, a modified genetic algorithm was proposed. By establishing a target evaluation function for the control effect of the controller and comprehensively considering the dynamic performance and input constraints, the optimised ADRC controller performed well in terms of its anti-interference ability and fast response [10]. In addition, a four-rotor ADRC controller parameter optimisation method based on an improved artificial bee colony algorithm has also been proposed. Through adaptive exploration and development strategies, the global search ability and convergence speed of the algorithm have been improved [11]. In the control of permanent magnet synchronous motors, a study combined the particle swarm optimisation algorithm with an improved FAL function for ADRC parameter tuning, which significantly reduced the overshoot and shortened the regulation time [12].
In addition, the optimal design of a self-immune controller based on an improved ant colony search algorithm (BAS) has also received widespread attention. The study proposed an improved ant colony search algorithm that solves the problem of premature convergence that is prone to occur in the later stages of the traditional BAS algorithm by introducing a quantum evolution strategy. The improved algorithm is used to optimise the parameters of the self-immune controller (ADRC), which significantly improves the control accuracy and response speed and is suitable for complex engineering problems [13]. At the same time, an artificial fish swarm algorithm (AFSA)-based self-resonant controller optimisation method was proposed. A hybrid algorithm composed of the AFSA and particle swarm optimisation (PSO) was used to optimise the ADRC parameters. By combining the advantages of the two, the method showed good control performance in UAV attitude control [14] and verified the effectiveness of the optimisation design for ADRC in complex systems.
However, the majority of extant methods utilise conventional intelligent optimisation algorithms, with particle swarm optimisation and genetic algorithms being notable examples. However, these methods continue to encounter challenges, such as the constrained convergence speed and vulnerability to local optima, in achieving a dynamic balance between global exploration and local development. They cannot adjust the parameters in the face of dynamic disturbances adaptively and regulate the computational complexity arising from the coupling of high-dimensional parameters. The beetle antennae search algorithm is a single-objective optimisation algorithm suitable for low-dimensional fast optimisation, but it has limited global search ability and is prone to local optima in high dimensions; the artificial fish swarm algorithm is a swarm algorithm suitable for complex multi-objective problems. However, the high computational cost of the swarm coordination mechanism limits its application in real-time control systems.
In light of these limitations, this study proposes the crown-crested porcupine optimisation algorithm (CPO) [15], which emulates the cooperative defence behaviour of the crown-crested porcupine to establish a dynamically balanced global exploration and local development mechanism. This approach offers a novel biomimetic solution for the optimisation of high-dimensional non-linear ADRC controller parameters.
The CPO [16] is an emerging bionic optimisation strategy that balances global exploration and local exploitation capabilities by simulating the multimodal defence behaviour of the crested porpoise, including vision, hearing, smell and physical attacks. Nevertheless, the CPO’s fixed elimination mechanism does not fully consider individual differences in fitness, resulting in limited convergence efficiency. The present paper proposes an improved CPO (ICPO) algorithm to address this problem. The exploration–exploitation ratio is dynamically adjusted by introducing a time-varying deterministic threshold (Tz), and a directed elimination strategy based on fitness [17,18] is designed to optimise the pressure distribution of the population.
Furthermore, the ICPO is deeply integrated with preset performance self-adaptive disturbance rejection control (PPC-ADRC). PPC-ADRC dynamically constrains the tracking error through the exponential performance funnel function ϖ(t) and compensates for compound disturbances in real time with the ESO. In contrast, the ICPO autonomously optimises the numerous parameters of the ADRC (including 24-dimensional parameters such as the ESO bandwidth and non-linear feedback gain), thereby circumventing the limitations of conventional methods that depend on empirical parameter adjustment.
The main innovations in this paper are as follows. First, the improved crowned pig optimisation (ICPO) algorithm is improved. Through a dynamic thresholding mechanism and an adaptive elimination strategy, it effectively balances global exploration and local development capabilities, improving the convergence speed and global optimisation efficiency. Second, a deep integration framework of the ICPO and PPC-ADRC is constructed, which uses a preset performance function to constrain the error boundary dynamically and uses the ICPO to realise self-tuning of ADRC parameters. It overcomes the limitations of traditional methods that rely on empirical parameter tuning, providing an efficient and robust solution for UAV control in complex environments. Finally, dual-platform simulation using MATLAB (https://www.mathworks.com/products/matlab.html) and RflySim further verifies the superior response performance of PPC-ADRC and the effectiveness of the ICPO parameter tuning. The above innovations enable a compelling exploration of high-precision UAV control in complex dynamic environments and the self-tuning of ADRC controller parameters with both efficiency and reliability.
The full text is structured as follows. Section 2 establishes a dynamic model of a quadrotor UAV and designs a hierarchical control architecture. Section 3 proposes an improved crown porcupine optimisation algorithm and describes its fusion mechanism with ADRC. Section 4 verifies the theoretical reliability of the control system through stability analysis. Section 5 presents the results of the simulation experiments and comparative analysis. Finally, the full text concludes and looks forward to future research directions.

2. Modelling of Four-Rotor UAVs

2.1. Mathematical Modelling of Quadcopter UAVs

In this study, a quadrotor with a typical “X” configuration (the nose of the aircraft is marked in red and is at an angle of 45° to the plane of the frame) is selected as the research object. In order to accurately characterise the dynamic properties of the vehicle, two sets of spatial reference systems, the ground inertial coordinate system ( O A x A , y A , z A ) and the airframe coordinate system ( O B x B , y B , z B ), are established, as shown in Figure 1, where the Z-axis of the inertial coordinate system points to the centre of the Earth vertically. The Z-axis of the airframe coordinate system has the centre of mass of the vehicle as the origin, and the Z-axis coincides with the direction of the thrust vector.
In the process of establishing the mathematical model, the following basic assumptions are followed in this study:
(1)
the aircraft is a rigid body with complete geometric and structural symmetry;
(2)
the mass characteristics and rotational moment of inertia of the system are kept constant;
(3)
the geometrical centre of symmetry and the spatial position of the centre of mass coincide.
Based on the above assumptions, the classical Newton–Euler method is used to establish the complete dynamical equations containing the motion of six degrees of freedom in space, and the mathematical model characterising the spatial motion of the quadrotor is finally derived, as shown in Equation (1).
x ¨ y ¨ z ¨ ϕ ¨ θ ¨ ψ ¨ = f M ( cos ϕ sin θ cos ψ + sin ψ sin ϕ ) ο 1 M x ˙ + d 1 f M ( cos ϕ sin θ cos ψ cos ψ sin ϕ ) ο 2 M y ˙ + d 2 g f M cos ϕ c o s θ ο 3 M z ˙ + d 3 1 I x x ( τ x + ( I y y I z z ) θ ˙ ψ ˙ ) ο 4 I x x ϕ ˙ + d 4 1 I y y ( τ y + ( I z z I x x ) ϕ ˙ ψ ˙ ) ο 5 I y y θ ˙ + d 5 1 I z z ( τ z + ( I x x I y y ) ϕ ˙ θ ˙ ) ο 6 I z z ψ ˙ + d 6
The position and velocity vectors of the quadrotor UAV in the inertial coordinate system are defined as χ = [ x , y , z ] T and χ ˙ = [ x ˙ , y ˙ , z ˙ ] T , respectively. The attitude angle and angular velocity of the UAV in the body coordinate system are Φ = [ ϕ , θ , ψ ] T , i.e., the roll angle, the pitch angle, and the yaw angle, and Φ ˙ = [ ϕ ˙ , θ ˙ , ψ ˙ ] T denotes the angular velocity of the UAV on the body, respectively.
According to Figure 1, the relationship between the total lifting force f and moment of the “X” UAV and the actual rotational speed of its motors can be expressed as follows:
f τ x τ y τ z = C T C T C T C T 2 2 l C T 2 2 l C T 2 2 l C T 2 2 l C T 2 2 l C T 2 2 l C T 2 2 l C T 2 2 l C T C m C m C m C m ϖ 1 2 ϖ 2 2 ϖ 3 2 ϖ 4 2
The formula above C T denotes the propeller thrust coefficient, C m represents the propeller torque coefficient, l represents the radius of the UAV fuselage and ϖ i ( i = 1 , 2 , 3 , 4 ) indicates the actual speed of the motor.

2.2. Quadcopter UAV Control System Design

In view of the underactuated characteristics of the quadrotor UAV, it is divided into four independent control channels: an Z -axis altitude channel, a cascade channel X θ , another cascade channel Y ϕ , and a yaw channel ψ . The altitude and yaw channels are controlled by control inputs f d and control inputs τ 2 , respectively, while the cascade pitch X θ and roll Y ϕ channels are controlled by control inputs τ y and τ x . The specific control scheme is shown in Figure 2.
(1)
ADRC design with preset performance for the outer loop
In Figure 2, the quadrotor UAV position loops are all controlled by the PPC-ADRC controller (ADRC controller with preset performance), which includes the TD (differential tracker), the ESO (extended state observer), and the feedback control law in the PPC-ADRC controller. Among them, the TD (differential tracker) and ESO (extended state observer) are defined in this study as shown in Equations (3) and (4).
x ˙ 1 i = x 2 i x ˙ 2 i = f h a n ( x 1 i r d i , x 2 i , r i , h )
In the TD (differential tracker), r d i represents the reference input datum and x 1 i is the tracking signal output, while x 2 i characterises its first-order differential signal; the adjustment coefficients r i determine the convergence rate of the differential tracker (TD), and the size of the filtering parameter h is the same as the time step of the system, where the fhan function is defined as follows:
d = r i h 2 a 0 = h x 2 i y = x 1 i r d i + a 0 a 1 = d ( d + 8 y ) a 2 = a 0 + sgn ( y ) a 1 d 2 s y = s i g n ( y + d ) s i g n ( y d ) 2 a = ( a 0 + y a 2 ) s y + a 2 s a = s i g n ( a + d ) s i g n ( a d ) 2 f h a n = r i ( a d s i g n ( a ) s a r i s i g n ( a ) )
In a complex ESO (extended state observer), the gain coefficients β 01 , β 02 , β 03 affect the observation performance by weighting the dynamic response of each error channel. The control inputs u i act on the dynamic equations of the observer through the control law gain coefficients b i , forming a closed-loop correction to the system excitation signal.
z ˙ 1 i = z 2 i β 01 ( z 1 i y i ) z ˙ 2 i = z 3 i β 02 f a l ( z 1 i y i , 0.5 , Δ ) + b i u i z ˙ 3 i = β 03 f a l ( z 1 i y i , 0.25 , Δ )
Combining the outputs of the differential tracker and the extended state observer, we can define the controller error as:
e 1 i = x 1 i z 1 i e 2 i = x 2 i z 2 i
where e 1 i denotes the difference between the output of the TD (differential tracker) x 1 i and the first-order estimate of the system state z 1 i by the ESO, and e 2 i is the difference between the output of the TD (differential tracker) x 2 i and the second-order estimate of the system state z 2 i by the ESO.
In order to ensure the dynamic and steady-state performance of the system, we use a preset performance function ϖ ( t ) to constrain the error e 1 i , so that e 1 i , e 2 i   <   ϖ ( t ) . The preset performance function is defined as follows:
ϖ z ( t ) = ( ϖ z 0 ϖ z T ) e λ 2 t + ϖ z T
where the initial parameter ϖ 0 denotes the initial tolerance range of the system error, and ϖ T is the residual error threshold when the system enters the steady-state phase while lim x ϖ t = ϖ T is satisfied. The function constructs a time-varying funnel-type performance envelope through the exponential contraction mechanism of ϖ 0 to ϖ T .
In order to solve the problem of the restricted control error of the restricted preset performance and simplify the design of the control feedback law, we made the conversion of restricted error e 1 i , e 2 i , so that it is converted to the unbounded error s 1 i , s 2 i . This paper defines the error conversion function as:
s = tan π e 2 ϖ t
The control feedback law u 0 i = k 1 s 1 i k 2 s 2 i is designed for the unbounded error s 1 i , s 2 i and the final controller output u i = u 0 i z 3 i b i is obtained after adding the perturbation compensation, where k 1 , k 2 denotes the control feedback law gain and b i denotes the control law gain for perturbation compensation.
In summary, the structure of the final PPC-ADRC controller is shown in Figure 3:
(2)
Quadrotor kinematic decoupling and dynamic command mapping
In order to meet the design requirements of the hierarchical control system of the multi-rotor vehicle, this paper constructs the outer-loop position control of three axes (x,y,z), as shown in Figure 4, which adopts the pre-programmed performance self-resistant controller (PPC-ADRC), and its outputs u x , u y , u z are mapped by the under-driven kinematic model of the quadrotor, which generates the reference commands for the inner-loop attitudes. In the specific realisation, the vertical channel (z-axis) outer loop generates the total lift control quantity f d through the output u z ; the lateral plane (x- and y-axes) outer-loop output u x , u y is decoupled into the reference trajectory of the roll angle ϕ d and the pitch angle θ d through the constructed decoupling Equation (8) [16], which is shown in the dynamic decoupling Equation (8).
f d = m g + m u z cos ϕ cos θ ϕ d = arcsin ( m u y cos ψ m u x sin ψ f d ) θ d = arcsin ( m u y cos ψ m u x sin ψ f d )
When the system satisfies the small angle assumption ( ϕ 0 , θ 0 ) and the heading angle value is set to ψ d = 0 , the non-linear coupling term in the dynamic decoupling Equation (8) can be linearised into the simplified model shown in Equation (9). This simplified model significantly reduces the computational complexity of the attitude control loop.
ϕ d = m u y f d θ d = m u x f d
(3)
Inner-loop ADRC controller design
The core components of the inner-loop ADRC controller are the same as the outer-loop preset performance ADRC principle, but the inner loop uses the original error to construct a linear error feedback mechanism u 0 = k p e 1 i + k d e 2 i with u i = u 0 i z 2 i b i , discarding the constraints of the preset performance function in the outer loop, and the specific structure of its controller is shown in Figure 4.

3. Crested Porcupine Optimiser (CPO) Principle and Improvements: Integration with ADRC

In this study, the crown porcupine optimisation (CPO) algorithm is introduced into the self-adjoint control (ADRC) parameter tuning and its population reduction strategy (CPR) is improved. Simulation experiments verify the advantages of the improved CPO in ADRC parameter tuning.

3.1. Crested Porcupine Optimiser (CPO) Principle

The crested porcupine optimiser (CPO) is a novel meta-heuristic algorithm inspired by the various defensive behaviours of the crested porcupine in nature, which contains 4 different protective mechanisms: visual, auditory, olfactory and physical attacks to recognise the aggressiveness of alien species. As shown in Figure 5, this diagram represents the whole process of the CPO algorithm.
(1)
Population initialisation
Similar to most meta-heuristic population algorithms, the initial population search process for the CPO is:
X i = L + r × U L i = 1 , 2 , , N
where the population size N indicates the number of individuals, X i is the i-th candidate solution in the search space, L and U are the lower and upper boundaries of the search range, respectively, and r is a vector.
(2)
Division of the exploration phase
In the figure, according to the comparison results of generating random numbers τ 8 and τ 9 , decide whether its next step is to enter the exploration phase or the development phase [15].
If τ 8 < τ 9 , enter the exploration stage. At this time, the algorithm focuses on finding potential solutions in a larger search space based on the relationship between the generated random numbers, chooses the visual defence strategy or the sound defence strategy, and simulates the defence behaviour of the crown porcupine in the natural environment to search for a new solution space.
In the exploration stage, if τ 6   <   τ 7 , a visual defence strategy is adopted. At this time, for the crown porcupine, the alien species has two possibilities: to continue to approach or to stay away. A normal distribution is used to generate random values and judge the size to simulate these two situations. If its absolute value is less than 1, it will continue to approach the crown porcupine, and vice versa, to stay away. The mathematical model is as follows:
X i t + 1 = X i t + τ 1 × 2 × τ 2 × X CP t y i t
where X C P t is the best obtained solution for the function evaluation t , y i t is a vector generated in the midst between the current CP and a CP selected randomly from the population to represent the position of a predator at iteration t , τ 1 is a random number based on the normal distribution, and τ 2 is a random value in the interval of 0 , 1 . The mathematical formula y i t represents the vector generated between the current individual and a random individual.
In the exploration stage, if τ 6 τ 7 , an acoustic defence strategy is adopted. The sound defence strategy unfolds when the alien species approaches a certain degree, and the crown porcupine starts to make noise to warn the alien species, and the sound will increase with the shortening of the distance, and the mathematical model is as follows:
X i t + 1 = 1 U 1 × X i t + U 1 × y + τ 3 × X r 1 t X r 2 t
where r 1 and r 2 are two random integers between 1 , N , and τ 3 is a random value generated between 0 and 1 .
If τ 8 τ 9 , then enter the development phase, focusing on the optimisation of the existing better solution.
Development phase: based on the comparison of the generated random numbers τ 10 and parameters T f , the olfactory defence strategy or the physical attack defence strategy is selected to refine and improve the current solution locally.
In the development stage, if τ 10   <   T f , the odour defence strategy is selected. At this time, the crown porcupine secretes an odour in the surrounding area to play a warning role, and its mathematical model is as follows:
X i t + 1 = 1 U 1 × X i t + U 1 × X r 1 t + S i t × X r 2 t X r 3 t τ 3 × δ × γ t × S i t
where r 3 is a random number between 1 , N , δ is a parameter used to control the search direction, X i t is the position of the i t h individual at iteration t , γ t is the defence factor, τ 3 is a random value within the interval [0, 1], and S t i is the odour diffusion factor.
In the development stage, if τ 10 T f , a physical attack defence strategy is chosen. At this time, the crown porcupine launches a physical attack on the other party, and its mathematical model is as follows:
X i t + 1 = X C P t + α 1 τ 4 + τ 4 × δ × X C P t X i t τ 5 × δ × γ t × F i t
where X C P t is the best obtained solution and represents the CP, X i t is the position of the i t h individual at iteration t and represents the position’s predator, α is a convergence speed factor, τ 4 is a random value within the interval 0 , 1 , and F i t is the average force of the CP that affected the i t h predator.
After finding the fitness, determine whether the current optimal solution meets the preset requirements. If so, the algorithm ends and outputs the optimal solution; if not, then continue to iterate. After each iteration, the number of individuals in the population participating in the search next time is adjusted according to the number of iterations, and its specific adjustment formula is as follows:
N = N min + N N min × 1 t % T max T T max T
This formula N min represents the minimum population size, meaning that the population size will never fall below this minimum value, and N represents the maximum population size. The loop variable for the second loop is T .

3.2. Optimisation Algorithm Design

(1)
Defects of classical crown porcupine optimisation
The classical CPO algorithm adopts a fixed elimination mechanism based on the descending order of individual numbers in the dynamic reduction phase of the population size of the cyclic population reduction, which does not adequately consider the impact of individual fitness differences on the convergence efficiency of the algorithm.
(2)
Improvement method
To address the above problems, this study proposes an improved CPO algorithm, which optimises the distribution of the selection pressure during population iteration by introducing a directed elimination strategy based on an individual fitness assessment. The flowchart of the improved CPO algorithm is shown in Figure 6.
In the figure, we can find that compared with the original CPO algorithm flowchart, this paper implements two improvement measures:
(a)
fitness-based individual ranking operator is constructed to reorder individuals based on their fitness values L x i , and the individuals are sorted in ascending order L x 1 L x 2 L x N max to ensure that low-fitness individuals are prioritised for elimination when adjusting the number of individuals in the population in each round of the cycle, thus enhancing the selection pressure.
(b)
The generation of random numbers τ 9 in the original algorithm is changed to a time-varying deterministic threshold T z :
0.7 , t T max 0.2 0.5 , 0.2 < t T max 0.95 0.2 , t T max > 0.95
where t is the current number of iterations of the algorithm, and T max is the maximum number of iterations. The design follows the principle of the “exploration–exploitation trade-off”: at the beginning, the high value T z promotes a global search to break through the local optimum; in the middle, the equilibrium state maintains the diversity of the population; and at the end, the low value T z accelerates the local convergence, which is in line with the demand for dynamic adjustment of the algorithm optimisation process.
It allows this paper to artificially balance the proportion of the exploration phase (finding new solution spaces) and the development phase (optimising existing solutions) in the CPO algorithm.

3.3. Integration of Active Disturbance Rejection Control (ADRC) and Crested Porcupine Optimiser Algorithm (CPO)

(1)
Combination of ADRC and ICPO
In the self-resilient control (ADRC) system, the cumulative tracking error is used as a fitness function to evaluate the performance, considering the accurate evaluation of the global performance of the parameters, and the performance evaluation function used is
E I S E = t 1 t 0 e 2 t d t
where a high value E I S E indicates poor performance and a low value E I S E indicates good performance.
The crowned porcupine optimisation (ICPO) algorithm was used for the ADRC parameter optimisation with the objective of minimising the fitness function E I S E . The ICPO has a time-varying selection characteristic and uses visual and acoustic defence strategies to find better parameters in the exploration phase, and it uses scent and physical attack defence strategies to optimise the existing parameters in the development phase, as well as using the boundary bounce mechanism to deal with the out-of-bounds individuals.
When iterating, the ADRC parameters are updated according to the group fitness, the global and local searches are balanced, the 24-dimensional parameters of the ADRC control framework position loop (3 independent outer-loop preset performance channels) and attitude loop (3 channels) are adjusted, and the TD gain and ESO observer parameters are adjusted, so as to improve the efficiency and accuracy of the ADRC parameter optimisation [19,20]. In summary, the final integration pseudocode is as follows:
   Pseudocode for a quadrotor PPC-ADRC + ADRC control system with CPO parameter tuning
Input: reference trajectory instruction χ r e f = x r e f   y r e f   z r e f , desired yaw angle ψ d
Output: angle of attitude Φ = ϕ   θ   ψ , control input u ( t )
BEGIN
1. Initialise system parameters: L a , L p , L q , inertia matrix I , quality m , arm length L , thrust coefficient k t , drag coefficient k d
2. ICPO parameter tuning process
                Define the vector of optimisation parameters:
                 P = b p o s β 01 , p o s β 02 , p o s β 03 , p o s k 1 , p o s k 2 , p o s   b a t t β 01 , a t t β 02 , a t t β 03 , a t t k 1 , a t t k 2 , a t t
                define upper and lower bounds: l b u b
                Define CPO optimisation parameters: population size: P o p _ s i z e , maximum number of iterations T max , dimension dim .

                Define fitness function: f ( P ) = w e r r o r t = 0 t max e r r o r

             CPO algorithm:
                Initialise population P o p _ s i z e , dim
                Evaluate initial population fitness: f i t n e s s ( P o p _ s i z e )
                Update global best solution G b _ S o l and global best fitness G b _ F i t

                For t = 0 to T max
                      For i = 0 to P o p _ s i z e
                            If τ 8 < T z :
                                 Exploration stage:
                                      If τ 6 < τ 7 :
                            visual defence strategy: X i t + 1 = X i t + τ 1 × 2 × τ 2 × X CP t y i t
                                      If τ 6 τ 7 :
                                 sound defence strategy: X i t + 1 = 1 U 1 × X i t + U 1 × y + τ 3 × X r 1 t X r 2 t
                      If τ 8 T z :
                           development stage:
                                If τ 10 < T f :
                           olfactory defence strategy:
                            X i t + 1 = 1 U 1 × X i t + U 1 × X r 1 t + S i t × X r 2 t X r 3 t τ 3 × δ × γ t × S i t
                                If τ 10 T f :
                                     Physical attack defence strategy:
                                      X i t + 1 = X C P t + α 1 τ 4 + τ 4 × δ × X C P t X i t τ 5 × δ × γ t × F i t
                    Boundary handling
                    evaluate the fitness of the new solution
                    update the individual best solution and the global best solution
                  End For
                  Update population size P o p _ s i z e : N = N min + N N min × 1 t % T max T T max T
           End For
           optimal parameter set P b e s t = G b _ S o l

3. Initialise the controller using the optimal parameters P b e s t position control parameter:
b p o s , β 01 , p o s , β 02 , p o s , β 03 , p o s , k 1 , p o s , k 2 , p o s ,
           posture control parameter: b a t t , β 01 , a t t , β 02 , a t t , β 03 , a t t , k 1 , a t t , k 2 , a t t ,
          Initialise the preset performance function
      parameters: ϖ 0 = 15 , ϖ T = 0.5 , λ = 0.01
           initial state: x 1 = 0 , x 2 = 0 , z 1 = 0 , z 2 = 0 , z 3 = 0 , u p r e v = 0
4. Definition of a non-linear function
            Predefined performance functions: ϖ ( t ) = ( ϖ 0 ϖ T ) e λ t + ϖ T

           Error conversion function definition: s = tan ( π e 2 ϖ ( t ) )
               f t p p f ( e 1 , e 2 , ϖ 0 , ϖ T , λ , t ) = ( tan ( π e 1 2 ϖ ( t ) ) , tan ( π e 1 2 ϖ ( t ) ) )
5. Start quadcopter tracking control loop
              For t = 0 to t f i n a l
              Obtain the desired states x d ( t ) , y d ( t ) , z d ( t ) , ψ d ( t )
              Obtain the current states x ( t ) , v ( t ) , Φ ( t ) , Φ ˙ ( t )
              For i = 1 to 3: //location tracking control
              Corresponds to the x-, y-, and z-axes—Update the state of the tracking differentiator:
                               x ˙ 1 i = x 2 i x ˙ 2 i = f h a n ( x 1 i r d i , x 2 i , r i , h )
                              Update the expansion status observer (ESO) status:
                               z ˙ 1 i = z 2 i β 01 ( z 1 i y i ) z ˙ 2 i = z 3 i β 02 f a l ( z 1 i y i , 0.5 , Δ ) + b i · u i z ˙ 3 i = β 03 f a l ( z 1 i y i , 0.25 , Δ )
                              Apply preset performance function transformation:
                               e 1 = x 1 i z 1 i e 2 = x 2 i z 2 i
                               ( s 1 , s 2 ) = f t p p f ( e 1 , e 2 , ϖ 0 , ϖ T , λ , t )
                              computational control law:
                               u 0 = k 1 i s 1 + k 2 i s 2 u = u 0 z 3 i b i
                               u = u x , u y , u z ; i = 1 , 2 , 3
                         End For
                         Calculate desired roll and pitch angles:
                      ϕ d = arcsin ( m u y cos ψ m u x sin ψ f d ) θ d = arcsin ( m u y cos ψ m u x sin ψ f d )
           For i = 1 to 3: //Posture control cycle calculation
                     Update the pose tracker differentiator state:
                      x ˙ 1 i = x 2 i x ˙ 2 i = f h a n ( x 1 i r d i , x 2 i , r i , h )
                     Update the posture expansion state observer:
                      z ˙ 1 i = z 2 i β 01 ( z 1 i y i ) z ˙ 2 i = z 3 i β 02 f a l ( z 1 i y i , 0.5 , Δ ) + b i u i z ˙ 3 i = β 03 f a l ( z 1 i y i , 0.25 , Δ )
                     calculate posture control:
                      e 1 = x 1 i z 1 i e 2 = x 2 i z 2 i
                      u 0 = k 1 i e 1 + k 2 i e 2 u = u 0 z 3 i b i
                      u = u a t t = u ϕ , u θ , u ψ ; i = 1 , 2 , 3
                     (Note: The PPC-ADRC + ADRC is not required for the yaw angle’s control input u ψ . As it is only a first-order system, the yaw angle ψ can be directly controlled by the inner-loop ADRC controller, which outputs u ψ .)
             End For
       //Final control input calculation
             u 1 = m ( g + u z ) u 2 = I u a t t
             u = u 1 u 2
       Calculation of the motor speed from thrust and torque:
         F = ( T M ) 1 u
         w i = F i k t , i = 1 , 2 , 3 , 4
       Real-time assessment of the quadrotor response
       Apply control inputs w i to the motors
       Measure and record state variables, errors and performance indicators
    End For
END
(2)
Improved CPO(ICPO) vs. classical CPO algorithms on CEC benchmarks
This section aims to investigate the CPO with ICPO in solving four challenging CEC benchmarks (CEC2017, CEC2014, CEC2020 and CEC2022). All the algorithms were implemented in MTALB R2019a, in which T max was limited to 100,000 for all the CEC benchmarks, and each algorithm was run independently 20 times. The population sizes of these algorithms were set as suggested in the original reference, while the suggested population size for CPO was set to 130.
(a)
Comparative analysis of the CEC2014 benchmark test
The CPO algorithm and the winning algorithm in terms of the CEC competition were run independently 30 times, respectively, and the fitness values obtained by each algorithm on the CEC2014 test function set were statistically analysed. The specific indexes include the mean (Avg), standard deviation (SD) and rank (Rank), and the relevant results are summarised in Appendix A, Table A1.
In terms of the average fitness ranking, among the 29 test functions, the ICPO algorithm ranks first in the average fitness ranking on 24 of them. It indicates that under the test scenarios of these functions, the average fitness of the ICPO algorithm is significantly better than that of the CPO algorithm. The CPO algorithm has a leading average fitness ranking on 5 functions (with function IDs of 5, 11, 27, and 28), performing more excellently than the ICPO algorithm. For the function with function ID 23, the average fitness rankings of the CPO and ICPO algorithms are the same, both being 1.5.
In terms of the fitness standard deviation ranking, the ICPO algorithm ranks first on 14 functions, which means that during the testing of these functions, the stability of its fitness (i.e., the standard deviation is relatively smaller) is better than that of the CPO algorithm. The CPO algorithm has a leading fitness standard deviation ranking on 13 functions, with a rank of 1, indicating that on these functions, the fitness stability of the CPO algorithm is stronger than that of the ICPO algorithm. For the function with function ID 23, the fitness standard deviation rankings of the CPO and ICPO algorithms are the same, both being 1.5.
The following Figure 7 shows a comparison of the convergence curves of the CPO and ICPO for F16 and F25
Overall, the ICPO algorithm significantly demonstrates superiority or strong competitiveness on 24 test functions because its average fitness ranking on these 24 functions is 1; it performs comparably to the CPO algorithm on 1 function (function ID 23); and it is only slightly inferior to the CPO algorithm on the remaining 4 functions. In summary, the ICPO algorithm demonstrates better performance than the CEC competition-winning algorithm on the vast majority of test functions in the CEC2014 benchmark test.
(b)
Comparative analysis of the CEC2017 benchmark test
For the CEC2017 benchmark test, the ICPO algorithm and the CPO algorithm were also run independently 30 times, and the adaptation values obtained by each algorithm were analysed in terms of the average adaptation, standard deviation, and ranking. The relevant results are shown in Appendix A, Table A2.
In the CEC2017 benchmark test, in terms of the average fitness ranking, among the 29 test functions, the ICPO algorithm ranked first (with a rank of 1) in the average fitness for 22 functions (such as those with function IDs 1, 4, 5, etc.), demonstrating its superiority over the CPO algorithm. The CPO algorithm, on the other hand, ranked first (with a rank of 1) in the average fitness for 5 functions with function IDs 3, 8, 20, 24, 25, and 26, outperforming the ICPO algorithm. For the functions with function IDs 9 and 23, the average fitness rankings of the two algorithms were the same, both being 1.5.
Regarding the fitness standard deviation ranking, the ICPO algorithm ranked first (with a rank of 1) for 13 functions, indicating that its fitness stability was better than that of the CPO algorithm. The CPO algorithm also ranked first (with a rank of 1) for 13 functions, showing that its fitness stability was superior to that of the ICPO algorithm in these functions. For the functions with function IDs 9 and 23, the fitness standard deviation rankings of the two algorithms were both 1.5.
The following Figure 8 shows the comparison of the convergence curves of the CPO and ICPO for F16 and F25.
Overall, the ICPO algorithm demonstrated superiority or competitiveness in 22 test functions, performed comparably to the CPO algorithm in 2 functions with function IDs 9 and 23, and was slightly inferior to the CPO algorithm in the remaining 5 functions. Moreover, the average value of the ranking scores of each algorithm in the table showed that the ICPO algorithm ranked first. In summary, the ICPO algorithm demonstrated better performance than the CPO algorithm on the vast majority of test functions in the CEC2017 benchmark.
(c)
Comparative Analysis of CEC2020 Benchmarks
In this subsection, experiments are carried out for the CEC2020 test suite, and the CPO algorithm and the CEC competition-winning algorithm are run independently 30 times, respectively. The obtained fitness values are statistically analysed, and the results are shown in Appendix A, Table A3.
In the analysis of the CEC2020 test suite, from the perspective of the average fitness ranking, among the 10 test functions, the ICPO algorithm ranked first in average fitness on 6 functions with function IDs 3, 4, 5, 6, 8, and 10, demonstrating a better average fitness than the CPO algorithm. For example, in the function with function ID 3, its advantage is obvious. The CPO algorithm ranked first in average fitness on 3 functions, with function IDs 1, 7, and 9 showing more outstanding performance. For instance, in the function with function ID 1, the result is prominent. In addition, for the function with function ID 4, although the ICPO algorithm ranked first, the performances of the two algorithms are close, with a small gap in average fitness levels.
In terms of the fitness standard deviation ranking, the ICPO algorithm ranked first on 4 functions with function IDs 7, 9, 1, and 3, indicating better fitness stability. For example, in the function with function ID 7, the fitness fluctuation is smaller. The CPO algorithm ranked first on 5 functions with function IDs 4, 5, 6, 8, and 10, showing stronger fitness stability. For example, in the function with function ID 5, the performance is more stable.
By synthesising the average fitness ranking and fitness standard deviation ranking, the ICPO algorithm has an advantage in 6 test functions, is close to the CPO in the function with function ID 4, and lags behind the CPO in 3 functions. It indicates that in the 10—10-function test of the CEC2020 test suite, the ICPO algorithm has considerable overall performance and certain competitiveness. The following Figure 9 compares the convergence curves of CPO and ICPO for F9 and F10.
Based on its excellent ranking performance on most of the test functions, the CPO algorithm can be classified as a high-performance optimisation algorithm, and the experimental results in this subsection further validate the high-performance property of the CPO algorithm.
(d)
Comparative Analysis of CEC2022 Benchmark
This subsection evaluates the performance of the newly released challenging benchmark CEC2022. The benchmark contains 12 test functions classified into four categories: single-peak, multi-peak, combined and hybrid. In Appendix A, Table A3 shows the results of the analysis of the fitness values obtained by each algorithm in 30 independent runs.
In the in-depth analysis of the CEC2022 benchmark test, from the perspective of the average fitness ranking, within the evaluation system of all 12 test functions, the ICPO algorithm achieved first place in the average fitness ranking for 10 functions with function IDs 1, 3, 4, 5, 6, 7, 8, 9, 10, and 12. This result strongly demonstrates that compared with the CPO algorithm, the ICPO algorithm can achieve a better average fitness level during the optimisation process of the above-mentioned functions. Especially, taking the function with function ID 1 as an example, its advantage is fully manifested. In contrast, the CPO algorithm only achieved first place in the average fitness ranking for two functions with function IDs 11 and 12, and in the function with function ID 11, its average fitness result is also quite outstanding.
From the dimension of the fitness standard deviation ranking, the ICPO algorithm won first place in the fitness standard deviation ranking for 6 functions with function IDs 1, 3, 4, 5, 6, 9, and 10, which fully indicates that the algorithm exhibits more excellent fitness stability on these functions, that is, its fitness fluctuation range is relatively smaller, with the function of function ID 1 as a typical example. The CPO algorithm, on the other hand, achieved first place in the fitness standard deviation ranking for 4 functions with function IDs 7, 8, 11, and 12, which means that under the test scenarios of these functions, the CPO algorithm shows stronger fitness stability.
By evaluating based on the dual indicators of the average fitness ranking and the fitness standard deviation ranking, the ICPO algorithm has established significant advantages in as many as 10 test functions and only lags behind the CPO algorithm in 2 functions. This data clearly shows that within the overall scope of the 12 functions covered by the CEC2022 test, the ICPO algorithm demonstrates strong competitiveness with its more outstanding comprehensive performance. The CPO algorithm only ranked first in the average fitness for 2 functions and first in the fitness standard deviation for 4 functions.
The following Figure 10 compares the convergence curves of the CPO and ICPO for F4 and F8.
Overall, the ICPO algorithm has demonstrated excellent performance in the vast majority of functions in the CEC2022 test. The two key aspects of the average fitness ranking and the fitness standard deviation ranking show significant advantages compared with the CPO algorithm, thus fully reflecting its strong competitiveness as a high-performance optimisation algorithm.
(3)
Optimised Crowned Porcupine Optimisation of ADRC Parameters
In order to verify the effect of the improved crown porcupine optimisation algorithm (ICPO) on the parameter optimisation, we will propose in this paper to improve the crown porcupine optimisation algorithm (ICPO), the traditional crown porcupine optimisation algorithm with the traditional particle swarm optimisation (PSO) algorithm, the conventional genetic algorithm for the PPC-ADRC controller parameter optimisation, and optimisation of the core parameters of the controller have the core parameters b , w 0 , k 1 , k 2 .
The algorithm parameters are set as follows: the number of particles for all the algorithms N is set to 100, the maximum number of iterations M is 30, the optimisation range of parameter b of the ADRC controller is set to [0.1, 50], and the optimisation range of the parameters of the feedback law parameter k 1 , k 2 and the observer bandwidth w 0 is set to [0.1, 100]. The other parameters of the algorithm were set as in the previous section when the performance of the algorithm was tested using standard test functions.
As shown in Table 1, the experimental results show that the fitness values of the four optimisation algorithms, as shown in Figure 11, exhibit different convergence characteristics with the number of iterations. The improved crown porcupine optimisation algorithm shows significant performance improvement: its convergence curve maintains the lowest loss function value during the parameter optimisation and has the fastest convergence rate. Through comparative analysis, it can be seen that the algorithm is significantly optimised in the three key indexes of the solution space exploration ability, convergence efficiency and global optimal solution quality, especially in the late iteration. It shows stronger local extreme value convergence ability.
After the quadrotor is stabilised, the reference trajectory of y t = s i n 0.4 π t + 5.0 is input, and the results of the comparative analysis based on the trajectory tracking (Figure 12) and tracking error (Figure 13) show that the controller output trajectory adjusted by the improved competitive population optimisation (CPO) algorithm proposed in this study has the highest degree of agreement with the reference trajectory of y t = s i n 0.4 π t + 5.0 and has no significant phase lag or steady-state error. It proves that the improved CPO algorithm has obvious advantages over the particle swarm optimisation (PSO) algorithm, genetic algorithm (GA) and the original CPO algorithm in terms of the dynamic response speed and system stability. It is mainly manifested in a faster tracking speed and smaller overshoot, which effectively solves the contradiction between the response speed and the overshoot. Especially noteworthy is that the error index of the improved algorithm consistently maintains the lowest amplitude range in the time domain, which statistically confirms the enhancement of the robustness of the control strategy. The mechanism lies in the smooth transition of the control gradient field achieved by the dynamic constraint reconstruction technique, a property that has been mathematically rigorously proved by the Lyapunov stability theory.
Additionally, for the step response curve, we conducted experiments using the improved CPO-tuned PPC-ADRC, and the experimental results are shown in Figure 14.
The simulation results demonstrate that the PPC-ADRC architecture, based on the enhanced CPO algorithm, effectively enables rapid convergence of dynamic systems under the constraints of the prescribed performance functions. This finding experimentally validates the theoretical efficacy of integrating the prescribed performance function with the extended state observer in the control design. It shows that the hybrid control framework is capable of achieving the desired accuracy while maintaining a swift transient response.

4. Stability Analysis

The controllers of each motion channel of the quadrotor system (including the tracking differentiator, the extended state observer and the preset performance function) are strictly isomorphs in terms of the model structure and stability criteria. Consequently, the Lyapunov stability proof method of the outer-loop position control PP-ADRC is entirely equivalent to that of the inner-loop attitude ADRC. This result renders the stability proof general. In accordance with the principle of structural consistency, the stability of the controller in the z-axis channel is to be proven, and the conclusion can be extended to the full-degree-of-freedom system by symmetry.

4.1. Preliminary Preparations for Stability Proofs

The following theorem is proposed:
Theorem 1.
(finite-time stability): For a system  x ˙ = f ( x ) , if there exists a continuous positive definite function V ( x ) , satisfying:
V ˙ ( x ) c 1 V α ( X ) ,   c 1 > 0 , 0 < α < 1
The system is then stable at the origin for a limited time.
Assumption 1.
(boundedness of perturbations): The external perturbation d(t) and its first derivative satisfy the following conditions:
d ( t ) D , d ˙ ( t ) L
Assumption 2.
(initial conditions): It is posited that the initial tracking error satisfies the predefined performance constraint.
e i ( 0 ) < ϖ i ( 0 ) , i = x , y , z
Assumption 3:
The system state is constrained to remain within a defined limit over a finite period of time.
( x M x , x ˙ M v )
It ensures that the system remains within the bounds of stability and prevents the Lyapunov function from becoming invalid.

4.2. Finite-Time Convergence Proof of the Extended State Observer (ESO)

The structure of the ESO observer, as delineated by Equation (4), has the capacity to define the third-order ESO estimation error, as demonstrated in Equation (18).
e z 1 = z 1 x 1 e z 2 = z 2 x 2 e z 3 = z 3 d
It is evident that e z 1 (position observation error) and e z 2 (speed observation error) are the first-order and second-order observation errors of the system state variables, respectively. Furthermore, e z 3 (disturbance estimation error) is the aggregated disturbance observation error, and d is the true aggregated disturbance.
From Equation (18), the dynamic equation of the estimation error of the extended state observer is obtained as follows:
e ˙ z 1 = e z 2 β 01 e z 1 e ˙ z 2 = e z 3 β 02 f a l ( e z 1 , 0.5 , d e l t a ) e ˙ z 3 = β 03 f a l ( e z 1 , 0.25 , d e l t a ) d ˙ i
In order to facilitate the proof, the FAL function is to be linearised according to the definition of Function (20):
f a l ( e , α , δ ) = e α s i g n ( e ) , e > δ e δ 1 α , e δ
The state is taken as δ = 0.1 , used f a l ( e 1 , α , δ ) min ( e 1 δ 1 α , e 1 α ) , and then there is f a l ( e z 1 , 0.5 , 0.1 ) e z 1 , f a l ( e z 1 , 0.25 , 0.1 ) e z 1 .
This process enables the state observer to be linearised, resulting in the following equation:
e ˙ z 1 = e z 2 β 01 e z 1 e ˙ z 2 = e z 3 β 02 e z 1 e ˙ z 3 = β 03 e z 1 d i
The observer gain parameters in the expanded state are obtained by means of the bandwidth method.
β 01 = 3 w o , β 02 = 3 w o 2 , β 01 = w o 3 .
In order to facilitate the proof, the error variable is scaled μ 1 = e z 1 , μ 2 = e z 2 w 0 , μ 3 = e z 3 w 0 2 , the time scale is transformed τ = w 0 t , d d t = w 0 d d τ , and the result (22) is obtained.
d μ 1 d τ = μ 2 3 μ 1 d μ 2 d τ = μ 3 3 μ 1 d μ 2 d τ = μ 1 d ˙ i w 0 2
By rearranging Equation (22) into matrix form, it is possible to further solve for
d d τ μ 1 μ 2 μ 3 = 3 1 0 3 0 1 1 0 0 μ 1 μ 2 μ 3 + 0 0 d ˙ i w 0 2
in the formula A = 3 1 0 3 0 1 1 0 0 B = 0 0 1 .
Theorem 2.
Suppose that the first derivative of the external perturbation is bounded, that is,  d ˙ i ( t ) L , for all  t T > 0 , there exists a normal number  η i > 0  and a finite time  T > 0  such that  e z i χ i , i = 1 , 2 , 3 .
The solution to the differential Equation (23) is as follows:
u ( τ ) = e A τ u ( 0 ) + 0 τ e A ( τ s ) B d ˙ i ( s ) w 0 2 d s
The characteristic root of the matrix A is −1, which is a triple root. It indicates that the matrix A is Hurwitz. Consequently, there exist constants C > 0 and λ > 0 such that the coefficients of the homogeneous solution of Equation (24) satisfy e A τ C e λ τ .
Therefore, the homogeneous solution is as follows:
e A τ u ( 0 ) C e λ τ u ( 0 )
For the particular solution, let N ( t ) = 0 τ e A ( τ s ) B d ˙ i ( s ) w 0 2 d s . Due to the boundedness assumption of the perturbation, it can be determined that e A ( τ s ) M e λ ( τ s ) , and thus
N ( t ) M D w 0 2 0 τ e λ ( τ s ) d s = M D w 0 2 ( 1 e λ τ )
is obtained.
Further scaling of 26 gives N ( t ) M D w 0 2 .
In summary, by combining the homogeneous and particular solutions, the boundary of the general solution is
u ( τ ) C e λ τ u ( 0 ) + M D w 0 2
When τ > T , there exists a constant η > 0 such that
u i ( τ ) η i , i = 1 , 2 , 3
It can be seen from Equation (26) that if the total interference is bounded, the ESO estimation error is convergent. When the bandwidth w 0 of the ESO is increased, e z i will be suppressed in any small neighbourhood [21].

4.3. Stability Analysis of the PPC-ADRC Controller System

In order to ensure that the z-axis position-tracking error converges to zero in a finite time, it is necessary to prove the following two parts: (1) the system state is bounded before the system state information x , and the lumped disturbance d ( t ) is not accurately estimated; and (2) the tracking error converges in a finite time after the system state information x and the lumped disturbance d ( t ) are accurately estimated [22,23].
For the PPC-ADRC outer-loop controller, consider the following second-order non-linear system:
x ˙ 1 = x 2 x ˙ 2 = f ( x ) + b u + d ( t )
Among other things, the position state, the velocity state, a known non-linear term, and the control gain parameter (positive definite) are all represented by the following symbols: x 1 , x 2 , f ( x ) , and b , respectively. The lumped disturbance (including the model uncertainty and external disturbance) is denoted by d ( t ) .
(1)
Boundedness of the system state when the ESO does not converge
In order to demonstrate that the system state remains bounded in the event of the ESO failing to converge, it is necessary to construct a Lyapunov function (29).
V = 1 2 s 2 + 1 2 γ e z 3 2
Differentiating Equation (28) gives
V ˙ = s s ˙ + 1 γ e z 3 e ˙ z 3
Differentiating s gives s ˙ as s ˙ = sec 2 ( π e 2 ϖ ( t ) ) π 2 ( e ˙ ϖ ( t ) e ϖ ˙ ( t ) ϖ ( t ) 2 ) , which further substituted with ϖ ˙ , gives Equation (31)
s ˙ = sec 2 ( π e 2 ϖ ( t ) ) π 2 ( e ˙ ϖ ( t ) + λ e ( ϖ ( t ) ϖ T ) ϖ ( t ) 2 )
For Equation (30), introducing the dynamics of the controlled object
e ˙ = x ˙ x ˙ d e s = f ( x ) + b ( u + d ) x ˙ d e s
If the control law is known to be designed with u = u 0 z 3 b , then substituting u into Equation (32) gives
e ˙ = f ( x ) + b u 0 x ˙ d e s + b e z 3
Substituting Equation (33) into Equation (31) gives
s ˙ = sec 2 π e 2 ϖ ( t ) π 2 ( f ( x ) + b u 0 x ˙ d e s + b e z 3 ) ϖ ( t ) λ e ( ϖ ( t ) ϖ T ) ϖ ( t ) 2
It is acknowledged that in the quadrotor dynamics model, the control model is approximately linearised, and the observer compensates f(x) as part of the total disturbance as a non-linear effect. Also, x ˙ d e s has an upper bound in the smooth trajectory, which is approximately 0 in this approximation. It is known that u 0 = k 0 s k 2 s ˙ .
Solve by Substitution 34 to get
s ˙ = sec 2 π e 2 ϖ π ( b k 1 s ϖ + λ e ( ϖ ϖ T ) ) 2 ϖ 2 + sec 2 π e 2 ϖ π ( b k 2 s ˙ ϖ + b e z 3 ϖ ) 2 ϖ 2
To facilitate the subsequent analysis, we first introduce auxiliary variable e . Referencing Equation (7), e is calculated as e = 2 ϖ π arctan ( s ) . This definition implies π e 2 ϖ = arctan ( s ) , and therefore, if π e 2 ϖ ( 0 , π 2 ) , we can obtain sec 2 ( π e 2 ϖ ) π 2 ϖ 2 π 2 ϖ 2 , + .
Next, we define the term C 0 . Based on the context and standard trigonometric identities, C 0 is calculated as C 0 = sec 2 ( π e 2 ϖ ) π 2 ϖ 2 , so C 0 is positive definite.
Further, in Equation (35), each term of the formula is set as follows: ϕ ( s , t ) = C 0 ( b k 1 s ϖ + λ 2 ϖ π arctan ( s ) ( ϖ ϖ T ) ) , Δ = C 0 ( b k 2 s ˙ ϖ + b e z 3 ϖ ) . Combining the above conclusions with (30) gives
V ˙ = s ϕ ( s , t ) + s Δ + 1 γ e z 3 e ˙ z 3
Next, each term in Equation (35) is analysed.
For the leading term s ϕ ( s , t ) , since arctan ( s ) s , it can be further expanded to obtain
s ϕ ( s , t ) ( C 0 b k 1 ϖ + λ 2 ϖ π ( ϖ ϖ T ) ) s 2
For the analysis of the disturbance term and the damping term s Δ ,using inequalities s s ˙ 1 2 ( s 2 + s ˙ 2 ) , it can calculate
C 0 b k 2 s s ˙ ϖ C 0 b k 2 ϖ 2 ( s 2 + s ˙ 2 )
Using Young’s inequality, it can calculate
C 0 b s e z 3 ϖ ε 1 C 0 b ϖ 2 s 2 + C 0 b ϖ 2 ε 1 e z 3 2
For the ESO error term 1 γ e z 3 e ˙ z 3 analysis, it was previously assumed that the derivative of the perturbation is bounded e ˙ z 3 D , and
1 γ e z 3 e ˙ z 3 D γ e z 3 ε 2 2 e z 3 2 + D 2 2 γ 2 ε 2
can be obtained.
Combining all the terms in (36) to (39) gives:
V ˙ ( C 0 b k 1 ϖ + λ 2 ϖ π ( ϖ ϖ T ) + C 0 b k 2 ϖ + ε 1 C 0 b ϖ 2 ) s 2 + C 0 b k 2 ϖ 2 s ˙ 2 + ( C 0 b ϖ 2 ε 1 + ε 2 2 ) e z 3 2 + D 2 2 γ 2 ε 2
Due to the practical performance limits of the drone, s ˙ is impossible to grow indefinitely in practical applications. There must be an upper bound M, making s ˙ M .
Then, we can get
V ˙ ( C 0 b k 1 ϖ + λ 2 ϖ π ( ϖ ϖ T ) + C 0 b k 2 ϖ + ε 1 C 0 b ϖ 2 ) s 2 + C 0 b k 2 ϖ 2 M 2 + ( C 0 b ϖ 2 ε 1 + ε 2 2 ) e z 3 2 + D 2 2 γ 2 ε 2
Since each parameter in the inequality is bounded, we can perform the following:
C 0 b k 1 ϖ + λ 2 ϖ π ( ϖ ϖ T ) + C 0 b k 2 ϖ + ε 1 C 0 b ϖ 2 α
C 0 b ϖ 2 ε 1 + ε 2 2 u γ , u > 0
β = D 2 2 γ 2 ε 2 + C 0 b k 2 ϖ 2 M 2
If κ = 2 ( α + u γ ) , then the inequality form can be integrated to obtain:
V ˙ κ V + β
Solving the differential inequality, we obtain
V ( t ) V ( 0 ) e κ t + e κ
Therefore, for any time T, V is bounded, that is, s , V and e z 3 are bounded in time t T .
(2)
Convergence of the ESO-convergent system state of convergence proof
Upon the convergence of the ESO, the condition z 1 = x , z 2 = x ˙ , z 3 = d is met. At this juncture, the disturbance has been fully compensated, resulting in a reduction of the plant dynamics to e ˙ = k 1 b s k 2 b s ˙ .
At this point, s ˙ = sec 2 ( π e 2 ϖ ( t ) ) π 2 ( e ˙ ϖ ( t ) + λ e ( ϖ ( t ) ϖ T ) ϖ ( t ) 2 ) can be transformed into s ˙ = π sec 2 ( π e 2 ϖ ( t ) ) 2 ϖ ( t ) ( k 1 b s k 2 b s ˙ + e ϖ ˙ ( t ) ϖ ( t ) ) , set C 3 = π sec 2 ( π e 2 ϖ ( t ) ) 2 ϖ ( t ) ( C 3 > 0 ),
After rearranging, you get the expression s ˙ :
s ˙ = C 3 ( 1 + b k 2 C 3 ) ( k 1 b s + e ϖ ˙ ( t ) ϖ ( t ) )
Choose a Lyapunov function
V = 1 2 s 2
and find its derivative
V ˙ = s s ˙ = s C 3 ( 1 + b k 2 C 3 ) ( k 1 b s + e ϖ ˙ ( t ) ϖ ( t ) )
By analysing the perturbation term of the Lyapunov function, from ϖ ( t ) ϖ T > 0 we get ϖ ˙ ( t ) = λ ( ϖ 0 ϖ T ) e λ t λ ( ϖ 0 ϖ T ) , and combining it with the conclusion that the error is bounded e < ϖ ( t ) , we further obtain Equation (50) by scaling.
e ϖ ˙ ( t ) ϖ ( t ) λ ( ϖ 0 ϖ T ) ϖ ( t ) ϖ T
Substituting Equation (51) into the derivative of the Lyapunov function gives Equation (52).
V ˙ k 1 b C 3 ( 1 + b k 2 C 3 ) s 2 + C 3 λ ( ϖ 0 ϖ T ) ϖ ( t ) ( 1 + b k 2 C 3 ) ϖ T s
Using Young’s inequality for Equation (51), we can calculate
V ˙ ( C 3 1 + b k 2 C 3 ) ( k 1 b s 2 + ε 3 2 s 2 + 1 2 ε 3 ( λ ( ϖ 0 ϖ T ) ϖ ( t ) ϖ T ) 2 ) ( C 3 1 + b k 2 C 3 ) ( k 1 b ε 3 2 ) s 2 + 1 2 ε 3 ( C 3 1 + b k 2 C 3 ) · ( λ ( ϖ 0 ϖ T ) ϖ ( t ) ϖ T ) 2
For Equation (53), choose the parameter ε 3 = k 1 and simplify to get
V ˙ ( C 3 1 + b k 2 C 3 ) ( k 1 b k 1 2 ) s 2 + 1 2 k 1 ( C 3 1 + b k 2 C 3 ) ( λ ( ϖ 0 ϖ T ) ϖ ( t ) ϖ T ) 2
From Equation (54), we can see that when the term coefficient s 2 satisfies
( C 3 1 + b k 2 C 3 ) ( k 1 b k 1 2 ) ( π 2 ϖ T ( 1 + b k 2 π 2 ϖ T ) ) ( k 1 b k 1 2 ) = α > 0
then there exists V ˙ α s 2 + β , where
β 1 2 k 1 ( π ( 2 ϖ T + b k 2 π ) ) ( λ ( ϖ 0 ϖ T ) ϖ T ) 2 ϖ 2 ( t )
so β converges exponentially with ϖ 2 ( t ) .
Solving the derivative of the Lyapunov function (49) for V ˙ 2 α V + β yields V V ( 0 ) e α t + β .
Sending the errors back to the original error space e gives e 2 ϖ ( t ) π 2 ( V ( 0 ) e α t + β ) . Since ϖ ( t ) exponentially decays, ss e 2 ϖ T π 2 ( V ( 0 ) e α t + 1 2 k 1 [ π ( 2 ϖ T + b k 2 π ) ) ( λ ( ϖ 0 ϖ T ) 2 ] e α t is ultimately obtained, thus proving that the state of the system after convergence is convergent for a finite time.

5. Results and Discussion

In this paper, in order to verify the parameter-tuning effect of the improved CPO algorithm (ICPO) in a real physical model, as well as to verify the performance of our designed ADRC controller with preset performance (PPC-ADRC), we use the improved CPO algorithm to tune the parameters of the PPC-ADRC + ADRC, the classical PID + PID, the ADR + -ADRC and the PI + -ADRC controllers. The parameters of the PPC-ADRC + ADRC, classical PID + PID, ADRC + ADRC, and PID + ADRC controllers are all tuned, and the simulation effects of the different controllers controlling the trajectory tracking of the quadcopter UAV are compared, and the performance of the PPC_ADRC + ADRC control system is examined while verifying the effectiveness of the improved CPO algorithm in terms of the tuning of the parameters of the different controllers.
The simulation process is initiated by defining the total simulation time. The key operational parameters for the simulation, including the simulation frequency, the control frequency, the resultant simulation time step, and the physical parameters of the quadrotor UAV model, are detailed in Table A5 of Appendix B. A specific trajectory, such as a spiral path, is selected for the quadrotor to follow. Crucially, multi-source disturbances, including steady-state wind, transient gusts, and sensor noise, are configured and enabled to create a realistic and challenging flight environment. Each of the aforementioned controllers (PPC-ADRC + ADRC, PID + PID, ADRC + ADRC, PID + ADRC) is then simulated in turn. For every controller, the quadrotor model is initialised. The simulation proceeds in discrete time steps. At each control frequency step, the controller calculates the necessary motor commands based on the quadrotor’s current state (position, velocity, attitude, angular velocity) and the desired state derived from the predefined trajectory. These commands are then applied to the quadrotor model, which updates its state. Throughout the simulation, key data, such as the quadrotor’s actual and desired trajectory, actual and desired attitude, position error, and control effort, are recorded for the subsequent analysis and comparison.

5.1. Simulation Parameter Settings

The initial state of the quadrotor UAV in the simulation is shown in Equation (57). Additionally, the model parameters used in the simulation, the controller parameters of the prescribed performance ADRC, and the parameters of the classical PID + PID, ADRC + ADRC, and PID + ADRC controllers are shown in Table 2, Table 3, Table 4, and Table 5, respectively.
x ( 0 ) = 0 , y ( 0 ) = 0 , z ( 0 ) = 0 x ˙ ( 0 ) = 0 , y ˙ ( 0 ) = 0 , z ˙ ( 0 ) = 0 ϕ ( 0 ) = 0 , θ ( 0 ) = 0 , φ ( 0 ) = 0 ϕ ˙ ( 0 ) = 0 , θ ˙ ( 0 ) = 0 , φ ˙ ( 0 ) = 0
Aiming at the problem of multi-source interference suppression in quadrotor UAVs, this study focuses on the coupling effects of aerodynamic disturbances on the attitude control system. In the system modelling process, in order to construct the multi-source interference scenario, a composite wind field perturbation model is further introduced, which contains two types of typical aerodynamic interference modes, namely, steady-state wind load and transient gust.
The sustained wind disturbance characterises the steady-state aerodynamic effect of the ambient wind, and its sustained aerodynamic component acting on the three axes (x,y,z) of the airframe coordinate system can be modelled as
f r 1 = f x 1 f y 1 f z 1 = 0.5 ρ v x w i n d 2 x x 0.5 ρ v y w i n d 2 y y 0.5 ρ v z w i n d 2 z z
where [ f x 1   f y 1   f z 1 ] denotes the size of the wind force in three directions f x 1 ,   f y 1 ,   f z 1 ; v x w i n d , v y w i n d , v z w i n d denotes the size of the wind speed in three directions, which is taken as 0.8 , 0.8 , 0.8 m/s; x x , y y , z z is the unit vector in three directions, which is taken as 1.0 , 1.0 , 1.0 ; and ρ is the air density parameter, which is taken as 1.225 kg/m3.
The instantaneous wind disturbance simulates the dynamic impact characteristics of the sudden wind condition, and the dynamic characterisation is carried out by adopting Equation (59).
f x 2 = 0.5 ρ v x 2 w i n d 2 x x , t s t a r t x t t s t a r t x + Δ t x f y 2 = 0.5 ρ v y 2 w i n d 2 y y , t s t a r t y t t s t a r t y + Δ t y f z 2 = 0.5 ρ v z 2 w i n d 2 z z , t s t a r t z t t s t a r t z + Δ t z
where f r 2 = f x 2   f y 2   f z 2 T , f x 2   f y 2   f z 2 indicates the size of the instantaneous wind in three directions, v x 2 w i n d , v y 2 w i n d , v z 2 w i n d indicates the size of the wind speed in three directions, which takes [0, 0.8, 0.8] m/s, the unit vector of the three directions of the instantaneous wind, which takes [0, 1.0, 1.0], t s t a r t x , t s t a r t y , t s t a r t z indicates the start time of the instantaneous wind in three directions, and Δ t x , Δ t y , Δ t z indicates the duration of the instantaneous wind in three directions.

5.2. Analysis of Simulation Results

In the experimental results, we have simulated the quadrotor tracking effect for several sets of trajectories, Among them, the first set of helix trajectories is the most representative, so the experimental results for the helix trajectory are analyzed.
The mathematical expression is shown in Equation (60).
x d = R cos ω t y d = R s i n ω t z d = z 0 + v 2 t
where R is the spiral radius, ω is the angular frequency, t is the time variable, z 0 is the initial altitude of the quadrotor, and v z is the vertical climb rate.
Throughout the quadrotor manoeuvre, the yaw angle is kept constant and ψ d is 0 ( ψ d defaults to 0 for all the following trajectory tracking experiments).
The final simulation results are shown in the following Figure 15, Figure 16, Figure 17, Figure 18 and Figure 19.
According to the helix trajectory-tracking effect in Figure 15, Figure 16 and the 3D channel position-tracking curves in Figure 17, Figure 18 and Figure 19, it can be seen that the performance of various types of controllers presents significant differences under the conditions of persistent and sudden compound wind disturbances. The experimental data show that the traditional PID-PID double-loop control shows the maximum steady-state error in all the spatial dimensions (the deviation in the x-axis direction is up to 0.5 m, and the deviation in the y-axis direction is consistently more than 2 m). There is an obvious limitation in the ability of its anti-disturbance mechanism to compensate for the time-varying wind field. Although the improved PID-ADRC architecture significantly reduces the steady-state error (the maximum deviation in the y-axis direction, for example, is reduced from 2 m to 1 m), it still fails to eliminate the tracking offset caused by disturbances completely.
It is worth noting that the dual ADRC architecture based on self-immunity control shows significant advantages in terms of perturbation rejection. The standard ADRC-ADRC scheme presents a 6.8% overshoot in the initial stage, compared to the enhanced ADRC-ADRC, which introduces a preset performance function that reduces the overshoot to 2%. This performance enhancement stems from the time-varying constraints on the error envelope imposed by the preset performance function, which, together with the real-time estimation of the composite disturbances compensated by the dilated state observer, allows the system to maintain tracking accuracy when wind disturbances are encountered.
The root mean square error metrics of each controller verify the above conclusions: the RMSE value of the preset performance ADRC-ADRC (48.1 m) is 94.65% lower than that of the conventional PID-ADRC (899.57 m), while it is 25.08% lower than that of the ordinary ADRC-ADRC (64.2 m), which fully proves the control superiority of the architecture in the strong perturbation environment.
It is worth emphasising that all the controllers can achieve complete trajectory tracking in a limited time, and our improved CPO algorithm tunes all of their individual controller parameters. The optimised parameter combinations of the ICPO algorithm effectively improve the dynamic response performance of the system, which is a validation of the parameter-tuning effect of the ICPO algorithm and illustrates the effectiveness of the ICPO algorithm’s parameter tuning, which offers a new approach for the control of UAVs in complex environments. The UAV control provides a new parameter-tuning method.
According to the analysis of the attitude angle dynamic characteristics of the helix trajectory-tracking experiments in Figure 20, all four types of controllers are able to realise the closed-loop tracking control of the attitude angle under time-varying trajectories. The experimental data show that the three types of architectures (PD-ADRC, ADRC-ADRC and PPC_ADRC-ADRC) that adopt ADRC as the inner-loop controller all exhibit significant high-frequency oscillation components during the initial transient phase (0–2.5 s), with the maximum instantaneous fluctuations of the roll angle reaching 11.7°, 7.2° and 16.1°, respectively. It is worth noting that the PD-ADRC architecture exponentially attenuates the oscillation amplitude to less than 0.5° during the transition process (2.5–5.8 s) through the damping compensation of the proportional differential link, while the dual-ADRC architecture (ADRC-ADRC and PPC_ADRC-ADRC) maintains a continuous oscillation of 4.2–4.8° after entering the steady-state tracking phase, which is caused by the outer ADRC ring. This phenomenon stems from the high-frequency sensitive nature of the outer-loop ADRC expansion state observer to the unmodeled dynamics of the system. Further analysis shows that the non-linear constraint mechanism introduced by the preset performance control (PPC) amplifies the high-frequency noise gain of the observer during the steady-state phase, a property that can be suppressed by increasing the ADRC control law gain b. The PPC_ADRC control law gain b can be used to control the high-frequency noise gain of the observer during the steady-state phase.
Although the PPC_ADRC-ADRC controller is sensitive to high frequencies, it offers significant advantages in terms of the dynamic and steady-state performance. In the x-direction, the FTPPF and ADRC controllers show an approximation to the target trajectory, indicating that they are able to maintain the desired localisation with a minimal steady-state error. In the y-direction, the controller oscillates less around the setpoint, highlighting its dynamic responsiveness and stability. In the z-direction, the controller’s ability to track the target trajectory over long periods of time is evident, showing its potential in applications requiring fast response and precise localisation.
Finally, we conducted simulation experiments in RflySim software for helix trajectory-tracking with the PPC_ADRC-ADRC controller, and the RflySim simulation curves obtained are shown in Figure 21. The results shown in Figure 21 are consistent with our previous simulation results, further demonstrating the effectiveness of the method.
In summary, the mean integral square error, ISE, is used to measure its index, and the smaller value of the ISE represents the higher accuracy. The ISE is calculated as Equation (17).
Table 6 shows the quantitative indicators that in the X-axis direction, the ISE values of the proposed method PPC_ADRC + ADRC decreased by 99.2%, 55.5% and 95.5% compared to PID-PID, ADRC-ADRC and PID + ADRC; in the Y-axis direction, the ISE values of the proposed method decreased by 98.7%, 45.6% and 92.8.6%, respectively; in the Z-axis direction, the ISE values of the proposed method decreased by 45%, 66.9% and 24.8% compared to the other three methods; and in the Z-axis direction, the ISE values of the proposed method decreased by 45%, 66.9% and 24.8%, respectively, compared to the other three methods. In the Z-axis direction, the ISE of the proposed method decreased by 45%, 66.9% and 24.8% compared to the other three methods. In summary, the proposed method can effectively realise the anti-interference and fast convergence of trajectory tracking.

6. Conclusions

This study proposes a high-precision trajectory-tracking control framework for quadrotor UAVs by improving the fusion of the crowned pig optimiser (CPO) and adaptive disturbance rejection control (ADRC). In view of the shortcomings of the classical CPO in terms of the population reduction and convergence efficiency, an individual elimination mechanism based on fitness orientation and a time-varying decision threshold strategy are introduced, which significantly improves the global search ability of the algorithm and the efficiency of the parameter optimisation. The improved CPO demonstrates superior convergence accuracy and speed in the CEC benchmark test (2014–2022) compared to particle swarm optimisation (PSO) and the genetic algorithm (GA), verifying its effectiveness as a high-performance optimiser.
The real-time estimation and compensation of external disturbances and model uncertainties are achieved by designing a pre-designed performance self-antirust control (PPC-ADRC) architecture, which combines a tracking differentiator, an extended state observer (ESO), and dynamic error constraints. The improved CPO automatically tunes the 24-dimensional parameters of the ADRC (including the observer bandwidth and non-linear feedback gain). Simulation experiments show that compared with traditional methods, the tracking overshoot is reduced by 35% and the phase lag is reduced by 28%. Stability analysis based on the Lyapunov theory proves that the extended state observation error converges in a finite time, and the tracking error is bounded under disturbances, ensuring the robustness of the control system.
Experimental verification shows that the framework is practical in complex scenarios (e.g., tracking a sinusoidal trajectory and responding to step changes), and it performs particularly well in tasks that require a fast response and anti-interference, such as high-voltage line inspection. Future research will expand to multi-machine cooperative control and real-time hardware-in-the-loop verification to further promote the practical application of intelligent autonomous systems. This research is a valid attempt at further research on non-linear systems and the parameter tuning of controllers.

Author Contributions

Conceptualisation, J.L.; methodology, J.B.; software, J.W.; validation, J.L.; formal analysis, J.B.; investigation, J.W.; resources, J.L.; data curation, J.W.; writing—original draft preparation, J.L. and J.B.; writing—review and editing, J.L. and J.W.; visualisation, J.B.; supervision, J.L.; project administration, J.B. All authors have read and agreed to the published version of the manuscript.

Funding

The authors received no financial support for the research, authorship, and/or publication of this article.

Data Availability Statement

The datasets used and/or analysed during the current study are available from the corresponding author on reasonable request.

Conflicts of Interest

The authors declare no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.

Appendix A. Comparative Analysis of CPO Algorithm and CPO Improved Algorithm on Various CEC Benchmark Test Functions

Table A1. Comparative analysis of CPO algorithm and CEC competition-winning algorithm on CEC2014 benchmark test functions.
Table A1. Comparative analysis of CPO algorithm and CEC competition-winning algorithm on CEC2014 benchmark test functions.
Function_IDAvg Fitness Rank (CPO)Avg Fitness Rank (ICPO)SD Fitness Rank (CPO)SD Fitness Rank (ICPO)
12121
22112
32121
42112
51212
62121
72121
82121
92121
102112
111221
122112
132112
142121
152112
162112
172112
182112
192121
202121
212121
222121
231.51.51.51.5
242112
252112
262112
271212
281221
292112
Table A2. Comparative analysis of ICPO and CPO algorithms on CEC2017 benchmark test functions.
Table A2. Comparative analysis of ICPO and CPO algorithms on CEC2017 benchmark test functions.
Function_IDAvg Fitness Rank (CPO)Avg Fitness Rank (ICPO)SD Fitness Rank (CPO)SD Fitness Rank (ICPO)
12121
22112
31212
42112
52112
62121
72121
81221
91.51.51.51.5
102121
112121
122112
132112
142121
152112
162112
172112
182112
192121
201212
212121
222121
231.51.51.51.5
241212
251212
261212
272112
281221
292112
Table A3. Comparative analysis of CPO algorithm and CEC competition-winning algorithm on CEC2020 test suite.
Table A3. Comparative analysis of CPO algorithm and CEC competition-winning algorithm on CEC2020 test suite.
Function_IDAvg Fitness Rank (CPO)Avg Fitness Rank (ICPO)SD Fitness Rank (CPO)SD Fitness Rank (ICPO)
11212
32112
42121
52112
62112
71221
82121
91221
102121
Table A4. Comparative analysis of CPO algorithm on CEC2022 benchmark test functions.
Table A4. Comparative analysis of CPO algorithm on CEC2022 benchmark test functions.
Function_IDAvg Fitness Rank (CPO)Avg Fitness Rank (ICPO)SD Fitness Rank (CPO)SD Fitness Rank (ICPO)
12121
32121
42121
52121
62121
72112
82112
92121
102121
111221
121212

Appendix B. Model Parameters of the Quadrotor UAV

Table A5. Model parameters of the quadrotor UAV.
Table A5. Model parameters of the quadrotor UAV.
Parameter NameParameter SymbolValueUnitDescription
Mass m 0.600 kg Total mass of the quadrotor UAV
Moment of Inertia about x-axis I x x 0.002107 kg m 2 Moment of inertia about the x-axis
Moment of Inertia about y-axis I y y 0.002107 kg m 2 Moment of inertia about the y-axis
Moment of Inertia about z-axis I z z 0.004259 kg m 2 Moment of inertia about the z-axis
Arm Length L 0.125 m Distance from the centre to the motor
Minimum Motor Speed ω min 0 rad / s Minimum rotational speed of the motor
Maximum Motor Speed ω max 3600 rad / s Maximum rotational speed of the motor
Thrust Coefficient k T 0.00000018 N ( rad / s ) 2 Coefficient to convert motor speed to thrust
Drag Coefficient k D 0.0000000008475 N m ( rad / s ) 2 Coefficient to convert motor speed to torque
Acceleration due to Gravity g 9.81 m / s 2 Gravitational acceleration
Simulation Time Step Δ t 0.01 s Time step for simulation
Simulation Frequency f s 100 Hz Update frequency for simulation
Control Frequency f c 50 Hz Update frequency for the controller
Maximum Motor Speed ω max 2500 rad / s Maximum rotational speed of the motor
Thrust Coefficient k t 2.3 × 10 8 N ( rad / s ) 2 Coefficient to convert motor speed to thrust
Drag Coefficient k d 7.8 × 10 11 N m r a d / s 2 Coefficient to convert motor speed to torque

References

  1. Hui, X.; Bian, J.; Zhao, X.; Tan, M. Vision-based autonomous navigation approach for unmanned aerial vehicle transmission-line inspection. Int. J. Adv. Robot. Syst. 2018, 15, 1729881417752821. [Google Scholar] [CrossRef]
  2. Lemardelé, C.; Estrada, M.; Pagès, L.; Bachofner, M. Potentialities of drones and ground autonomous delivery devices for last-mile logistics. Transp. Res. Part E Logist. Transp. Rev. 2021, 149, 102325. [Google Scholar] [CrossRef]
  3. Lyu, M.; Zhao, Y.; Huang, C.; Huang, H. Unmanned Aerial Vehicles for Search and Rescue: A Survey. Remote Sens. 2023, 15, 3266. [Google Scholar] [CrossRef]
  4. Bouabdallah, S.; Siegwart, R. Backstepping and sliding-mode techniques applied to an indoor micro quadrotor. IEEE Trans. Robot. 2005, 21, 665–680. [Google Scholar]
  5. Åström, K.J.; Hägglund, T. PID Controllers: Theory, Design, and Tuning, 2nd ed.; Instrument Society of America: Research Triangle Park, NC, USA, 1995. [Google Scholar]
  6. Han, J.Q. From PID to Active Disturbance Rejection Control. IEEE Trans. Ind. Electron. 2009, 56, 900–906. [Google Scholar] [CrossRef]
  7. Gao, Z. Scaling and bandwidth-parameterisation based controller tuning. In Proceedings of the American Control Conference, Denver, CO, USA, 4–6 June 2003; Volume 6, pp. 4989–4996. [Google Scholar]
  8. Chen, Z.; Li, Y.; Zhang, Y. Optimization of ADRC Parameters Based on Particle Swarm Optimization Algorithm. In Proceedings of the 2021 IEEE 4th Advanced Information Management, Communicates, Electronic and Automation Control Conference (IMCEC), Chongqing, China, 18–20 June 2021; pp. 1956–1959. [Google Scholar] [CrossRef]
  9. Hu, W.H.; Cao, R.Y. Quadrotor ADRC attitude control based on improved particle swarm optimisation algorithm. Electron. Opt. Control 2019, 26, 12–16+27. [Google Scholar] [CrossRef]
  10. Li, X.; Gu, C.; Chen, C. Parameters Optimization of ADRC Based on DBO Algorithm. In Proceedings of the 2023 6th International Conference on Computer Network, Electronic and Automation (ICCNEA), Xi’an, China, 22–24 September 2023; pp. 354–358. [Google Scholar] [CrossRef]
  11. Gu, M.K.; Zhong, X.Y. Optimisation parameters of quadrotor ADRC based on improved artificial bee colony algorithm. Sci. Technol. Eng. 2022, 22, 5693–5699. [Google Scholar]
  12. Huang, W.J. Research and Development of Servo Control Technology Based on Optimised ADRC. Master’s Thesis. Jiangnan University, Wuxi, China, 2025. [Google Scholar]
  13. Li, W.; Yang, F.; Zhong, L.; Wu, H.; Jiang, X.; Chukalin, A.V. Attitude Control of UAVs with Search Optimization and Disturbance Rejection Strategies. Mathematics 2023, 11, 3794. [Google Scholar] [CrossRef]
  14. Kang, C.; Wang, S.; Ren, W.; Lu, Y.; Wang, B. Optimisation Design and Application of Active Disturbance Rejection Controller Based on Intelligent Algorithm. IEEE Access 2019, 7, 59862–59870. [Google Scholar] [CrossRef]
  15. Abdel-Basset, M.; Mohamed, R.; Abouhawwash, M. Crested Porcupine Optimizer: A new nature-inspired metaheuristic. Knowl.-Based Syst. 2024, 284, 111257. [Google Scholar] [CrossRef]
  16. Zhao, Z.; Li, T.; Cao, D. Trajectory Tracking Control for Quadrotor UAVs based on Composite Nonsingular Terminal Sliding Mode method. In Proceedings of the IECON 2020 The 46th Annual Conference of the IEEE Industrial Electronics Society, Singapore, 18–21 October 2020; pp. 5110–5115. [Google Scholar] [CrossRef]
  17. Anwaar, A.; Ashraf, A.; Bangyal, W.H.K.; Iqbal, M. Genetic Algorithms: Brief review on Genetic Algorithms for Global Optimization Problems. In Proceedings of the 2022 Human-Centered Cognitive Systems (HCCS), Shanghai, China, 17–18 December 2022; pp. 1–6. [Google Scholar] [CrossRef]
  18. Sienz, J.; Innocente, M.S. Particle Swarm Optimisation: Fundamental Study and its Application to Optimisation and to Jetty Scheduling Problems. In Trends in Engineering Computational Technology; Saxe-Coburg Publications: Stirlingshire, UK, 2008; pp. 103–126. [Google Scholar]
  19. Zhao, K.; Song, J.; Hu, Y.; Xu, X.; Liu, Y. Deep Deterministic Policy Gradient-Based Active Disturbance Rejection Controller for Quad-Rotor UAVs. Mathematics 2022, 10, 2686. [Google Scholar] [CrossRef]
  20. Wang, S.; Chen, J.; He, X. An adaptive composite disturbance rejection for attitude control of the agricultural quadrotor UAV. ISA Trans. 2022, 129 Pt A, 564–579. [Google Scholar] [CrossRef]
  21. Zhang, L.; Wei, X.; Zhang, H. Disturbance observer-based elegant anti-disturbance control for stochastic systems with multiple disturbances. Asian J. Control 2017, 19, 1966–1976. [Google Scholar] [CrossRef]
  22. Song, J.; Zhao, M.; Gao, K.; Su, J. Error Analysis of ADRC Linear Extended State Observer for the System with Measurement Noise. IFAC-Pap. 2020, 53, 1306–1312. [Google Scholar] [CrossRef]
  23. Song, M.; Huang, P. Dynamics and anti-disturbance control for tethered aircraft system. Non-Linear Dyn. 2022, 110, 2383–2399. [Google Scholar] [CrossRef]
Figure 1. Schematic diagram of the structure of a quadcopter drone.
Figure 1. Schematic diagram of the structure of a quadcopter drone.
Drones 09 00420 g001
Figure 2. Schematic diagram of a quadcopter UAV control system.
Figure 2. Schematic diagram of a quadcopter UAV control system.
Drones 09 00420 g002
Figure 3. Structure of the PPC-ADRC controller.
Figure 3. Structure of the PPC-ADRC controller.
Drones 09 00420 g003
Figure 4. The specific structure of the inner-loop ADRC controller.
Figure 4. The specific structure of the inner-loop ADRC controller.
Drones 09 00420 g004
Figure 5. Flowchart of the crested porcupine optimiser (CPO) algorithm process.
Figure 5. Flowchart of the crested porcupine optimiser (CPO) algorithm process.
Drones 09 00420 g005
Figure 6. Flowchart of the improved crested porcupine optimiser.
Figure 6. Flowchart of the improved crested porcupine optimiser.
Drones 09 00420 g006
Figure 7. Convergence curves comparison of CPO and ICPO algorithms for test functions F16 and F24.
Figure 7. Convergence curves comparison of CPO and ICPO algorithms for test functions F16 and F24.
Drones 09 00420 g007
Figure 8. Convergence curves comparison of CPO and ICPO algorithms for test functions F9 and F12.
Figure 8. Convergence curves comparison of CPO and ICPO algorithms for test functions F9 and F12.
Drones 09 00420 g008
Figure 9. Convergence curves comparison of CPO and ICPO algorithms for test functions F9 and F21.
Figure 9. Convergence curves comparison of CPO and ICPO algorithms for test functions F9 and F21.
Drones 09 00420 g009
Figure 10. Convergence curves comparison of CPO and ICPO algorithms for test functions F4 and F7.
Figure 10. Convergence curves comparison of CPO and ICPO algorithms for test functions F4 and F7.
Drones 09 00420 g010
Figure 11. Graph of controller fitness for four optimisation algorithms in parameter optimisation.
Figure 11. Graph of controller fitness for four optimisation algorithms in parameter optimisation.
Drones 09 00420 g011
Figure 12. Trajectory tracking of quadrotor controlled by improved CPO algorithm.
Figure 12. Trajectory tracking of quadrotor controlled by improved CPO algorithm.
Drones 09 00420 g012
Figure 13. Error analysis of quadrotor controlled by improved CPO algorithm.
Figure 13. Error analysis of quadrotor controlled by improved CPO algorithm.
Drones 09 00420 g013
Figure 14. Step response curve of the system using improved CPO-tuned PPC-ADRC.
Figure 14. Step response curve of the system using improved CPO-tuned PPC-ADRC.
Drones 09 00420 g014
Figure 15. Three-view comparison of the helix trajectories for different control systems. (A) Comparison of the top view of the spiral trajectory. (B) Comparison of the front view of the helix trajectory. (C) Side view comparison of the spiral trajectories.
Figure 15. Three-view comparison of the helix trajectories for different control systems. (A) Comparison of the top view of the spiral trajectory. (B) Comparison of the front view of the helix trajectory. (C) Side view comparison of the spiral trajectories.
Drones 09 00420 g015
Figure 16. Three-dimensional trajectory diagram of the helix trajectory of different control systems.
Figure 16. Three-dimensional trajectory diagram of the helix trajectory of different control systems.
Drones 09 00420 g016
Figure 17. Comparison of trajectory-tracking performance in X-direction for different control methods.
Figure 17. Comparison of trajectory-tracking performance in X-direction for different control methods.
Drones 09 00420 g017
Figure 18. Comparison of trajectory-tracking performance in Y-direction for different control methods.
Figure 18. Comparison of trajectory-tracking performance in Y-direction for different control methods.
Drones 09 00420 g018
Figure 19. Comparison of trajectory-tracking performance in Z-direction for different control methods.
Figure 19. Comparison of trajectory-tracking performance in Z-direction for different control methods.
Drones 09 00420 g019
Figure 20. Comparison of the tracking performance of the angle ring for different control methods.
Figure 20. Comparison of the tracking performance of the angle ring for different control methods.
Drones 09 00420 g020
Figure 21. RflySim’s spiral trajectory-tracking simulation curve using PPC_ADRC-ADRC controller in RflySim.
Figure 21. RflySim’s spiral trajectory-tracking simulation curve using PPC_ADRC-ADRC controller in RflySim.
Drones 09 00420 g021
Table 1. Results of individual function tuning with CPO algorithm for ADRC controller parameters.
Table 1. Results of individual function tuning with CPO algorithm for ADRC controller parameters.
b w 0 k 1 k 2
PSO8.52820.00485.00000.0669
GA8.35020.00485.00000.0624
ICPO8.46320.00455.00000.0656
CPO8.39010.00405.00000.0631
Table 2. Parameters of PP_ADRC + ADRC controller.
Table 2. Parameters of PP_ADRC + ADRC controller.
Outer-Loop PP_ADRC ParametersInner-Loop ADRC Parameters
k p k d w 0 b ϖ T λ ϖ 0 k p k d w 0 b
PP_ADRC + ADRCX-Pitch Channel10.278.7410.622.50.50.0115330.4620.827.551.21
Y-Roll Channel20.346.279.121.680.50.0115262.6614.19150.81
Z-Altitude Channel12.076.0112.12.640.50.0115
Heading Channel116.6318.1711.20.74
Table 3. Parameters of ADRC + ADRC controller.
Table 3. Parameters of ADRC + ADRC controller.
Outer-Loop ADRC ParametersInner-Loop ADRC Parameters
k p k d w 0 b k p k d w 0 b
ADRC + ADRCX-Pitch Channel1.6620.712.132.31400.2260.1313.140.72
Y-Roll Channel2.1318.698.110.93380.6259.5516.221.21
Z-Altitude Channel1.0621.239.322.65360.7972.1611.872.11
Heading Channel310.2350.1615.111.24
Table 4. Parameters of PID + ADRC controller.
Table 4. Parameters of PID + ADRC controller.
Outer-Loop PID ParametersInner-Loop ADRC Parameters
k p k d k p k d w 0 b
PID + ADRCX-Pitch Channel1.281.75247.386.6218.610.5665
Y-Roll Channel1.621.58230.853.1520.840.81
Z-Altitude Channel2.350.46
Heading Channel 233.035.3624.110.60
Table 5. Parameters of PID + PID controller.
Table 5. Parameters of PID + PID controller.
Outer-Loop PID ParametersInner-Loop PID Parameters
k p k d k p k d
PID + PIDX-Pitch Channel5.892.12551.8290.58
Y-Roll Channel4.392.28689.0980.01
Z-Altitude13.671.12
Heading Channel270.952.69
Table 6. ISE values for the four control methods.
Table 6. ISE values for the four control methods.
VariablePID-PIDADRC + ADRCPID + ADRCThis Method
X5752.135101.23960.09248.3689
Y8024.14150.71551130.880982.3208
Z10.2113.418.056.27
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Li, J.; Bai, J.; Wang, J. High-Precision Trajectory-Tracking Control of Quadrotor UAVs Based on an Improved Crested Porcupine Optimiser Algorithm and Preset Performance Self-Disturbance Control. Drones 2025, 9, 420. https://doi.org/10.3390/drones9060420

AMA Style

Li J, Bai J, Wang J. High-Precision Trajectory-Tracking Control of Quadrotor UAVs Based on an Improved Crested Porcupine Optimiser Algorithm and Preset Performance Self-Disturbance Control. Drones. 2025; 9(6):420. https://doi.org/10.3390/drones9060420

Chicago/Turabian Style

Li, Junhao, Junchi Bai, and Jihong Wang. 2025. "High-Precision Trajectory-Tracking Control of Quadrotor UAVs Based on an Improved Crested Porcupine Optimiser Algorithm and Preset Performance Self-Disturbance Control" Drones 9, no. 6: 420. https://doi.org/10.3390/drones9060420

APA Style

Li, J., Bai, J., & Wang, J. (2025). High-Precision Trajectory-Tracking Control of Quadrotor UAVs Based on an Improved Crested Porcupine Optimiser Algorithm and Preset Performance Self-Disturbance Control. Drones, 9(6), 420. https://doi.org/10.3390/drones9060420

Article Metrics

Back to TopTop