Path planning method and device, equipment, storage medium and program product

By generating the skeleton diagram and sampling along the skeleton line, the problems of large calculation and high time cost of existing path planning algorithms are solved, and efficient path planning is achieved.

CN119509547AActive Publication Date: 2025-02-25BEIJING LINX SOFTWARE CORP
View PDF 9 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing path planning algorithms such as RRT require global sampling, resulting in large amounts of calculations and high time costs.

Method used

By generating a skeleton diagram of the area to be planned, sampling along the skeleton line, determining the extensible point, and updating it to a sampling point until the end of the planning conditions are met, the planning path is generated.

Benefits of technology

While ensuring sampling integrity, the calculation amount in the path planning process is effectively reduced and planning efficiency is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119509547A_ABST
    Figure CN119509547A_ABST
Patent Text Reader

Abstract

The invention discloses a path planning method and device, equipment, a storage medium and a program product. The method comprises the following steps: acquiring a to-be-planned area corresponding to a to-be-planned path, and determining a starting point and a target point of the to-be-planned path; generating a skeleton diagram of the to-be-planned area; the skeleton graph is formed by connecting a plurality of skeleton lines, and the skeleton lines are generated by extending along an area between two adjacent obstacles and an area between the obstacles and the edge of the to-be-planned area; determining sampling points in the skeleton line range, sampling in a preset step length range along the skeleton line based on the sampling points, and determining extensible points; and updating the extensible points into the sampling points until the extensible points determined based on the updated sampling points meet planning ending conditions, and generating a planning path based on the starting point, the at least one sampling point, the at least one extensible point and the target point. By adopting the method, the calculation amount in the path planning process is effectively reduced while the sampling integrity is ensured.
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, and in particular to a path planning method, device, equipment, storage medium and program product. Background Art

[0002] Path planning is one of the key technologies in the field of artificial intelligence and is widely used in the fields of robots, drones, automatic logistics vehicles, and autonomous driving. Currently, the Rapidly-exploring Random Tree (RRT) algorithm is commonly used to implement path planning by performing random sampling in the workspace and generating an extended tree based on the sampling points.

[0003] However, the RRT algorithm requires global sampling and tree expansion based on the workspace, which has problems such as large computational complexity and high time cost. Summary of the invention

[0004] In view of the above-mentioned defects or deficiencies in the prior art, it is desirable to provide a path planning method, apparatus, device, storage medium and program product, which effectively reduce the amount of calculation in the path planning process while ensuring sampling integrity.

[0005] In a first aspect, the present application provides a path planning method. The method comprises: Obtain the area to be planned corresponding to the path to be planned, and determine the starting point and target point of the path to be planned; Generate a skeleton map of the area to be planned; the skeleton map is formed by connecting multiple skeleton lines, and the skeleton lines are generated by extending along the area between two adjacent obstacles and the area between the obstacle and the edge of the area to be planned; Determine the sampling points within the range of the skeleton line, and perform sampling along the skeleton line within a preset step range based on the sampling points to determine the expandable points; The expandable points are updated to sampling points until the expandable points determined based on the updated sampling points meet the planning end conditions, and a planning path is generated based on the starting point, at least one sampling point, at least one expandable point and the target point; the planning end conditions include at least one of the distance between the expandable point and the target point being less than a preset distance and the planning time reaching a preset time.

[0006] In combination with the first aspect, in a possible implementation, determining a sampling point within the range of the skeleton line includes: determining an initial sampling point on the skeleton line based on a starting point; and sampling along the skeleton line within a preset step length based on the initial sampling point to determine the sampling point.

[0007] In combination with the first aspect, in a possible implementation manner, the path planning method further includes: directing each skeleton line in the skeleton graph along a direction from the starting point to the target point to obtain a directed skeleton graph.

[0008] In combination with the first aspect, in a possible implementation method, sampling is performed based on the sampling point along the skeleton line within a preset step size to determine the expandable point, including: constructing a sampling area with the sampling point as the center and the preset step size as the radius; performing random sampling within the sampling area to obtain a random sampling point; if the random sampling point meets the expandable condition, the random sampling point is determined to be an expandable point; the expandable condition includes that the random sampling point is not within the obstacle range, and the direction from the sampling point to the random sampling point is consistent with the direction of the skeleton line corresponding to the sampling point.

[0009] In combination with the first aspect, in a possible implementation, the path planning method also includes: if the random sampling point does not meet the scalability condition, re-sampling in the sampling area corresponding to the sampling point, and determining a new random sampling point until the new random sampling point meets the scalability condition.

[0010] In combination with the first aspect, in a possible implementation, the path planning method also includes: recording the number of random sampling points that do not meet the scalability conditions, and obtaining the number of expansion failures corresponding to the sampling area; when the number of expansion failures reaches a preset threshold, selecting a target sampling area from multiple constructed sampling areas according to the expansion success rate of each constructed sampling area; the expansion success rate is used to characterize the efficiency of the sampling area in determining the scalable points; and determining the scalable points in the target sampling area.

[0011] In combination with the first aspect, in a possible implementation manner, the process of determining the expansion success rate includes: determining the expansion success rate of the sampling area based on the number of expansion failures of the sampling area and the number of expansion successes of the sampling area.

[0012] In combination with the first aspect, in a possible implementation method, the path planning method also includes: determining a sampling area whose expansion success rate is greater than a success rate threshold as an expansion advantage area; if the number of consecutive expansion advantage areas is greater than the area number threshold, determining the end point of the skeleton line corresponding to the current sampling point as the expandable point corresponding to the current sampling point.

[0013] In combination with the first aspect, in a possible implementation method, the path planning method also includes: if the path between the sampling point and the random sampling point crosses the range of the obstacle, the midpoint between the sampling point and the random sampling point is updated to the random sampling point, until there is no obstacle between the sampling point and the updated random sampling point, and the updated random sampling point meets the scalability condition, and the updated random sampling point is determined as the scalable point.

[0014] In combination with the first aspect, in a possible implementation method, the path planning method also includes: performing path planning based on the area to be planned, the skeleton map of the area to be planned, the starting point and the target point to generate multiple planned paths; determining the length of each planned path, and sorting the multiple planned paths in order of length from small to large; determining the planned path ranked first as the optimal path.

[0015] In a second aspect, the present application also provides a path planning device. The device includes: A determination module is used to obtain the area to be planned corresponding to the path to be planned, and determine the starting point and target point of the path to be planned; A generation module is used to generate a skeleton map of the area to be planned; the skeleton map is formed by connecting multiple skeleton lines, and the skeleton lines are generated by extending along the area between two adjacent obstacles and the area between the obstacle and the edge of the area to be planned; A sampling module is used to determine sampling points within the range of the skeleton line, and to perform sampling along the skeleton line within a preset step length based on the sampling points to determine the expandable points; A planning module is used to update the expandable points to sampling points until the expandable points determined based on the updated sampling points meet the planning end conditions, and then generate a planning path based on the starting point, at least one sampling point, at least one expandable point and the target point; the planning end conditions include at least one of the distance between the expandable point and the target point is less than a preset distance and the planning time reaches a preset time.

[0016] In a third aspect, the present application further provides an intelligent device, which includes a memory and a processor, wherein the memory stores a computer program, and the processor implements the method described in the first aspect when executing the computer program.

[0017] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the method described in the first aspect is implemented.

[0018] In a fifth aspect, the present application further provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, the method described in the first aspect is implemented.

[0019] The embodiment of the present application provides a path planning method, device, equipment, storage medium and program product, first obtains the area to be planned corresponding to the path to be planned, determines the starting point and target point of the path to be planned, and generates a skeleton diagram corresponding to the area to be planned connected by skeleton lines. Then determine the sampling points within the range of the skeleton line, sample along the skeleton line within the preset step range based on the sampling points, determine the expandable points, and update the expandable points to the sampling points, until the expandable points determined based on the updated sampling points meet the planning end conditions, then generate a planning path based on the starting point, at least one sampling point, at least one expandable point and the target point. In the process of planning the path, the embodiment of the present application explores along the skeleton line to avoid obstacles, so that it can traverse various spacious or narrow channels formed between obstacles and the edges of the area to be planned, and avoid global sampling for non-obstruction areas, while ensuring the integrity of the sampling, effectively reducing the amount of calculation in the path planning process. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Other features, objects and advantages of the present application will become more apparent by reading the detailed description of non-limiting embodiments made with reference to the following drawings: Figure 1 It is a schematic diagram of path planning in the prior art; Figure 2 A schematic diagram of a process flow of a path planning method in one embodiment; Figure 3 A schematic diagram of path planning in one embodiment; Figure 4 Another path planning schematic diagram in one embodiment; Figure 5 Another schematic diagram of a path planning method in one embodiment; Figure 6 Another schematic diagram of a path planning method in one embodiment; Figure 7 Another schematic diagram of a path planning method in one embodiment; Figure 8 Another schematic diagram of a path planning method in one embodiment; Fig. 9 Another path planning schematic diagram in one embodiment; Fig.10 Another path planning schematic diagram in one embodiment; Fig.11 Another path planning schematic diagram in one embodiment; Fig.12 Another schematic diagram of a path planning method in one embodiment; Fig.13FIG. 4 is a structural block diagram of a path planning device in one embodiment. DETAILED DESCRIPTION

[0021] The present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the relevant invention, rather than to limit the invention. It is also necessary to explain that, for ease of description, only the parts related to the invention are shown in the accompanying drawings.

[0022] It should be noted that, in the absence of conflict, the embodiments in the present application and the features in the embodiments can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments. In addition, the term "and / or" herein is merely a description of the association relationship of associated objects, indicating that three relationships may exist, for example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The terms "first" and "second" in the description and claims of the embodiments of the present application are used to distinguish different objects, rather than to describe a specific order of objects.

[0023] Path planning is one of the key technologies in the field of artificial intelligence and is widely used in the fields of robots, drones, automatic logistics vehicles, and autonomous driving. Currently, the Rapidly-exploring Random Tree (RRT) algorithm is commonly used to implement path planning by performing random sampling in the workspace and generating an extended tree based on the sampling points.

[0024] However, if Figure 1 As shown in the figure, the RRT algorithm performs global sampling and tree expansion based on the workspace, so it will waste time exploring unnecessary directions, such as dead ends, resulting in high time costs; and the global sampling of the RRT algorithm has fewer sampling points in narrow channels, which affects the planning possibility of paths in narrow channels, and thus affects the path planning effect; in addition, when obstacles are crossed during the expansion process, the entire tree needs to be traversed to determine the nearest leaf node, resulting in excessive calculation. Among them, s is the starting point of the planned path, and g is the target point.

[0025] Based on this, the embodiments of the present application provide a path planning method, apparatus, device, storage medium and program product, which effectively reduce the amount of calculation in the path planning process while ensuring sampling integrity.

[0026] The path planning method provided in the embodiments of the present application can be applied to intelligent devices such as robots, drones, automatic logistics vehicles, and self-driving vehicles.

[0027] In one embodiment, Figure 2 As shown, a path planning method is provided, comprising the following steps: Step 101: Obtain the area to be planned corresponding to the path to be planned, and determine the starting point and target point of the path to be planned.

[0028] In the embodiment of the present application, the working space information of the smart device, that is, the area to be planned, is first obtained. For example, an image of the area to be planned can be taken by a camera to obtain a two-dimensional image of the area to be planned; or multiple images of the area to be planned from different perspectives can be taken, and then a three-dimensional image of the area to be planned can be constructed.

[0029] Next, the user can specify the starting point and the target point on the two-dimensional image or three-dimensional image of the area to be planned, so that the smart device generates a path to be planned from the starting point to the target point based on the starting point and the target point. At this time, the image of the area to be planned includes obstacle information, starting point and target point information.

[0030] Step 102: Generate a skeleton map of the area to be planned.

[0031] In the embodiment of the present application, the image of the area to be planned can be processed by an image processing library, such as tools in the Scikit-image tool library, to generate a skeleton map of the area to be planned.

[0032] The skeleton graph is formed by connecting multiple skeleton lines, which are generated by extending along the area between two adjacent obstacles and the area between the obstacle and the edge of the area to be planned. That is, the non-obstacle area in the area to be planned is connected by the skeleton line.

[0033] In the image processing process of the area to be planned, if the image of the area to be planned is a two-dimensional image, the method of obstacle equidistant lines can be used to generate the skeleton line of the area to be planned. That is, multiple lines between the boundaries of obstacles (or obstacles and the edge of the area to be planned) are determined, the midpoints of each line are marked, and then the midpoints are connected to form the skeleton line between obstacles (or obstacles and the edge of the area to be planned).

[0034] If the image of the area to be planned is a three-dimensional image, the skeleton line of the area to be planned can be generated by the intermediate curvature method. That is, first determine the edges of obstacles (or obstacles and the edge of the area to be planned) relative to each other, and then determine multiple groups of relative points on the relative edges, each group of relative points corresponding to two curvatures; for each group of relative points, determine the middle value of the two curvatures (i.e., the intermediate curvature), and then determine the position corresponding to each intermediate curvature, and form a skeleton line based on the connection line of the position of each intermediate center curvature.

[0035] In one possible implementation, Figure 3 As shown, after the skeleton graph of the area to be planned is generated, each skeleton line in the skeleton graph can be directed along the direction from the starting point to the target point to obtain a directed skeleton graph.

[0036] The connection points of the skeleton lines in the skeleton graph can be called skeleton line nodes; the direction of each skeleton line is consistent with the direction from the starting point to the target point, that is, the angle between the direction of each skeleton line and the direction from the starting point to the target point is less than 90°.

[0037] The dotted line in the figure is the skeleton line, and the arrow indicates the direction of the skeleton line.

[0038] Specifically, a breadth first search (BFS) method may be used to traverse each skeleton line node starting from the skeleton line node closest to the starting point, and add a direction for each skeleton line.

[0039] Step 103: determine sampling points within the range of the skeleton line, and perform sampling along the skeleton line within a preset step length based on the sampling points to determine expandable points.

[0040] In an embodiment of the present application, when exploring the path between the starting point and the target point in the area to be planned, the exploration can be carried out along the skeleton line within a certain range of the skeleton line, so that the wide or narrow passages formed between obstacles and between obstacles and the edge of the area to be planned can be traversed, and global sampling of non-obstacle areas can be avoided, thereby effectively reducing the amount of calculation while ensuring the completeness of the sampling.

[0041] Specifically, a sampling point can be first determined on the skeleton line or within the skeleton line range based on the starting point, and then random sampling can be performed within a certain range of the sampling point based on the sampling point, for example, random sampling can be performed within a preset step range of the sampling point, and the random sampling point can be used as an expandable point.

[0042] In a possible implementation, when determining the expandable point corresponding to the sampling point, the random sampling point can be determined as the expandable point when the direction from the sampling point to the random sampling point is consistent with the direction from the starting point to the target point, or when the direction from the sampling point to the random sampling point is consistent with the direction of the skeleton line corresponding to the sampling point (the skeleton line closest to the sampling point).

[0043] In one possible implementation, Figure 4 As shown, if the sampling point is located at the connection point of the skeleton lines, and there are at least two skeleton lines (such as a and b in the figure) in the direction of the sampling point toward the target point, then any one of the skeleton lines is selected as the skeleton line corresponding to the sampling point, and the line is extended along the direction of the skeleton line corresponding to the sampling point.

[0044] Step 104: Update the expandable points to sampling points until the expandable points determined based on the updated sampling points meet the planning end condition, and then generate a planning path based on the starting point, at least one sampling point, at least one expandable point and the target point.

[0045] In the embodiment of the present application, after determining the extensible point corresponding to the sampling point, the extensible point is updated to the sampling point, and the extensible point corresponding to the updated sampling point is determined. That is, the process of determining the extensible point corresponding to the sampling point, judging whether the extensible point meets the planning end condition, and updating the extensible point to the sampling point when the extensible point does not meet the planning end condition is executed cyclically.

[0046] Until the extensible point determined based on the updated sampling point meets the planning end condition, for example, when the extensible point determined based on the updated sampling point is close to the target point and the distance between the target point and the target point is less than the preset distance, or when the loop sampling time (i.e., planning time) is long enough and reaches the preset time, the loop can be ended. Finally, based on the starting point, each sampling point, each expansion point (at least including the extensible point that meets the planning end condition) and the target point in the planning process are sequentially connected to form a planning path.

[0047] That is, the planning end condition includes at least one of the following: the distance between the expandable point and the target point is less than a preset distance, and the planning time reaches a preset time.

[0048] The method provided in the embodiment of the present application first obtains the area to be planned corresponding to the path to be planned, determines the starting point and target point of the path to be planned, and generates a skeleton diagram corresponding to the area to be planned connected by skeleton lines. Then, the sampling points within the range of the skeleton line are determined, and sampling is performed along the skeleton line within the preset step range based on the sampling points, and the extensible points are determined, and the extensible points are updated to the sampling points, until the extensible points determined based on the updated sampling points meet the planning end conditions, and then the planning path is generated based on the starting point, at least one sampling point, at least one extensible point and the target point. In the process of planning the path, the embodiment of the present application explores along the skeleton line to avoid obstacles, so that each spacious or narrow channel formed between obstacles and the edge of the area to be planned can be traversed, and global sampling can be avoided for non-obstruction areas, while ensuring the integrity of the sampling, effectively reducing the amount of calculation in the path planning process.

[0049] The above-mentioned embodiment introduces a scheme of first determining the sampling points within the skeleton line range. In another embodiment of the present application, the first sampling point in the path planning process can be determined based on the starting point. This embodiment includes the following steps: Figure 5 Steps shown: Step 201: Determine an initial sampling point on the skeleton line based on the starting point.

[0050] Step 202: Sampling is performed along the skeleton line within a preset step length range based on the initial sampling point to determine the sampling point.

[0051] In the embodiment of the present application, the point on the skeleton line closest to the starting point can be calculated and used as the initial sampling point. Then, based on the initial sampling point, random sampling is performed within the preset step length range of the initial sampling point, and the random sampling point is used as the scalable point corresponding to the initial sampling point, and the scalable point is updated as the sampling point. After that, a cyclic sampling process of determining the scalable point corresponding to the sampling point and updating the scalable point to the sampling point is performed until the scalable point determined based on the updated sampling point meets the planning end condition.

[0052] Among them, the line between the starting point and the initial sampling point is part of the planned path.

[0053] In a possible implementation, when determining the expandable point corresponding to the initial sampling point, when the direction from the initial sampling point to the random sampling point is consistent with the direction from the starting point to the target point, or when the direction from the initial sampling point to the random sampling point is consistent with the direction of the skeleton line corresponding to the sampling point (the skeleton line closest to the sampling point), the random sampling point can be determined as the expandable point corresponding to the initial sampling point.

[0054] It can be understood that the initial sampling point is located on the skeleton line, and the sampling point is located on the skeleton line or within the range of the skeleton line, that is, the sampling point is not necessarily located on the skeleton line.

[0055] The method provided in the embodiment of the present application first determines the initial sampling point on the skeleton line based on the starting point, and then starts from the initial sampling point and performs sampling within a preset step length along the skeleton line to determine the sampling point. That is, path exploration is performed along the skeleton line starting from the initial sampling point, thereby reducing the path exploration process from the starting point to the initial sampling point, and further reducing the amount of calculation in the path planning process.

[0056] The above-mentioned embodiment introduces a scheme for determining the expandable points based on sampling the sampling points along the skeleton line within a preset step range. In another embodiment of the present application, the expandable points can be determined when the random sampling points meet the expansion conditions. This embodiment includes the following: Figure 6 Steps shown: Step 301: construct a sampling area with the sampling point as the center and the preset step length as the radius.

[0057] Step 302: Perform random sampling in the sampling area to obtain random sampling points.

[0058] Step 303: If the random sampling point meets the scalability condition, determine the random sampling point as an scalable point.

[0059] The expandable conditions include that the random sampling point is not within the obstacle range, and the direction from the sampling point to the random sampling point is consistent with the direction of the skeleton line corresponding to the sampling point.

[0060] In the embodiment of the present application, a sampling area can be constructed with the sampling point as the center and the preset step length as the radius, and then random sampling is performed in the sampling area to obtain a random sampling point. Then, it is determined whether the random sampling point meets the expandable condition. If the random sampling point meets the expandable condition, that is, the random sampling point is not in the obstacle range, and the direction from the sampling point to the random sampling point is consistent with the direction of the skeleton line corresponding to the sampling point, for example, the angle may be less than 90°, then the random sampling point is used as an expandable point to ensure that the path is planned in the direction toward the target point.

[0061] Among them, the connection between the sampling point and the expandable point is part of the planned path.

[0062] In a possible implementation, if the random sampling point does not meet the scalability condition, re-sampling is performed in the sampling area corresponding to the sampling point to determine a new random sampling point until the new random sampling point meets the scalability condition.

[0063] That is, if the random sampling point is within the range of obstacles, or the direction from the sampling point to the random sampling point is inconsistent with the direction of the skeleton line corresponding to the sampling point, the random sampling point is discarded, and random sampling is performed again in the sampling area to obtain a new random sampling point, and it is determined whether the new random sampling point meets the scalability condition. If the new random sampling point meets the scalability condition, the new random sampling point is determined as an scalable point; if the new random sampling point does not meet the scalability condition, random sampling is performed again until the new random sampling point meets the scalability condition, and the new random sampling point that meets the scalability condition is determined as an scalable point.

[0064] The method provided in the embodiment of the present application takes the sampling point as the center of the circle and the preset step size as the radius to construct a sampling area, performs random sampling in the sampling area, and obtains a random sampling point. If the random sampling point is not in the obstacle range, and the direction from the sampling point to the random sampling point is consistent with the direction of the skeleton line corresponding to the sampling point, the random sampling point is determined to be an expandable point. The embodiment of the present application limits the position and direction of the path to be planned through expandable conditions, so that the path to be planned is extended along the non-obstacle area and toward the target direction, avoiding the exploration of the path to be planned in the opposite direction to the target direction, reducing the path planning time, and reducing the amount of calculation.

[0065] The above-mentioned embodiment provides a solution for determining the expandable point until the random sampling point in the sampling area corresponding to the sampling point satisfies the expandable condition. In another embodiment of the present application, when the random sampling point obtained by multiple samplings still does not meet the expandable condition, the current sampling area is discarded and re-sampled based on another sampling area. This embodiment includes the following: Figure 7 Steps shown: Step 401: Record the number of random sampling points that do not meet the expandability condition, and obtain the number of expansion failures corresponding to the sampling area.

[0066] Step 402: When the number of expansion failures reaches a preset threshold, a target sampling area is selected from a plurality of constructed sampling areas according to the expansion success rate of each constructed sampling area.

[0067] Step 403: Determine expandable points in the target sampling area.

[0068] In the embodiment of the present application, for a certain sampling point, random sampling is performed within the sampling area of ​​the sampling point, and in the process of determining whether the random sampling point meets the scalability condition, the number of random sampling points that do not meet the scalability condition and the number of random sampling points that meet the scalability condition can be recorded in real time. The number of random sampling points that do not meet the scalability condition is used as the number of expansion failures corresponding to the sampling area.

[0069] It can be understood that the number N of random sampling points that do not meet the scalability condition is an integer greater than or equal to 0, and the number of random sampling points that meet the scalability condition is 1. That is, the sampling process in the sampling area is: the random sampling points obtained by the first N samplings do not meet the scalability condition, until the random sampling points obtained by the N+1th sampling meet the scalability condition, then the scalable point is determined and sampling is stopped.

[0070] Then, for the number of expansion failures recorded in real time, if the number of expansion failures reaches the preset threshold, it indicates that there are many obstacles around the current sampling area. When a sampling point before the current sampling area is expanded, the expansion direction deviates from the obstacle-dense area. Therefore, it is possible to back off in units of sampling points, and select a sampling area with a higher expansion success rate (i.e., the target sampling area) from at least one constructed sampling area for random re-sampling to correct the path expansion direction.

[0071] Specifically, the sampling area with the highest expansion success rate can be selected from at least one constructed sampling area as the target sampling area; or the sampling area with the highest expansion success rate can be selected from the X constructed sampling areas before the current sampling area as the target sampling area to avoid a long backoff distance, which results in a waste of time and increased consumption of computing resources.

[0072] The expansion success rate is used to characterize the efficiency of the sampling area in determining the expandable points. It can be understood that the fewer the expansion failures of the sampling area, the higher the efficiency of the sampling area in determining the expandable points, that is, the higher the expansion success rate. The higher the expansion success rate, the fewer obstacles around the sampling area.

[0073] It can be understood that the sampling points between the sampling points corresponding to the target sampling area and the sampling points corresponding to the current sampling area are abandoned, that is, the path planned between the sampling points corresponding to the sampling area and the sampling points corresponding to the current sampling area (that is, the part of the path that falls back) is abandoned, and the path is re-planned based on the expandable points re-determined in the target sampling area.

[0074] In one embodiment, the method for determining the expansion success rate of the sampling area includes: determining the expansion success rate of the sampling area based on the number of expansion failures of the sampling area and the number of expansion successes of the sampling area. The formula can be expressed as: P=1 / (N+1); where P is the expansion success rate and N is the number of expansion failures. [z1] In a possible implementation, the correspondence between the number of expansion failures and the expansion success rate can be preset based on the principle that the expansion success rate is inversely proportional to the number of expansion failures. After determining the number of expansion failures corresponding to the sampling area, the expansion success rate corresponding to the sampling area is determined based on the correspondence.

[0075] In the process of sampling a certain sampling area, the method provided in the embodiment of the present application can record the number of random sampling points that do not meet the expandability conditions, obtain the number of expansion failures corresponding to the sampling area, and then when the number of expansion failures reaches a preset threshold, select a target sampling area from multiple constructed sampling areas according to the expansion success rate of each constructed sampling area, and determine the expandable points in the target sampling area. In the embodiment of the present application, when the number of expansion failures of a certain sampling area is large, it can fall back to the constructed sampling area with a higher expansion success rate to re-expand, so as to timely correct the direction of the planned path and improve the success rate of the planned path.

[0076] The above-mentioned embodiment introduces a scheme for determining the expansion success rate corresponding to the sampling area. In another embodiment of the present application, the expansion efficiency of the expansion point can be accelerated based on the expansion success rate. This embodiment includes the following: Figure 8 Steps shown: Step 501: Determine a sampling area whose expansion success rate is greater than a success rate threshold as an expansion advantage area.

[0077] Step 502: If the number of continuous extended dominant regions is greater than the region number threshold, the end point of the skeleton line corresponding to the current sampling point is determined as the expandable point corresponding to the current sampling point.

[0078] In the embodiment of the present application, during the path planning process, after determining the expansion success rate of the sampling area, the scalability of the sampling area can be determined based on the comparison result between the expansion success rate and the success rate threshold. For example, when the expansion success rate of the sampling area is greater than the success rate threshold, it is determined that the scalability of the sampling area is high, and the sampling area is determined to be an expansion advantage area.

[0079] If the sampling areas corresponding to multiple consecutive sampling points are all extended advantage areas, it is determined that the area of ​​the non-obstruction area where the current sampling point is located is larger, and the extension direction of the area is relatively consistent with the direction toward the target point. Therefore, the end point of the skeleton line corresponding to the current sampling point (that is, the end point of the skeleton line close to the target point) can be directly used as the expandable point corresponding to the current sampling point. The line between the current sampling point and the end point of the skeleton line corresponding to the current sampling point is part of the path to be planned.

[0080] The method provided in the embodiment of the present application can determine the sampling area whose expansion success rate is greater than the success rate threshold as the expansion advantage area, and when the number of consecutive expansion advantage areas is greater than the area number threshold, the end point of the skeleton line corresponding to the current sampling point is determined as the expandable point corresponding to the current sampling point. That is, when the path expansion is relatively smooth, the embodiment of the present application directly determines the expandable point across a large distance along the skeleton line, which reduces the time and improves the efficiency of path planning while ensuring the accuracy of expansion.

[0081] In one embodiment, the path between the sampling point and the random sampling point may cross an obstacle range, in which case the random sampling point also needs to be re-determined. This embodiment includes the following steps: If the path between the sampling point and the random sampling point crosses the range of the obstacle, the midpoint between the sampling point and the random sampling point is updated to the random sampling point until there is no obstacle between the sampling point and the updated random sampling point, and the updated random sampling point meets the scalability condition, then the updated random sampling point is determined as the scalable point.

[0082] In an embodiment of the present application, for a certain sampling point, after random sampling is performed in the sampling area of ​​the sampling point to obtain a random sampling point, in addition to determining whether the random sampling point meets the scalability condition, it can be determined whether the path between the sampling point and the random sampling point crosses the range of the obstacle.

[0083] like Fig. 9 As shown, if the path between the sampling point and the random sampling point crosses the range of obstacles, in this case, it indicates that there is no problem with the path expansion direction. Therefore, there is no need to retreat a long distance, and retreat to the midpoint between the sampling point and the random sampling point, that is, update the midpoint between the sampling point and the random sampling point to the random sampling point, and determine again whether the sampling point and the updated random sampling point cross the obstacle range. If it still crosses, collect the midpoint between the sampling point and the updated random sampling point again, and update the midpoint to the random sampling point until there is no obstacle between the sampling point and the updated random sampling point, then determine whether the updated random sampling point meets the extensibility condition, and if the updated random sampling point meets the extensibility condition, determine the updated random sampling point as an extensible point.

[0084] Then, based on this extensibility point, we can continue to expand and generate Fig.10 Finally, the path generated based on the above path planning method can be shown as Fig.11 shown.

[0085] The method provided in the embodiment of the present application updates the midpoint between the sampling point and the random sampling point to the random sampling point when the path between the sampling point and the random sampling point crosses the range of obstacles, until there is no obstacle between the sampling point and the updated random sampling point, and the updated random sampling point meets the extensibility condition, and then determines the updated random sampling point as the extensible point. In the case where the path between the sampling point and the random sampling point crosses the range of obstacles, the embodiment of the present application performs partial path fallback based on the middle of the sampling point and the random sampling point, avoiding the method of traversing the constructed expansion tree to determine the tree node closest to the current random sampling point on the expansion tree in the prior art, while ensuring the accuracy of expansion, effectively reducing the amount of calculation.

[0086] The above-mentioned embodiment provides a path planning scheme from the starting point to the end point in the area to be planned. In another embodiment of the present application, multiple paths can be planned for selection. The embodiment includes the following: Fig.12 Steps shown: Step 601: Perform path planning based on the area to be planned, the skeleton graph of the area to be planned, the starting point and the target point to generate multiple planned paths.

[0087] Step 602: Determine the length of each planned path, and sort the multiple planned paths in ascending order of length.

[0088] Step 603: determine the planned path ranked first as the optimal path.

[0089] In the embodiment of the present application, since the expandable points determined in the sampling point expansion process are random, that is, the finally generated planning path is random, multiple path planning can be performed based on the area to be planned, the skeleton map of the area to be planned, the starting point and the target point according to the above path planning method to generate multiple planning paths. Then, the length of each planning path is determined, and the multiple planning paths are sorted in order from small to large in length, and the planning path ranked first is determined as the optimal path. That is, the planning path with the shortest length is determined as the optimal planning path.

[0090] The method provided in the embodiment of the present application can generate multiple planned paths and select the shortest planned path as the optimal path. The embodiment of the present application provides multiple path selections and automatically selects the optimal path based on the length, thereby improving the intelligence of the path planning method.

[0091] It should be noted that although the operations of the method of the present invention are described in a particular order in the accompanying drawings, this does not require or imply that the operations must be performed in this particular order, or that all the operations shown must be performed to achieve the desired results. On the contrary, the steps depicted in the flow chart can be performed in a different order. Additionally or alternatively, some steps can be omitted, multiple steps can be combined into one step, and / or one step can be decomposed into multiple steps.

[0092] In one embodiment, Fig.13 As shown, a path planning device is provided, including: a determination module 701, a generation module 702, a sampling module 703 and a planning module 704, wherein: The determination module 701 is used to obtain the area to be planned corresponding to the path to be planned, and determine the starting point and the target point of the path to be planned.

[0093] The generating module 702 is used to generate a skeleton diagram of the area to be planned; the skeleton diagram is formed by connecting a plurality of skeleton lines, and the skeleton lines are generated by extending along the area between two adjacent obstacles and the area between the obstacle and the edge of the area to be planned.

[0094] The sampling module 703 is used to determine the sampling points within the range of the skeleton line, and to perform sampling along the skeleton line within a preset step length based on the sampling points to determine the expandable points.

[0095] The planning module 704 is used to update the expandable points to sampling points until the expandable points determined based on the updated sampling points meet the planning end conditions, and then generate a planning path based on the starting point, at least one sampling point, at least one expandable point and the target point; the planning end conditions include at least one of the distance between the expandable point and the target point is less than a preset distance and the planning time reaches a preset time.

[0096] In one embodiment, the sampling module 703 is specifically configured to determine an initial sampling point on the skeleton line based on the starting point; and perform sampling within a preset step length along the skeleton line based on the initial sampling point to determine the sampling point.

[0097] In one embodiment, the path planning device further includes a directed module for directing each skeleton line in the skeleton graph along the direction from the starting point to the target point to obtain a directed skeleton graph.

[0098] In one embodiment, the sampling module 703 is specifically used to construct a sampling area with the sampling point as the center and a preset step size as the radius; perform random sampling in the sampling area to obtain a random sampling point; if the random sampling point meets the expandable condition, the random sampling point is determined to be an expandable point; the expandable condition includes that the random sampling point is not within the obstacle range, and the direction from the sampling point to the random sampling point is consistent with the direction of the skeleton line corresponding to the sampling point.

[0099] In one embodiment, the path planning device also includes a resampling module, which is used to re-sample the sampling area corresponding to the sampling point if the random sampling point does not meet the scalability condition, and determine a new random sampling point until the new random sampling point meets the scalability condition.

[0100] In one embodiment, the path planning device also includes a selection module for recording the number of random sampling points that do not meet the expandability conditions, and obtaining the number of expansion failures corresponding to the sampling area; when the number of expansion failures reaches a preset threshold, a target sampling area is selected from multiple constructed sampling areas according to the expansion success rate of each constructed sampling area; the expansion success rate is used to characterize the efficiency of the sampling area in determining the expandable points; and the expandable points are determined in the target sampling area.

[0101] In one embodiment, the selection module is further used to determine the expansion success rate of the sampling area based on the number of expansion failures of the sampling area and the number of expansion successes of the sampling area.

[0102] In one embodiment, the path planning device also includes an expansion module, which is used to determine the sampling area whose expansion success rate is greater than the success rate threshold as an expansion advantage area; if the number of consecutive expansion advantage areas is greater than the area number threshold, the end point of the skeleton line corresponding to the current sampling point is determined as the expandable point corresponding to the current sampling point.

[0103] In one embodiment, the path planning device also includes an updating module, which is used to update the midpoint between the sampling point and the random sampling point to the random sampling point if the path between the sampling point and the random sampling point crosses the range of the obstacle, until there is no obstacle between the sampling point and the updated random sampling point, and the updated random sampling point meets the scalability condition, and then determine the updated random sampling point as an scalable point.

[0104] In one embodiment, the path planning device also includes a sorting module, which is used to perform path planning based on the area to be planned, the skeleton map of the area to be planned, the starting point and the target point to generate multiple planned paths; determine the length of each planned path, and sort the multiple planned paths in order from small to large in length; determine the planned path ranked first as the optimal path.

[0105] It should be understood that the units or modules recorded in the path planning device are the same as those in the reference Figure 2The various steps in the described method correspond to each other. Therefore, the operations and features described above for the method are also applicable to the path planning device and the units contained therein, and will not be repeated here. The path planning device can be pre-implemented in a browser or other security application of an electronic device, or loaded into a browser or its security application of an electronic device by downloading or the like. The corresponding units in the path planning device can cooperate with the units in the electronic device to implement the solution of the embodiment of the present application.

[0106] The embodiments of the present application also provide an intelligent device, such as a robot, a drone, an automatic logistics vehicle, an automatic driving vehicle, etc., which is used to implement the path planning method described in the embodiments of the present application.

[0107] In particular, according to the embodiments of the present disclosure, the above reference Figure 2 The described processes may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program tangibly embodied on a machine-readable medium, the computer program comprising a computer program for executing Figure 2 The program code of the method.

[0108] It should be noted that the computer-readable medium shown in the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present application, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium such as a computer-readable storage medium that can send, propagate or transmit a program for use by or in conjunction with an instruction execution system, device or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.

[0109] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, program segment or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a different order from the order marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0110] The units or modules involved in the embodiments described in the present application may be implemented by software or hardware. The units or modules described may also be arranged in a processor. The names of these units or modules do not, in some cases, constitute limitations on the units or modules themselves.

[0111] As another aspect, the present application further provides a computer-readable storage medium, which may be included in the computer device described in the above embodiment, or may exist independently without being installed in the computer device. The above computer-readable storage medium stores one or more programs, and when the above programs are used by one or more processors to execute the method described in the present application. For example, it can be executed Figure 2 The individual steps of the method are shown.

[0112] The present application embodiment provides a computer program product, which includes instructions. When the instructions are executed, the method described in the present application embodiment is executed. For example, Figure 2 The individual steps of the method are shown.

[0113] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.

[0114] The above description is only a preferred embodiment of the present application and an explanation of the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the present application is not limited to the technical solution formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the inventive concept. For example, the above features are replaced with (but not limited to) technical features with similar functions disclosed in the present application.

Claims

1. A path planning method, characterized in that: The method comprises: Obtaining the area to be planned corresponding to the path to be planned, and determining the starting point and target point of the path to be planned; Generating a skeleton diagram of the area to be planned; the skeleton diagram is formed by connecting a plurality of skeleton lines, and the skeleton lines are generated by extending along the area between two adjacent obstacles and the area between the obstacle and the edge of the area to be planned; Determine sampling points within the range of the skeleton line, and perform sampling along the skeleton line within a preset step range based on the sampling points to determine expandable points; The expandable point is updated to a sampling point until an expandable point determined based on the updated sampling point meets a planning end condition, and a planning path is generated based on the starting point, at least one sampling point, at least one expandable point and the target point; the planning end condition includes at least one of a distance between the expandable point and the target point being less than a preset distance and a planning time reaching a preset time.

2. The method according to claim 1, characterized in that Determine the sampling points within the skeleton line range, including: Determine an initial sampling point on the skeleton line based on the starting point; The sampling points are determined by sampling along the skeleton line within a preset step length based on the initial sampling points.

3. The method according to claim 1, characterized in that The method further comprises: Each of the skeleton lines in the skeleton graph is directed along the direction from the starting point to the target point to obtain a directed skeleton graph.

4. The method according to claim 3, characterized in that The step of sampling along the skeleton line within a preset step range based on the sampling points to determine the expandable points includes: Constructing a sampling area with the sampling point as the center and the preset step length as the radius; Perform random sampling in the sampling area to obtain random sampling points; If the random sampling point meets the expandable condition, the random sampling point is determined to be an expandable point; the expandable condition includes that the random sampling point is not within the obstacle range, and the direction from the sampling point to the random sampling point is consistent with the direction of the skeleton line corresponding to the sampling point.

5. The method according to claim 4, characterized in that The method further comprises: If the random sampling point does not meet the expandable condition, re-sampling is performed in the sampling area corresponding to the sampling point to determine a new random sampling point until the new random sampling point meets the expandable condition.

6. The method according to claim 5, characterized in that The method further comprises: Record the number of random sampling points that do not meet the expandability condition, and obtain the number of expansion failures corresponding to the sampling area; When the number of expansion failures reaches a preset threshold, a target sampling area is selected from a plurality of constructed sampling areas according to the expansion success rate of each constructed sampling area; the expansion success rate is used to characterize the efficiency of the sampling area in determining the expandable point; An expandable point is determined in the target sampling area.

7. The method according to claim 6, characterized in that The process of determining the expansion success rate includes: The expansion success rate of the sampling area is determined based on the number of expansion failures of the sampling area and the number of expansion successes of the sampling area.

8. The method according to claim 6, characterized in that The method further comprises: Determine the sampling area whose expansion success rate is greater than the success rate threshold as an expansion advantage area; If the number of the continuous extended advantage regions is greater than the region number threshold, the end point of the skeleton line corresponding to the current sampling point is determined as the expandable point corresponding to the current sampling point.

9. The method according to claim 4, characterized in that The method further comprises: If the path between the sampling point and the random sampling point crosses the range of the obstacle, the midpoint between the sampling point and the random sampling point is updated to the random sampling point until there is no obstacle between the sampling point and the updated random sampling point, and the updated random sampling point satisfies the scalability condition, and the updated random sampling point is determined as the scalable point.

10. The method according to claim 1, characterized in that The method further comprises: Performing path planning based on the area to be planned, the skeleton map of the area to be planned, the starting point and the target point to generate multiple planned paths; Determine the length of each of the planned paths, and sort the multiple planned paths in ascending order of the length; The planned path ranked first is determined as the optimal path.

11. A path planning device, characterized in that: The device comprises: A determination module is used to obtain the area to be planned corresponding to the path to be planned, and determine the starting point and target point of the path to be planned; A generating module, used for generating a skeleton diagram of the area to be planned; the skeleton diagram is formed by connecting a plurality of skeleton lines, and the skeleton lines are generated by extending along the area between two adjacent obstacles and the area between the obstacle and the edge of the area to be planned; A sampling module, used to determine sampling points within the range of the skeleton line, and to determine expandable points based on the sampling points by sampling along the skeleton line within a preset step range; A planning module is used to update the expandable point to a sampling point until the expandable point determined based on the updated sampling point meets the planning end condition, and then generate a planned path based on the starting point, at least one sampling point, at least one expandable point and the target point; the planning end condition includes at least one of the distance between the expandable point and the target point being less than a preset distance and the planning time reaching a preset time.

12. An intelligent device, comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 10 are implemented.

13. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.

14. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.

Citation Information

Patent Citations

  • Unmanned aerial vehicle path planning method and device, storage medium and computer equipment

    CN109737967A

  • Path planning method, robot and computer readable storage medium

    CN110986953A

  • Unmanned aerial vehicle air route network automatic generation method considering specific structure

    CN113310491A

  • Bidirectional dynamic growth Inform-RRT* path planning method

    CN114877905A

  • Path planning method and system

    CN116069013A