A method for tuning longitudinal active disturbance rejection control parameters of UAVs based on stochastic orientation pelican optimization.
By using a method based on stochastic pelican optimization to simulate the natural behavior of pelicans during hunting, the longitudinal active disturbance rejection control parameters of UAVs are optimized. This solves the problem of long optimization time in existing technologies, enables the rapid finding of the optimal solution, and improves the stability and efficiency of UAV flight control.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIHANG UNIV
- Filing Date
- 2023-09-28
- Publication Date
- 2026-07-17
Smart Images

Figure CN117389323B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a method for tuning longitudinal active disturbance rejection control parameters of unmanned aerial vehicles (UAVs) based on stochastic direction pelican optimization, belonging to the field of UAV autonomous control. Background Technology
[0002] In recent years, with the expanding applications of fixed-wing drones in both military and civilian fields, they have become more convenient, safer, and less costly to perform missions. Drone technology has become a hot topic in civilian fields such as surveying, remote sensing, geomagnetic detection, and traffic monitoring. The flight performance of a fixed-wing drone largely depends on the stability of its flight control system. The PID (Proportion Integration Differentiation) controller is the most widely used controller in traditional flight control systems, but it has poor environmental adaptability and struggles to achieve ideal flight quality. Currently, various control methods for fixed-wing drones have been developed, such as nonlinear control techniques including sliding mode control, feedback linearization, and robust control.
[0003] Unmanned aerial vehicle (UAV) systems exhibit strong nonlinearity and time-varying characteristics, which can be represented as a set of complex nonlinear differential equations. The active disturbance rejection controller (ADDC) proposed by Han Jingqing, a researcher at the Chinese Academy of Sciences, does not require an accurate mathematical model of the controlled object. It can guarantee control accuracy even under environments with strong nonlinearity and uncertain disturbances, and therefore this method has already seen many successful applications in the UAV field.
[0004] Active disturbance rejection controllers (ADRCs) have a large number of parameters, and various optimization methods have been proposed to find the optimal parameters of the ADRC more quickly. These include genetic algorithms, particle swarm optimization, and gene optimization methods. However, these methods currently suffer from problems such as long exploration time and slow optimization time.
[0005] Pelican optimization simulates the natural behavior of pelicans during hunting, allowing for a wider exploration space and reducing the time cost of finding the optimal target. Pelican optimization consists of two phases: exploration and development, enabling faster identification of the main optimal regions within the search space.
[0006] In summary, this invention proposes a pelican optimization based on random direction for tuning the longitudinal active disturbance rejection control parameters of fixed-wing UAVs, so that the method can find the optimal solution of the parameters more quickly and accurately. Summary of the Invention
[0007] The purpose of this invention is to propose a method for tuning longitudinal active disturbance rejection control parameters of UAVs based on stochastic direction pelican optimization, aiming to solve the problem of optimal selection of active disturbance rejection control parameters for fixed-wing UAVs.
[0008] Technical solution of the present invention
[0009] A method for tuning longitudinal active disturbance rejection control parameters of a UAV using stochastic orientation pelican optimization includes the following steps:
[0010] Step 1: Building a longitudinal model of a fixed-wing UAV
[0011] A longitudinal model of a fixed-wing UAV is established to replace the actual controlled object. To ensure a balance between model accuracy and operational complexity, a simplified longitudinal state space model of the fixed-wing is established.
[0012] Step 2: Setting up the Active Disturbance Rejection Controller
[0013] The active disturbance rejection controller consists of three parts: a tracking differentiator, a nonlinear controller, and an extended state observer. An active disturbance rejection controller model is established as the flight control system for a fixed-wing UAV.
[0014] Step 3: Randomly initialize the active disturbance rejection controller parameters
[0015] Before initialization, a pelican population size N is given, and the required optimization parameters are randomly assigned as the initial positions of individual pelicans. The required optimization parameters include the nonlinear controller weights β1 and β2, and the extended state observer weights β1 and β2. 01 β 02 and β 03 And based on this, the positional dimension of the individual pelican is determined to be m = 5;
[0016] Step 4: Record the current best individual
[0017] Before finding the optimal individual, the fitness of the pelican individual needs to be calculated. The fitness is calculated according to the fitness function based on the difference between the actual output value and the expected value of the model at the current position of the pelican individual. The smaller the fitness, the better the position of the individual. This process is repeated to find the optimal individual.
[0018] Step 5: Randomly update prey locations
[0019] In each iteration, an individual is randomly selected from the pelican population, and its location is used as the prey location, thereby expanding the search range of the pelican population.
[0020] Step Six: Optimize position updates during the exploration phase using a pelican-based random orientation.
[0021] During the exploration phase, pelicans will move towards the prey area. Depending on their fitness, pelicans will move in two different ways: one is random directional movement, which simulates the random selection mechanism of multiple targets within the pelican hunting area, aiming to increase spatial exploration capabilities; the other is straight-line movement towards the target, which reduces fitness. When the fitness of a new location decreases, the individual pelican moves to that new location.
[0022] Step 7: Optimize position updates during the development phase using a pelican-based random orientation.
[0023] During the development phase, the pelican gradually converges to the best point in the hunting area; the multi-target random selection mechanism in the pelican hunting area is simulated, and the random selection mechanism is formalized into random directionality and introduced into the position update during the development phase, which increases the pelican's exploration ability and ensures the convergence of the pelican's position; when the fitness of a new position decreases, the individual pelican moves to the new position.
[0024] Step 8: Output optimization results
[0025] Determine if the current iteration number t has reached the maximum iteration number T; if so, output the optimal pelican position; otherwise, update t = t + 1 and go to step four.
[0026] Furthermore, the construction of the longitudinal model of the fixed-wing UAV in step one of the above scheme includes:
[0027] To simplify the model, a simplified longitudinal state-space model of the fixed wing is established here:
[0028]
[0029] Where x = [uwq θ] T For the UAV state variables, δ=[δ e ] represents the input of the UAV, y represents the output of the UAV (i.e., the controlled object), u represents the velocity component along the x-axis of the body coordinate system, w represents the velocity component along the z-axis of the body coordinate system, q represents the pitch angular velocity, θ represents the pitch angle, and δ represents the velocity component along the z-axis of the body coordinate system. e This refers to the elevator deflection angle.
[0030] Furthermore, the construction of the active disturbance rejection controller in step two of the above scheme includes the following specific process:
[0031] Active disturbance rejection control (ADRC) is a digital control technique developed based on a computer simulation experimental platform. It fully utilizes the state observer from modern control theory and incorporates a nonlinear controller and a tracking differentiator. For a SISO system (single-input single-output system), the topology of the ADRC is as follows: Figure 1 As shown.
[0032] The active disturbance rejection controller model is established as follows:
[0033]
[0034] in, sign is the sign function, v is the desired tracking value, and u is the value of the tracking value. oy is the control input to the controlled object, y is the output of the controlled object, (v1, v2) is the output of the tracking differentiator, (z1, z2, z3) is the output of the extended state observer, (β1, β2) are the weights of the nonlinear controller, and (β... 01 ,β 02 ,β 03 The weights are those of the extended state observer. By adjusting the weights of the nonlinear controller and the extended state observer, the control can reach the optimal state.
[0035] Furthermore, in the above scheme, step three, the random initialization of the active disturbance rejection controller parameters, specifically includes the following process:
[0036] The optimizer's dimension is equal to the number of parameters to be optimized. The random initialization formula is as follows:
[0037] x i,j =l j +rand·(u j -l j ),i=1,2,...,N,j=,2,...,m (3)
[0038] Where, x i,j It is the value of the j-th parameter in the i-th individual, N is the population size, m is the dimension of the optimizer, rand is a random variable with a value between 0 and 1, l j u is the lower bound of the j-th parameter. j This is the upper bound of the j-th parameter.
[0039] Furthermore, in the above scheme, step four of recording the current optimal individual includes:
[0040] The optimal individual is defined as the individual with the lowest fitness value; finding the optimal individual is equivalent to finding the individual with the lowest fitness value. The formula is as follows:
[0041] x_best=argmin{fitness(x i ):i=1,2,...,N} (4)
[0042] Where x_best is the best individual in the current population, and fitness is the fitness function.
[0043] Furthermore, in the above scheme, step five, randomly updating the prey's location, includes:
[0044] The prey location will be randomly selected from the initial locations of individual pelicans. The selection formula is as follows:
[0045] x_food = rand(x i ), i = 1, 2, ... N (5)
[0046] Where x_food is the location of the prey, x i It is the position of the i-th individual, rand(x) i ) represents x i Randomly selected from (i = 1, 2, ... N).
[0047] Furthermore, in the above scheme, step six, the position update based on random orientation pelican optimization during the exploration phase, includes:
[0048] To enhance the pelican's spatial exploration capabilities and prevent premature convergence, a multi-target random selection mechanism within the pelican's hunting area is simulated. This random selection mechanism is then formalized as random directionality and introduced into the location update during the exploration phase, as given by the following formula.
[0049]
[0050] in, It is the value of the j-th parameter in the i-th individual during the exploration phase, p j is the value of the j-th parameter of the prey, r is an m-dimensional random vector, F P It is the prey's adaptability;
[0051] Update the position when the fitness of the new position is lower than that of the original position; otherwise, maintain the original position to prevent the pelican from moving to a suboptimal area. The formula can be expressed as follows:
[0052]
[0053] in, It is the position of the i-th individual in the exploration phase, F i P1 It is the fitness value corresponding to the Pelicans' new positions after the exploration phase.
[0054] Furthermore, in the above scheme, step seven, the position update based on random orientation pelican optimization during the development phase, includes:
[0055] During the development phase, the pelican will converge to better points within its hunting area. Similarly, simulating the pelican's multi-target random selection mechanism within its hunting area, this random selection mechanism is formalized as random directionality and introduced into the position update during the development phase, as given by the following formula.
[0056]
[0057] in, R is the value of the j-th parameter in the i-th individual during the development phase, R is a constant value, here taken as 0.2, t is the number of iterations, and T is the maximum number of iterations;
[0058] Update the position if the fitness of the new position is lower than that of the original position; otherwise, keep the original position. The formula is as follows:
[0059]
[0060] in, It is the position of the i-th individual in the development phase, F i P2 It is the fitness value corresponding to the Pelicans' new positions after the development phase.
[0061] The advantages and functions of the longitudinal active disturbance rejection control parameter tuning method for UAVs based on stochastic direction pelican optimization of the present invention are as follows: 1. The present invention provides a method for tuning the longitudinal active disturbance rejection control parameters of UAVs, which facilitates the selection of active disturbance rejection control parameters for fixed-wing UAVs; 2. Based on the original optimization method, the present invention simulates the multi-target random selection mechanism within the pelican hunting area, and formulates the random selection mechanism as random directionality and introduces it into the pelican position update, thereby expanding the exploration area of the optimization method and reducing the time cost of the method to find the optimal target; 3. The present invention introduces stochastic direction pelican optimization into the optimization of longitudinal active disturbance rejection control parameters of fixed-wing UAVs, which enables rapid search for optimal control parameters and reduces the time cost of selecting longitudinal active disturbance rejection control parameters for fixed-wing UAVs. Attached Figure Description
[0062] Figure 1 Active disturbance rejection controller topology
[0063] The labels and symbols in the diagram are explained as follows:
[0064] v - Expected tracking volume
[0065] u o ——Control quantity of the controlled object
[0066] y — Output of the controlled object
[0067] (v1, v2) — Tracking differentiator output values
[0068] (z1, z2, z3) — Tracking differentiator output values
[0069] Figure 2 Flowchart of the method for tuning longitudinal active disturbance rejection control parameters of UAVs based on stochastic direction pelican optimization
[0070] The labels and symbols in the diagram are explained as follows:
[0071] t — Current iteration number
[0072] T – Maximum number of iterations
[0073] n — Current Pelican player ID
[0074] N – Pelican population size
[0075] Figure 3 Expected controller control effect within 1 second when operating at a pitch angle of 5 degrees
[0076] Figure 4 Expected controller control effect within 5 seconds when operating at a pitch angle of 5 degrees.
[0077] Figure 5 Expected controller control effect within 10 seconds when operating at a pitch angle of 5 degrees.
[0078] Figure 6 Expected controller control effect within 10 seconds at a pitch angle of 25 degrees. Detailed Implementation
[0079] The effectiveness of the active disturbance rejection control parameter tuning method proposed in this invention will be verified through a specific example below. The simulation environment for this example is configured with an Intel(R) Core(TM) i7-6700 processor, 3.40GHz clock speed, 8GB memory, and MATLAB 2018b software.
[0080] A method for tuning longitudinal active disturbance rejection control parameters of UAVs based on stochastic orientation pelican optimization is described below. Figure 2 As shown, the specific practical steps for this example are as follows:
[0081] Step 1: Building a longitudinal model of a fixed-wing UAV
[0082] A simplified longitudinal model of a fixed-wing UAV is established according to equation (1), with the input set as elevator deflection angle and the output as pitch angle.
[0083] Step 2: Setting up the Active Disturbance Rejection Controller
[0084] The active disturbance rejection controller is constructed according to equation (2). The input is the desired pitch angle, and the output is the elevator deflection angle of the fixed-wing UAV. The parameters to be optimized are the nonlinear controller weights β1 and β2 and the extended state observer weight β. 01 β 02 and β 03 .
[0085] Step 3: Randomly initialize the active disturbance rejection controller parameters
[0086] First, select the population size; given a population size of 60, i.e., N = 60. Next, set the upper and lower bounds of the desired optimization parameters. Set the lower bound of the five parameters to 0 and the upper bound to 1000, i.e., l j =0, u j =1000. Dimension m=5. Randomly initialize the individual pelican positions according to equation (3), i.e., the m parameters of the active disturbance rejection controller.
[0087] Step 4: Record the current best individual
[0088] The aircraft and controller models were built using Simulink. Therefore, a simulation was performed before calculating the fitness. The simulation time was set to 1 second, and the desired pitch angle was 5 degrees. The pitch angles of the aircraft model during the simulation were stored in the MATLAB workspace. The fitness was then calculated using the following formula.
[0089] fitness=w1·erro_down+w2·erro_over (10)
[0090] Where erro_down is the integral of the error for the portion of the actual output that does not exceed the expected value, erro_over is the integral of the error for the portion of the actual output that exceeds the expected value, and w1 and w2 are their respective weights.
[0091] The larger the weight, the more important the optimization of which part is valued. The larger w1 is, the more we want the pitch angle to reach the desired value quickly. The larger w2 is, the more we want the pitch angle to have as little overshoot as possible. In this simulation, setting w1 = 0.15 and w2 = 0.3 can achieve a good balance between the two.
[0092] After the fitness of each individual is calculated, the optimal individual is determined by selecting the individual with the lowest fitness.
[0093] Step 5: Randomly update prey locations
[0094] Among all 60 individuals, one individual is randomly selected as the prey.
[0095] Step Six: Optimize position updates during the exploration phase using a pelican-based random orientation.
[0096] Update the position of the individual pelican according to equation (6), and determine whether to accept the new position according to equation (7).
[0097] Step 7: Optimize position updates during the development phase using a pelican-based random orientation.
[0098] Similarly, update the position of the individual pelican according to equation (8), and determine whether to accept the new position according to equation (9).
[0099] Step 8: Output optimization results
[0100] Determine if the current iteration number t is greater than the maximum iteration number T. If not, proceed to step four and set t = t + 1. If it is greater, find the position of the individual with the lowest fitness in the entire pelican population, update the position of this individual to the parameters of the active disturbance rejection controller, and further simulate and output the result curve.
[0101] Figures 3 to 5 The simulation was run with optimal parameters to observe the actual pitch angle changes of the UAV after 1 second, 5 seconds, and 10 seconds. It can be seen that the optimized active disturbance rejection controller can quickly and stably control the pitch angle to the desired pitch angle. Figure 6 The output shows the actual pitch angle after 10 seconds of operation, given a desired angle of 25 degrees based on the currently optimized parameters. It can be seen that the optimizer's parameter optimization is fast and reliable; it can quickly find a set of optimal controller parameters and adapt to different input conditions.
Claims
1. A method for tuning longitudinal active disturbance rejection control parameters of an unmanned aerial vehicle (UAV) based on stochastic orientation pelican optimization, characterized in that: The steps include the following: Step 1: Building a longitudinal model of a fixed-wing UAV Establish a simplified longitudinal state space model for a fixed-wing UAV to replace the actual controlled object; Step 2: Setting up the Active Disturbance Rejection Controller The active disturbance rejection controller (ADRC) consists of three parts: a tracking differentiator, a nonlinear controller, and an extended state observer. The established ADRC model is as follows: (1) in, , , For symbolic functions, It is the expected tracking volume. It is the control input given to the controlled object. It is the output of the controlled object. , To track the output of the differentiator, ( , , ) is the output of the extended state observer, ( , ) represents the weights of the nonlinear controller, ( , , ) represents the weights of the extended state observer. By adjusting the weight values of the nonlinear controller and the extended state observer, the control can reach the optimal state. Step 3: Randomly initialize the active disturbance rejection controller parameters Given the pelican population size before initialization The required optimization parameters are randomly assigned as the initial positions of individual pelicans; the required optimization parameters include the nonlinear controller weights. and and the weights of the extended state observer , and And use this to determine the positional dimension of individual pelicans. ; Step 4: Record the current best individual Before finding the optimal individual, the fitness of the pelican individual needs to be calculated. The fitness is calculated according to the fitness function based on the difference between the actual output value and the expected value of the model at the current position of the pelican individual. The smaller the fitness, the better the position of the individual. This process is repeated to find the optimal individual. Step 5: Randomly update prey locations In each iteration, an individual is randomly selected from the pelican population, and its location is used as the prey location, thereby expanding the search range of the pelican population; Step Six: Optimize position updates during the exploration phase using a pelican-based random orientation. During the exploration phase, pelicans will move towards the prey area. Depending on their fitness, pelicans will move in two different ways: one is random directional movement, which simulates the random selection mechanism of multiple targets within the pelican hunting area, aiming to increase spatial exploration capabilities; the other is straight-line movement towards the target, which reduces fitness. When the fitness of a new location decreases, the individual pelican moves to that new location. Step 7: Optimize position updates during the development phase using a pelican-based random orientation. During the development phase, the pelican gradually converges to the best point in the hunting area; the multi-target random selection mechanism in the pelican hunting area is simulated, and the random selection mechanism is formalized into random directionality and introduced into the position update during the development phase, which increases the pelican's exploration ability and ensures the convergence of the pelican's position; when the fitness of a new position decreases, the individual pelican moves to the new position. Step 8: Output optimization results Determine the current iteration number Has the maximum number of iterations been reached? If yes, output the optimal pelican position; otherwise, update... Then proceed to step four.
2. The method for tuning longitudinal active disturbance rejection control parameters of a UAV based on stochastic orientation pelican optimization according to claim 1, characterized in that: Step six, the position update during the exploration phase based on the random orientation pelican optimization, includes: To enhance the pelican's spatial exploration capabilities and prevent premature convergence, a multi-target random selection mechanism within the pelican's hunting area is simulated. This random selection mechanism is then formalized as random directionality and introduced into the location update during the exploration phase, as given by the following formula. ; in, It is the first stage of exploration. Among the individuals, the first The values of the parameters, It is the value of the j-th parameter of the prey. It is A dimensional random vector, It is the prey's adaptability; If the fitness of the new position is lower than that of the original position, update the position; otherwise, keep the original position to prevent the pelican from moving to a non-optimal area. The formula is as follows: (3) in, It is the first stage of exploration. The position of each individual It is the fitness value corresponding to the Pelicans' new positions after the exploration phase.
3. The method for tuning longitudinal active disturbance rejection control parameters of a UAV based on stochastic orientation pelican optimization according to claim 2, characterized in that: Step seven, the position update during the development phase based on stochastic orientation pelican optimization, includes: During the development phase, the pelican will converge to better points within its hunting area. Similarly, simulating the pelican's multi-target random selection mechanism within its hunting area, the random selection mechanism is formalized as random directionality and introduced into the position update during the development phase; this is given by the following formula: (4) in, It is the first stage of development. Among the individuals, the first The values of the parameters, It is a constant value, here we take 0.
2. For the number of iterations, This represents the maximum number of iterations. If the fitness of the new position is lower than that of the original position, update the position; otherwise, keep the original position. The formula is as follows: (5) in, It is the first stage of development. The position of each individual It is the fitness value corresponding to the Pelicans' new positions after the development phase.