Keywords

1 Introduction

Path planning, which acts as a bridge between robot perception and control, is a critical technology for achieving autonomous navigation of mobile robots [1]. Using the route planning algorithm to create an optimal or nearly optimal path from the beginning point to the goal location based on previously known environmental factors is known as global path planning for mobile robots. The intended route should make it possible to avoid obstacles with ease and meet the robot's numerous performance parameters [2,3,4]. The Dijkstra algorithm [5], A* algorithm [6], artificial potential field method [7], RRT algorithm [8], and jump point search algorithm are now the more popular global path planning algorithms. The A* algorithm extends many unessential intermediary nodes during the path-finding process and regularly accesses the Openlist to gather node information, requiring a huge calculation and a lengthy path-finding time [9]. Harabor [10] et al. created a jump point search algorithm on the basis of keeping the heuristic function of the A* algorithm in order to address the inadequacies of the A* algorithm.

Numerous scholar and international experts have considerably improved the jump point search algorithm and improved the method's performance. Based on the improvement of the A* algorithm, Duchon [11] conducted comparative experiments on JPS and RSR algorithms using different environment maps. He proved that the JPS algorithm exhibits obvious advantages in terms of wayfinding efficiency. A planning algorithm combining the improved JPS and A* algorithm was proposed by Jin [12] to address the issue of multiple and chaotic jump-points in the processing of large-scale maps with complex environmental information. This algorithm is intended to reduce redundant intermediate jump-points by enhancing the jump-point screening rules. Ma [13] proposed a bidirectional jump point search algorithm by improving the jump point screening rules and conducting path search from two directions to address problems such as insecurity, long path search time, and large memory consumption in the pre-processing rules of the jump point search algorithm in the global path planning of mobile robots. Miao [14] proposed a parallel—alternate jump point search algorithm by adding the central hot spot region between the starting point and the target point because paths in two directions cannot meet under certain conditions in the bidirectional jump point search algorithm, resulting in an increase in redundant paths. The parent node of the current jump point was introduced as the target point of the jump point expansion in the relative direction, and a two-way dynamic jump point search algorithm was proposed by Qin [15] to address the issue of two-way jump search. Ma [16] et al. integrated the target point's direction vector and the node's initial search direction, constructed the priority of the jump point search direction, and proposed a directional jump search algorithm. Yakovlev [17] formally presents the angle-constrained path planning problem and introduces a new algorithm, LIAN, specifically designed to smooth the path obtained through the JPS algorithm. To somewhat boost the path finding speed of the jump point search algorithm, the majority of their solutions, however, focus on bettering the jump point filtering rules or searching the path in two separate directions. The pathfinding process is not optimized for the algorithm's inherent problems, such as the algorithm's excessive expansion nodes, intermediate search hops, unnecessary inflection points, and overly long pathfinding periods.

Therefore, this paper proposes an improved bidirectional dynamic JPS algorithm to address the aforementioned issues. This algorithm judges the obstacle information between the minimum cost point in the two directions while expanding jump points, and it limits the expansion range of jump points in the forward and reverse directions to a certain extent through dynamic constraint ellipses.

2 Improved Bidirectional Dynamic JPS Algorithm

2.1 Dynamically Define Target Points and Heuristic Functions

The bidirectional dynamic JPS method extends the jump point from the starting and ending points, and the goal point and heuristic function in the two extension directions change dynamically as the two extension sides approach each other. Figure 1 depicts the definition of certain dynamic target sites. In the figure, black grids are obstacles, gray grids are jump points extended in both positive and negative directions, S1 is the starting point, and G1 is the target point. The first step is to add S1 and G1 to the forward open list and the reverse open list respectively, take the minimum cost point S1 in the forward open list, take the minimum cost point G1 in the reverse open list as the target point for forward expansion, carry out forward expansion and add the expanded jump point to the forward open list, and take the minimum cost point S2. In the second step, taking G1 as the starting point of the reverse expansion, the reverse expansion is carried out to the target point S2, which is the minimum forward cost obtained in the first step. The expanded jump point is added to the reverse open list, and the minimum reverse cost point G2 is taken out. In the third step, the minimum point of the reverse cost obtained in the second step is taken as the new forward target point, and the forward expansion is carried out to obtain the minimum point of the forward cost S3. In the fourth step, the minimum forward cost S3 obtained in the third step is taken as the new reverse target point, and the reverse cost minimum G3 is obtained by the reverse extension. In the fifth step, the minimum point of the positive cost (G3) obtained in the fourth step is taken as the new forward target point, and the forward expansion is carried out to obtain the minimum point of the positive cost (S4). In the sixth step, the forward cost minimum point S4 obtained in the fifth step is used as the new reverse target point for reverse expansion, and the reverse cost minimum point S4 is obtained. At this time, the forward and reverse cost minimum points coincide, and the wayfinding ends.

Fig. 1
A grid presents a bi-directional dynamic J P S extension. Points G 1 to G 3 and points S 1 to S 4 represent nodes in the algorithm. The algorithm navigates through obstacles, demonstrating its pathfinding capabilities. A few cells are shaded in different colors.

Bi-directional dynamic JPS jump point extension

The heuristic function used to describe the estimated distance between the current least cost point and the target point will change along with the dynamic change of the forward and backward expansion target point. Equations (1) and (2) are examples of positive and reverse dynamic heuristic functions that were obtained in this study using Euclidean distance.

$$h_{f} = \sqrt {\left( {x_{f\min } - x_{r\min } } \right)^{2} + \left( {y_{f\min } - y_{r\min } } \right)^{2} }$$
(1)
$$h_{r} = \sqrt {\left( {x_{r\min } - x_{f\min } } \right)^{2} + \left( {y_{r\min } - y_{f\min } } \right)^{2} }$$
(2)

The horizontal and vertical coordinates of the forward cost minimum point in the current iteration are represented in the equation by the letters xfmin and yfmin, respectively, whereas the horizontal and vertical coordinates of the reverse cost minimum point are represented by the letters xrmin and yrmin.

2.2 Environment Complexity and Dynamic Constraint Ellipse

The calculation region for environmental complexity is defined as the rectangle range with the diagonal line of the point with the lowest cost of forward and backward expansion under the present iteration. The amount of obstacle grids in the entire rectangle is calculated to estimate the environmental complexity k for the current iteration.

The gray grids in Fig. 2 serve as an illustration of the current minimum cost points for each iteration in the two expansion directions, and the black grids represent obstacles. The line between the start and goal points is used as the diagonal line of the rectangle in the algorithm's first iteration to establish the calculation area for environmental complexity, which is represented by a dashed line box. This figure shows that there are 28, that is 19.58% of all the grids in the wire frame, are black. This means that the environmental complexity k1 in the first iteration is 0.196, and that the determination of environmental complexity in subsequent iterations is similar to that in the first step, so further explanation is not necessary.

Fig. 2
A grid-based diagram illustrates a complex environment. It features a marked starting point, goal, and obstacles in different shades. Dashed lines represent a path labeled k 1 leading to the goal.

Determination of environment complexity

Dynamic constraint ellipse is introduced via an improved bidirectional dynamic JPS method. The elliptic focus F1 and the elliptic focus F2 are the points of minimal current cost in the expansion process, respectively, in one expansion direction and the other. The dynamic constraint ellipse for the current iteration can be generated by using the heuristic function to calculate the focal length of the ellipse and then taking the focal length of ζ times as the major axis length of the ellipse. The following is the standard equation for the dynamic constraint ellipse.

$$\frac{{(x - m)^{2} }}{{a^{2} }} + \frac{{(y - n)^{2} }}{{b^{2} }} = 1,(a > b > 0)$$
(3)

where \(m = \frac{{x_{\min } (1) + x_{\min } (2)}}{2}\) stands for the ellipse's center point's horizontal coordinate, while xmin (1) and xmin (2) represent the points’ horizontal coordinates with the lowest current costs in the two expansion directions, respectively. \(n = \frac{{y_{\min } (1) + y_{\min } (2)}}{2}\) stands for the ellipse's center point's ordinate, while ymin (1) and ymin (2) represent the points' ordinates with the lowest current costs in the two expansion directions, respectively. a = ζh, represents the length of the major axis of the ellipse, where ζ is the coefficient of elliptic expansion, determined by the relationship between the environmental complexity and the coefficient of elliptic expansion in Table 1, and h represents the focal length of the ellipse, which can be obtained by the heuristic function (1) or (2) under the current iteration. \(b = \frac{{h\sqrt {4\zeta^{2} - 1} }}{2}\) represents the minor axis length of the ellipse.

Table 1 Relation between environmental complexity and elliptic expansion coefficient

Figure 3 illustrates the precise creation process of the dynamic constraint ellipse. The minimum cost points produced by each iteration in the two expansion directions are gray nodes. Beginning with Start and Goal as the ellipse's two focal points and ζ1 times the focal length as the length of the major axis, the constrained ellipse 1 is created. The minimum cost points in the subsequent iteration, S1 and G1 are utilized as the new ellipse focus points and the focal length ζ2 times as the ellipse's major axis length to create a new restricted extension ellipse known as ellipse 2. Up till the path finding is finished, the appeal process is repeated.

Fig. 3
A grid diagram illustrates a complex path from a start point to a goal, intersected by six dynamic constraint ellipses. Path segments S 1 to S 5 and G 1 to G 5 indicate stages along the journey.

Dynamic constraint ellipse

The expansion range of the node under the current iteration is constrained by the dynamic constraint ellipse. Figures 4 and 5 show the effects of the constraint ellipse on the expansion range of nodes during the first round of jump point expansion, with gray grids representing the expansion nodes in two directions, and △ and ○ indicating the beginning point and target point respectively. The grid intersecting the ellipse's boundary is extracted in Fig. 4, and the grid outside and on the boundaries of the ellipse is given an extended weight that is smaller than the one without obstacles but larger than the one with obstacles, dividing the environment map into the high-priority extension area inside the ellipse and the lower-priority extension area outside the ellipse. Compared with the unconstrained extension in Fig. 4, the algorithm gives priority to the expansion inside the ellipse when looking for jump points. Because the elliptic boundary is not an impediment, more jump points are not introduced, and the intermediate expansion nodes and intermediate jump points in the path finding process are reduced due to the elliptic limitation, thus speeding up the speed of bidirectional search to each other and improving the algorithm's convergence efficiency.

Fig. 4
A grid presents an outlined ellipse indicating a constraint area. Within this ellipse is a region around the center labeled high priority extension area in ellipse.

Constraint ellipse limits the extension area

Fig. 5
A grid with numbered axes, filled with squares of two different shades. An unshaded region around the center with three dark-shaded sections at the center is an unconstrained extension.

Unconstrained extension

2.3 Judgment of Obstacles Between the Minimum Cost Points of Forward and Reverse Direction

JPS algorithm can only plan courses along straight lines and grid diagonals in raster maps, as demonstrated in Fig. 6a black path, which introduces meaningless inflection points in the process. The introduction of the idea of forced neighbor points near obstacles also results in the production of a significant number of meaningless intermediate inflection points in some situations, as demonstrated in Fig. 6b black path. The bidirectional dynamic JPS method may evaluate the environmental data between the two directions of the minimum cost points in each iteration because it grows from two directions to each other. If there are no barriers in the road connecting the two minimum cost points, the path connecting two points (shown by the gray path) forms a complete pathfinding path with the planned path.

Fig. 6
Two diagrams labeled a and b depict paths from a start point to a goal on a grid. Diagram a illustrates a direct path, and another indirect path passing through a shaded block, while diagram b illustrates a direct path, and a more complex route passing through different shaded blocks.

Correction of meaningless inflection points. a Constraints on the direction of expansion; b Effects of obstacles

2.4 Improved Bidirectional Dynamic JPS Algorithm Path Planning

By using a dynamic constraint ellipse, the improved bidirectional dynamic JPS algorithm reduces the number of intermediate nodes that must be extended in order to find the jump points in each iteration and avoids adding jump points that are highly improbable to be far from the line connecting the positive and negative cost points to the open list. The pathfinding path of the algorithm is also made less complicated by eliminating pointless inflections by determining, after each iteration, if the line of least cost points in two directions goes through the obstruction.

The improved bidirectional dynamic jump point search algorithm's pathfinding procedure is as follows:

Step 1: Obtain the starting point, target point, and obstacle coordinate information from the raster environment, initialize the raster map, add the starting point to the forward the Openlist, and add the target point to the reverse the Openlist.

Step 2: Verify that the reverse the Openlist and forward the Openlist are both empty. Pathfinding is completed if any list is empty. If neither list is empty, remove the least expensive point from the two open lists and make it the extension's new target point.

Step 3: Verify that the goal points for the two expansion directions are parallel. The path finding process is finished if the target points match. If the goal points are not congruent, see if there is an obstruction in the path that connects them.

Step 4: Create a constrained ellipse with the focus at the point with the lowest cost in both directions, along with the focal length ζ times as the ellipse's major axis length, and look for jump points in the high-priority extension region. The jump points are added to the open list if there are any jump points in the ellipse that satisfy the requirements. The jump points are extended outside the ellipse and the jump points that satisfy the conditions are also added to the open list if there are no jump points that fit the criteria.

Step 5: Go to Step 2.

3 Simulation and Experimental Analysis

Two different environment maps, 20 × 20 and 40 × 40, are utilized to simulate and compare the classic JPS algorithm, the bidirectional dynamic JPS algorithm, and the proposed method in order to assess the efficacy of the improved bidirectional dynamic JPS algorithm. Windows 10 64-bit operating system, Core i7-10700F processor, main frequency of 2.9 GHz, installation memory of 16 GB, and MATLAB R2020b simulation running platform make up the device configuration employed in the experiment.

Figures 7 and 8 display the simulation environment. In the grid map, △ and ○ stand in for the beginning point and target point, respectively. Obstacles are represented by black grids, intermediate expansion points by light gray grids, and jump points by deep gray grids. The comparison of the three methods’ path lengths, algorithm running times, number of intermediate expansion nodes, number of jump points, and number of inflection points under two distinct raster maps is shown in Tables 2 and 3, respectively.

Fig. 7
Three diagrams labeled a to c on a 20 cross 20 grid filled with obstacles illustrate a path in each, navigating through different obstacles and complexities.

Path comparison under 20 × 20 raster map. a JPS algorithm; b Bidirectional dynamic JPS algorithm; c Improved algorithm

Fig. 8
Three diagrams labeled a to c on a 40 cross 40 grid filled with obstacles illustrate a path in each navigating through different obstacles and complexities.

Path comparison under 40 × 40 raster map. a JPS algorithm; b Bidirectional dynamic JPS algorithm; c Improved algorithm

Table 2 Comparison of 20 × 20 raster map results
Table 3 Comparison of 40 × 40 raster map results

Bidirectional dynamic JPS algorithm shows no improvement in pathfinding time when compared to standard JPS algorithm, as shown by Figs. 7, 8, Tables 2, and 3, among other data. This is due to the fact that, despite the bidirectional dynamic JPS algorithm's ability to expand in two directions, the expansion in each direction does not occur simultaneously but rather alternately. The bidirectional dynamic JPS algorithm has the property of approaching each other with the expansion in two directions, but it does not address the issue of the large number of middle invalid expansion nodes and invalid jump points in the path finding process of the traditional JPS algorithm. This feature is combined with the introduction of the dynamic constraint ellipse to divide the priority of the expanding range of each algorithmic step. The bidirectional dynamic JPS method is proposed to be enhanced. As can be seen, when the path is optimal or tends to be optimal, the optimized algorithm can significantly reduce the invalid expansion nodes and jump points produced in the expansion process of the algorithm, so as to improve the convergence speed and increase the pathfinding efficiency of the algorithm.

4 Conclusion

In this paper, an improved bidirectional dynamic jump point search algorithm is proposed. The algorithm extends the jump point to each other in both forward and reverse directions. In the process of jump point expansion, the target point and the heuristic function are defined dynamically. At the same time, the obstacle information between the least cost points in two directions is judged, so as to solve the inherent problems of traditional jump search algorithm such as an excess of jump points, intermediate expansion nodes and invalid inflection points. Experimental results show that the improved method speeds up the convergence speed and the efficiency of the algorithm.