Improved JPS-A global path planning algorithm and system
By improving the JPS-A global path planning algorithm, combined with the JPS strategy and dynamic window method, multi-objective path planning is optimized, solving the problems of computational redundancy and increased path length in existing technologies, and achieving efficient and safe unmanned vehicle navigation.
Patent Information
- Application Number
- CN202510776256.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-11
- Publication Date
- 2025-09-05
AI Technical Summary
The heuristic function of the existing technology is only designed for a single target point and cannot effectively support multi-target path planning, resulting in multiple calls to the algorithm for repeated planning, increasing computational redundancy and the total length of the path.
The improved JPS-A global path planning algorithm defines the heuristic term in the evaluation function as the minimum distance from the current node to all target points, combines the JPS strategy, skips intermediate nodes, and uses the dynamic window method for local correction to optimize path search.
It significantly reduces the search space and the number of node expansions, improves path search efficiency, ensures the shortest global path, and adjusts local paths in real time through the dynamic window method, thereby improving the autonomous navigation capability and adaptability of unmanned vehicles in dynamic environments.
Smart Images

Figure CN120593792A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of path planning technology, and in particular to an improved JPS-A global path planning algorithm and system. Background Art
[0002] In the field of autonomous vehicle navigation and path planning, global path planning algorithms must quickly generate efficient paths in complex and dynamic environments while also meeting the need to access multiple destinations. Currently, the A* algorithm is widely used in global path planning due to its heuristic search properties. It searches for the shortest path by combining actual path costs with heuristic estimated costs. In autonomous vehicle navigation and obstacle avoidance tasks, it is often necessary to plan paths from a single starting point to multiple destinations. Furthermore, due to the dynamic nature of the environment, real-time adjustments must be made to local paths during execution.
[0003] However, existing heuristic functions are designed only for a single target point and cannot effectively support multi-target path planning. When multiple targets need to be visited sequentially, the algorithm must be called multiple times for repeated planning, resulting in redundant calculations and increased total path length. Summary of the Invention
[0004] The present application aims to solve at least one of the technical problems in the related art to a certain extent. To this end, one purpose of the present application is to propose an improved JPS-A global path planning algorithm and system to improve the efficiency of global path search.
[0005] One aspect of the present application provides an improved JPS-A global path planning algorithm, including:
[0006] Step S100: Define the heuristic term in the evaluation function of the modified A* algorithm as the minimum distance from the current node to all target points, combine the JPS strategy, obtain the starting coordinates of the unmanned vehicle, the target point set and the global map information, and perform a global path search;
[0007] Step S200: The unmanned vehicle executes the global path and uses the dynamic window method to perform local corrections on the global path;
[0008] The improvements to the modified A* algorithm include: defining the heuristic term in the evaluation function as the minimum distance from the current node to all target points, combining the JPS strategy to skip intermediate nodes, adding only key nodes of the path to the open list, and recursively jumping to the next key node along the path; the key nodes include turning points and obstacle nodes;
[0009] The evaluation function f(n) of the modified A* algorithm includes a heuristic term h(n) and a cost function g(n), wherein the heuristic term h(n) represents the minimum distance from the current node to all target points, and the cost function g(n) represents the actual path cost from the starting point to the current node;
[0010] The specific method of the global path search is:
[0011] Step S110: Initialize the open list and the closed list, and add the starting point S to the open list;
[0012] Step S120: define and modify the A* algorithm;
[0013] Step S130: If the open list is empty, the algorithm ends; otherwise, the node n with the smallest evaluation function value is taken from the open list and added to the closed list;
[0014] Step S140: If the current node n belongs to the target point, remove the current node from the target point set. If the target point set is not empty, use the current node as a new starting point and jump to step S130; if the target point set is empty, jump to step S160;
[0015] Step S150: If the node n is not the target point, then use the JPS strategy to expand the next hop of the current node n;
[0016] Step S160: Starting from the current node, backtrack to generate a path segment from the starting point to the current target point, and add the path segment to the existing global path; if the target point set is not empty, use the current node as the new starting point and jump to step S130; otherwise, the algorithm ends and outputs the complete global path;
[0017] The specific method of using the JPS strategy to expand the next hop of the current node n is:
[0018] Step S151: Set the speed parameters and sampling time of the unmanned vehicle, sample the speed in different directions based on the current speed of the unmanned vehicle, and generate a simulated trajectory for each sampled speed; calculate the cost function value of each simulated trajectory, select the simulated trajectory with the smallest cost function value as the optimal trajectory, and record the direction and speed corresponding to the optimal trajectory; determine whether the current optimal trajectory can reach the target point; if so, determine the next jump point and end the search; if not, proceed to the next round of speed sampling and trajectory simulation;
[0019] The simulated trajectory refers to: using the current speed to deduce in the direction for a period of time to generate a predicted trajectory;
[0020] The specific method of generating a simulated trajectory for each sampled speed is as follows: based on each sampled speed, a predicted trajectory is generated with the current node as the starting point; for each predicted trajectory, whether there is an obstacle node and a turning point is determined; if so, the trajectory is invalid; if not, the intermediate node is skipped and the next jump point in the horizontal, vertical or diagonal direction is directly jumped;
[0021] The calculation formula of the heuristic term is: h(n i )=min(d(n i ,T1),d(n i ,T2),...,d(n i ,T m )), where n i Indicates the current node, h(n i ) represents the heuristic item of the current node, T1, T2, ..., T m represents the target point set of all target points, d(n i ,T1),d(n i ,T2),...,d(n i ,T m ) represent the distance from the current node to all target points, and min() represents the minimum value of the distance from the current node to all target points;
[0022] The specific method of using the dynamic window method to perform local correction on the global path is:
[0023] Step S210: Based on the real-time position of the unmanned vehicle, a dynamic window method is used to sample the local area to obtain speed and direction samples and evaluate their evaluation indicators;
[0024] The dynamic window method generates different speed and direction samples of the unmanned vehicle within a local window centered on the current position of the unmanned vehicle, and evaluates the evaluation index of each generated speed and direction sample;
[0025] The evaluation indicators include the degree of fit with the global path and the distance from the obstacle node.
[0026] Step S220: Select the speed and direction with the best evaluation index, generate a local path, and merge it with the global path;
[0027] Step S230: If the local path is blocked by an obstacle node or the global path deviation is greater than or equal to the deviation threshold, global replanning is triggered to update the local path from the current position to the target point.
[0028] One aspect of the present application provides an improved JPS-A global path planning system, comprising:
[0029] The global planning module is used to define the heuristic term in the evaluation function of the modified A* algorithm as the minimum distance from the current node to all target points. Combined with the JPS strategy, it obtains the starting coordinates of the unmanned vehicle, the target point set, and the global map information to perform global path search;
[0030] The local correction module is used for the unmanned vehicle to execute the global path, and the dynamic window method is used to perform local corrections on the global path.
[0031] The improved JPS-A global path planning algorithm and system proposed in this application have the following advantages over the existing technology:
[0032] This application defines the heuristic term in the evaluation function as the minimum distance from the current node to all target points. This guides the algorithm to prioritize the closest target points, significantly reducing the search space during multi-objective planning. This change in the heuristic term allows the modified A* algorithm to prioritize the closest target points, ensuring the shortest global path. It also makes the modified A* algorithm more efficient than breadth-first search.
[0033] This application combines the JPS strategy to skip non-critical nodes and only expand turning points or nodes adjacent to obstacles, reducing the number of node expansions, thereby improving search efficiency. Compared with the traditional A* algorithm, the JPS algorithm significantly reduces the number of expanded nodes while ensuring the optimal path, speeding up the path search.
[0034] This application uses a dynamic window method to generate local paths in real time, and sets a deviation threshold to control the global re-planning trigger frequency, reducing unnecessary global calculations and improving system response efficiency. By combining the dynamic window method with global path planning, the unmanned vehicle can adjust the local path and avoid obstacles based on real-time environmental information under the guidance of the global path, thereby improving the autonomous navigation capability and adaptability of the unmanned vehicle. This combination utilizes the long-term planning of the global path and the real-time feedback of the local path, allowing the unmanned vehicle to reach the target point safely and efficiently in a dynamic environment. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] Figure 1 A flowchart of the method for an improved JPS-A global path planning algorithm provided in this application;
[0036] Figure 2 A JPS strategy flowchart provided for this application;
[0037] Figure 3 Schematic diagram of the jumping mechanism of the JPS strategy provided for this application;
[0038] Figure 4 The destination calibration rendering in Rviz software provided for this application;
[0039] Figure 5 A schematic diagram of the global route planned using the A* algorithm provided in this application;
[0040] Figure 6A schematic diagram of the global route planned using the improved JPS_A* algorithm provided in this application;
[0041] Figure 7 This is a graph comparing the computational efficiency of the A* algorithm before and after the improvement provided in this application. DETAILED DESCRIPTION
[0042] To better understand the present application, various aspects of the present application will be described in more detail with reference to the accompanying drawings. It should be understood that these detailed descriptions are merely descriptions of exemplary embodiments of the present application and are not intended to limit the scope of the present application in any way. Throughout the specification, the same reference numerals refer to the same elements. The expression "and / or" includes any and all combinations of one or more of the associated listed items.
[0043] In the accompanying drawings, the size, dimensions, and shapes of the elements have been slightly adjusted for ease of illustration. The accompanying drawings are for illustration only and are not drawn strictly to scale. As used in this application, the terms "substantially," "approximately," and similar terms are used to indicate approximations, not degrees, and are intended to illustrate inherent deviations in measurements or calculations that would be recognized by a person of ordinary skill in the art. In addition, in this application, the order in which the steps are described does not necessarily represent the order in which these steps would occur in actual operation, unless otherwise specified or inferred from the context.
[0044] It should also be understood that expressions such as "including", "comprising", "having", "containing" and / or "comprising" are open rather than closed expressions in this specification, which indicate the presence of the stated features, elements and / or components, but do not exclude the presence of one or more other features, elements, components and / or combinations thereof. In addition, when expressions such as "at least one of..." appear after a list of listed features, they modify the entire list of features rather than just the individual elements in the list. In addition, when describing embodiments of the present application, "may" is used to mean "one or more embodiments of the present application". And, the term "exemplary" is intended to refer to an example or illustration.
[0045] Unless otherwise specified, all words used in this application (including engineering terms and scientific and technological terms) have the same meaning as commonly understood by those skilled in the art to which this application belongs. It should also be understood that, unless otherwise specified in this application, words defined in commonly used dictionaries should be interpreted as having the same meaning as they have in the context of the relevant technology, and should not be interpreted in an idealized or overly formal sense.
[0046] It should be noted that, in the absence of conflict, the embodiments and features of the embodiments in this application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0047] Example 1
[0048] like Figure 1 As shown in FIG, an improved JPS-A global path planning algorithm provided by this application includes:
[0049] Step S100: Define the heuristic term in the evaluation function of the modified A* algorithm as the minimum distance from the current node to all target points, combine the JPS strategy, obtain the starting coordinates of the unmanned vehicle, the target point set and the global map information, and perform a global path search;
[0050] The target point set includes the position coordinates of all target points.
[0051] The improvements to the modified A* algorithm include: defining the heuristic term in the evaluation function as the minimum distance from the current node to all target points, combining the JPS strategy to skip intermediate nodes, adding only key nodes of the path to the open list, and recursively jumping to the next key node along the path; the key nodes include turning points and obstacle nodes;
[0052] The evaluation function f(n) of the modified A* algorithm includes a heuristic term h(n) and a cost function g(n), wherein the heuristic term h(n) represents the minimum distance from the current node to all target points, and the cost function g(n) represents the actual path cost from the starting point to the current node;
[0053] The specific method of the global path search is:
[0054] Step S110: Initialize the open list and the closed list, and add the starting point S to the open list;
[0055] Step S120: define and modify the A* algorithm;
[0056] Step S130: If the open list is empty, the algorithm ends; otherwise, the node n with the smallest evaluation function value is taken from the open list and added to the closed list;
[0057] Step S140: If the current node n belongs to the target point, remove the current node from the target point set. If the target point set is not empty, use the current node as a new starting point and jump to step S130; if the target point set is empty, jump to step S160;
[0058] Step S150: If the node n is not the target point, then use the JPS strategy to expand the next hop of the current node n;
[0059] like Figure 2 As shown in FIG, it is a JPS strategy flow chart provided by this application. Specifically, the specific method of using the JPS strategy to expand the next hop of the current node n is:
[0060] Step S151: Set the speed parameters and sampling time of the unmanned vehicle, sample the speed in different directions based on the current speed of the unmanned vehicle, and generate a simulated trajectory for each sampled speed; calculate the cost function value of each simulated trajectory, select the simulated trajectory with the smallest cost function value as the optimal trajectory, and record the direction and speed corresponding to the optimal trajectory; determine whether the current optimal trajectory can reach the target point; if so, determine the next jump point and end the search; if not, proceed to the next round of speed sampling and trajectory simulation;
[0061] The simulated trajectory refers to: using the current speed to deduce in the direction for a period of time to generate a predicted trajectory;
[0062] The specific method of generating a simulated trajectory for each sampled speed is as follows: based on each sampled speed, a predicted trajectory is generated with the current node as the starting point; for each predicted trajectory, whether there is an obstacle node and a turning point is determined; if so, the trajectory is invalid; if not, the intermediate node is skipped and the next jump point in the horizontal, vertical or diagonal direction is directly jumped;
[0063] Step S160: Starting from the current node, backtrack to generate a path segment from the starting point to the current target point, and add the path segment to the existing global path; if the target point set is not empty, use the current node as the new starting point and jump to step S130; otherwise, the algorithm ends and outputs the complete global path;
[0064] The calculation formula of the heuristic term is: h(n i )=min(d(n i ,T1),d(n i ,T2),...,d(n i ,T m )), where n i Indicates the current node, h(n i ) represents the heuristic item of the current node, T1, T2, ..., T m represents the target point set of all target points, d(n i ,T1),d(n i ,T2),...,d(n i ,T m ) represent the distance from the current node to all target points, and min() represents the minimum value of the distance from the current node to all target points;
[0065] Step S200: The unmanned vehicle executes the global path and uses the dynamic window method to perform local corrections on the global path;
[0066] The specific method of using the dynamic window method to perform local correction on the global path is:
[0067] Step S210: Based on the real-time position of the unmanned vehicle, a dynamic window method is used to sample the local area to obtain speed and direction samples and evaluate their evaluation indicators;
[0068] The dynamic window method is a local path planning and obstacle avoidance algorithm that samples and evaluates speed and direction in a local area around the unmanned vehicle. The dynamic window method generates different speed and direction samples of the unmanned vehicle within a local window centered on the vehicle's current position, and evaluates the evaluation metrics of each generated speed and direction sample.
[0069] The evaluation indicators include the degree of fit with the global path and the distance from the obstacle node.
[0070] Step S220: Select the speed and direction with the best evaluation index, generate a local path, and merge it with the global path;
[0071] Step S230: If the local path is blocked by an obstacle node or the global path deviation is greater than or equal to the deviation threshold, global replanning is triggered to update the local path from the current position to the target point.
[0072] The deviation threshold is set by those skilled in the art based on experience.
[0073] Global replanning updates the path from the vehicle's current location to the target point, ensuring it can circumvent obstacles and continue on its way. The vehicle will repeatedly perform local path planning and obstacle avoidance, adjusting its path in real time. This process continues until it has visited all target points and reached its final destination.
[0074] By combining the dynamic window method with global path planning, the autonomous vehicle can adjust its local path and avoid obstacles based on real-time environmental information, guided by the global path. This improves the vehicle's autonomous navigation capabilities and adaptability. This combination leverages long-term global path planning and real-time feedback on local paths, enabling the vehicle to reach its destination safely and efficiently in dynamic environments.
[0075] Example 2
[0076] This application adopts the A* algorithm as the global path planning algorithm, combined with the dynamic window method DWA (Dynamic Window Approach) for local obstacle avoidance as the local path planning algorithm, and implements a global path correction strategy based on local targets. A global path from the starting point to the target is calculated by the A* algorithm to ensure that the vehicle can move towards the target on a global scale. During actual driving, when the vehicle encounters a dynamic obstacle, the local obstacle avoidance algorithm DWA will adjust the vehicle's driving path in real time to avoid collision. The main advantage of this method is that it ensures the correctness of the vehicle's driving direction through global path planning, while the local obstacle avoidance algorithm can efficiently deal with obstacles in a dynamic environment and can quickly respond to sudden obstacles, ensuring the safety and efficiency of the system.
[0077] For global path planning tasks, this application uses the A* (A-star) algorithm and makes certain improvements to its path retrieval strategy, and proposes an improved JPS_A* (Jump Point Search via A-star) algorithm. The improved A* algorithm effectively reduces the computational complexity of the path expansion process, and improves the efficiency of the algorithm when processing large-scale maps and complex environments to meet the needs of this application. For navigation and obstacle avoidance tasks, this application uses the improved JPS_A* algorithm combined with a local obstacle avoidance strategy based on a global path using a dynamic window method. This strategy not only ensures the efficiency of path planning, but also improves the system's responsiveness in complex and dynamic environments, and has strong adaptability and practicality.
[0078] In practical applications, due to the complexity and dynamic changes of the environment, such as the appearance of obstacles and pedestrians, it is necessary to adjust and optimize the path in real time in a constantly changing environment. Therefore, this application combines global path planning with local path planning, and uses a global path correction strategy based on local goals to plan the driving path of the unmanned vehicle.
[0079] The path planning process in this application is divided into two stages: global path planning and local path planning. Global path planning, when selecting a path, does not consider the details of the local environment or the impact of dynamic obstacles. It directly plans the optimal path from the starting point to the destination based on pre-set global map information. In real-world hospital scenarios, there are situations where a route is taken from a single starting point to one or more destinations. This application breaks this down into multiple point-to-point path planning stages, where the route is planned again from the starting point, using the current destination as the starting point for the next global path planning step, and so on. This strategy of repeated point-to-point path planning allows a route from a single starting point to all destinations, thus addressing the one-to-many global path planning problem that may arise in hospital scenarios. Local path planning, on the other hand, focuses on real-time path tracking. During this process, the system dynamically adjusts the path based on real-time perception data, such as dynamic obstacles, the unmanned vehicle's motion constraints, and real-time requirements, to ensure the vehicle avoids obstacles and maintains a smooth path. Ultimately, the path planning system outputs control information for the unmanned vehicle's chassis, including linear and angular velocities. The chassis drives the motors based on these instructions, enabling the unmanned vehicle to perform obstacle avoidance and navigation tasks at a predetermined speed.
[0080] To achieve one-to-many path planning, that is, starting from the starting point, visiting multiple target points in sequence and finally reaching the target, the heuristic function of the A* algorithm can be modified to support multi-target planning. This method takes into account the distances of multiple target points and gives priority to expanding the target closest to the current node. The h(n) in the evaluation function of the A* algorithm draws on the idea of the greedy algorithm. As a heuristic function, it is used to estimate the remaining cost from the current node n to the target node. The introduction of the heuristic function makes the algorithm tend to give priority to those paths that are closer to the target node when selecting a path, thereby speeding up the efficiency of the search process. The specific form of h(n) is usually designed according to the characteristics of the problem. For one-to-many path planning problems, the estimated distances of multiple target points and the distance of the current node can be comprehensively calculated, and the target closest to the current node can be selected for expansion. The core of this method is to dynamically modify the heuristic function of the A* algorithm and use the distance between target points to guide the search. Suppose there are m target points and the current node is n. i , the starting point is S, and the target point set is T=T1,T2,...,T m , then the new heuristic function h′(n i ) does not just estimate the distance from the current node to a single target point, but comprehensively considers the distance from the current node to all targets.
[0081] The heuristic function is modified using a closest-target-first strategy. In this approach, the heuristic function's estimated value is defined as the distance from the current node to the nearest target among all targets. This modification of the heuristic function allows the A* algorithm to prioritize the closest target, ensuring the shortest global path. It also makes the A* algorithm more efficient than the breadth-first search algorithm.
[0082] Example 3
[0083] While the A* algorithm is highly efficient in most situations, its computational complexity remains high when the number of nodes and search space are large, potentially requiring a long computation time. Although heuristic functions offer some optimization benefits, in some complex environments, particularly large, high-dimensional spaces or with complex constraints, the A* algorithm may still need to traverse a large number of nodes. To address this issue, this paper uses the JPS (Jump Point Search) optimization principle to optimize the path search process of the A* algorithm and proposes the optimized JSP_A* algorithm.
[0084] The traditional A* algorithm typically checks each of the current node's neighboring nodes during node expansion and calculates an evaluation function for each of them. This is a major factor affecting the algorithm's computational complexity. JPS optimizes the A* algorithm's expansion strategy, primarily by reducing unnecessary node expansion to accelerate the search process.
[0085] The concept of jumping points is one of the core ideas of JPS. Through the jumping mechanism, the algorithm can jump to farther nodes when there are no obstacles blocking it, instead of expanding each adjacent node one by one, which reduces the search space and improves efficiency. The determination of key nodes is crucial in the jumping process. If a turning point or obstacle is encountered in the path, the jump will automatically stop and return to the key node as the next search point. This mechanism ensures the accuracy of the path while avoiding unnecessary redundant node expansion. For straight-line jumps, when there are no obstacles on the path, JPS can skip the intermediate nodes and jump directly to the next valid node, improving the straight-line search speed and path efficiency. For diagonal jumps, when diagonal travel is allowed, JPS will follow similar jumping rules in the diagonal direction, which enables path planning to effectively reduce the amount of computation in more complex environments.
[0086] like Figure 3Figure 1 shows a schematic diagram of the JPS strategy's jumping mechanism. The green triangle represents the current node, the red asterisk represents the target node, and the grid containing the yellow circle represents the key node in a search. Turning points in a path can be identified by checking whether the difference between the x and y coordinates of the current and target points is zero. Nodes adjacent to obstacles can be identified by simply checking whether all of the current point's neighbors exist.
[0087] The JPS jumping mechanism primarily optimizes the node expansion strategy of the traditional A* algorithm. Unlike the A* algorithm, which expands all adjacent nodes one by one, JPS only places key points in the search process (nodes with obstacles adjacent to them, turning points) into an open list and calculates the cost function. This forms a heuristic update constraint that avoids the expansion of unnecessary nodes. Through the jumping mechanism and the heuristic update principle, the introduction of JPS reduces the computational complexity of the A* algorithm in the path expansion process and improves the algorithm's efficiency when dealing with large-scale maps and complex environments. This can especially accelerate the search process when considering the expansion of a large number of redundant nodes in path planning.
[0088] Example 4
[0089] This experiment's project file uses the C++ programming language to implement the A* algorithm, the improved JPS_A* algorithm, the DWA dynamic window method, and a global path correction strategy based on local targets. This section compares the improved A* algorithm before and after the improvement to verify the improved global path planning efficiency. The autonomous vehicle's navigation and obstacle avoidance capabilities are demonstrated by simulating an autonomous vehicle delivery mission with a destination marked on a map.
[0090] The Rviz software provides the function of locating target points on a global map, such as Figure 4 The following figure shows the destination calibration effect in the Rviz software provided by this application. The tail of the arrow is the calibrated destination location, and the arrow indicates the deflection direction the unmanned vehicle will eventually reach the destination. In this experiment, the Rviz grid map pixel size is 0.5m×0.5m, and the grid size from the starting point to the destination is approximately 600×800.
[0091] When the same destination and the same final deflection direction are marked in the same global map, Figure 5 and Figure 6 Schematic diagrams of the global routes planned using the A* algorithm and the improved JPS_A* algorithm are given respectively.
[0092] This experiment set two destinations. The blue color represents the route generated by the first path planning, and the red color represents the route generated by the second algorithm call. It can be seen that both the A* algorithm and the JPS_A* algorithm in this paper provide global paths to both destinations. However, the path length given by the A* algorithm is 64.8 meters, while the path length given by the JPS_A* algorithm is 59.1 meters, resulting in a path length 8.7% shorter than that of the A* algorithm. Furthermore, it can be seen that the path given by the JPS_A* algorithm is slightly smoother than that of the A* algorithm. These two characteristics are due to the introduction of the JPS jumping mechanism, which causes the algorithm to prefer more direct and closer neighboring points when searching for neighboring points. However, this is not a critical metric for the global path, as the unmanned vehicle will replan some local paths due to dynamic obstacles during actual navigation, which significantly reduces the comparison of the length and smoothness of the two global paths. In this unmanned vehicle logistics delivery system, which is deployed on embedded devices, computational efficiency is the key metric.
[0093] Figure 7 A graph comparing the computational efficiency of the A* algorithm before and after the improvement is presented, showing the global path planning time and the number of grid points retrieved by the improved A* algorithm. This experiment adds a timestamp function to the algorithm to capture the total time taken by both algorithms from the start of path retrieval to the completion of path planning. Furthermore, the retrieval efficiency of each algorithm is evaluated by counting the number of neighboring points in the algorithm's open list. The experiment shows that the A* algorithm takes 2.3 seconds to perform global path planning, searching a total of 206,488 grid points. The improved JPS_A* algorithm takes 1.8 seconds to perform global path planning, searching a total of 154,569 grid points. The comparison shows that the improved JPS_A* algorithm improves the retrieval time and number of grid points retrieved by the A* algorithm by 21.7% and 24.6%, respectively, compared to the A* algorithm. This improvement is significant in terms of computational efficiency. Therefore, the proposed JPS_A* algorithm improves the computational efficiency of the A* algorithm while maintaining its effectiveness. It is more user-friendly for embedded devices and can meet the requirements of the unmanned vehicle logistics distribution system proposed in this paper.
[0094] Example 5
[0095] This application provides an improved JPS-A global path planning system, including:
[0096] The global planning module is used to define the heuristic term in the evaluation function of the modified A* algorithm as the minimum distance from the current node to all target points. Combined with the JPS strategy, it obtains the starting coordinates of the unmanned vehicle, the target point set, and the global map information to perform global path search;
[0097] The local correction module is used for the unmanned vehicle to execute the global path, and the dynamic window method is used to perform local corrections on the global path.
[0098] In addition, the parts of the above technical solutions provided in the embodiments of the present application that are consistent with the implementation principles of the corresponding technical solutions in the prior art are not described in detail to avoid excessive redundancy.
[0099] The above-described specific embodiments further illustrate the objectives, technical solutions, and beneficial effects of the present invention. It should be understood that the above description is merely a specific embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention shall be included within the scope of protection of the present invention.
Claims
1. An improved JPS-A global path planning algorithm, characterized in that: include: Step S100: Define the heuristic term in the evaluation function of the modified A* algorithm as the minimum distance from the current node to all target points, combine the JPS strategy, obtain the starting coordinates of the unmanned vehicle, the target point set and the global map information, and perform a global path search; Step S200: The unmanned vehicle executes the global path and uses the dynamic window method to perform local corrections to the global path.
2. The improved JPS-A global path planning algorithm according to claim 1, characterized in that: The improvements to the modified A* algorithm include: defining the heuristic term in the evaluation function as the minimum distance from the current node to all target points, combining the JPS strategy to skip intermediate nodes, adding only the key nodes of the path to the open list, and recursively jumping to the next key node along the path; the key nodes include turning points and obstacle nodes.
3. The improved JPS-A global path planning algorithm according to claim 2, characterized in that: The evaluation function f(n) of the modified A* algorithm includes an inspiration term h(n) and a cost function g(n), wherein the inspiration term h(n) represents the minimum distance from the current node to all target points, and the cost function g(n) represents the actual path cost from the starting point to the current node.
4. The improved JPS-A global path planning algorithm according to claim 3, characterized in that: The specific method of the global path search is: Step S110: Initialize the open list and the closed list, and add the starting point S to the open list; Step S120: define and modify the A* algorithm; Step S130: If the open list is empty, the algorithm ends; otherwise, the node n with the smallest evaluation function value is taken from the open list and added to the closed list; Step S140: If the current node n belongs to the target point, remove the current node from the target point set. If the target point set is not empty, use the current node as a new starting point and jump to step S130; if the target point set is empty, jump to step S160; Step S150: If the node n is not the target point, then use the JPS strategy to expand the next hop of the current node n; Step S160: Starting from the current node, backtrack to generate a path segment from the starting point to the current target point, and add the path segment to the existing global path; If the target point set is not empty, the current node is used as the new starting point and the process jumps to step S130; otherwise, the algorithm ends and outputs the complete global path.
5. The improved JPS-A global path planning algorithm according to claim 4, characterized in that: The specific method of using the JPS strategy to expand the next hop of the current node n is: Set the speed parameters and sampling time of the unmanned vehicle, sample the speed in different directions based on the current speed of the unmanned vehicle, and generate a simulated trajectory for each sampled speed; calculate the cost function value of each simulated trajectory, select the simulated trajectory with the smallest cost function value as the optimal trajectory and record the direction and speed corresponding to the optimal trajectory, and determine whether the current optimal trajectory can reach the target point. If so, determine the next jump point and end the search; if not, proceed to the next round of speed sampling and trajectory simulation.
6. The improved JPS-A global path planning algorithm according to claim 5, characterized in that: The specific method for generating a simulated trajectory for each sampled speed is as follows: based on each sampled speed, a predicted trajectory is generated with the current node as the starting point. For each predicted trajectory, it is determined whether there are obstacle nodes and turning points. If so, the trajectory is invalid. If not, the intermediate node is skipped and the next jump point in the horizontal, vertical or diagonal direction is directly jumped to.
7. The improved JPS-A global path planning algorithm according to claim 6, characterized in that: The specific method of using the dynamic window method to perform local correction on the global path is: Step S210: Based on the real-time position of the unmanned vehicle, a dynamic window method is used to sample the local area to obtain speed and direction samples and evaluate their evaluation indicators; Step S220: Select the speed and direction with the best evaluation index, generate a local path, and merge it with the global path; Step S230: If the local path is blocked by an obstacle node or the global path deviation is greater than or equal to the deviation threshold, global replanning is triggered to update the local path from the current position to the target point.
8. An improved JPS-A global path planning system, which is implemented based on an improved JPS-A global path planning algorithm according to any one of claims 1 to 7, characterized in that: include: The global planning module is used to define the heuristic term in the evaluation function of the modified A* algorithm as the minimum distance from the current node to all target points. Combined with the JPS strategy, it obtains the starting coordinates of the unmanned vehicle, the target point set, and the global map information to perform global path search; The local correction module is used for the unmanned vehicle to execute the global path, and the dynamic window method is used to perform local corrections on the global path.