A ground feature fusion surface vector path planning method suitable for special vehicles

By identifying and fusing terrain feature layers and using Dijkstra's algorithm to generate the shortest path, the path planning problem for special vehicles in complex surface vector scenarios was solved, achieving accurate and efficient path planning.

CN119756401BActive Publication Date: 2025-11-18CHANGGUANG SATELLITE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411921642.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-25
Publication Date
2025-11-18
Estimated Expiration
2044-12-25

AI Technical Summary

Technical Problem

Existing path planning algorithms are mainly designed for line vector scenarios of conventional vehicles, and cannot meet the needs of special vehicles in complex surface vector scenarios, especially the path planning requirements for flexible movement in varied terrain outside of hardened roads.

Method used

By acquiring the characteristics of the user-selected vehicle, identifying and fusing the ground feature recognition layer, generating a polygon vector layer, and using the Dijkstra algorithm to calculate the shortest path, the shortest path is generated and converted into latitude and longitude coordinates, enabling precise path planning for special vehicles in complex environments.

Benefits of technology

It enables precise and efficient route planning for special vehicles in complex environments, accurately utilizes terrain features and adapts to the specific needs of different vehicles, ensuring route feasibility, safety and driving efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119756401B_ABST
    Figure CN119756401B_ABST
Patent Text Reader

Abstract

The application relates to a ground object fused surface vector path planning method suitable for special vehicles, which comprises the following steps: reading and fusing a ground object classification layer according to the driving capability of a user-selected special vehicle; loading a layer fused vector file; obtaining a user-specified starting point A and ending point B; traversing each vector block in the fused vector; finding a vector block containing both A and B and gridizing the vector block; constructing a dijkstra dictionary for the grid points; finding the nearest starting and ending points in the vector block; and performing single-source dijkstra shortest path searching between the starting and ending points. The ground object fused surface vector path planning method suitable for special vehicles can intelligently adapt to the specific requirements of different vehicles, so that precise and efficient path planning can be realized in a complex ground object environment.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of path planning, in particular to a ground object fusion surface vector path planning method suitable for special vehicles. BACKGROUND

[0002] Current line vector path planning algorithms mainly focus on conventional vehicles such as cars, buses and trains that travel on established road networks. These algorithms can effectively utilize the linear characteristics of road networks to plan optimal paths. However, for special vehicles such as tanks and armored vehicles, they not only can travel on hardened road surfaces, but also have the ability to navigate in complex and variable terrains such as lawns, farmland, shallow water areas and rugged mountains. Therefore, traditional line vector path planning methods cannot meet the needs of such special vehicles, and more complex and detailed surface vector path planning research is needed.

[0003] In practical application environments, the range of activities of special vehicles far exceeds the limitations of conventional road networks. They can freely move in special vector layers composed of various ground features. Therefore, before path planning, we first need to conduct detailed ground feature identification, including but not limited to the boundaries of farmland, the depth and range of shallow water areas, the location and type of obstacles, etc., which will be accurately depicted in the form of vector data. After completing the ground feature identification, the next step is to filter and fuse the identified vector layers according to the specific characteristics of the special vehicle (such as off-road capability, water depth, obstacle avoidance requirements, etc.). This process aims to eliminate areas that cannot be passed due to vehicle performance limitations, while integrating adjacent passable areas to form a continuous and passable fusion surface vector layer that meets the vehicle's passable conditions. This layer not only contains all possible paths that the vehicle can safely travel, but also reflects factors such as terrain undulations and surface hardness that may affect travel efficiency and safety. Based on the construction of the fusion surface vector layer, the path planning algorithm will work on it, according to the user-specified starting and ending points, combined with the characteristics of the vehicle, to calculate an optimal path from the starting point to the ending point. This process not only requires the algorithm to find the shortest path, but also needs to consider the feasibility, safety and efficiency of the path to ensure that the planned path not only meets the physical limitations of the vehicle, but also effectively avoids potential dangerous areas.

[0004] Since most existing path planning algorithms are designed for road-based line vector scenarios, and there are relatively few path planning algorithms for complex surface vector scenarios, there is an urgent need to develop a new type of path planning method that can efficiently process surface vector data and has high flexibility and adaptability. SUMMARY

[0005] The present application aims to solve the technical problem in the prior art that the path planning method is only applicable to line vector planning of conventional vehicles and is not suitable for face vector planning of special vehicles, and provides a ground object fusion face vector path planning method applicable to special vehicles.

[0006] To solve the above technical problems, the technical scheme of the present application is as follows:

[0007] A ground object fusion face vector path planning method applicable to special vehicles, comprising the following steps:

[0008] Step 1: Obtain the vehicle selected by the user;

[0009] Step 2: According to the characteristics of the vehicle, identify the ground objects that can be traveled, read the ground object identification layer for fusion, and store the fusion result as a shapefile file;

[0010] Step 3: Load the vector file of the layer fusion result;

[0011] Step 4: Obtain the starting point A and the ending point B specified by the user;

[0012] Step 5: Traverse each geometry vector block in the vector file;

[0013] Step 6: If there is a vector block that satisfies that A and B are both in the vector block, go to step 7; otherwise, prompt that there is no path between A and B, and the program ends;

[0014] Step 7: Record the vector block b_k as LP, and set the value of the grid granularity GRID_DIS;

[0015] Step 8: For the vector block LP, generate its four-edge boundary list BL;

[0016] Step 9: According to the four-edge boundary list BL, generate a GLC matrix for recording the longitude and latitude coordinates corresponding to the grid points;

[0017] Step 10: According to the GLC matrix, calculate in parallel whether each point is in the vector block LP to generate a corresponding GCCI matrix;

[0018] Step 11: According to the GLC and GCCI matrices, screen the effective grid points effective_points;

[0019] Step 12: Maintain calculated_distance for storing the distance values that have been calculated to reduce the calculation time;

[0020] Step 13: Traverse the points in effective_points, record the point as start_point, and record the position start_pos;

[0021] Step 14: traverse the other points in effective_points, denoted as end_point, and record the position end_pos;

[0022] Step 15: determine whether the distance between (start_pos, end_pos) has been calculated. If yes, go to Step 14 and continue to traverse the other points in effective_points; otherwise, go to Step 16 and calculate the distance between start_point and end_point;

[0023] Step 16: establish a line between start_point and end_point, denoted as se_line;

[0024] Step 17: determine whether the vector block LP completely contains se_line. If not, go to Step 18; if yes, go to Step 19;

[0025] Step 18: record (start_pos, end_pos) and (end_pos, start_pos) as None, update calculated_distance, and go to Step 14 to continue to traverse the other points in effective_points;

[0026] Step 19: calculate the distance value and update the values of (start_pos, end_pos) and (end_pos, start_pos) in calculated_distance;

[0027] Step 20: update the value of dijkstra dictionary with key start_pos and value end_pos as the distance value calculated in Step 19;

[0028] Step 21: if there are still unvisited points in effective_points for end_point, go to Step 14 to continue to traverse the other points in effective_points; otherwise, go to Step 22 to check the traversal of start_point;

[0029] Step 22: if there are still unvisited points in effective_points for start_point, go to Step 13 to continue to traverse the other points in effective_points; otherwise, go to Step 23;

[0030] Step 23: Once the dijkstra_dict is constructed, it returns a dictionary, where the key is the pos calculated for each effective_point, and the value is the distance between it and other effective_points;

[0031] Step 24: Find the grid points that are closest to the starting point A and the ending point B, respectively, and denot them as start_number and end_number;

[0032] Step 25: Based on Dijkstra's algorithm, calculate the shortest path path and path length distance from start_number to end_number in dijkstra_dict;

[0033] Step 26: Convert the paths in the path to latitude and longitude coordinate pairs;

[0034] Step 27: Add the starting point A and the ending point B to the beginning and end of the path coordinate list respectively;

[0035] Step 28: Return the list of shortest path lengths and shortest path coordinate pairs. Path planning is now complete.

[0036] In the above technical solution, step 1 is specifically as follows: if the vehicle is in the database, proceed to step 2; otherwise, input the walkable scene, determine the relationship between ground features based on the walkable scene, and then proceed to step 2.

[0037] In the above technical solution, step 2 includes the following specific steps:

[0038] Step 2-1: Merge Vector Layers: Based on the mode of transportation, determine the layers that need to be merged, and merge the vector blocks of multiple layers;

[0039] Step 2-2: Vector Layer Blending: Because overlapping vector blocks will occur after merging layers, the borders within the vector blocks will be eliminated.

[0040] In the above technical solution, step 5 specifically involves the following steps:

[0041] Divide all vector layers into several regions, assuming there are m regions, denoted as b_1, b_2, ..., b_m.

[0042] In the above technical solution, step 6 specifically includes the following steps:

[0043] Step 6-1: If there exists a k-th region block that satisfies that the starting point A is in b_k, go to step 6-3; otherwise, go to step 6-2; 1≤k≤m;

[0044] Step 6-2: output prompt: unable to plan route, reason: start point is not in walkable range! End of program;

[0045] Step 6-3: end point B is in b_k, go to step 6-5; otherwise go to step 6-4;

[0046] Step 6-4: output prompt: unable to plan route, reason: no walkable path between start point and end point! End of program;

[0047] Step 6-5: perform path planning between AB in b_k, end.

[0048] In the above technical solution, in step 10, the GCCI matrix is composed of 0 and 1, and if the longitude and latitude of the grid point is in the vector block LP, it is recorded as 0, otherwise it is recorded as 1.

[0049] In the above technical solution, the effective grid point in step 11 is: the point whose longitude and latitude are in the vector block LP.

[0050] In the above technical solution, in step 12, calculated_distance is initialized as empty, and is updated after calculating each distance.

[0051] The present application has the following beneficial effects:

[0052] The ground feature fusion surface vector path planning method suitable for special vehicles of the present application not only can accurately utilize ground feature characteristics, but also can intelligently adapt to specific needs of different vehicles, so as to realize accurate and efficient path planning in various complex environments. BRIEF DESCRIPTION OF DRAWINGS

[0053] The present application will be further described in detail below in combination with the drawings and specific embodiments.

[0054] Figure 1 The flowchart of the ground feature fusion surface vector path planning method suitable for special vehicles of the present application.

[0055] Figure 2 The flowchart of the path planning preprocessing stage.

[0056] Figure 3 The flowchart of the layer merging.

[0057] Figure 4 The effect diagram of the vector layer fusion.

[0058] Figure 5 The effect diagram of the path planning allowing walking in any direction. DETAILED DESCRIPTION

[0059] The inventive idea of the present application is:

[0060] The present application is a method for path planning of ground object fusion surface vector suitable for special vehicles. First, the user-specified vehicle is read, and the ground object classification layer is filtered and fused according to the vehicle type, so as to obtain the overall surface vector required for path planning. Then, the user-specified starting point and ending point are obtained, and it is judged in which vector block of the surface vector. Then, the vector block is gridded, and the vector block is discretely sampled to generate a dijkstra dictionary between each grid point, and the nearest starting and ending grid points from the starting point and the ending point are found. Finally, the shortest path between the starting and ending grid points is found based on the single-source dijkstra method, the shortest path is converted into latitude and longitude, and is returned to the user.

[0061] As shown in Figure 1 , the method for path planning of ground object fusion surface vector suitable for special vehicles of the present application comprises the following steps:

[0062] Step 1: Obtain the user-selected vehicle; as shown in Figure 2 , the specific steps are:

[0063] If the vehicle is in the database, go to step 2, otherwise prompt the user to input the walkable scene, determine the ground object relationship according to the walkable scene, and then go to step 2.

[0064] Step 2: According to the characteristics of the vehicle, identify the ground object that can be traveled, read the ground object identification layer for fusion, and store the fusion result as a shapefile file; as shown in Figure 3 , the specific steps include:

[0065] Step 2-1: Vector layer merging: according to the vehicle, determine the layers that need to be merged, and merge the vector blocks of multiple layers; the vector layer fusion effect is as shown in Figure 4 ;

[0066] Step 2-2: Vector layer fusion: after layer merging, the overlapping of vector blocks will occur, and the border in the vector will be eliminated.

[0067] Step 3: Load the layer fusion result vector file;

[0068] Step 4: Obtain the user-specified starting point A and ending point B;

[0069] Step 5: Traverse each geometry vector block in the vector file; the specific steps are:

[0070] All vector layers are divided into several area blocks, assuming that there are m area blocks, which are denoted as b_1, b_2, …, b_m.

[0071] Step 6: There is a certain vector block, which satisfies AB in the vector block, go to step 7; otherwise, prompt that there is no path between AB, and the program ends; the specific steps include:

[0072] Step 6-1: There is a kth(1≤k≤m) area block, which satisfies the starting point A in b_k, go to step 6-3; otherwise, go to step 6-2;

[0073] Step 6-2: Output the prompt "Unable to plan route, reason: starting point is not within the walkable range!", and the program ends;

[0074] Step 6-3: The end point B is in b_k, go to step 6-5; otherwise, go to step 6-4;

[0075] Step 6-4: Output the prompt "Unable to plan route, reason: there is no walkable path between the starting point and the end point!", and the program ends;

[0076] Step 6-5: Perform path planning between AB in b_k, and end.

[0077] Step 7: Record the vector block b_k as LP(little_polygon), and set the value of the grid granularity GRID_DIS;

[0078] Step 8: For the vector block LP, generate its four-boundary list BL(bound_list);

[0079] Step 9: According to the four-boundary list BL, generate the GLC(grid_latitudelongitude_coordinates) matrix, which is used to record the longitude and latitude coordinates corresponding to each grid point;

[0080] Step 10: According to the GLC matrix, generate the corresponding GCCI(grid_check_coordinates_in_LP) matrix by parallel calculation to determine whether each point is in the vector block LP; the GCCI matrix is composed of 0 and 1, and if the longitude and latitude of the grid point are in the vector block LP, it is recorded as 0, otherwise as 1.

[0081] Step 11: According to the GLC and GCCI matrices, screen the effective points; the grid point whose longitude and latitude are in the vector block LP is an effective grid point.

[0082] Step 12: Maintain calculated_distance, which is used to store the distance values that have been calculated to reduce calculation time; calculated_distance is initialized as empty, which is used to record the distance values that have been calculated, and will be updated after calculating each distance, thereby avoiding repeated calculation.

[0083] Step 13: Traverse the points in effective_points, record as start_point, and record the position start_pos at the same time;

[0084] Step 14: Traverse the other points in effective_points, record as end_point, and record the position end_pos at the same time;

[0085] Step 15: Judge whether the distance of (start_pos, end_pos) has been calculated. If yes, go to Step 14 to continue to traverse the other points in effective_points; otherwise, go to Step 16 to calculate the distance between start_point and end_point;

[0086] Step 16: Establish the line between start_point and end_point, record as se_line;

[0087] Step 17: Judge whether the vector block LP contains se_line completely. If not, go to Step 18; if yes, go to Step 19;

[0088] Step 18: Record (start_pos, end_pos), and the distance of (end_pos, start_pos) is None. Update calculated_distance, and go to Step 14 to continue to traverse the other points in effective_points;

[0089] Step 19: Calculate the distance value, and update the values of (start_pos, end_pos) and (end_pos, start_pos) in calculated_distance;

[0090] Step 20: Update the value of the key start_pos and the value end_pos in dijkstra dictionary as the distance value calculated in Step 19;

[0091] Step 21: If there are still unvisited points in effective_points for end_point, go to Step 14 to continue to traverse the other points in effective_points; otherwise, go to Step 22 to check the traversal of start_point;

[0092] Step 22: for start_point, there are still unvisited points in effective_points, then go to step 13 to continue to traverse other points in effective_points; otherwise go to step 23;

[0093] Step 23: dijkstra_dict is completed, return the dictionary, wherein the key is the pos calculated for each effective_points, and the value is the distance value from other effective_points;

[0094] Step 24: find the grid points closest to the start point A and the end point B respectively, and mark them as start_number and end_number;

[0095] Step 25: according to the dijkstra algorithm, calculate the shortest path path and path length distance from start_number to end_number in dijkstra_dict;

[0096] Step 26: convert the path in path to a latitude and longitude coordinate pair;

[0097] Step 27: add the start point A and the end point B to the head and tail of the path coordinate list respectively;

[0098] Step 28: return the shortest path length and the shortest path coordinate pair list, and the path planning is completed. The path planning effect is shown in Figure 5

[0099] The ground feature fusion surface vector path planning method suitable for special vehicles of the present application can not only accurately utilize the ground feature, but also intelligently adapt to the specific needs of different vehicles, so as to realize accurate and efficient path planning in various complex environments.

[0100] Obviously, the above embodiments are only examples for clearly illustrating, and are not limited to the implementation. For ordinary skilled in the art, other different forms of changes or variations can be made on the basis of the above description. Here, it is not necessary and impossible to enumerate all the implementation. The obvious changes or variations derived therefrom are still within the protection scope of the present application.​

Claims

1. A method for surface vector path planning using ground feature fusion applicable to special vehicles, characterized in that, Includes the following steps: Step 1: Obtain the user's selected mode of transportation; Step 2: Based on the characteristics of the vehicle, identify the movable terrain features, read the terrain feature identification layer and fuse them, and store the fusion result as a shapefile file; Step 3: Load the vector file containing the layer blending results; Step 4: Obtain the user-specified starting point A and ending point B; Step 5: Traverse each geometry vector block in the vector file; Step 6: If a vector block exists that satisfies the condition that A and B are both in the same vector block, proceed to Step 7; otherwise, indicate that there is no path between A and B, and the program ends. Step 7: Denote the vector block b_k as LP, and set the value of the mesh granularity GRID_DIS; Step 8: For the vector block LP, generate its four-boundary list BL; Step 9: Generate a GLC matrix based on the four-boundary list BL to record the latitude and longitude coordinates of the points in the grid; Step 10: Based on the GLC matrix, perform parallel calculations to determine whether each point is in the vector block LP, and generate the corresponding GCCI matrix; Step 11: Based on the GLC and GCCI matrices, filter the effective grid points; Step 12: Maintain calculated_distance to store the calculated distance values ​​to reduce computation time; Step 13: Traverse the points in effective_points, denoted as start_point, and record their positions start_pos; Step 14: Traverse the other points in effective_points, mark them as end_point, and record their positions as end_pos; Step 15: Determine whether the distance pair (start_pos, end_pos) has been calculated. If so, go to step 14 and continue traversing other points in effective_points; otherwise, go to step 16 and calculate the distance between start_point and end_point. Step 16: Establish a connection between start_point and end_point, denoted as se_line; Step 17: Determine whether the vector block LP completely contains se_line. If it does not, proceed to step 18; if it does, proceed to step 19. Step 18: Record (start_pos, end_pos), the distance between (end_pos, start_pos) is None, update calculated_distance, go to step 14, and continue to traverse other points in effective_points; Step 19: Calculate the distance value and update the values ​​of (start_pos, end_pos) and (end_pos, start_pos) in calculated_distance; Step 20: Update the Dijkstra dictionary so that the key start_pos and value end_pos are the distance values ​​calculated in step 19; Step 21: If there are still unvisited points in effective_points for end_point, go to step 14 and continue traversing other points in effective_points; otherwise, go to step 22 and check the traversal status of start_point. Step 22: If there are still unvisited points in effective_points for start_point, go to step 13 and continue traversing other points in effective_points; otherwise, go to step 23. Step 23: Once the dijkstra_dict is constructed, it returns a dictionary, where the key is the pos calculated for each effective_point, and the value is the distance between it and other effective_points; Step 24: Find the grid points that are closest to the starting point A and the ending point B, respectively, and denot them as start_number and end_number; Step 25: Based on Dijkstra's algorithm, calculate the shortest path path and path length distance from start_number to end_number in dijkstra_dict; Step 26: Convert the paths in the path to latitude and longitude coordinate pairs; Step 27: Add the starting point A and the ending point B to the beginning and end of the path coordinate list respectively; Step 28: Return the list of shortest path lengths and shortest path coordinate pairs. Path planning is now complete.

2. The method for surface vector path planning based on feature fusion applicable to special vehicles according to claim 1, characterized in that, Step 1 is as follows: If the vehicle is in the database, proceed to step 2; otherwise, input the walkable scene, determine the relationship between ground features based on the walkable scene, and then proceed to step 2.

3. The method for surface vector path planning based on feature fusion applicable to special vehicles according to claim 1, characterized in that, Step 2 includes the following specific steps: Step 2-1: Merge Vector Layers: Based on the mode of transportation, determine the layers that need to be merged, and merge the vector blocks of multiple layers; Step 2-2: Vector Layer Blending: Because overlapping vector blocks will occur after merging layers, the borders within the vector blocks will be eliminated.

4. The method for surface vector path planning based on feature fusion applicable to special vehicles according to claim 1, characterized in that, The specific steps of step 5 are as follows: Divide all vector layers into several regions, assuming there are m regions, denoted as b_1, b_2, ..., b_m.

5. The method for surface vector path planning based on ground feature fusion applicable to special vehicles according to claim 4, characterized in that, Step 6 includes the following specific steps: Step 6-1: If there exists a k-th region block that satisfies that the starting point A is in b_k, go to step 6-3; otherwise, go to step 6-2; 1≤k≤m; Step 6-2: Output message: Unable to plan route, reason: starting point is not within walkable range!, program ends; Step 6-3: If the endpoint B is in b_k, proceed to step 6-5; otherwise, proceed to step 6-4. Step 6-4: Output message: Unable to plan route, reason: No walkable path between the start and end points!, program ends; Step 6-5: Perform path planning for AB between b_k, then end.

6. The method for surface vector path planning based on feature fusion applicable to special vehicles according to claim 1, characterized in that, In step 10, the GCCI matrix consists of 0s and 1s. If the latitude and longitude of the grid point are in the vector block LP, it is recorded as 0; otherwise, it is recorded as 1.

7. The method for surface vector path planning based on feature fusion applicable to special vehicles according to claim 1, characterized in that, The valid grid points in step 11 are: the points in the vector block LP where the latitude and longitude of the grid points are located.

8. The method for surface vector path planning based on feature fusion applicable to special vehicles according to claim 1, characterized in that, In step 12, calculated_distance is initialized to empty, and is updated after each distance is calculated.

Citation Information

Patent Citations

  • Battlefield situation information fused vehicle path planning method

    CN112231428A

  • Special vehicle automatic driving path planning method in unstructured environment

    CN117346805A