An obstacle-based path planning method, apparatus, device, and storage medium
By employing a grid method to mark obstacles and construct a candidate list in mobile robot path planning, the problems of high computational cost and uneven path smoothness in existing technologies are solved, achieving more efficient path planning.
Patent Information
- Application Number
- CN202211136919.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-19
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2042-09-19
AI Technical Summary
In existing technologies, mobile robot path planning methods require judging each adjacent point one by one, resulting in huge computational loads and extremely uneven paths, which reduces the efficiency of path planning.
A two-dimensional map model is established using the grid method, obstacles are marked and the first marker point is determined, a candidate list is constructed, and the path is planned based on the cost value of the path until the candidate list is empty to obtain the target path.
It simplifies the calculation of the optimal path, reduces the number of points the path passes through, makes the path smoother and simpler, and greatly improves the efficiency of path planning.
Smart Images

Figure CN116263603B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of mobile robots, and more specifically to an obstacle-based path planning method, apparatus, computing device, and computer storage medium. Background Technology
[0002] With the development of science and technology, the application of robots has become more widespread. The path planning problem for mobile robots—that is, how to find an optimal, safe, and collision-free path from the starting point to the destination in an environment with obstacles—has become one of the most concerning issues. This includes local path planning where environmental information is unknown or partially known, as well as global path planning where environmental information is completely known.
[0003] Currently, local path planning mainly includes: unit decomposition methods and bio-inspired neural network algorithms. Unit decomposition methods specifically include: trapezoidal decomposition, Boustrophedon decomposition, Morse decomposition, and Voronoi decomposition. Global path planning mainly includes: graph theory-based path planning algorithms and metaheuristic path planning algorithms. Graph theory-based path planning algorithms include: A* algorithm, B* algorithm, and Theta* algorithm; metaheuristic path planning algorithms include: ant colony optimization, genetic algorithm, particle swarm optimization, and artificial immune algorithm.
[0004] The current global path planning method involves evaluating each neighboring point of the current location until the target location is reached, and then selecting the final path. However, this approach requires evaluating each neighboring point and selecting the optimal path, resulting in a very small step size each time, leading to a huge computational load and an extremely uneven path, thus reducing the efficiency of path planning. Summary of the Invention
[0005] In view of the above problems, the present invention is proposed to provide an obstacle-based path planning method and corresponding obstacle-based path planning apparatus, computing device and computer storage medium that overcome or at least partially solve the above problems.
[0006] According to one aspect of the present invention, an obstacle-based path planning method is provided, the method comprising:
[0007] A two-dimensional map model of the working environment is established using a grid method. Based on the obstacle information in the working environment, obstacles are marked in the two-dimensional map model, and each first marker point is determined and stored in the obstacle information list. The two-dimensional map model also records the starting point and ending point of the path planning.
[0008] Candidate points are determined based on the starting point and the obstacle information list, and a candidate list is constructed.
[0009] Candidate points are extracted from the candidate list to establish a path, and path planning is performed based on the cost value of the path until the candidate list is empty, at which point the target path from the starting point to the ending point is obtained.
[0010] In the above scheme, the step of establishing a two-dimensional map model of the working environment using a grid method, and marking obstacles in the two-dimensional map model based on obstacle information in the working environment, further includes:
[0011] The working environment is rasterized to obtain a two-dimensional map model. In the two-dimensional map model, the grid point where the initial position of the path planning is located is determined as the starting point, and the grid point where the target position of the path planning is located is determined as the ending point.
[0012] Obstacle information is obtained from the working environment, and obstacles are marked in the two-dimensional map model based on the obstacle information. The obstacle information includes the location information, shape information, and connectivity information of the obstacles.
[0013] In the above scheme, determining each first marker point and storing each first marker point in the obstacle information list further includes:
[0014] For each obstacle, in the two-dimensional map model, the grid point where the intersection endpoints of each of the adjacent edges of the obstacle are located is determined as the first marker point corresponding to the obstacle, and the correspondence of the first marker points is recorded;
[0015] According to the obstacles, the first marker point corresponding to each obstacle and the correspondence between the first marker points corresponding to each obstacle are stored in the obstacle information list.
[0016] In the above scheme, the correspondence of each first marker point includes: the location information of the first marker point, the location information of other first marker points adjacent to the first marker point, and the corresponding positional relationship between the first marker point and other adjacent first marker points.
[0017] In the above scheme, the step of determining candidate points based on the starting point and the obstacle information list, and constructing the candidate list, further includes:
[0018] During path planning initialization, the starting point is stored as a candidate point in the candidate list;
[0019] During path planning, if the line connecting the current point and the destination passes through an obstacle, the first marker point corresponding to the first obstacle passed by the line is extracted from the obstacle information list and added to a temporary list. The first marker point that the current point can directly reach is extracted from the temporary list as the second marker point. The cost value from the current point to the second marker point is calculated. The second marker points whose cost value is less than or equal to the cost value of the second marker point itself are stored as candidate points in the candidate list. The cost value of the second marker point as a candidate point and the path of the second marker point are updated.
[0020] In the above scheme, after extracting the first marker point that the current point can directly reach from the temporary list as the second marker point, the method further includes:
[0021] Store all second markers in the cache.
[0022] In the above scheme, the step of extracting candidate points from the candidate list to establish a path, and performing path planning based on the cost value of the path, until the candidate list is empty, to obtain the target path from the starting point to the ending point, further includes:
[0023] Step 1: Extract a candidate point from the candidate list as the current point, and delete the candidate point from the candidate list;
[0024] Step 2: Determine whether the line connecting the current point and the endpoint passes through an obstacle; if it does not pass through an obstacle, proceed to Step 3; if it passes through an obstacle, trigger the update of the candidate list, and then proceed to Step 6.
[0025] Step 3: Determine the final cost of the current path as a whole based on the cost value of the current point and the distance between the current point and the destination.
[0026] Step 4: Determine whether the final cost value is less than the cost value already stored at the endpoint; if yes, proceed to step 5; if no, proceed to step 6.
[0027] Step 5: Update the final cost value to the cost value of the destination, and save the current path;
[0028] Step 6: Determine if the candidate list is empty; if not empty, proceed to step 1; if empty, proceed to step 7.
[0029] Step 7: Output the saved path as the target path.
[0030] According to another aspect of the present invention, an obstacle-based path planning device is provided, comprising: a map building module, a construction module, and a filtering module; wherein,
[0031] The map building module is used to build a two-dimensional map model of the working environment using a grid method. Based on the obstacle information in the working environment, the module marks the obstacles in the two-dimensional map model, determines each first marker point, and stores each first marker point in the obstacle information list. The two-dimensional map model also records the starting point and ending point of the path planning.
[0032] The construction module is used to determine candidate points based on the starting point and the obstacle information list, and construct a candidate list;
[0033] The filtering module is used to extract candidate points from the candidate list to establish a path, and to perform path planning based on the cost value of the path, until the candidate list is empty, thus obtaining the target path from the starting point to the ending point.
[0034] According to another aspect of the present invention, a computing device is provided, comprising: a processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other via the communication bus;
[0035] The memory is used to store at least one executable instruction that causes the processor to perform operations corresponding to the obstacle-based path planning method described above.
[0036] According to another aspect of the present invention, a computer storage medium is provided, wherein at least one executable instruction is stored therein, the executable instruction causing a processor to perform operations corresponding to the obstacle-based path planning method described above.
[0037] According to the technical solution provided by this invention, a two-dimensional map model of the working environment is established using a grid method. Based on obstacle information in the working environment, obstacles are marked in the two-dimensional map model, and each first marker point is determined and stored in an obstacle information list. The two-dimensional map model also records the starting point and ending point of the path planning. Candidate points are determined based on the starting point and the obstacle information list, and a candidate list is constructed. Paths are established by extracting candidate points from the candidate list, and path planning is performed based on the cost value of the path until the candidate list is empty, at which point the target path from the starting point to the ending point is obtained. This solves the problem in the prior art where the final path is generated by judging adjacent points one by one, resulting in huge computational load and extremely uneven path generation. By utilizing the first marker points corresponding to the intersection points of obstacle edges, the calculation method of the optimal path is greatly simplified, while the number of points traversed by the path is significantly reduced, making the path smoother and simpler, and greatly improving the efficiency of path planning.
[0038] The above description is merely an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention and to implement it in accordance with the contents of the specification, and in order to make the above and other objects, features and advantages of the present invention more apparent and understandable, specific embodiments of the present invention are described below. Attached Figure Description
[0039] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the invention. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:
[0040] Figure 1 A flowchart illustrating an obstacle-based path planning method according to an embodiment of the present invention is shown.
[0041] Figure 2 A schematic diagram of a rasterized two-dimensional map model according to an embodiment of the present invention is shown;
[0042] Figure 3 A schematic diagram of a two-dimensional map model according to another embodiment of the present invention is shown;
[0043] Figure 4 A schematic diagram of a first marker point of an obstacle is shown according to an embodiment of the present invention;
[0044] Figure 5 A schematic diagram illustrating the process of constructing a candidate list according to an embodiment of the present invention is shown;
[0045] Figure 6A A schematic diagram of the movement direction according to an embodiment of the present invention is shown;
[0046] Figure 6B A schematic diagram illustrating the determination of a preset cost value according to an embodiment of the present invention is shown;
[0047] Figure 6C A schematic diagram illustrating the determination of a preset cost value at the endpoint according to an embodiment of the present invention is shown;
[0048] Figure 7 A schematic flowchart of an optimal path determination method according to an embodiment of the present invention is shown;
[0049] Figure 8 A flowchart illustrating an obstacle-based path planning method according to another embodiment of the present invention is shown;
[0050] Figure 9 A structural block diagram of an obstacle-based path planning device according to an embodiment of the present invention is shown;
[0051] Figure 10 A schematic diagram of the structure of a computing device according to an embodiment of the present invention is shown. Detailed Implementation
[0052] Exemplary embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
[0053] Figure 1 A flowchart illustrating an obstacle-based path planning method according to an embodiment of the present invention is shown, as follows: Figure 1 As shown, the method includes the following steps:
[0054] Step S101: A two-dimensional map model of the working environment is established using the grid method. Based on the obstacle information in the working environment, the obstacles are marked in the two-dimensional map model, and each first marker point is determined and stored in the obstacle information list. The two-dimensional map model also records the starting point and ending point of the path planning.
[0055] Specifically, the working environment is rasterized to obtain a two-dimensional map model. In the two-dimensional map model, the grid point where the initial position of the path planning is located is determined as the starting point, and the grid point where the target position of the path planning is located is determined as the ending point. Obstacle information is obtained from the working environment, and obstacles are marked in the two-dimensional map model according to the obstacle information. The obstacle information includes the location information, shape information, and connectivity information of the obstacle.
[0056] Optionally, the connectivity information includes whether the various obstacles in the two-dimensional map model are connected and the specific connectivity relationships between interconnected obstacles. The specific connectivity relationships between interconnected obstacles may further include the location information, shape information, etc., of the connected portions between the interconnected obstacles.
[0057] Among them, such as Figure 2 As shown, Figure 2 A schematic diagram of a rasterized two-dimensional map model according to an embodiment of the present invention is shown. The map is divided into multiple cells, with gray areas representing walkable areas and black areas representing obstacle areas, i.e., obstacles.
[0058] The two-dimensional map model also records the starting and ending points of the path planning, such as... Figure 3 As shown, Figure 3A schematic diagram of a two-dimensional map model according to another embodiment of the present invention is shown. The black areas represent obstacles, the diagonally shaded grid points on the left are the starting points, and the dark grid points on the right are the ending points.
[0059] Specifically, for each obstacle, in the two-dimensional map model, the grid points where the intersection endpoints of each edge adjacent to the obstacle are located are determined as the first marker points corresponding to the obstacle, and the correspondence of the first marker points is recorded; according to the obstacles, the first marker points corresponding to each obstacle and the correspondence of the first marker points corresponding to each obstacle are stored in the obstacle information list.
[0060] The correspondence of each first marker point includes: the location information of the first marker point, the location information of other first marker points adjacent to the first marker point, and the corresponding positional relationship between the first marker point and other adjacent first marker points.
[0061] Figure 4 A schematic diagram of a first marker point of an obstacle according to an embodiment of the present invention is shown, such as Figure 4 As shown, where,
[0062] Take the dark grid point in the upper left corner of the image (the current position) as the starting point; the black area represents obstacles marked in the 2D map model; the light-colored grid points around the obstacles are the grid points corresponding to the boundaries of the obstacles; and the intersection points of the adjacent edges of the obstacles are taken as the first marker points, such as... Figure 4 Points A, B, C, ..., K, L, and M.
[0063] Regarding the aforementioned correspondence, taking point A as an example, the first marker points adjacent to point A are determined as points B and M based on the sides of point A. Therefore, the correspondence of point A includes the position information (position coordinates) of point A, the position information (position coordinates) of points B and M adjacent to point A, and the corresponding positional relationship between point A and points B and M (i.e., [A, B], [A, M]).
[0064] Step S102: Determine candidate points based on the starting point and the obstacle information list, and construct a candidate list.
[0065] Specifically, the starting point is added to the candidate list, and then other first marker points from the obstacle information list are added to the candidate list step by step based on the path.
[0066] Step S103: Extract candidate points from the candidate list to establish a path, and perform path planning based on the cost value of the path until the candidate list is empty to obtain the target path from the starting point to the ending point.
[0067] Specifically, based on the calculation and judgment of path cost values, candidate points in the candidate list are judged and deleted step by step until the candidate list is empty.
[0068] According to the obstacle-based path planning method provided in this embodiment, obstacles are marked in a two-dimensional map model of the working environment using a grid method, and each first marker point is determined and stored in an obstacle information list. The two-dimensional map model also records the starting point and ending point of the path planning. Candidate points are determined based on the starting point and the obstacle information list, and a candidate list is constructed. Paths are established by extracting candidate points from the candidate list, and path planning is performed based on the cost value of the path until the candidate list is empty, thus obtaining the target path from the starting point to the ending point. Using the technical solution provided by this invention, based on determining each first marker point corresponding to an obstacle in a two-dimensional map model, a path is established between the starting point and the ending point, enabling simple and rapid obstacle avoidance. This greatly simplifies the calculation of the optimal path, significantly reduces the number of points traversed by the path, makes the path smoother and simpler, and greatly improves the efficiency of path planning.
[0069] Figure 5 A schematic diagram of the process for constructing a candidate list according to an embodiment of the present invention is shown, such as... Figure 4 As shown, the method includes the following steps:
[0070] Step S501: During path planning initialization, the starting point is stored as a candidate point in the candidate list.
[0071] Step S502: During path planning, if the line connecting the current point and the destination passes through an obstacle, the first marker point corresponding to the first obstacle passed by the line is extracted from the obstacle information list and added to a temporary list. The first marker point that the current point can directly reach is extracted from the temporary list as the second marker point. The cost value from the current point to the second marker point is calculated. The second marker point whose cost value is less than or equal to its own cost value is stored as a candidate point in the candidate list. The cost value of the second marker point as a candidate point and the path of the second marker point are updated.
[0072] Specifically, all second markers are stored in the cache.
[0073] By storing the location information and cost value of the second marker point, when the second marker point is used as the current point, the judgment process can be skipped, and the location information and cost value of the point can be directly read from the cache for the next judgment.
[0074] Preferably, in the two-dimensional map model, the endpoint and each first marker point have preset cost values. The preset cost value for each point is the estimated cost of moving from that point to the endpoint.
[0075] In step S502, since the cost of the second marker point itself is the initial estimated cost, during the path planning process, when the cost of the second marker point is calculated again, if the resulting cost is less than or equal to the cost of the second marker point itself, it indicates that the currently determined path is the optimal path from the current point to the second marker point (even if the cost values are equal but the paths are different, the current path is still one of the optimal paths). Therefore, the cost value of the second marker point, which is a candidate point, is updated at this time to ensure that when the cost value of the overall path is subsequently calculated using the candidate point, the cost value of each part of the path is the minimum cost value of that part, thereby ultimately obtaining the optimal path and its corresponding cost value.
[0076] In addition, the preset cost value can also be determined in the following ways:
[0077] Based on the starting point, determine the neighboring grid points that can be reached around it, and calculate the cost value F of the neighboring grid points, where F = G + H; G is the movement cost from the starting point to the point, and H is the estimated cost from the point to the destination.
[0078] like Figure 6A , Figure 6B and Figure 6C As shown, where, Figure 6A A schematic diagram of the movement direction according to an embodiment of the present invention is shown. Figure 6B A schematic diagram illustrating the determination of a preset cost value according to an embodiment of the present invention is shown. Figure 6C A schematic diagram illustrating the determination of a preset cost value at the endpoint according to an embodiment of the present invention is shown;
[0079] in, Figure 6A Using the grid within the frame as a starting point, movement can proceed in all directions indicated by the arrows. Each reachable adjacent grid point around the starting point contains three values: F for the top left, G for the bottom left, and H for the bottom right, as shown below. Figure 6B As shown.
[0080] For example, such as Figure 6B As shown, the cost of moving horizontally or vertically from the starting point is 10, while the cost of moving diagonally is 14. Taking moving upwards as an example, the estimated cost of moving from this point to the destination is 50, and the cost of moving from the starting point to this point is 10. Therefore, the F value of this point is: F = G + H = 10 + 50 = 60.
[0081] Calculations show that the bottom right and top right grid points among the adjacent grid points around the starting point have the smallest F-values, F = 54. Therefore, the bottom right grid point (marked by the dark arrow) is selected as the starting point for the next calculation. Based on this point, the next F-value judgment will be performed, that is, the F-values of the unjudged grid points around this point will be calculated, and the grid point with the smallest F-value will be selected. This grid point with the smallest F-value will then be moved and used as the starting point for the next calculation, until the preset cost value of the endpoint is obtained, and the path corresponding to this cost value is also obtained, such as... Figure 6C As shown by the dark arrow in the image.
[0082] Figure 7 A schematic flowchart of an optimal path determination method according to an embodiment of the present invention is shown, as follows: Figure 7 As shown, the method includes the following steps:
[0083] Step S701: Extract a candidate point from the candidate list as the current point, and delete the candidate point from the candidate list.
[0084] Specifically, by removing the candidate points that have been determined as the current point from the candidate list, each candidate point in the candidate list is judged one by one, and finally the traversal of all candidate points is completed when the candidate list is empty.
[0085] Step S702: Determine whether the line connecting the current point and the endpoint passes through an obstacle.
[0086] Specifically, if no obstacle is encountered, step S703 is executed; if an obstacle is encountered, the candidate list is updated, and then step S706 is executed.
[0087] Specifically, through the judgment process in step S702, if it is determined that the line connecting the current point and the destination will no longer pass through obstacles, it means that the line connecting the current point and the destination can become the last segment in the overall path; if it is determined that the line connecting the current point and the destination will still pass through obstacles, then it is necessary to select a path to avoid obstacles. At this time, the candidate list is updated, and after the candidate list is updated, step S706 is executed.
[0088] Specifically, the triggering of the candidate list update is as described in step S502 above. When the line connecting the current point and the destination passes through an obstacle, the first marker point corresponding to the first obstacle passed by the line is extracted from the obstacle information list and added to a temporary list. The first marker point that the current point can directly reach is extracted from the temporary list as the second marker point. The cost value from the current point to the second marker point is calculated. The second marker point whose cost value is less than or equal to the cost value of the second marker point itself is stored as a candidate point in the candidate list. The cost value of the second marker point and the path of the second marker point are updated.
[0089] Step S703: Determine the final cost of the current path as a whole based on the cost value of the current point and the distance between the current point and the destination.
[0090] Specifically, the cost value between the current point and the destination point is calculated based on their location information. Then, this cost value is added to the cost value of the current point itself to obtain the final cost value of the current path as a whole.
[0091] Step S704: Determine whether the final cost value is less than the cost value already stored at the endpoint.
[0092] Specifically, if yes, proceed to step S705; otherwise, proceed to step S706.
[0093] Step S705: Update the final cost value to the cost value of the destination and save the current path.
[0094] Specifically, since it is determined in step S704 that the final cost value of the current path is less than the cost value already stored at the destination, the current path can be considered superior to the path stored at the destination. Therefore, it is updated, and the current path and its final cost value are saved.
[0095] Step S706: Determine whether the candidate list is empty.
[0096] Specifically, if it is not empty, then proceed to step S701; if it is empty, then proceed to step S707.
[0097] If the candidate list is empty, it means that the judgment of all candidate points has been completed. At this time, the path saved at the destination is the optimal path obtained after the judgment, and the saved cost value is the minimum cost value.
[0098] Step S707: Output the saved path as the target path.
[0099] Based on the obstacle-based path planning method and optimal path determination method described above, the overall process is as follows: Figure 8 As shown, Figure 8 A flowchart illustrating an obstacle-based path planning method according to another embodiment of the present invention is shown. The specific process details are as described above and will not be repeated here.
[0100] This method involves selecting and deleting the current point from the candidate list, while simultaneously adding a second marker point as a new candidate point. Through an iterative process, it completes the detour path for multiple possible obstacles and ultimately arrives at the optimal path. This method utilizes the endpoints of obstacle boundaries as second marker points, which are then further used as candidate points. By employing fewer intermediate points and a simpler selection process, it traverses the candidate points to determine the final path, effectively improving the efficiency of determining the optimal path.
[0101] Figure 9 A structural block diagram of an obstacle-based path planning device according to an embodiment of the present invention is shown, as follows: Figure 9 As shown, the device includes: a map creation module 901, a construction module 902, and a filtering module 903; wherein,
[0102] The map building module 901 is used to build a two-dimensional map model of the working environment using a grid method. Based on the obstacle information in the working environment, the obstacles are marked in the two-dimensional map model, and each first marker point is determined and stored in the obstacle information list. The two-dimensional map model also records the starting point and ending point of the path planning.
[0103] Specifically, the map building module 901 is further configured to: perform rasterization processing on the working environment to obtain a two-dimensional map model; determine the grid point where the initial position of the path planning is located in the two-dimensional map model as the starting point; determine the grid point where the target position of the path planning is located as the ending point; obtain obstacle information from the working environment; and mark the obstacles in the two-dimensional map model according to the obstacle information, wherein the obstacle information includes: the location information, shape information, and connectivity information of the obstacles.
[0104] Specifically, the map building module 901 is further configured to: for each obstacle, determine the grid points where the intersection endpoints of each edge adjacent to the obstacle are located in the two-dimensional map model as the first marker points corresponding to the obstacle, and record the correspondence of the first marker points; according to the obstacles, store the first marker points corresponding to each obstacle and the correspondence of the first marker points corresponding to each obstacle in the obstacle information list.
[0105] The correspondence of each first marker point includes: the location information of the first marker point, the location information of other first marker points adjacent to the first marker point, and the corresponding positional relationship between the first marker point and other adjacent first marker points.
[0106] The construction module 902 is used to determine candidate points based on the starting point and the obstacle information list, and construct a candidate list.
[0107] Specifically, the construction module 902 is further configured to: during path planning initialization, store the starting point as a candidate point in the candidate list; during path planning, if the line connecting the current point and the destination passes through an obstacle, extract the first marker point corresponding to the first obstacle passed by the line from the obstacle information list and add it to a temporary list, extract the first marker point that the current point can directly reach from the temporary list as a second marker point, calculate the cost value from the current point to the second marker point, store the second marker point whose cost value is less than or equal to the cost value of the second marker point itself as a candidate point in the candidate list, and update the cost value of the second marker point as a candidate point and the path of the second marker point.
[0108] Specifically, after extracting the first marker point that the current point can directly reach from the temporary list as the second marker point, the construction module 902 is further configured to: store all the second marker points in the cache.
[0109] The filtering module 903 is used to extract candidate points from the candidate list to establish a path, and to perform path planning based on the cost value of the path, until the candidate list is empty, and then obtain the target path from the starting point to the ending point.
[0110] Specifically, the screening module 903 is further used to complete the following steps:
[0111] Step 1: Extract a candidate point from the candidate list as the current point, and delete the candidate point from the candidate list;
[0112] Step 2: Determine whether the line connecting the current point and the endpoint passes through an obstacle; if it does not pass through an obstacle, proceed to Step 3; if it passes through an obstacle, trigger the update of the candidate list, and then proceed to Step 6.
[0113] Step 3: Determine the final cost of the current path as a whole based on the cost value of the current point and the distance between the current point and the destination.
[0114] Step 4: Determine whether the final cost value is less than the cost value already stored at the endpoint; if yes, proceed to step 5; if no, proceed to step 6.
[0115] Step 5: Update the final cost value to the cost value of the destination, and save the current path;
[0116] Step 6: Determine if the candidate list is empty; if not empty, proceed to step 1; if empty, proceed to step 7.
[0117] Step 7: Output the saved path as the target path.
[0118] According to the obstacle-based path planning device provided in this embodiment, a two-dimensional map model of the working environment is established using a grid method. Based on the obstacle information in the working environment, obstacles are marked in the two-dimensional map model, and each first marker point is determined and stored in an obstacle information list. The two-dimensional map model also records the starting point and ending point of the path planning. Candidate points are determined based on the starting point and the obstacle information list, and a candidate list is constructed. Paths are established by extracting candidate points from the candidate list, and path planning is performed based on the cost value of the path until the candidate list is empty, at which point the target path from the starting point to the ending point is obtained. Using the technical solution provided by this invention, based on determining each first marker point corresponding to an obstacle in the two-dimensional map model, starting from the starting point, by selecting and deleting the current point from the candidate list, and simultaneously adding a second marker point as a new candidate point, and then through an iterative process, a detour path for multiple possible obstacles is completed, and finally the optimal path is obtained. This process uses the endpoints of the obstacle boundaries as second markers, and further as candidate points. It completes the traversal of candidate points through fewer intermediate points and a more streamlined screening and calculation process, while also determining a simpler final path, effectively improving the efficiency of path planning.
[0119] The present invention also provides a non-volatile computer storage medium storing at least one executable instruction that can execute the obstacle-based path planning method in any of the above method embodiments.
[0120] Figure 10 The diagram illustrates the structure of a computing device according to an embodiment of the present invention. The specific embodiments of the present invention do not limit the specific implementation of the computing device.
[0121] like Figure 10 As shown, the computing device may include: a processor 1002, a communications interface 1004, a memory 1006, and a communications bus 1008.
[0122] in:
[0123] The processor 1002, communication interface 1004, and memory 1006 communicate with each other via communication bus 1008.
[0124] Communication interface 1004 is used to communicate with other network elements such as clients or other servers.
[0125] The processor 1002 is used to execute program 1010, specifically to execute the relevant steps in the above-described obstacle-based path planning method embodiment.
[0126] Specifically, program 1010 may include program code that includes computer operation instructions.
[0127] The processor 1002 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention. The computing device includes one or more processors, which may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs.
[0128] Memory 1006 is used to store program 1010. Memory 1006 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.
[0129] Specifically, program 1010 can be used to cause processor 1002 to execute the obstacle-based path planning method in any of the above method embodiments. The specific implementation of each step in program 1010 can be found in the corresponding descriptions of the steps and units in the above obstacle-based path planning method embodiments, and will not be repeated here. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the devices and modules described above can be referred to the corresponding process descriptions in the foregoing method embodiments, and will not be repeated here.
[0130] The algorithms and displays provided herein are not inherently related to any particular computer, virtual system, or other device. Various general-purpose systems can also be used in conjunction with the teachings herein. The required structure for constructing such systems is apparent from the above description. Furthermore, this invention is not directed to any particular programming language. It should be understood that the contents of the invention described herein can be implemented using various programming languages, and the above description of specific languages is for the purpose of disclosing the best mode of implementation of the invention.
[0131] Numerous specific details are set forth in the specification provided herein. However, it will be understood that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.
[0132] Similarly, it should be understood that, in order to streamline this disclosure and aid in understanding one or more of the various inventive aspects, in the above description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof. However, this method of disclosure should not be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as reflected in the claims, inventive aspects lie in fewer than all features of a single foregoing disclosed embodiment. Therefore, the claims following the detailed description are hereby expressly incorporated into that detailed description, wherein each claim itself is a separate embodiment of the invention.
[0133] Those skilled in the art will understand that modules in the device of the embodiments can be adaptively changed and placed in one or more devices different from that embodiment. Modules, units, or components in the embodiments can be combined into a single module, unit, or component, and further, they can be divided into multiple sub-modules, sub-units, or sub-components. Except where at least some of such features and / or processes or units are mutually exclusive, any combination can be used to combine all features disclosed in this specification (including the accompanying claims, abstract, and drawings) and all processes or units of any method or device so disclosed. Unless expressly stated otherwise, each feature disclosed in this specification (including the accompanying claims, abstract, and drawings) may be replaced by an alternative feature that serves the same, equivalent, or similar purpose.
[0134] Furthermore, those skilled in the art will understand that although some embodiments described herein include certain features but not others included in other embodiments, combinations of features from different embodiments are intended to be within the scope of the invention and form different embodiments. For example, in the claims, any of the claimed embodiments can be used in any combination.
[0135] The various component embodiments of the present invention can be implemented in hardware, or as software modules running on one or more processors, or a combination thereof. Those skilled in the art will understand that microprocessors or digital signal processors (DSPs) can be used in practice to implement some or all of the functions of some or all of the components according to the embodiments of the present invention. The present invention can also be implemented as a device or apparatus program (e.g., a computer program and computer program product) for performing part or all of the methods described herein. Such programs implementing the present invention can be stored on a computer-readable medium, or can be in the form of one or more signals. Such signals can be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
[0136] It should be noted that the above embodiments are illustrative of the invention and not restrictive, and that those skilled in the art can devise alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc., does not indicate any order. These words can be interpreted as names.
Claims
1. An obstacle-based path planning method, characterized in that, include: A two-dimensional map model of the working environment is established using the grid method. Based on the obstacle information in the working environment, the obstacles are marked in the two-dimensional map model, and each first marker point is determined and stored in the obstacle information list. The two-dimensional map model also records the starting point and ending point of the path planning; Candidate points are determined based on the starting point and the obstacle information list, and a candidate list is constructed. Candidate points are extracted from the candidate list to establish a path, and path planning is performed based on the cost value of the path until the candidate list is empty, at which point the target path from the starting point to the ending point is obtained. The step of determining candidate points based on the starting point and the obstacle information list, and constructing the candidate list, further includes: During path planning initialization, the starting point is stored as a candidate point in the candidate list; During path planning, if the line connecting the current point and the destination passes through an obstacle, the first marker point corresponding to the first obstacle passed by the line is extracted from the obstacle information list and added to a temporary list. The first marker point that the current point can directly reach is extracted from the temporary list as the second marker point. The cost value from the current point to the second marker point is calculated. The second marker points whose cost value is less than or equal to the cost value of the second marker point itself are stored as candidate points in the candidate list. The cost value of the second marker point as a candidate point and the path of the second marker point are updated.
2. The method according to claim 1, characterized in that, The step of establishing a two-dimensional map model of the working environment using a grid method, and marking obstacles in the two-dimensional map model based on obstacle information in the working environment, further includes: The working environment is rasterized to obtain a two-dimensional map model. In the two-dimensional map model, the grid point where the initial position of the path planning is located is determined as the starting point, and the grid point where the target position of the path planning is located is determined as the ending point. Obstacle information is obtained from the working environment, and obstacles are marked in the two-dimensional map model based on the obstacle information. The obstacle information includes the location information, shape information, and connectivity information of the obstacles.
3. The method according to claim 1, characterized in that, The step of determining each first marker point and storing each first marker point in the obstacle information list further includes: For each obstacle, in the two-dimensional map model, the grid point where the intersection endpoint of each edge adjacent to the obstacle is located is determined as the first marker point corresponding to the obstacle, and the correspondence of the first marker point is recorded; According to the obstacles, the first marker point corresponding to each obstacle and the correspondence between the first marker points corresponding to each obstacle are stored in the obstacle information list.
4. The method according to claim 3, characterized in that, The correspondence of each first marker point includes: the location information of the first marker point, the location information of other first marker points adjacent to the first marker point, and the corresponding positional relationship between the first marker point and its other adjacent first marker points.
5. The method according to claim 1, characterized in that, After extracting the first marker point that the current point can directly reach from the temporary list as the second marker point, the method further includes: Store all second markers in the cache.
6. The method according to any one of claims 1-5, characterized in that, The step of extracting candidate points from the candidate list to establish a path, and performing path planning based on the cost value of the path, until the candidate list is empty, to obtain the target path from the starting point to the ending point, further includes: Step 1: Extract a candidate point from the candidate list as the current point, and delete the candidate point from the candidate list; Step 2: Determine whether the line connecting the current point and the endpoint passes through an obstacle; if it does not pass through an obstacle, proceed to Step 3; if it passes through an obstacle, trigger the update of the candidate list, and then proceed to Step 6. Step 3: Determine the final cost of the current path as a whole based on the cost value of the current point and the distance between the current point and the destination. Step 4: Determine whether the final cost value is less than the cost value already stored at the endpoint; if yes, proceed to step 5; if no, proceed to step 6. Step 5: Update the final cost value to the cost value of the destination, and save the current path; Step 6: Determine if the candidate list is empty; if not empty, proceed to step 1; if empty, proceed to step 7. Step 7: Output the saved path as the target path.
7. An obstacle-based path planning device, characterized in that, include: The map creation module, the construction module, and the filtering module; among them, The map building module is used to build a two-dimensional map model of the working environment using a grid method. Based on the obstacle information in the working environment, the module marks the obstacles in the two-dimensional map model, determines each first marker point, and stores each first marker point in the obstacle information list. The two-dimensional map model also records the starting point and ending point of the path planning. The construction module is used to determine candidate points based on the starting point and the obstacle information list, and construct a candidate list; The filtering module is used to extract candidate points from the candidate list to establish a path, and to perform path planning based on the cost value of the path, until the candidate list is empty, and then obtain the target path from the starting point to the ending point. The building module is further used for: During path planning initialization, the starting point is stored as a candidate point in the candidate list; During path planning, if the line connecting the current point and the destination passes through an obstacle, the first marker point corresponding to the first obstacle passed by the line is extracted from the obstacle information list and added to a temporary list. The first marker point that the current point can directly reach is extracted from the temporary list as the second marker point. The cost value from the current point to the second marker point is calculated. The second marker points whose cost value is less than or equal to the cost value of the second marker point itself are stored as candidate points in the candidate list. The cost value of the second marker point as a candidate point and the path of the second marker point are updated.
8. A computing device, characterized in that, include: The processor, memory, communication interface, and communication bus are provided, wherein the processor, memory, and communication interface communicate with each other via the communication bus. The memory is used to store at least one executable instruction that causes the processor to perform the operation corresponding to the obstacle-based path planning method as described in any one of claims 1-6.
9. A computer storage medium, characterized in that, The storage medium stores at least one executable instruction that causes the processor to perform the operation corresponding to the obstacle-based path planning method as described in any one of claims 1-6.
Citation Information
Patent Citations
Global path planning method for mobile robot
CN113791610A