Track planning method and device, electronic equipment and autonomous vehicle
By obtaining the driving data of bicycles and multiple obstacles, using space-time maps and decision tree search technology, a planning trajectory for coping with multiple obstacles is generated, which solves the problem of autonomous vehicles coping with motion uncertainty in a multi-obstruction environment, and achieves higher trajectory planning accuracy and driving reliability.
Patent Information
- Application Number
- CN202510515227.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-23
- Publication Date
- 2025-06-10
- Estimated Expiration
- 2045-04-23
AI Technical Summary
When autonomous vehicles cope with the motion uncertainty of multiple interactive obstacles in unstructured roads and noisy intersections, the prior art is difficult to effectively deal with, resulting in the impact of driving safety and efficiency.
By obtaining the driving data of the bicycle and multiple obstacles, determining conflict information, and using the space-time graph conversion process, a decision tree is built for searching to generate a planning trajectory for dealing with multiple obstacles.
The bicycle can effectively respond to motion uncertainty in a multi-obstruction environment, and improve the accuracy of trajectory planning and the driving reliability of autonomous vehicles.
Smart Images

Figure CN120121075A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, specifically to the fields of intelligent transportation and autonomous driving, and particularly to a method, device, electronic device, and autonomous driving vehicle for trajectory planning. Background Art
[0002] Generally, there are a large number of unstructured roads and noisy intersections in the distribution environment of autonomous driving vehicles, which contain various interactive obstacles such as motor vehicles, non-motor vehicles, and pedestrians, and their movement trajectories are uncertain. These problems pose great challenges to the operation of autonomous driving vehicles.
[0003] Currently, in the actual driving environment, the types and quantities of interactive obstacles are numerous, but the solutions of related technologies still mainly focus on the interactive processing solutions between the vehicle itself and single intelligent agents, and no relatively effective contingency processing method for continuous multi-obstacles has been proposed. Summary of the Invention
[0004] The present application provides a method, device, electronic device, and autonomous driving vehicle for trajectory planning, which can enable the vehicle itself to effectively cope with the uncertainty of the future movement of interactive multi-obstacles, taking into account both safety and efficiency. The technical solutions are as follows:
[0005] In a first aspect, a method for trajectory planning is provided. The method includes:
[0006] Obtain the driving data of the vehicle itself and the driving data of obstacles; wherein, the number of the obstacles is multiple;
[0007] Based on the driving data of the vehicle itself and the driving data of obstacles, determine the conflict information between the vehicle itself and the obstacles;
[0008] Based on a Space-Time Diagram (ST) graph, perform conversion processing on the conflict information to obtain at least one time-series decision interval and the conflict information of each time-series decision interval;
[0009] Based on a preset response trajectory of the vehicle itself, at least one time-series decision interval, and the conflict information of each time-series decision interval, construct a decision tree;
[0010] Based on the driving data of the vehicle itself and the driving data of obstacles, perform search processing on the decision tree to obtain the planned trajectory of the vehicle itself for coping with the obstacles.
[0011] In a possible implementation, the driving data of the host vehicle includes the host vehicle position data and the host vehicle planned path, and the driving data of the obstacle includes the obstacle position data and the obstacle predicted trajectory. Determining the conflict information between the host vehicle and the obstacle based on the driving data of the host vehicle and the driving data of the obstacle includes:
[0012] Calculating a conflict area between the host vehicle and the obstacle based on the host vehicle position data, the host vehicle planned path, the obstacle position data, and the obstacle predicted trajectory;
[0013] Extracting the obstacle predicted trajectory in the conflict area between the host vehicle and the obstacle;
[0014] Taking the obstacle predicted trajectory in the conflict area between the host vehicle and the obstacle as the conflict information between the host vehicle and the obstacle.
[0015] In a possible implementation, performing a conversion process on the conflict information based on the ST graph to obtain at least one timing decision interval, including:
[0016] Converting the conflict information into the ST graph to obtain at least one conflict line segment;
[0017] Based on the time information of each conflict line segment, using a preset timing decision interval division strategy to perform a division process on each conflict line segment to obtain at least one timing decision interval.
[0018] In a possible implementation, the step of based on the time information of each conflict line segment, using a preset timing decision interval division strategy to perform a division process on each conflict line segment to obtain at least one timing decision interval includes:
[0019] Based on the time information of each conflict line segment, determining whether there is time overlap between each conflict line segment;
[0020] When there is time overlap between at least two conflict line segments, based on the time end point of the conflict line segment with the latest time among the at least two conflict line segments, determining the at least two conflict line segments with time overlap as one timing decision interval to obtain a first type of timing decision interval;
[0021] When there is no time overlap between at least two conflict line segments, based on the time end point of each conflict line segment without time overlap, dividing to obtain a timing decision interval corresponding to each conflict line segment to obtain a second type of timing decision interval;
[0022] Based on the first type of timing decision interval and the second type of timing decision interval, obtaining at least one timing decision interval.
[0023] In a possible implementation, the decision tree includes levels and branches. Based on a preset ego-vehicle response trajectory, at least one temporal decision interval, and conflict information for each temporal decision interval, a decision tree is constructed, including:
[0024] Based on at least one temporal decision interval, construct the levels of the decision tree;
[0025] Based on the preset ego-vehicle response trajectory and the conflict information for each temporal decision interval, construct the branches of the decision tree.
[0026] In a possible implementation, the decision tree includes multiple nodes. Based on the driving data of the ego-vehicle and the driving data of an obstacle, perform a search process on the decision tree to obtain a planned trajectory for the ego-vehicle to respond to the obstacle, including:
[0027] Based on the driving data of the ego-vehicle and the driving data of the obstacle, use a preset search strategy to perform a search process on each node of the decision tree;
[0028] Based on the results of the search process, obtain a planned trajectory for the ego-vehicle to respond to the obstacle.
[0029] In a possible implementation, the nodes of the decision tree include a root node and multiple child nodes. Based on the driving data of the ego-vehicle and the driving data of the obstacle, use a preset search strategy to perform a search process on each node of the decision tree, including:
[0030] Determine the conflict information between the preset ego-vehicle response trajectory corresponding to the root node of the decision tree and the temporal decision interval;
[0031] Determine the conflict information between the preset ego-vehicle response trajectory corresponding to each child node of the decision tree and the temporal decision interval;
[0032] Based on the driving data of the ego-vehicle, the driving data of the obstacle, the conflict information between the preset ego-vehicle response trajectory corresponding to the root node and the temporal decision interval, and the conflict information between the preset ego-vehicle response trajectory corresponding to each child node and the temporal decision interval, use a preset optimal control algorithm to determine the optimal solution results for each child node of the decision tree;
[0033] Use a preset tree search algorithm to perform a search process on the optimal solution results for each child node of the decision tree.
[0034] In a possible implementation, the use of a preset tree search algorithm to perform a search process on the optimal solution results for each child node of the decision tree includes:
[0035] Search for the optimal solution results of each child node of the decision tree based on a preset search order;
[0036] In response to the existence of an optimal solution result for a child node, obtain the planned speed of the host vehicle corresponding to the child node for dealing with the obstacle, so as to obtain the planned speeds of the host vehicle corresponding to multiple child nodes for dealing with the obstacle;
[0037] Obtain the planned path of the host vehicle from the driving data of the host vehicle;
[0038] Perform splicing processing on the planned path of the host vehicle and the planned speeds of the host vehicle corresponding to multiple child nodes for dealing with the obstacle to obtain the result of the search processing.
[0039] In a second aspect, there is provided an apparatus for trajectory planning, the apparatus comprising:
[0040] An acquisition unit, configured to acquire the driving data of the host vehicle and the driving data of the obstacle; wherein, the number of the obstacles is multiple;
[0041] A determination unit, configured to determine the conflict information between the host vehicle and the obstacle based on the driving data of the host vehicle and the driving data of the obstacle;
[0042] A conversion unit, configured to perform conversion processing on the conflict information based on the ST diagram to obtain at least one timing decision interval and the conflict information of each timing decision interval;
[0043] A construction unit, configured to construct a decision tree based on a preset response trajectory of the host vehicle, at least one timing decision interval, and the conflict information of each timing decision interval;
[0044] A planning unit, configured to perform search processing on the decision tree based on the driving data of the host vehicle and the driving data of the obstacle to obtain the planned trajectory of the host vehicle for dealing with the obstacle.
[0045] In a third aspect, there is provided a computer-readable storage medium, in which at least one instruction is stored, and the at least one instruction is loaded and executed by a processor to implement the methods in the above aspects and any possible implementation manners.
[0046] In a fourth aspect, there is provided an electronic device, comprising:
[0047] At least one processor; and
[0048] A memory communicatively connected to the at least one processor; wherein,
[0049] 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 methods of the aspects and any possible implementations described above.
[0050] In a fifth aspect, there is provided a computer program product including a computer program which, when executed by a processor, implements the methods of the aspects and any possible implementations described above.
[0051] In a sixth aspect, there is provided a self-driving vehicle including the electronic device described above.
[0052] The beneficial effects of the technical solution provided in this application at least include:
[0053] As can be seen from the above technical solution, in the embodiment of this application, the driving data of the host vehicle and the driving data of multiple obstacles can be obtained, and then, based on the driving data of the host vehicle and the driving data of the obstacles, the conflict information between the host vehicle and the obstacles can be determined. Based on the space-time ST diagram, the conflict information is converted to obtain at least one timing decision interval and the conflict information of each timing decision interval. Based on the preset response trajectory of the host vehicle, at least one timing decision interval and the conflict information of each timing decision interval, a decision tree is constructed. Based on the driving data of the host vehicle and the driving data of the obstacles, the decision tree is searched to obtain the planned trajectory of the host vehicle to deal with the obstacles. Since a decision tree can be constructed according to the preset response trajectory of the host vehicle, at least one timing decision interval and the conflict information of each timing decision interval, and the decision tree is searched to obtain the planned trajectory of the host vehicle to deal with the obstacles, taking into account the multimodality of the continuous multi-agent driving data, effectively realizing the timing adaptive trajectory planning of the host vehicle and multiple interactive agents, improving the accuracy of the planned trajectory of the host vehicle to deal with multiple agents, and thus ensuring the reliability of the self-driving vehicle driving.
[0054] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of this application, nor is it used to limit the scope of this application. Other features of this application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] To more clearly illustrate the technical solutions in the embodiments of this application, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of this application, and those of ordinary skill in the art can also obtain other drawings without creative efforts based on these drawings.
[0056] Figure 1It is a schematic flowchart of a trajectory planning method provided by an embodiment of the present application;
[0057] Figure 2 It is a schematic flowchart of a trajectory planning method provided by another embodiment of the present application;
[0058] Figure 3 It is a schematic diagram of the interaction scenario between the host vehicle and an obstacle in the trajectory planning method provided by another embodiment of the present application;
[0059] Figure 4 It is a schematic diagram of the ST graph corresponding to the interaction scenario between the host vehicle and an obstacle in the trajectory planning method provided by another embodiment of the present application;
[0060] Figure 5 It is a schematic diagram of a decision tree in the trajectory planning method provided by another embodiment of the present application;
[0061] Figure 6 It is a schematic diagram of the decision tree search process in the trajectory planning method provided by another embodiment of the present application;
[0062] Figure 7 It is a schematic diagram of the speed planning result in the ST graph in the trajectory planning method provided by another embodiment of the present application;
[0063] Figure 8 It is a structural block diagram of a trajectory planning device provided by yet another embodiment of the present application;
[0064] Figure 9 It is a block diagram of an electronic device for implementing the trajectory planning method of the embodiments of the present application. Detailed implementation manners
[0065] The following describes exemplary embodiments of the present application with reference to the accompanying drawings. Various details of the embodiments of the present application are included to facilitate understanding, and they should be considered merely exemplary. Therefore, those of ordinary skill in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present application. Similarly, descriptions of well-known functions and structures are omitted below for clarity and conciseness.
[0066] Obviously, the described embodiments are some, but not all, of the embodiments of the present application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present application without creative efforts fall within the scope of protection of the present application.
[0067] It should be noted that the terminal devices involved in the embodiments of the present application may include, but are not limited to, intelligent devices such as mobile phones, personal digital assistants (PDAs), wireless handheld devices, and tablet computers; the display devices may include, but are not limited to, devices with display functions such as personal computers and televisions.
[0068] In addition, the term "and / or" in this article is merely a description of the association relationship between associated objects, indicating that there can be three relationships. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this article generally represents an "or" relationship between the associated objects before and after.
[0069] Please refer to Figure 1 , which shows a schematic flowchart of a trajectory planning method provided by an embodiment of the present application. The trajectory planning method may specifically include:
[0070] Step 101, obtain the driving data of the host vehicle and the driving data of the obstacles; where the number of the obstacles is multiple.
[0071] Step 102, determine the conflict information between the host vehicle and the obstacles based on the driving data of the host vehicle and the driving data of the obstacles.
[0072] Step 103, perform conversion processing on the conflict information based on the ST diagram to obtain at least one timing decision interval and the conflict information of each timing decision interval.
[0073] Step 104, construct a decision tree based on the preset response trajectory of the host vehicle, at least one timing decision interval, and the conflict information of each timing decision interval.
[0074] Step 105, perform search processing on the decision tree based on the driving data of the host vehicle and the driving data of the obstacles to obtain the planned trajectory of the host vehicle to deal with the obstacles.
[0075] So far, the driving of the host vehicle can be controlled based on the planned trajectory of the host vehicle to deal with the obstacles.
[0076] It should be noted that here, the host vehicle is an autonomous driving vehicle that interacts with multiple obstacles. The driving data of the host vehicle may include, but are not limited to, the host vehicle position data, the host vehicle speed, and the host vehicle planned path.
[0077] It should be noted that the obstacles may include agents in the driving environment perceived by the host vehicle. There may be multiple obstacles in the driving environment of the host vehicle.
[0078] It should be noted that the driving data of the obstacle may include obstacle position data, obstacle speed, and the predicted trajectory of the obstacle, etc. The obstacle position data and obstacle speed may be the obstacle position data and obstacle speed sensed by the host vehicle. The predicted trajectory of the obstacle is multiple predicted trajectories predicted by the prediction module of the host vehicle based on the driving state data of the obstacle. The driving state data of the obstacle may include obstacle position data, obstacle speed, etc. The predicted trajectory of the obstacle may be a multi-modal predicted trajectory.
[0079] It should be noted that part or all of the execution subjects of steps 101 to 105 may be an application located in the local terminal, or may also be a functional unit such as a plug-in or software development kit (SDK) set in the application located in the local terminal, or may also be a processing engine located in the network-side server, or may also be a distributed system located on the network side. For example, the processing engine or distributed system in the autonomous driving platform on the network side, etc. This embodiment does not make a special limitation on this.
[0080] It can be understood that the application may be a native app installed on the local terminal, or may also be a web app of a browser on the local terminal. This embodiment does not limit this.
[0081] In this way, by constructing a decision tree according to the preset response trajectory of the host vehicle, at least one timing decision interval, and the conflict information of each timing decision interval, and searching the decision tree to obtain the planned trajectory of the host vehicle to deal with the obstacle, considering the multi-modal nature of the continuous multi-agent driving data, it can effectively realize the timing adaptive trajectory planning of the host vehicle and multiple interactive agents, improve the accuracy of the planned trajectory of the host vehicle to deal with multiple agents, and thus ensure the reliability of the driving of the autonomous vehicle.
[0082] Optionally, in a possible implementation manner of this embodiment, the driving data of the host vehicle may include host vehicle position data and the planned path of the host vehicle, and the driving data of the obstacle includes obstacle position data and the predicted trajectory of the obstacle. In step 102, first, based on the host vehicle position data, the planned path of the host vehicle, the obstacle position data, and the predicted trajectory of the obstacle, the conflict area between the host vehicle and the obstacle is calculated. Secondly, the predicted trajectory of the obstacle in the conflict area between the host vehicle and the obstacle is extracted. Thirdly, the predicted trajectory of the obstacle in the conflict area between the host vehicle and the obstacle is used as the conflict information between the host vehicle and the obstacle.
[0083] In this implementation manner, the host vehicle position data may be the current position of the host vehicle in the current planning cycle. The obstacle position data may be the current position of the obstacle in the current planning cycle.
[0084] In a specific implementation process of this implementation manner, the driving data of the host vehicle may further include the host vehicle speed. The driving data of the obstacle may further include the obstacle speed. For any one obstacle, based on the host vehicle position data, the host vehicle speed, and the host vehicle planned path, as well as the obstacle position data, the obstacle speed, and the obstacle prediction trajectory, the conflict area between the host vehicle and the obstacle can be calculated.
[0085] It can be understood that an existing method for determining the conflict area between the host vehicle and the obstacle can also be used to obtain the conflict area, and specific limitations are not required here.
[0086] In this way, by determining the conflict area between the host vehicle and the obstacle, the obstacle prediction trajectories with possible collisions can be filtered out, reducing the subsequent planning data processing volume and improving the efficiency and accuracy of the host vehicle trajectory planning.
[0087] Optionally, in a possible implementation manner of this embodiment, in step 103, first, the conflict information can be converted into the ST graph to obtain at least one conflict segment. Secondly, based on the time information of each conflict segment, using a preset time sequence decision interval division strategy, each conflict segment is divided to obtain at least one time sequence decision interval.
[0088] In this implementation manner, the conflict segment can be obtained by drawing the obstacle prediction trajectory in the ST graph.
[0089] In a specific implementation process of this implementation manner, first, based on the time information of each conflict segment, it can be determined whether there is time overlap between each conflict segment. Secondly, when there is time overlap between at least two conflict segments, based on the time end point of the conflict segment with the latest time among the at least two conflict segments, the at least two conflict segments with time overlap are determined as one time sequence decision interval to obtain the first type of time sequence decision interval; when there is no time overlap between at least two conflict segments, based on the time end points of each conflict segment without time overlap, each conflict segment is divided to obtain the time sequence decision interval corresponding to each conflict segment, obtaining the second type of time sequence decision interval. Based on the first type of time sequence decision interval and the second type of time sequence decision interval, at least one time sequence decision interval is obtained.
[0090] A situation of this specific implementation process is that at least two conflict segments with time overlap can be merged, and the time end point of the conflict segment with the latest time among the at least two conflict segments is used as the termination point of this time sequence decision interval, and the time termination point of the conflict segment before the conflict segment with the earliest time among the at least two conflict segments is used as the start point of this time sequence decision interval. Here, this type of time sequence decision interval can be the first type of time sequence decision interval.
[0091] Another case of the specific implementation process is that a timing decision interval can be determined based on a conflict segment that has no time overlap with other conflicting segments. The end time of this conflict segment serves as the termination point of the timing decision interval, and the end time of a previous conflict segment of this conflict segment serves as the starting point of the timing decision interval. In this way, multiple timing decision intervals can be obtained by partitioning based on multiple conflict segments with no time overlap. Here, this type of timing decision interval can be a second type of timing decision interval.
[0092] Here, the number of the first type of timing decision intervals can be multiple, and the number of the second type of timing decision intervals can be multiple.
[0093] Another case of the specific implementation process is that the first type of timing decision intervals and the second type of timing decision intervals can be integrated in chronological order to obtain multiple timing decision intervals.
[0094] In this way, multiple timing decision intervals can be obtained by partitioning based on the time overlap situation between conflict segments in the ST graph, which is convenient for constructing an effective decision tree subsequently and improves the accuracy of subsequent trajectory planning.
[0095] It should be noted that the multiple specific implementation processes provided in this implementation manner can be combined with the foregoing implementation manner to implement the steps in the trajectory planning method of this embodiment. For a detailed description, reference can be made to the relevant content in this implementation manner, which will not be elaborated here.
[0096] Optionally, in a possible implementation manner of this embodiment, the decision tree includes levels and branches. In step 104, first, the levels of the decision tree can be constructed based on at least one timing decision interval. Secondly, the branches of the decision tree are constructed based on the preset ego-vehicle response trajectory and the conflict information of each timing decision interval.
[0097] In this implementation manner, the preset ego-vehicle response trajectory can be a greedy decision response, that is, a greedy decision response trajectory. The greedy decision response can refer to the ego-vehicle response trajectory without considering any colliding obstacles within the corresponding timing decision interval. The conflict information of the timing decision interval can include at least one conflict segment.
[0098] In this implementation manner, one timing decision interval can correspond to one level of the decision tree.
[0099] In a specific implementation process of this implementation manner, for any timing decision interval, in the level of this timing decision interval, the number of branches can be determined based on the sum of the number of the preset ego-vehicle response trajectories and the number of conflict segments of this timing decision interval.
[0100] Here, the branches at this level may include branches corresponding to a preset ego-vehicle response trajectory and branches corresponding to each conflict segment in this timing decision interval.
[0101] It can be understood that this level includes a root node and child nodes, and the number of child nodes corresponding to one root node can be the number of branches.
[0102] Exemplarily, if one root node in the level of the timing decision interval corresponds to two child nodes, the state of one child node can be obtained by solving an optimization problem based on a preset ego-vehicle response trajectory, and the state of the other child node is obtained by solving an optimization problem based on a conflict segment in this timing decision interval.
[0103] In this way, a decision tree can be constructed by combining the conflict information in the timing decision interval with the response trajectory of the ego-vehicle without considering obstacles, which is convenient for subsequent accurate and effective trajectory planning.
[0104] It should be noted that the various specific implementation processes provided in this implementation manner can be combined with the foregoing implementation manner to implement the steps in the trajectory planning method of this embodiment. For a detailed description, reference can be made to the relevant content in this implementation manner, which will not be elaborated here.
[0105] Optionally, in a possible implementation manner of this embodiment, the decision tree may include multiple nodes. In step 105, based on the driving data of the ego-vehicle and the driving data of the obstacle, using a preset search strategy, each node of the decision tree can be searched and processed, and then based on the result of the search and processing, a planned trajectory for the ego-vehicle to cope with the obstacle can be obtained.
[0106] In this implementation manner, the result of the search and processing may include planned trajectories for the ego-vehicle to cope with multiple obstacles.
[0107] In this implementation manner, the nodes of the decision tree include a root node and multiple child nodes. Here, the root node can be the starting node of the entire decision tree.
[0108] In a specific implementation process of this implementation manner, first, the conflict information between the preset ego-vehicle response trajectory and the timing decision interval corresponding to the root node of the decision tree and the conflict information between the preset ego-vehicle response trajectory and the timing decision interval corresponding to each child node can be determined. Second, based on the driving data of the ego-vehicle, the driving data of the obstacle, the conflict information between the preset ego-vehicle response trajectory and the timing decision interval corresponding to the root node, and the conflict information between the preset ego-vehicle response trajectory and the timing decision interval corresponding to each child node, using a preset optimization control algorithm, the optimization solution results of each child node of the decision tree can be determined. Third, using a preset tree search algorithm, search processing is performed on the optimization solution results of each child node of the decision tree.
[0109] In one case of this specific implementation process, based on a preset search order, the optimization solution results of each child node of the decision tree are searched. Second, in response to the existence of an optimization solution result for a child node, the planned speed of the ego-vehicle for coping with the obstacle corresponding to the child node is obtained to obtain the planned speeds of the ego-vehicle for coping with the obstacle corresponding to multiple child nodes. Third, the ego-vehicle planned path in the driving data of the ego-vehicle is obtained. Third, the ego-vehicle planned path and the planned speeds of the ego-vehicle for coping with the obstacle corresponding to multiple child nodes are spliced to obtain the result of the search processing.
[0110] Here, the preset search order can be to first search the branch based on the preset ego-vehicle response trajectory and then search the branch based on the conflict line segment of the obstacle.
[0111] In this implementation manner, the preset optimization control algorithm is an algorithm based on the N-Contingency Model Predictive Control (N-CMPC). The objective function and objective constraint conditions of the optimization problem of this preset optimization control algorithm can be as shown in formula (5).
[0112] Preferably, the optimization solution result can be the optimization result calculated based on the objective function and objective constraint conditions of the optimization problem of the preset optimization control algorithm. Based on the optimization solution result, the action vector corresponding to the state vector of the child node can be obtained, and then based on this action vector, the planned speed can be calculated.
[0113] In this way, by using the preset search strategy to search each node of the decision tree according to the driving data of the ego-vehicle and the driving data of the obstacle, the planned trajectory of the ego-vehicle for coping with the obstacle can be obtained, further improving the accuracy of the planned trajectory of the ego-vehicle for coping with multiple intelligent agents, thereby improving the reliability of the driving of the autonomous vehicle.
[0114] It should be noted that the various specific implementation processes provided in this implementation manner can be combined with the foregoing implementation manner to implement the steps in the trajectory planning method of this embodiment. For a detailed description, reference can be made to the relevant content in this implementation manner, which will not be elaborated here.
[0115] To better understand the method of the embodiments of the present application, the method of the embodiments of the present application will be described below in conjunction with the accompanying drawings and specific application scenarios.
[0116] Figure 2 It is a schematic flow chart of the trajectory planning method provided by another embodiment of the present application, as Figure 2 shown.
[0117] Step 201, obtain the driving data of the host vehicle and the driving data of multiple obstacles.
[0118] In this embodiment, the driving data of the host vehicle may include, but is not limited to, host vehicle position data, host vehicle speed, and host vehicle planned path.
[0119] The driving data of the obstacles may include obstacle position data, obstacle speed, and obstacle prediction trajectories, etc. The obstacle position data and obstacle speed may be the obstacle position data and obstacle speed sensed by the host vehicle. The obstacle prediction trajectories are multiple prediction trajectories obtained by the prediction module of the host vehicle based on the driving state data. The obstacle prediction trajectories may be multi-modal prediction trajectories.
[0120] Step 202, calculate the conflict area between the host vehicle and each obstacle based on the driving data of the host vehicle and the driving data of multiple obstacles.
[0121] Step 203, extract multiple obstacle prediction trajectories from each conflict area to convert the multiple obstacle prediction trajectories into the ST graph to obtain multiple conflict line segments.
[0122] In this embodiment, first, the conflict area between the host vehicle and each obstacle can be calculated based on the host vehicle position data, the host vehicle planned path, and the multiple obstacle position data and multiple obstacle prediction trajectories. Secondly, multiple obstacle prediction trajectories can be extracted from each conflict area and converted into the ST graph to obtain multiple conflict line segments.
[0123] Step 204, based on the time information of each conflict line segment, use a preset time sequence decision interval division strategy to perform division processing on each conflict line segment to obtain at least one time sequence decision interval.
[0124] In this embodiment, first, based on the time information of each conflicting line segment, it can be determined whether there is time overlap between each pair of conflicting line segments. Second, when there is time overlap between at least two conflicting line segments, based on the time end point of the conflicting line segment with the latest time among the at least two conflicting line segments, the at least two conflicting line segments with time overlap are determined as a timing decision interval to obtain the first type of timing decision interval. Third, when there is no time overlap between at least two conflicting line segments, based on the time end points of each conflicting line segment without time overlap, each conflicting line segment is divided into a corresponding timing decision interval to obtain the second type of timing decision interval. Fourth, based on the first type of timing decision interval and the second type of timing decision interval, at least one timing decision interval is obtained.
[0125] Specifically, at least two conflicting line segments with time overlap can be merged, and the time end point of the conflicting line segment with the latest time among the at least two conflicting line segments is used as the termination point of this timing decision interval, and the time termination point of the conflicting line segment before the conflicting line segment with the earliest time among the at least two conflicting line segments is used as the starting point of this timing decision interval. Here, this type of timing decision interval can be the first type of timing decision interval.
[0126] Specifically, based on a conflicting line segment that has no time overlap with other conflicting line segments, a timing decision interval can be determined. The time end point of this conflicting line segment is used as the termination point of this timing decision interval, and the time end point of a conflicting line segment before this conflicting line segment is used as the starting point of this timing decision interval. In this way, based on multiple conflicting line segments without time overlap, multiple timing decision intervals can be divided. Here, this type of timing decision interval can be the second type of timing decision interval.
[0127] In this embodiment, the first type of timing decision interval and the second type of timing decision interval can be integrated in chronological order to obtain multiple timing decision intervals.
[0128] It can be understood that the conflicting line segment is the predicted line of the obstacle prediction trajectory in the ST graph.
[0129] Exemplarily, Figure 3 is a schematic diagram of the interaction scenario between the host vehicle and obstacles in the trajectory planning method provided by another embodiment of the present application. As Figure 3 shown, in complex and crowded sections, such as traffic intersections, there are often situations where there are a large number of conflicts between the obstacle and the planned path of the host vehicle. ego represents the host vehicle, agent1 represents obstacle 1, agent2 represents obstacle 2, and agent3 represents obstacle 3. Figure 3Part of the predicted trajectories of the obstacles are shown. 1-1 and 1-2 represent the trajectories of obstacle 1 predicted by the host vehicle; 2-1 and 2-2 represent the trajectories of obstacle 2 predicted by the host vehicle; 3-1 and 3-2 represent the trajectories of obstacle 3 predicted by the host vehicle.
[0130] Further, Figure 4 is a schematic diagram of the ST graph corresponding to the interaction scenario between the host vehicle and the obstacles in the trajectory planning method provided by another embodiment of the present application. As Figure 4 shown, the predicted trajectories of the obstacles can be described in the form of an ST graph. It can be seen that there is an overlapping conflict relationship on the time axis between the 3-2 predicted lines of obstacle 3 and the 1-2 predicted line of obstacle 1. Therefore, based on the time overlap situation, the timing decision of the complete horizon is discretized into multiple timing decision intervals, such as Figure 4 shown as (0, T 1 ), (T 1 , T 2 ), (T 2 , T).
[0131] Step 205: Construct a decision tree based on the preset host vehicle response trajectory, at least one timing decision interval, and the conflict segments of each timing decision interval.
[0132] In this embodiment, the preset host vehicle response trajectory can be the host vehicle response trajectory based on greedy decision-making, that is, greedy decision response. Here, the greedy decision response can refer to the host vehicle response trajectory that does not consider any colliding obstacles within the corresponding timing decision interval, for example, 0-T1.
[0133] In this embodiment, Figure 5 is a schematic diagram of the decision tree in the trajectory planning method provided by another embodiment of the present application. Based on Figure 3 the scenario shown, the decision tree is defined as Figure 5 shown, where 1-0, 2-0, 3-0 represent the greedy decision response, that is, the preset host vehicle response trajectory. The greedy decision response refers to the decision response trajectory of the host vehicle that does not consider obstacles within the corresponding time period. 2-2 is the decision response of the host vehicle to the second conflict segment of obstacle 2, 3-1 is the decision response to the first conflict segment of obstacle 3, 3-2 is the decision response to the second conflict segment of obstacle 3, and 1-2 is the decision response to the second conflict segment of obstacle 1.
[0134] According to the timing decision interval, the levels of the decision tree can be constructed. 0-T1 is the first level, T1-T2 is the second level, and after T2 is the third level. Based on the preset host vehicle response trajectory and the conflict segments of each timing decision interval, the decision branches of each level can be determined.
[0135] Exemplarily, as Figure 5As shown, 0 can represent the total root node of the decision tree. In the first level 0-T1, the 1-0 child node can represent the state quantity corresponding to the last trajectory point of the optimization solution of the decision branch based on the 1-0 greedy decision, that is, the preset ego vehicle response trajectory. The 2-2 child node can represent the state quantity corresponding to the last trajectory point of the optimization solution of the decision branch based on the 2-2 decision branch, that is, the second conflict line segment of obstacle 2. In the second level T1-T2, the 1-0 child node and the 2-2 child node in the first level can serve as the root nodes in the second level. The conflict line segment 3-1 is included in T1-T2. The child nodes corresponding to each root node in the second level are 2-0 and 3-1. In the third level T2-T3 (not shown in the T3 figure), the two parts of 2-0 child nodes and 3-1 child nodes in the second level can serve as the root nodes in the third level. The conflict line segments 3-2 and 1-2 are included in T2-T3. The child nodes corresponding to each root node in the third level are 3-0, 3-2, and 1-2.
[0136] It should be noted that here, as Figure 5 shown, for 1-0, the preceding number 1 represents the first level 0-T1, corresponding to the first time decision interval. For 2-0, the preceding number 2 represents the second level T1-T2, corresponding to the second time decision interval. For 3-0, the preceding number 3 represents the third level T2-T3, corresponding to the third time decision interval. The preceding numbers 1, 2, and 3 in 1-2, 2-2, 3-1, and 3-2 represent obstacle 1, obstacle 2, and obstacle 3 respectively.
[0137] Step 206: Based on the driving data of the ego vehicle and the driving data of multiple obstacles, use the preset optimization control algorithm and the preset tree search algorithm to perform a search process on the decision tree to obtain the planned trajectory for the ego vehicle to respond to the obstacles.
[0138] In this embodiment, the decision tree includes nodes, levels, and branches. The levels of the decision tree correspond to the timing decision intervals, and the branches of the decision tree correspond to the preset ego vehicle response trajectories and the conflict line segments in the timing decision intervals.
[0139] Here, it can be understood that the nodes can include root nodes and multiple child nodes. The child nodes at each level can serve as the root nodes of the next level.
[0140] Specifically, first, based on the decision tree, the conflict information between the preset ego-vehicle response trajectory and the timing decision interval corresponding to the root node of the decision tree and the conflict information between the preset ego-vehicle response trajectory and the timing decision interval corresponding to each child node can be determined. Second, based on the driving data of the ego-vehicle, the driving data of the obstacle, the conflict information between the preset ego-vehicle response trajectory and the timing decision interval corresponding to the root node, and the conflict information between the preset ego-vehicle response trajectory and the timing decision interval corresponding to each child node, using the preset optimal control algorithm, the optimal solution results of each child node of the decision tree can be determined. Third, based on the preset search order, the optimal solution results of each child node of the decision tree are searched. Third, in response to the existence of an optimal solution result for a child node, the planned speed of the ego-vehicle to cope with the obstacle corresponding to the child node is obtained to obtain the planned speeds of the ego-vehicle to cope with the obstacle corresponding to multiple child nodes. Third, the planned path of the ego-vehicle in the driving data of the ego-vehicle is obtained. Third, the planned path of the ego-vehicle and the planned speeds of the ego-vehicle to cope with the obstacle corresponding to multiple child nodes are spliced to obtain the result of the search process. Here, the result of the search process is used as the planned trajectory of the ego-vehicle to cope with the obstacle, that is, the result of the search process includes the planned trajectory of the ego-vehicle to cope with the obstacle.
[0141] In this embodiment, the preset optimal control algorithm may be an algorithm based on the N-strain model predictive control model.
[0142] In this embodiment, the optimal solution result may include the action vector of the ego-vehicle to cope with the obstacle, and the action vector of the ego-vehicle to cope with the obstacle may be the jerk. The planned speed of the ego-vehicle to cope with the obstacle can be calculated based on the jerk of the ego-vehicle to cope with the obstacle.
[0143] Optionally, for different timing decision intervals, the N of the executed N-CMPC is different. For the scenario without obstacles ahead, N = 1; in other scenarios, due to considering the greedy decision response, that is, the preset ego-vehicle response trajectory, the value of N is related to the number of conflict line segments of the obstacles that may conflict within the timing decision interval and the number of greedy decision responses. Therefore, N ≥ 2. The value of N can be the sum of the number of conflict line segments and the number of greedy decision responses.
[0144] Exemplarily, in the process of constructing the preset optimal control algorithm, first, it can be assumed that the state transition function is defined as shown in formula (1):
[0145] X k+1 = AX k + BU k (1)
[0146] where, X k is the state vector, U k is the action vector, that is, the jerk, and A and B are coefficient matrices, which can be defined as follows:
[0147]
[0148] Among them, \(t\) is the time of the planning period, for example, \(0.2\) seconds (s).
[0149] Secondly, the current state vector of the ego vehicle is Suppose the multi-modal predicted trajectories of each obstacle are respectively: For the obstacle state vector, it can be defined as Here, \(s\) is the position data, \(v\) is the speed, and \(a\) is the acceleration.
[0150] The objective function of the ego vehicle is defined as shown in formula (2):
[0151]
[0152] Among them, based on \(X\) 0 and \(U\) 0 are the response state vector and action vector of the ego vehicle without considering any obstacles. Furthermore, \(X\) i and \(U\) i can be the response state vector and action vector of the ego vehicle for the predicted trajectory of the obstacle The response state vector and action vector of the ego vehicle for the predicted trajectory of the obstacle
[0153] can represent the desired / reference state of a certain predicted trajectory of the \(i\)-th obstacle in the \(k\)-th frame.
[0154] It should be noted that if there are multiple predicted trajectories of multiple obstacles within a time series decision interval, the definitions of the relevant response state vector and action vector can be extended accordingly. For example, for the predicted trajectory 1 of obstacle 1 the response state vector and action vector are defined as \(X\) 1 and \(U\) 1 ; for the predicted trajectory 2 of obstacle 1 the response state vector and action vector are defined as \(X\) 2 and \(U\) 2 ; for the predicted trajectory 2 of obstacle 2 the response state vector and action vector are defined as \(X\) 3 and \(U\) 3 .
[0155] Here, the constraint conditions can include equality constraints and inequality constraints. The equality constraints can include initial state constraints and state transition constraints, which are defined as shown in formula (3):
[0156]
[0157] The inequality constraints can include collision constraints and reverse constraints, which are defined as shown in formula (4):
[0158]
[0159] Among them, d is the preset minimum safety distance.
[0160] The variable upper and lower bound constraints are defined as follows:
[0161]
[0162] Summarize the above optimization problem as an optimal control problem, and then the optimization problem of the preset optimal control algorithm can be determined, expressed as the following formula (5):
[0163]
[0164] Among them, can represent the objective function of the optimization problem of the preset optimal control algorithm, and the above conditions can represent the constraint function of the optimization problem of the preset optimal control algorithm, that is, the objective constraint condition, h i (·) and g i (·) are respectively the equality constraint and inequality constraint for the above-mentioned predicted trajectory . p i can be the probability of the predicted trajectory of the obstacle generating a conflict in the corresponding time sequence decision interval, that is, the probability corresponding to the conflict segment, such as the probability of 1-2, 3-2; p max is the maximum value of p i in the corresponding time sequence decision interval. represents the strain constraint, d t = λ t d represents the relaxation constraint, where λ is the time discount factor, t refers to the number of frames, and λ ∈ (0, 1). represents the continuous constraint at the decision tree bifurcation point, where is the control quantity at the decision termination point of the i-th decision interval, is the control quantity at the decision start point of the next decision interval.
[0165] It should be noted that the relaxation constraint is a consideration of interaction uncertainty, that is, the collision result in a short time is predictable, and the collision result in a long time is difficult to predict. Therefore, a time discount factor λ is added to the minimum safety distance. Through the relaxation constraint, the solution success rate of the latter time sequence decision interval in the decision tree search process can be improved. In addition, considering the problem of calculation time consumption, the decision time step and the collision detection constraint time step are not unified, that is, a dense collision judgment and sparse decision-making method of scaling is adopted. Preferably, the decision time step is 0.5 s and the collision judgment time step is 0.1 s.
[0166] It should be noted that in order to ensure the continuity of the control quantity in the process of splicing local optimal solutions, continuous constraints are added at the decision tree bifurcation points.
[0167] In this embodiment, the preset tree search algorithm can be a tree search algorithm based on a greedy search method. The decision search and solution start from the most greedy branch until the solution is successfully obtained and the trajectory planning result is output.
[0168] Figure 6 It is a schematic diagram of the decision tree search process in the trajectory planning method provided by another embodiment of the present application.
[0169] As Figure 6 shown, Step 1: Starting from the root node, find its corresponding child node according to the branch of the greedy decision response, that is, the strain processing child node, to determine whether there is an optimal solution for this child node, that is, to determine whether the optimization problem has a solution.
[0170] Step 2: If the child node is found, that is, the optimization problem has a solution, then jump to Step 4; otherwise, jump to Step 3.
[0171] Step 3: Return to the root node, find its corresponding child node according to the branch of the predicted trajectory for dealing with obstacles, and the predicted trajectory for dealing with obstacles is the conflict segment, and execute Step 2;
[0172] Step 4: Starting from the current child node, find its corresponding child node according to the branch of the greedy decision response. If the current child node is a leaf node, that is, the child node at the bottom layer of the tree, then jump to Steps 8 and 9;
[0173] Step 5: If the child node is found, that is, the optimization problem has a solution, then jump to Step 7; otherwise, jump to Step 6;
[0174] Step 6: Return to the current child node, find its corresponding child node according to the branch of the predicted trajectory for dealing with obstacles, and the predicted trajectory for dealing with obstacles is the conflict segment, and execute Step 5;
[0175] Step 7: Repeat Steps 4 to 6;
[0176] Steps 8 and 9: Trace back from the leaf node to the root node, find the optimal decision path and planned speed, and obtain the planned trajectory for the vehicle to deal with obstacles.
[0177] It should be noted that the strain processing child node is the state quantity of the last point trajectory of the decision optimization result of the strain processing. The optimization result of the greedy decision response refers to the optimization result of the decision branch where there is no collision with obstacles, and the state of the last trajectory point of this result is used as the state of the root node in the next stage to continue the search. If the child node is the child node at the bottom layer of the tree, it indicates that the search is completed and there is no need to jump to 7; otherwise, it means that the search is not completed and the search needs to continue.
[0178] In this embodiment, Figure 7 It is a schematic diagram of the speed planning result in the ST graph in the trajectory planning method provided by another embodiment of this application. As Figure 7 shown, the effect of the planning result is shown on the ST graph. Different colored line segments in the figure represent the information of the predicted trajectories of different obstacles that have collision conflicts with the host vehicle in the ST graph, that is, different conflict line segments. The red dot sequence represents the result of the final overall speed planning.
[0179] In this way, by adopting the technical solution in this embodiment, a decision tree can be constructed based on greedy decision response, at least one timing decision interval, and the conflict information of each timing decision interval, and the decision tree can be searched to obtain the planned trajectory of the host vehicle to deal with obstacles. Considering the multimodality of continuous multi-agent driving data, the timing adaptive trajectory planning of the host vehicle and multi-interactive agents is effectively realized, the accuracy of the planned trajectory of the host vehicle to deal with multiple agents is improved, and thus the reliability of the autonomous driving vehicle is ensured.
[0180] In addition, by adopting the technical solution in this embodiment, based on the speed planning process under the decoupled framework, continuous interactive multi-obstacles can be efficiently and adaptively processed. Considering the multimodality of the timing obstacle trajectories, the timing adaptive trajectory planning of multi-interactive agents is effectively realized.
[0181] It should be noted that for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that this application is not limited by the described action sequence, because according to this application, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0182] In the above embodiments, the descriptions of the various embodiments have their own emphases. For the parts not detailed in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0183] Figure 8 shows the structural block diagram of the trajectory planning device provided by an embodiment of this application, as Figure 8As shown in the figure. The trajectory planning device 800 of this embodiment may include an acquisition unit 801, a determination unit 802, a conversion unit 803, a construction unit 804, and a planning unit 805. Among them, the acquisition unit 801 is used to acquire the driving data of the host vehicle and the driving data of the obstacle; wherein, the number of the obstacles is multiple; the determination unit 802 is used to determine the conflict information between the host vehicle and the obstacle based on the driving data of the host vehicle and the driving data of the obstacle; the conversion unit 803 is used to perform conversion processing on the conflict information based on the ST diagram to obtain at least one timing decision interval and the conflict information of each timing decision interval; the construction unit 804 is used to construct a decision tree based on the preset response trajectory of the host vehicle, at least one timing decision interval, and the conflict information of each timing decision interval; the planning unit 805 is used to perform a search process on the decision tree based on the driving data of the host vehicle and the driving data of the obstacle to obtain the planned trajectory of the host vehicle to deal with the obstacle.
[0184] It should be noted that part or all of the trajectory planning device in this embodiment may be an application located on the local terminal, or may also be a functional unit such as a plug-in or software development kit (SDK) set in the application located on the local terminal, or may also be a processing engine located in the network-side server, or may also be a distributed system located on the network side. For example, the processing engine or distributed system in the network-side autonomous driving platform, etc. This embodiment does not make special limitations on this.
[0185] It can be understood that the application may be a native application installed on the local terminal, or may also be a web application of a browser on the local terminal. This embodiment does not limit this.
[0186] Optionally, in a possible implementation manner of this embodiment, the driving data of the host vehicle includes the host vehicle position data and the host vehicle planned path, and the driving data of the obstacle includes the obstacle position data and the obstacle prediction trajectory. The determination unit 802 may specifically be used to calculate the conflict area between the host vehicle and the obstacle based on the host vehicle position data and the host vehicle planned path, as well as the obstacle position data and the obstacle prediction trajectory; extract the obstacle prediction trajectory in the conflict area between the host vehicle and the obstacle; and use the obstacle prediction trajectory in the conflict area between the host vehicle and the obstacle as the conflict information between the host vehicle and the obstacle.
[0187] Optionally, in a possible implementation manner of this embodiment, the conversion unit 803 may specifically be configured to convert the conflict information into the ST graph to obtain at least one conflict segment; based on the time information of each conflict segment, use a preset time sequence decision interval division strategy to perform division processing on each conflict segment to obtain at least one time sequence decision interval.
[0188] Optionally, in a possible implementation manner of this embodiment, the conversion unit 803 may specifically be configured to determine whether there is time overlap between each conflict segment based on the time information of each conflict segment; when there is time overlap between at least two conflict segments, based on the time end point of the conflict segment with the latest time among the at least two conflict segments, determine the at least two conflict segments with time overlap as one time sequence decision interval to obtain the first type of time sequence decision interval; when there is no time overlap between at least two conflict segments, based on the time end points of each conflict segment without time overlap, divide to obtain the time sequence decision interval corresponding to each conflict segment to obtain the second type of time sequence decision interval; based on the first type of time sequence decision interval and the second type of time sequence decision interval, obtain at least one time sequence decision interval.
[0189] Optionally, in a possible implementation manner of this embodiment, the decision tree includes levels and branches. The construction unit 804 may specifically be configured to construct the levels of the decision tree based on at least one time sequence decision interval; construct the branches of the decision tree based on the preset ego-vehicle response trajectory and the conflict information of each time sequence decision interval.
[0190] Optionally, in a possible implementation manner of this embodiment, the decision tree includes multiple nodes. The planning unit 805 may be configured to perform a search process on each node of the decision tree based on the driving data of the ego-vehicle and the driving data of the obstacle by using a preset search strategy; based on the result of the search process, obtain the planned trajectory of the ego-vehicle to cope with the obstacle.
[0191] Optionally, in a possible implementation manner of this embodiment, the nodes of the decision tree include a root node and multiple child nodes. The planning unit 805 may be configured to determine the conflict information between the preset ego-vehicle response trajectory and the time sequence decision interval corresponding to the root node of the decision tree and the conflict information between the preset ego-vehicle response trajectory and the time sequence decision interval corresponding to each child node; based on the driving data of the ego-vehicle, the driving data of the obstacle, the conflict information between the preset ego-vehicle response trajectory and the time sequence decision interval corresponding to the root node, and the conflict information between the preset ego-vehicle response trajectory and the time sequence decision interval corresponding to each child node, use a preset optimal control algorithm to determine the optimal solution result of each child node of the decision tree; use a preset tree search algorithm to perform a search process on the optimal solution result of each child node of the decision tree.
[0192] Optionally, in a possible implementation manner of this embodiment, the planning unit 805 may be configured to search for the optimal solution results of each child node of the decision tree based on a preset search order; in response to the existence of an optimal solution result for a child node, obtain the planned speed of the host vehicle corresponding to the child node for coping with the obstacle, so as to obtain the planned speeds of the host vehicle corresponding to multiple child nodes for coping with the obstacle; obtain the planned path of the host vehicle in the driving data of the host vehicle; and splice the planned path of the host vehicle and the planned speeds of the host vehicle corresponding to multiple child nodes for coping with the obstacle to obtain the result of the search process.
[0193] In this embodiment, the driving data of the host vehicle and the driving data of the obstacle may be obtained by the obtaining unit; where the number of obstacles is multiple. Furthermore, the conflict information between the host vehicle and the obstacle may be determined by the determining unit based on the driving data of the host vehicle and the driving data of the obstacle, and the conflict information may be converted by the conversion unit based on the ST graph to obtain at least one timing decision interval and the conflict information of each timing decision interval. The decision tree may be constructed by the constructing unit based on a preset response trajectory of the host vehicle, at least one timing decision interval, and the conflict information of each timing decision interval, so that the planning unit can search the decision tree based on the driving data of the host vehicle and the driving data of the obstacle to obtain the planned trajectory of the host vehicle for coping with the obstacle. Since the decision tree can be constructed according to the preset response trajectory of the host vehicle, at least one timing decision interval, and the conflict information of each timing decision interval, and the planned trajectory of the host vehicle for coping with the obstacle can be obtained by searching the decision tree, the multimodality of the continuous multi-agent driving data is considered, and the timing adaptive trajectory planning of the host vehicle and multiple interactive agents is effectively realized, improving the accuracy of the planned trajectory of the host vehicle for coping with multiple agents, thereby ensuring the reliability of the driving of the autonomous vehicle.
[0194] In the technical solution of this application, the collection, storage, use, processing, transmission, provision, and disclosure of the user's personal information involved, such as the user's images and attribute data, etc., all comply with the provisions of relevant laws and regulations and do not violate public order and good customs.
[0195] According to the embodiments of this application, this application also provides an electronic device, a readable storage medium, and a computer program product.
[0196] According to the embodiments of this application, further, an autonomous vehicle including the provided electronic device is also provided. The autonomous vehicle may include vehicles at L2 level and above. For example, the autonomous vehicle may include, but is not limited to, autonomous logistics vehicles, autonomous inspection vehicles, autonomous delivery vehicles, autonomous large vehicles, etc.
[0197] Figure 9 FIG. shows a schematic block diagram of an exemplary electronic device 900 that can be used to implement an embodiment of the present application. 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 can also represent various forms of mobile devices, such as, personal digital processors, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely exemplary and are not intended to limit the implementation of the present application described and / or claimed herein.
[0198] As Figure 9 shown, the electronic device 900 includes a computing unit 901 that can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 902 or a computer program loaded from a storage unit 908 into a random access memory (RAM) 903. In the RAM 903, various programs and data required for the operation of the electronic device 900 can also be stored. The computing unit 901, the ROM 902, and the RAM 903 are connected to each other via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.
[0199] A plurality of components in the electronic device 900 are connected to the I / O interface 905, including: an input unit 906, such as a keyboard, a mouse, etc.; an output unit 907, such as various types of displays, speakers, etc.; a storage unit 908, such as a magnetic disk, an optical disk, etc.; and a communication unit 909, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 909 allows the electronic device 900 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0200] The computing unit 901 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 901 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 running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 901 executes the various methods and processes described above, such as the method of trajectory planning. For example, in some embodiments, the method of trajectory planning can be implemented as a computer software program that is tangibly embodied in a machine-readable medium, such as the storage unit 908. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 900 via the ROM 902 and / or the communication unit 909. When the computer program is loaded into the RAM 903 and executed by the computing unit 901, one or more steps of the method of trajectory planning described above can be executed. Alternatively, in other embodiments, the computing unit 901 can be configured to execute the method of trajectory planning in any other suitable manner (e.g., by means of firmware).
[0201] The various embodiments of the systems and techniques described above in this document can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGA), application-specific integrated circuits (ASIC), application-specific standard products (ASSP), system-on-a-chip systems (SOC), complex programmable logic devices (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a dedicated or general-purpose programmable processor, receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting the data and instructions to the storage system, the at least one input device, and the at least one output device.
[0202] The program code for implementing the methods of the present application can be written in any combination of one or more programming languages. These program codes can be provided to the processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the program codes are executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The program codes can be executed entirely on the machine, partially on the machine, executed partially on the machine as an independent software package and partially on a remote machine, or executed entirely on a remote machine or server.
[0203] In the context of this application, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. 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, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, 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 disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0204] To provide for 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 a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can also be used to provide for interaction with the user; for example, 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, speech, or tactile input).
[0205] 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 the user can interact with an implementation 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 a communication network include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0206] A computer system can include a client and a server. The client and the server are generally remote from each other and typically interact through a communication network. The client-server relationship is generated by computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, a server of a distributed system, or a server incorporating a blockchain.
[0207] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this application can be achieved, and no limitations are imposed herein.
[0208] The above specific embodiments do not constitute a limitation on the protection scope of this application. Those skilled in the art should understand that various modifications, combinations, sub - combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application shall be included within the protection scope of this application.
Claims
1. A trajectory planning method, characterized in that: The method comprises: Acquire driving data of the vehicle and driving data of obstacles; wherein the number of obstacles is multiple; Determining conflict information between the ego vehicle and the obstacle based on the driving data of the ego vehicle and the driving data of the obstacle; Based on the space-time ST graph, the conflict information is converted to obtain at least one temporal decision interval and conflict information of each temporal decision interval; Constructing a decision tree based on a preset ego-vehicle response trajectory, at least one temporal decision interval, and conflict information of each temporal decision interval; Based on the driving data of the ego vehicle and the driving data of the obstacle, the decision tree is searched to obtain a planned trajectory of the ego vehicle to deal with the obstacle.
2. The method according to claim 1, characterized in that The driving data of the ego vehicle includes the position data of the ego vehicle and the planned path of the ego vehicle, the driving data of the obstacle includes the position data of the obstacle and the predicted trajectory of the obstacle, and the determining of the conflict information between the ego vehicle and the obstacle based on the driving data of the ego vehicle and the driving data of the obstacle includes: Based on the vehicle position data and the planned path of the vehicle, as well as the obstacle position data and the predicted obstacle trajectory, a conflict area between the vehicle and the obstacle is calculated; Extracting the obstacle prediction trajectory in the collision area between the ego vehicle and the obstacle; The obstacle prediction trajectory in the collision area between the ego vehicle and the obstacle is used as the collision information between the ego vehicle and the obstacle.
3. The method according to claim 1, characterized in that Based on the ST diagram, the conflict information is converted to obtain at least one timing decision interval, including: Converting the conflict information into the ST diagram to obtain at least one conflicting line segment; Based on the time information of each conflicting line segment, each conflicting line segment is divided using a preset timing decision interval division strategy to obtain at least one timing decision interval.
4. The method according to claim 3, characterized in that The method of dividing each conflicting line segment based on the time information of each conflicting line segment and using a preset timing decision interval division strategy to obtain at least one timing decision interval includes: Based on the time information of each conflicting line segment, determining whether there is a time overlap between each conflicting line segment; When at least two conflicting line segments overlap in time, based on the time end point of the latest conflicting line segment among the at least two conflicting line segments, the at least two conflicting line segments overlapping in time are determined as a temporal decision interval to obtain a first type of temporal decision interval; When at least two conflicting line segments do not overlap in time, based on the time end point of each conflicting line segment that does not overlap in time, the timing decision interval corresponding to each conflicting line segment is divided to obtain the second type of timing decision interval; At least one timing decision interval is obtained based on the first type of timing decision interval and the second type of timing decision interval.
5. The method according to claim 1, characterized in that The decision tree includes levels and branches, and is constructed based on a preset ego-vehicle response trajectory, at least one temporal decision interval, and conflict information of each temporal decision interval, including: Based on at least one temporal decision interval, constructing a hierarchy of the decision tree; Based on the preset ego-vehicle response trajectory and the conflict information of each sequential decision interval, the branches of the decision tree are constructed.
6. The method according to claim 1, characterized in that The decision tree includes a plurality of nodes. Based on the driving data of the vehicle and the driving data of the obstacle, the decision tree is searched and processed to obtain a planned trajectory of the vehicle to deal with the obstacle, including: Based on the driving data of the vehicle and the driving data of the obstacle, each node of the decision tree is searched and processed using a preset search strategy; Based on the result of the search process, a planned trajectory of the ego-vehicle to cope with the obstacle is obtained.
7. The method according to claim 6, characterized in that The nodes of the decision tree include a root node and a plurality of child nodes. Based on the driving data of the vehicle and the driving data of the obstacle, a search process is performed on each node of the decision tree using a preset search strategy, including: Determining conflict information between the preset ego-vehicle response trajectory and the timing decision interval corresponding to the root node of the decision tree; Determining conflict information between the preset ego-vehicle response trajectory and the timing decision interval corresponding to each child node of the decision tree; Based on the driving data of the ego vehicle, the driving data of the obstacle, the conflict information between the preset ego vehicle response trajectory and the timing decision interval corresponding to the root node, and the conflict information between the preset ego vehicle response trajectory and the timing decision interval corresponding to each child node, using a preset optimization control algorithm, determine the optimization solution result of each child node of the decision tree; The preset tree search algorithm is used to search and process the optimization solution results of each child node of the decision tree.
8. The method according to claim 7, characterized in that The method of using a preset tree search algorithm to search and process the optimization solution of each child node of the decision tree includes: Based on a preset search order, searching for an optimization solution result for each child node of the decision tree; In response to the existence of an optimization solution result for a sub-node, obtaining a planned speed of the ego vehicle corresponding to the sub-node to cope with the obstacle, so as to obtain planned speeds of the ego vehicle corresponding to a plurality of sub-nodes to cope with the obstacle; Obtaining a planned path of the vehicle from the driving data of the vehicle; The planned path of the ego vehicle and the planned speeds of the ego vehicle to deal with the obstacle corresponding to multiple sub-nodes are spliced to obtain the result of the search processing.
9. A trajectory planning device, characterized in that: The device comprises: An acquisition unit, used to acquire the driving data of the vehicle and the driving data of obstacles; wherein the number of obstacles is multiple; a determining unit, configured to determine conflict information between the ego vehicle and the obstacle based on the driving data of the ego vehicle and the driving data of the obstacle; A conversion unit, configured to convert the conflict information based on the ST diagram to obtain at least one timing decision interval and conflict information of each timing decision interval; A construction unit, configured to construct a decision tree based on a preset ego-vehicle response trajectory, at least one temporal decision interval, and conflict information of each temporal decision interval; The planning unit is used to search and process the decision tree based on the driving data of the ego vehicle and the driving data of the obstacle to obtain a planned trajectory of the ego vehicle to deal with the obstacle.
10. An electronic device, characterized in that: include: 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 8.
11. A non-transitory computer-readable storage medium storing computer instructions, characterized in that: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-8.
12. A computer program product, characterized in that The invention comprises a computer program which, when executed by a processor, implements the method according to any one of claims 1 to 8.
13. An autonomous driving vehicle, characterized in that: Comprising the electronic device as claimed in claim 10.
Citation Information
Patent Citations
Speed planning method and device, control equipment, vehicle and storage medium
CN116142230A
Vehicle trajectory planning method and device, storage medium and electronic equipment
CN116519004A
Automatic driving decision planning method, electronic equipment and readable storage medium
CN119190072A
Multi-profile quadratic programming (MPQP) for optimal gap selection and speed planning of autonomous driving
US20250108801A1
Trajectory planning method and apparatus for vehicle, and vehicle
WO2023070258A1