Method and apparatus for determining target path, and electronic device, storage medium and vehicle
By changing the iteration termination conditions of the hybrid A-star algorithm, it continues to iterate and find candidate paths with the minimum number of shifts that meet the predetermined number of times, which solves the problem of more shifts in path planning in autonomous driving, and achieves the goal of fewer shifts and shorter paths.
Patent Information
- Application Number
- PCT/CN2024/100124
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-05
- Filing Date
- 2024-06-19
- Publication Date
- 2025-06-12
AI Technical Summary
In the field of autonomous driving, although the hybrid A-star algorithm can plan the shortest path, it cannot guarantee that the number of shifts is small, resulting in frequent shifts that affect the average driving speed and user's somatosensory comfort.
By changing the iteration termination condition of the hybrid A-star algorithm, iteratively continues to find a candidate path that meets the predetermined number of times, until a path that meets the condition is found, and then the target path is determined based on the path.
Plan a target path with fewer shifts and shorter lengths, reduce path time, improve somatosensory comfort, and in some embodiments, improve the search efficiency of the target path.
Smart Images

Figure CN2024100124_12062025_PF_FP_ABST
Abstract
Description
Method, device, electronic device, storage medium and vehicle for determining target path
[0001] This application claims priority to Chinese patent application No. 202311660817.7 filed on December 5, 2023, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present disclosure relates to the field of artificial intelligence technology, and in particular to the fields of autonomous driving and autonomous parking. More specifically, the present disclosure provides a method, device, electronic device, storage medium, computer program product, and autonomous driving vehicle for determining a target path. Background Art
[0003] In the field of autonomous driving, the Hybrid A-Star algorithm is often used to solve open space kinodynamic path planning problems, such as parking path planning. The Hybrid A-Star algorithm can solve the shortest collision-free path that satisfies the vehicle's kinematic constraints, thereby reducing some path time.
[0004] However, sometimes a vehicle needs to frequently shift gears to travel the shortest route. Understandably, the vehicle's speed must first be reduced to zero before shifting gears. Therefore, frequent gear changes during driving significantly affect the average driving speed, and this reduction in average speed further increases the route time. Furthermore, frequent gear changes can also result in poor user comfort.
[0005] Summary of the Invention
[0006] The present disclosure provides a method, apparatus, electronic device, storage medium, computer program product, and autonomous driving vehicle for determining a target path.
[0007] According to one aspect of the present disclosure, a method for determining a target path is provided, comprising: selecting a target node as a current parent node from at least one node included in a set to be detected based on a total cost value of the node; determining whether the current parent node and the end point are in the same grid in a search space based on the posture information of the current parent node and the posture information of the end point; and determining a target path based on the candidate path in response to detecting that the current parent node and the end point are in the same grid and the minimum number of gear shifts corresponding to the candidate path from the starting point to the end point meets the predetermined number condition.
[0008] According to another aspect of the present disclosure, a device for determining a target path is provided, comprising: a selection module, a first determination module, and a first path determination module. The selection module is used to select a target node as a current parent node from at least one node included in a set to be detected based on the total cost value of the node. The first determination module is used to determine whether the current parent node and the end point are in the same grid in the search space based on the posture information of the current parent node and the posture information of the end point. The first path determination module is used to determine the target path based on the candidate path in response to detecting that the current parent node and the end point are in the same grid and the minimum number of gear shifts corresponding to the candidate path from the starting point to the end point meets the predetermined number condition.
[0009] According to another aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method provided by the present disclosure.
[0010] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause a computer to execute the method provided by the present disclosure.
[0011] According to another aspect of the present disclosure, a computer program product is provided, including a computer program, which implements the method provided in the present disclosure when executed by a processor.
[0012] According to another aspect of the present disclosure, an autonomous driving vehicle is provided, comprising: the above-mentioned electronic device.
[0013] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The accompanying drawings are provided to facilitate a better understanding of the present invention and do not constitute a limitation of the present disclosure.
[0015] FIG1 is a schematic diagram of an application scenario of a method and apparatus for determining a target path according to an embodiment of the present disclosure;
[0016] FIG2 is a schematic flowchart of a method for determining a target path according to an embodiment of the present disclosure;
[0017] FIG3 is a schematic flowchart of a method for determining a target path according to another embodiment of the present disclosure;
[0018] FIG4 is a schematic flowchart of a method for determining a target path according to another embodiment of the present disclosure;
[0019] FIG5 is a schematic structural block diagram of an apparatus for determining a target path according to an embodiment of the present disclosure; and
[0020] FIG6 is a structural block diagram of an electronic device for implementing the method for determining a target path according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0021] The following description of exemplary embodiments of the present disclosure is made in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding. These details should be considered as merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0022] To ensure search efficiency, the hybrid A-star algorithm can prioritize the node with the smallest total cost as the parent node in each iteration, and then perform the next expansion based on the parent node. The expansion steps can include analytical expansion and discrete expansion. During the analytical expansion process, a curve (such as the RS curve or the Dubins curve) can be used to calculate the connection trajectory from the parent node to the end point that satisfies the vehicle's kinematic constraints. If the trajectory is non-collision-free, the expansion is considered successful and the path search is completed. During the discrete expansion process, some child nodes can be determined around the parent node, and then the total cost of these child nodes is calculated, and then the next round of selection of the node with the smallest total cost is performed.
[0023] In a related technology, after the hybrid A-star algorithm successfully parses and expands, it can obtain the path from the starting point to the end point by backtracking the search tree. At this time, the related technology will terminate the iteration and use the obtained path as the target path.
[0024] However, the target path obtained by adopting the above technical solution can only ensure the shortest distance, but cannot ensure a small number of gear shifts.
[0025] In another related technique, to reduce the number of shifts, a penalty can be imposed on reverse discrete expansions (where the parent node's speed direction is opposite to that of the child node) to increase the total cost of the child node. As can be seen, the greater the shift penalty, the greater the total cost, and thus the lower the probability that the child node will be selected for the next expansion. This reduces the number of shifts in the path that was first successfully resolved and expanded.
[0026] However, to obtain a path with fewer gear shifts, the aforementioned related techniques can only blindly increase the weight of the gear shift penalty, which reduces the search efficiency of the target path. In addition, the aforementioned technical solution does not consider the number of gear shifts included in the parsed extended path, so the number of gear shifts cannot be guaranteed to be small.
[0027] The present disclosure aims to provide a method for determining a target path, which changes the iterative termination condition of the hybrid A-star algorithm, namely: after obtaining a candidate path from the starting point to the end point based on discrete expansion or analytical expansion, if the minimum number of gear shifts of all candidate paths does not meet the predetermined number condition, the iteration will not be terminated, but the iteration will continue to search for other candidate paths until a candidate path with the minimum number of gear shifts that meets the predetermined number condition is found. The iteration will then be terminated, and the target path will be determined based on the candidate path corresponding to the minimum number of gear shifts found. The method provided by the present disclosure can plan a target path with fewer gear shifts and a shorter length, thereby reducing path time and improving physical comfort. In addition, in some embodiments, the search efficiency of the target path can also be improved.
[0028] The method for determining the target path provided in the present disclosure can be used in the automatic parking scenario of an autonomous driving vehicle, thereby reducing the number of gear changes during the parking process and ensuring a short path length, thereby reducing parking time and improving user comfort.
[0029] The technical solutions provided by the present disclosure will be described in detail below with reference to the accompanying drawings and specific embodiments.
[0030] FIG1 is a schematic diagram of an application scenario of a method and apparatus for determining a target path according to an embodiment of the present disclosure.
[0031] It should be noted that FIG1 is merely an example of a system architecture to which the embodiments of the present disclosure may be applied, to help those skilled in the art understand the technical content of the present disclosure, but it does not mean that the embodiments of the present disclosure cannot be used in other devices, systems, environments or scenarios.
[0032] As shown in FIG1 , the system architecture 100 according to this embodiment may include a vehicle 110, a network 120, a server 130, etc. The network 120 is used as a medium for providing a communication link between the vehicle 110 and the server 130. The network 120 may include various connection types, such as wired and / or wireless communication links, etc.
[0033] The vehicle 110 may be integrated with sensors such as an on-board camera device, and these sensors may interact with the server 130 via the network 120 to receive or send messages, etc.
[0034] The server 130 may be located at a remote location capable of establishing communication with the vehicle-mounted terminal, and may be implemented as a distributed server cluster consisting of multiple servers, or as a single server.
[0035] The server 130 may be a server that provides various services and may have installed thereon, for example, map applications, data processing applications, and the like.
[0036] In this embodiment, the vehicle 110 may obtain map data from the server 130 , and then the vehicle 130 may plan a target path based on the map data, the starting point and the end point, and then drive along the target path to achieve automatic parking.
[0037] In other embodiments, the vehicle 110 may send its own location and other information to the server 130, and may also send collected images, point cloud data, etc. to the server 130. The server 130 plans the target path based on the map data, and then sends the target path to the vehicle 110 so that the vehicle 110 can travel along the target path and achieve automatic parking.
[0038] It should be noted that the method for determining the target path provided in the embodiment of the present disclosure can generally be executed by the server 130 or the vehicle 110. Accordingly, the device for determining the intersection travel time provided in the embodiment of the present disclosure can also be set in the server 130 or the vehicle 110.
[0039] It is understood that the number of vehicles, networks, and servers in FIG1 is merely illustrative and any number of vehicles, networks, and servers may be provided as required.
[0040] FIG2 is a schematic flowchart of a method for determining a target path according to an embodiment of the present disclosure.
[0041] As shown in FIG. 2 , the method 200 for determining a target path may include operations S210 to S230 .
[0042] In operation S210 , a target node is selected as a current parent node from at least one node included in a to-be-detected set according to a total cost value of the node.
[0043] For example, the set to be tested includes at least one node, and the attribute information of each node includes a total cost. This total cost can be determined based on the path cost, heuristic cost, and gear shift penalty cost. The path cost is the cost of traveling from the starting point to the subnode, and the heuristic cost is the cost of traveling from the node to the end point, calculated using a heuristic function. The more gear shifts a vehicle requires to travel from the starting point to the node, the greater the gear shift penalty. The weighted sum of the path cost, heuristic cost, and gear shift penalty cost can be used as the total cost. Furthermore, the node's attribute information can also include a pointer and the node's gear shift count. The node's gear shift count indicates the number of gear shifts required to travel from the starting point to the node.
[0044] For example, the node with the smallest total cost in the set to be detected can be selected as the current parent node. After selecting the current parent node, the current parent node can be deleted from the set to be detected or added to the detected set. The set to be detected is also called the open list, and the detected set is also called the closed list.
[0045] In operation S220 , it is determined whether the current parent node and the end point are located in the same grid in the search space based on the pose information of the current parent node and the pose information of the end point.
[0046] For example, the search space can be pre-rasterized to divide the search space into multiple grids. The current parent node and the end point are in the same grid, which means that the distance between the current parent node and the end point is small, and there is no need to plan other nodes between the current parent node and the end point.
[0047] In operation S230 , in response to detecting that the current parent node and the end point are in the same grid and the minimum number of gear shifts corresponding to the candidate path from the start point to the end point meets a predetermined number condition, a target path is determined based on the candidate path.
[0048] For example, a candidate path from a starting point to a destination includes multiple nodes. If the speeds at two adjacent nodes are in opposite directions, the vehicle will need to change gears to travel from one node to the other. Each candidate path is assigned a gear shift count, which is the number of gear shifts required to travel from the starting point to the destination along the candidate path.
[0049] For example, the predetermined number condition may include: the minimum number of gear shifts corresponding to the candidate path from the starting point to the end point is less than or equal to the sum of the target number of gear shifts and the target value, where the target number of gear shifts is a positive integer and the target value is an integer greater than or equal to 0. In some embodiments, a preset value, such as 3 or 5, may be used as the target number of gear shifts. In other embodiments, the target number of gear shifts may be dynamically adjusted based on the number of gear shifts of each node in the set to be detected. The specific method for adjusting the target number of gear shifts will be described below.
[0050] It's important to note that when determining whether the minimum number of gear shifts meets the predetermined number of conditions, the minimum number of gear shifts corresponding to all candidate paths searched is used. Therefore, after each candidate path from the start point to the end point is obtained, the minimum number of gear shifts must be updated before determining whether the updated minimum number of gear shifts meets the predetermined number of conditions.
[0051] For example, multiple rounds of iterations may obtain several candidate paths, and a target path may be selected from the candidate paths. For example, the first candidate path found with the least number of gear shifts may be determined as the target path.
[0052] One approach is to determine whether the number of gear shifts required for each feasible path from the starting point to the end point is less than that required for the candidate path. If so, the feasible path is updated as a candidate path; otherwise, the candidate path is not updated. After the iteration ends, the last remaining candidate path is determined as the target path. In this approach, the candidate path is the path with the fewest gear shifts found in the initial search.
[0053] Another processing method is: each time a feasible path from the starting point to the end point is obtained, the feasible path is recorded as a candidate path, and the order of the candidate paths is recorded. The order indicates the order in which the candidate paths are searched. After the iteration is terminated in this way, multiple candidate paths can be obtained, and the multiple candidate paths include the path with the least number of gear shifts and the path with the least number of non-gear shifts. Next, the candidate path with the least number of gear shifts can be selected as the target path from the multiple recorded candidate paths based on the number of gear shifts and the order. If the number of gear shifts for multiple candidate paths is the least, since the candidate path retrieved earlier has a shorter path length, the candidate path with the least number of gear shifts and the smallest order can be used as the target path. It can be seen that the target path is the shortest path with the least number of gear shifts.
[0054] It should be noted that in other embodiments, there are four paths with a minimum of three gear shifts and a total of three gear shifts. For example, the second candidate path retrieved with three gear shifts can be selected as the target path. This approach yields a target path with the fewest gear shifts and a shorter length. Another example is the candidate path with four gear shifts, which yields a target path with fewer gear shifts. It can be seen that while the target path selected in this embodiment is not the shortest path with the fewest gear shifts, it still achieves the effect of reducing the number of gear shifts compared to the prior art.
[0055] According to the technical solution provided by the embodiments of the present disclosure, after obtaining a candidate path from the starting point to the end point, if the candidate path's minimum number of gear shifts does not meet a predetermined number of conditions, the iteration does not terminate. Instead, the iteration continues to search for other candidate paths until a candidate path with a minimum number of gear shifts that meets the predetermined number of conditions is found. The target path is then determined based on the candidate path found that corresponds to the minimum number of gear shifts. This method can plan a target path with a low number of gear shifts and a short length, thereby reducing route time and improving physical comfort.
[0056] FIG3 is a schematic flowchart of a method for determining a target path according to another embodiment of the present disclosure.
[0057] As shown in FIG. 3 , the method 300 for determining a target path may include operations S311 to S314 , operation S320 , operation S325 , and operations S330 to S350 .
[0058] In operation S311, it is determined whether the set to be detected is an empty set. If the set to be detected is an empty set, it means that the path search cannot be continued and the process ends. If the set to be detected is not an empty set, the process proceeds to operation S312.
[0059] In operation S312 , a target node is selected as a current parent node from at least one node included in the to-be-detected set according to the total cost value of the node.
[0060] In operation S313 , the current parent node is deleted from the to-be-detected set, and is added to the detected set.
[0061] In operation S314, it is determined whether the number of gear shifts corresponding to the path from the starting point to the current parent node is less than the minimum number of gear shifts. The minimum number of gear shifts is the minimum of all gear shifts corresponding to all candidate paths from the starting point to the end point. If not, the process returns to the step of selecting a target node, for example, returning to S311. If so, the process proceeds to operation S320.
[0062] In operation S320, based on the pose information of the current parent node and the pose information of the end point, it is determined whether the current parent node and the end point are in the same grid in the search space. If so, the process proceeds to operation S325; if not, the process proceeds to operation S350.
[0063] In operation S325, the minimum number of gear shifts corresponding to the candidate path from the starting point to the end point is updated, and then it is determined whether the updated minimum number of gear shifts meets the predetermined number condition. If so, the process proceeds to operation S330. If not, the process proceeds to operation S340.
[0064] In operation S330 , in response to detecting that the current parent node and the end point are in the same grid and the minimum number of shifts corresponding to the candidate path from the start point to the end point meets a predetermined number condition, a target path is determined based on the candidate path.
[0065] In operation S340 , in response to detecting that the current parent node and the end point are in the same grid and the minimum number of gear shifts corresponding to the candidate path from the start point to the end point does not meet the predetermined number condition, the process returns to the step of selecting a target node.
[0066] It should be noted that the current parent node and the destination are in the same grid, indicating that the distance between the current parent node and the destination is relatively close, meaning that a new path from the starting point to the destination has been found. However, the number of gear shifts in this path does not meet the predetermined number of conditions; if discrete expansion is continued for the current parent node, the number of gear shifts required to reach the destination again via the current parent node will inevitably be greater. Therefore, operation S340 does not continue discrete expansion, but instead selects another current parent node in the set to be tested to search for other paths whose number of gear shifts meets the predetermined number of conditions.
[0067] In operation S350 , in response to detecting that the current parent node and the end point are located at two grids, expansion is performed based on the current parent node and then updated.
[0068] The extension may include analytical extension, by which an extension curve from the current parent node to the end point may be obtained. If the extended curve does not collide with an obstacle, the minimum number of gear shifts of the candidate path from the start point to the end point may be updated.
[0069] The expansion may also include discrete expansion, through which at least one child node around the current parent node may be obtained, the set to be detected may be updated based on the child node, and the step of selecting the target node may be returned.
[0070] It should be noted that some embodiments need to dynamically adjust the target number of gear shifts based on the set to be detected. For example, each node in the set to be detected corresponds to a gear shift number, which represents the number of times the vehicle needs to switch gears when traveling from the starting point to the node. The target number of gear shifts is the minimum value of the gear shift numbers corresponding to all nodes in the set to be detected. At the same time, the current parent node will be deleted from the set to be detected during the execution of the above operation S313, and the discrete expansion process in the above operation S350 will cause the nodes in the set to be detected to change, and the value of the target number of gear shifts may change accordingly. Therefore, after executing operations S313 and S350, the target number of gear shifts can be updated based on the updated set to be detected. In addition, after updating the target number of gear shifts, it is necessary to check whether the minimum number of gear shifts meets the predetermined number condition. If so, the search can be terminated and the target path can be determined based on the candidate path corresponding to the minimum number of gear shifts. If not, the search needs to be continued.
[0071] It should be noted that, after adding the parent node to the detected set, this embodiment also checks whether the number of gear shifts of the current parent node is less than the minimum number of gear shifts through the above-mentioned operation S314. If the number of gear shifts of the current parent node is greater than or equal to the minimum number of gear shifts, it means that the number of gear shifts of the candidate path from the starting point to the end point and passing through the current parent node must be greater than or equal to the minimum number of gear shifts. Therefore, the candidate path from the starting point to the end point and passing through the current parent node will not be better than the candidate path that has been searched. Therefore, there is no need to continue to discretely expand and parse the current parent node, thereby saving unnecessary search time. It can be seen that the role of the above-mentioned operation S314 is pruning, that is, improving the efficiency of searching the target path by eliminating parent nodes that are unnecessary to continue to expand. In other embodiments, the above-mentioned operation S314 can be omitted.
[0072] FIG4 is a schematic flowchart of a method for determining a target path according to another embodiment of the present disclosure.
[0073] As shown in FIG4 , the method 400 for determining the target path may include operations S411 to S414, S420, S425, and S430 to S440. These operations may refer to similar operations described above and are not described in detail here. In addition, the method 400 may include operations S4501 to S4511. The following describes the expansion and update process through operations S4501 to S4511. The expansion may include analytical expansion and discrete expansion. The objects updated in the analytical expansion process may include the minimum number of gear shifts. The objects updated in the discrete expansion process may include the set to be detected, the attribute information of the child nodes, and the target number of gear shifts.
[0074] In operation S4501 , a candidate curve from the current parent node to the end point is generated according to the pose information of the current parent node and the pose information of the end point in an analytical extension manner.
[0075] In operation S4502, it is determined whether the candidate curve collides with an obstacle. If not, the process proceeds to operation S4503. If yes, the process proceeds to operation S4504.
[0076] For example, if the distance between the candidate curve and the obstacle is less than or equal to a first predetermined safety distance, it is determined that the candidate curve and the obstacle will collide; otherwise, no collision will occur.
[0077] In operation S4503, the minimum number of shifts is updated based on the total number of shifts in the total path, and then it is determined whether the updated minimum number of shifts meets the predetermined number condition. If so, the process proceeds to operation S430. If not, the process proceeds to operation S4504.
[0078] For example, if the extended curve obtained by analytical expansion does not collide, a total path from the starting point to the end point can be obtained. The minimum number of gear shifts is then updated based on the total number of gear shifts along this total path. The total path consists of two parts: the path from the starting point to the current parent node and the candidate curve. Accordingly, the total number of gear shifts from the starting point to the end point consists of two parts: the number of gear shifts corresponding to the path from the starting point to the current parent node and the number of gear shifts corresponding to the candidate curve. The sum of these two parts can be used as the total number of gear shifts.
[0079] If the minimum number of gear shifts does not meet the predetermined number of conditions, this indicates that although the analysis and expansion has resulted in a collision-free path, the number of gear shifts required to travel along this path is high, and the total number of gear shifts does not meet the required number of shifts. Therefore, the discrete expansion process begins. If the minimum number of gear shifts does meet the predetermined number of conditions, the path from the starting point to the current parent node and the candidate curve are determined as candidate paths, and the minimum number of gear shifts for all candidate paths is updated, allowing for subsequent selection of the target path from the candidate paths.
[0080] In operation S4504, the child nodes of the current parent node are determined by discrete expansion.
[0081] In operation S4505, it is determined whether the child node collides with an obstacle. If so, there is no need to update the set to be detected, and the process proceeds to operation S4511. If not, the process proceeds to operation S4506.
[0082] In operation S4506, it is determined whether the child node has been added to the detected set. If so, there is no need to update the to-be-detected set, and the process proceeds to operation S4511. If not, the process proceeds to operation S4507.
[0083] In operation S4507, it is determined whether the child node is in the to-be-detected set. If so, operation S4508 is performed. If not, operation S4509 is performed.
[0084] In operation S4508 , the child node is added to the to-be-detected set, and the attribute information and target shift times of the child node are updated.
[0085] For example, a node's attribute information includes a pointer, a total cost (path cost, heuristic cost, shift penalty), and the number of shifts. Therefore, when updating a node's attribute information, the child node's actual parent node can be set to the current parent node, meaning the child node's pointer points to the current parent node. The number of shifts corresponding to the path from the starting point to the child node can also be determined based on the child node's speed direction and the current parent node's speed direction, as well as the number of shifts corresponding to the path from the starting point to the current parent node. For example, if the child node's speed direction is opposite to the current parent node's speed direction, the vehicle needs to shift gears to travel from the current parent node to the child node. Therefore, the number of shifts required from the starting point to the current parent node can be increased by 1, and this value can be used as the number of shifts required from the starting point to the child node. If the child node's speed direction is the same as the current parent node's speed direction, the vehicle does not need to shift gears to travel from the current parent node to the child node, so the number of shifts from the starting point to the current parent node is equal to the number of shifts from the starting point to the child node. The child node's path cost, heuristic cost, shift penalty, and total cost can also be calculated.
[0086] In operation S4509, it is determined whether the current path cost from the starting point to the child node is less than the historical path cost from the starting point to the child node. If so, operation S4510 is executed; if not, operation S4511 is executed.
[0087] In operation S4510, the attribute information and the target shift number of the child node are updated.
[0088] For example, updating the child node's attribute information may include changing the child node's actual parent node to the current parent node. The path cost may also be updated, i.e., changing the historical path cost from the starting point to the child node to the current path cost from the starting point to the child node. The number of gear shifts may also be updated. The method for updating the number of gear shifts is described above with reference to operation S4508 and will not be further elaborated here.
[0089] In operation S4511, it is determined whether the discrete expansion of the parent node is completed. If it is completed, the operation of the target node can be selected, for example, returning to operation S411. If it is not completed, it can return to operation S4504 and continue the discrete expansion to obtain the next child node.
[0090] It can be seen that this embodiment introduces two expansion methods, one is parsing expansion, the parsing expansion process corresponds to the above operations S4501 to S4503, and the other is discrete expansion, the discrete expansion process corresponds to the above operations S4504 to S4510.
[0091] In other embodiments, the above operations S4501 to S4503 may be omitted, and when it is determined that the current parent node and the end point are in two grids, the process directly proceeds to operation S4504.
[0092] It should be noted that this embodiment does not limit the execution order of the above-mentioned operations S4505, S4506, S4507, and S4509. In other embodiments, the execution order of these operations can be flexibly adjusted.
[0093] Next, the relevant contents of the iteration termination conditions are explained.
[0094] In this embodiment, the iteration termination conditions are as follows: MN≤μ,μ≥0
[0095] Where M represents the minimum number of gear shifts for the candidate path from the starting point to the end point, N represents the target number of gear shifts, and μ represents the target value.
[0096] For example, the target value μ is a dynamically adjusted value. The total number of iterations can be pre-configured, and the number of times the current parent node is selected from the set to be detected can be used as the number of iterations. The difference between the total number of iterations and the number of iterations is the remaining number of iterations. In addition, the target value μ is related to the remaining number of iterations. For example, when the remaining number of iterations is reduced to a specific value, the target value μ can be appropriately increased to alleviate the problem of no solution in a finite number of iterations. For another example, the target value μ can be a fixed preset value, such as the target value μ is 0, 1, 2, etc. It can be seen that in the above-mentioned iterative termination conditions, the smaller μ is, the closer the target path is to the optimal solution, and the corresponding solution time will increase accordingly. When μ = 0, the target path solved is the optimal solution, when μ = 1, the target path solved is a suboptimal solution, and so on.
[0097] For example, the set to be tested includes several nodes, and the attribute information of each node includes a gear shift count, which indicates the number of times a vehicle needs to switch gears when traveling from a starting point to a specific node. Thus, multiple nodes in the set to be tested correspond to multiple gear shift counts. The minimum value of the gear shift counts corresponding to all nodes can be determined as the target gear shift count N.
[0098] It should be noted that, taking node A in the set to be detected as an example, the path L from the starting point to the end point, passing through node A, consists of two subpaths: subpath L1 from the starting point to node A, and subpath L2 from node A to the end point. Subpath L2 may or may not require a gear shift. It can be seen that the minimum number of gear shifts required for path L will not be less than the number of gear shifts required for path L1. Therefore, the minimum number of gear shifts found for the path from the starting point to the end point will not be less than the minimum number of gear shifts corresponding to all nodes in the set to be detected. Therefore, this embodiment uses this minimum number as the target number of gear shifts N.
[0099] It should be noted that when the target number of gear shifts N is the minimum number of gear shifts of multiple nodes in the set to be detected, if the set to be detected is updated, the target number of gear shifts N needs to be updated synchronously.
[0100] The process of updating and determining the target number of gear shifts N is described below.
[0101] The pointer in the attribute information of the node points to its own parent node. Therefore, based on the pointer, the node can be backtracked to obtain the path from the starting point to the node. The number of gear shifts in the path is recorded as n, n≥0.
[0102] Use a one-dimensional array c to record the number of nodes corresponding to different gear shift numbers in the set to be detected, and n is used as the index value of the one-dimensional array c, that is, c[n] represents the number of nodes in the set to be detected with a gear shift number of n. It can be seen that if c[n] is 0, it means that there is no node in the set to be detected with a gear shift number of n. For example, if the set to be detected includes 6 nodes, of which there are 3 nodes with a gear shift number of 3, 2 nodes with a gear shift number of 4, and 1 node with a gear shift number of 5, then the one-dimensional array c is recorded as [0, 0, 0, 3, 2, 1]. It can be seen that the minimum value of the index values of all non-zero elements in the one-dimensional array c represents the minimum number of gear shifts of the nodes in the set to be detected, so this minimum value is the minimum number of gear shifts, which is N.
[0103] The number of shifts of the current parent node is recorded as n p , discretely expand the current parent node to obtain the child node, and the number of shifts of the child node is recorded as n s , the following introduces the update process of array c.
[0104] When a child node is first added to the set to be detected, if the speed direction of the child node is opposite to the speed direction of the current parent node, it means that the vehicle needs to change gears when traveling from the current parent node to the child node, so the number of gear changes of the child node is n. s =n p +1, otherwise n s =n p , and update the array c[n s ]=c[n s ]+1.
[0105] When a child node in the set to be detected needs to be updated, for example, the pointer of the child node is updated, the pointer change causes the path from the starting point to the child node to change, and the number of shifts of the child node changes accordingly. This update process is equivalent to deleting the atomic node from the set to be detected and then adding the new child node to the set to be detected. The number of shifts corresponding to the atomic node is n r Therefore, deleting an atomic node requires updating the array, and the update method is c[n r ]=c[n r ]-1, the number of times the new child node shifts is ns , so adding a new child node requires updating the array c[n s ]=c[n s ]+1.
[0106] When the current parent node is deleted from the to-be-detected set and added to the detected set, the array c[n p ]=c[n p ]-1.
[0107] The above describes the updating process of the array c. After the array c is updated, the minimum index value of all non-zero elements in the updated array c may be used as the updated target number of gear shifts N.
[0108] FIG5 is a schematic structural block diagram of an apparatus for determining a target path according to an embodiment of the present disclosure.
[0109] As shown in FIG. 5 , the device 500 for determining a target path may include: a selection module 510 , a first determination module 520 , and a first path determination module 530 .
[0110] The selection module 510 is configured to select a target node as a current parent node from at least one node included in the to-be-detected set according to the total cost value of the node.
[0111] The first determination module 520 is configured to determine whether the current parent node and the end point are located in the same grid in the search space according to the pose information of the current parent node and the pose information of the end point.
[0112] The first path determination module 530 is configured to determine a target path based on the candidate path in response to detecting that the current parent node and the end point are in the same grid and that the minimum number of gear shifts corresponding to the candidate path from the start point to the end point meets a predetermined number condition.
[0113] In this embodiment, the above-mentioned device also includes: a first return module, which is used to return to the step of selecting the target node in response to detecting that the current parent node and the end point are in the same grid and the minimum number of gear shifts corresponding to the candidate path from the starting point to the end point does not meet the predetermined number condition.
[0114] In this embodiment, the above-mentioned device also includes: a second return module, which is used to determine at least one child node based on the current parent node in response to detecting that the current parent node and the end point are in two grids, update the set to be detected based on the at least one child node, and return to the step of selecting the target node.
[0115] In this embodiment, the apparatus further includes: a first set updating module, configured to delete the current parent node from the to-be-detected set after selecting the target node as the current parent node, so as to update the to-be-detected set.
[0116] In this embodiment, the predetermined number condition includes: the minimum number of gear shifts corresponding to the candidate path from the starting point to the end point is less than or equal to the sum of the target number of gear shifts and the target value; the above-mentioned device also includes: a number update module, which is used to update the target number of gear shifts in response to detecting that the set to be detected has been updated, according to the number of gear shifts corresponding to each sub-node in the updated set to be detected.
[0117] In this embodiment, the number updating module includes a first number determining submodule and a second number determining submodule. The first number determining submodule is configured to determine, for each node in the updated set to be detected, the number of gear shifts corresponding to the path from the starting point to the node, thereby obtaining multiple gear shift numbers for multiple nodes in the updated set to be detected. The second number determining submodule is configured to determine the minimum value among the multiple gear shift numbers as the target gear shift number.
[0118] In this embodiment, the target value is related to the remaining number of iterations, which is determined based on the total number of iterations and the number of iterations completed, where the number of iterations completed is the number of times the step of selecting the target node is executed.
[0119] In this embodiment, the above-mentioned device also includes: a second path determination module, which is used to generate a candidate curve based on the posture information of the current parent node and the posture information of the end point in response to detecting that the current parent node and the end point are in two grids; and in response to detecting that the distance between the candidate curve and the obstacle is greater than a first predetermined safety distance, and the total number of gear shifts in the total path meets the predetermined number condition, determine the target path according to the total path; wherein, the total path includes the path from the starting point to the current parent node and the candidate curve.
[0120] In this embodiment, the above-mentioned device further includes: a curve generation module, a child node determination module, a second set update module, and a third return module. The curve generation module is used to generate a candidate curve in response to detecting that the current parent node and the end point are in two grids according to the posture information of the current parent node and the posture information of the end point; the child node determination module is used to determine at least one child node according to the current parent node in response to detecting that the candidate curve meets the predetermined extension condition; the second set update module is used to update the set to be detected according to the at least one child node; the third return module is used to return to the step of selecting the target node; wherein the predetermined extension condition includes at least one of the following: the distance between the candidate curve and the obstacle is less than or equal to the first predetermined safety distance; and the total number of gear shifts in the total path does not meet the predetermined number condition; the total path includes the path from the starting point to the current parent node and the candidate curve.
[0121] In this embodiment, the second set update module includes: a first update submodule, which is used to add the child node to the set to be detected in response to detecting that the child node meets the first predetermined condition; and set the actual parent node of the child node to the current parent node; wherein, the first predetermined condition includes: the distance between the child node and the obstacle is greater than or equal to a second predetermined safety distance, and the child node is not added to the set to be detected, and the child node is not added to the detected set, and the detected set includes nodes that have been deleted from the set to be detected.
[0122] In this embodiment, the second set update module also includes: a second update sub-module, which is used to determine the number of gear shifts corresponding to the path from the starting point to the child node in response to detecting that the child node meets the first predetermined condition, based on the speed direction of the child node and the speed direction of the current parent node, and the number of gear shifts corresponding to the path from the starting point to the current parent node.
[0123] In this embodiment, the second set update module includes: a third update submodule, which is used to change the actual parent node of the child node to the current parent node in response to detecting that the child node meets the second predetermined condition; and change the historical path cost value from the starting point to the child node to the current path cost value from the starting point to the child node; wherein, the second predetermined condition includes: the distance between the child node and the obstacle is greater than or equal to a second predetermined safety distance, and the child node has been added to the set to be detected, and the current path cost value is less than the historical path cost value.
[0124] In this embodiment, the second set update module also includes: a fourth update sub-module, which is used to determine the number of gear shifts corresponding to the path from the starting point to the child node in response to detecting that the child node meets the second predetermined condition, based on the speed direction of the child node and the speed direction of the current parent node, and the number of gear shifts corresponding to the path from the starting point to the current parent node.
[0125] In this embodiment, the predetermined number condition includes: the minimum number of gear shifts is less than or equal to the sum of the target number of gear shifts and the target value; the device further includes: a second determination module, a fourth return module, and a trigger module. The second determination module is configured to, after selecting the target node as the current parent node, determine whether the number of gear shifts corresponding to the path from the starting point to the current parent node is less than the minimum number of gear shifts; the fourth return module is configured to, if it is determined that the number of gear shifts is greater than or equal to the minimum number of gear shifts, return to the step of selecting the target node; and the trigger module is configured to, if it is determined that the number of gear shifts is less than the minimum number of gear shifts, trigger an operation of determining whether the current parent node and the end point are in the same grid in the search space.
[0126] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, including at least one processor; and a memory communicatively connected to the at least one processor; the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the above-mentioned method of determining the target path.
[0127] According to an embodiment of the present disclosure, the present disclosure further provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to enable a computer to execute the above-mentioned method for determining a target path.
[0128] According to an embodiment of the present disclosure, the present disclosure further provides a computer program product, including a computer program, which implements the above-mentioned method for determining a target path when executed by a processor.
[0129] FIG6 is a block diagram of an electronic device for implementing a method for determining a target path according to an embodiment of the present disclosure. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0130] As shown in Figure 6, device 600 includes a computing unit 601, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. Various programs and data required for the operation of device 600 can also be stored in RAM 603. Computing unit 601, ROM 602, and RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to bus 604.
[0131] Various components in device 600 are connected to I / O interface 605, including an input unit 606, such as a keyboard, mouse, etc.; an output unit 607, such as various types of displays, speakers, etc.; a storage unit 608, such as a magnetic disk, optical disk, etc.; and a communication unit 609, such as a network card, modem, wireless communication transceiver, etc. The communication unit 609 allows device 600 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0132] The computing unit 601 can be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 601 performs the various methods and processes described above, such as the method for determining the target path. For example, in some embodiments, the method for determining the target path can be implemented as a computer software program that is tangibly contained in a machine-readable medium, such as a storage unit 608. In some embodiments, part or all of the computer program can be loaded and / or installed on the device 600 via the ROM 602 and / or the communication unit 609. When the computer program is loaded into the RAM 603 and executed by the computing unit 601, one or more steps of the method for determining the target path described above can be performed. Alternatively, in other embodiments, the computing unit 601 can be configured to perform the method for determining the target path by any other appropriate means (e.g., by means of firmware).
[0133] Various embodiments of the systems and techniques described above can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0134] The program code for implementing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device so that when the program code is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0135] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0136] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0137] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0138] Computer systems may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The client and server relationship arises through computer programs running on the respective computers and having a client-server relationship to each other.
[0139] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved. This is not limited herein.
[0140] In the technical solutions disclosed herein, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0141] In the technical solution disclosed herein, the user's authorization or consent is obtained before obtaining or collecting the user's personal information.
[0142] The above specific embodiments do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure shall be included within the scope of protection of this disclosure.
Claims
1. A method for determining a target path, comprising: According to the total cost value of the node, select a target node from at least one node included in the to-be-detected set as the current parent node; Determine whether the current parent node and the end point are in the same grid in the search space according to the pose information of the current parent node and the pose information of the end point; and In response to detecting that the current parent node and the end point are in the same grid, and the minimum number of gear shifts corresponding to the candidate path from the start point to the end point meets a predetermined number condition, a target path is determined according to the candidate path.
2. The method according to claim 1, further comprising: In response to detecting that the current parent node and the end point are in the same grid, and the minimum number of gear shifts corresponding to the candidate path from the start point to the end point does not meet the predetermined number condition, returning to the step of selecting the target node.
3. The method according to claim 1, further comprising: In response to detecting that the current parent node and the end point are in two grids, at least one child node is determined according to the current parent node, the to-be-detected set is updated according to the at least one child node, and the step of selecting the target node is returned.
4. The method according to claim 1, further comprising: After selecting the target node as the current parent node, the current parent node is deleted from the to-be-detected set to update the to-be-detected set.
5. The method according to claim 3 or 4, wherein: The predetermined number condition includes: the minimum number of gear shifts corresponding to the candidate path from the starting point to the end point is less than or equal to the sum of the target number of gear shifts and the target value; the method also includes: In response to detecting that the set to be detected has been updated, the target number of gear shifts is updated according to the number of gear shifts corresponding to each sub-node in the updated set to be detected.
6. The method according to claim 5, wherein: Updating the target number of gear shifts includes: For each node in the updated to-be-detected set, determining the number of gear shifts corresponding to the path from the starting point to the node, and obtaining multiple gear shift numbers for multiple nodes in the updated to-be-detected set; and The minimum value among the multiple gear shifting times is determined as the target gear shifting time.
7. The method according to claim 5, wherein: The target value is related to the remaining number of iterations, which is determined based on the total number of iterations and the number of iterations completed, where the number of iterations completed is the number of times the step of selecting the target node is executed.
8. The method according to claim 1, further comprising: In response to detecting that the current parent node and the end point are located in two grids, Generate a candidate curve according to the pose information of the current parent node and the pose information of the end point; as well as In response to detecting that the distance between the candidate curve and the obstacle is greater than a first predetermined safety distance, and the total number of gear shifts of the total path meets the predetermined number condition, determining the target path according to the total path; The total path includes the path from the starting point to the current parent node and the candidate curve.
9. The method according to claim 1, further comprising: In response to detecting that the current parent node and the end point are located in two grids, Generate a candidate curve according to the pose information of the current parent node and the pose information of the end point; In response to detecting that the candidate curve satisfies a predetermined extension condition, determining at least one child node according to a current parent node; Updating the to-be-detected set according to the at least one child node; as well as Return to the step of selecting a target node; The predetermined extension condition includes at least one of the following: the distance between the candidate curve and the obstacle is less than or equal to a first predetermined safety distance; And the total number of gear shifts in the total path does not meet the predetermined number condition; the total path includes the path from the starting point to the current parent node and the candidate curve.
10. The method according to claim 9, wherein: Updating the to-be-detected set according to the at least one child node includes: In response to detecting that the child node satisfies a first predetermined condition, Adding the child node to the set to be detected; and Set the actual parent node of the child node as the current parent node; Among them, the first predetermined condition includes: the distance between the child node and the obstacle is greater than or equal to a second predetermined safety distance, and the child node is not added to the set to be detected, and the child node is not added to the detected set, and the detected set includes nodes that have been deleted from the set to be detected.
11. The method according to claim 10, wherein: Updating the to-be-detected set according to the at least one child node further includes: In response to detecting that the child node satisfies the first predetermined condition, the number of gear shifts corresponding to the path from the starting point to the child node is determined based on the speed direction of the child node and the speed direction of the current parent node, and the number of gear shifts corresponding to the path from the starting point to the current parent node.
12. The method according to claim 9, wherein: Updating the to-be-detected set according to the at least one child node includes: In response to detecting that the child node satisfies a second predetermined condition, Changing the actual parent node of the child node to the current parent node; and Changing the historical path cost from the starting point to the child node to the current path cost from the starting point to the child node; The second predetermined condition includes: the distance between the subnode and the obstacle is greater than or equal to a second predetermined safety distance, the subnode has been added to the set to be detected, and the current path cost value is less than the historical path cost value.
13. The method according to claim 12, wherein: Updating the to-be-detected set according to the at least one child node further includes: In response to detecting that the child node satisfies the second predetermined condition, the number of gear shifts corresponding to the path from the starting point to the child node is determined based on the speed direction of the child node and the speed direction of the current parent node, and the number of gear shifts corresponding to the path from the starting point to the current parent node.
14. The method according to any one of claims 1 to 13, wherein: The predetermined number of conditions includes: the minimum number of gear shifts is less than or equal to the sum of the target number of gear shifts and the target value; the method further includes: after selecting the target node as the current parent node, determining whether the number of gear shifts corresponding to the path from the starting point to the current parent node is less than the minimum number of gear shifts; If it is determined that the number of gear shifts is greater than or equal to the minimum number of gear shifts, returning to the step of selecting a target node; and When it is determined that the number of gear shifts is less than the minimum number of gear shifts, an operation of determining whether the current parent node and the end point are in the same grid in the search space is triggered.
15. A device for determining a target path, comprising: A selection module, configured to select a target node as a current parent node from at least one node included in the to-be-detected set according to the total cost value of the node; A first determination module is used to determine whether the current parent node and the end point are in the same grid in the search space according to the posture information of the current parent node and the posture information of the end point; and The first path determination module is used to determine a target path according to the candidate path in response to detecting that the current parent node and the end point are in the same grid and the minimum number of gear shifts corresponding to the candidate path from the start point to the end point meets a predetermined number condition.
16. The apparatus according to claim 15, further comprising: The first returning module is used to return to the step of selecting the target node in response to detecting that the current parent node and the end point are in the same grid and the minimum number of gear shifts corresponding to the candidate path from the start point to the end point does not meet the predetermined number condition.
17. The apparatus according to claim 15, further comprising: The second return module is used to determine at least one child node according to the current parent node in response to detecting that the current parent node and the end point are in two grids, update the set to be detected according to the at least one child node, and return to the step of selecting the target node.
18. The apparatus according to claim 15, further comprising: The first set updating module is used to delete the current parent node from the to-be-detected set after selecting the target node as the current parent node, so as to update the to-be-detected set.
19. The device according to claim 17 or 18, wherein: The predetermined number condition includes: the minimum number of gear shifts corresponding to the candidate path from the starting point to the end point is less than or equal to the sum of the target number of gear shifts and the target value; the device also includes: The number updating module is used for updating the target number of gear shifts according to the number of gear shifts corresponding to each sub-node in the updated set to be detected in response to detecting that the set to be detected has been updated.
20. The device according to claim 19, wherein The number update module includes: a first number determination submodule, configured to determine, for each node in the updated set to be detected, the number of gear shifts corresponding to the path from the starting point to the node, and obtain multiple numbers of gear shifts for multiple nodes in the updated set to be detected; and The second number determination submodule is used to determine the minimum value of the multiple gear shifting times as the target gear shifting number.
21. The device according to claim 19, wherein The target value is related to the remaining number of iterations, which is determined based on the total number of iterations and the number of iterations completed, where the number of iterations completed is the number of times the step of selecting the target node is executed.
22. The apparatus according to claim 15, further comprising: The second path determination module is configured to, in response to detecting that the current parent node and the end point are located in two grids, Generate a candidate curve according to the pose information of the current parent node and the pose information of the end point; as well as In response to detecting that the distance between the candidate curve and the obstacle is greater than a first predetermined safety distance, and the total number of gear shifts of the total path meets the predetermined number condition, determining the target path according to the total path; The total path includes the path from the starting point to the current parent node and the candidate curve.
23. The apparatus of claim 15, further comprising: A curve generating module, configured to generate a candidate curve according to the pose information of the current parent node and the pose information of the end point in response to detecting that the current parent node and the end point are located in two grids; a child node determination module, configured to determine at least one child node according to a current parent node in response to detecting that the candidate curve satisfies a predetermined extension condition; A second set updating module, configured to update the to-be-detected set according to the at least one child node; as well as A third returning module, used to return to the step of selecting a target node; The predetermined extension condition includes at least one of the following: the distance between the candidate curve and the obstacle is less than or equal to a first predetermined safety distance; And the total number of gear shifts of the total path does not meet the predetermined number condition; the total path includes the path from the starting point to the current parent node and the candidate curve.
24. The device according to claim 23, wherein: The second set updating module comprises: a first updating submodule, configured to respond to detecting that the child node satisfies a first predetermined condition, Adding the child node to the set to be detected; and Set the actual parent node of the child node as the current parent node; Among them, the first predetermined condition includes: the distance between the child node and the obstacle is greater than or equal to a second predetermined safety distance, and the child node is not added to the set to be detected, and the child node is not added to the detected set, and the detected set includes nodes that have been deleted from the set to be detected.
25. The device according to claim 24, wherein: The second set updating module also includes: A second updating submodule is used to determine, in response to detecting that the child node satisfies the first predetermined condition, the number of gear shifts corresponding to the path from the starting point to the child node based on the speed direction of the child node and the speed direction of the current parent node, and the number of gear shifts corresponding to the path from the starting point to the current parent node.
26. The device according to claim 23, wherein The second set updating module comprises: A third updating submodule is configured to, in response to detecting that the child node satisfies a second predetermined condition, Changing the actual parent node of the child node to the current parent node; and Changing the historical path cost from the starting point to the child node to the current path cost from the starting point to the child node; The second predetermined condition includes: the distance between the subnode and the obstacle is greater than or equal to a second predetermined safety distance, the subnode has been added to the set to be detected, and the current path cost value is less than the historical path cost value.
27. The device according to claim 26, wherein: The second set updating module also includes: The fourth updating submodule is used to determine the number of gear shifts corresponding to the path from the starting point to the child node in response to detecting that the child node satisfies the second predetermined condition, based on the speed direction of the child node and the speed direction of the current parent node, and the number of gear shifts corresponding to the path from the starting point to the current parent node.
28. The device according to any one of claims 15 to 27, wherein: The predetermined number of conditions includes: the minimum number of gear shifts is less than or equal to the sum of the target number of gear shifts and the target value; the device also includes: A second determination module, configured to determine whether the number of gear shifts corresponding to the path from the starting point to the current parent node is less than the minimum number of gear shifts after selecting the target node as the current parent node; A fourth returning module, configured to return to the step of selecting a target node when it is determined that the number of gear shifts is greater than or equal to the minimum number of gear shifts; and The trigger module is used to trigger the operation of determining whether the current parent node and the end point are in the same grid in the search space when it is determined that the number of gear shifts is less than the minimum number of gear shifts.
29. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 14.
30. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1 to 14.
31. A computer program product comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1 to 14.
32. An autonomous driving vehicle, comprising: The electronic device of claim 29.
Citation Information
Patent Citations
Path planning method for computing optimal parking maneuvers for road vehicles and corresponding system
CN109215370A
Path planning optimization method and system
CN112985408A
Path planning method and device based on bidirectional mixed A* algorithm, and terminal
CN115291597A
Tower crane track planning method, electronic equipment and storage medium
CN115344048A
Global reference path planning method and device based on mixed satellite A
CN115683138A