License: CC BY 4.0
arXiv:2403.12739v1 [cs.NE] 19 Mar 2024

Path Planning in a dynamic environment using Spherical Particle Swarm Optimization

Mohssen E. Elshaar1,*1{}^{1,*}start_FLOATSUPERSCRIPT 1 , * end_FLOATSUPERSCRIPT, Mohammed R. Elbalshy1,*1{}^{1,*}start_FLOATSUPERSCRIPT 1 , * end_FLOATSUPERSCRIPT, A. Hussien 2,2{}^{2,\dagger}start_FLOATSUPERSCRIPT 2 , † end_FLOATSUPERSCRIPT and Mohammed Abido2,,2{}^{2,\dagger,\ddagger}start_FLOATSUPERSCRIPT 2 , † , ‡ end_FLOATSUPERSCRIPT
11{}^{1}start_FLOATSUPERSCRIPT 1 end_FLOATSUPERSCRIPTDepartment of Aerospace Engineering, 22{}^{2}start_FLOATSUPERSCRIPT 2 end_FLOATSUPERSCRIPTDepartment of Electrical Engineering
{}^{\dagger}start_FLOATSUPERSCRIPT † end_FLOATSUPERSCRIPTInterdisciplinary Research Center for Sustainable Energy Systems (IRC-SES)
{}^{\ddagger}start_FLOATSUPERSCRIPT ‡ end_FLOATSUPERSCRIPTSDAIA-KFUPM Joint Research Center for Artificial Intelligence
King Fahd University of Petroleum and Minerals (KFUPM), Dharan, Saudi Arabia
Abstract

Efficiently planning an Unmanned Aerial Vehicle (UAV) path is crucial, especially in dynamic settings where potential threats are prevalent. A Dynamic Path Planner (DPP) for UAV using the Spherical Vector-based Particle Swarm Optimisation (SPSO) technique is proposed in this study. The UAV is supposed to go from a starting point to an end point through an optimal path according to some flight criteria. Path length, Safety, Attitude and Path Smoothness are all taken into account upon deciding how an optimal path should be. The path is constructed as a set of way-points that stands as re-planning checkpoints. At each path way-point, threats are allowed some constrained random motion, where their exact positions are updated and fed to the SPSO-solver. Four test scenarios are carried out using real digital elevation models. Each test gives different priorities to path length and safety, in order to show how well the SPSO-DPP is cabable of generating a safe yet efficient path segments. Finally, a comparison is made to reveal the persistent overall superior performance of the SPSO, in a dynamic environment, over both the Particle Swarm Optimisation (PSO) and the Genetic Algorithm (GA). The methods are compared directly, by averaging costs over multiple runs, and by considering different challenging levels of obstacle motion. SPSO outperformed both PSO and GA, showcasing cost reductions ranging from 330% to 675% compared to both algorithms.

Index Terms:
UAV, Path Planning, Dynamic Obstacles, Meta-heuristic Optimization.
*{}^{*}start_FLOATSUPERSCRIPT * end_FLOATSUPERSCRIPTEqual Contribution.
Emails:{g202309590,g202216780,husseina,mabido}@kfupm.edu.sa

I Introduction

Unmanned aerial vehicles (UAVs), commonly referred to as drones, are progressively gaining prevalence and proving their utility across diverse domains and industries, ranging from agriculture and surveillance to disaster response and aerial photography. One important factor that is crucial to the efficient use of UAVs during deployment is path planning which involves the systematic determination of the optimal route a drone or a UAV should follow to achieve its mission objectives while adhering to various constraints and minimizing risks [1, 2]. Key considerations in UAV path planning include obstacle avoidance, energy efficiency, real-time decision-making, and adaptation to changing conditions. Researchers and engineers have developed a plethora of approaches to tackle UAV path planning challenges, from traditional methods like A*superscript𝐴A^{*}italic_A start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT search and Dijkstra’s algorithm to advanced techniques like Rapidly-exploring Random Trees (RRT) and Genetic Algorithms (GA).

The criteria for optimal path planning extend to diverse objectives depending on the application, involving the maximization of detection probability, flight time minimization or Pareto solutions achievement for the navigation of multi-objective problems [3, 4, 5]. Furthermore, the intended trajectory must adhere to relevant safety and feasibility limits within the operational environment of the UAV. Safety considerations include ensuring that the path can safely steer the UAV past environmental risks such as barriers. The path must be feasible in terms of altitude, flight time, fuel consumption, ascending angle and turning rate. As a result, path planning aimed at increasing safety by permitting collision-free and practicable UAV motion remains a constantly difficult task. Various path planning strategies have been proposed including approaches such as graph search, cell decomposition, potential field, and nature-inspired algorithms [6, 7, 8, 9, 10, 11, 12, 13].

Lately, nature-inspired approaches are increasingly favored in UAV path planning due to their efficiency in accommodating dynamic UAV constraints and seeking global optima in intricate scenarios. Various algorithms, drawing inspiration from nature, are tailored for UAV path planning, including cuckoo search [14], genetic algorithm (GA) [15, 16], differential evolution (DE) [17], artificial bee colony (ABC) [18], ant colony optimization (ACO) [19], and particle swarm optimization (PSO) [1, 15, 19, 20]. PSO, in particular, finds widespread use and has seen several variants developed. PSO is a population-based algorithm inspired by bird flocking and fish schooling behavior that embodies swarm intelligence through cognitive and social coherence [21]. These qualities allow each particle to navigate the solution space based on individual and collective experiences, which differs from standard evolutionary operators such as mutation and crossover. As a result, PSO efficiently identifies global solutions with stable convergence, outperforming alternative nature-inspired algorithms [22]. PSO variants proposed in [23, 24, 25, 26, 27] share a population-based structure but differ in search space representation and particle-encoded solutions.

Real-world problems are often dynamic, involving changing global and local optimal solutions that vary over time. Dynamic Path Planners were designed based on improved Simulated Annealing (SA) [28], Neural Networks (NN) [29], Reinforcement Learning [30] and Fuzzy Logic [31]. Some studies argue that Evolutionary Algorithms (EAs) are well-equipped to handle these challenges, evidenced by their success in dynamic problems [32, 33, 34]. From these algorithms, PSO has been employed in a variety of path planning issues in dynamical contexts, including [35, 36, 37]. A new algorithm, known as Spherical Vector-based Particle Swarm Optimization (SPSO), is introduced in [38] to tackle the problem of path planning for UAVs in complex and static threat-filled environments. It begins by creating a cost function that turns the path planning problem into an optimization task, considering UAV operational requirements and safety constraints. SPSO is then applied to efficiently search the UAV’s configuration space to find the optimal path. This is done by linking particle positions to critical flight parameters, including speed, turning angle, and climb/dive angle. SPSO was tested exclusively in a static environment, and its performance in a dynamic environment remains unexplored. In essence, this work focuses on:

  1. 1.

    Introducing Spherical Particle Swarm Optimization Dynamic Path Planner (SPSO-DPP).

  2. 2.

    Investigating the efficiency of SPSO-solver within a dynamic setting characterized by the presence of randomly moving obstacles.

  3. 3.

    Comparing the SPSO-DPP performance with PSO and GA performances in a dynamic environment.

II Methodology

II-A Problem formulation

An optimisation problem is used to formulate the UAV path planning problem. The constraints are obtained from the UAV flying constraints, and the path objective function is defined as the path length [38].

II-A1 Path Cost

For many aerial picture and mapping applications, the primary optimum criterion is to minimise the path length. The set of n𝑛nitalic_n way-points that the UAV must travel through represents the flight path. Each co-ordinate (xi,yi,zi)subscript𝑥𝑖subscript𝑦𝑖subscript𝑧𝑖(x_{i},y_{i},z_{i})( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) describes a way-point Pisubscript𝑃𝑖\vec{P}_{i}over→ start_ARG italic_P end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT in detail. The separation between every two way-points is:

di=Pi+1Pisubscript𝑑𝑖normsubscript𝑃𝑖1subscript𝑃𝑖d_{i}=\|\vec{P}_{i+1}-\vec{P}_{i}\|italic_d start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = ∥ over→ start_ARG italic_P end_ARG start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT - over→ start_ARG italic_P end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∥

The cost F1subscript𝐹1F_{1}italic_F start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT that needs to be minimized is the summation of all distances disubscript𝑑𝑖d_{i}italic_d start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, where i{1,2,3,..,n1}i\in\{1,2,3,..,n-1\}italic_i ∈ { 1 , 2 , 3 , . . , italic_n - 1 }.

F1=i=1n1disubscript𝐹1superscriptsubscript𝑖1𝑛1subscript𝑑𝑖F_{1}=\sum_{i=1}^{n-1}d_{i}italic_F start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n - 1 end_POSTSUPERSCRIPT italic_d start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT (1)

II-A2 Safety Constrain

In order to protect the UAV from any threats resulting from impediments in its operating region, the planned route needs to be carefully developed. This means that a safety constraint must be included in the planning phase. A set that represents all possible threats, K𝐾Kitalic_K, is defined. It is assumed that every danger is confined within a cylindrical container, and that each threat’s projection has a radius of Rksubscript𝑅𝑘R_{k}italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT and a central coordinate Cksubscript𝐶𝑘C_{k}italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT. The cost associated with potential threats for a given path segment ΔPi=Pi+1PiΔsubscript𝑃𝑖subscript𝑃𝑖1subscript𝑃𝑖\Delta\vec{P}_{i}=\vec{P}_{i+1}-\vec{P}_{i}roman_Δ over→ start_ARG italic_P end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = over→ start_ARG italic_P end_ARG start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT - over→ start_ARG italic_P end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is proportional to the distance, dksubscript𝑑𝑘d_{k}italic_d start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, between the segment and the central coordinate Cksubscript𝐶𝑘C_{k}italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT of each danger. The threat cost F2subscript𝐹2F_{2}italic_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is calculated along the way-points Pisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT with regard to the obstacle set K𝐾Kitalic_K in the following method to account for the physical dimensions of the UAV, which are defined by its diameter D𝐷Ditalic_D and the critical safety threshold S𝑆Sitalic_S that defines the danger zone for probable collisions:

F2=i=1n1k=1KTkΔPi,subscript𝐹2superscriptsubscript𝑖1𝑛1superscriptsubscript𝑘1𝐾subscript𝑇𝑘Δsubscript𝑃𝑖F_{2}=\sum_{i=1}^{n-1}\sum_{k=1}^{K}T_{k}\Delta\vec{P}_{i},italic_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n - 1 end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT roman_Δ over→ start_ARG italic_P end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , (2)

where

Tk={0if dk>S+D+Rk(S+D+Rk)dkif D+Rk<dkS+D+RkifdkD+Rk.subscript𝑇𝑘cases0if subscript𝑑𝑘𝑆𝐷subscript𝑅𝑘𝑆𝐷subscript𝑅𝑘subscript𝑑𝑘if 𝐷subscript𝑅𝑘subscript𝑑𝑘𝑆𝐷subscript𝑅𝑘ifsubscript𝑑𝑘𝐷subscript𝑅𝑘T_{k}=\begin{cases}0&\text{if }d_{k}>S+D+R_{k}\\ (S+D+R_{k})-d_{k}&\text{if }D+R_{k}<d_{k}\leq S+D+R_{k}\\ \infty&\text{if}d_{k}\leq D+R_{k}.\end{cases}italic_T start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = { start_ROW start_CELL 0 end_CELL start_CELL if italic_d start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT > italic_S + italic_D + italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL ( italic_S + italic_D + italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) - italic_d start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_CELL start_CELL if italic_D + italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT < italic_d start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ≤ italic_S + italic_D + italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL ∞ end_CELL start_CELL if italic_d start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ≤ italic_D + italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT . end_CELL end_ROW (3)

II-A3 Altitude Constrain

The flying altitude is frequently restricted during operation between the minimum and maximum heights, the two designated extrema. For instance, the camera must capture visual data at a particular resolution and field of view for surveying and search applications, which limits the flying altitude. Let hminsubscriptminh_{\text{min}}italic_h start_POSTSUBSCRIPT min end_POSTSUBSCRIPT and hmaxsubscriptmaxh_{\text{max}}italic_h start_POSTSUBSCRIPT max end_POSTSUBSCRIPT stand for the lowest and highest heights, respectively. For each way-point Pisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, the altitude cost is calculated as:

Hi={|hihmax+hmin2|,if hminhihmax,otherwisesubscript𝐻𝑖casessubscript𝑖subscriptmaxsubscriptmin2if subscriptminsubscript𝑖subscriptmaxotherwiseH_{i}=\begin{cases}\left|h_{i}-\frac{h_{\text{max}}+h_{\text{min}}}{2}\right|,% &\text{if }h_{\text{min}}\leq h_{i}\leq h_{\text{max}}\\ \infty,&\text{otherwise}\end{cases}italic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = { start_ROW start_CELL | italic_h start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - divide start_ARG italic_h start_POSTSUBSCRIPT max end_POSTSUBSCRIPT + italic_h start_POSTSUBSCRIPT min end_POSTSUBSCRIPT end_ARG start_ARG 2 end_ARG | , end_CELL start_CELL if italic_h start_POSTSUBSCRIPT min end_POSTSUBSCRIPT ≤ italic_h start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ≤ italic_h start_POSTSUBSCRIPT max end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL ∞ , end_CELL start_CELL otherwise end_CELL end_ROW (4)

In this representation, the flying height above the ground is shown by hisubscript𝑖h_{i}italic_h start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. It is made so that out-of-range values are penalised and the average height is maintained by Hisubscript𝐻𝑖H_{i}italic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. The altitude cost is obtained by adding together all of the way points’ Hisubscript𝐻𝑖H_{i}italic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT:

F3=i=1nHisubscript𝐹3superscriptsubscript𝑖1𝑛subscript𝐻𝑖F_{3}=\sum_{i=1}^{n}H_{i}italic_F start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT = ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT (5)

where n𝑛nitalic_n is the total number of way-points.

II-A4 Smoothness Constrain

The smoothness cost function assesses the rates of turning and climb, both of which are vital for creating workable flight trajectories. The turning angle, represented as ϕisubscriptitalic-ϕ𝑖\phi_{i}italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, signifies the angle between two successive segments of the path. This angle is determined by projecting the vectors originating from point Pisubscriptsuperscript𝑃𝑖P^{\prime}_{i}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to Pi+1subscriptsuperscript𝑃𝑖1P^{\prime}_{i+1}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT and from point Pi+1subscriptsuperscript𝑃𝑖1P^{\prime}_{i+1}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT to Pi+2subscriptsuperscript𝑃𝑖2P^{\prime}_{i+2}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i + 2 end_POSTSUBSCRIPT onto the horizontal plane denoted as Oxysubscript𝑂𝑥𝑦O_{xy}italic_O start_POSTSUBSCRIPT italic_x italic_y end_POSTSUBSCRIPT.

ϕij=arctan(PiPi+1×Pi+1Pi+2PiPi+1Pi+1Pi+2)subscriptitalic-ϕ𝑖𝑗normsubscriptsuperscript𝑃𝑖subscriptsuperscript𝑃𝑖1subscriptsuperscript𝑃𝑖1subscriptsuperscript𝑃𝑖2subscriptsuperscript𝑃𝑖subscriptsuperscript𝑃𝑖1subscriptsuperscript𝑃𝑖1subscriptsuperscript𝑃𝑖2\phi_{ij}=\arctan\left(\frac{\|\overrightarrow{P^{\prime}_{i}P^{\prime}_{i+1}}% \times\overrightarrow{P^{\prime}_{i+1}P^{\prime}_{i+2}}\|}{\overrightarrow{P^{% \prime}_{i}P^{\prime}_{i+1}}\cdot\overrightarrow{P^{\prime}_{i+1}P^{\prime}_{i% +2}}}\right)italic_ϕ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = roman_arctan ( divide start_ARG ∥ over→ start_ARG italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT end_ARG × over→ start_ARG italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i + 2 end_POSTSUBSCRIPT end_ARG ∥ end_ARG start_ARG over→ start_ARG italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT end_ARG ⋅ over→ start_ARG italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i + 2 end_POSTSUBSCRIPT end_ARG end_ARG ) (6)

The angle between the path section from Pisubscript𝑃𝑖P_{i}italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to Pi+1subscript𝑃𝑖1P_{i}+1italic_P start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 and its projection into the horizontal plane - that is, the line from Pisubscriptsuperscript𝑃𝑖P^{\prime}_{i}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to Pi+1subscriptsuperscript𝑃𝑖1P^{\prime}_{i}+1italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + 1 — is known as the angle of climb, indicated by the symbol psii𝑝𝑠subscript𝑖𝑖psi_{i}italic_p italic_s italic_i start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. The following formula can be used to compute this angle:

ψij=arctan(zi+1ziPiPi+1)subscript𝜓𝑖𝑗subscript𝑧𝑖1subscript𝑧𝑖normsubscriptsuperscript𝑃𝑖subscriptsuperscript𝑃𝑖1\psi_{ij}=\arctan\left(\frac{z_{i+1}-z_{i}}{\|\overrightarrow{P^{\prime}_{i}P^% {\prime}_{i+1}}\|}\right)italic_ψ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = roman_arctan ( divide start_ARG italic_z start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT - italic_z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG start_ARG ∥ over→ start_ARG italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT end_ARG ∥ end_ARG ) (7)

The calculation of the smoothness cost is as follows:

F4=a1i=1n2ϕi+a2i=1n1(ψiψi1)subscript𝐹4subscript𝑎1superscriptsubscript𝑖1𝑛2subscriptitalic-ϕ𝑖subscript𝑎2superscriptsubscript𝑖1𝑛1subscript𝜓𝑖subscript𝜓𝑖1F_{4}=a_{1}\sum_{i=1}^{n-2}\phi_{i}+a_{2}\sum_{i=1}^{n-1}\left(\psi_{i}-\psi_{% i-1}\right)italic_F start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT = italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n - 2 end_POSTSUPERSCRIPT italic_ϕ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_a start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n - 1 end_POSTSUPERSCRIPT ( italic_ψ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - italic_ψ start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT ) (8)

Here, a1subscript𝑎1a_{1}italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and a2subscript𝑎2a_{2}italic_a start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT represent the penalty coefficients associated with the turning and climbing angles, respectively.

II-A5 Accumulative Cost Function

Taking into account considerations related to optimizing the path, ensuring safety, and meeting altitude and smoothness constraints, we can formulate the overall cost function as follows:

F(Xj)=k=14bkFk(Xj)𝐹subscript𝑋𝑗superscriptsubscript𝑘14subscript𝑏𝑘subscript𝐹𝑘subscript𝑋𝑗F(X_{j})=\sum_{k=1}^{4}b_{k}F_{k}(X_{j})italic_F ( italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) = ∑ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT italic_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_F start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) (9)

Here, each bksubscript𝑏𝑘b_{k}italic_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT serves as a weight coefficient, and F1subscript𝐹1F_{1}italic_F start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT through F4subscript𝐹4F_{4}italic_F start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT represent the costs associated with different aspects: path length (1), safety cost (2), flight altitude (5), and smoothness (8). The decision variable, denoted as Xjsubscript𝑋𝑗X_{j}italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, encompasses a list of n𝑛nitalic_n way-points from the starting point to the end point, Pij=(xij,yij,zij)subscript𝑃𝑖𝑗subscript𝑥𝑖𝑗subscript𝑦𝑖𝑗subscript𝑧𝑖𝑗P_{ij}=(x_{ij},y_{ij},z_{ij})italic_P start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = ( italic_x start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ), satisfying the condition PijOsubscript𝑃𝑖𝑗𝑂P_{ij}\in Oitalic_P start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ∈ italic_O, where O𝑂Oitalic_O signifies the operational space for the UAV. With these definitions, the cost function F𝐹Fitalic_F becomes fully defined, and the optimization problem (9) is aimed to be solved for the optimum Xsuperscript𝑋X^{\ast}italic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT in which the F(X)𝐹superscript𝑋F(X^{\ast})italic_F ( italic_X start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ) is minimum.

In the SPSO approach, each flight path is translated into a collection of vectors, each specifying how the UAV moves from one waypoint to another. These vectors are described in a spherical coordinate system, consisting of three key elements: the magnitude ρ[0,path length]𝜌0path length\rho\in[0,\text{path length}]italic_ρ ∈ [ 0 , path length ], the elevation angle ψ[π/2,π/2]𝜓𝜋2𝜋2\psi\in[-\pi/2,\pi/2]italic_ψ ∈ [ - italic_π / 2 , italic_π / 2 ], and the azimuth angle ϕ[π,π]italic-ϕ𝜋𝜋\phi\in[-\pi,\pi]italic_ϕ ∈ [ - italic_π , italic_π ]. A flight path indexed as j𝑗jitalic_j and comprising of N𝑁Nitalic_N nodes can be represented as a hyper-spherical vector with 3N3𝑁3N3 italic_N dimensions:

ΩjsubscriptΩ𝑗\displaystyle\Omega_{j}roman_Ω start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT =(ρ1j,θ1j,ϕ1j,r2j,θ2j,ϕ2j,\displaystyle=(\rho_{1j},\theta_{1j},\phi_{1j},r_{2j},\theta_{2j},\phi_{2j},= ( italic_ρ start_POSTSUBSCRIPT 1 italic_j end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT 1 italic_j end_POSTSUBSCRIPT , italic_ϕ start_POSTSUBSCRIPT 1 italic_j end_POSTSUBSCRIPT , italic_r start_POSTSUBSCRIPT 2 italic_j end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT 2 italic_j end_POSTSUBSCRIPT , italic_ϕ start_POSTSUBSCRIPT 2 italic_j end_POSTSUBSCRIPT , (10)
,rNj,θNj,ϕNj);where N=n2\displaystyle\dots,r_{Nj},\theta_{Nj},\phi_{Nj});\text{where }N=n-2… , italic_r start_POSTSUBSCRIPT italic_N italic_j end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT italic_N italic_j end_POSTSUBSCRIPT , italic_ϕ start_POSTSUBSCRIPT italic_N italic_j end_POSTSUBSCRIPT ) ; where italic_N = italic_n - 2

When we characterize a particle’s position as ΩisubscriptΩ𝑖\Omega_{i}roman_Ω start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, the particle’s velocity is defined by an incremental vector:

ΔΩjΔsubscriptΩ𝑗\displaystyle\Delta\Omega_{j}roman_Δ roman_Ω start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT =(Δr1j,Δθ1j,Δϕ1j,Δr2j,Δθ2j,Δϕ2j,\displaystyle=(\Delta r_{1j},\Delta\theta_{1j},\Delta\phi_{1j},\Delta r_{2j},% \Delta\theta_{2j},\Delta\phi_{2j},= ( roman_Δ italic_r start_POSTSUBSCRIPT 1 italic_j end_POSTSUBSCRIPT , roman_Δ italic_θ start_POSTSUBSCRIPT 1 italic_j end_POSTSUBSCRIPT , roman_Δ italic_ϕ start_POSTSUBSCRIPT 1 italic_j end_POSTSUBSCRIPT , roman_Δ italic_r start_POSTSUBSCRIPT 2 italic_j end_POSTSUBSCRIPT , roman_Δ italic_θ start_POSTSUBSCRIPT 2 italic_j end_POSTSUBSCRIPT , roman_Δ italic_ϕ start_POSTSUBSCRIPT 2 italic_j end_POSTSUBSCRIPT , (11)
,ΔrNj,ΔθNj,ΔϕNj)\displaystyle\dots,\Delta r_{Nj},\Delta\theta_{Nj},\Delta\phi_{Nj})… , roman_Δ italic_r start_POSTSUBSCRIPT italic_N italic_j end_POSTSUBSCRIPT , roman_Δ italic_θ start_POSTSUBSCRIPT italic_N italic_j end_POSTSUBSCRIPT , roman_Δ italic_ϕ start_POSTSUBSCRIPT italic_N italic_j end_POSTSUBSCRIPT )

II-A6 Spherical vector-based PSO algorithm

The purpose of utilising spherical vectors in SPSO is to improve navigation safety by establishing a relationship between the speed, turning angle, and ascending angle of the UAV and the magnitude, elevation, and azimuth components of these vectors. As a result, the possibility of discovering excellent solutions is increased since the particles in SPSO investigate solutions inside the configuration space as opposed to the Cartesian space. Furthermore, the search space can be significantly reduced by explicitly incorporating limitations related to turning and ascending angles by adjusting the elevation and azimuth angles of the spherical vector. Fixing the magnitude can help further restrict the search space while increasing the search capacity in some circumstances, such as when the UAV stays at a fixed speed. The Pseudo-code for Static Optimal Path Planning using SPSO is in [38].

II-B Environment Construction

The evaluation scenarios are constructed using actual digital elevation model (DEM) maps obtained from LiDAR sensors. Regions of Christmas Island in Australia, characterized by diverse terrain structures, are chosen [38]. Subsequently, these areas are enhanced to create different bench-marking scenarios, illustrated in this section. Within these scenarios, threats are depicted by green cylinders when seen in an isometric view, and as concentric circles when seen in a top view (see figure LABEL:fig:EnvViews).


II-C Dynamic obstacles

In addressing the dynamic path planning problem for the Unmanned Aerial Vehicle (UAV), way-points play a pivotal role as crucial checkpoints, discretizing the UAV’s path through an environment teeming with randomly moving obstacles. In this section, the path planning challenge is dynamically tackled using an iterative solver operating online. This solver consistently updates the UAV’s path in response to the dynamic nature of the environment, characterized by obstacles exhibiting random motion, necessitating real-time adjustments for effective UAV navigation. The threat dynamics are simulated by random positional shifts, with each obstacle restricted to move in a circular area with a specified radius, and centered at its current position. All threats are assumed not to instantly jump on the UAV, making sure that the UAV does not fall inside its dead-zone. No threat is allowed to overlap with another threat as well.

The difficulty of the environment could be adjusted through changing both the threat size and the radii of the motion restricted areas for each threat.

II-D SPSO-DPP

The SPSO dynamic path planner utilizes the SPSO-solver introduced by [38]. At each way-point, the solver reevaluates the environment, incorporating changes in obstacle positions. Notably, the SPSO-solver is employed at each way-point to ensure the path’s coherence, optimizing it as the UAV progresses from one way-point to the next. This adaptive process unfolds dynamically, ensuring the UAV successfully navigates evolving scenarios, as visually depicted in figures 2, 3, 4 and 5.

Refer to caption
Figure 1: SPSO-DPP Flow Chart

II-E Path representation

It is crucial to note that the UAV path is represented by a curve that is split into three sections: 1) a dashed-line section that resembles the temporary planned path from the next way-point to the destination; 2) a solid-line portion that represents the finalized path from the UAV’s current way-point to the next way-point; and 3) a dashed-dotted-line portion that represents the path taken from the start point to the current point. The dash-dotted-line portion not only serves as a representation of the finalized path in space but also signifies the path that the UAV has previously traversed and is no longer subject to updates. Similarly, the solid-line portion denotes the current path taken by the UAV in the ongoing step or iteration and is not revisited for re-planning. In contrast, the dashed-line portion outlines the prospective path for all upcoming way-points, representing the segment that necessitates optimization and re-planning. This distinction in path portions ensures a focused approach, directing computational efforts towards refining the UAV’s future path while preserving the integrity of its past and present routes. Within the overall path from the start to the destination, 10 way-points are positioned. Way-points 1 to 8 act as checkpoints for dynamic updates, where the solver re-calibrates the UAV’s path. The last 2 way-points represent a final path segment, requiring no further re-planning as it constitutes a unique solution.

III Results

Refer to caption
Figure 2: Base Case: Planned path at each way-point using the same weights as in [38]
Refer to caption
Figure 3: Safer Path Case: Planned path at each way-point with increasing the value of b2subscript𝑏2{b_{2}}italic_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT to 100 for ensuring a safer path for the UAV
Refer to caption
Figure 4: Shorter Path Case: Planned path at each way-point with decreasing b2subscript𝑏2{b_{2}}italic_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT to 1 for prioritizing the distance cost to achieve more dominance in the overall cost function
Refer to caption
Figure 5: Safer Than Ever Case: Planned path at each way-point with increasing the value of b2subscript𝑏2{b_{2}}italic_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT to be 500 prioritizing safety over distance minimization for ensuring a higher level of safety for the UAV

III-A Case Scenarios

Four case scenarios are presented to test the effect of cost weights, specifically the safety and distance weights.

  • Case 1 - ”Base Case”: The weights are taken to be similar to [38]. The parameters are set as follows: b1subscript𝑏1{b_{1}}italic_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = 1, b2subscript𝑏2{b_{2}}italic_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = 5, b3subscript𝑏3{b_{3}}italic_b start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT = 10, and b4subscript𝑏4{b_{4}}italic_b start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT = 1.

  • Case 2 - ”Safer Path Case”: A modification is made specifically to b2subscript𝑏2{b_{2}}italic_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, increasing its value to 100. This adjustment is implemented as a means of ensuring a safer path for the UAV by elevating the threat cost coefficient. The impact of this change is evident in the planned paths showcased in Figures 2 and 3, illustrating the discernible effect of altering the weights or importance assigned to the distance and threat objectives within the problem formulation.

  • Case 3 - ”Shorter Path Case”: b2subscript𝑏2{b_{2}}italic_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is decreased to 1; strategically prioritizing the distance cost to achieve more dominance in the overall cost function.

  • Case 4 - ”Safer Than Ever Case”: b2subscript𝑏2{b_{2}}italic_b start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT value is increased to be 500 prioritizing safety over distance minimization. As a consequence, the algorithm naturally generates longer paths, reflecting a deliberate trade-off. This adjustment aims to ensure a higher level of safety for the UAV, even at the expense of producing relatively more extended and resource-intensive routes.

Each case is represented as 8 sub-figures resembling the past, present and future path portion at each way-point.

It is obvious from the comparison of the case 1 and case 2 that planned path tend have safer segments when giving the threat cost a higher weight. This can be explicitly seen in Figures 2-a and 3-a.

Despite of the closely position obstacles in case 3, the planned path have segments that go between these obstacles without much consideration of the high threat the UAV may face. Figure 4-c is a resemblance of a relatively low threat cost effect with a high distance cost. In Figure 4-d, e, and f, another intriguing observation is that, at certain way-points, the solver opted for nearly non-progressive segments of very small lengths instead of choosing a longer route. This in a way shows the strength of the dynamic planner, where it is not just capable of determining the best route according to the momentary obstacles positions, but also, in future, may be further developed to account for the obstacles direction and speed of motion.

Aggressively increasing the threat cost resulted in a relatively longer planned route as seen in Figure 5. The solver did not go for a chance margin of collision, not even a small one. Undoubtedly, these observations strongly indicate a significant trade-off between safety and the distance of the path.

III-B Performance of SPSO-DPP against GA & PSO

The first three case scenarios in the previous section we re-run using SPSO-DPP in comparison to GA and PSO. Two tests were conducted: one where the random movement of the threats were held constant across all methods and scenarios, and another where the the randomness of the threats movements varied for each run. In the first test, the performance is presented as the direct comparative costs of each method, while in the second test, it is reported as the averaged costs from many runs for each scenario. Finally, an additional test is conducted to evaluate methods average performance across three different settings of threat dynamics.

The cost summery of all cases are tabulated and shown in Tables I, II and Figure 6. The highlighted columns indicate that SPSO provide better results for the cost compared to PSO and GA. Cost 1 signifies the expense from the first way-point to the end of the path. Similarly, Cost 2 denotes the cost from the second way-point, where the path is recalculated, to the end of the path. This pattern continues for the subsequent costs, up to Cost 8, each reflecting the recalculated path from the corresponding way-point to the destination.

III-B1 First Test

SPSO demonstrated superior performance compared to both PSO and GA. In comparison to PSO, SPSO exhibited cost reductions of up to 330%, 340%, and 632% in cases 1, 2, and 3, respectively. When compared to GA, SPSO demonstrated cost reductions of up to 390%, 380%, and 675% in cases 1, 2, and 3, respectively. Furthermore, it is noted that the application of the SPSO-solver leads to a consistently non-increasing trend in path cost as the UAV progresses through the way-points. This suggests that the SPSO-solver consistently identifies an optimal way-point for the current movement. In contrast, the GA exhibited fluctuations at various instances (e.g., Case 1 - costs 4 and 5, Case 2 - costs 1 and 2, and Case 3 - costs 3 and 4), indicating that the selected way-point by the algorithm may not necessarily be optimal.

III-B2 Second Test

Another evaluation metric for the SPSO-DPP algorithm is to get averaged performance statistics for the algorithm compared to the state of arts GA and PSO by running it 10 times with random motion of the obstacles in each run and calculate the average cost over the total number of runs. Figure 6 shows the averaged costs of each method across all scenarios and runs. Even though all methods find a solution path with an almost non-increasing cost, SPSO outperforms GA and PSO significantly in a dynamic environment on average.

Scenario 1 Scenario 2 Scenario 3
SPSO PSO GA SPSO PSO GA SPSO PSO GA
Cost 1 1058 3269 4424 946 4173 3205 944 4016 2837
Cost 2 1013 2866 3127 783 2307 3504 637 3493 3612
Cost 3 790 2626 2650 708 2440 3405 477 3247 2231
Cost 4 655 2512 1861 753 2223 2704 368 2697 2574
Cost 5 492 1695 2418 455 1589 1793 237 1673 1839
Cost 6 410 1273 1478 362 1221 1135 226 1375 1117
Cost 7 346 1038 933 281 1029 800 226 1098 1038
Cost 8 184 789 819 271 843 787 226 937 908
TABLE I: SPSO vs PSO vs GA costs in Fixed Obstacles Motion
Refer to caption
Figure 6: SPSO vs PSO vs GA Averaged Costs across all Scenarios

III-B3 Third Test

Using the base case Scenario (Case 1), SPSO-DPP, PSO and GA were tested across various environment difficulties, simulated by varying the obstacles allowed motion radii. The radii are specifically set to 50, 100, and 200 in this test. Table II shows the average costs of 10 runs for each radius value. Again, SPSO-DPP showed obvious domination over the other methods.

R = 50 R = 100 R = 200
SPSO PSO GA SPSO PSO GA SPSO PSO GA
Cost 1 1032.0 4226.8 2678.4 967.1 3460.0 4266.3 952.0 3490.4 2796.2
Cost 2 849.2 3764.4 3390.1 784.4 2780.0 3573.5 752.5 3070.0 4227.8
Cost 3 676.6 2803.6 2515.0 665.3 2432.5 2468.6 640.6 2120.2 2946.8
Cost 4 562.4 2041.1 2234.9 567.6 2516.3 2336.3 612.5 1790.5 1814.4
Cost 5 507.1 1687.2 2007.5 491.9 1892.4 1695.6 652.9 1482.3 1758.3
Cost 6 383.9 1232.9 1142.3 411.3 1225.2 1263.6 555.2 1382.0 1918.2
Cost 7 343.0 1123.7 1097.7 348.9 1108.7 892.6 375.7 973.9 1484.6
Cost 8 246.4 781.3 889.7 360.0 889.8 860.6 308.2 883.8 803.3
TABLE II: SPSO vs PSO vs GA Averaged costs Across Varying Threat allowed Motion Radii

IV Limitations

The presented work depends on the instantaneous relative threats positions, and does not take the velocity estimation of the dynamic threats into consideration. Thus, the SPSO-DPP does not account for the threats velocity vectors and their expected movement directions. Such estimation would enable further investigation of how the performance of SPSO-DPP is influenced by variations in environmental complexity.

V Conclusion

Finally, the paper introduces the SPSO-DPP. The approach uses an online solver to guide the UAV across areas with randomly moving obstacles by using way-points as checkpoints. At each way-point, the SPSO-solver is used to adaptively optimize the path, provide coherence, and make adjustments in real-time for effective UAV navigation. Four scenarios have been presented, each of which modifies the parameters to reduce distance or prioritize safety. The results demonstrate that SPSO consistently produces superior cost values than both GA and PSO, demonstrating the algorithm’s efficacy in generating optimal paths. The effect of prioritizing distance reduction above hazard avoidance is best shown in Case 3, where the decision leads to a more direct path that circumvents obstacle constraints. This realization emphasizes the necessity of carefully weighing objectives against constraints in situations including dynamic UAV path planning.

In various conducted tests, the SPSO-DPP algorithm consistently performs better in path cost optimization than GA and PSO. Whether the approaches are directly compared, the costs are averaged over several runs, or various levels of obstacle motion are taken into account, SPSO-DPP performs better and always yields optimal solutions. Furthermore, we intend to validate our algorithm’s output with real-world simulations, to confirm that the algorithm operates as efficiently and robustly as possible under demanding and dynamic UAV conditions.

VI Acknowledgments

The authors would like to acknowledge the support of IRC for Sustainalbe Energy Systems through the funded project no. INRE2328. Dr. Abido acknowledges the support recieved from Saudi Data and AI Authority (SDAIA) and KFUPM under SDAIA-KFUPM Joint Research Center for Artificial Intelligence no. JRC-AIRFP-09.

References

  • [1] M. D. Phung, C. H. Quach, T. H. Dinh, and Q. Ha, “Enhanced discrete particle swarm optimization path planning for uav vision-based surface inspection,” Automation in Construction, vol. 81, pp. 25–33, 2017.
  • [2] M. D. Phung, T. H. Dinh, Q. P. Ha, et al., “System architecture for real-time surface inspection using multiple uavs,” IEEE Systems Journal, vol. 14, no. 2, pp. 2925–2936, 2019.
  • [3] M. D. Phung and Q. P. Ha, “Motion-encoded particle swarm optimization for moving target search using uavs,” Applied Soft Computing, vol. 97, p. 106705, 2020.
  • [4] L. Lin and M. A. Goodrich, “Uav intelligent path planning for wilderness search and rescue,” in 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 709–714, IEEE, 2009.
  • [5] C. Yin, Z. Xiao, X. Cao, X. Xi, P. Yang, and D. Wu, “Offline and online search: UAV multiobjective path planning under dynamic urban environment,” IEEE Internet of Things Journal, vol. 5, no. 2, pp. 546–558, 2018.
  • [6] R. W. Beard, T. W. McLain, M. A. Goodrich, and E. P. Anderson, “Coordinated target assignment and intercept for unmanned air vehicles,” IEEE transactions on robotics and automation, vol. 18, no. 6, pp. 911–922, 2002.
  • [7] T. W. McLain and R. W. Beard, “Coordination variables, coordination functions, and cooperative timing missions,” Journal of Guidance, Control, and Dynamics, vol. 28, no. 1, pp. 150–161, 2005.
  • [8] D. Eppstein, “Finding the k shortest paths,” SIAM Journal on computing, vol. 28, no. 2, pp. 652–673, 1998.
  • [9] P. O. Pettersson and P. Doherty, “Probabilistic roadmap based path planning for an autonomous unmanned helicopter,” Journal of Intelligent & Fuzzy Systems, vol. 17, no. 4, pp. 395–405, 2006.
  • [10] Y. Lin and S. Saripalli, “Sampling-based path planning for uav collision avoidance,” IEEE Transactions on Intelligent Transportation Systems, vol. 18, no. 11, pp. 3179–3192, 2017.
  • [11] J. Barraquand, B. Langlois, and J.-C. Latombe, “Numerical potential field techniques for robot path planning,” IEEE transactions on systems, man, and cybernetics, vol. 22, no. 2, pp. 224–241, 1992.
  • [12] Y.-b. Chen, G.-c. Luo, Y.-s. Mei, J.-q. Yu, and X.-l. Su, “Uav path planning using artificial potential field method updated by optimal control theory,” International Journal of Systems Science, vol. 47, no. 6, pp. 1407–1420, 2016.
  • [13] B. Di, R. Zhou, and H. Duan, “Potential field based receding horizon motion planning for centrality-aware multiple uav cooperative surveillance,” Aerospace Science and Technology, vol. 46, pp. 386–397, 2015.
  • [14] P.-C. Song, J.-S. Pan, and S.-C. Chu, “A parallel compact cuckoo search algorithm for three-dimensional path planning,” Applied Soft Computing, vol. 94, p. 106443, 2020.
  • [15] V. Roberge, M. Tarbouchi, and G. Labonté, “Comparison of parallel genetic algorithm and particle swarm optimization for real-time uav path planning,” IEEE Transactions on industrial informatics, vol. 9, no. 1, pp. 132–141, 2012.
  • [16] V. Roberge, M. Tarbouchi, and G. Labonté, “Fast genetic algorithm path planner for fixed-wing military uav using gpu,” IEEE Transactions on Aerospace and Electronic Systems, vol. 54, no. 5, pp. 2105–2117, 2018.
  • [17] Y. Fu, M. Ding, C. Zhou, and H. Hu, “Route planning for unmanned aerial vehicle (uav) on the sea using hybrid differential evolution and quantum-behaved particle swarm optimization,” IEEE Transactions on Systems, Man, and Cybernetics: Systems, vol. 43, no. 6, pp. 1451–1465, 2013.
  • [18] C. Xu, H. Duan, and F. Liu, “Chaotic artificial bee colony approach to uninhabited combat air vehicle (ucav) path planning,” Aerospace science and technology, vol. 14, no. 8, pp. 535–541, 2010.
  • [19] X. Yu, W.-N. Chen, T. Gu, H. Yuan, H. Zhang, and J. Zhang, “Aco-a*: Ant colony optimization plus a* for 3-d traveling in environments with dense obstacles,” IEEE Transactions on Evolutionary Computation, vol. 23, no. 4, pp. 617–631, 2018.
  • [20] Y. Fu, M. Ding, and C. Zhou, “Phase angle-encoded and quantum-behaved particle swarm optimization applied to three-dimensional route planning for uav,” IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systems and Humans, vol. 42, no. 2, pp. 511–526, 2011.
  • [21] J. Kennedy, “Swarm intelligence,” in Handbook of nature-inspired and innovative computing: integrating classical models with emerging technologies, pp. 187–219, Springer, 2006.
  • [22] Z.-L. Gaing, “Particle swarm optimization to solving the economic dispatch considering the generator constraints,” IEEE transactions on power systems, vol. 18, no. 3, pp. 1187–1195, 2003.
  • [23] P. Das and P. K. Jena, “Multi-robot path planning using improved particle swarm optimization algorithm through novel evolutionary operators,” Applied Soft Computing, vol. 92, p. 106312, 2020.
  • [24] Y. Zhang, D.-w. Gong, and J.-h. Zhang, “Robot path planning in uncertain environment using multi-objective particle swarm optimization,” Neurocomputing, vol. 103, pp. 172–185, 2013.
  • [25] Z. Wei-Min, L. Shao-Jun, and Q. Feng, “θ𝜃\thetaitalic_θ-pso: a new strategy of particle swarm optimization,” Journal of Zhejiang University-SCIENCE A, vol. 9, no. 6, pp. 786–790, 2008.
  • [26] V. Hoang, M. D. Phung, T. H. Dinh, and Q. P. Ha, “Angle-encoded swarm optimization for uav formation path planning,” in 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 5239–5244, IEEE, 2018.
  • [27] Y. Zhang, D.-w. Gong, X.-y. Sun, and N. Geng, “Adaptive bare-bones particle swarm optimization algorithm and its convergence analysis,” Soft Computing, vol. 18, pp. 1337–1352, 2014.
  • [28] K. Shi, Z. Wu, B. Jiang, and H. R. Karimi, “Dynamic path planning of mobile robot based on improved simulated annealing algorithm,” Journal of the Franklin Institute, January 2023.
  • [29] G. G. R. de Castro, M. F. Pinto, I. Z. Biundini, A. G. Melo, A. L. M. Marcato, and D. B. Haddad, “Dynamic path planning based on neural networks for aerial inspection,” Journal of Control, Automation and Electrical Systems, vol. 34, pp. 85–105, 2023.
  • [30] G. Fu, Y. Gao, L. Liu, M. Yang, and X. Zhu, “Uav mission path planning based on reinforcement learning in dynamic environment,” Journal of Function Spaces, 2023.
  • [31] A. Hentout, A. Maoudj, and M. Aouache, “A review of the literature on fuzzy-logic approaches for collision-free path planning of manipulator robots,” Artificial Intelligence Review, vol. 56, no. 4, pp. 3369–3444, 2023.
  • [32] J. Branke, “Evolutionary approaches to dynamic optimization problems-updated survey,” in GECCO Workshop on evolutionary algorithms for dynamic optimization problems, pp. 27–30, 2001.
  • [33] J. Branke and H. Schmeck, “Designing evolutionary algorithms for dynamic optimization problems,” Advances in evolutionary computing: theory and applications, pp. 239–262, 2003.
  • [34] J. Branke, Evolutionary optimization in dynamic environments, vol. 3. Springer Science & Business Media, 2012.
  • [35] T. Blackwell, “Particle swarm optimization in dynamic environments,” Evolutionary computation in dynamic and uncertain environments, pp. 29–49, 2007.
  • [36] S. Alaliyat, R. Oucheikh, and I. Hameed, “Path planning in dynamic environment using particle swarm optimization algorithm,” in 2019 8th International Conference on Modeling Simulation and Applied Optimization (ICMSAO), pp. 1–5, IEEE, 2019.
  • [37] D. Parrott and X. Li, “A particle swarm model for tracking multiple peaks in a dynamic environment using speciation,” in Proceedings of the 2004 congress on evolutionary computation (IEEE Cat. No. 04TH8753), vol. 1, pp. 98–103, IEEE, 2004.
  • [38] Q. P. H. Manh Duong Phung, “Safety-enhanced uav path planning with spherical vector-based particle swarm optimization,” Applied Soft Computing 107376, vol. 107, 2021.