Path Planning Method, Apparatus, and Storage Medium

By constructing a sampling probability map and expanding path tree methods, combining gravitational potential field and repulsive potential field, the existing path planning methods are solved inefficient and non-optimal paths in complex environments, and fast and smooth path planning is achieved.

CN119779306BActive Publication Date: 2025-07-04MOORE THREADS TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411975668.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-07-04
Estimated Expiration
2044-12-30

AI Technical Summary

Technical Problem

The existing path planning methods have high complexity in complex dynamic environments, long planning time, and the planning path is often not the optimal solution.

Method used

A sampling probability map is constructed based on environmental information in global space, and the sampling probability of path points is determined using gravitational potential field and repulsive potential field, the target path is determined by extending the path tree, and the cubic B-spline curve is used for smoothing.

Benefits of technology

It improves the speed and efficiency of path planning, can quickly find the optimal solution in complex scenarios, and the generated path is smoother.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119779306B_ABST
    Figure CN119779306B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a path planning method, apparatus, and storage medium. The method includes: constructing a sampling probability map based on environmental information of the global space, where the environmental information includes information about target points and obstacles, and the sampling probability map represents path points in the global space and the probability of the path points being sampled, wherein the closer the path point is to the target point, the greater the probability of being sampled, and the closer the path point is to the obstacle, the smaller the probability of being sampled; sampling path points in the global space based on the sampling probability map to expand the path tree, where the path tree is composed of multiple path points; and determining a target path from the starting point to the target point based on the expanded path tree. According to the embodiments of the present application, the speed and efficiency of path planning can be improved, and the optimal solution for path planning can be quickly found for complex scenarios.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of artificial intelligence technology, and particularly to a path planning method, apparatus, and storage medium. Background Art

[0002] Path planning is a technique for determining the optimal path from a starting point to a target point, and it is widely applied in many application fields, such as navigation systems, autonomous vehicles, logistics, and transportation. In existing path planning methods, such as graph search-based algorithms, numerical optimization-based path planning algorithms, etc., they are generally applied in specific simple scenarios and are not suitable for complex dynamic environments. In some complex scenarios, the solution complexity is very high, and the planning time is relatively long. To balance efficiency, the planned path is often not the optimal path but a sub-optimal solution under certain conditions. Therefore, there is an urgent need for a new type of path planning method to improve the speed and efficiency of path planning. Summary of the Invention

[0003] In view of this, the present disclosure provides a path planning method, apparatus, and storage medium.

[0004] According to one aspect of the present disclosure, a path planning method is provided. The method includes:

[0005] Based on the environmental information of the global space, a sampling probability map is constructed. The environmental information includes the information of the target point and obstacles. The sampling probability map represents the path points in the global space and the probability of the path points being sampled, where the path points closer to the target point have a greater probability of being sampled, and the path points closer to the obstacles have a smaller probability of being sampled;

[0006] Based on the sampling probability map, path points are sampled in the global space to expand the path tree, and the path tree is composed of multiple path points;

[0007] Based on the expanded path tree, a target path from the starting point to the target point is determined.

[0008] In a possible implementation manner, constructing a sampling probability map based on the environmental information of the global space includes:

[0009] Based on the environmental information of the global space, the gravitational potential field and the repulsive potential field in the global space are determined. The gravitational potential field represents the gravitational force of each path point by the target point, and the repulsive potential field represents the repulsive force of each path point by the obstacles;

[0010] Based on the gravitational potential field and the repulsive potential field, the sampling probability map is determined.

[0011] In a possible implementation manner, sampling path points in the global space based on the sampling probability map to expand the path tree includes:

[0012] Generate a first random number and a second random number;

[0013] When the first random number is less than a preset threshold, sample path points other than obstacles in the global space to obtain the sampled path points. When the second random number is not greater than the sampled probability corresponding to the sampled path points in the sampling probability map, use the sampled path points as candidate expansion points;

[0014] When the first random number is not less than the preset threshold, use the target point as the candidate expansion point;

[0015] Expand the path tree based on the candidate expansion points.

[0016] In a possible implementation, expanding the path tree based on the candidate expansion points includes:

[0017] When the candidate expansion point meets the preset conditions and the distance between the candidate expansion point and the neighboring point is not greater than the preset step size, use the candidate expansion point as the target expansion point. The preset conditions include that the straight line connection between the candidate expansion point and the neighboring point closest to the candidate expansion point in the path tree does not pass through any obstacle;

[0018] When the distance between the candidate expansion point and the neighboring point is greater than the preset step size, use the intermediate path point on the straight line connection between the candidate expansion point and the neighboring point, whose distance from the candidate expansion point is not greater than the preset step size, as the target expansion point;

[0019] When the distance between the target expansion point and the target point is not less than the preset step size, add the target expansion point to the path tree to expand the path tree.

[0020] In a possible implementation, the preset conditions further include that the relative angle between the candidate expansion point and the neighboring point closest to the candidate expansion point in the path tree is less than the preset turning angle, and the relative angle is the angle between the orientation corresponding to the candidate expansion point and the connection line between the candidate point and the closest neighboring point.

[0021] In a possible implementation, expanding the path tree based on the candidate expansion points further includes:

[0022] When the distance between the target expansion point and the target point is less than the preset step size, stop expanding the path tree to obtain the expanded path tree.

[0023] In a possible implementation, determining the target path from the starting point to the target point based on the expanded path tree includes:

[0024] Use the backtracking method to determine the target path from the starting point to the target point in the expanded path tree.

[0025] In a possible implementation, the method further includes:

[0026] Smooth the target path based on a cubic B-spline curve to determine the smoothed target path.

[0027] According to another aspect of the present disclosure, a path planning device is provided. The device includes:

[0028] A construction module for constructing a sampling probability map based on the environmental information of the global space. The environmental information includes information about the target point and obstacles. The sampling probability map represents the path points in the global space and the probability of the path points being sampled. Among them, the path points closer to the target point have a greater probability of being sampled, and the path points closer to the obstacles have a smaller probability of being sampled;

[0029] A sampling module for sampling path points in the global space based on the sampling probability map to expand the path tree, where the path tree is composed of multiple path points;

[0030] A determination module for determining the target path from the starting point to the target point based on the expanded path tree.

[0031] In a possible implementation manner, the construction module is used for:

[0032] Based on the environmental information of the global space, determine the gravitational potential field and the repulsive potential field in the global space. The gravitational potential field represents the gravitational force of each path point on the target point, and the repulsive potential field represents the repulsive force of each path point on the obstacles;

[0033] Based on the gravitational potential field and the repulsive potential field, determine the sampling probability map.

[0034] In a possible implementation manner, the sampling module is used for:

[0035] Generate a first random number and a second random number;

[0036] When the first random number is less than a preset threshold, sample the path points other than the obstacles in the global space to obtain the sampled path points. When the second random number is not greater than the sampled probability corresponding to the sampled path points in the sampling probability map, use the sampled path points as candidate expansion points;

[0037] When the first random number is not less than the preset threshold, use the target point as the candidate expansion point;

[0038] Expand the path tree based on the candidate expansion points.

[0039] In a possible implementation manner, expanding the path tree based on the candidate expansion points includes:

[0040] When the candidate expansion point meets the preset conditions and the distance between the candidate expansion point and the neighboring point is not greater than the preset step size, the candidate expansion point is used as the target expansion point. The preset conditions include that the straight line connection between the candidate expansion point and the neighboring point in the path tree that is closest to the candidate expansion point does not pass through any obstacle;

[0041] When the distance between the candidate expansion point and the neighboring point is greater than the preset step size, a middle path point on the straight line connection between the candidate expansion point and the neighboring point, whose distance from the candidate expansion point is not greater than the preset step size, is used as the target expansion point;

[0042] When the distance between the target expansion point and the target point is not less than the preset step size, the target expansion point is added to the path tree to expand the path tree.

[0043] In a possible implementation, the preset conditions further include that the relative angle between the candidate expansion point and the neighboring point in the path tree that is closest to the candidate expansion point is less than the preset turning angle. The relative angle is the angle between the orientation corresponding to the candidate expansion point and the connection line between the candidate point and the closest neighboring point.

[0044] In a possible implementation, expanding the path tree based on the candidate expansion point further includes:

[0045] When the distance between the target expansion point and the target point is less than the preset step size, the expansion of the path tree is stopped to obtain the expanded path tree.

[0046] In a possible implementation, the determination module is configured to:

[0047] Use the backtracking method to determine the target path from the starting point to the target point in the expanded path tree.

[0048] In a possible implementation, the device further includes:

[0049] A smoothing processing module, configured to perform smoothing processing on the target path based on a cubic B-spline curve to determine the smoothed target path.

[0050] According to another aspect of the present disclosure, a path planning device is provided, including: a processor; a memory for storing instructions executable by the processor; wherein, the processor is configured to implement the above method when executing the instructions stored in the memory.

[0051] According to another aspect of the present disclosure, a non-volatile computer-readable storage medium is provided, on which computer program instructions are stored, wherein the computer program instructions implement the above method when executed by a processor.

[0052] According to another aspect of the present disclosure, there is provided a computer program product including computer-readable code or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code runs in a processor of an electronic device, the processor in the electronic device executes the above method.

[0053] According to an embodiment of the present application, by constructing a sampling probability map representing path points in the global space and the probability of the path points being sampled based on the environmental information of the global space, sampling the path points in the global space based on the sampling probability map to expand the path tree, making the sampling of path points more targeted during the path planning process, where the probability of sampling path points closer to the target point is greater, and the probability of sampling path points closer to obstacles is smaller, and determining the target path from the starting point to the target point based on the expanded path tree, the speed and efficiency of path planning can be improved, and the optimal solution for path planning can be quickly found for complex scenarios.

[0054] Other features and aspects of the present disclosure will become clear from the following detailed description of exemplary embodiments with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0055] The accompanying drawings, which are included in and constitute a part of this specification, illustrate exemplary embodiments, features, and aspects of the present disclosure together with the specification and are used to explain the principles of the present disclosure.

[0056] Figure 1 A schematic diagram showing an application scenario according to an embodiment of the present application.

[0057] Figure 2 A flowchart showing a path planning method according to an embodiment of the present application.

[0058] Figure 3 A schematic diagram showing a gravitational potential field according to an embodiment of the present application.

[0059] Figure 4 A schematic diagram showing a repulsive potential field according to an embodiment of the present application.

[0060] Figure 5 A schematic diagram showing a combined potential field according to an embodiment of the present application.

[0061] Figure 6 A schematic diagram showing a sampling probability map according to an embodiment of the present application.

[0062] Figure 7 A flowchart showing a path planning method according to an embodiment of the present application.

[0063] Figure 8 A flowchart showing a path planning method according to an embodiment of the present application.

[0064] Figure 9 A schematic diagram showing a smoothed target path according to an embodiment of the present application.

[0065] Figure 10 An effect diagram showing a path planning method according to an embodiment of the present application.

[0066] Figure 11 A structural diagram showing a path planning device according to an embodiment of the present application.

[0067] Figure 12 A block diagram of a device 1900 for path planning shown according to an exemplary embodiment. Detailed implementation manners

[0068] Various exemplary embodiments, features, and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. The same reference numerals in the drawings denote elements having the same or similar functions. Although various aspects of the embodiments are shown in the drawings, the drawings do not have to be drawn to scale unless otherwise specified.

[0069] The term "exemplary" used herein means "serving as an example, embodiment, or illustration". Any embodiment described herein as "exemplary" is not necessarily to be construed as superior or better than other embodiments.

[0070] In addition, for a better description of the present disclosure, numerous specific details are given in the following detailed implementation manners. Those skilled in the art should understand that the present disclosure can be implemented without some specific details. In some instances, methods, means, elements, and circuits well-known to those skilled in the art are not described in detail so as to highlight the gist of the present disclosure.

[0071] Path planning is a technology for determining the optimal path from a starting point to a target point, and it is widely used in many application fields, such as navigation systems, autonomous vehicles, logistics, and transportation. Among the existing path planning methods, such as algorithms based on graph search, path planning algorithms based on numerical optimization, etc., are generally applied in specific simple scenarios and are not suitable for complex dynamic environments. The solution complexity in some complex scenarios is very high, and the planning time will be relatively long. In order to balance efficiency, the planned path is often not the optimal path, but only a sub-optimal solution under certain conditions. Therefore, there is an urgent need for a new type of path planning method to improve the speed and efficiency of path planning.

[0072] In view of this, the present application proposes a path planning method, apparatus, and storage medium. The method constructs a sampling probability map representing path points in the global space and the probability of the path points being sampled based on the environmental information of the global space, samples the path points in the global space based on the sampling probability map to expand the path tree, making the sampling of path points more targeted during the path planning process, where the probability of sampling path points closer to the target point is greater, and the probability of sampling path points closer to obstacles is smaller. The target path from the starting point to the target point is determined based on the expanded path tree, which can improve the speed and efficiency of path planning and quickly find the optimal solution for path planning in complex scenarios.

[0073] Figure 1 The schematic diagram showing an application scenario according to an embodiment of the present application. The method of the embodiment of the present application can be used in scenarios such as path planning for a mobile robot in a multi-obstacle avoidance scenario as shown in Figure 1 the figure. In the figure, it is an obstacle map in a multi-obstacle avoidance scenario. The black quadrilateral blocks in the map can respectively represent different obstacles, the green point can represent the starting point of the mobile robot, and the yellow point can represent the target point of the mobile robot. Based on the method of the embodiment of the present application, path planning can be performed based on the environmental information provided by the obstacle map in the figure, and a target path from the starting point to the target point can be determined (the target path can be the shortest path for the mobile robot from the starting point to the target point that meets the constraint conditions) to achieve path planning for the mobile robot.

[0074] The method of the embodiment of the present application can also be applied to other path planning scenarios, such as path planning in an autonomous driving scenario, etc. The present application does not limit this.

[0075] The method of the embodiment of the present application can be used in a terminal device or a server. Among them, the terminal device can be any one or more of a mobile phone, a foldable electronic device, a tablet computer, a desktop computer, a laptop computer, a handheld computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a cellular phone, a personal digital assistant (PDA), and a vehicle-mounted device. The present application does not impose special restrictions on the specific type of the terminal device, and it can have wired or wireless communication functions.

[0076] The server can be located locally or in the cloud and can be a physical device or a virtual device, such as a virtual machine, a container, etc., and has a wireless communication function. Among them, the wireless communication function can be set in the chip (system) or other components or assemblies of the server. The wireless communication function can be implemented, for example, through mobile communication technologies such as 2G / 3G / 4G / 5G, as well as Wi-Fi, Bluetooth, frequency modulation (FM), data radio, satellite communication, etc. Communication can also be carried out through wired connection to achieve interaction with other devices.

[0077] The following will introduce Figures 2 to 10 the path planning method of the embodiments of the present application.

[0078] Figure 2 The flowchart showing the path planning method according to an embodiment of the present application. This method can be used for a terminal device or a server, such as Figure 2 shown, this method may include:

[0079] Step S201, construct a sampling probability map based on the environmental information of the global space.

[0080] Among them, the global space can represent the space for path planning (such as a two-dimensional space). Each point in the non-obstacle area of the global space can be called a path point. The path points can be preset, and an object can travel along the path points. The environmental information can be determined in advance and includes information about the target point and obstacles. The information about the target point can include the position of the target point, and the information about the obstacles can include the position and size of the obstacles. There can be multiple obstacles in the global space.

[0081] The sampling probability map represents the path points in the global space and the probability of the path points being sampled. Among them, the path points closer to the target point have a greater probability of being sampled, and the path points closer to the obstacles have a smaller probability of being sampled.

[0082] In the embodiments of the present application, an artificial potential field can be introduced to construct the sampling probability map. Assume that an object (i.e., the object of path planning, such as a mobile robot) moves under a virtual force field, and regard the target point of path planning and the obstacles during driving as objects with gravitational and repulsive forces on the mobile robot respectively to assist in path point sampling. See the following.

[0083] This step S201 may include:

[0084] Based on the environmental information of the global space, determine the gravitational potential field and the repulsive potential field in the global space; based on the gravitational potential field and the repulsive potential field, determine the sampling probability map.

[0085] Among them, the gravitational potential field can be determined based on the target point information in the global space, and the repulsive potential field can be determined based on the obstacle information in the global space. The gravitational potential field can represent the gravitational force of each path point by the target point, and the repulsive potential field can represent the repulsive force of each path point by the obstacle.

[0086] In order to minimize the probability of sampling path points near obstacles and maximize the probability of sampling path points near the target point, a quadratic power potential field function can be selected as the gravitational potential field, and a reciprocal form of the potential field function can be selected as the repulsive potential field to construct a sampling probability map based on the environmental information of the global space. Thus, the potential field function of the obtained gravitational potential field can be seen in Formula (1):

[0087]

[0088] Among them, U1 can represent the gravitational potential field. k1 represents a scale factor, which is a preset parameter. X can represent the current position of the object, and X g can represent the target point position. m is a preset parameter (for example, 2). ρ1 can represent the influence radius of the target point (that is, outside the influence radius of the target point, the target point has no gravitational influence on the object).

[0089] The potential field function of the obtained repulsive potential field can be seen in Formula (2):

[0090]

[0091] Among them, U0 can represent the repulsive potential field. k0 represents a scale factor, which is a preset parameter. n is a preset parameter. ρ can represent the distance between the object and the obstacle, and ρ0 can represent the influence radius of the obstacle (that is, outside the influence radius of the obstacle, the obstacle has no repulsive influence on the object).

[0092] Taking Figure 1 the obstacle map shown as an example, the gravitational potential field constructed according to the environmental information therein can be seen in Figure 3 , showing a schematic diagram of the gravitational potential field according to an embodiment of the present application. As Figure 3 shown, the x-axis and y-axis can be used to represent each path point in the obstacle map, and the z-axis can be used to represent the magnitude of the gravitational force of each path point by the target point.

[0093] Taking Figure 1 the obstacle map shown as an example, the repulsive potential field constructed according to the environmental information therein can be seen in Figure 4 , showing a schematic diagram of the repulsive potential field according to an embodiment of the present application. As Figure 4 shown, the x-axis and y-axis can be used to represent each path point in the obstacle map, and the z-axis can be used to represent the magnitude of the repulsive force of each path point by the obstacle.

[0094] Other forms of potential field functions (such as high - power function form, exponential form, etc.) can also be selected to construct the gravitational potential field and the repulsive potential field. This application does not limit this, as long as the probability of sampling the path points closer to the target point is greater, and the probability of sampling the path points closer to the obstacle is smaller.

[0095] The gravitational potential field and the repulsive potential field can be superimposed to determine the combined potential field. The combined potential field can represent the resultant force of gravity and repulsion on each path point. Refer to Figure 5 , which shows a schematic diagram of the combined potential field according to an embodiment of the present application. As Figure 5 shown, based on the combined potential field obtained by superimposing the gravitational potential field and the repulsive potential field as shown in Figure 3 and Figure 4 shown, in the combined potential field, the x - axis and the y - axis can be used to represent each path point, and the z - axis can be used to represent the magnitude of the resultant force of gravity and repulsion on each path point.

[0096] Based on the combined potential field, a sampling probability map can be constructed. The resultant force in the combined potential field can be associated with the sampling probability, such that the path points corresponding to the greater resultant force in the combined potential field have a greater corresponding probability in the sampling probability map. The specific association method between the probability and the resultant force is not limited. Refer to Figure 6 , which shows a schematic diagram of the sampling probability map according to an embodiment of the present application. Based on the combined potential field as shown in Figure 5 shown, the sampling probability map as shown in Figure 6 can be obtained. Among them, the x - axis and the y - axis can be used to represent each path point, and the z - axis can be used to represent the probability of sampling each path point (the value ranges from (0, 1)). The positions with a large probability in the sampling probability map can indicate that there are no obstacles here and no obstacles within a certain range around, and on the contrary, the positions with a small probability can indicate that there are obstacles here or there are obstacles within a certain range around.

[0097] Thus, it can not only improve the efficiency of subsequent path planning, but also solve the problems of the target being unreachable or falling into local minima, combining the advantages of the artificial potential field and the sampling algorithm.

[0098] In this application, by introducing the artificial potential field method to construct the sampling probability map for sampling, the target point and obstacle information in the existing environment can be utilized, reducing the randomness of the generation of sampling points, making the generation of sampling more targeted, and improving the sampling efficiency and shortening the sampling time in the subsequent path planning process.

[0099] Step S202: Sample path points in the global space based on the sampling probability map to expand the path tree.

[0100] Among them, a sampling-based motion planning algorithm (rapidly-exploring random trees, RRT) can be used to sample path points in the global space based on a sampling probability map. The path tree can be composed of multiple path points. The path points in the path tree can be called nodes, and the connection lines between nodes are the edges of the path tree. Taking a mobile robot as an example, the root node (q_init) in the path tree can be the starting point of the mobile robot, and the state of the node can represent the current position and heading angle of the mobile robot (i.e., the orientation of the mobile robot).

[0101] The process of expanding the path tree can be referred to as follows.

[0102] Figure 7 The flowchart showing the path planning method according to an embodiment of the present application is as follows Figure 7 As shown, this step S202 may include:[[]]

[0103] Step S701, generating a first random number and a second random number.

[0104] The value ranges of the first random number and the second random number are (0, 1). Based on the relationship between the first random number and a preset threshold, sampling based on the sampling probability map or goal-directed sampling can be selected.

[0105] Step S702, in the case where the first random number is less than the preset threshold, sampling path points other than obstacles in the global space to obtain the sampled path points, and in the case where the second random number is not greater than the sampled probability corresponding to the sampled path points in the sampling probability map, using the sampled path points as candidate expansion points.

[0106] Sampling can be performed in the obstacle-free space (X_free). The preset threshold can be set between 5% and 10%.

[0107] Based on the sampling probability map, path points with a higher corresponding probability are more likely to be sampled.

[0108] Thus, the probability of sampling path points closer to the target point can be made larger, and the probability of sampling path points closer to the obstacle can be made smaller, reducing the randomness of the generation of sampling points and making the generation of sampling more targeted.

[0109] In the case where the second random number is greater than the sampled probability corresponding to the sampled path points in the sampling probability map, the sampled path points can be discarded and the next sampling can be performed.

[0110] Step S703, in the case where the first random number is not less than the preset threshold, using the target point as the candidate expansion point.

[0111] At this time, target - oriented sampling is performed, whereby the path tree can grow towards the target point, making the expansion of the path tree more targeted and improving the convergence speed of path planning.

[0112] Step S704: Expand the path tree based on the candidate expansion point.

[0113] By introducing the first random number to determine the candidate expansion point, the RRT algorithm with the target - bias strategy in this application can improve the target - orientation during the sampling of the RRT algorithm.

[0114] Figure 8 The flowchart showing the path - planning method according to an embodiment of this application is as follows. Figure 8 As shown, this S704 may include:

[0115] Step S801: When the candidate expansion point meets the preset conditions and the distance between the candidate expansion point and the nearest neighbor point is not greater than the preset step size, use the candidate expansion point as the target expansion point.

[0116] Collision detection can be performed on the candidate expansion point (q_rand) and the nearest neighbor point (q_nearest). The preset conditions can represent the constraints of collision detection. Among them, the preset conditions include that the straight - line connection between the candidate expansion point and the nearest neighbor point in the path tree that is closest to the candidate expansion point does not pass through any obstacle.

[0117] For example, in the scenario of a mobile robot, the preset step size can be set according to the mechanical structure and kinematic model of the mobile robot, such as the maximum movement step size of the mobile robot.

[0118] Optionally, the preset conditions can also represent angular - turn constraints, including that the relative angle between the candidate expansion point and the nearest neighbor point in the path tree that is closest to the candidate expansion point is less than the preset turning angle. This relative angle is the angle between the orientation corresponding to the candidate expansion point and the connection line between the candidate point and the nearest neighbor point.

[0119] For example, in the scenario of a mobile robot, the preset turning angle can be set according to the mechanical structure and kinematic model of the mobile robot, such as the maximum turning angle of the mobile robot.

[0120] When the candidate expansion point does not meet the preset conditions, the candidate expansion point can be discarded and the next sampling can be performed.

[0121] Step S802: When the distance between the candidate expansion point and the nearest neighbor point is greater than the preset step size, use the intermediate path point on the straight - line connection between the candidate expansion point and the nearest neighbor point, whose distance from the candidate expansion point is not greater than the preset step size, as the target expansion point.

[0122] For example, the candidate expansion point (q_rand) and the nearest neighbor point (q_nearest) can be connected, and the intermediate node q_mid of the intermediate path point on the line connecting the two nodes and whose distance from q_rand is not greater than the preset step size is used as the new expansion node (i.e., the target expansion point).

[0123] Step S803, when the distance between the target expansion point and the target point is not less than the preset step size, add the target expansion point to the path tree to expand the path tree.

[0124] For example, the target expansion point can be used as a new leaf node in the path tree.

[0125] Optionally, this S704 may further include:

[0126] Step S804, when the distance between the target expansion point and the target point is less than the preset step size, stop expanding the path tree to obtain the expanded path tree.

[0127] At this time, it can be considered that the target point is searched and the search ends.

[0128] Otherwise, when the distance between the target expansion point and the target point is not less than the preset step size, return and continue to execute S701 and the subsequent steps to continue expanding the path tree until the condition in S804 is met, and then stop expanding the path tree to obtain the expanded path tree.

[0129] Return to see Figure 2 :

[0130] Step S203, determine the target path from the starting point to the target point based on the expanded path tree.

[0131] The target path includes each node between the starting point and the target point in the expanded path tree.

[0132] Among them, the backtracking method can be used to determine the target path from the starting point to the target point in the expanded path tree.

[0133] According to the embodiments of the present application, by constructing a sampling probability map representing the path points in the global space and the probability of the path points being sampled based on the environmental information of the global space, sampling the path points in the global space based on the sampling probability map to expand the path tree, making the sampling of the path points more targeted during the path planning process, where the probability of sampling the path points closer to the target point is greater, and the probability of sampling the path points closer to the obstacle is smaller, and determining the target path from the starting point to the target point based on the expanded path tree, the speed and efficiency of path planning can be improved, and the optimal solution of path planning can be quickly found for complex scenarios.

[0134] To make the target path obtained by the planning smoother and directly trackable by objects such as mobile robots, the method may further include:

[0135] Smoothing the target path based on a cubic B-spline curve to determine the smoothed target path.

[0136] Among them, the equation of the cubic B-spline curve can be seen in formula (3):

[0137] B(u) = B 0,3 (u)P0 + B 1,3 (u)P1 + B 2,3 (u)P2 + B 3,3 (u)P3 Formula (3)

[0138] Among them, B(u) can represent the control curve, u can represent a set of continuously changing values of a non-decreasing sequence called the knot vector, and its first and last values are defined as 0 and 1. P0 to P3 can represent the characteristic points of the control curve, that is, the path points in the target path. B 0,3 (u) to B 3,3 (u) can represent the basis function of the cubic B-spline. Among them,

[0139]

[0140] Figure 9 A schematic diagram showing the smoothed target path according to an embodiment of the present application. As Figure 9 shown, in the scenario of the multi-obstacle map shown in Figure 1 , the target path is composed of the green path points (which are the nodes on the path tree) in the figure. The abscissa and ordinate can represent the positions of the path points in the map. The target path obtained after smoothing is the blue connection line connecting the green points, which can be directly tracked by objects such as mobile robots.

[0141] The effects of the path planning method in the embodiments of the present application can be seen in Table 1:

[0142] Table 1

[0143] Evaluation index Value Planned time 1.0555s Number of nodes on the target path 99.3300 Path length 291.4236

[0144] It can be seen that the path planning method in the embodiments of the present application requires short planning time, few nodes on the target path, and short path length.

[0145] Figure 10 A schematic diagram showing the effect of the path planning method according to an embodiment of the present application. Figure 10The performance of the method according to the embodiments of the present application in the multi-obstacle avoidance scenario is better demonstrated by a column chart, where RRT is the existing RRT algorithm, RRT-P is the path planning method with goal orientation added to the RRT algorithm, RRT-P-steer is the path planning method with goal orientation and turning angle constraints added to the RRT algorithm, and RRT-APF is the path planning method based on artificial potential field inspired sampling in the RRT algorithm (i.e., the method according to the embodiments of the present application).

[0146] As can be seen from Figure 10 In the multi-obstacle avoidance scenario, in terms of time, the RRT-APF algorithm is 1.0555 s, which is 87.88% higher than the 8.7076 s of the RRT-P algorithm; in terms of the number of nodes, the RRT-APF algorithm is 99.33, which is 82.02% higher than the 552.42 of the RRT-P algorithm.

[0147] Figure 11 The structural diagram of a path planning device according to an embodiment of the present application is shown. As Figure 11 shown, the device includes:

[0148] A construction module 1101, configured to construct a sampling probability map based on the environmental information of the global space, where the environmental information includes information about the target point and obstacles, and the sampling probability map represents the path points in the global space and the probability of the path points being sampled, where the path points closer to the target point have a greater probability of being sampled, and the path points closer to the obstacles have a smaller probability of being sampled;

[0149] A sampling module 1102, configured to sample path points in the global space based on the sampling probability map to expand the path tree, and the path tree is composed of multiple path points;

[0150] A determination module 1103, configured to determine a target path from the starting point to the target point based on the expanded path tree.

[0151] In a possible implementation manner, the construction module 1101 is configured to:

[0152] Based on the environmental information of the global space, determine the gravitational potential field and the repulsive potential field in the global space, where the gravitational potential field represents the gravitational force of each path point on the target point, and the repulsive potential field represents the repulsive force of each path point on the obstacle;

[0153] Based on the gravitational potential field and the repulsive potential field, determine the sampling probability map.

[0154] In a possible implementation manner, the sampling module 1102 is configured to:

[0155] Generate a first random number and a second random number;

[0156] When the first random number is less than a preset threshold, sample path points other than obstacles in the global space to obtain the sampled path points. When the second random number is not greater than the sampled probability corresponding to the sampled path point in the sampling probability map, use the sampled path point as a candidate expansion point;

[0157] When the first random number is not less than the preset threshold, use the target point as a candidate expansion point;

[0158] Expand the path tree based on the candidate expansion point.

[0159] In a possible implementation, expanding the path tree based on the candidate expansion point includes:

[0160] When the candidate expansion point meets the preset conditions and the distance between the candidate expansion point and the neighbor point is not greater than the preset step size, use the candidate expansion point as the target expansion point. The preset conditions include that the straight line connection between the candidate expansion point and the neighbor point in the path tree that is closest to the candidate expansion point does not pass through any obstacle;

[0161] When the distance between the candidate expansion point and the neighbor point is greater than the preset step size, use the intermediate path point on the straight line connection between the candidate expansion point and the neighbor point, whose distance from the candidate expansion point is not greater than the preset step size, as the target expansion point;

[0162] When the distance between the target expansion point and the target point is not less than the preset step size, add the target expansion point to the path tree to expand the path tree.

[0163] In a possible implementation, the preset conditions further include that the relative angle between the candidate expansion point and the neighbor point in the path tree that is closest to the candidate expansion point is less than the preset turning angle, and the relative angle is the angle between the orientation corresponding to the candidate expansion point and the connection line between the candidate point and the closest neighbor point.

[0164] In a possible implementation, expanding the path tree based on the candidate expansion point further includes:

[0165] When the distance between the target expansion point and the target point is less than the preset step size, stop expanding the path tree to obtain the expanded path tree.

[0166] In a possible implementation, the determination module 1103 is used for:

[0167] Use the backtracking method to determine the target path from the starting point to the target point in the expanded path tree.

[0168] In a possible implementation, the device further includes:

[0169] A smoothing module, configured to smooth a target path based on a cubic B-spline curve to determine the smoothed target path.

[0170] According to an embodiment of the present application, by constructing a sampling probability map representing path points in the global space and the probability of the path points being sampled based on the environmental information in the global space, sampling path points in the global space based on the sampling probability map to expand the path tree, making the sampling of path points more targeted during the path planning process, where the probability of sampling path points closer to the target point is greater, and the probability of sampling path points closer to obstacles is smaller, and determining a target path from the starting point to the target point based on the expanded path tree can improve the speed and efficiency of path planning, and can quickly find the optimal solution for path planning in complex scenarios.

[0171] In some embodiments, the functions or modules included in the apparatus provided by the embodiments of the present disclosure can be used to execute the methods described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments. For the sake of brevity, it will not be elaborated here.

[0172] The embodiments of the present disclosure also propose a computer-readable storage medium, on which computer program instructions are stored, and when the computer program instructions are executed by a processor, the above methods are implemented. The computer-readable storage medium can be a volatile or non-volatile computer-readable storage medium.

[0173] The embodiments of the present disclosure also propose a path planning apparatus, including: a processor; a memory for storing instructions executable by the processor; wherein, the processor is configured to implement the above methods when executing the instructions stored in the memory.

[0174] The embodiments of the present disclosure also provide a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code, and when the computer-readable code runs in a processor of an electronic device, the processor in the electronic device executes the above methods.

[0175] Figure 12 is a block diagram of an apparatus 1900 for path planning shown according to an exemplary embodiment. For example, the apparatus 1900 can be provided as a server or a terminal device. Referring to Figure 12 , the apparatus 1900 includes a processing component 1922, which further includes one or more processors, and memory resources represented by a memory 1932 for storing instructions executable by the processing component 1922, such as application programs. The application programs stored in the memory 1932 can include one or more modules each corresponding to a set of instructions. In addition, the processing component 1922 is configured to execute instructions to perform the above methods.

[0176] The apparatus 1900 may further include a power supply component 1926 configured to perform power management of the apparatus 1900, a wired or wireless network interface 1950 configured to connect the apparatus 1900 to a network, and an input / output interface 1958 (I / O interface). The apparatus 1900 may operate based on an operating system stored in the memory 1932, such as Windows Server TM , MacOS X TM , Unix TM , Linux TM , FreeBSD TM or the like.

[0177] In an exemplary embodiment, a non-transitory computer-readable storage medium is also provided, such as the memory 1932 including computer program instructions, and the computer program instructions can be executed by the processing component 1922 of the apparatus 1900 to complete the above method.

[0178] The present disclosure may be a system, a method, and / or a computer program product. The computer program product may include a computer-readable storage medium having thereon computer-readable program instructions for causing a processor to implement various aspects of the present disclosure.

[0179] The computer-readable storage medium may be a tangible device that can retain and store instructions for use by an instruction execution device. The computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium include: 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), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), a memory stick, a floppy disk, a mechanically encoded device such as a punched card or raised structures in grooves having instructions stored thereon, and any suitable combination of the foregoing. The computer-readable storage medium as used herein is not construed as being a transitory signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated through a waveguide or other transmission medium (e.g., an optical pulse through an optical fiber cable), or an electrical signal transmitted through a wire.

[0180] The computer-readable program instructions described herein can be downloaded to various computing / processing devices from a computer-readable storage medium or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in each computing / processing device.

[0181] The computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state-setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, executed as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, by using the state information of the computer-readable program instructions to customize an electronic circuit, such as a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA), the electronic circuit can execute the computer-readable program instructions to implement various aspects of the present disclosure.

[0182] Aspects of the present disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0183] These computer-readable program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine such that the instructions, when executed by the processor of the computer or other programmable data processing apparatus, create an apparatus that implements the functions / acts specified in one or more boxes of the flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium that causes a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer-readable medium storing the instructions comprises a manufacture including instructions that implement various aspects of the functions / acts specified in one or more boxes of the flowchart and / or block diagram.

[0184] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process such that the instructions executed on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in one or more boxes of the flowchart and / or block diagram.

[0185] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of code, or a portion of an instruction, and the module, segment of code, or portion of an instruction may include one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions noted in the boxes may occur out of the order noted in the figures. For example, two consecutive blocks may in fact be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented by a dedicated hardware-based system that performs the specified functions or acts, or by a combination of dedicated hardware and computer instructions.

[0186] The embodiments of the present disclosure have been described above. The above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art in the field without departing from the scope and spirit of the described embodiments. The choice of terms used herein is intended to best explain the principles of the embodiments, the practical application, or improvements made to the technology in the market, or to enable other ordinary skilled persons in the art in the field to understand the embodiments disclosed herein.

Claims

1. A path planning method, characterized in that, The method includes: Based on the environmental information in the global space, constructing a sampling probability map, where the environmental information includes information about target points and obstacles, and the sampling probability map represents the path points in the global space and the probability of the path points being sampled. Among them, the path points closer to the target point have a greater probability of being sampled, and the path points closer to the obstacles have a smaller probability of being sampled; Sampling the path points in the global space based on the sampling probability map to expand the path tree, including: Generating a first random number and / or a second random number; the first random number is used to select sampling based on the sampling probability map to determine the sampled path point, or to perform target-oriented sampling to determine the candidate expansion point; the second random number is used to determine the candidate expansion point from the sampled path points; expanding the path tree based on the candidate expansion point, and the path tree is composed of multiple path points; Determining the target path from the starting point to the target point based on the expanded path tree.

2. The method according to claim 1, wherein The constructing the sampling probability map based on the environmental information in the global space includes: Based on the environmental information in the global space, determining the gravitational potential field and the repulsive potential field in the global space, where the gravitational potential field represents the gravitational force of each path point on the target point, and the repulsive potential field represents the repulsive force of each path point on the obstacles; Determining the sampling probability map based on the gravitational potential field and the repulsive potential field.

3. The method according to claim 1, wherein The sampling the path points in the global space based on the sampling probability map to expand the path tree includes: Generating a first random number and a second random number; When the first random number is less than a preset threshold, sampling the path points other than the obstacles in the global space to obtain the sampled path point. When the second random number is not greater than the sampling probability corresponding to the sampled path point in the sampling probability map, using the sampled path point as the candidate expansion point; When the first random number is not less than the preset threshold, using the target point as the candidate expansion point; Expanding the path tree based on the candidate expansion point.

4. The method according to claim 3, characterized in that, The expanding the path tree based on the candidate expansion point includes: When the candidate expansion point meets the preset conditions and the distance between the candidate expansion point and the neighbor point is not greater than the preset step size, using the candidate expansion point as the target expansion point, where the preset conditions include that the straight line connection between the candidate expansion point and the neighbor point closest to the candidate expansion point in the path tree does not pass through any obstacle; When the distance between the candidate expansion point and the neighbor point is greater than the preset step size, using the intermediate path point on the straight line connection between the candidate expansion point and the neighbor point and with a distance not greater than the preset step size from the candidate expansion point as the target expansion point; When the distance between the target expansion point and the target point is not less than the preset step size, adding the target expansion point to the path tree to expand the path tree.

5. The method according to claim 4, characterized in that, The preset condition further includes that the relative angle between the candidate expansion point and the nearest neighbor point in the path tree to the candidate expansion point is less than a preset steering angle, and the relative angle is the angle between the orientation corresponding to the candidate expansion point and the line connecting the candidate point and the nearest neighbor point.

6. The method according to claim 4, wherein The expanding of the path tree based on the candidate expansion point further includes: When the distance between the target expansion point and the target point is less than a preset step length, stop expanding the path tree to obtain the expanded path tree.

7. The method according to claim 1, characterized in that The determining of the target path from the starting point to the target point based on the expanded path tree includes: Using the backtracking method to determine the target path from the starting point to the target point in the expanded path tree.

8. The method according to claim 1, characterized in that, The method further includes: Smoothing the target path based on a cubic B-spline curve to determine the smoothed target path.

9. A path planning device, characterized in that, The device includes: A construction module, configured to construct a sampling probability map based on the environmental information of the global space, where the environmental information includes information about the target point and obstacles, and the sampling probability map represents the path points in the global space and the probability of the path points being sampled, and the closer the path point is to the target point, the greater the probability of being sampled, and the closer the path point is to the obstacle, the smaller the probability of being sampled; A sampling module, configured to sample the path points in the global space based on the sampling probability map to expand the path tree, including: Generating a first random number and / or a second random number; the first random number is used to select sampling based on the sampling probability map to determine the sampled path point, or to perform target-directed sampling to determine the candidate expansion point; the second random number is used to determine the candidate expansion point from the sampled path points; expanding the path tree based on the candidate expansion point, and the path tree is composed of multiple path points; A determination module, configured to determine the target path from the starting point to the target point based on the expanded path tree.

10. A path planning device, characterized in that, including: A processor; A memory for storing instructions executable by the processor; wherein, the processor is configured to implement the method according to any one of claims 1 to 8 when executing the instructions stored in the memory.

11. A non-volatile computer-readable storage medium having computer program instructions stored thereon, characterized in that, The computer program instructions, when executed by the processor, implement the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Unmanned surface vehicle path planning method based on Bi-RRT algorithm guided by improved artificial potential field method

    CN114545931A

  • RRT-based path planning method, system and equipment and storage medium

    CN118730151A