1. Introduction
The field of drone technology, also known as unmanned aerial vehicles (UAVs), has become highly attractive due to its relevance to a wide range of industries. Drones are now being used in different sectors such as delivery, which has gained a lot of attention and has become an effective marketing tool. For example, major companies like Amazon have launched projects such as Amazon Prime Air, which uses drones to deliver products [
1]. The agriculture and conservation sectors also benefit from drones, as they are used for crop monitoring, pesticide spraying [
2], wildlife monitoring, and anti-poaching efforts [
3]. Today, emergency response teams use drones for real-time disaster assessment and management [
4], and a proposed study explores the use of drones for search and rescue activities in underground mines [
5].The construction industry leverages drones for site surveying and progress tracking [
6].
With this expanded utility comes the critical necessity to devise effective path planning methodologies to ensure safe and fast navigation of drones across dynamic landscapes [
7]. UAV path planning benefits from diverse methodologies aimed at improving navigation efficiency in real-world scenarios. Among these methodologies, some path planning methods are based on traditional optimization techniques, such as nature-inspired methods that use mathematical models to simulate the collective behavior of natural systems. Examples of these nature-inspired methods include particle swarm optimization (PSO) and ant colony optimization (ACO) [
8], which draw inspiration from the behaviors of birds and ants, respectively.
Additionally, grid-based methods like the A* algorithm and Dijkstra’s algorithm provide reliable paths for robots, including UAVs. The A* (Algorithm 1) [
9], a widely used pathfinding method, employs a heuristic search to efficiently determine the shortest path between two points on a graph.
By intelligently balancing heuristic estimation with actual cost, A* navigates complex environments while optimizing time and resource usage [
10]. Similarly, Dijkstra’s algorithm, a classic graph search technique, finds the shortest path from one source vertex to all other vertices in a weighted graph. It achieves this by iteratively exploring neighboring vertices, selecting the vertex with the smallest known distance, and updating the distances of neighboring vertices accordingly [
10].
Furthermore, drones use optimization methods such as the genetic algorithm (GA), inspired by natural selection processes, to iteratively optimize trajectories through selection, crossover, and mutation [
11].
According to [
12], environments can be categorized into two main types: static environments and dynamic environments. Static environments maintain constant conditions over time, including fixed obstacles, destinations, and weather patterns. On the other hand, dynamic environments are characterized by changing conditions, such as moving obstacles and changing weather conditions.
In this paper, we explore a complex 2D flight environment where a quadrotor drone seeks to intercept a moving landing station amid fixed obstacles while facing the effect of wind. Both the UAV and the landing station are exposed to the presence of fixed obstacles, and the UAV must navigate around them to reach its target. In addition, the presence and strength of wind further complicates the path planning process. To adapt to these dynamic conditions, the drone adjusts the weight assigned to the obstacles using the GWO algorithm.
2. Related Work
A lot of researchers have been actively exploring the impact of wind on how drones move. They have been carrying this out by suggesting novel approaches. In [
13], the author presents a cost-effective solution for drones to follow predefined routes while maintaining stable camera focus on targets, eliminating the need for expensive wind sensors. This innovative approach not only enhances UAV navigation but also addresses wind effects more efficiently and affordably. In a recent study [
14], the author proposes an efficient particle swarm optimization (PSO) metaheuristic algorithm to reduce energy consumption, which is known as a not computationally intensive algorithm [
15]. This approach recognizes that although the drone’s flight path may span three dimensions, its constant altitude allows it to be simplified and treated as a two-dimensional problem. Additionally, researchers are continually enhancing existing, well-known methods like A* (Algorithm 1), reflecting the continuous quest for more reliable flight strategies.
The authors in [
16] present an enhanced version of the A* algorithm, which incorporates both distance and wind data to optimize navigation. The authors employ a collision avoidance technique to avoid obstacles while their intelligent graph creation method considers the complexities of wind patterns. A comparative analysis favors probabilistic route map (PRM) graphs, highlighting their effectiveness in navigation. PRM is a robotics algorithm utilized to refine routes from the robot’s starting point to its intended destination [
17]. The study recommends the hybrid A* angle for conflicting wind scenarios and emphasizes the advantages of on-board processing in UAVs, specifically probabilistic road mapping. This research establishes foundations for wind-optimized global planning, enhancing quadcopter navigation amid real-time wind changes and limited communication resources. Additionally, the study proposes a collision verification method applied to outdoor terrain scenarios with different wind types. Furthermore, A* has a major limitation in generating paths in dynamic environments, such as those containing wind [
18]. The wind effect was calculated [
19] assuming that the aircraft flies at a constant flight level and at a constant true airspeed, and under this assumption, they use the following equation of motion (1):
where (x, y) is the aircraft position,
is the heading angle, Va is the true airspeed, W
x(x, y) is the east component of the wind, and W
y(x, y) is the north component of the wind.
Algorithm 1: A* Algorithm |
|
open: The open list, containing nodes that are being considered for exploration. Initially, this list holds only the starting node.
close: The closed list, which stores nodes that have already been fully explored, meaning their neighbors have been evaluated.
G: The cost function, representing the actual cost of moving from the start node to the current node.
H: The heuristic function that estimates the cost from the current node to the goal, typically based on a chosen heuristic like Euclidean or Manhattan distance.
F: The evaluation function, calculated as , which is used to determine the node with the lowest estimated total cost to the goal.
parent: For each node, the parent is the node from which the current node was reached. This allows the path to be reconstructed once the goal is reached.
The paper [
20] presents a method integrating YOLO v4 and DeepSORT for automatic vehicle detection and tracking in urban environments. The proposed algorithm enhances UAV capabilities in traffic monitoring by combining deep learning techniques with an interactive multimodel particle filter for high-precision positioning of maneuvering targets, where You Only Look Once version 4 (YOLOv4) is an advanced object detection algorithm designed to provide high accuracy and speed in detecting objects within images [
21].
The paper by [
22] presents an enhanced A* algorithm tailored for vessel path planning, addressing limitations of traditional methods. By incorporating risk models for obstacles, including factors like currents, traffic separation, and berthing constraints, the algorithm achieves a balance between path length and navigation safety. Simulation and real-world experiments confirm its effectiveness in mitigating collision risks and adhering to navigation rules, offering a practical solution for optimizing vessel routes. In addition, the concept of incorporating weighted obstacles into the A* algorithm presented in this article offers valuable insights for UAV trajectory planning. By adapting a similar approach to assign weights to obstacles based on factors such as wind speed, terrain elevation or dynamic obstacles, the improved A* algorithm could be effectively applied to drone navigation in dynamic environments. This adaptation could improve the efficiency and safety of drone trajectory planning, making it a promising avenue for future research and development in this field.
In [
9], the authors propose an enhanced A* algorithm specifically designed for path planning in medical testing laboratories. This improved version incorporates a bidirectional search strategy and an advanced heuristic that considers node angles. Additionally, the algorithm features path optimization techniques such as the removal of redundant nodes and path smoothing using cubic B-spline curves.
Furthermore, in [
23], the authors introduce an improved A* algorithm tailored for probabilistic air pollution detection using UAVs. This variant of the A* algorithm leverages a probabilistic exploration and target search strategy. It enhances the heuristic function by incorporating pollution concentration data, allowing for more accurate and efficient navigation in environments with dynamic obstacles such as pollution sources.
A recent addition to this arsenal is GWO, introduced by S. Mergalili et al. in 2014 [
24]. Inspired by the social hierarchy and hunting behavior of grey wolves, GWO provides an efficient way to search for optimal solutions by mimicking the cooperative strategies observed in wolf packs,
Figure 1. By leveraging the principles of social behavior, GWO enhances UAV path planning capability and efficiency in dynamic environments.
In [
25], Li et al. proposed an innovative approach to UAV path planning based on an improved GWO, specifically designed to address the challenges of dynamic and complex environments. The study enhances traditional GWO by introducing adaptive convergence and weighting factors, which dynamically adjust the search process to improve global exploration and local refinement. Unlike traditional methods such as A*, which are briefly mentioned for comparison, the improved GWO algorithm focuses on optimizing 3D paths while accounting for factors like fuel consumption and terrain threats. The simulation results demonstrate that the adaptive GWO offers superior path quality, stability, and convergence speed compared to conventional GWO and other algorithms. This research showcases the potential of AGWO for real-world applications in areas such as disaster relief and complex terrain navigation.
In [
26], Zhang et al. propose an improved A* algorithm for global path planning for unmanned surface vehicles (USVs). This improved algorithm introduces a bidirectional search strategy and an advanced heuristic function that incorporates a vertical distance node deviation factor. Additionally, the algorithm employs an 8-neighborhood search method, improving the efficiency and accuracy of path planning.
In our previous work [
27], we presented two methods based on differential game theory to address dynamic tasks, specifically the process of docking a UAV to a moving landing station amid wind effects in a cooperative scenario between the UAV and the landing station. Based on this foundation in differential game theory, Isaacs [
18] illustrates the complexities of chase games involving two players, each with different speeds. Isaacs’ analysis highlights the challenge of predicting the future positions of the two players when sudden changes in direction are possible. Similarly, in our scenario, where the landing station and the UAV interact dynamically, we use a simplified approach known as target interception (TI). This method involves comparing the actual position of the drone with its assumed position based on a constant speed and direction, allowing us to detect and compensate for any external influences on the drone’s trajectory.
3. Dynamic UAV Trajectory Planning with A* and GWO (GW-A*)
In our proposed solution, grey wolf A* (GW-A*), we address the challenge of navigating UAVs in dynamic environments, where they must intercept a moving landing station while navigating through obstacles. To simplify the calculations, we model the environment as a 2D grid, assuming that the UAV flies at a constant altitude, similar to the approach used in [
28], where the landing station initially plans its path using regular A* with a Euclidean distance heuristic to circumvent obstacles, Equations (2) and (3).
where
f(
n) is the estimated path to reach the goal node through node
n,
g(
n) is the cost to reach node
n from the starting point, and
h(
n) is the heuristic cost to reach the goal from node
n.
Subsequently, the UAV calculates its trajectory based on the path of the landing station, using an A* algorithm with weighted nodes and a Euclidean distance heuristic function to efficiently navigate around obstacles. This approach assigns higher weights to the nodes closest to the obstacles, Equation (
4), ensuring safe maneuvering around potential obstacles. Each node’s weight is determined by calculating the Manhattan distance between the node and nearby obstacles, Equation (
5), providing a measure of proximity to potential obstacles along the path.
NodeWeight(x, y): The weight assigned to the node at position (x, y).
OW: ObstacleWeight: A constant representing the weight factor for obstacles equal to 1.
obs.x and obs.y: The coordinates of each obstacle in the environment.
and : The Manhattan distance between the node and each obstacle.
min function: Selects the minimum Manhattan distance among all obstacles.
Furthermore, the A* algorithm incorporates a heuristic Euclidean distance function to optimize the UAV’s trajectory towards the landing station intercept. Considering the speed difference between the UAV (15 m/s) and the landing station (10 m/s), the UAV strategically selects the optimal interception point along the generated trajectory, increasing the efficiency and accuracy of the interception maneuver. Utilizing the GWO, the UAV fine-tunes the node weights to minimize path length, enhancing efficiency in dynamic environments. The GWO algorithm iteratively optimizes the weights to ensure the shortest possible path while adhering to safety constraints. GW-A* illustrates the iterative process of the GWO algorithm, and
Figure 2 [
29] illustrates the iterative process of the GWO algorithm, demonstrating its mechanism for exploring the search space, updating the positions of wolves, and converging towards optimal solutions.
Additionally, during flight, the UAV dynamically adjusts its trajectory based on wind conditions, detecting wind velocity based on deviations in its expected coordinates (x, y). When the UAV’s actual position differs from its planned position, it calculates the discrepancy and uses this deviation to estimate wind speed and direction. Wind detection prompts the UAV to modify its node weights dynamically, prioritizing safer paths in the presence of adverse wind conditions. By adjusting node weights in real-time, the UAV can adapt its trajectory to mitigate the impact of wind and ensure safe navigation throughout its mission. The displacement caused by wind is calculated using method (1), which takes into account both wind speed and direction, adjusting the UAV’s position accordingly. To evaluate performance, we compare this approach with traditional A* using four different heuristic functions in identical scenarios. Through this simulation, we assess the efficacy of our proposed approach in dynamic environments with varying wind conditions.
4. Implementation and Results
In our study, we systematically evaluated the performance of our novel approach within a complex 2D flight environment where a quadrotor UAV seeks to intercept a moving landing station while navigating through fixed obstacles and facing the effects of wind. The quadrotor UAV, known for its high maneuverability and ability to turn without a limiting radius, is well-suited for this environment. Our approach seamlessly integrates A* and GWO methodologies to effectively address scenarios with weighted obstacles. The UAV must strategically maneuver around these obstacles to reach its target, which adds an additional layer of complexity to the path planning process. This evaluation involved a comparative analysis against the traditional A* algorithm, employing three distinct heuristic functions: Euclidean distance (Equation (
3)), Manhattan distance (Equation (
5)), and diagonal distance (Equation (
6)).
where
D is the diagonal distance between two points
and
on a grid,
are the coordinates of point
, while
are the coordinates of point
. A total of 250 tests were conducted, divided into four types of implementations. The first implementation comprised 130 simulations with random wind speeds and wind impact angles. The second implementation involved thirty tests with random wind impact angles and wind speeds within a specific range, while the third implementation also included 30 tests but with a different wind speed range. Finally, the fourth implementation consisted of 60 tests with a fixed wind impact angle, where wind speeds incrementally increased over a series of tests. All random numbers for wind speed and angle were generated using Python’s random.randint(a, b) and random.uniform(a, b) methods, both based on a pseudo-random number generator (PRNG). The random.randint() method generates random integers to simulate discrete wind speeds, while random.uniform() generates floating-point numbers for a more realistic representation of wind angle variations.
During all the implementations, we use a 2D grid of 8000 square meters, divided into eighty cells, each with a size of 10 × 10 m. The grid configuration, illustrated in
Figure 3, shows that the value ‘0’ represents an empty cell, while the value ‘1’ denotes an obstacle. To visualize the grid, we employed a Python script utilizing the matplotlib library. The script iterates over each cell in the grid, plotting a black square marker for each cell with a value of ‘1’. The generated map is shown in
Figure 4. The obstacles are strategically placed to reflect various real-world scenarios, such as narrow corridors, open spaces with isolated structures, and dense groups of buildings. This diverse layout ensures a comprehensive analysis of different navigation challenges and spatial dynamics.
4.1. Implementation with Random Wind Conditions (Speed and Impact Angle)
In the first phase of our experimentation, we conducted 130 runs to evaluate the performance of our novel approach against the traditional A* algorithm with Euclidean distance heuristic. The random variables, including wind direction ranging from −180° to 180° and wind speed varying between 0 and 6 m/s.
The implementation results presented in
Table 1, indicate that during the 130 runs, our proposed approach GW-A* outperformed the traditional A* algorithm 105 times, which is approximately 80% of the time. In contrast, the A* algorithm performed better in twentyfive instances, which accounts for about 20% of the time. GW-A* had a lower median, indicating better performance metrics compared to A*. However, the higher standard deviation suggests less predictability than A*, which has a lower standard deviation. This may be a disadvantage in situations where consistent performance is crucial. The average difference in performance between the two approaches was approximately 1.8 m, with a total difference of 224.7 m, indicating the efficiency of the proposed GW-A* approach.
4.2. Implementation with Random Wind Conditions (Impact Angle, Speed Less than 3 m/s)
In the second phase of our experiment, we carried out 30 trials to further evaluate the performance of our approach under different wind conditions. For this phase, we generated random wind speeds between 0 and 3 m/s and random wind impact angles between −180° and 180°.
The results of this phase, as shown in
Table 2, in the row labeled ‘Random (wind direction) & Random (wind speed) <3 m/s’, indicate that the proposed approach outperforms the traditional A* algorithm in 24 out of 30 trials, which is 80% of the time. In contrast, the A* algorithm performs better in six trials, accounting for 20% of the time. These results are approximately the same as those mentioned in
Section 4.2. Similar to previous findings, GW-A* consistently shows a smaller median but a higher standard deviation. With a median of 109.0 m compared to A*’s median of 110.64 m, GW-A* generally performs better under these conditions. However, the higher standard deviation for GW-A* (4.22) compared to A* (1.79) indicates that while GW-A* often outperforms A*, its results are more variable and less predictable, especially in scenarios with low wind speeds. When we analyzed the mean and net differences between the two methods, we found that the results were fairly close, with a total difference of just 1.5 m over the 30 trials and a mean difference of 0.6 m. This small difference suggests that while GW-A* shows overall better performance, both approaches yield similar results in terms of total traveled distance in less severe wind conditions.
4.3. Implementation with Random Wind Conditions (Impact Angle, Speed Greater than 3 m/s)
To further test our approach, the third phase of our experiment involved 30 trials under more intense wind conditions. We generated random wind speeds between 3 and 6 m/s and random wind impact angles between −180° and 180°.
The results, as shown in
Table 2, indicate that as the wind strength increases, the performance of the regular GW-A* algorithm remains similar to the previous stage in terms of the percentage of winning, the median, and the standard deviation. However, we can see that the standard deviation of A* is now higher than in the previous stage and is closer to that of GW-A*. However, the overall difference between our proposed approach and the regular A* algorithm increased to 69.74 m, reflecting the greater impact of intense wind conditions. When divided by the number of runs, this represents a higher average difference compared to the previous two implementations. In addition, the average difference between the two methods increased to 2.32 m, indicating a greater disparity in performance under more challenging wind conditions.
4.4. Implementation with Incremental Wind Speed from 0 to 6 m/s
During the last implementation, we conducted sixty tests with a fixed wind impact angle of 45°, incrementally increasing the wind speed from 0.1 m/s to 6 m/s in steps of 0.1 m/s for each test. This allowed us to assess how changes in speed affect the results. The aim was to provide a comprehensive analysis of the performance of each approach under different environmental conditions, characterized by different wind speeds. The simulation results, presented in
Figure 5, show the number of wins for each approach within three different subsections of wind speeds: low speeds from 0.1 to 1.8 m/s, medium speeds from 1.9 to 3.4 m/s, and high speeds from 3.5 to 6 m/s. By dividing the wind speeds into these subsections, we can better analyze and compare the robustness and effectiveness of each approach in different wind conditions. This subdivision allows us to understand which approaches are more adaptable and perform better under certain environmental dynamics. The chart in
Figure 5 indicates that GW-A* consistently outperforms the A* method across all wind speed ranges tested. The simulation results show that GW-A* consistently outperformed A* at both high and low wind speeds. However, A* demonstrated relatively high performance at moderate wind speeds, specifically between 1.9 and 3.4 m/s. This suggests that while GW-A* is generally more robust in a wider range of wind conditions, A* may be competitive in some moderate wind scenarios.
5. Conclusions
In this paper, we introduced a novel approach for UAV path planning in dynamic environments influenced by wind. Our method enhances the traditional A* algorithm by incorporating weighted nodes, where the weights are determined based on the distance from obstacles and further optimized using GWO. This combination allows for the generation of paths that are not only the shortest but also the safest, considering both the dynamic nature of the environment and the proximity to obstacles.
The experimental results demonstrated notable improvements in path safety and efficiency in both low and high wind scenarios, where the A*-GWO outperformed traditional A* by generating safer, more adaptive paths. A-GWO consistently produced more robust paths in complex environments with dynamic factors like wind, even so, it did not universally outperform A* in all scenarios. This suggests that A*-GWO offers significant advantages in specific conditions but may not always be the best choice for environments with moderate dynamics. However, it is important to acknowledge that in moderate wind conditions, the performance of the traditional A algorithm remained competitive, occasionally matching or even slightly exceeding the A-GWO in terms of simplicity and computational speed.