Ground feature fusion surface vector path planning method suitable for special vehicles

By using a surface vector path planning method that integrates terrain features, the path planning problem for special vehicles in complex terrain is solved, generating the optimal path that adapts to the characteristics of the vehicle and avoids dangerous areas.

CN119756401AActive Publication Date: 2025-04-04CHANGGUANG SATELLITE TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411921642.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-25
Publication Date
2025-04-04
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 path planning needs of special vehicles in complex surface vector scenarios, especially for special vehicles that flexibly move through varied terrain outside of hardened roads.

Method used

The method of surface vector path planning with ground features is adopted. By identifying and integrating feasible ground features of special vehicles, a surface vector layer is generated. The shortest path is calculated by combining the Dijkstra algorithm to generate the optimal path from the starting point to the destination.

Benefits of technology

It enables precise and efficient route planning for special vehicles in complex environments, conforming to the characteristics of the vehicles and avoiding potentially dangerous areas.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119756401A_ABST
    Figure CN119756401A_ABST
Patent Text Reader

Abstract

The invention relates to a ground feature fusion surface vector path planning method suitable for a special vehicle, and the method comprises the following steps: reading and fusing ground feature classification layers according to the driving capability of the special vehicle selected by a user; loading a layer fusion vector file; acquiring a starting point A and an ending point B specified by a user; traversing each vector block in the fusion vector; finding a vector block containing A and B at the same time, and meshing the vector block; constructing a dijkstra dictionary for the grid points; finding a starting point and an ending point which are closest to the AB in the vector block; and single-source dijkstra shortest path searching between the starting point and the ending point is carried out. The ground feature fusion surface vector path planning method suitable for the special vehicles can intelligently adapt to specific requirements of different vehicles, so that accurate and efficient path planning is realized in a complex ground feature environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] Current line vector path planning algorithms mainly focus on conventional vehicles that travel on established road networks, such as cars, buses, and trains. These algorithms can effectively use the linear characteristics of the road network to plan the optimal path. However, for special vehicles such as tanks and armored vehicles, they can not only travel on hardened roads, but also have the ability to flexibly shuttle in complex and changeable terrains, such as lawns, farmlands, shallow water areas, and even rugged mountains. Therefore, traditional line vector path planning methods can no longer meet the needs of such special vehicles, and more complex and sophisticated surface vector path planning research is needed.

[0003] In actual application environments, the range of special vehicles is far beyond the limits of conventional road networks. They can move freely in special vector layers composed of various ground features. Therefore, before we carry out path planning, we first need to conduct detailed ground feature identification of the target area, including but not limited to the boundaries of farmland, the depth and range of shallow waters, 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 identified vector layers need to be screened and fused according to the specific characteristics of special vehicles (such as off-road capability, wading depth, obstacle avoidance requirements, etc.). This process aims to eliminate those areas that are inaccessible due to vehicle performance limitations, and integrate adjacent passable areas to form a continuous fusion surface vector layer that meets the conditions for vehicle traffic. This layer not only contains all possible paths that vehicles can travel safely, but also reflects factors such as terrain undulations and surface hardness that may affect driving efficiency and safety. On the basis of constructing the fusion surface vector layer, the path planning algorithm will work on this basis, and calculate an optimal path from the starting point to the end point based on the user-specified starting point and end point, combined with the characteristics of the vehicle. This process not only requires the algorithm to be able to find the shortest path, but also needs to consider the feasibility, safety and driving 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] Given that most of the existing path planning algorithms are aimed at road-type line vector scenes, and there are relatively few path planning algorithms for complex surface vector scenes, there is an urgent need to develop a new path planning method that can efficiently process surface vector data and has high flexibility and adaptability. Summary of the invention

[0005] The present invention aims to solve the technical problem that the path planning method in the prior art is only applicable to the line vector planning of conventional vehicles but not to the surface vector planning of special vehicles, and provides a surface vector path planning method integrating terrain and objects applicable to special vehicles.

[0006] In order to solve the above technical problems, the technical solutions of the present invention are as follows:

[0007] A method for ground object fusion surface vector path planning applicable to special vehicles comprises the following steps:

[0008] Step 1: Get the transportation selected by the user;

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

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

[0011] Step 4: Get the starting point A and the end 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 both AB and the vector block, go to step 7; otherwise, it prompts that there is no path between AB 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-boundary list BL;

[0016] Step 9: Generate the GLC matrix based on the four-boundary list BL to record the longitude and latitude coordinates corresponding to the midpoints of the grid;

[0017] Step 10: Based on the GLC matrix, parallel calculation is performed to determine whether each point is in the vector block LP, and the corresponding GCCI matrix is ​​generated;

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

[0019] Step 12: Maintain calculated_distance to store the calculated distance values ​​to reduce calculation time;

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

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

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

[0023] Step 16: Create 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), the distance of (end_pos, start_pos) is None, update calculated_distance, go to step 14, and continue to traverse 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 Dijkstra dictionary, with the key start_pos and the value end_pos being the distance value calculated in step 19;

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

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

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

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

[0032] 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;

[0033] Step 26: Convert the path in path into a longitude and latitude coordinate pair;

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

[0035] Step 28: Return the shortest path length and the shortest path coordinate pair list, and the path planning is completed.

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

[0037] In the above technical solution, the specific steps of step 2 include:

[0038] Step 2-1: Vector layer merging: Determine the layers to be merged based on the means of transportation, and merge the vector blocks of multiple layers;

[0039] Step 2-2: Vector layer fusion: Since the vector blocks will overlap after the layers are merged, the borders within the vectors are eliminated.

[0040] In the above technical solution, the specific steps of step 5 are:

[0041] Divide all vector layers into several area blocks. Assuming there are m area blocks in total, they are recorded as b_1, b_2, …, b_m.

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

[0043] Step 6-1: If there is a k-th region block, and 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: starting point is not within the walkable range! , the program ends;

[0045] Step 6-3: If the 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 the route, reason: There is no traversable path between the starting point and the end point! , the program ends;

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

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

[0049] In the above technical solution, the valid grid points in step 11 are: points whose longitude and latitude of the grid points are in the vector block LP.

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

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

[0052] The terrain-integrated surface vector path planning method applicable to special vehicles of the present invention can not only accurately utilize terrain features, but also intelligently adapt to the specific needs of different vehicles, thereby realizing accurate and efficient path planning in various complex environments. BRIEF DESCRIPTION OF THE DRAWINGS

[0053] The present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments.

[0054] Figure 1 The figure is a flow chart of the method for planning a path of a terrain-fused surface vector applicable to special vehicles according to the present invention.

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

[0056] Figure 3 Merge flowchart for layers.

[0057] Figure 4 This is the vector layer fusion effect diagram.

[0058] Figure 5 The effect diagram of path planning is to allow walking in any direction. DETAILED DESCRIPTION

[0059] The inventive concept of the present invention is:

[0060] The present invention is a method for planning a path for a special vehicle by integrating a surface vector with a feature. First, the vehicle specified by the user is read, and the feature classification layer is screened and integrated according to the type of vehicle, so as to obtain the overall surface vector required for path planning. Then, the starting point and the end point specified by the user are obtained, and it is determined which vector block they are in the surface vector. Then, the vector block is gridded, the vector block is discretely sampled, and the Dijkstra dictionary between each grid point is generated, and the starting and ending grid points closest to the starting and ending points are found at the same time. Finally, the shortest path between the starting and ending grid points is searched based on the single-source Dijkstra method, and the generated shortest path is converted into longitude and latitude and returned to the user.

[0061] like Figure 1 As shown, the surface vector path planning method for integrating ground objects and applicable to special vehicles of the present invention comprises the following steps:

[0062] Step 1: Get the transportation selected by the user; Figure 2 As shown, the specific steps are:

[0063] If the vehicle is in the database, go to step 2; otherwise, prompt the user to enter a drivable scene, determine the relationship between the ground and objects based on the drivable scene, and then go to step 2.

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

[0065] Step 2-1: Vector layer merging: Determine the layers to be merged based on the transportation, and merge the vector blocks of multiple layers; the vector layer fusion effect is as follows Figure 4 As shown;

[0066] Step 2-2: Vector layer fusion: Since the vector blocks will overlap after the layers are merged, the borders within the vectors are eliminated.

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

[0068] Step 4: Get the starting point A and the end point B specified by the user;

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

[0070] Divide all vector layers into several area blocks. Assuming there are m area blocks in total, they are recorded as b_1, b_2, …, b_m.

[0071] Step 6: If there is a vector block that satisfies both AB and the vector block, go to step 7; otherwise, it prompts that there is no path between AB and the program ends; the specific steps include:

[0072] Step 6-1: If there is a kth (1≤k≤m) region block, and the starting point A is in b_k, go to step 6-3; otherwise, go to step 6-2;

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

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

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

[0076] Step 6-5: Perform path planning for AB between 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 lists BL (bound_list);

[0079] Step 9: Generate the GLC (grid_latitudelongitude_coordinates) matrix based on the four-boundary list BL to record the longitude and latitude coordinates corresponding to the midpoint of the grid;

[0080] Step 10: Based on the GLC matrix, parallel calculation is performed to determine whether each point is in the vector block LP, and the corresponding GCCI (grid_check_coordinates_in_LP) matrix is ​​generated; the GCCI matrix consists of 0 and 1. If the longitude and latitude of the grid point are in the vector block LP, it is recorded as 0, otherwise it is recorded as 1.

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

[0082] Step 12: Maintain calculated_distance to store the calculated distance values ​​to reduce calculation time; calculated_distance is initialized to empty, it is used to record the calculated distance values, and calculated_distance will be updated after each distance is calculated to avoid repeated calculations.

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

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

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

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

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

[0088] Step 18: Record (start_pos, end_pos), the distance of (end_pos, start_pos) is None, update calculated_distance, go to step 14, and continue to traverse 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 Dijkstra dictionary, with the key start_pos and the value end_pos being the distance value calculated in step 19;

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

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

[0093] Step 23: After dijkstra_dict is constructed, a dictionary is returned, where the key is the pos calculated for each effective_points, and the value is the distance between it and other effective_points;

[0094] Step 24: Find the grid points closest to the starting point A and the end point B, respectively, and record 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 into a longitude and latitude coordinate pair;

[0097] Step 27: Add the starting 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 as follows Figure 5 shown.

[0099] The terrain-integrated surface vector path planning method applicable to special vehicles of the present invention can not only accurately utilize terrain features, but also intelligently adapt to the specific needs of different vehicles, thereby realizing accurate and efficient path planning in various complex environments.

[0100] Obviously, the above embodiments are merely examples for the purpose of clear explanation, and are not intended to limit the implementation methods. For those skilled in the art, other different forms of changes or modifications can be made based on the above description. It is not necessary and impossible to list all the implementation methods here. The obvious changes or modifications derived therefrom are still within the scope of protection of the invention.

Claims

1. A method for terrain fusion surface vector path planning suitable for special vehicles, characterized in that: The following steps are involved: Step 1: Get the transportation selected by the user; Step 2: According to the characteristics of the vehicle, identify the objects that can be moved, read the object recognition layer for fusion, and store the fusion result as a shapefile file; Step 3: Load the layer fusion result vector file; Step 4: Get the starting point A and the end point B specified by the user; Step 5: Traverse each geometry vector block in the vector file; Step 6: If there is a vector block that satisfies both AB and the vector block, go to step 7; otherwise, it prompts that there is no path between AB and the program ends; Step 7: Record the vector block b_k as LP and set the value of the grid granularity GRID_DIS; Step 8: For the vector block LP, generate its four-boundary list BL; Step 9: Generate the GLC matrix based on the four-boundary list BL to record the longitude and latitude coordinates corresponding to the midpoints of the grid; Step 10: Based on the GLC matrix, parallel calculation is performed to determine whether each point is in the vector block LP, and the corresponding GCCI matrix is ​​generated; Step 11: According to the GLC and GCCI matrices, screen the effective grid points effective_points; Step 12: Maintain calculated_distance to store the calculated distance values ​​to reduce calculation time; Step 13: Traverse the points in effective_points, record them as start_point, and record the position start_pos; Step 14: Traverse other points in effective_points, record them as end_point, and record the position end_pos; Step 15: Determine whether the distance pair (start_pos, end_pos) has been calculated. If so, go to step 14 and continue to traverse other points in effective_points; otherwise, go to step 16 and calculate the distance between start_point and end_point; Step 16: Create a line between start_point and end_point, denoted as se_line; Step 17: Determine whether the vector block LP completely contains se_line. If not, go to step 18; if yes, go to step 19; Step 18: Record (start_pos, end_pos), the distance of (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, with the key start_pos and the value end_pos being the distance value calculated in step 19; Step 21: For end_point, if there are still unvisited points in effective_points, go to step 14 and continue to traverse other points in effective_points; otherwise go to step 22 and check the traversal status of start_point; Step 22: For start_point, if there are still unvisited points in effective_points, go to step 13 and continue to traverse other points in effective_points; otherwise, go to step 23; Step 23: After dijkstra_dict is constructed, a dictionary is returned, where the key is the pos calculated for each effective_points, and the value is the distance between it and other effective_points; Step 24: Find the grid points closest to the starting point A and the end point B, respectively, and record them as start_number and end_number; 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; Step 26: Convert the path in path into a longitude and latitude coordinate pair; Step 27: Add the starting point A and the end point B to the head and tail of the path coordinate list respectively; Step 28: Return the shortest path length and the shortest path coordinate pair list, and the path planning is completed.

2. The method for terrain-object fusion surface vector path planning applicable to special vehicles according to claim 1 is characterized in that: Step 1 is specifically as follows: if the vehicle is in the database, go to step 2; otherwise, input a walkable scene, determine the relationship between the ground and objects according to the walkable scene, and then go to step 2.

3. The method for terrain-object fusion surface vector path planning applicable to special vehicles according to claim 1 is characterized in that: The specific steps of step 2 include: Step 2-1: Vector layer merging: Determine the layers to be merged based on the means of transportation, and merge the vector blocks of multiple layers; Step 2-2: Vector layer fusion: Since the vector blocks will overlap after the layers are merged, the borders within the vectors are eliminated.

4. The method for terrain-object fusion surface vector path planning applicable to special vehicles according to claim 1, characterized in that: The specific steps of step 5 are: Divide all vector layers into several area blocks. Assuming there are m area blocks in total, they are recorded as b_1, b_2, …, b_m.

5. The method for terrain-object fusion surface vector path planning applicable to special vehicles according to claim 4 is characterized in that: Step 6 The specific steps include: Step 6-1: If there is a k-th region block, and 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 prompt: Unable to plan route, reason: starting point is not within the walkable range! , the program ends; Step 6-3: If the end point B is in b_k, go to step 6-5; otherwise, go to step 6-4; Step 6-4: Output prompt: Unable to plan the route, reason: There is no traversable path between the starting point and the end point! , the program ends; Step 6-5: Perform path planning for AB between b_k, and end.

6. The method for terrain-object fusion surface vector path planning applicable to special vehicles according to claim 1, characterized in that: In step 10, the GCCI matrix consists of 0 and 1. If the longitude and latitude 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 terrain-object fusion surface vector path planning applicable to special vehicles according to claim 1, characterized in that: The valid grid points in step 11 are: the points whose longitude and latitude of the grid points are in the vector block LP.

8. The method for terrain-object fusion surface vector path planning applicable to special vehicles according to claim 1 is characterized in that: In step 12, calculated_distance is initialized to empty and 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

  • Method and apparatus for classifying disposable cups based on images for diposable cups using a neural network

    KR1020220106083A

  • Stochastic Route Planning for Electric Vehicles

    US20240019260A1