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

By generating a skeleton graph and sampling along the skeleton lines to determine scalable points, the problem of high computational cost and high time cost of existing path planning algorithms is solved, and efficient path planning is achieved.

CN119509547BActive Publication Date: 2025-10-21BEIJING LINX SOFTWARE CORP
View PDF 1 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing path planning algorithms, such as the RRT algorithm, involve large computational loads and high time costs during the path planning process, and have limited sampling points in narrow channels, which affects the path planning effect.

Method used

By generating a skeleton map of the area to be planned, sampling is performed along the skeleton lines to determine scalable points and generate a planning path, avoiding global sampling and reducing computational load.

Benefits of technology

While ensuring the integrity of the sampling, it effectively reduces the amount of computation in the path planning process, thereby improving the efficiency and accuracy of path planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119509547B_ABST
    Figure CN119509547B_ABST
Patent Text Reader

Abstract

The application discloses a path planning method and device, equipment, storage medium and program product. The method comprises the following steps: acquiring a to-be-planned region 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 graph of the to-be-planned region; the skeleton graph is formed by connecting a plurality of skeleton lines, the skeleton lines are generated along a region between two adjacent obstacles and a region between an obstacle and an edge of the to-be-planned region; determining a sampling point in the range of the skeleton line, sampling in a preset step range along the skeleton line based on the sampling point to determine an expandable point; updating the expandable point to the sampling point until the expandable point determined based on the updated sampling point meets a planning end condition, and then generating a planning path based on the starting point, at least one sampling point, at least one expandable point and the target point. By using the method, the calculation amount in the path planning process is effectively reduced while ensuring the sampling integrity.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of path planning technology, and in particular to a path planning method, apparatus, device, storage medium, and program product. Background Art

[0002] Path planning is a key technology in the field of artificial intelligence, widely used in robotics, drones, automated logistics vehicles, and autonomous driving. Currently, the rapidly exploring random tree (RRT) algorithm is commonly used. This algorithm performs random sampling in the workspace and generates an extended tree based on the sampled points to implement path planning.

[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 desired to provide a path planning method, apparatus, device, storage medium and program product that 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:

[0006] Obtain the area to be planned corresponding to the path to be planned, and determine the starting point and destination point of the path to be planned;

[0007] 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 along the area between two adjacent obstacles and the area between the obstacles and the edge of the area to be planned;

[0008] Determine the sampling points within the skeleton line range, and perform sampling along the skeleton line within a preset step range based on the sampling points to determine the expandable points;

[0009] The expandable points are updated as sampling points until the expandable points determined based on the updated sampling points meet the planning end conditions, and a planned 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.

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

[0011] In combination with the first aspect, in a possible implementation, 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.

[0012] In combination with the first aspect, in one possible implementation, sampling is performed along the skeleton line within a preset step size based on the sampling point 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, then determining the random sampling point as 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.

[0013] In combination with the first aspect, in a possible implementation, the path planning method further 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.

[0014] 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 based on 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.

[0015] With reference to the first aspect, in a possible implementation, 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 and the number of expansion successes of the sampling area.

[0016] In combination with the first aspect, in a possible implementation, the path planning method further 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.

[0017] In combination with the first aspect, in a possible implementation, the path planning method further includes: if the path between the sampling point and the random sampling point crosses the range of an obstacle, updating the midpoint between the sampling point and the random sampling point 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 determining the updated random sampling point as an scalable point.

[0018] 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; and determining the planned path ranked first as the optimal path.

[0019] In a second aspect, the present application also provides a path planning device. The device includes:

[0020] The 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;

[0021] 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 along the area between two adjacent obstacles and the area between the obstacles and the edge of the area to be planned;

[0022] 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 range based on the sampling points to determine the expandable points;

[0023] A planning module is configured 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 planned 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 being less than a preset distance and the planning time reaching a preset time.

[0024] In a third aspect, the present application further provides an intelligent device, comprising 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.

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

[0026] 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, implements the method described in the first aspect.

[0027] The embodiments of the present application provide a path planning method, apparatus, device, storage medium and program product, which 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 a preset step range based on the sampling points to determine the expandable points, and the expandable points are updated to the sampling points until the expandable points determined based on the updated sampling points meet the planning end conditions, and then a planned path is generated 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 embodiments of the present application explore along the skeleton line that avoids obstacles, so that it can traverse various spacious or narrow channels formed between obstacles and between obstacles and the edge of the area to be planned, and avoid global sampling of non-obstacle areas, while ensuring the integrity of the sampling, effectively reducing the amount of calculation in the path planning process. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] Other features, objects and advantages of the present application will become more apparent upon reading the detailed description of non-limiting embodiments made with reference to the following drawings:

[0029] Figure 1 This is a schematic diagram of path planning in the prior art;

[0030] Figure 2 1 is a flow chart of a path planning method according to an embodiment;

[0031] Figure 3 A schematic diagram of path planning in one embodiment;

[0032] Figure 4 is another path planning schematic diagram in one embodiment;

[0033] Figure 5 is another flowchart of a path planning method according to an embodiment;

[0034] Figure 6 is another flowchart of a path planning method according to an embodiment;

[0035] Figure 7 is another flowchart of a path planning method according to an embodiment;

[0036] Figure 8 is another flowchart of a path planning method according to an embodiment;

[0037] Figure 9 is another path planning schematic diagram in one embodiment;

[0038] Figure 10 is another path planning schematic diagram in one embodiment;

[0039] Figure 11 is another path planning schematic diagram in one embodiment;

[0040] Figure 12 is another flowchart of a path planning method according to an embodiment;

[0041] Figure 13 FIG. 4 is a structural block diagram of a path planning device in one embodiment. DETAILED DESCRIPTION

[0042] The present application will be further described in detail below with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are merely for the purpose of explaining the relevant invention and are not intended to limit the invention. It should also be noted that, for ease of description, only portions relevant to the invention are shown in the accompanying drawings.

[0043] It should be noted that, in the absence of conflict, the embodiments in this 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 this application are used to distinguish different objects, rather than to describe a specific order of objects.

[0044] Path planning is a key technology in the field of artificial intelligence, widely used in robotics, drones, automated logistics vehicles, and autonomous driving. Currently, the rapidly exploring random tree (RRT) algorithm is commonly used. This algorithm performs random sampling in the workspace and generates an extended tree based on the sampled points to implement path planning.

[0045] However, if Figure 1 As shown in the figure, the RRT algorithm performs global sampling and tree expansion based on the workspace. As a result, time is wasted exploring unnecessary directions, such as dead ends, resulting in high time costs. Furthermore, the RRT algorithm's global sampling has fewer sampling points in narrow passages, which affects the planning possibilities of paths in narrow passages and, in turn, the path planning effect. Furthermore, when crossing obstacles during the expansion process, the entire tree must be traversed to determine the nearest leaf node, resulting in excessive computational complexity. Here, s is the starting point of the planned path, and g is the target point.

[0046] 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.

[0047] 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.

[0048] In one embodiment, Figure 2 As shown, a path planning method is provided, comprising the following steps:

[0049] Step 101: Acquire 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.

[0050] In the embodiment of the present application, the workspace information of the smart device, i.e., the area to be planned, is first obtained. For example, an image of the area to be planned can be captured 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 captured to construct a three-dimensional image of the area to be planned.

[0051] Next, the user can specify a starting point and a destination point on a 2D or 3D image of the area to be planned. The smart device then generates a planned path from the starting point to the destination based on the starting and destination points. The image of the area to be planned now includes information about obstacles, the starting point, and the destination point.

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

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

[0054] The skeleton graph is formed by connecting multiple skeleton lines. The skeleton lines are generated along the area between two adjacent obstacles and the area between obstacles and the edge of the area to be planned. In other words, the non-obstacle areas in the area to be planned are connected by the skeleton lines.

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

[0056] If the acquired image of the area to be planned is a 3D image, the intermediate curvature method can be used to generate the skeleton of the area to be planned. Specifically, the edges between obstacles (or between obstacles and the edge of the area to be planned) are first determined. Then, multiple sets of opposing points are identified on these opposing edges, with each set of opposing points corresponding to two curvatures. For each set of opposing points, the median value of the two curvatures (i.e., the intermediate curvature) is determined. Furthermore, the positions corresponding to each intermediate curvature are determined, and the skeleton is formed by connecting the positions of the intermediate center curvatures.

[0057] 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.

[0058] 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°.

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

[0060] 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.

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

[0062] 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 channels 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. While ensuring the completeness of the sampling, the amount of calculation is effectively reduced.

[0063] 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.

[0064] In one 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).

[0065] In one possible implementation, Figure 4 As shown in the figure, 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 extension is performed along the direction of the skeleton line corresponding to the sampling point.

[0066] 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 planned path based on the starting point, at least one sampling point, at least one expandable point and the target point.

[0067] In the embodiment of the present application, after determining the scalable point corresponding to a sampling point, the scalable point is updated to the sampling point, and the scalable point corresponding to the updated sampling point is determined. Specifically, the process of determining the scalable point corresponding to the sampling point, determining whether the scalable point meets the planning end condition, and updating the scalable point to the sampling point if the scalable point does not meet the planning end condition is executed in a loop.

[0068] The loop ends when the scalable point determined based on the updated sampling points meets the planning end criteria. For example, if the scalable point determined based on the updated sampling points is close to the target point and the distance between them is less than the preset distance, or if the cyclic sampling time (i.e., planning time) is long enough to reach the preset time. Finally, based on the starting point, all sampling points, scalable points (at least those that meet the planning end criteria), and the target point in the planning process are sequentially connected to form a planned path.

[0069] 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.

[0070] 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 to determine the expandable points, and the expandable points are updated to the sampling points until the expandable points determined based on the updated sampling points meet the planning end conditions, and then a planning path is generated 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 that avoids obstacles, so that it can traverse various spacious or narrow channels formed between obstacles and between obstacles and the edge of the area to be planned, and avoid global sampling of non-obstacle areas, while ensuring the integrity of the sampling, effectively reducing the amount of calculation in the path planning process.

[0071] The above-mentioned embodiment introduces a solution for 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: Figure 5 Steps shown:

[0072] Step 201: Determine an initial sampling point on the skeleton line based on the starting point.

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

[0074] In this 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 a preset step size range of the initial sampling point. This 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. A cyclic sampling process is then performed, wherein the scalable point corresponding to the sampling point is determined and the scalable point is updated as the sampling point, until the scalable point determined based on the updated sampling point meets the planning end condition.

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

[0076] In one possible implementation, when determining the expandable point corresponding to the initial sampling point, the random sampling point may be determined as 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).

[0077] 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.

[0078] The method provided in the embodiments of the present application first determines an initial sampling point on the skeleton line based on the starting point. Then, starting from the initial sampling point, sampling is performed along the skeleton line within a preset step size to determine the sampling point. This means that path exploration along the skeleton line begins from the initial sampling point, thereby reducing the path exploration process from the starting point to the initial sampling point, further reducing the computational complexity of the path planning process.

[0079] The embodiment described above introduces a solution 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:

[0080] Step 301: construct a sampling area with the sampling point as the center and the preset step size as the radius.

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

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

[0083] The scalable 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.

[0084] In the embodiment of the present application, a sampling area can be constructed with the sampling point as the center and a preset step size as the radius. Then, random sampling is performed within the sampling area to obtain a random sampling point. Then, a determination is made as to whether the random sampling point meets the scalability condition. If the random sampling point meets the scalability condition, that is, the random sampling point is not within the range of obstacles, 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 scalable point to ensure that the path is planned in the direction toward the target point.

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

[0086] 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.

[0087] That is, if the random sampling point is within the range of an obstacle, 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 within the sampling area to obtain a new random sampling point. It is then 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 the 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. The new random sampling point that meets the scalability condition is then determined as the scalable point.

[0088] 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 within the sampling area, and obtains a random sampling point. If 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, then 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 extends 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.

[0089] The above-mentioned embodiment provides a solution for determining the scalable point until the random sampling point in the sampling area corresponding to the sampling point satisfies the scalability condition. In another embodiment of the present application, when the random sampling point obtained by multiple samplings still does not meet the scalability condition, the current sampling area is discarded and re-sampling is performed based on another sampling area. This embodiment includes the following: Figure 7 Steps shown:

[0090] 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.

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

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

[0093] In an embodiment of the present application, for a certain sampling point, random sampling is performed within the sampling area of ​​the sampling point. 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.

[0094] 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 within the sampling area is: the random sampling points obtained by the first N sampling times do not meet the scalability condition, until the random sampling points obtained by the N+1th sampling time meet the scalability condition, then the scalability point is determined and sampling is stopped.

[0095] 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 expanding a certain sampling point before the current sampling area, 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.

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

[0097] The expansion success rate is used to measure the efficiency of the sampling area in determining expansion points. As can be understood, fewer expansion failures in the sampling area indicate a higher efficiency in determining expansion points, i.e., a higher expansion success rate. A higher expansion success rate also indicates fewer obstacles around the sampling area.

[0098] 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 discarded, 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 fallback path) is discarded, and the path is re-planned based on the expandable points re-determined in the target sampling area.

[0099] In one embodiment, a method for determining a sampling area expansion success rate includes determining the sampling area expansion success rate based on the number of sampling area expansion failures and the number of sampling area expansion successes. 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.

[0100] In one possible implementation, a correspondence between the number of expansion failures and the expansion success rate can be pre-set 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.

[0101] In the method provided in an embodiment of the present application, during sampling of a sampling area, the number of random sampling points that do not meet the expansion conditions can be recorded to obtain the number of expansion failures corresponding to the sampling area. Then, when the number of expansion failures reaches a preset threshold, a target sampling area is selected from multiple constructed sampling areas based on the expansion success rate of each constructed sampling area, and an expansion point is determined within the target sampling area. In the embodiment of the present application, when the number of expansion failures in a certain sampling area is high, the method can fall back to a constructed sampling area with a higher expansion success rate and re-expand it, thereby timely correcting the direction of the planned path and improving the success rate of the planned path.

[0102] The above embodiment introduces a solution 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:

[0103] Step 501: Determine a sampling area whose expansion success rate is greater than a success rate threshold as an expansion advantage area.

[0104] 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.

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

[0106] If the sampling areas corresponding to multiple consecutive sampling points are all extended advantage areas, the non-obstructed area where the current sampling point is located is determined to be large, 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 expansion point corresponding to the current sampling point. The line connecting the current sampling point and the end point of the skeleton line corresponding to the current sampling point is part of the planned path.

[0107] The method provided in this embodiment of the application can identify sampling areas with an expansion success rate greater than a success rate threshold as advantageous expansion areas. If the number of consecutive advantageous expansion areas exceeds a threshold, the endpoint of the skeleton line corresponding to the current sampling point is determined as the corresponding expansion point. In other words, when path expansion is relatively smooth, this embodiment of the application directly determines the expansion point across a considerable distance along the skeleton line, thus reducing time and improving path planning efficiency while ensuring expansion accuracy.

[0108] In one embodiment, if the path between the sampling point and the random sampling point crosses an obstacle range, in this case, the random sampling point needs to be re-determined. This embodiment includes the following steps:

[0109] 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.

[0110] 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.

[0111] like Figure 9 As shown in the figure, if the path between the sampling point and the random sampling point crosses the range of the obstacle, in this case, it indicates that there is no problem with the path expansion direction. Therefore, there is no need to retract a long distance. Retract to the midpoint between the sampling point and the random sampling point. That is, the midpoint between the sampling point and the random sampling point is updated as the random sampling point, and it is determined again whether the path between the sampling point and the updated random sampling point crosses the obstacle range. If it still crosses, the midpoint between the sampling point and the updated random sampling point is collected again and updated as the random sampling point. Until there is no obstacle between the sampling point and the updated random sampling point, it is determined whether the updated random sampling point meets the scalability condition. If the updated random sampling point meets the scalability condition, it is determined as the scalable point.

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

[0113] The method provided in an 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 an obstacle. This method continues until no obstacle exists between the sampling point and the updated random sampling point, and the updated random sampling point satisfies the scalability condition. The updated random sampling point is then determined as the scalable point. In response to situations where the path between the sampling point and the random sampling point crosses the range of an obstacle, the embodiment of the present application performs a partial path fallback based on the midpoint between the sampling point and the random sampling point. This avoids the prior art method of traversing an already constructed expansion tree to determine the tree node closest to the current random sampling point on the expansion tree. This effectively reduces the amount of computation while ensuring expansion accuracy.

[0114] The embodiment described above provides a path planning solution 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: Figure 12 Steps shown:

[0115] Step 601: Path planning is performed 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.

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

[0117] Step 603: Determine the planned path ranked first as the optimal path.

[0118] In the embodiment of the present application, since the expandable points determined during the sampling point expansion process are random, that is, the ultimately generated planned path is random, multiple path planning can be performed according to the above-described path planning method based on the area to be planned, the skeleton diagram of the area to be planned, the starting point, and the target point, to generate multiple planned paths. The length of each planned path is then determined, and the multiple planned paths are sorted in ascending order of length. The planned path ranked first is determined as the optimal path. In other words, the shortest planned path is determined as the optimal planned path.

[0119] 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 options and automatically selects the optimal path based on the length, improving the intelligence of the path planning method.

[0120] It should be noted that although the operations of the present method are described in a particular order in the accompanying drawings, this does not require or imply that the operations must be performed in that particular order, or that all of the illustrated operations must be performed to achieve the desired results. Rather, the steps depicted in the flowcharts may be performed in a different order. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into a single step, and / or a single step may be broken down into multiple steps.

[0121] In one embodiment, Figure 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:

[0122] 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 target point of the path to be planned.

[0123] The generating module 702 is used to generate a skeleton map of the area to be planned. The skeleton map is formed by connecting multiple skeleton lines. The skeleton lines are generated by extending along the area between two adjacent obstacles and the area between the obstacles and the edge of the area to be planned.

[0124] The sampling module 703 is used to 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.

[0125] Planning module 704 is configured to update the expandable points to sampling points until the expandable points determined based on the updated sampling points meet the planning termination 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 termination 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.

[0126] 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 along the skeleton line within a preset step range based on the initial sampling point to determine the sampling point.

[0127] 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.

[0128] In one embodiment, the sampling module 703 is specifically configured to construct a sampling area with the sampling point as the center and a preset step size as the radius; perform random sampling within the sampling area to obtain a random sampling point; and determine that the random sampling point is an expandable point if the random sampling point meets an expandable condition; the expandable condition includes that the random sampling point is not within an obstacle range and that 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.

[0129] In one embodiment, the path planning device further includes a resampling module for re-sampling in the sampling area corresponding to the sampling point if the random sampling point does not meet the scalability condition, and determining a new random sampling point until the new random sampling point meets the scalability condition.

[0130] 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 scalability conditions to 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 multiple constructed sampling areas based on 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 the scalable points are determined in the target sampling area.

[0131] In one embodiment, the selection module is further configured to determine a success rate of expansion 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.

[0132] In one embodiment, the path planning device further includes an expansion module for 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 a 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.

[0133] In one embodiment, the path planning device further includes an updating module for updating 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 an obstacle, until there is no obstacle between the sampling point and the updated random sampling point, and the updated random sampling point satisfies an extensibility condition, and then determining the updated random sampling point as an extensible point.

[0134] In one embodiment, the path planning device also includes a sorting module for 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; and determining the planned path ranked first as the optimal path.

[0135] It should be understood that the units or modules described 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 the browser or other security applications of the electronic device, or loaded into the browser or its security application of the electronic device by downloading or other means. 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.

[0136] The embodiments of the present application also provide an intelligent device, such as a robot, a drone, an automatic logistics vehicle, an autonomous driving vehicle, etc., for implementing the path planning method described in the embodiments of the present application.

[0137] 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 instructions for executing Figure 2 The program code of the method.

[0138] It should be noted that the computer-readable medium described herein may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying 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 thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wire, optical cable, RF, or any suitable combination thereof.

[0139] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present invention. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the module, program segment, or a part of 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 box can also occur in a different order than that marked in the accompanying drawings. For example, two 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 box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, 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.

[0140] The units or modules involved in the embodiments described in this application may be implemented in software or hardware. The units or modules described may also be provided in a processor. The names of these units or modules do not, in certain circumstances, constitute limitations on the units or modules themselves.

[0141] 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 assembled into 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.

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

[0143] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. 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 above-mentioned embodiments. In particular, any reference to memory, database, or other media 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), magnetic 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. By way of illustration and not limitation, RAM can take various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The databases involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processors involved in the various embodiments provided herein may be, but are not limited to, general-purpose processors, central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), programmable logic devices (PLDs), data processing logic devices based on quantum computing, and the like.

[0144] The above description is merely a preferred embodiment of the present application and an illustration of the technical principles employed. Those skilled in the art should understand that the scope of the invention herein is not limited to the technical solutions formed by the specific combination of the above-mentioned technical features, but also encompasses other technical solutions formed by any combination of the above-mentioned technical features or their equivalents without departing from the inventive concept. For example, a technical solution formed by replacing the above-mentioned features with (but not limited to) technical features having similar functions disclosed in this 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 graph of the area to be planned; the skeleton graph is formed by connecting a plurality of skeleton lines, the skeleton lines being generated by extending along the area between two adjacent obstacles and the area between an obstacle and an edge of the area to be planned; and directing each of the skeleton lines in the skeleton graph along the direction from the starting point to the target point to obtain a directed skeleton graph; Determine a sampling point within the range of the skeleton line, construct a sampling area with the sampling point as the center and the preset step size as the radius; perform random sampling within the sampling area to obtain a random sampling point; if the random sampling point meets an extensibility condition, determine the random sampling point as an extensible point; the extensibility 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; The expandable points are updated as sampling points until an expandable point determined based on the updated sampling points meets a planning end condition, and a planned path is generated based on the starting point, the at least one sampling point, the 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 Determining sampling points within the skeleton line range includes: 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 range based on the initial sampling points.

3. The method according to claim 1, characterized in that The method further comprises: 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.

4. The method according to claim 3, characterized in that The method further comprises: Record the number of random sampling points that do not meet the expansion 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 the 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.

5. The method according to claim 4, 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 successful expansions of the sampling area.

6. The method according to claim 4, characterized in that The method further comprises: Determine the sampling area where the 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.

7. The method according to claim 1, 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 meets the scalability condition, then the updated random sampling point is determined as the scalable point.

8. 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 graph of the area to be planned, the starting point, and the target point to generate multiple planned paths; Determining the length of each of the planned paths, and sorting the plurality of planned paths in ascending order of the length; The planned path ranked first is determined as the optimal path.

9. 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 generation module configured to generate a skeleton graph of the area to be planned; the skeleton graph is formed by connecting a plurality of skeleton lines, the skeleton lines being generated by extending along the area between two adjacent obstacles and the area between an obstacle and an edge of the area to be planned; and directing each of the skeleton lines in the skeleton graph along the direction from the starting point to the target point to obtain a directed skeleton graph; a sampling module configured to determine a sampling point within the range of the skeleton line, construct a sampling area with the sampling point as the center and the preset step size as the radius; perform random sampling within the sampling area to obtain a random sampling point; and determine the random sampling point as an expandable point if the random sampling point meets an expandable condition; 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; A planning module is configured to update the expandable points to sampling points until an expandable point determined based on the updated sampling points meets a planning termination 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 termination 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.

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

11. 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 8 are implemented.

12. 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 8 are implemented.

Citation Information

Patent Citations

  • Path planning method and device based on skeleton nodes and tree search

    CN116753941A