Path Planning Method, Apparatus, Device and Computer Readable Storage Medium
By calculating the homoequivalence value of the initial path in the autonomous driving path planning, the problem of difficulty in determining the optimal path in the prior art is solved, and fast and efficient path planning is achieved.
Patent Information
- Application Number
- CN202110783408.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-07-12
- Publication Date
- 2025-06-13
- Estimated Expiration
- 2041-07-12
AI Technical Summary
In the field of autonomous driving, it is difficult for the prior art to ensure that the target path determined from multiple initial paths is the optimal path.
By obtaining multiple initial paths, and calculating the homogeneity value of each path based on the location information of characteristic points on each path and the location information of surrounding obstacles to determine the target path.
By introducing homoeconomic theory in topology, this method narrows the screening range of target paths, reduces the computational volume and equipment performance requirements, and achieves the purpose of quickly determining the target paths.
Smart Images

Figure CN115617025B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of autonomous driving technologies, and in particular, to a path planning method, apparatus, device, and computer-readable storage medium. Background Art
[0002] In the field of autonomous driving (intelligent driving), it is necessary to plan a driving path for a driverless vehicle.
[0003] Generally, multiple initial paths are planned based on the starting point and the ending point of the driverless vehicle, and a target path is determined from the multiple initial paths for the driverless vehicle to use.
[0004] However, it is currently difficult to ensure that the target path determined from the multiple initial paths is the optimal path. Summary of the Invention
[0005] To solve the above technical problems or at least partially solve the above technical problems, the present disclosure provides a path planning method, apparatus, device, and computer-readable storage medium.
[0006] In a first aspect, an embodiment of the present disclosure provides a path planning method, including:
[0007] Obtaining multiple initial paths from a starting point to an ending point;
[0008] Determining a homotopy value of each initial path according to the feature point position information of at least two feature points on each initial path and the obstacle position information of target obstacles around each initial path, where the homotopy value is related to the obstacle identifier of each target obstacle;
[0009] Determining a target path from the multiple initial paths according to the homotopy value of each initial path.
[0010] In a second aspect, an embodiment of the present disclosure provides a path planning apparatus, including:
[0011] An obtaining module, configured to obtain multiple initial paths from a starting point to an ending point;
[0012] A first determining module, configured to determine a homotopy value of each initial path according to the feature point position information of at least two feature points on each initial path and the obstacle position information of target obstacles around each initial path, where the homotopy value is related to the obstacle identifier of each target obstacle;
[0013] A second determining module, configured to determine a target path from the multiple initial paths according to the homotopy value of each initial path.
[0014] In a third aspect, an embodiment of the present disclosure provides a driverless device, including:
[0015] Memory;
[0016] Processor; and
[0017] Computer program;
[0018] wherein, the computer program is stored in the memory and is configured to be executed by the processor to implement the method as described in the first aspect.
[0019] In a fourth aspect, an embodiment of the present disclosure provides a computer-readable storage medium, on which a computer program is stored, and the computer program is executed by a processor to implement the method as described in the first aspect.
[0020] The path planning method, device, equipment and computer-readable storage medium provided by the embodiments of the present disclosure determine the homotopy value of each initial path according to the feature point position information of at least two feature points on each initial path and the obstacle position information of the target obstacles around each initial path; determine the target path from multiple initial paths according to the homotopy value of each initial path; the present disclosure turns a logical problem into a computable problem executable by a computer by introducing the homotopy theory in topology, so as to narrow the screening range of the target path, reduce the calculation amount, reduce the requirements for device performance, and further achieve the purpose of quickly determining the target path. The technical solution provided by the embodiments of the present disclosure can replace the artificial rules set by experience through homotopy calculation, and can overcome the disadvantages that as the environment changes, the artificial rules need to be infinitely increased, the environmental adaptability of the original artificial rules becomes poor, and the originally feasible initial paths may be filtered out. Description of the Drawings
[0021] The drawings here are incorporated into the description and form a part of this description, showing embodiments consistent with the present disclosure, and are used together with the description to explain the principles of the present disclosure.
[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, for those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0023] Figure 1 It is a flowchart of the path planning method provided by the embodiments of the present disclosure;
[0024] Figure 2 and Figure 3 It is a schematic diagram of two road conditions provided by the embodiments of the present disclosure;
[0025] Figure 4 It is a schematic diagram of another road condition provided by the embodiments of the present disclosure;
[0026] Figure 5 A flowchart of a method for implementing S120 provided by an embodiment of the present disclosure;
[0027] Figure 6 A flowchart of another method for implementing S120 provided by an embodiment of the present disclosure;
[0028] Figure 7 A schematic diagram of another road condition provided by an embodiment of the present disclosure;
[0029] Figure 8 A schematic diagram of another road condition provided by an embodiment of the present disclosure;
[0030] Figure 9 A schematic structural diagram of a path planning device provided by an embodiment of the present disclosure;
[0031] Figure 10 A schematic structural diagram of an unmanned device embodiment provided by an embodiment of the present disclosure. Detailed implementation manners
[0032] In order to more clearly understand the above objects, features and advantages of the present disclosure, the solutions of the present disclosure will be further described below. It should be noted that, without conflict, the embodiments of the present disclosure and the features in the embodiments may be combined with each other.
[0033] Many specific details are set forth in the following description in order to provide a thorough understanding of the present disclosure, but the present disclosure may be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only a part of the embodiments of the present disclosure, rather than all of the embodiments.
[0034] As described in the background art, generally, it is difficult to ensure that the target path determined from multiple initial paths is the optimal path. To address this problem, an embodiment of the present disclosure provides a path planning method, which will be introduced below in conjunction with specific embodiments.
[0035] Figure 1 A flowchart of the path planning method provided by an embodiment of the present disclosure. This embodiment is applicable to the situation where the client performs path planning for an unmanned vehicle. The method can be executed by a path planning device, which can be implemented in software and / or hardware, and the device can be configured in an unmanned device, such as an unmanned vehicle, a smart driving vehicle, a robot, etc. Alternatively, this embodiment is applicable to the situation where the server performs path planning for an unmanned vehicle. The method can be executed by a path planning device, which can be implemented in software and / or hardware, and the device can be configured in an electronic device, such as a server.
[0036] As Figure 1 shown, the specific steps of the method are as follows:
[0037] S110. Obtain multiple initial paths from the starting point to the ending point.
[0038] An initial path refers to a path that bypasses obstacles (i.e., does not pass through obstacles) and connects the starting point and the ending point. Figure 2 and Figure 3 are schematic diagrams of two road conditions provided by embodiments of the present disclosure. In Figure 2 and Figure 3 , OBS1 - OBS8 all represent obstacles. In Figure 2 , both path 1 and path 2 connect the starting point and the ending point, and neither passes through any of the obstacles OBS1, OBS2, and OBS3, and both are initial paths. In Figure 3 , both path 3 and path 4 connect the starting point and the ending point, and neither passes through any of the obstacles OBS4, OBS5, OBS6, OBS7, and OBS8, and both are also initial paths.
[0039] S120. Determine the homotopy value of each initial path according to the feature point position information of at least two feature points on each initial path and the obstacle position information of the target obstacles around each initial path. The homotopy value is related to the obstacle identifier of each target obstacle.
[0040] The obstacle identifier refers to information that can distinguish an obstacle from other obstacles. The obstacle identifiers of different obstacles are different. Exemplarily, the identifier of an obstacle can be the number of the obstacle.
[0041] If an initial path is regarded as a set of points, a feature point is a point that constitutes the initial path. Optionally, at least two points that constitute the initial path can be randomly selected as feature points, or points with specific meanings can be selected. For example, the feature points include at least one of the following: inflection points, extreme points. Such a setting can improve the accuracy of calculating the homotopy value of the initial path.
[0042] The concept of homotopy describes "continuous change" between two objects topologically. Specifically, homotopy means that if two topological spaces can be changed from one to the other through a series of continuous deformations, then these two topological spaces are said to be homotopic.
[0043] Specifically, given two topological spaces X and Y. Consider two continuous functions. If there exists a continuous mapping H
[0044] f, g: X → Y
[0045] H: X × [0, 1] → Y
[0046] such that:
[0047]
[0048]
[0049] It is said that: f and g are homotopic (in Y).
[0050] In other words, each parameter t corresponds to a function H. As the parameter value t varies from 0 to 1, H continuously varies from f to g.
[0051] h t : X → Y,
[0052] In this application, if two initial paths can be mutually transformed without touching obstacles, they are called homotopic initial paths. In other words, if there are no obstacles between two initial paths, these two initial paths are homotopic; otherwise, the two initial paths are not homotopic.
[0053] Exemplarily, Figure 2 in, Path 1 and Path 2 are homotopic because for any obstacle, the two trajectories are on the same side of the obstacle and they can be mutually transformed without touching the obstacle. Figure 3 in, Path 3 and Path 4 are not homotopic. Path 3 and Path 4 are on both sides of obstacles OBS6 and OBS7 and they cannot be mutually transformed without touching the obstacles.
[0054] The homotopy value of the initial path can characterize the homotopy property of the initial path. By comparing the homotopy values of any two initial paths, it can be determined whether these two initial paths are homotopic.
[0055] Optionally, in practice, it is set that if the difference between the homotopy values of two initial paths is less than a set threshold, it is determined that these two initial paths are homotopic; otherwise, it is determined that these two initial paths are not homotopic. The advantage of such a setting is that the existence of calculation errors is fully considered, making the result judgment of whether the two finally determined initial paths are homotopic accurate.
[0056] Furthermore, it can also be set that if the homotopy values of two initial paths are the same, it is determined that these two initial paths are homotopic; otherwise, it is determined that these two initial paths are not homotopic. Such a setting has a simple judgment process and is easy to implement, and can fully reduce the time spent on judging whether two initial paths are homotopic.
[0057] Among them, if the homotopy value is an imaginary number, the same homotopy value means that the real parts of the homotopy values of the two initial paths are equal, and at the same time, the imaginary parts of the homotopy values of the two initial paths are also equal.
[0058] It should be noted that in practice, when performing this step, all obstacles around all initial paths can be used as target obstacles.
[0059] Optionally, only the obstacles located between any two initial paths can also be used as target obstacles. Exemplarily, Figure 3 in [reference], only OBS6 and OBS7 are used as target obstacles, and OBS4, OBS5, and OBS8 are not used as target obstacles. At this time, OBS4, OBS5, and OBS8 are invalid obstacles.
[0060] The essence of this setting is that before executing S120, the obstacles around all initial paths are screened to determine the target obstacles, and the invalid obstacles irrelevant to the initial paths are removed. Those skilled in the art can understand that the invalid obstacles are located on the same side of two initial paths, and they cannot divide the space between these two initial paths into two trajectory spaces. The number of them has no impact on whether these two initial paths are homotopy. Deleting the invalid obstacles can effectively improve the calculation efficiency and reduce the invalid calculations. And the obstacles located between two initial paths can divide the space between these two initial paths into two trajectory spaces, which will directly affect the judgment result of whether these two initial paths are homotopy.
[0061] S130. Determine the target path from multiple initial paths according to the homotopy value of each initial route.
[0062] The target path refers to the optimal path. It should be noted that in practice, preset rules can be set to measure whether an initial path is the optimal path. The preset rules can be the shortest distance or the least number of traffic lights, etc. This application does not limit this.
[0063] Since two initial paths are homotopy, it means that these two initial paths are on the same side of any obstacle. It can be considered that these two initial paths are similar, or these two initial paths can replace each other. In practice, after executing S110, the multiple initial paths obtained may include homotopy paths or non-homotopy paths.
[0064] The set composed of the multiple initial paths determined by S110 is called the trajectory set. Assume that the determined trajectory set includes multiple homotopy paths. In this case, if trajectory pruning is not performed (trajectory pruning means removing similar trajectories, that is, only one of the homotopy paths is retained), but directly using the preset rules to measure whether each initial path is the optimal path one by one, the calculation amount is huge, the requirement for device performance is high, and it is not conducive to quickly determining the target path. Therefore, trajectory pruning needs to be performed on the trajectory set.
[0065] Accordingly, the specific implementation method of this step can include: determining the minimum complete set from multiple initial paths according to the homotopy value of each initial path, and any two initial paths included in the minimum complete set have different homotopy values; determining the target path from the minimum complete set.
[0066] "The homotopy values of any two initial paths included in the minimal complete set are different", that is, any two initial paths in the minimal complete set are not homotopic, any two initial paths in the minimal complete set are not similar to each other, and they cannot replace each other. Moreover, the minimal complete set has completeness, that is, the homotopy values of the multiple initial paths determined by S110 all have representative initial paths in the minimal complete set.
[0067] "Determine the minimal complete set from multiple initial paths according to the homotopy value of each initial path" means pruning the trajectories of the trajectory set.
[0068] Exemplarily, if a total of 100 initial paths are determined by S110, and the initial paths with the same homotopy value are divided into a group, assuming that a total of 13 groups can be divided, select an initial path from the 13 groups as an element in the minimal complete set. The minimal complete set includes 13 initial paths. Subsequently, the target path can be determined from the 13 initial paths in the minimal complete set according to a preset rule.
[0069] Alternatively, if a total of 100 initial paths are determined by S110, and it is determined that there are 13 different homotopy values for these 100 initial paths, directly select a representative initial path for each homotopy value from the 100 primary selected paths, and all the representative initial paths form the minimal complete set.
[0070] The above technical solution determines the homotopy value of each initial path according to the feature point position information of at least two feature points on each initial path and the obstacle position information of the target obstacles around each initial path; determines the target path from multiple initial paths according to the homotopy value of each initial route; the present disclosure transforms a logical problem into a computable problem executable by a computer by introducing the homotopy theory in topology, so as to narrow the screening range of the target path, reduce the calculation amount, reduce the requirement for device performance, and further achieve the purpose of quickly determining the target path.
[0071] Figure 4 This is a schematic diagram of another road condition provided by an embodiment of the present disclosure. Figure 4 There are two feasible spaces, namely Feasible Space 1 and Feasible Space 2, and there is more than one initial path in each feasible space (exemplarily, in Figure 4Among them, there are two initial paths in each feasible space). Through trajectory pruning, it is hoped to output one initial trajectory from each of the two feasible spaces, and then through decision-making, select one of the initial trajectories as the target path for optimization. The existing technology uses artificially set rules based on experience for screening, which may result in all the initial trajectories in Feasible Space 1 being deleted, and the remaining initial trajectories are all in Feasible Space 2, resulting in an incorrect determination of the final target trajectory. This is an important reason why it is currently difficult to ensure that the target path determined from multiple initial paths is the optimal path.
[0072] As described above, if there is an obstacle between two initial paths, then these two initial paths are not homotopic; otherwise, the two initial paths are homotopic. From the above content, it can be obtained that non-homotopic initial paths must be in different feasible spaces, and homotopic initial paths must be in the same feasible space. For Figure 4 the situation in, the above technical solution determines whether two initial paths are homotopic through the homotopy value, and two trajectory sets with different homotopy values can be obtained, that is, any initial path in one trajectory set and any initial path in the other trajectory set are non-homotopic. In this way, the requirement of outputting one initial path from each of the two feasible spaces can be achieved, thereby ensuring that the target path determined from multiple initial paths is the optimal path.
[0073] In addition, the above technical solution uses homotopy technology to replace the artificially set rules based on experience, which can overcome the disadvantages that as the environment changes, the artificial rules need to be increased infinitely, the environmental adaptability of the original artificial rules becomes poor, and it may filter out initially feasible paths.
[0074] The above technical solution only needs to select a few characteristic points from each initial path to calculate the homotopy value, rather than calculating all the points that make up the initial path, which can significantly improve the calculation efficiency of the homotopy value.
[0075] It should be noted that when executing S120, multiple characteristic points can be selected from the same initial path. The multiple characteristic points can include both the starting point and the ending point at the same time, or can not include the starting point and the ending point, or can only include one of the starting point and the ending point. However, it is not possible to set that the multiple characteristic points only include the starting point and the ending point, because if only the starting point and the ending point are taken as the characteristic points, it may result in the same homotopy value calculated for essentially non-homotopic initial paths, leading to an incorrect judgment result on whether the two initial paths are homotopic, and thus the finally determined target path is not the optimal path.
[0076] In practice, there are multiple methods for implementing S120. An exemplary flowchart of a method for implementing S120 is given below. Figure 5 is a flowchart of a method for implementing S120 provided by an embodiment of the present disclosure. SeeFigure 5 , the method includes:
[0077] S121. Determine the obstacle homotopy description of any target obstacle according to the feature point position information of two adjacent feature points on any initial path and the obstacle position information of any target obstacle around any initial path.
[0078] S122. Determine the description information of any target obstacle according to the obstacle identifier and the obstacle homotopy description of any target obstacle.
[0079] S123. Determine the homotopy value of any initial path according to the description information of each target obstacle around any initial path.
[0080] Exemplarily, see Figure 3 , assume that the homotopy value of path 4 is calculated. Four feature points are selected from path 4, which are the starting point P, feature point A, feature point B, and the terminal Q respectively. By selecting these four feature points, path 4 can be divided into 3 path segments, namely: path segment 1 (corresponding to the segment from P to A), path segment 2 (corresponding to the segment from A to B), and path segment 3 (corresponding to the segment from B to Q).
[0081] By repeatedly executing S121 and S122, the description information of each path segment with respect to any target obstacle can be obtained. Exemplarily, assume that in Figure 3 , obstacles obs6 and obs7 are used as target obstacles. For path segment 1, the two adjacent feature points are feature point P and feature point A respectively. For obstacle obs6, by executing S121 and S122, the description information M1 of the target obstacle corresponding to both path segment 1 and obstacle obs6 can be obtained. For obstacle obs7, by executing S121 and S122, the description information M2 of the target obstacle corresponding to both path segment 1 and obstacle obs7 can be obtained. Repeating this way, the description information M3 of the target obstacle corresponding to both path segment 2 and obstacle obs6, the description information M4 of the target obstacle corresponding to both path segment 2 and obstacle obs7, the description information M5 of the target obstacle corresponding to both path segment 3 and obstacle obs6, and the description information M6 of the target obstacle corresponding to both path segment 3 and obstacle obs7 can also be obtained.
[0082] Among them, the description information of the target obstacle is used to reflect the relative position relationship between the target obstacle and the path segment.
[0083] The essence of S123 is to summarize the description information of each path segment with respect to any target obstacle to obtain the homotopy value of any initial path. Exemplarily, the above M1, M2, M3, M4, M5, and M6 are summarized to obtain the homotopy value of any initial path.
[0084] The essence of the above technical solution is that when calculating the homotopy value of the initial path, the initial path is first segmented, and then the segmentation results of the initial path are summarized to obtain the final homotopy value. The entire calculation process is simple and easy to implement, and the calculated homotopy value can fully reflect the positional relationship between the initial path and each target obstacle, enabling the subsequent determination of the target path to be accurate and improving the user experience.
[0085] Figure 6 The following is a flowchart of another method for implementing S120 provided by an embodiment of the present disclosure. In Figure 6 where 1211 - S1214 is a further expansion of S121 in Figure 5 and S1221 - S1222 is a further expansion of S122 in Figure 5 See Figure 6 The method includes:
[0086] S1211, converting the feature point position information of two adjacent feature points on any initial path and the obstacle position information of any target obstacle around any initial path into imaginary numbers in the imaginary number domain.
[0087] Exemplarily, taking the conversion of the obstacle position information of the target obstacle into an imaginary number in the imaginary number domain as an example for explanation. The target obstacle can be regarded as a set of a series of points, and any point constituting the obstacle can be selected as the representative point of the target obstacle, and the position information of this representative point is the obstacle position information. If a rectangular coordinate system is adopted, the target obstacle position information can be expressed as (x, y). By transforming the X-axis of the rectangular coordinate system into the real axis of the imaginary number domain and the Y-axis of the rectangular coordinate system into the imaginary axis of the imaginary number domain, the target obstacle position information (x, y) can be converted into x + iy. Or, if a Frenet coordinate system is adopted, the target obstacle position information can be expressed as (l, s). By transforming the L-axis of the Frenet coordinate system into the real axis of the imaginary number domain and the S-axis of the Frenet coordinate system into the imaginary axis of the imaginary number domain, the target obstacle position information (l, s) can be converted into l + is.
[0088] S1212, calculating the first imaginary number difference between the imaginary number corresponding to the first feature point among the two feature points and the imaginary number corresponding to any target obstacle.
[0089] Exemplarily, the first imaginary difference corresponding to the first feature point a1 in the a-th path segment and the b-th target obstacle can be expressed as the following formula (1):
[0090] cmp diff1 (a,b) = z a1 -obs b (1)
[0091] Where z a1 is the imaginary number corresponding to the first feature point a1 in the a-th path segment, and obs b is the imaginary number corresponding to the b-th target obstacle.
[0092] Those skilled in the art can understand that since the position information of the feature points and the position information of the target obstacles have been respectively converted into imaginary numbers in the imaginary number domain before, when the converted imaginary numbers are substituted into the above formula, the obtained first imaginary difference is also an imaginary number.
[0093] S1213. Calculate the second imaginary difference between the imaginary number corresponding to the second feature point in the two feature points and the imaginary number corresponding to any target obstacle.
[0094] Exemplarily, the second imaginary difference corresponding to the second feature point a2 in the a-th path segment and the b-th target obstacle can be expressed as the following formula (2):
[0095] cmp diff2 (a,b) = z a2 -obs b (2)
[0096] Where z a2 is the imaginary number corresponding to the second feature point, and obs b is the imaginary number corresponding to the b-th target obstacle.
[0097] Those skilled in the art can understand that since the position information of the feature points and the position information of the target obstacles have been respectively converted into imaginary numbers in the imaginary number domain before, when the converted imaginary numbers are substituted into the above formula, the obtained second imaginary difference is also an imaginary number.
[0098] S1214. Determine the obstacle homotopy description of any target obstacle according to the first imaginary difference and the second imaginary difference.
[0099] Optionally, the implementation method of this step may include: calculating the position difference according to the first imaginary difference and the second imaginary difference; calculating the angle difference according to the first imaginary difference and the second imaginary difference; determining the obstacle homotopy description of any target obstacle according to the position difference and the angle difference.
[0100] Exemplarily, the position difference corresponding to the a-th path segment and the b-th target obstacle can be expressed as the following formula (3):
[0101] log real (a,b) = ln|cmp diff1 (a,b)| - ln|cmp diff2 (a,b)| (3)
[0102] The angular difference corresponding to the a-th path segment and the b-th target obstacle can be expressed by the following formula (4):
[0103]
[0104] wherein, the meaning of normalize[arg(cmp diff1 (a,b)) - arg(cmp diff2 (a,b))] is to determine an integer β such that |arg(cmp diff1 (a,b)) - arg(cmp diff2 (a,b)) + 2βπ| is minimized.
[0105] When |arg(cmp diff1 (a,b)) - arg(cmp diff2 (a,b)) + 2βπ| is minimized, arg diff (a,b) = normalize[arg(cmp diff1 (a,b)) - arg(cmp diff2 (a,b))] = arg(cmp diff1 (a,b)) - arg(cmp diff2 (a,b)) + 2βπ.
[0106] At this time, if arg(cmp diff1 (a,b)) - arg(cmp diff2 (a,b)) + 2βπ is a negative angle, then arg diff (a,b) is a negative angle.
[0107] If arg(cmp diff1 (a,b)) - arg(cmp diff2 (a,b)) + 2βπ is a positive angle, then arg diff (a,b) is a positive angle. That is, the angular difference arg diff (a,b) is normalized so that arg diff (a,b) ∈ (-π ~ π).
[0108] Optionally, the obstacle homotopy description for any target obstacle can be expressed by the following formula (5):
[0109]
[0110] That is, the position difference is used as the real part, and the angular difference is used as the imaginary part.
[0111] S1221. Determine the obstacle factor of any target obstacle according to the obstacle identifier of any target obstacle.
[0112] S1222. Multiply the obstacle factor of any target obstacle by the obstacle homotopy description to obtain the description information of any target obstacle.
[0113] Exemplarily, use obs b-index to represent the identifier of the b-th target obstacle. In the technical solution of this application, different obstacles correspond to different identifiers, that is, the identifier of each obstacle is unique. The obstacle factor of any target obstacle can be expressed as A b = obs b-index + n, where n is a constant and its specific value is not limited.
[0114] The description information of the target obstacle corresponding to the a-th path segment and the b-th target obstacle at the same time can be expressed by the following formula (6):
[0115] A b * Z a,b = (obs b-index + n) * (log real (a, b) + i * arg diff (a, b)) (6)
[0116] S123. Determine the homotopy value of any initial path according to the description information of each target obstacle around any initial path.
[0117] Optionally, assume that k feature points are selected in a certain initial path, the k feature points divide the initial path into k - 1 path segments, and the initial path involves a total of c target obstacles, then the homotopy value of the initial path can be expressed by the following formula (7):
[0118]
[0119] Figure 7 is a schematic diagram of another road condition provided by an embodiment of the present disclosure. In Figure 7Among them, (0, 0) represents the starting point, and (7, 7) represents the ending point. The path of (0, 0) → (0, 7) → (7, 7) is the initial path 1. The path of (0, 0) → (7, 0) → (7, 7) is the initial path 2. (2, 5) represents the position coordinates of obstacle 1, and (5, 2) represents the position coordinates of obstacle 2. Obstacle 1 and obstacle 2 are symmetric with respect to the line connecting the starting point and the ending point. In addition, the points on the same trajectory are symmetric with respect to the line connecting obstacle 1 and obstacle 2. For example, point A and point B on the initial path 1 are symmetric with respect to the line connecting obstacle 1 and obstacle 2. The points on different initial paths are also symmetric with respect to the line connecting obstacle 1 and obstacle 2.
[0120] Select 3 points from the initial path 1, D1(0, 0), D2(0, 7), D3(7, 7) as feature points. Select 3 points from the initial path 2, E1(0, 0), E2(7, 0), E3(7, 7) as feature points. The position coordinates of obstacle 1 are represented by obs 1 and the identifier of obstacle 1 is represented by obs 1-index . The position coordinates of obstacle 2 are represented by obs 2 and the identifier of obstacle 2 is represented by obs 2-index . Let H1 represent the homotopy value of the initial path 1 and H2 represent the homotopy value of the initial path 2. There are:
[0121]
[0122]
[0123] Let the obs 1-index corresponding to obstacle 1 be 1, the obs 2-index corresponding to obstacle 2 be 2, and n be 0. Then
[0124] A 1 = obs 1-index + n = 1
[0125] A 2 = obs 2-index + n = 2
[0126] H1 = 2·i(113.2°)+4·i(66.8°)= i(493.6°)
[0127] H2 = 2·i(-66.8°)+4·i(-113.2°)= i(-586.4°)
[0128] Since the homotopy value H1 of the initial path 1 and the homotopy value H2 of the initial path 2 are different, the initial path 1 and the initial path 2 are not similar. Both the initial path 1 and the initial path 2 should be used as the paths in the minimal complete set.
[0129] The above technical solution provides a specific method for calculating the homotopy value of the initial path. The entire calculation process is simple and easy to implement. Moreover, the calculated homotopy value can fully reflect the positional relationship between the initial path and each target obstacle, enabling the subsequent determination of the target path to be accurate and improving the user experience.
[0130] Figure 8 This is a schematic diagram of another road condition provided by an embodiment of the present disclosure. In Figure 8 , (0, 0) represents the starting point, and (7, 7) represents the ending point. The path of (0, 0) → (7, 2) → (0, 5) → (7, 7) is the initial path 1. The path of (0, 0) → (2, 7) → (5, 0) → (7, 7) is the initial path 2. The position coordinates of obstacle 1 are (2, 5), and the position coordinates of obstacle 2 are (5, 2). Obstacle 1 and obstacle 2 are symmetric with respect to the line connecting the starting point and the ending point. In addition, the points on different initial paths are symmetric with respect to the line connecting the two target obstacles. For example, the point (0, 5) on the initial path 1 and the point (2, 7) on the initial path 2 are symmetric with respect to the line connecting obstacle 1 and obstacle 2.
[0131] Research shows that for Figure 7 and Figure 8 these two cases, once the obstacle factor is set unreasonably, it will cause the initial path 1 and the initial path 2, which are non-homotopic in themselves, to be misjudged as homotopic. However, in the above technical solution, the obstacle factor is set reasonably and ingeniously, which can avoid the occurrence of homotopy misjudgment. It is especially applicable to the situation where the two target obstacles are symmetric with respect to the line connecting the starting point and the ending point, and the points on the same initial path are symmetric with respect to the line connecting the two target obstacles (such as Figure 7 's situation), or the points on different initial paths are symmetric with respect to the line connecting the two target obstacles (such as Figure 8 's situation).
[0132] Figure 9 This is a schematic structural diagram of a path planning device provided by an embodiment of the present disclosure. The path planning device provided by an embodiment of the present disclosure can execute the processing flow provided by the embodiment of the path planning method. As Figure 9 shown, the path planning device includes:
[0133] An acquisition module 210, configured to acquire multiple initial paths from the starting point to the ending point;
[0134] A first determination module 220, configured to determine the homotopy value of each initial path according to the feature point position information of at least two feature points on each initial path and the obstacle position information of the target obstacles around each initial path, where the homotopy value is related to the obstacle identifier of each target obstacle;
[0135] The second determination module 230 is configured to determine a target path from the multiple initial paths according to the homotopy value of each initial path.
[0136] Optionally, the second determination module 230 is configured to:
[0137] Determine a minimum complete set from the multiple initial paths according to the homotopy value of each initial path, where the homotopy values of any two initial paths included in the minimum complete set are different;
[0138] Determine the target path from the minimum complete set.
[0139] Optionally, the first determination module 220 is configured to:
[0140] Determine the homotopy description of any target obstacle according to the feature point position information of two adjacent feature points on any initial path and the obstacle position information of any target obstacle around the any initial path;
[0141] Determine the description information of any target obstacle according to the obstacle identifier of any target obstacle and the homotopy description of the obstacle;
[0142] Determine the homotopy value of any initial path according to the description information of each target obstacle around the any initial path.
[0143] Optionally, the first determination module 220 is configured to:
[0144] Convert the feature point position information of two adjacent feature points on any initial path and the obstacle position information of any target obstacle around the any initial path into imaginary numbers in the imaginary number domain respectively;
[0145] Calculate a first imaginary number difference between the imaginary number corresponding to the first feature point among the two feature points and the imaginary number corresponding to any target obstacle;
[0146] Calculate a second imaginary number difference between the imaginary number corresponding to the second feature point among the two feature points and the imaginary number corresponding to any target obstacle;
[0147] Determine the homotopy description of any target obstacle according to the first imaginary number difference and the second imaginary number difference.
[0148] Optionally, the first determination module 220 is configured to:
[0149] Calculate a position difference according to the first imaginary number difference and the second imaginary number difference;
[0150] Calculate an angle difference according to the first imaginary number difference and the second imaginary number difference;
[0151] Determine the obstacle homotopy description of any one of the target obstacles according to the position difference and the angle difference.
[0152] Optionally, the first determination module 220 is configured to:
[0153] Determine the obstacle factor of any one of the target obstacles according to the obstacle identifier of any one of the target obstacles;
[0154] Multiply the obstacle factor of any one of the target obstacles by the obstacle homotopy description to obtain the description information of any one of the target obstacles.
[0155] Optionally, the feature points include at least one of the following:
[0156] Inflection points, extreme points.
[0157] Figure 9 The path planning device in the illustrated embodiment can be used to execute the technical solutions in the above method embodiments, and its implementation principle and technical effects are similar, which will not be elaborated here.
[0158] The internal functions and structures of the path planning device have been described above, and the device can be implemented as an unmanned device. Figure 10 The following is a schematic structural diagram of an unmanned device embodiment provided by the present disclosure. Optionally, the unmanned device can be an unmanned vehicle, an intelligent driving vehicle, a robot, etc. As Figure 10 As shown, the unmanned device includes a memory 151 and a processor 152.
[0159] The memory 151 is used to store programs. In addition to the above programs, the memory 151 can also be configured to store various other data to support operations on the unmanned device. Examples of these data include instructions for any application program or method for operating on the unmanned device, contact data, phone book data, messages, pictures, videos, etc.
[0160] The memory 151 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, a magnetic disk, or an optical disk.
[0161] The processor 152 is coupled to the memory 151 and executes the programs stored in the memory 151 for:
[0162] Obtain multiple initial paths from the starting point to the ending point;
[0163] Determine the homotopy value of each initial path according to the feature point position information of at least two feature points on each initial path and the obstacle position information of the target obstacles around each initial path, where the homotopy value is related to the obstacle identifier of each target obstacle;
[0164] Determine a target path from the multiple initial paths according to the homotopy value of each initial route.
[0165] Further, as Figure 10 shown, the unmanned device may further include: other components such as a communication component 153, a power supply component 154, an audio component 155, a display 156, etc. Figure 10 Only some components are schematically shown, and it does not mean that the unmanned device only includes Figure 10 the components shown.
[0166] The communication component 153 is configured to facilitate communication between the unmanned device and other devices in a wired or wireless manner. The unmanned device can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 153 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 153 further includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
[0167] The power supply component 154 provides power for various components of the unmanned device. The power supply component 154 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the unmanned device.
[0168] The audio component 155 is configured to output and / or input audio signals. For example, the audio component 155 includes a microphone (MIC). When the unmanned device is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode, the microphone is configured to receive external audio signals. The received audio signals can be further stored in the memory 151 or sent via the communication component 153. In some embodiments, the audio component 155 further includes a speaker for outputting audio signals.
[0169] The display 156 includes a screen, which may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen can be implemented as a touch screen to receive input signals from a user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors can sense not only the boundaries of touch or swipe actions, but also detect the duration and pressure associated with the touch or swipe operation.
[0170] In addition, an embodiment of the present disclosure also provides a computer-readable storage medium, on which a computer program is stored. The computer program is executed by a processor to implement the path planning method described in the above embodiment.
[0171] It should be noted that, in this document, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variation thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "comprising an..." does not exclude the existence of additional identical elements in the process, method, article or device comprising the element.
[0172] The above are only specific embodiments of the present disclosure, enabling those skilled in the art to understand or implement the present disclosure. Various modifications to these embodiments will be obvious to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present disclosure. Therefore, the present disclosure will not be limited to these embodiments described herein, but rather to the broadest scope consistent with the principles and novel features disclosed herein.
Claims
1. A path planning method, wherein, the method includes: obtaining multiple initial paths from a starting point to an ending point; converting the feature point position information of two adjacent feature points on each initial path and the obstacle position information of the target obstacles around each initial path into imaginary numbers in the imaginary number domain, and respectively calculating the imaginary number differences between the imaginary numbers corresponding to the two feature points and the imaginary numbers corresponding to the target obstacles; respectively calculating the position difference and the angle difference between each initial path and the target obstacle based on the imaginary number differences, and determining the imaginary number constructed with the position difference as the real part and the angle difference as the imaginary part as the homotopy description of the target obstacle; calculating the description information of the target obstacle according to the obstacle identifier of the target obstacle and the homotopy description, and further calculating the homotopy value of each initial path according to the description information of each target obstacle around each initial path; wherein, if there is no obstacle between any two of the multiple initial paths, the two initial paths are homotopic; the homotopy value is used to represent the relative position relationship between the initial path and the target obstacle; the homotopy value is related to the obstacle identifier of each target obstacle; determining a target path from the multiple initial paths according to the homotopy value of each initial route.
2. The method according to claim 1, wherein, determining a target path from the multiple initial paths according to the homotopy value of each initial route includes: determining a minimum complete set from the multiple initial paths according to the homotopy value of each initial path, and the homotopy values of any two initial paths included in the minimum complete set are different; determining the target path from the minimum complete set.
3. The method according to claim 2, converting the feature point position information of two adjacent feature points on each initial path and the obstacle position information of the target obstacles around each initial path into imaginary numbers in the imaginary number domain, and respectively calculating the imaginary number differences between the imaginary numbers corresponding to the two feature points and the imaginary numbers corresponding to the target obstacles, includes: converting the feature point position information of two adjacent feature points on each initial path and the obstacle position information of the target obstacles around each initial path into imaginary numbers in the imaginary number domain; calculating a first imaginary number difference between the imaginary number corresponding to the first feature point among the two feature points and the imaginary number corresponding to the target obstacle; calculating a second imaginary number difference between the imaginary number corresponding to the second feature point among the two feature points and the imaginary number corresponding to the target obstacle.
4. The method according to claim 3, wherein, respectively calculating the position difference and the angle difference between each initial path and the target obstacle based on the imaginary number differences includes: calculating the position difference between each initial path and the target obstacle according to the first imaginary number difference and the second imaginary number difference; calculating the angle difference between each initial path and the target obstacle according to the first imaginary number difference and the second imaginary number difference.
5. The method according to claim 1, wherein, Calculate the description information of the target obstacle according to the obstacle identifier of the target obstacle and the obstacle homotopy description, including: Determine the obstacle factor of the target obstacle according to the obstacle identifier of the target obstacle; Multiply the obstacle factor of the target obstacle by the obstacle homotopy description to obtain the description information of the target obstacle.
6. The method according to any one of claims 1-5, wherein, The feature points include at least one of the following: Inflection points, extreme points.
7. A path planning device, wherein, including: An acquisition module for acquiring multiple initial paths from a starting point to an ending point; A first determination module for converting the feature point position information of two adjacent feature points on each initial path and the obstacle position information of the target obstacle around each initial path into imaginary numbers in the imaginary domain, and respectively calculating the imaginary differences between the two feature points and the imaginary numbers corresponding to the target obstacle; Based on the imaginary differences, respectively calculate the position difference and the angle difference between each initial path and the target obstacle, and determine the imaginary number constructed by using the position difference as the real part and the angle difference as the imaginary part as the obstacle homotopy description of the target obstacle; Calculate the description information of the target obstacle according to the obstacle identifier of the target obstacle and the obstacle homotopy description, and further calculate the homotopy value of each initial path according to the description information of each target obstacle around each initial path; wherein, if there is no obstacle between any two of the multiple initial paths, the two initial paths are homotopy; wherein, if there is no obstacle between any two of the multiple initial paths, the two initial paths are homotopy; the homotopy value is used to represent the relative position relationship between the initial path and the target obstacle; the homotopy value is related to the obstacle identifier of each target obstacle; A second determination module for determining a target path from the multiple initial paths according to the homotopy value of each initial route.
8. An unmanned device, wherein, including: A memory; A processor; and A computer program; wherein, the computer program is stored in the memory and is configured to be executed by the processor to implement the method according to any one of claims 1-6.
9. A computer-readable storage medium, on which a computer program is stored, wherein, The computer program, when executed by a processor, implements the method according to any one of claims 1-6.
Citation Information
Patent Citations
Methods and systems for topological planning in autonomous driving
US20210108936A1