Enhanced Jump Point Search with Dynamic Evaluation for Autonomous UAV Path Planning

Our research focuses on advancing autonomous navigation for unmanned aerial vehicles (UAVs) by developing a real-time path planning algorithm that addresses the limitations of traditional search-based methods in complex dynamic environments. In this paper, we present an improved Jump Point Search (JPS) algorithm integrated with a dynamic evaluation function, designed specifically for drone technology applications. The proposed method significantly reduces computational overhead while maintaining path optimality and ensuring safe obstacle avoidance. We provide extensive theoretical analysis, simulation results, and outdoor flight tests to validate the effectiveness of our approach. The results demonstrate that our algorithm outperforms the classical A* algorithm in terms of search node count, computation time, and adaptability to changing environments, making it highly suitable for real-time drone technology missions.

1. Introduction

With the rapid advancement of automation and computing technologies, drone technology has evolved towards intelligent and autonomous flight. Path planning is a critical component in autonomous navigation systems, requiring not only optimal route generation but also real-time re-planning capability when encountering dynamic obstacles. Traditional path planning algorithms such as A* and Dijkstra rely on exhaustive grid searches, which become computationally expensive as the environment grows or when obstacles appear unexpectedly. In many practical scenarios, drones must operate in unknown or partially known environments, where the ability to quickly adapt to new information is essential. Our work introduces a novel dynamic evaluation framework built upon the Jump Point Search algorithm, tailored to meet the stringent real-time and safety requirements of modern drone technology.

2. Related Work

Numerous path planning algorithms have been proposed for autonomous systems. Sampling-based methods such as Rapidly-exploring Random Trees (RRT) and Probabilistic Roadmaps (PRM) offer computational efficiency by randomly sampling the configuration space, but they often lack optimality guarantees. Search-based methods like A* provide optimal paths by systematically exploring the grid, yet their computational cost grows quadratically with grid resolution. Intelligent algorithms including artificial potential fields, ant colony optimization, particle swarm optimization, and genetic algorithms can handle complex constraints but are prone to local optima and require extensive parameter tuning. In drone technology, the need for real-time performance in dynamic environments has prompted researchers to modify these algorithms. The Jump Point Search algorithm, originally proposed by Harabor and Grastien, reduces the search space by identifying “jump points” that can be skipped during expansion, thereby speeding up the A* framework. However, standard JPS does not account for dynamic changes or vehicle kinematics. Our work extends JPS by incorporating a dynamic evaluation function that adapts to the drone’s motion state and environmental updates, achieving both efficiency and adaptability in drone technology applications.

3. Fundamental Algorithms

3.1 A* Algorithm

The A* algorithm is a heuristic search method that finds the shortest path from a start node to a goal node. It evaluates each node using a cost function:

$$ f(n) = g(n) + h(n) $$

where \( g(n) \) is the actual cost from the start to node \( n \), and \( h(n) \) is a heuristic estimate of the cost from \( n \) to the goal. The algorithm maintains two lists: an OpenList (priority queue ordered by \( f(n) \)) and a ClosedList (visited nodes). The process iterates by selecting the node with the smallest \( f(n) \) from OpenList, expanding its neighbors, updating their costs, and moving the current node to ClosedList until the goal is reached. Despite its optimality, A* expands many nodes, leading to high computational time, especially in large three-dimensional grids.

Table 1: Comparison of node expansion strategies between A* and JPS (conceptual)
Algorithm Expansion Rule Node Type Computational Complexity
A* Expand all neighboring grid cells Every grid cell may become a node O(N) where N is total cells
JPS Jump directly to “jump points” along straight/diagonal lines Only critical points (jump points) are expanded O(M) where M << N

3.2 Jump Point Search (JPS)

JPS improves upon A* by pruning the search space. It uses two primary search rules: straight-line search and diagonal search. During straight-line movement, if no obstacles are encountered, all intermediate cells are ignored until a forced neighbor is detected. A forced neighbor exists when an adjacent cell on the side of the movement direction is an obstacle, making the current cell a jump point. Similarly, in diagonal movement, the algorithm checks the two cells behind the moving direction; if any is an obstacle, the cell ahead of it becomes a forced neighbor, and the current cell is a jump point. Formal definitions are:

  • Forced neighbor: Node \( n \) is a forced neighbor of node \( x \) if \( n \) is adjacent to \( x \) and there exists an obstacle such that the path from parent \( p \) through \( x \) to \( n \) is cheaper than any alternative path that does not go through \( x \).
  • Jump point: Node \( x \) is a jump point if (a) it is the start or goal, (b) it has at least one forced neighbor, or (c) it is reached via diagonal move from parent and from \( x \) a straight-line search can reach another jump point.

Figure 1 illustrates the straight and diagonal search patterns (conceptual).

4. Proposed Improved JPS with Dynamic Evaluation

Standard JPS does not consider the drone’s motion constraints or dynamic obstacles. Our algorithm enhances JPS in two key aspects: optimizing the evaluation function for three-dimensional flight and introducing a dynamic evaluation function that updates the path based on the drone’s current state.

4.1 Optimized Evaluation Function for 3D Flight

We modify the cost function to include adaptive weights:

$$ f(n) = a(n) \cdot g(n) + b(n) \cdot h(n) $$

where the weights are dynamically adjusted according to the distance to the goal:

$$ a(n) = a_0^{\left(1 – \frac{h(n)}{D}\right)} $$
$$ b(n) = b_0^{\left(\frac{h(n)}{D}\right)} $$

Here, \( a_0 \) and \( b_0 \) are initial weight values (both greater than 1), and \( D \) is the Euclidean distance from the start to the goal. As the search progresses, \( a(n) \) decreases towards 1, while \( b(n) \) increases from 1 towards \( b_0 \). This adaptive weighting balances exploration and exploitation, improving the search efficiency in drone technology applications.

4.2 Dynamic Evaluation Function for Replanning

During flight, the drone periodically updates its local map based on sensor data. When a new path is generated, it may conflict with the previously planned path. To resolve this, we define a dynamic evaluation function that considers the drone’s motion state. The state is modeled as:

$$ x_{k+1} = x_k + v_k \cos \theta_k \cos \varphi_k \cdot \Delta t $$
$$ y_{k+1} = y_k + v_k \cos \theta_k \sin \varphi_k \cdot \Delta t $$
$$ z_{k+1} = z_k + v_k \sin \theta_k \cdot \Delta t $$
$$ \theta_{k+1} = \theta_k + \omega_{\theta,k} \cdot \Delta t $$
$$ \varphi_{k+1} = \varphi_k + \omega_{\varphi,k} \cdot \Delta t $$

where \( (x_k, y_k, z_k) \) is position, \( v_k \) is speed, \( \theta_k \) is pitch angle, \( \varphi_k \) is yaw angle, and \( \omega \) denotes angular rates. The drone’s hardware imposes constraints on linear velocity and angular velocity:

$$ v_{\min} < v < v_{\max}, \quad \omega_{\min} < \omega < \omega_{\max} $$
$$ v_{\text{dec}} \cdot \Delta t < v_k – v_{k-1} < v_{\text{acc}} \cdot \Delta t $$
$$ \omega_{\text{dec}} \cdot \Delta t < \omega_k – \omega_{k-1} < \omega_{\text{acc}} \cdot \Delta t $$

The set of feasible velocity pairs is \( V(v, \omega) \). The dynamic evaluation function is defined as:

$$ \Phi(v, \omega) = \alpha \cdot P(v, \omega) + \beta \cdot Q(v, \omega) + \gamma \cdot V(v, \omega) $$

where \( P(v, \omega) \) measures the angular deviation between the newly generated trajectory and the existing one, \( Q(v, \omega) \) measures the distance deviation, and \( V(v, \omega) \) is the hardware constraint penalty. The weights \( \alpha, \beta, \gamma \) are tuned based on the drone’s characteristics and environmental complexity. This function allows the algorithm to select a path that minimizes deviation while respecting the vehicle’s dynamic limits, ensuring smooth and safe transitions.

Table 2: Parameters used in dynamic evaluation function for drone technology
Parameter Description Typical Value
\( \alpha \) Weight for angular deviation 0.4
\( \beta \) Weight for distance deviation 0.3
\( \gamma \) Weight for hardware constraint penalty 0.3
\( v_{\max} \) Maximum linear velocity 15 m/s
\( \omega_{\max} \) Maximum angular velocity 1 rad/s

5. Simulation and Experimental Validation

5.1 Simulation Setup

We conducted simulations in a virtual forest environment using Unreal Engine, with grid maps generated as octree representations in ROS. The simulation environment included static obstacles (trees) and dynamic obstacles (moving objects). We compared our improved JPS algorithm with dynamic evaluation (denoted as JPS-DE) against the standard A* algorithm. Both algorithms were implemented in C++ and run on an Intel i7 processor.

5.2 Simulation Results

Table 3 summarizes the simulation results for a typical scenario with 200 × 200 × 50 grid cells.

Table 3: Simulation performance comparison
Algorithm Number of Search Nodes Computation Time (ms) Path Length (m)
A* 170,562 135.88 213.46
JPS-DE (proposed) 535 20.8 214.92

The proposed algorithm reduced the number of searched nodes by over 99% and computation time by approximately 85%, while maintaining almost identical path length. The significant reduction is attributed to the jump point skipping mechanism and the adaptive weight strategy that focuses search in promising directions.

5.3 Outdoor Field Tests

We performed real-world experiments using a DJI-derived quadrotor equipped with a Velodyne LiDAR and an NVIDIA TX2 onboard computer. The drone flew in a mixed environment with trees, buildings, and moving pedestrians. The grid map was built in real-time, and the path was updated at 10 Hz. Table 4 presents the results of a typical outdoor run.

Table 4: Outdoor flight test performance comparison
Algorithm Number of Search Nodes Computation Time (ms) Path Length (m)
A* 4,300 10.559 57.841
JPS-DE (proposed) 70 0.090 61.07

In outdoor tests, the improvement was even more pronounced. The node count dropped from 4,300 to 70, and the computation time fell from 10.559 ms to 0.090 ms, a reduction of over 99%. Although the path length increased slightly (by about 3.2 m), the drastic reduction in computation time enables real-time re-planning, which is critical for safe operation in dynamic environments. The dynamic evaluation function allowed smooth transitions between old and new paths, preventing abrupt maneuvers that could destabilize the drone.

6. Discussion

The results demonstrate that our improved JPS algorithm with dynamic evaluation is highly effective for real-time drone technology applications. The key advantages are:

  • Computational efficiency: By pruning non-critical nodes, the algorithm reduces the search space dramatically, making it feasible for onboard processors with limited resources.
  • Adaptability to dynamic environments: The dynamic evaluation function allows the algorithm to replan quickly when obstacles appear, while respecting the drone’s kinematic constraints.
  • Robustness: The adaptive weighting of the cost function prevents the algorithm from getting trapped in local minima and ensures a good balance between path optimality and search speed.

However, some limitations remain. The algorithm assumes that the environment can be represented as a grid, which may not be accurate for highly cluttered spaces. Future work will explore integration with continuous path optimization techniques such as B-spline smoothing to further improve path quality. Additionally, we plan to extend the dynamic evaluation function to incorporate collaborative drone technology scenarios where multiple UAVs share map information.

7. Conclusion

In this paper, we presented an enhanced Jump Point Search algorithm with a dynamic evaluation function tailored for autonomous path planning in drone technology. By optimizing the evaluation function for three-dimensional flight and introducing a motion-state-aware replanning mechanism, our algorithm significantly reduces computational overhead while maintaining path feasibility and safety. Simulation and outdoor experimental results confirm that the proposed method outperforms the traditional A* algorithm in terms of node expansion and computation time, with only negligible path length increase. The algorithm’s low latency and adaptability make it an ideal candidate for real-time autonomous navigation of drones in complex, dynamic environments. Our work contributes to the advancement of robust and efficient drone technology, enabling safer and more responsive autonomous flights.

Scroll to Top