At the core of the work presented here is the trajectory planning algorithm and its real-world implementation. A number of teams have investigated fixed-wing UAV path planning; however, none of this previous work involved real world testing or use. Some related real world testing has taken place with multi-rotor UAVs [
2]; however, these aircraft are innately different to fixed-wing UAVs as they have the ability to stop moving to buy computational time. The application presented in this paper requires route solutions that span a large space, involving BVLOS operation.
The practical use of successful 3D trajectory optimisation is a natural area of development in the UAV community, increasing UAV flight performance, developing UAV automation, and increasing UAV operators’ efficiency. The application of reliable real-time path planning methods would allow UAV teams to save the time spent developing efficient and effective flight plans in order to complete specific tasks. It is also of interest to the air traffic conflict detection and resolution (CDR) community [
4], both for integration of UAVs into existing airspace, and development of UAV-specific air traffic management.
Trajectory optimisation has been an area of interest for a long time, with Betts’ survey of numerical methods for trajectory optimisation dating back to 1998 [
5]. Betts formulates the problem generically, including various methods of problem set-up, before discussing a variety of solution methods. Various shooting and collocation methods are discussed, and compared briefly to genetic algorithms and simulated annealing; randomness in these methods makes them attractive to certain practical cases. While Betts considers trajectory optimisation in a more general sense, Hoy et al. consider algorithms for robotic navigation through cluttered environments; a survey that is more relevant to the UAV case, despite just considering 2D cases [
6]. Path planning algorithms such as rapidly exploring random trees [
7], graph search algorithms [
8,
9], and artificial potential field methods [
10] are mentioned, as well as evolutionary algorithms, simulated annealing, and particle swarm optimisation. Sensor based techniques, such as boundary following, are discussed; however, they are not suitable to the UAV problem presented in this paper. The world-space in the UAV problem is large and the aim is not to specifically avoid obstacles but rather to achieve an efficient flight to the target location, avoiding any obstacles that may be present.
Patle et al. review path planning strategies for mobile robots in their 2019 paper; however, again this is restricted to 2D [
11]. A significant number of recent, biologically inspired, methods are discussed; for example, the ant colony optimisation [
12] and the artificial bee colony algorithm [
13]. Despite reviewing papers for a 2D application, suitability to 3D workspaces is considered. Methods that are listed as suitable for aerial navigation include genetic algorithms and particle swarm optimisation. A number of established optimisation methods are discussed below, including pertinent applications to path planning and UAVs.
2.2. Evolutionary and Genetic Algorithms
Another form of stochastic optimisation technique is the Genetic Algorithm (GA) [
14], widely used for applications such as the design of minimal phase digital filters and surface grinding processes [
16]. GAs simulate the process of genetic evolution found in nature, and so the terminology associated with the process is therefore bio-inspired; the external characteristics (phenotype) are determined by the configuration of genes (genotype) [
17]. Individuals who adapt poorly to the environment tend to be eliminated from the population while fitter individuals survive, and, as generations pass, processes such as mutations and recombinations ensure a positive evolution occurs. Within the optimisation method, each individual is represented through a series of bits, integers or numbers (‘chromosomes’) thereby making up the information within a genotype. Classical GAs use binary coding for the representation of the genotype.
Nikolos et al. present a form of GA called the Evolutionary Algorithm (EA), in the context of UAV path planning [
17]. They describe the EA method in detail, and use B-splines to model the UAV path-line. The operators used on the genotypes are a combination of selection, recombination, and mutation of chromosomes. The chromosomes take the form of B-spline control points, but the cost function is evaluated over the actual B-spline path. After a random initialisation, optionally bounded by limits, initial paths are generated and evaluated. The selection scheme used is an elitist truncation model where a threshold parameter
T allows some of the ‘children’ showing the best fitness to be chosen as ‘parents’ for the following generation/iteration. Of the top
solutions, the probability of being chosen as future parents is directly proportional to the solution’s fitness, compared to the average fitness of the selected
. When
, the selection scheme acts like a roulette scheme, where population members are chosen at random. When
, it acts like a traditional truncation model whereby the fittest members are selected almost exclusively. Nikolos et al. found
as suitable and sufficient to avoid entrapment in local minima. The results presented are 3D simulations with a cost function that considers proximity to terrain and vehicle capabilities such as minimum path curvature angles and maximum flight height. The computational cost of the process is not discussed; however, the team concludes that the method is feasible under forced constraints and in a limited time period, given the low number of iterations needed to optimise the locations of the B-spline control points.
NSGA-II is a Non-dominated Sorting Genetic Algorithm that was first published by Deb et al. in 2002 as an alternative to traditional multi-objective non-dominated EAs [
18]. A solution is said to be non-dominated if no aspects of the cost function can be further improved without worsening other parts of the cost function. Mittal and Deb use the NSGA-II EA and local searches as an offline method of finding paths for a UAV in 3D, considering two main objectives [
19]. They define two problem types:
UAV navigation with no restriction on the path,
UAV navigation with a requirement for the aircraft to pass through one or more specified points.
Once again, B-splines are used to generate a smooth path and the free-to-move control points are the source of change in the path. Mittal and Deb argue that combining multiple metrics into a single objective optimisation problem holds risks. Firstly, the combination of multiple objectives requires that all objectives must be of the same type (i.e., minimisation or maximisation), and, secondly, that weighting vectors require normalised objectives and mean an implicit user input of comparative importance between objectives. The objective functions considered here are the minimisation of the length of path, and the often contradictory minimisation of risk due to ground proximity. A number of constraints are placed on the problem, including not colliding with the terrain and maintaining smooth changes of direction. Mittal solves the issue of combining objectives by finding N non-dominated solutions to each objective and applying a local search procedure to reduce N to between 8–10.
Although Mittal and Deb find a way around the implicit user-weighting during the combination of objectives, the process presented serves only to move the user input to the end of the process where the paths must be qualitatively compared. The process is arguably suitable to problems with two objectives, however, any more than that would make the the final user-decision difficult to visualise. The computational time of the presented form was several minutes at the time of publication. Additionally, an automated decision-making process would need to be appended in order to select a single path from the generated candidates.
Wise et al. present a method providing real-time path-planning in tactical scenarios using an evolution-based algorithm [
20]. Tested using a high-fidelity UAV simulator, the 2D algorithm finds a quasi-optimal path on demand within a given time window. Two test cases were primarily used; the first with a requirement to orbit a target within a 5% error in radius, and the second to loiter outside of radar detection at a given radius from a known target location. One of the novel aspects of the presented method is the incorporation of a planning horizon. This means that, after an initial offline initialisation, the aircraft has the transit time to the horizon in which to calculate the next segment of the flight path. This approach means that only small sections of the path must be generated at any given stage, making real-time computation possible. The appropriate choice of constraints and cost functions, and some knowledge of the environment, would determine the success of the method in reality. No real-world flights are presented in this work.
More recently, MahmoudZadeh et al. using evolutionary algorithms to solve a rendezvous problem in a cluttered environment for an autonomous underwater vehicle [
21]. Xue and Sun also present an evolutionary algorithm in their 2018 paper, using a multi-objective cost function to optimise paths for simulated mobile robots [
22]. The use of evolutionary-type methods in these recent publications, despite not relating directly to UAVs, indicate continued relevance of this established optimisation method in the field of robotics and path planning.
2.3. Particle Swarm Optimisation
The Particle Swarm Optimisation (PSO) method originates from the social behaviours of animals such as fish and birds [
23]. A population of particles is called a swarm, with every particle representing a candidate solution within the search space. The swarm and space exist in
d dimensions for a problem defined with
d dimensions. Every particle has a position
and a velocity
, both randomly initialised within the search space. The particles’ positions are updated based on their velocities with each iteration. The individual velocity of each particle is affected by the previous velocity of the particle, the best ever position held by the particle (‘personal influence’), and the best ever position held by any particle (‘global influence’). The equations of the method tend to follow the form shown in Equations (
1) and (
2), where
i is the iteration number,
n is the particle number,
and
are random values between 0 and 1,
is the best ever position of any particle within the swarm,
is the best position occupied by particle
n,
and
are the personal and global influence parameters, respectively, and
is the ‘inertia’ of the particle:
Salamat and Tonello use a PSO to generate trajectories for quad-rotor UAVs, and compare the performance of the PSO to the standard A* algorithm, Rapidly-exploring Random Tree algorithm, and a GA for the minimum length path in a 2D problem, summarised here [
23]. Salamat defines the location of the start and end points, and the number of control points used. The execution time was on the order of 5–7.5 s depending on the specific problem, with swarm sizes of 50–100, 4–5 control points, and between 250–400 iterations. The application of these methods to multi-rotor UAVs is distinctly different to using them for fixed-wing UAVs; however, the comparison of these results is pertinent to the selection of an initial method for trial.
The PSO was first quantitatively compared to a GA by Roberge et al. [
16], who conduct a thorough comparison of the methods in a real-time 3D UAV path-planning context. This is one of only a few papers that do not use B-splines for paths; instead, they use line segments, circular arcs, and vertical helices between points. The solutions found were feasible and near-optimal; however, the computation time was proving to be an issue so the team parallelised the algorithms. The result allowed computation times as short as 3.63 s; however, an execution time of 10 s was justified as allowable for online application considering the typical speed of fixed-wing UAVs and the scale of the paths generated. It is important to note here that, although real-time calculation is mentioned, it was only performed in simulation and the computing power required would limit route calculation to being ground-based. With terrain models from GeoBase (Canada), extensive results are presented summarising PSO and GA performance over 60 trajectories in 40 scenarios applied to two fictitious and six real terrain maps.
A statistical t-test was carried out on the cost-distributions of the trajectories, and, based on the results, the GA was shown to be preferable. The fixed computation time of 10 s was applied throughout, and both methods had a population size of 256. The difference in result between this paper and Salamat et al. shows how, when applied to different problems, the most preferable algorithm is not easily predictable.
2.5. Real-Time Navigation
Real-time moth-inspired navigation algorithms have been developed on multi-rotors for finding the source of forest fire plumes by Montes, with further simulations and real-world tests presented by Letheren et al. [
2,
25]. In some sense, it is similar to the plume sampling discussed in this paper; however, the source of volcanic emissions is known and static, whereas the forest fire source may move rapidly.
In order to better test the performance of the algorithms used, Letheren et al. developed a novel way of modelling the plume for UAV simulations by adding a variable wind-speed to the Holzbecher model [
26]. Along with a random plume generation during the execution of the process, a stochastic element was introduced to the modelling of the plume tracker. Purely computational simulations were run in 3D successfully; then, hardware in the loop simulations were used to troubleshoot the real-world system.
Letheren et al. apply the above work to a 3DR IRIS quadcopter UAV, tracking a plume in 2D in real time [
2]. The payload of the aircraft is sufficient for the sensor and an additional telemetry unit, with the computation of the algorithm conducted on the ground station. Although this is sufficient for the example presented in this paper, the telemetry links to small UAVs are often not sufficiently reliable when operating at BVLOS range.