2.3. Methodology for Selecting the Optimal Parameters of an Aircraft-Type UAV
The proposed method is based on the application of the success-history-based adaptive differential evolution (SHADE) optimization algorithm [
52,
53,
54], utilizing penalty functions [
55,
56,
57], population size reduction methods [
58,
59,
60], and numerical mathematical modeling. The SHADE optimization method involves the transformation of information within populations of individuals.
In the considered problems, an individual represents one of the possible project variants–vector
xs, whose components are specific values of the design variables
xi of the designed aircraft:
where:
—the vector design variables of the individual s in the population Pg;
s—index of the individual;
w—number of individuals in the population;
i and n—index and number of design variables in the individual s.
A population
Pg is a set of individuals
s at an iteration of optimization (generation)
g, and includes vectors of individuals
:
where:
g—the index of the population.
The methodology of this work is based on the algorithm from [
45] but incorporates a new approach with significant improvements that allow the following:
- -
Consideration of various aerodynamic configurations of UAVs with one or two lifting surfaces (flying-wing, normal, canard, tandem);
- -
Design of UAVs of different dimensions;
- -
Use various types of power plants on UAVs;
- -
Increase the performance of calculations through analytical tools and parallel calculations.
The methodology is implemented on the Python platform, integrating the AVL open-source code for aerodynamic calculations [
61].
A block scheme of the methodology is presented in
Figure 2.
In general, the methodology includes several basic blocks.
The process includes entering initial data and design constants, configuring the optimization method settings, choosing the size of the first w populations, assigning the value of the stop criterion ε, setting the ranges of values for the design variables [xi(min)… xi(max)], and defining the constraints qj ≤ 0. Additionally, it involves specifying the range of possible values for the input takeoff weight of the individuals in the initial approximation at the first iteration [(min) …(max)].
The process involves initializing the first population
Pg = 1, consisting of vectors
of individuals. The values of the design variables
xg = 1, i in the vectors of each individual
xg = 1, s are selected randomly from the user-defined range of values for the design variables [
xi(min)…
xi(max)] using the Latin hypercube sampling (LHS) method [
62]. This includes the initial takeoff weight approximation
g = 1 and s within the given range [
(min) …
(max)]. The size of the first population should be at least
wg = 1 = 10
n, where
n is the number of design variables.
Block 3 is designed to calculate the values of the objective function
of individuals
of the population
Pg based on the values of their design variables
xi, including the input takeoff weight of the initial approximation
g,s. The value of the objective function of each individual is the output (refined) takeoff weight
(
xg,s), calculated using the sizing equation (see
Figure 3, Blocks 3.1.s) and supplemented by the value of the penalty
ψ (see
Figure 3, Block 3.2):
where:
where
—the penalty function;
—the upper limit of the possible takeoff weight;
R—the penalty amplification parameter that matches the dimensions and orders of the penalty function with takeoff weight values. Based on the estimates provided in [
57], considering the sensitivity of the constraint parameters to the objective function,
= 60,000 and R = 100 were chosen. SHADE is a variation of the DE algorithm that is designed to enhance performance by adapting control parameters. By utilizing historical success rates of different parameter settings, SHADE guides the search process more efficiently. In constrained optimization problems, penalty functions are utilized to handle constraints by transforming them into unconstrained problems. They impose penalties on solutions that violate constraints, steering the search towards feasible regions. In the context of the SHADE optimization algorithm, penalty functions can be integrated to handle constraints by adjusting the objective function value of candidate solutions based on their constraint violations. By doing this, the search process prioritizes feasible solutions while efficiently exploring the solution space.
The result of Block 3 is a vector of objective function values
for each individual
xs in the population
Pg (see
Figure 3).
The use of the differential evolution method allows the calculation process
(
xg,s) to be performed using parallel calculations (see
Figure 3, Blocks 3.1.s) with the Joblib library [
63] to enhance performance, as the design variable vectors of each individual are independent of one another.
Blocks 4–7 are responsible for the process of generating new populations.
A new population Pg+1 of individuals xg+1,s at each subsequent step of optimization is formed based on the selection of the best individuals xg,s from the previous population Pg= {x1, x2, … xs, … xw}g and the crossover population = {u1, u2, … us, … uw}g, which is obtained by crossing the population Pg with the mutant population = {v1, v2, …vs, … vw}g.
A population
includes mutated vectors of individuals
= {
v1,
v2, …
vs, …
vw}
g, each of which is calculated by the formula:
where:
—a randomly selected vector from the group of the best vectors of the population
Pg. The group of the best vectors is determined based on the principle of minimizing the objective function
, and the size of the group of the best vectors is determined by the algorithm settings [
52].
—a random vector from the population Pg, excluding ;
—a random vector selected from the combined population
Pg and the archive of worst solutions
A [
52].
The value of the scaling factor
Fs is determined by the algorithm settings [
52].
The vectors us = (u1, u2, … ui, … un)s of the crossover population = {u1, u2, … us, … uw}g are formed by crossing the values of mutant vectors vs = (v1, v2, …vi, … vn)s of the mutant population = {v1, v2, …vs, … vw}g with vectors xs = (x1, x2, … xi, … xn)s of the current population Pg = {x1, x2, … xs, … xw}g.
Crossing is carried out randomly according to the following conditions:
—the value of the crossover speed;
—random number range.
If the new values of the design variables for any individual exceed the specified range after the mutation and crossover operations, they will be reassigned according to the condition:
The values of the objective function
of the crossover vectors
us are calculated using Block 3 (see
Figure 2) and their values are compared with the values of the objective function
of the vectors
xs in the current population
Pg. The selection of individuals from the new population
Pg+1 for the next optimization step is based on the following condition:
The objective function, penalty function, and input values of the takeoff weight for each individual will be determined for the new population under the following conditions:
At this stage, an archive of the worst individuals is created, which will be utilized for mutation in subsequent optimization iterations:
In this case, a set of vectors representing individuals is formed, with the value of the penalty function equal to zero (
ψ = 0) according to the following condition:
The convergence of the sizing equation is ensured by narrowing the range of values [(min) …(max)] at each subsequent optimization step, according to the condition:
That is, the new boundaries [(min) …(max)] for the next generation are determined based on the most successful individuals (ψ = 0).
If the set of individuals with
ψ = 0 at the previous optimization step is empty
Mxfg = ∅ (that is, all
> 0), then the new range of values [
(min) …
(max)] remains the same as in the previous generation:
Each optimization step reduces the population size by excluding the worst individuals with the highest values of the objective function
(
ψ >> 0). The population size for the next generation is determined using an exponential population size reduction method:
where:
NPmin—the minimum population,
NP0—the initial population,
NFEmax—the maximum number of evaluated functions,
NFE is the current number of evaluated functions. The
NPg+1 individuals with the best fitness are selected.
If the size of the new population is greater than the number of individuals with ψ = 0, then the population will be supplemented by individuals with the lowest values of the objective function among those with ψ ≠ 0.
The initial value of the takeoff weight for the next approximation for any individual is a result of the mutation and crossover process of the population from the previous step. If these actions cause the initial takeoff weight of an individual in the new generation to exceed the boundaries of the new range [(min)…(max)], then this individual will be assigned the nearest boundary value from this range.
Therefore, individuals with ψ ≠ 0 will gradually be eliminated according to the population reduction, and the boundaries [(min) …(max)] will narrow until the convergence of the sizing equation ≈ = along with the convergence of the overall optimization process max—min.
The convergence of the objective function when solving the sizing equation is shown schematically in
Figure 4.
The convergence condition is evaluated as max − min. The algorithm blocks from 3 to 7 will be executed iteratively until convergence is achieved if this condition is not met.
The best individual is selected from the final population
along with its corresponding objective function
(
) (as a result,
(
) =
). Additionally, the algorithm yields other output values crucial for comparing results with alternative solutions and for advancing further design stages, including the weights of UAV components, the takeoff weight, flight technical specifications, energy, aerodynamic characteristics, and appearance (see
Figure 2, Blocks 9.1–9.2).
The algorithm for calculating the output (refined) takeoff weight
(
xg,s) (see
Figure 3, Blocks 3.1.s) is one of the cycles of the general optimization algorithm and is presented in more detail in
Figure 5:
Block m1—receives as input the initial data from Block 1 and the vector of the design variables of the individual xg,s in the generation g, which also includes the initial approximation (input value) of the takeoff weight .
Block m2 is used to calculate the absolute geometric characteristics of the aircraft based on the input value of the takeoff weight and the specific load on the lifting surface (W/S)g,s, the value of which is in the vector of the design variables of the considered individual xg,s.
Geometric characteristics are used in the algorithm for the following purposes:
- -
Automated generation of three-dimensional geometric models of UAVs;
- -
Generation of numerical models for calculating the aerodynamic characteristics of UAVs;
- -
Application of engineering formulas for aerodynamics, taking into account compressibility and viscous friction;
- -
Calculation of the weight of the UAV airframe structure.
Block m3—calculates the aerodynamic characteristics of the UAV in order to determine the lift-to-drag ratio.
Block m4—checks the balancing condition of the UAV in the vertical plane.
Block m5—implements the process of balancing the UAV by selecting the angle of attack α and the incidence angle δ2 of the balancing surface, taking into account the specified static margin of longitudinal stability.
Block m6—calculates the required power characteristics of the power plants and the required amount of energy carrier at all stages of the flight.
Block m7—calculates the weights of the main components of the UAV.
Block m8—calculates the output takeoff weight using the sizing Equation (16) based on the values of the parameters xi and the input takeoff weight value .
Taking into consideration the characteristics of the optimization algorithm, the takeoff weight is calculated using Formula (16) for each individual
xg,s of the current generation
g.
where:
—payload;
—relative weight of the power plants;
—relative weight of fuel (or
—relative weight of batteries in the case of electric power plants);
—relative weight of structure;
—relative weight of equipment and control.
In the case of the use of an internal combustion engine UAV (or other type of fuel engine), the relative weight of the fuel is determined by the formula:
where:
—power-to-weight ratio [kW/daN];
C—specific fuel consumption [kg/(kW.h)];
t—the flight endurance [h].
In the case of using an electric motor UAV, the relative weight of the batteries will be equal to:
where:
—efficiency of the power plants;
SoC—the state of charge of the battery;
E—the specific energy capacity of the battery [kg/(kW.h)]; and
g—the acceleration of gravity [m/s
2].
- 2.
The weight of the power plants
The weight of the power plants includes the weight of the propellers and the engine, along with performance support systems such as the fuel system for internal combustion engines and controllers of electric motors when used as a power unit. The relative weight of the engine is calculated according to the formula:
where:
k—coefficient that takes into account the increase in the weight of the power plants due to the systems;
—the specific weight of the engine.
- 3.
Weight of structure and on-board equipment
The weight of the UAV airframe structure, which includes the weights of the wing, tail, fuselage, landing gear, and on-board equipment, is determined using weight formulas presented in the specialized literature [
2,
4,
6,
7,
8].
The values included in the denominator of Equation (16) directly or indirectly depend on the takeoff weight and vice versa. Equation (16) is solved through successive approximations: it starts with the initial approximation of the takeoff weight as input and produces a refined value as output. The convergence of the solution (16) is achieved when ≈ with a given accuracy. The convergence process of the sizing equation is integrated within the general optimization cycle, which has been detailed earlier.
The pseudocode of the takeoff weight calculation algorithm is presented in
Appendix B.
Geometric characteristics (see
Figure 5, Block m2)
The geometric characteristics of each individual
xg,s of the current generation (see
Figure 5, Block m2) are calculated using the input value of the takeoff weight
, the lift system loading (
W/
S)g,s, and other relative geometric parameters from the vector of the individual
xg,s generated by the optimization cycle.
The total area of the lifting surfaces of the UAV
SΣ is determined by the formula:
where:
WTO—takeoff weight [kg] and
—the lift system loading [daN/m
2].
The remaining absolute geometric characteristics of each lifting surface are found by the relationships:
where:
S1—the area of the forward lifting surface [m
2];
S2—the area of the aftward lifting surface [m
2];
b—the span [m];
—aspect ratio;
j—the index (
j = 1 or 2);
cr—root chord [m];
ct—tip chord [m];
—taper ratio;
—the mean aerodynamic chord [m]. The geometric twist
is determined by the law of distribution of the incidence angles of the flow sections of the wing.
The geometry of the fuselage is described by relative and absolute parameters: fuselage aspect ratio, ; aspect ratio of the nose and tail fuselage, , ; equivalent mid-section diameter, ; and loading on mid-section (W/S)mf.
The scientific novelty of the proposed method lies in the utilization of geometric parameters and = , which enable the consideration of aerodynamic configurations involving one or two lifting surfaces without categorizing them into normal, canard, tandem, or flying-wing. The value serves as a variable parameter during optimization. In the case < 1, UAV has a normal configuration; in the case > 1—canard configuration; if ~ 1—tandem; and = 0 is the flying-wing or tailless configuration. This approach allows for flexibility in optimizing UAV designs across various aerodynamic configurations.
In this context, the main lifting surface is identified as the forward surface if > and alternatively, as the aftward surface if . Normalization of aerodynamic coefficients and relative geometric characteristics is conducted relative to the mean aerodynamic chord of the main surface.
Calculation of the aerodynamic characteristics of the UAV (see
Figure 5, Block m3)
The calculation of the aerodynamic characteristics of the UAV (see
Figure 5, Block m3) is performed for the specific aerodynamic configuration derived from each individual
xg,s. This includes determining key properties and the inductive component of drag using the VLM method [
64,
65,
66] with the open-source AVL software [
61] integrated with Python. Additionally, considerations for the compressibility effects and the calculation of viscous friction forces are addressed using established engineering methods.
The pseudocode for creating a calculation file for AVL and determining aerodynamic characteristics is presented in
Appendix C.
The primary objective of the aerodynamics model used is to determine the lift-to-drag ratio during each stage of flight in order to assess the necessary energy characteristics of the power plants and the amount of energy carrier required, determined based on the required power-to-weight ratio at different stages of flight, as outlined in Equation (26).
The lift-to-drag ratio, which determines the energy costs during each stage of flight, is calculated as the ratio of the lift coefficient CL to the drag coefficient CD corresponding to the specific flight mode.
The energy balance is provided at each of the stages of flight by the expression:
where:
—flight path angle [°];
α—angle of attack [°];
—lift-to-drag ratio;
V—flight speed [m/s];
—efficiency of the propeller.
The determination of the lift-to-drag ratio and the required energy characteristics of the UAV is conducted under the condition that the UAV is in equilibrium in the vertical plane, ensuring:
where:
M—the pitch moment relative to the center mass;
L—lift force;
—lift required for equilibrium along the
zw axis of the wind coordinate frame;
D—drag force;
T—the thrust of the power plants; and
W—the weight of the UAV.
Condition (27) is satisfied based on Equation (26). The forces and moments in (a) and (b) of Equation (27) are more conveniently expressed in terms of coefficients.
The lift coefficient
required to ensure equilibrium along the
zw axis is determined by the formula:
where:
g—the acceleration of gravity [m/s
2];
—the lift system loading [kg/m
2];
—flight path angle [°];
—air density [kg/m
3];
V—the flight speed [m/s].
The lift coefficient of the aircraft depends on the angle of attack and the angular arrangement of the lifting surfaces relative to each other. Similarly, the coefficient of pitch moment relative to the center of mass also depends on the chosen static margin of longitudinal stability.
The equilibrium problem (27) is an optimization task aimed at satisfying Equations (27a) and (27b) using two variables:
where:
α—angle of attack [°];
—the incidence angle of the balancing aerodynamic surface [°].
The aerodynamic models utilized establish the linear relationships depicted in (29). Therefore, the proposed approach advocates employing an algorithm that heavily relies on analytical methods to expedite the solution of this problem:
- -
The calculation of the coefficients and using the numerical VLM method in AVL software pertains to the leading edge of the mean aerodynamic chord of the main lifting surface. This calculation considers two different combinations of α and .
- -
Based on the data obtained, a linear approximation of the analytical dependencies = and = is conducted.
- -
The position of the aerodynamic focus is calculated relative to the angle of attack from the leading edge of the mean aerodynamic chord of the main lifting surface: and the required position of the center of mass is calculated to achieve a specific static margin of longitudinal stability: , where = Δ—the required static margin of longitudinal stability.
- -
The dependence is recalculated
relative to the required position of the center mass (see
Figure 6):
- -
Analytical expressions for the two lines obtained by the intersection of the plane
(light green) with the plane
(blue), and the plane
(yellow) with the plane
= 0 are determined, solutions (29a) and (29b) are found independently of each other (see
Figure 7);
- -
The solution of the problem (27) is analytically determined as the point B = (
), which represents the intersection of the two lines
(pink) and
(red) (see
Figure 7).
- -
Values and are also calculated using the VLM method in AVL software to validate the equilibrium conditions.
The pseudocode of the algorithm is presented in
Appendix D.