Trajectory planning method, device, electronic device, and autonomous driving vehicle
By acquiring driving data of the vehicle and obstacles, and using space-time graph and decision tree technology to construct, search and process planning trajectories, the problem of motion uncertainty of autonomous vehicles in multi-obstacle environments is solved, and the accuracy and reliability of trajectory planning are improved.
Patent Information
- Application Number
- CN202510515227.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-23
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2045-04-23
AI Technical Summary
Autonomous vehicles face motion uncertainties from multiple interacting obstacles on unstructured roads and noisy intersections. Existing technologies are unable to effectively cope with the strain handling of continuous multiple obstacles.
By acquiring driving data of the ego vehicle and multiple obstacles, conflict information is determined, converted using a space-time graph, a decision tree is constructed, and a search process is performed to plan the trajectory. The conflict information between the ego vehicle's response trajectory and the temporal decision interval is considered to optimize the solution of the ego vehicle's planned trajectory.
It improves the accuracy and reliability of trajectory planning for autonomous vehicles in multi-obstacle environments, ensuring safe and efficient driving.
Smart Images

Figure CN120121075B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, specifically to technical fields such as intelligent transportation and autonomous driving, and in particular to a trajectory planning method, device, electronic equipment, and autonomous driving vehicle. Background Art
[0002] Typically, the delivery environment for autonomous vehicles involves a large number of unstructured roads and noisy intersections, which contain various interactive obstacles such as motor vehicles, non-motor vehicles, and pedestrians. Furthermore, their movement trajectories are uncertain. These problems pose huge challenges to the operation of autonomous vehicles.
[0003] At present, there are many types and numbers of interactive obstacles in the actual driving environment, but the relevant technical solutions are still mainly focused on the interaction processing solutions between the vehicle and the single intelligent agent, and no more effective contingency processing methods for dealing with continuous multiple obstacles have been proposed. Summary of the Invention
[0004] This application provides a trajectory planning method, device, electronic device, and autonomous vehicle, which can enable the vehicle to effectively cope with the uncertainty of future motion of multiple interacting obstacles, while balancing safety and efficiency. The technical solution is as follows:
[0005] In a first aspect, a trajectory planning method is provided, the method comprising:
[0006] Acquire driving data of the vehicle and driving data of obstacles; wherein the number of obstacles is multiple;
[0007] determining, based on the driving data of the vehicle and the driving data of the obstacle, conflict information between the vehicle and the obstacle;
[0008] Based on a space-time (ST) diagram, the conflict information is converted to obtain at least one temporal decision interval and conflict information of each temporal decision interval;
[0009] 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;
[0010] 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 cope with the obstacle.
[0011] In one possible implementation, the ego vehicle's driving data includes ego vehicle position data and ego vehicle's planned path, and the obstacle's driving data includes obstacle position data and obstacle predicted trajectory. Determining conflict information between the ego vehicle and the obstacle based on the ego vehicle's driving data and the obstacle's driving data includes:
[0012] Calculating a collision area between the ego vehicle and the obstacle based on the ego vehicle position data and the ego vehicle planned path, and the obstacle position data and the obstacle predicted trajectory;
[0013] Extracting a predicted obstacle trajectory in a collision area between the ego vehicle and the obstacle;
[0014] The predicted obstacle 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.
[0015] In a possible implementation, based on the ST diagram, the conflict information is converted to obtain at least one timing decision interval, including:
[0016] Converting the conflict information into the ST graph to obtain at least one conflicting line segment;
[0017] Based on the time information of each conflicting line segment, a preset temporal decision interval division strategy is used to divide each conflicting line segment to obtain at least one temporal decision interval.
[0018] In a possible implementation, the method of dividing each conflicting line segment based on the time information of each conflicting line segment using a preset timing decision interval division strategy to obtain at least one timing decision interval includes:
[0019] Based on the time information of each conflicting line segment, determining whether there is a time overlap between each conflicting line segment;
[0020] When at least two conflicting line segments overlap in time, the at least two conflicting line segments with the overlap in time are determined as a temporal decision interval based on the time endpoint of the latest conflicting line segment among the at least two conflicting line segments, thereby obtaining a first type of temporal decision interval;
[0021] When at least two conflicting line segments do not overlap in time, the temporal decision interval corresponding to each conflicting line segment is divided based on the time end point of each conflicting line segment that does not overlap in time, thereby obtaining the second type of temporal decision interval;
[0022] 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.
[0023] In one possible implementation, the decision tree includes layers and branches, and is constructed based on a preset ego-vehicle response trajectory, at least one temporal decision interval, and conflict information in each temporal decision interval, including:
[0024] constructing a hierarchy of the decision tree based on at least one temporal decision interval;
[0025] Based on the preset ego-vehicle response trajectory and the conflict information of each temporal decision interval, the branches of the decision tree are constructed.
[0026] In one possible implementation, the decision tree includes a plurality of nodes, and searching 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 cope with the obstacle includes:
[0027] 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;
[0028] Based on the result of the search process, a planned trajectory of the ego vehicle to cope with the obstacle is obtained.
[0029] In one possible implementation, the nodes of the decision tree include a root node and multiple child nodes. The search process for each node of the decision tree is performed based on the driving data of the vehicle and the driving data of the obstacle using a preset search strategy, including:
[0030] Determining conflict information between the preset ego-vehicle response trajectory and the temporal decision interval corresponding to the root node of the decision tree;
[0031] Determining conflict information between the preset ego-vehicle response trajectory and the temporal decision interval corresponding to each child node of the decision tree;
[0032] Determining an optimization solution for each child node of the decision tree using a preset optimization control algorithm 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 temporal decision interval corresponding to the root node, and the conflict information between the preset ego vehicle response trajectory and the temporal decision interval corresponding to each child node;
[0033] The preset tree search algorithm is used to search and process the optimization solution results of each child node of the decision tree.
[0034] In a possible implementation, the search process for the optimization solution of each child node of the decision tree using a preset tree search algorithm includes:
[0035] Based on a preset search order, searching for an optimized solution result for each child node of the decision tree;
[0036] 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;
[0037] Obtaining a planned path of the vehicle from the driving data of the vehicle;
[0038] 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 together to obtain a result of the search processing.
[0039] In a second aspect, a trajectory planning device is provided, the device comprising:
[0040] an acquisition unit, configured to acquire driving data of the vehicle and driving data of obstacles; wherein the number of obstacles is multiple;
[0041] 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;
[0042] a conversion unit, configured to convert the conflict information based on the ST graph to obtain at least one timing decision interval and conflict information of each timing decision interval;
[0043] 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;
[0044] A planning unit is used to search 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.
[0045] In a third aspect, a computer-readable storage medium is provided, wherein the storage medium stores at least one instruction, and the at least one instruction is loaded and executed by a processor to implement the method of the above-mentioned aspect and any possible implementation manner.
[0046] In a fourth aspect, an electronic device is provided, including:
[0047] at least one processor; and
[0048] a memory communicatively connected to the at least one processor; wherein,
[0049] 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 perform the method of any possible implementation manner and the aspects described above.
[0050] In a fifth aspect, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the above-mentioned aspects and any possible implementation method.
[0051] In a sixth aspect, an autonomous driving vehicle is provided, comprising the electronic device as described above.
[0052] The beneficial effects of the technical solution provided by this application include at least:
[0053] As can be seen from the above technical solution, the embodiments of the present application can obtain driving data of the ego vehicle and driving data of multiple obstacles, and then determine conflict information between the ego vehicle and the obstacles based on the driving data of the ego vehicle and the obstacles. Based on the space-time ST graph, the conflict information is converted to obtain at least one temporal decision interval and conflict information for each temporal decision interval. A decision tree is constructed based on a preset ego vehicle response trajectory, at least one temporal decision interval, and conflict information for each temporal decision interval. The decision tree is searched based on the driving data of the ego vehicle and the obstacle to obtain a planned trajectory for the ego vehicle to respond to the obstacle. Since a decision tree can be constructed based on the preset ego vehicle response trajectory, at least one temporal decision interval, and conflict information for each temporal decision interval, and the planned trajectory for the ego vehicle to respond to the obstacle is obtained by searching the decision tree, the multimodality of continuous multi-agent driving data is taken into account, and temporal adaptive trajectory planning for the ego vehicle and multiple interacting agents is effectively implemented. This improves the accuracy of the planned trajectory for the ego vehicle to respond to multiple agents, thereby ensuring the reliability of the autonomous vehicle.
[0054] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0056] Figure 1This is a flow chart of a trajectory planning method provided by one embodiment of the present application;
[0057] Figure 2 is a flowchart of a trajectory planning method provided by another embodiment of the present application;
[0058] Figure 3 is a schematic diagram of an interaction scenario between a vehicle and an obstacle in a trajectory planning method provided by another embodiment of the present application;
[0059] Figure 4 is a schematic diagram of an ST diagram corresponding to an interaction scenario between a vehicle and an obstacle in a trajectory planning method provided by another embodiment of the present application;
[0060] Figure 5 is a schematic diagram of a decision tree in a trajectory planning method provided by another embodiment of the present application;
[0061] Figure 6 is a schematic diagram of a decision tree search process in a trajectory planning method provided by another embodiment of the present application;
[0062] Figure 7 is a schematic diagram of a velocity planning result in an ST diagram in a trajectory planning method provided by another embodiment of the present application;
[0063] Figure 8 This is a structural block diagram of a trajectory planning device provided in yet another embodiment of the present application;
[0064] Figure 9 4 is a block diagram of an electronic device used to implement the trajectory planning method of an embodiment of the present application. DETAILED DESCRIPTION
[0065] The following description of exemplary embodiments of the present application is made in conjunction with the accompanying drawings, including various details of the embodiments of the present application 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 application. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0066] Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this 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 mobile phones, personal digital assistants (PDAs), wireless handheld devices, tablet computers and other smart devices; display devices may include but are not limited to personal computers, televisions and other devices with display functions.
[0068] In this document, the term "and / or" simply describes a relationship between related objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " in this document generally indicates that the related objects are in an "or" relationship.
[0069] Please refer to Figure 1 , which shows a flow chart of a trajectory planning method provided by an embodiment of the present application. The trajectory planning method may specifically include:
[0070] Step 101: Acquire driving data of the vehicle and driving data of obstacles; wherein there are multiple obstacles.
[0071] Step 102: 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.
[0072] Step 103: Based on the ST graph, convert the conflict information to obtain at least one timing decision interval and conflict information of each timing decision interval.
[0073] Step 104 : construct a decision tree based on the preset ego-vehicle response trajectory, at least one temporal decision interval, and conflict information of each temporal decision interval.
[0074] Step 105 : Based on the driving data of the ego vehicle and the driving data of the obstacle, search the decision tree to obtain a planned trajectory of the ego vehicle to deal with the obstacle.
[0075] At this point, the vehicle's travel can be controlled based on the planned trajectory of the vehicle to deal with the obstacle.
[0076] It should be noted that, here, the self-driving vehicle is an autonomous vehicle that interacts with multiple obstacles. The driving data of the self-driving vehicle may include but is not limited to the self-driving vehicle's position data, the self-driving vehicle's speed, and the self-driving vehicle's planned path.
[0077] It should be noted that obstacles may include intelligent agents in the driving environment perceived by the ego vehicle. There may be multiple obstacles in the driving environment of the ego vehicle.
[0078] It should be noted that obstacle movement data may include obstacle position data, obstacle speed, and predicted obstacle trajectory. The obstacle position data and obstacle speed may be the obstacle position data and obstacle speed perceived by the ego vehicle. The predicted obstacle trajectory is a set of multiple predicted trajectories generated by the ego vehicle's prediction module based on the obstacle movement state data. The obstacle movement state data may include obstacle position data, obstacle speed, and other data. The predicted obstacle trajectory may be a multimodal predicted trajectory.
[0079] It should be noted that part or all of the execution entities of steps 101 to 105 may be applications located in the local terminal, or may be functional units such as plug-ins or software development kits (SDKs) provided in the applications located in the local terminal, or may be processing engines located in network-side servers, or may be distributed systems located on the network side, for example, processing engines or distributed systems in autonomous driving platforms on the network side, etc. This embodiment does not specifically limit this.
[0080] It is understandable that the application may be a native program (nativeApp) installed on the local terminal, or may be a webpage program (webApp) of a browser on the local terminal, which is not limited in this embodiment.
[0081] In this way, a decision tree can be constructed based on the preset ego-vehicle response trajectory, at least one temporal decision interval, and the conflict information of each temporal decision interval, and the decision tree can be searched to obtain the planned trajectory of the ego-vehicle in response to the obstacle. Taking into account the multimodality of continuous multi-agent driving data, the temporal adaptive trajectory planning of the ego-vehicle and multiple interacting agents can be effectively realized, and the accuracy of the planned trajectory of the ego-vehicle in response to multiple agents is improved, thereby ensuring the reliability of the driving of the autonomous driving vehicle.
[0082] Optionally, in one possible implementation of this embodiment, the vehicle's driving data may include its position data and planned path, and the obstacle's driving data may include its position data and predicted obstacle trajectory. In step 102, first, based on the vehicle's position data and planned path, as well as the obstacle's position data and predicted obstacle trajectory, a conflict area between the vehicle and the obstacle is calculated. Second, the predicted obstacle trajectory within the conflict area between the vehicle and the obstacle is extracted. Third, the predicted obstacle trajectory within the conflict area between the vehicle and the obstacle is used as conflict information between the vehicle and the obstacle.
[0083] In this implementation, the vehicle position data may be the current position of the vehicle in the current planning period, and the obstacle position data may be the current position of the obstacle in the current planning period.
[0084] In a specific implementation of this method, the vehicle's driving data may further include the vehicle's speed. The obstacle's driving data may further include the obstacle's speed. For any obstacle, the collision zone between the vehicle and the obstacle may be calculated based on the vehicle's position data, speed, and planned path, as well as the obstacle's position data, speed, and predicted trajectory.
[0085] It is understandable that the conflict area may be obtained by utilizing an existing method for determining the conflict area between the vehicle and the obstacle, and no specific limitation is made here.
[0086] In this way, by determining the conflict area between the ego vehicle and the obstacle, the predicted trajectory of obstacles with possible collision can be screened out, reducing the data processing volume of subsequent planning and improving the efficiency and accuracy of ego vehicle trajectory planning.
[0087] Optionally, in a possible implementation of this embodiment, in step 103, first, the conflict information may be converted into the ST diagram to obtain at least one conflicting line segment. Then, based on the time information of each conflicting line segment, a preset timing decision interval division strategy is used to divide each conflicting line segment to obtain at least one timing decision interval.
[0088] In this implementation, the conflict line segment may be obtained by drawing the predicted obstacle trajectory in the ST diagram.
[0089] In a specific implementation of this method, first, based on the time information of each conflicting segment, it can be determined whether there is time overlap between each conflicting segment. Second, when at least two conflicting segments overlap, the at least two conflicting segments with time overlap are determined as a timing decision interval based on the time endpoint of the latest conflicting segment among the at least two conflicting segments, thereby obtaining a first type of timing decision interval. When at least two conflicting segments do not overlap, the timing decision interval corresponding to each conflicting segment is divided based on the time endpoint of each conflicting segment without time overlap, thereby obtaining a second type of timing decision interval. 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.
[0090] In one specific implementation, at least two conflicting segments that overlap in time can be merged, with the end point of the latest conflicting segment of the at least two conflicting segments serving as the end point of the timing decision interval, and the end point of the conflicting segment preceding the earliest conflicting segment of the at least two conflicting segments serving as the start point of the timing decision interval. This type of timing decision interval may be a first-class timing decision interval.
[0091] Another implementation of this process involves determining a temporal decision interval based on a conflicting segment that does not overlap with other conflicting segments. The temporal endpoint of the conflicting segment serves as the end point of the temporal decision interval, and the temporal endpoint of the preceding conflicting segment serves as the starting point of the temporal decision interval. In this way, multiple temporal decision intervals can be derived based on the absence of temporal overlap between multiple conflicting segments. This type of temporal decision interval may be a second-class temporal 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 situation of this 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 temporal decision intervals can be obtained based on the time overlap between conflicting segments in the ST diagram, so that an effective decision tree can be constructed later, thereby improving the accuracy of subsequent trajectory planning.
[0095] It should be noted that the various specific implementation processes provided in this implementation can be combined with the aforementioned implementations to implement the steps in the trajectory planning method of this embodiment. Detailed descriptions can be found in the relevant content of this implementation and will not be repeated here.
[0096] Optionally, in one possible implementation of this embodiment, the decision tree includes levels and branches. In step 104, first, the levels of the decision tree may be constructed based on at least one temporal decision interval. Second, the branches of the decision tree may be constructed based on the preset ego-vehicle response trajectory and conflict information in each temporal decision interval.
[0097] In this implementation, the preset ego-vehicle response trajectory can be a greedy decision response, i.e., a greedy decision response trajectory. A greedy decision response can refer to the ego-vehicle response trajectory within a corresponding sequential decision interval, ignoring any collision obstacles. The conflict information within the sequential decision interval can include at least one conflicting line segment.
[0098] In this implementation, a temporal decision interval may correspond to a level of a decision tree.
[0099] In a specific implementation process of this implementation method, for any sequential decision interval, in the hierarchy of the sequential decision interval, the number of branches can be determined based on the sum of the number of preset ego-vehicle response trajectories and the number of conflicting line segments in the sequential decision interval.
[0100] Here, the branches at this level may include a branch corresponding to a preset ego-vehicle response trajectory and a branch corresponding to each conflicting line segment in the temporal decision interval.
[0101] It can be understood that the hierarchy includes a root node and child nodes, and the number of child nodes corresponding to a root node can be the number of branches.
[0102] For example, if a root node in the hierarchy of the temporal 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 vehicle response trajectory, and the state of the other child node can be obtained by solving an optimization problem based on a conflict line segment in the temporal decision interval.
[0103] In this way, the conflict information in the temporal decision interval can be combined with the response trajectory of the vehicle without considering obstacles to construct a decision tree, which facilitates accurate and effective trajectory planning in the future.
[0104] It should be noted that the various specific implementation processes provided in this implementation can be combined with the aforementioned implementations to implement the steps in the trajectory planning method of this embodiment. Detailed descriptions can be found in the relevant content of this implementation and will not be repeated here.
[0105] Optionally, in a possible implementation of this embodiment, the decision tree may include multiple nodes. In step 105, based on the driving data of the vehicle and the driving data of the obstacle, a preset search strategy may be used to search and process each node of the decision tree, and then based on the result of the search and processing, the planned trajectory of the vehicle to deal with the obstacle may be obtained.
[0106] In this implementation, the result of the search process may include a planned trajectory for the ego-vehicle to cope with multiple obstacles.
[0107] In this implementation, the nodes of the decision tree include a root node and a plurality of child nodes. Here, the root node may be the total starting node of the decision tree.
[0108] In a specific implementation of this method, first, conflict information between the preset ego vehicle response trajectory and the temporal decision interval corresponding to the root node of the decision tree and conflict information between the preset ego vehicle response trajectory and the temporal decision interval corresponding to each child node can be determined. Second, based on the ego vehicle's driving data, obstacle driving data, conflict information between the preset ego vehicle response trajectory and the temporal decision interval corresponding to the root node, and conflict information between the preset ego vehicle response trajectory and the temporal decision interval corresponding to each child node, a preset optimization control algorithm can be used to determine an optimization solution result for each child node of the decision tree. Third, a preset tree search algorithm can be used to search and process the optimization solution result for each child node of the decision tree.
[0109] In one specific implementation, the decision tree is searched for an optimized solution for each child node based on a preset search order. Next, in response to the existence of an optimized solution for a child node, the planned speed of the vehicle for approaching the obstacle corresponding to the child node is obtained, thereby obtaining the planned speeds of the vehicle for approaching the obstacle corresponding to the multiple child nodes. Next, the planned path of the vehicle is obtained from the driving data of the vehicle. Finally, the planned path of the vehicle is concatenated with the planned speeds of the vehicle for approaching the obstacle corresponding to the multiple child nodes to obtain the result of the search.
[0110] Here, the preset search order may be to first search for a branch based on a preset ego-vehicle response trajectory, and then search for a branch based on a conflict line segment of an obstacle.
[0111] In this implementation, the preset optimization control algorithm is based on the N-Contigency Model Predictive Control (N-CMPC) model. The objective function and objective constraints of the optimization problem of the preset optimization control algorithm can be shown as formula (5).
[0112] Preferably, the optimization solution can be calculated based on the objective function and objective constraints of the optimization problem of a preset optimization control algorithm. Based on the optimization solution, the action vector corresponding to the state vector of the child node can be obtained, and the planned speed can be calculated based on the action vector.
[0113] In this way, by searching and processing each node of the decision tree based on the driving data of the vehicle and the driving data of the obstacle, a preset search strategy can be used to obtain the planned trajectory of the vehicle to deal with obstacles, further improving the accuracy of the planned trajectory of the vehicle to deal with multiple intelligent agents, thereby improving the reliability of the autonomous driving vehicle.
[0114] It should be noted that the various specific implementation processes provided in this implementation can be combined with the aforementioned implementations to implement the steps in the trajectory planning method of this embodiment. Detailed descriptions can be found in the relevant content of this implementation and will not be repeated here.
[0115] In order to better understand the method of the embodiment of the present application, the method of the embodiment of the present application is described below with reference to the accompanying drawings and specific application scenarios.
[0116] Figure 2 This is a flow chart of a trajectory planning method provided by another embodiment of the present application. Figure 2 shown.
[0117] Step 201: Acquire driving data of the vehicle and driving data of multiple obstacles.
[0118] In this embodiment, the driving data of the vehicle may include, but is not limited to, the vehicle's position data, the vehicle's speed, and the vehicle's planned path.
[0119] Obstacle driving data may include obstacle position data, obstacle speed, and predicted obstacle trajectory. The obstacle position data and obstacle speed may be the obstacle position data and obstacle speed perceived by the ego vehicle. The predicted obstacle trajectory is a set of multiple predicted trajectories obtained by the ego vehicle's prediction module based on driving state data. The predicted obstacle trajectories may be multimodal.
[0120] Step 202: Based on the driving data of the ego vehicle and the driving data of the multiple obstacles, calculate the conflict area between the ego vehicle and each obstacle.
[0121] Step 203 : extract multiple obstacle prediction trajectories from each conflict area, and convert the multiple obstacle prediction trajectories into an ST graph to obtain multiple conflict line segments.
[0122] In this embodiment, the conflict region between the ego vehicle and each obstacle is first calculated based on the ego vehicle's position data and planned path, as well as the position data and predicted obstacle trajectories of multiple obstacles. Next, multiple predicted obstacle trajectories are extracted from each conflict region and converted into an ST diagram to generate multiple conflict line segments.
[0123] Step 204 : Based on the time information of each conflicting line segment, each conflicting line segment is divided using a preset temporal decision interval division strategy to obtain at least one temporal decision interval.
[0124] In this embodiment, first, based on the time information of each conflicting segment, it can be determined whether there is time overlap between each conflicting segment. Second, when at least two conflicting segments overlap, the at least two conflicting segments with time overlap can be determined as a timing decision interval based on the time endpoint of the latest conflicting segment among the at least two conflicting segments, thereby obtaining a first type of timing decision interval. Third, when at least two conflicting segments do not overlap, the timing decision interval corresponding to each conflicting segment can be divided based on the time endpoint of each conflicting segment without time overlap, thereby obtaining a second type of timing decision interval. Third, 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 segments that overlap in time can be merged, with the end point of the latest conflicting segment of the at least two conflicting segments serving as the end point of the temporal decision interval, and the end point of the conflicting segment preceding the earliest conflicting segment of the at least two conflicting segments serving as the start point of the temporal decision interval. This type of temporal decision interval can be a first-class temporal decision interval.
[0126] Specifically, a temporal decision interval can be determined based on a conflicting segment that does not overlap with other conflicting segments. The temporal endpoint of the conflicting segment serves as the end point of the temporal decision interval, and the temporal endpoint of the previous conflicting segment serves as the starting point of the temporal decision interval. In this way, multiple temporal decision intervals can be obtained based on multiple conflicting segments that do not overlap in time. Here, this type of temporal decision interval can be a second-type temporal decision interval.
[0127] In this embodiment, the first type of timing decision intervals and the second type of timing decision intervals may be integrated in chronological order to obtain a plurality of timing decision intervals.
[0128] It can be understood that the conflict line segment is the predicted line of the obstacle's predicted trajectory in the ST diagram.
[0129] For example, Figure 3 FIG is a schematic diagram of an interaction scene between a vehicle and an obstacle in a trajectory planning method provided by another embodiment of the present application. Figure 3 As shown in the figure, complex and congested road sections, such as traffic intersections, often have a large number of conflicts between obstacles and the planned path of the ego vehicle. ego represents the ego vehicle, agent1 represents obstacle 1, agent2 represents obstacle 2, and agent3 represents obstacle 3. Figure 3Some of the predicted obstacle trajectories are shown. 1-1 and 1-2 represent the trajectories of obstacle 1 predicted by the vehicle; 2-1 and 2-2 represent the trajectories of obstacle 2 predicted by the vehicle; and 3-1 and 3-2 represent the trajectories of obstacle 3 predicted by the vehicle.
[0130] Furthermore, Figure 4 Schematic diagram of the ST diagram corresponding to the interaction scene between the vehicle and the obstacle in the trajectory planning method provided by another embodiment of the present application. Figure 4 As shown in Figure 2, the obstacle prediction trajectory can be described in the form of an ST diagram. It can be seen that the 3-2 prediction line of obstacle 3 and the 1-2 prediction line of obstacle 1 have an overlapping and conflicting relationship on the time axis. Therefore, based on the time overlap, the temporal decision of the complete horizon is discretized into multiple temporal decision intervals, such as Figure 4 (0,T1),(T1,T2),(T2,T) shown.
[0131] Step 205 : construct a decision tree based on the preset ego-vehicle response trajectory, at least one temporal decision interval, and the conflicting line segments of each temporal decision interval.
[0132] In this embodiment, the preset ego vehicle response trajectory can be a ego vehicle response trajectory based on a greedy decision, i.e., a greedy decision response. Here, a greedy decision response can refer to an ego vehicle response trajectory that does not consider any collision obstacles within a corresponding temporal decision interval, such as 0-T1.
[0133] In this embodiment, Figure 5 This is a schematic diagram of a decision tree in a trajectory planning method provided by another embodiment of the present application. Figure 3 As shown in the scenario, define the decision tree as Figure 5 As shown in the figure, 1-0, 2-0, and 3-0 represent greedy decision responses, i.e., preset ego vehicle response trajectories. A greedy decision response refers to a decision response trajectory in which the ego vehicle does not consider obstacles during the corresponding time period. 2-2 represents the ego vehicle's decision response to the second conflicting line segment of obstacle 2, 3-1 represents the ego vehicle's decision response to the first conflicting line segment of obstacle 3, 3-2 represents the ego vehicle's decision response to the second conflicting line segment of obstacle 3, and 1-2 represents the ego vehicle's decision response to the second conflicting line segment of obstacle 1.
[0134] A hierarchy of decision trees can be constructed based on the temporal decision intervals: 0-T1 is the first level, T1-T2 is the second level, and after T2 is the third level. The decision branches at each level are determined based on the pre-set ego-vehicle response trajectory and the conflicting segments in each temporal decision interval.
[0135] For example, 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 decision branch based on the 1-0 greedy decision, that is, the preset self-vehicle response trajectory, and the state quantity corresponding to the last trajectory point of the optimization solution result. The 2-2 child node can represent the state quantity corresponding to the last trajectory point of the optimization solution result 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 of the first level can serve as the root node of the second level. T1-T2 includes the conflict line segment 3-1, and the child nodes corresponding to each root node of the second level are 2-0 and 3-1. In the third level T2-T3 (T3 is not shown in the figure), the two parts of the 2-0 sub-node and the 3-1 sub-node in the second level can serve as the root nodes of the third level. T2-T3 includes conflicting line segments 3-2 and 1-2. The sub-nodes corresponding to each root node of the third level are 3-0, 3-2, and 1-2.
[0136] It should be noted that, here, Figure 5 As shown in the figure, 1-0, with the number 1 preceding it, represents the first level 0-T1, corresponding to the first time decision interval. 2-0, with the number 2 preceding it, represents the second level T1-T2, corresponding to the second time decision interval. 3-0, with the number 3 preceding it, represents the third level T2-T3, corresponding to the third time decision interval. 1-2, 2-2, 3-1, and 3-2, with the numbers 1, 2, and 3 preceding them, represent obstacles 1, 2, and 3, respectively.
[0137] Step 206 : Based on the driving data of the ego vehicle and the driving data of the multiple obstacles, a preset optimization control algorithm and a preset tree search algorithm are used to search the decision tree to obtain a planned trajectory for the ego vehicle to deal with the obstacles.
[0138] In this embodiment, the decision tree includes nodes, levels, and branches. The levels of the decision tree correspond to the temporal decision intervals, and the branches of the decision tree correspond to the preset ego vehicle response trajectory and the conflict line segments in the temporal decision intervals.
[0139] Here, it is understood that a node may include a root node and multiple child nodes. The child nodes of each level may serve as the root node of the next level.
[0140] Specifically, first, based on a decision tree, conflict information between the preset ego vehicle response trajectory and the temporal decision interval corresponding to the root node of the decision tree, as well as conflict information between the preset ego vehicle response trajectory and the temporal decision interval corresponding to each child node, can be determined. Secondly, based on the ego vehicle's driving data, the obstacle's driving data, the conflict information between the preset ego vehicle response trajectory and the temporal decision interval corresponding to the root node, and the conflict information between the preset ego vehicle response trajectory and the temporal decision interval corresponding to each child node, a preset optimization control algorithm can be used to determine an optimized solution result for each child node of the decision tree. Thirdly, based on a preset search order, the optimized solution result for each child node of the decision tree is searched. Thirdly, in response to the existence of an optimized solution result for a child node, the planned speed of the ego vehicle in response to the obstacle corresponding to the child node is obtained to obtain the planned speeds of the ego vehicle in response to the obstacle corresponding to the multiple child nodes. Thirdly, the planned path of the ego vehicle is obtained from the driving data of the ego vehicle. Thirdly, the planned path of the ego vehicle and the planned speeds of the ego vehicle in response to the obstacle corresponding to the multiple child nodes are concatenated to obtain a search result. Here, the result of the search process is used as the planned trajectory of the vehicle to cope with the obstacle. That is, the result of the search process includes the planned trajectory of the vehicle to cope with the obstacle.
[0141] In this embodiment, the preset optimization control algorithm may be an algorithm based on an N-strain model predictive control model.
[0142] In this embodiment, the optimization solution may include a motion vector of the vehicle in response to the obstacle, which may be a jerk. The planned speed of the vehicle in response to the obstacle may be calculated based on the jerk.
[0143] Optionally, the N value of the N-CMPC executed varies for different sequential decision intervals. For scenarios with no obstacles ahead, N = 1. In other scenarios, since greedy decision responses (i.e., the preset ego-vehicle response trajectory) are considered, the value of N is related to the number of conflicting segments and greedy responses of potential obstacles within the sequential decision interval, so N ≥ 2. The value of N can be the sum of the number of conflicting segments and the number of greedy responses.
[0144] For example, in the process of constructing the preset optimization control algorithm, first, it can be assumed that the state transfer function is defined as shown in formula (1):
[0145] X k+1 =AX k +BU k (1)
[0146] Among them, X k is the state vector, U k is the motion vector, i.e., the jerk, and A and B are coefficient matrices, which can be defined as follows:
[0147]
[0148] Here, t is the time of the planning cycle, for example, 0.2 seconds (s).
[0149] Secondly, the current state vector of the vehicle is Assume that the multimodal predicted trajectories of each obstacle are: is the obstacle state vector, which can be defined as Here, s is the position data, v is the velocity, and a is the acceleration.
[0150] The objective function of the ego vehicle is defined as shown in formula (2):
[0151]
[0152] Among them, X0 and U0 are the response state vector and action vector of the vehicle when it does not consider any obstacles, and then X i and U i It can be the vehicle's predicted trajectory in response to obstacles The response state vector and action vector.
[0153] It can represent the expected / reference state of a certain predicted trajectory for the i-th obstacle in the k-th frame.
[0154] It should be noted that if there are multiple predicted trajectories of multiple obstacles in a temporal decision interval, the definition of the relevant response state vector and action vector can be postponed. For example, the predicted trajectory of obstacle 1 is The response state vector and action vector are defined as X1 and U1, and the predicted trajectory of obstacle 1 is 2 The response state vector and action vector are defined as X2 and U2, and the predicted trajectory of obstacle 2 is The response state vector and action vector are defined as X3 and U3.
[0155] Here, the constraints may include equality constraints and inequality constraints. The equality constraints may include initial state constraints and state transition constraints, which are defined as shown in formula (3):
[0156]
[0157] Inequality constraints can include collision constraints and reversing constraints, which are defined as shown in formula (4):
[0158]
[0159] Where d is the preset minimum safety distance.
[0160] The upper and lower bounds of the variables are defined as follows:
[0161]
[0162] The above optimization problem is summarized as an optimal control problem, and then the optimization problem of the preset optimization control algorithm can be determined, which is expressed as the following formula (5):
[0163]
[0164] in, It can represent the objective function of the optimization problem of the preset optimization control algorithm. The above conditions can represent the constraint function of the optimization problem of the preset optimization control algorithm, that is, the objective constraint condition, h i (·) and g i (·) are the above-mentioned response prediction trajectories The equality and inequality constraints of p i The probability of the trajectory of the obstacle that generates conflict within the corresponding temporal decision interval can be predicted, that is, the probability corresponding to the conflict line segment, such as the probability of 1-2, 3-2; p max is the corresponding temporal decision interval p i The maximum value of . represents the strain constraint, d t =λ t d represents the relaxation constraint, where λ is the time reduction factor, t refers to the number of frames, and λ∈(0,1). represents a continuous constraint at the bifurcation point of the decision tree, where is the control quantity of the decision termination point of the i-th decision interval, is the control quantity of the decision starting point of the next decision interval.
[0165] It should be noted that relaxing constraints takes into account interaction uncertainty: short-term collision outcomes are predictable, while long-term collision outcomes are difficult to predict. Therefore, a time reduction factor λ is added to the minimum safe distance. By relaxing constraints, the success rate of solving the later-stage sequential decision intervals during the decision tree search process can be improved. Furthermore, considering computational time consumption, the decision time step and the collision detection constraint time step are not unified. This means that a scaling approach is used for dense collision judgment and sparse collision judgment. Preferably, the decision time step is 0.5s and the collision judgment time step is 0.1s.
[0166] It should be noted that in order to ensure the continuity of the control quantity in the splicing process of the local optimal solution, a continuity constraint is added at the bifurcation point of the decision tree.
[0167] In this embodiment, the preset tree search algorithm may be a tree search algorithm based on a greedy search method, starting from the most greedy branch to make a decision, search, and solve, and outputting the trajectory planning result until the solution is successful.
[0168] Figure 6 Schematic diagram of a decision tree search process in a trajectory planning method provided in another embodiment of the present application.
[0169] like Figure 6 As shown in Figure 1, step 1: starting from the root node, search for its corresponding child node according to the branch of the greedy decision response, that is, the strain processing child node, to determine whether the child node has an optimization solution, 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 and search for the corresponding child node according to the branch corresponding to the obstacle prediction trajectory. The obstacle prediction trajectory is the conflicting line segment, and then execute step 2.
[0172] Step 4: Starting from the current child node, search for 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, 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 and find the corresponding child node according to the branch corresponding to the obstacle prediction trajectory. The obstacle prediction trajectory is the conflict line segment, and execute step 5.
[0175] Step 7: Repeat steps 4 to 6.
[0176] Steps 8 and 9: Backtrack from the leaf node to the root node, find the optimal decision path and planning speed, and obtain the planned trajectory of the vehicle to deal with obstacles.
[0177] It should be noted that the contingency processing child node is the state of the last point in the trajectory of the contingency processing decision optimization result. The greedy decision response optimization result refers to the optimization result of the decision branch that responds to the absence of collision obstacles. The state of the last trajectory point in this result serves as the root node state for the next stage of search. If the child node is at the bottom level of the tree, the search is complete and there is no need to jump to step 7. Otherwise, the search is not yet complete and the search needs to continue.
[0178] In this implementation, Figure 7 FIG. 1 is a schematic diagram of the speed planning result in the ST diagram in the trajectory planning method provided by another embodiment of the present application. Figure 7As shown in the figure, the effect of the planning results is displayed on the ST diagram. The different colored line segments in the figure represent the information of the predicted trajectories of different obstacles that have a collision conflict with the vehicle in the ST diagram, that is, different conflict line segments. The red point sequence represents the final overall speed planning result.
[0179] In this way, by adopting the technical solution in this embodiment, a decision tree can be constructed based on the greedy decision response, at least one temporal decision interval and the conflict information of each temporal decision interval, and the decision tree can be searched to obtain the planned trajectory of the ego vehicle to deal with obstacles. Taking into account the multimodality of continuous multi-agent driving data, the temporal adaptive trajectory planning of the ego vehicle and multiple interacting agents is effectively realized, and the accuracy of the planned trajectory of the ego vehicle to deal with multiple agents is improved, thereby ensuring the reliability of the driving of the autonomous driving vehicle.
[0180] In addition, the technical solution in this embodiment can be used to efficiently adapt to the needs of continuously interacting multiple obstacles based on speed planning processing under a decoupling framework, taking into account the multimodality of the temporal obstacle trajectories, and effectively realizing the temporal adaptive trajectory planning of multiple interactive intelligent agents.
[0181] It should be noted that for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that this application is not limited by the order of the actions described, because according to this application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by this application.
[0182] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0183] Figure 8 FIG. 1 shows a structural block diagram of a trajectory planning device provided by an embodiment of the present application. Figure 8As shown. 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. The acquisition unit 801 is used to acquire the driving data of the ego 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 ego vehicle and the obstacle based on the driving data of the ego vehicle and the driving data of the obstacle; the conversion unit 803 is used to convert the conflict information based on the ST graph to obtain at least one temporal decision interval and the conflict information of each temporal decision interval; the construction unit 804 is used to construct a decision tree based on the preset ego vehicle response trajectory, at least one temporal decision interval and the conflict information of each temporal decision interval; the planning unit 805 is used to search the decision tree based on the driving data of the ego vehicle and the driving data of the obstacle to obtain the planned trajectory of the ego vehicle to deal with the obstacle.
[0184] It should be noted that part or all of the trajectory planning device of this embodiment 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 a network-side server, or may also be a distributed system located on the network side, for example, a processing engine or distributed system in an autonomous driving platform on the network side, etc. This embodiment does not specifically limit this.
[0185] It is understandable that the application may be a native program (nativeApp) installed on the local terminal, or may be a webpage program (webApp) of a browser on the local terminal, which is not limited in this embodiment.
[0186] Optionally, in a possible implementation of this embodiment, the driving data of the ego vehicle includes the ego vehicle position data and the ego vehicle planned path, and the driving data of the obstacle includes the obstacle position data and the obstacle predicted trajectory. The determination unit 802 can be specifically used to calculate the conflict area between the ego vehicle and the obstacle based on the ego vehicle position data and the ego vehicle planned path, as well as the obstacle position data and the obstacle predicted trajectory; extract the obstacle predicted trajectory in the conflict area between the ego vehicle and the obstacle; and use the obstacle predicted trajectory in the conflict area between the ego vehicle and the obstacle as the conflict information between the ego vehicle and the obstacle.
[0187] Optionally, in a possible implementation of this embodiment, the conversion unit 803 can be specifically used to convert the conflict information into the ST diagram to obtain at least one conflict line segment; based on the time information of each conflict line segment, each conflict line segment is divided and processed using a preset timing decision interval division strategy to obtain at least one timing decision interval.
[0188] Optionally, in a possible implementation of this embodiment, the conversion unit 803 can be specifically used to determine whether there is time overlap between each conflicting line segment based on the time information of each conflicting line segment; when there is time overlap between at least two conflicting line segments, 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 with time overlap are determined as a timing decision interval to obtain a first type of timing decision interval; when there is no time overlap between at least two conflicting line segments, based on the time end point of each conflicting line segment without time overlap, the timing decision interval corresponding to each conflicting line segment is divided to obtain a second type of timing decision interval; 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.
[0189] Optionally, in a possible implementation of this embodiment, the decision tree includes levels and branches, and the construction unit 804 can be specifically configured to construct the levels of the decision tree based on at least one temporal decision interval; and construct the branches of the decision tree based on the preset ego-vehicle response trajectory and conflict information of each temporal decision interval.
[0190] Optionally, in a possible implementation of this embodiment, the decision tree includes multiple nodes, and the planning unit 805 can be used to search and process each node of the decision tree based on the driving data of the vehicle and the driving data of the obstacle using a preset search strategy; based on the result of the search processing, obtain the planned trajectory of the vehicle to deal with the obstacle.
[0191] Optionally, in a possible implementation of this embodiment, the nodes of the decision tree include a root node and multiple child nodes. The planning unit 805 can be used to determine 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; 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; and use a preset tree search algorithm to search and process the optimization solution result of each child node of the decision tree.
[0192] Optionally, in a possible implementation of this embodiment, the planning unit 805 can be used to search for an optimization solution result for each child node of the decision tree based on a preset search order; in response to the existence of an optimization solution result for a child node, obtain the planned speed of the self-vehicle corresponding to the child node to cope with the obstacle, so as to obtain the planned speeds of the self-vehicle corresponding to multiple child nodes to cope with the obstacle; obtain the planned path of the self-vehicle from the driving data of the self-vehicle; and splice the planned path of the self-vehicle and the planned speeds of the self-vehicle corresponding to multiple child nodes to cope with the obstacle to obtain the result of the search processing.
[0193] In this embodiment, the acquisition unit can acquire the driving data of the ego vehicle and the driving data of the obstacle; wherein the number of the obstacles is multiple, and then the determination unit can determine 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, and the conversion unit can convert the conflict information based on the ST graph to obtain at least one temporal decision interval and the conflict information of each temporal decision interval, and the construction unit can construct a decision tree based on the preset ego vehicle response trajectory, at least one temporal decision interval and the conflict information of each temporal decision interval, so that the planning unit can construct a decision tree based on the ... The driving data of the ego vehicle and the driving data of the obstacle are combined to search the decision tree to obtain the planned trajectory of the ego vehicle in response to the obstacle. Since a decision tree can be constructed according to a preset ego vehicle response trajectory, at least one temporal decision interval and conflict information of each temporal decision interval, and the planned trajectory of the ego vehicle in response to the obstacle is obtained by searching the decision tree, the multimodality of continuous multi-agent driving data is taken into account, and the temporal adaptive trajectory planning of the ego vehicle and multiple interacting agents is effectively realized, which improves the accuracy of the planned trajectory of the ego vehicle in response to multiple agents, thereby ensuring the reliability of the autonomous driving vehicle.
[0194] In the technical solution of this application, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved, such as user images and attribute data, comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0195] According to an embodiment of the present application, the present application also provides an electronic device, a readable storage medium and a computer program product.
[0196] According to an embodiment of the present application, an unmanned vehicle including the provided electronic device is further provided. The autonomous driving vehicle may include vehicles of level 2 or above. For example, the autonomous driving vehicle may include, but is not limited to, autonomous logistics vehicles, autonomous inspection vehicles, autonomous delivery vehicles, and autonomous large vehicles.
[0197] Figure 9 A schematic block diagram of an example electronic device 900 that can be used to implement an embodiment of the present application is shown. 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 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 application described and / or claimed herein.
[0198] like Figure 9 As shown, the electronic device 900 includes a computing unit 901, which 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] Multiple 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 a variety of general-purpose and / or specialized 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 that run machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 901 performs the various methods and processes described above, such as the trajectory planning method. For example, in some embodiments, the trajectory planning method can be implemented as a computer software program that is tangibly contained 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 on 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 trajectory planning method described above can be performed. Alternatively, in other embodiments, the computing unit 901 can be configured to perform the trajectory planning method by any other appropriate means (e.g., by means of firmware).
[0201] 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.
[0202] The program code for implementing the methods of the present application can be written in any combination of one or more programming languages. Such program code 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 charts and / or block diagrams 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.
[0203] In the context of the present application, a machine-readable medium can be a tangible medium that can contain or store a program for use by an instruction execution system, device or equipment or used in combination 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.
[0204] 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).
[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 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.
[0206] A computer system may include a client and a server. The client and server are generally remote from each other and typically interact through a communication network. The client-server relationship arises through computer programs running on the respective computers and having a client-server relationship with each other. The server may be a cloud server, a server in a distributed system, or a server integrated with a blockchain.
[0207] 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 application can be achieved. This is not a limitation herein.
[0208] The above specific embodiments do not constitute a limitation on the scope of protection of this application. 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 application shall be included within the scope of protection 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, based on the driving data of the vehicle and the driving data of the obstacle, conflict information between the vehicle and 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 cope with the obstacle.
2. The method according to claim 1, characterized in that The driving data of the ego vehicle includes the ego vehicle position data and the ego vehicle planned path, and the driving data of the obstacle includes the obstacle position data and the obstacle predicted trajectory. 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: Calculating a collision area between the ego vehicle and the obstacle based on the ego vehicle position data and the ego vehicle planned path, and the obstacle position data and the obstacle predicted trajectory; Extracting a predicted obstacle trajectory in a collision area between the ego vehicle and the obstacle; The predicted obstacle 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 graph, the conflict information is converted to obtain at least one timing decision interval, including: Converting the conflict information into the ST graph to obtain at least one conflicting line segment; Based on the time information of each conflicting line segment, a preset temporal decision interval division strategy is used to divide each conflicting line segment to obtain at least one temporal 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, the at least two conflicting line segments with the overlap in time are determined as a temporal decision interval based on the time endpoint of the latest conflicting line segment among the at least two conflicting line segments, thereby obtaining a first type of temporal decision interval; When at least two conflicting line segments do not overlap in time, the temporal decision interval corresponding to each conflicting line segment is divided based on the time end point of each conflicting line segment that does not overlap in time, thereby obtaining the second type of temporal 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, wherein 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: constructing a hierarchy of the decision tree based on at least one temporal decision interval; Based on the preset ego-vehicle response trajectory and the conflict information of each temporal 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. The search process is performed on the decision tree based on the driving data of the vehicle and the driving data of the obstacle 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, a search process is performed on each node of the decision tree 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. The search process for each node of the decision tree is performed based on the driving data of the vehicle and the driving data of the obstacle using a preset search strategy, including: Determining conflict information between the preset ego-vehicle response trajectory and the temporal decision interval corresponding to the root node of the decision tree; Determining conflict information between the preset ego-vehicle response trajectory and the temporal decision interval corresponding to each child node of the decision tree; Determining an optimization solution for each child node of the decision tree using a preset optimization control algorithm 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 temporal decision interval corresponding to the root node, and the conflict information between the preset ego vehicle response trajectory and the temporal decision interval corresponding to each child node; 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 the optimization solution of each child node of the decision tree includes: Based on a preset search order, searching for an optimized 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 together to obtain a result of the search processing.
9. A trajectory planning device, characterized in that: The device comprises: an acquisition unit, configured to acquire driving data of the vehicle and 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 graph 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; A planning unit is used to search 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 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 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