Vehicle speed planning method, device, equipment and storage medium
By determining the conflict zone, building and pruning decision trees in the speed planning method of autonomous driving vehicles, the problem of speed planning between autonomous driving vehicles and obstacles in the conflict zone is solved, and safe and efficient driving is achieved.
Patent Information
- Application Number
- CN202510402279.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-01
- Publication Date
- 2025-06-24
- Estimated Expiration
- 2045-04-01
AI Technical Summary
When the predicted trajectory of an autonomous vehicle conflicts with the predicted trajectory of other obstacles, the speed of the autonomous vehicle needs to be planned to avoid collisions, scratches and other behaviors with other obstacles.
By determining the planned trajectory of the target vehicle and the predicted trajectory of the obstacles, an overlapping conflict zone is generated, a driving semantic decision tree is constructed, and the decision tree is pruned according to the predetermined pruning conditions is generated, a driving semantic decision for the target vehicle is generated, and the speed planning decision of the target vehicle relative to all obstacles is finally determined, and the driving speed is adjusted.
It realizes effective planning of the speed of autonomous vehicles in the conflict zone to avoid collisions with obstacles and other behaviors, thereby improving the safety of vehicle driving.
Smart Images

Figure CN119898332B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of artificial intelligence technology, specifically to the fields of autonomous driving and intelligent transportation technology, and particularly to a method, device, equipment and storage medium for speed planning of a vehicle. Background Art
[0002] When the predicted trajectory of an autonomous vehicle conflicts with the predicted trajectories of other obstacles, it is necessary to plan the speed of the autonomous vehicle to avoid collisions, scratches, etc. with other obstacles. Establishing an ST graph (a coordinate system with time time as the horizontal axis and the distance s of the planned path as the vertical axis) is a common method for speed planning. Summary of the Invention
[0003] The present disclosure provides a method, device, equipment and storage medium for speed planning of a vehicle.
[0004] According to a first aspect of the present disclosure, there is provided a method for speed planning of a vehicle, including: determining a conflict area where the planned trajectory and the predicted trajectory overlap according to the planned trajectory of the target vehicle and the predicted trajectories of obstacles; constructing a driving semantic decision tree based on the candidate decision results of the target vehicle in the conflict area; pruning the driving semantic decision tree according to predetermined pruning conditions, and generating a driving semantic decision for the target vehicle according to the pruned decision tree; determining a speed planning decision of the target vehicle relative to all obstacles according to the driving semantic decision, and adjusting the driving speed of the target vehicle according to the speed planning decision.
[0005] According to a second aspect of the present disclosure, there is provided a device for speed planning of a vehicle, including: a determination module configured to determine a conflict area where the planned trajectory and the predicted trajectory overlap according to the planned trajectory of the target vehicle and the predicted trajectories of obstacles; a construction module configured to construct a driving semantic decision tree based on the candidate decision results of the target vehicle in the conflict area; a pruning module configured to prune the driving semantic decision tree according to predetermined pruning conditions, and generate a driving semantic decision for the target vehicle according to the pruned decision tree; a planning module configured to determine a speed planning decision of the target vehicle relative to all obstacles according to the driving semantic decision, and adjust the driving speed of the target vehicle according to the speed planning decision.
[0006] According to a third aspect of the present disclosure, there is provided an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein, the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method described in any implementation manner of the first aspect.
[0007] According to a fourth aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions for causing a computer to execute the method described in any implementation manner of the first aspect.
[0008] According to a fifth aspect of the present disclosure, there is provided a computer program product including a computer program which, when executed by a processor, performs the method described in any implementation manner of the first aspect.
[0009] According to a sixth aspect of the present disclosure, there is provided a self-driving vehicle including the electronic device as described in the third aspect.
[0010] 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 the present disclosure, nor is it used to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The drawings are used to better understand the solution and do not constitute a limitation to the present disclosure. Among them:
[0012] Figure 1 is a flowchart of a first embodiment of the vehicle speed planning method according to the present disclosure;
[0013] Figure 2 is a schematic diagram of a conflict area;
[0014] Figure 3 is a flowchart of a second embodiment of the vehicle speed planning method according to the present disclosure;
[0015] Figure 4-1 is a schematic diagram of the decision result of "near grab, far yield" in the case of conflict area intersection;
[0016] Figure 4-2 is a schematic diagram of the decision result of "near yield, far grab" in the case of conflict area intersection;
[0017] Figure 4-3 is a schematic diagram of the decision result of "near grab, far grab" in the case of conflict area intersection;
[0018] Figure 4-4 is a schematic diagram of the decision result of "near yield, far yield" in the case of conflict area intersection;
[0019] Figure 5-1 is a schematic diagram of the decision result of "near grab, far yield" in the case of conflict area inclusion;
[0020] Figure 5-2 is a schematic diagram of the decision result of "near yield, far grab" in the case of conflict area inclusion;
[0021] Figure 5-3 is a schematic diagram of the decision result of "near grab, far grab" in the case of conflict area inclusion;
[0022] Figure 5-4 It is a schematic diagram of the decision result of giving way to the farther vehicle when the conflict area is included;
[0023] Figure 6 It is a flowchart of the third embodiment of the vehicle speed planning method according to the present disclosure;
[0024] Figure 7 It is a schematic structural diagram of an embodiment of the vehicle speed planning device according to the present disclosure;
[0025] Figure 8 It is a block diagram of an electronic device for implementing the vehicle speed planning method of the embodiments of the present disclosure. Detailed implementation manners
[0026] The following describes exemplary embodiments of the present disclosure with reference to the accompanying drawings. Various details of the embodiments of the present disclosure 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 disclosure. Similarly, for clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0027] It should be noted that, without conflict, the embodiments in the present disclosure and the features in the embodiments can be combined with each other. The present disclosure will be described in detail below with reference to the drawings and in conjunction with the embodiments.
[0028] An exemplary system architecture for implementing the vehicle speed planning method provided by the present disclosure may include a terminal device, a network, and a server. The network is used to provide a communication link between the terminal device and the server, and may include various connection types, such as wired communication links, wireless communication links, or fiber optic cables, etc.
[0029] Users can use the terminal device to interact with the server through the network to receive or send information, etc. Various client applications can be installed on the terminal device, such as map-based, navigation-based, entertainment-based, etc. client applications.
[0030] The terminal device may be, for example, the in-vehicle system of a vehicle such as an autonomous vehicle or a delivery robot. This system can be implemented in a hardware manner, or in a software manner, or in a manner combining hardware and software.
[0031] The server can be either hardware or software. When the server is hardware, it can be implemented as a distributed server cluster composed of multiple servers or as a single server. When the server is software, it can be implemented as multiple software or software modules (e.g., for providing distributed services) or as a single software or software module. No specific limitation is made here.
[0032] It should be noted that the execution subject of the vehicle speed planning method provided by the present disclosure (hereinafter simply referred to as the "execution subject") can be executed by the server in the above system architecture or can be implemented through the above terminal device. For example, when the server executes, the server sends a control command to the client, such as the in-vehicle system of the vehicle, and then controls the vehicle through the in-vehicle system according to the control command, such as adjusting the driving speed of the vehicle. For another example, when the terminal device (such as the in-vehicle system of the vehicle) executes, the terminal device controls the vehicle according to the control command, such as adjusting the driving speed of the vehicle.
[0033] Figure 1 Flow 100 of the first embodiment of the vehicle speed planning method according to the present disclosure is shown. The vehicle speed planning method includes the following steps:
[0034] Step 101, determine a conflict area where the planned trajectory and the predicted trajectory overlap according to the planned trajectory of the target vehicle and the predicted trajectory of the obstacle.
[0035] In this embodiment, the execution subject determines whether there is a conflict area based on the trajectory information (planned trajectory) of the target vehicle and the trajectory information (predicted trajectory) of the obstacle, where the conflict area is the overlapping area between the planned trajectory of the target vehicle and the predicted trajectory of the obstacle.
[0036] Specifically, the above execution subject will first obtain the planned trajectory of the ego vehicle (i.e., the target vehicle), where the planned trajectory is the planned trajectory information of the ego vehicle in the next period of time, and this planned trajectory can be generated by a path planning algorithm. The execution subject will also obtain information such as the pose and speed of the ego vehicle. Then the above execution subject will also obtain the predicted trajectory of other interacting vehicles (i.e., obstacles), where the predicted trajectory of the obstacle is the predicted trajectory information of the obstacle in the next period of time, and will also obtain information such as the pose and speed of the obstacle. The obstacle here can be one or more, and the number of obstacles is not limited in this embodiment.
[0037] After that, the above-mentioned execution entity will determine whether the planned trajectory of the target vehicle overlaps with the predicted trajectory of the obstacle, or whether there is a conflict, that is, based on the information such as the speed and trajectory of the target vehicle and the speed and trajectory of the obstacle, it is determined whether the trajectory of the obstacle and the trajectory of the target vehicle will conflict at a certain moment or during a certain period of time, that is, whether there is an overlapping area between the two trajectories, and the area where the conflict (or overlap) occurs is used as the conflict area.
[0038] It should be noted that there can be multiple conflict areas, that is, the planned trajectory of the target vehicle can conflict with the predicted trajectories of multiple obstacles, thus forming multiple conflict areas.
[0039] It should be noted that the boundary of the conflict area is taken from the projection position of the overlapping area of the vehicle path and the trajectory information of other obstacles on their respective paths. Figure 2 For the schematic diagram of the conflict area, as Figure 2 shown, where ABCD is the interaction conflict area between the host vehicle and the other vehicle, A is the front boundary of the host vehicle reaching the conflict area, B is the rear boundary of the host vehicle leaving the conflict area, C is the front boundary of the other vehicle reaching the conflict area, and D is the rear boundary of the other vehicle leaving the conflict area.
[0040] Step 102, construct a driving semantic decision tree based on the candidate decision results of the target vehicle in the conflict area.
[0041] In this embodiment, after determining the conflict area, the above-mentioned execution entity will construct a driving semantic decision tree according to the candidate decision results of the target vehicle in the conflict area. Here, the candidate decision results include rushing or yielding, that is, the target vehicle can yield (let the obstacle pass through the conflict area first) or rush (the host vehicle passes through the conflict area first) in the conflict area.
[0042] The driving semantic decision tree constructed according to the candidate decision results is a full binary tree, and the actions at each layer of this driving semantic decision tree are the semantics of rushing or yielding. When there are multiple conflict areas, each branch of the driving semantic decision tree represents each conflict area among the multiple conflict areas, and the candidate decision results of the target vehicle in each conflict area include both rushing and yielding.
[0043] Step 103, prune the driving semantic decision tree according to the predetermined pruning conditions, and generate a driving semantic decision for the target vehicle according to the pruned decision tree.
[0044] In this embodiment, the above-mentioned execution entity will prune the driving semantic decision tree according to the pre-constructed pruning conditions, and obtain a driving semantic decision according to the pruned semantic decision tree. Here, the pruning conditions can include but are not limited to timing constraints, constraints on ST (advance distance and advance time) information during the execution process, etc.
[0045] As an example, since there are temporal constraints between the semantic decisions before and after in the semantic decision sequence corresponding to the driving semantic decision, if the temporal constraints are violated, pruning should be performed. As another example, for a semantic decision sequence in which the semantic decision of forced driving cannot be executed under the speed limit constraint, pruning should be performed. As yet another example, if the semantic decision in the proximal conflict area is forced driving and the semantic decision in the distal conflict area is yielding, and there is an ST information conflict during the execution process, pruning should be performed.
[0046] Finally, the above-mentioned execution entity will generate the corresponding driving semantic decision according to the pruned semantic decision tree. Here, the driving semantic decision is the decision result in the pruned semantic decision tree, such as {forced driving, yielding, forced driving...}. Therefore, the length of the semantic decision sequence corresponding to the driving semantic decision is the depth of the semantic decision tree.
[0047] Step 104: Determine the speed planning decision of the target vehicle relative to all obstacles according to the driving semantic decision, and adjust the driving speed of the target vehicle according to the speed planning decision.
[0048] In this embodiment, the above-mentioned execution entity will determine the speed planning decision of the target vehicle relative to all obstacles according to the generated driving semantic decision. For example, the speed planning strategy can be determined by solving a quadratic speed planning problem, that is, solving the quadratic speed planning problem, and taking the obtained solution as the speed planning strategy. Here, the quadratic speed planning problem is the QP problem. The QP (Quadratic Programming) problem is to handle the speed planning problem and solve a set of reasonable speeds, such as X1, X2, X3..., so as to complete the forced driving / yielding processing for all obstacles. Finally, adjust the driving speed of the target vehicle in the conflict area according to the obtained solution, so as to ensure the safe driving of the vehicle.
[0049] In an example, the above-mentioned execution entity will first generate a rough solution by solving the optimal boundary value problem according to the semantic decision sequence corresponding to the driving semantic decision. Since the rough solution is processed one obstacle at a time in sequence, here, the respective rough solutions will also be pieced together in sequence to obtain an initial solution. Then, the above-mentioned execution entity will optimize the initial solution to obtain an optimized solution, and take the optimized solution as the final solution (i.e., the speed planning decision), and adjust the driving speed of the target vehicle according to the speed planning decision, so as to control the ego vehicle and the obstacle vehicle not to appear in the conflict area at the same time, so that the ego vehicle has the ability to anticipate and handle conflicts, so as to avoid collisions between the ego vehicle and the obstacle vehicle in the conflict area.
[0050] The speed planning method for a vehicle provided by an embodiment of the present disclosure first determines a conflict area where the planned trajectory and the predicted trajectory overlap based on the planned trajectory of the target vehicle and the predicted trajectories of obstacles; then constructs a driving semantic decision tree based on the candidate decision results of the target vehicle in the conflict area; then prunes the driving semantic decision tree according to a predetermined pruning condition, and generates a driving semantic decision for the target vehicle based on the pruned decision tree; finally, determines a speed planning decision for the target vehicle relative to all obstacles according to the driving semantic decision, and adjusts the driving speed of the target vehicle according to the speed planning decision. Thus, a speed planning solution for the target vehicle in the conflict area is generated, and the cut-in / yield processing of the target vehicle for all obstacles is completed, so as to control the ego vehicle and the obstacle vehicle not to appear in the conflict area at the same time, so that the ego vehicle has the ability to anticipate and handle conflicts, so as to avoid behaviors such as collisions between the ego vehicle and the obstacle vehicle in the conflict area, thereby improving the driving safety of the vehicle.
[0051] In addition, in the technical solutions involved in the present disclosure, the acquisition, storage, use, processing, transportation, provision, and disclosure of vehicle speed, trajectory information, etc. all comply with the provisions of relevant laws and regulations and do not violate public order and good customs.
[0052] Continue to refer to Figure 3 , Figure 3 FIG. 300 shows a flow of a second embodiment of the speed planning method for a vehicle according to the present disclosure. The speed planning method for the vehicle includes the following steps:
[0053] Step 301, determine a conflict area where the planned trajectory and the predicted trajectory overlap based on the planned trajectory of the target vehicle and the predicted trajectories of obstacles.
[0054] Step 301 is basically the same as step 101 of the foregoing embodiment, and the specific implementation manner may refer to the description of step 101 above, which will not be repeated here.
[0055] Step 302, in response to determining that the target vehicle has conflict areas with multiple obstacles and there is an intersection area among the multiple conflict areas, determine an initial decision result set of the target vehicle in the multiple conflict areas.
[0056] In this embodiment, the execution subject of the vehicle speed planning method, such as a server or a terminal device (such as an in-vehicle terminal), determines whether there is an intersection area among multiple conflict areas when it is determined that there are conflict areas between the host vehicle (target vehicle) and multiple obstacles, that is, when there are multiple conflict areas. For example, if the conflict area between the host vehicle and obstacle A is area 1 and the conflict area between the host vehicle and obstacle B is area 2, it is determined whether there is an intersection area between area 1 and area 2. If there is an intersection area among multiple conflict areas, an initial decision result set of the target vehicle in multiple conflict areas is generated. The initial decision result of each conflict area includes cutting in and yielding. Combining the initial decision results of multiple conflict areas can obtain the initial decision result set.
[0057] As an example, if the conflict area between the host vehicle and obstacle A is area 1, the conflict area between the host vehicle and obstacle B is area 2, and there is an intersection area between area 1 and area 2, the initial decision result of the host vehicle in area 1 can be cutting in and yielding, and the initial decision result of the host vehicle in area 2 can also be cutting in and yielding. Therefore, the initial decision result set of the host vehicle in area 1 and area 2 includes: cutting in and cutting in, cutting in and yielding, yielding and yielding, yielding and cutting in.
[0058] Step 303: Determine whether the initial decision result meets the preset constraint conditions according to the driving distance and driving time during the execution of the initial decision result by the target vehicle.
[0059] In this embodiment, the above execution subject determines whether the initial decision result meets the preset constraint conditions according to the driving distance and driving time during the execution of the initial decision result by the target vehicle. Here, the constraint condition refers to whether the driving distance (s) and driving time (t) conflict. If there is no conflict, the constraint condition is met. It should be noted that here it is judged whether each initial decision result (such as the above four initial decision results of cutting in and cutting in, cutting in and yielding, yielding and yielding, yielding and cutting in) meets the constraint conditions.
[0060] As an example, further referring to Figure 4-1 , Figure 4-1 shows a schematic diagram of the near-cutting-in and far-yielding decision result in the case of conflict area intersection. Near-cutting-in and far-yielding means that the host vehicle cuts in at the proximal conflict area and yields at the distal conflict area. Cutting in is considered successful only after passing the rear boundary, and yielding is considered successful only before and at the front boundary. Therefore, in this case, the proximal decision conflict boundary is the rear boundary, the distal decision conflict boundary is the front boundary, and the st information conflicts during the execution process, and special processing is required.
[0061] In this case, the front and rear intersecting conflict areas are fused, and the rear boundary of the proximal conflict area is moved forward to the position of the front boundary of the distal conflict area, that is, let:
[0062] =
[0063] This process is risky. After the host vehicle enters the proximal conflict area, it occupies this space area, and some people think that the forced lane change is successful. The process from forced lane change to yielding has:
[0064]
[0065] Roughly speaking, if there is a margin in t, that is, there is a time difference between forced lane change first and then yielding:
[0066]
[0067] Then this decision sequence is considered feasible, otherwise this sequence has no solution when executed. That is, if there is a time difference between forced lane change first and then yielding, the constraint conditions are satisfied, otherwise not.
[0068] As another example, further refer to Figure 4-2 , Figure 4-2 shows a schematic diagram of the decision result of near yielding and far forced lane change in the case of conflict area intersection. Near yielding and far forced lane change means that the host vehicle needs to yield in the proximal conflict area and perform a forced lane change in the distal conflict area. In this case, the proximal decision conflict boundary is the front boundary, and the distal decision conflict boundary is the rear boundary. The st information does not conflict during the execution process, and it can be executed sequentially, that is, the constraint conditions are satisfied.
[0069] As another example, further refer to Figure 4-3 , Figure 4-3 shows a schematic diagram of the decision result of near forced lane change and far forced lane change in the case of conflict area intersection. Near forced lane change and far forced lane change means that the host vehicle needs to perform a forced lane change in the proximal conflict area and also perform a forced lane change in the distal conflict area. At this time, the proximal decision conflict boundary is the rear boundary, and the distal decision conflict boundary is the rear boundary. The st information does not conflict during the execution process, and it can be executed sequentially, that is, the constraint conditions are satisfied.
[0070] As another example, further refer to Figure 4-4 , Figure 4-4 shows a schematic diagram of the decision result of near yielding and far yielding in the case of conflict area intersection. Near yielding and far yielding means that the host vehicle needs to yield in the proximal conflict area and also yield in the distal conflict area. At this time, the proximal decision conflict boundary is the front boundary, and the distal decision conflict boundary is the front boundary. The st information does not conflict during the execution process, and it can be executed sequentially, that is, the constraint conditions are satisfied.
[0071] In addition, when the front and rear boundaries of one conflict area (area 1) contain the front and rear boundaries of another conflict area (area 2), the processing methods of each decision result are the same as those in the previous ( Figure 4-1 , Figure 4-2 , Figure 4-3 , Figure 4-4 ), which will not be elaborated here. Specifically, further refer to Figure 5-1 , Figure 5-1A schematic diagram showing the decision result of "near rush and far yield" in the case of including a conflict area is shown. The processing method for this case is the same as that of Figure 4-1 the case shown. Further refer to Figure 5-2 , Figure 5-2 A schematic diagram showing the decision result of "near yield and far rush" in the case of including a conflict area is shown. The processing method for this case is the same as that of Figure 4-2 the case shown. Further refer to Figure 5-3 , Figure 5-3 A schematic diagram showing the decision result of "near rush and far rush" in the case of including a conflict area is shown. The processing method for this case is the same as that of Figure 4-3 the case shown. Further refer to Figure 5-4 , Figure 5-4 A schematic diagram showing the decision result of "near yield and far yield" in the case of including a conflict area is shown. The processing method for this case is the same as that of Figure 4-4 the case shown.
[0072] Step 304, in response to determining that the initial decision result meets the constraint conditions, determine the initial decision result as a candidate decision result, and obtain a set of candidate decision results.
[0073] In this embodiment, if it is determined that the initial decision result meets the constraint conditions, the above-mentioned execution entity will determine the initial decision result as a candidate decision result, thereby obtaining a set of candidate decision results. Taking the st information during the execution process of the initial decision result as the constraint conditions, the decision results that do not meet the constraint conditions are deleted, and a set of candidate decision results including all decision results that meet the constraint conditions is obtained.
[0074] Step 305, construct a driving semantic decision tree based on the set of candidate decision results.
[0075] In this embodiment, the above-mentioned execution entity will construct a driving semantic decision tree according to the candidate decision results in the set of candidate decision results. The semantic decision tree constructed according to the candidate decision results in the set of candidate decision results is a full binary tree, and the actions at each layer of this driving semantic decision tree are the semantics of "rush" or "yield". When there are multiple conflict areas, each branch of the semantic decision tree represents each conflict area among the multiple conflict areas.
[0076] Step 306, according to the distance between the obstacle and the conflict area and the speed information of the obstacle, determine whether the candidate decision result of the target vehicle in the conflict area meets the timing constraint and / or speed limit constraint.
[0077] In this embodiment, the above-mentioned execution entity determines whether the candidate decision result meets the timing constraint and / or speed limit constraint according to the distance between the obstacle and the conflict area and the speed information of the obstacle. Here, the timing constraint refers to the constraint in the order of execution time, and the speed limit constraint refers to the speed constraint for the host vehicle. The timing constraint and the speed limit constraint can be constructed in advance according to the actual situation.
[0078] Step 307, in response to determining that the candidate decision result does not meet the timing constraint and / or speed limit constraint, prune the candidate decision result in the driving semantic decision tree.
[0079] In this embodiment, if it is determined that the candidate decision result does not meet the timing constraint and / or speed limit constraint, the above-mentioned execution entity will prune the candidate decision result in the driving semantic decision tree. That is, if the candidate decision result does not meet at least one of the timing constraint and the speed limit constraint, it will be pruned, and a semantic decision sequence will be obtained according to the pruned semantic decision tree. The non-executable decision results are filtered by the pruning operation, improving the solution speed of the speed planning solution.
[0080] In an example, since there is a timing constraint between the front and rear semantic decisions in the semantic decision sequence corresponding to the driving semantic decision, if the timing constraint is significantly violated, pruning is performed.
[0081] For example, first calculate the decision time of each interactive (cut-in) obstacle separately. For a specific obstacle A, the time for a cut-in plan
[0082] ,
[0083] where and are the distances from obstacle A to the front and rear boundaries of the conflict area respectively, is the speed of obstacle A.
[0084] Suppose there is a decision sequence {B: yield, C: yield, D: rush}, calculate their respective decision planning times , and . If:
[0085] or
[0086] It indicates that after the host vehicle yields to obstacles B and C in sequence, there is no longer enough time to meet the condition of rushing through obstacle D, and pruning should be performed at this time.
[0087] In an example, for a semantic decision sequence where the cut-in semantic decision is clearly not executable under the speed limit constraint, pruning should be performed.
[0088] Assume speed limit constraint , there is a decision sequence {B: rush, C: yield, D: rush}, and the conflict boundaries corresponding to the semantic decisions of BC's cutting in are respectively and , and the corresponding times are and , then at and , the farthest reaching distance of the host vehicle is and :
[0089]
[0090]
[0091] Among them, is the speed limit value specifying a certain series of specific types, is the ideal driving distance of the host vehicle within the future t time under the a speed limit.
[0092] If, < or < Any one of the conditions is satisfied, then the host vehicle still does not have the condition to cut in in the ideal state, and pruning should be performed.
[0093] Step 308, determine the speed planning decision of the target vehicle relative to all obstacles according to the driving semantic decision, and adjust the driving speed of the target vehicle according to the speed planning decision.
[0094] Step 308 is basically the same as step 104 of the foregoing embodiment, and the specific implementation manner can refer to the description of step 104 above, which will not be elaborated here.
[0095] It can be seen from Figure 3 that compared with the embodiment corresponding to Figure 1 , in the speed planning method of the vehicle in this embodiment, this method highlights the steps of constructing a driving semantic decision tree and pruning, that is, first judge whether the initial decision result satisfies the constraint conditions, so as to obtain a set of candidate decision results that satisfy the constraint conditions, construct a driving semantic decision tree according to the set of candidate decision results, and prune the candidate decision results in the driving semantic decision tree according to the timing constraint and speed limit constraint, so as to filter out the infeasible decision results and improve the solution speed of the speed planning problem.
[0096] Continue to refer to Figure 6 , Figure 6Shows the process 600 of the third embodiment of the vehicle speed planning method according to the present disclosure. The vehicle speed planning method includes the following steps:
[0097] Step 601, determine a conflict area where the planned trajectory and the predicted trajectory overlap according to the planned trajectory of the target vehicle and the predicted trajectory of the obstacle.
[0098] Step 601 is basically the same as step 101 of the foregoing embodiment. The specific implementation manner can refer to the description of step 101 above and will not be elaborated here.
[0099] Step 602, in response to determining that there is a conflict area and the obstacle is in front of the current position of the target vehicle, determine that the type of the obstacle is a front obstacle.
[0100] In this embodiment, the execution subject of the vehicle speed planning method, such as a server or a terminal device (such as an in-vehicle terminal), after determining the conflict area between the vehicle itself and the obstacle, will further determine the position of the obstacle relative to the vehicle itself. If the obstacle is in front of the current position of the vehicle itself, it is determined as a front obstacle (also referred to as a following obstacle in front of the path). That is, if the proximal front boundary of the conflict area between the vehicle itself and the obstacle is 0 and the distal rear boundary is a large value , then this obstacle is defined as a following obstacle in front of the path (abbreviated as a front obstacle), and the condition is expressed in the following form:
[0101] &&
[0102] For such obstacles, the vehicle itself should perform following processing.
[0103] Step 603, in response to determining that the type of the obstacle is a front obstacle and there are multiple front obstacles, determine a set of obstacles to follow from the multiple front obstacles according to the distance between the target vehicle and the front obstacles and the distances between the multiple front obstacles.
[0104] In this embodiment, if it is determined that the obstacle is a front obstacle and there are multiple front obstacles, the above-mentioned execution subject will determine a set of obstacles to follow from the multiple front obstacles according to the distance between the vehicle itself and the front obstacles and the distances between the multiple front obstacles.
[0105] Specifically, the above-mentioned execution entity will first sort all the front obstacles according to the distance between each front obstacle and the host vehicle. For example, it can be sorted in ascending order to obtain the sorted set of front obstacles. Then, cluster the sorted set of front obstacles according to the distances between the respective front obstacles to obtain multiple obstacle clusters after clustering. Finally, select the obstacle cluster closest to the host vehicle from the multiple obstacle clusters after clustering, and use the front obstacles in this obstacle cluster as the set V of obstacles to be followed. Compared with selecting a single vehicle as the vehicle to be followed, this method of selecting the set of obstacles to be followed takes into account the randomness of the movement of the front vehicles, thereby effectively avoiding the rear-end collision problem caused by untimely switching of the front following vehicle.
[0106] Step 604, in response to determining that there is a conflict area and the obstacle is behind the current position of the target vehicle, determine the type of the obstacle as a rear obstacle.
[0107] In this embodiment, after the above-mentioned execution entity determines that there is a conflict area between the host vehicle and the obstacle, it will further determine the position of the obstacle relative to the host vehicle. If the obstacle is behind the current position of the host vehicle, it is determined as a rear obstacle (which can also be called a path rear following obstacle). That is, when the obstacle is behind the current position of the host vehicle and there is a conflict area between the trajectory of the obstacle and the historical planned trajectory of the host vehicle, the obstacle is defined as a rear obstacle, and the condition can be expressed as follows:
[0108]
[0109] Wherein, represents the intersection of the trajectory of the obstacle and the trajectory of the host vehicle.
[0110] For such obstacles, appropriate protection should be considered for their following to prevent rear-end collisions.
[0111] Step 605, in response to determining that the type of the obstacle is a rear obstacle and there are multiple rear obstacles, determine the maximum braking deceleration of the target vehicle according to the distance between the target vehicle and the rear obstacle and the speed of the target vehicle.
[0112] In this embodiment, if it is determined that the obstacle is a rear obstacle and there are multiple rear obstacles, the above-mentioned execution entity will determine the maximum braking deceleration of the target vehicle according to the distance between the target vehicle and the rear obstacle and the speed of the target vehicle. Specifically, the maximum braking deceleration of the host vehicle (target vehicle) estimated based on the counterfactual inference method is expressed as:
[0113]
[0114] Wherein, is the counterfactual inference maximum braking deceleration of the host vehicle, is the speed of the ego vehicle (target vehicle), is the minimum safety distance, is the speed of the rear obstacle, is the maximum braking deceleration of the rear obstacle, is the distance between the ego vehicle and the rear obstacle at the current moment.
[0115] Considering the protection strategy for obstacles behind the path, the vehicle to be protected behind the path needs to meet the general principle: there is a possibility of collision between the rear obstacle vehicle and the ego vehicle. Specifically:
[0116] First, define the set open_set. Arrange multiple rear obstacles in ascending order according to the distance between the rear obstacles on the path and the ego vehicle, and put the sorted rear obstacles into open_set; then, define the set close_set, put the first rear obstacle in open_set into close_set, traverse open_set, and judge whether the elements in open_set have no lateral overlap relationship with all the elements in close_set. If so, put this element into close_set; otherwise, remove it from open_set; finally, traverse close_set and calculate , and take the maximum value of all as the lower limit of the maximum braking deceleration of the ego vehicle. Compared with selecting a single obstacle as the protected vehicle, the advantage of doing this is that it can effectively avoid the problem of information feature loss caused by only considering distance / speed factors when selecting a single vehicle, and thus avoid the occurrence of rear-end collision of the following vehicle.
[0117] In an example, when the proximal front boundary of the conflict area between the ego vehicle and the obstacle is greater than the smaller threshold and the distal rear boundary is less than the larger value at the rear end, then this obstacle is defined as a laterally cutting-in obstacle, and the condition can be expressed as:
[0118] &&
[0119] For such obstacles, the decision of cutting in first / yielding should be comprehensively considered, and then the response trajectory should be planned.
[0120] In an example, when the proximal front boundary of the conflict area between the ego vehicle and the obstacle is greater than the smaller threshold and the distal rear boundary is the larger value, then this obstacle is defined as a side-cutting-in obstacle, and the condition can be expressed as:
[0121] &&
[0122] For such obstacles, special treatment should be carried out. Such obstacles should have two types of states: a. Maintain the initial conflict area information; b. Modify the conflict area information, modify the rear boundary of the ego-vehicle conflict area to a finite value, and modify the conflict area information to 。
[0123] In one example, when in the decision sequence, the semantic decision of the cut-in obstacle is to cut in forcefully, the conflict area information is modified ; when in the decision sequence, the semantic decision of the cut-in obstacle is to yield, after the ego-vehicle executes the yielding decision, in the worst case, the distance of the obstacle in front of the ego-vehicle path is ,which can be used as the current relative distance, and then the cut-in obstacle is treated as a following obstacle in front of the path for car-following processing. By specially treating the cut-in obstacle, the problem of solution failure caused by insufficient yielding topological space in the prior art is solved, and the success rate of solution is improved.
[0124] Step 606: Construct a driving semantic decision tree based on the candidate decision results of the target vehicle in the conflict area.
[0125] Step 607: Prune the driving semantic decision tree according to the predetermined pruning conditions, and generate a driving semantic decision for the target vehicle according to the pruned decision tree.
[0126] Steps 606 - 607 are basically the same as steps 102 - 103 of the foregoing embodiment. The specific implementation manner can refer to the description of steps 102 - 103 above, and will not be elaborated here.
[0127] Step 608: Determine a rough solution of the quadratic speed planning problem by solving an optimal boundary value problem according to the semantic decision sequence corresponding to the driving semantic decision.
[0128] In this embodiment, the above execution entity will generate a semantic decision sequence corresponding to the driving semantic decision, and according to this semantic decision sequence, determine a rough solution of the quadratic speed planning problem by solving an optimal boundary value problem (OBVP, Optimal Boundary Value Problem). The optimal boundary value problem can also be called a two-point boundary value optimal control problem, which is a motion planning algorithm under dynamic constraints. This algorithm solves the optimal expression by given the initial state and the end state. When solving, this embodiment selects a spline curve as the state transition function, and the number of connected segments of the spline curve is determined according to the length of the semantic decision sequence.
[0129] That is, by given the input of the optimal boundary value problem: the starting point state, the ending point state, and the state transition equation, the output of the optimal boundary value problem can be obtained by solving: the state expression with the minimum cost function that conforms to the transition equation.
[0130] In some alternative implementation manners of this embodiment, step 608 includes: solving the quadratic velocity planning problem according to the distances between the current position of the target vehicle and each conflict area, the speeds and accelerations of the target vehicle at the proximal front boundaries of each conflict area, and the speeds and accelerations of the target vehicle at the distal rear boundaries of each conflict area, to obtain multiple initial solutions, where the number of segments of the initial solution is obtained according to the length of the semantic decision sequence; splicing the multiple initial solutions to obtain a rough solution.
[0131] Specifically, assuming that the length of the semantic decision sequence is n, then the number of spline curve connection segments is n + 1. Define:
[0132] Segment start state As:
[0133]
[0134] Segment end state : As:
[0135]
[0136] Joint state As:
[0137]
[0138] Wherein, , And Are respectively the forward distance of the vehicle in the initial state for planning (i.e., the forward distance from the initial state of the vehicle to the current position), speed, and acceleration, , And Are respectively the forward distance of the vehicle in the end state for planning (i.e., the forward distance from the end state of the vehicle to the current position), speed, and acceleration,
[0139] Define the transfer matrix As:
[0140]
[0141] Wherein, Is the planned time length of this segment.
[0142] Spline curve parameter As:
[0143]
[0144] There is an initial solution:
[0145]
[0146] Finally, the initial solutions of each segment are connected end to end to form a rough solution. Specifically:
[0147] The planned time length of each segment is defined as follows:
[0148]
[0149] where is the distance from the conflict rear boundary of the k-th segment of obstacles, is the distance from the conflict front boundary of the k-th segment of obstacles, v is the speed of the obstacle, and D is the semantic decision of the host vehicle.
[0150] For the first segment:
[0151] The starting state is the current initial state of the host vehicle which is:
[0152]
[0153] The end state:
[0154]
[0155]
[0156]
[0157] Therefore:
[0158]
[0159] For a certain middle segment:
[0160] The starting state is the end state of the previous segment:
[0161]
[0162] The end state:
[0163]
[0164]
[0165]
[0166] Therefore:
[0167]
[0168] For the ending segment:
[0169] The starting state is the end state of the previous segment:
[0170]
[0171] The generation of the end - segment solution can be generated by simple IDM (Intelligent Driver Model) car - following.
[0172] Since the initial solution calculation processes one obstacle at a time in sequence, it is necessary to process each one separately and then splice them together in sequence to obtain a rough solution.
[0173] Step 609: Optimize the rough solution according to the planning period of the target vehicle, use the obtained optimized solution as the speed - planning decision, and adjust the driving speed of the target vehicle according to the speed - planning decision.
[0174] In this embodiment, the above - mentioned execution entity will optimize the rough solution according to the planning period of the target vehicle to obtain an optimized solution, and use the optimized solution as the speed - planning decision. It should be noted that optimizing one rough solution can obtain one optimized solution, and when there are multiple rough solutions, multiple optimized solutions can be obtained through multiple optimizations. Then, determine the most suitable optimized solution from all the optimized solutions as the final optimized solution. For example, select the optimized solution with the minimum objective function as the final optimized solution. Finally, adjust the driving speed of the target vehicle according to the determined optimized solution to cope with conflicts with other vehicles, avoid behaviors such as collisions with other vehicles, and improve the safety of vehicle driving.
[0175] In some optional implementation manners of this embodiment, step 609 includes: generating an equality constraint in the time domain according to the planning period of the target vehicle. Specifically:
[0176] Assume that the minimum vehicle - planning period is Δt, and through finite - order Taylor expansion, we have:
[0177]
[0178]
[0179] Similarly, assume is a fixed constant, and we have:
[0180]
[0181]
[0182] Let:
[0183]
[0184] We have:
[0185]
[0186] In the optimization time domain, there is an equality constraint:
[0187]
[0188] Among them, the state , is:
[0189]
[0190] Step 609 further includes: constructing inequality constraints, where the inequality constraints include: boundary constraints of the target vehicle in the conflict area, speed limit constraints obtained according to the maximum braking deceleration, and / or following constraints for the set of obstacles to be followed.
[0191] The inequality constraints here include: first-order inequality constraints, second-order inequality constraints, and third-order inequality constraints. The first-order inequality constraints include a reverse prohibition constraint, boundary constraints in the conflict area, and following constraints (for the set of obstacles to be followed). The second-order inequality constraints include speed limit constraints, and the third-order inequality constraints include vehicle motion constraints (greater than the maximum braking deceleration and less than the maximum executable acceleration). Specifically:
[0192] (1) First-order inequality constraints: The first-order inequality constraints mainly refer to the s boundary constraints and reverse prohibition constraints in each conflict area of the entire plane, as follows:
[0193] A. Reverse prohibition constraint
[0194] The driving plan prohibits reversing, and there is:
[0195]
[0196] B. Conflict area boundary constraints
[0197] After a given decision sequence, each decision moment needs to satisfy the boundary s constraint. For example, given the following decision sequence and its corresponding boundary constraints:
[0198]
[0199] For the s boundary constraint, the ego vehicle should at , ,...., moments:
[0200]
[0201]
[0202]
[0203]
[0204] Generally, speed constraints need to be introduced. For example, in the case of cutting in, the speed of the host vehicle should be higher than that of the obstacle, and in the case of giving way, the speed of the host vehicle should be lower than that of the obstacle. However, in this embodiment, this part of the constraint is not added for the following reasons: (1) The conflict area ensures spatio-temporal safety, and the s boundary constraint can represent this; (2) Overtaking considers relative distance and relative speed, and it is too restrictive to only constrain the speed.
[0205] C. Following Constraint
[0206] For the obstacle to be followed on the path, predict its future driving trajectory and generate the s boundary constraint as follows:
[0207]
[0208] (2) Second-order inequality constraint: The second-order inequality constraint mainly refers to the road environment speed limit and other speed limit constraints. For example, assuming there is a speed limit constraint that the road speed limit is , there is:
[0209]
[0210] (3) Third-order inequality constraint: The third-order inequality constraint mainly refers to the vehicle motion constraint. Assume that the maximum executable deceleration of the vehicle is -6 , and the maximum executable acceleration is 3 , there is:
[0211]
[0212] In addition, an objective function, that is, a cost function, will also be constructed. The cost function considers three categories: comfort cost; backward protection cost; efficiency cost;
[0213] A. Comfort Cost
[0214] The comfort cost considers the acceleration cost and the jerk cost (the cost caused by the vehicle acceleration change rate), and there is:
[0215]
[0216] B. Efficiency Cost
[0217] The efficiency cost considers the current road recommended speed. Assume that the current road recommended speed is , there is:
[0218]
[0219] C. Backward Protection Cost
[0220] The backward protection cost protects the vehicle behind within a limited number of frames to prevent rear-end collisions. Assume that the maximum deceleration for rear protection is , there is:
[0221]
[0222] Among them, , , are the acceleration cost, jerk cost, recommended speed cost, and backward protection cost weights respectively, and K is the number of frames when the backward protection takes effect.
[0223] Step 609 further includes: optimizing the rough solution according to the constructed equality constraints, inequality constraints, and objective function to obtain an optimized solution. That is, the rough solution is optimized through the above-constructed constraint conditions and objective function to obtain the final optimized solution, and the driving speed of the target vehicle is adjusted according to the optimized solution, improving the driving safety of the vehicle.
[0224] From Figure 6 it can be seen that compared with the corresponding embodiment of Figure 3 , in the vehicle speed planning method of this embodiment, the method processes obstacles differently according to different types of obstacles and adopts a sampling form of semantic decision-making, improving the success rate of solving, and further avoiding behaviors such as collisions between the host vehicle and obstacle vehicles in the conflict area, improving the driving safety of the vehicle.
[0225] Further referring to Figure 7 , as an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a vehicle speed planning device. This device embodiment corresponds to the method embodiment shown in Figure 1 , and this device can be specifically applied to various electronic devices.
[0226] As shown in Figure 7 , the vehicle speed planning device 700 of this embodiment includes: a determination module 701, a construction module 702, a pruning module 703, and a planning module 704. The determination module 701 is configured to determine a conflict area where the planned trajectory and the predicted trajectory overlap according to the planned trajectory of the target vehicle and the predicted trajectory of the obstacle; the construction module 702 is configured to construct a driving semantic decision tree based on the candidate decision results of the target vehicle in the conflict area; the pruning module 703 is configured to prune the driving semantic decision tree according to predetermined pruning conditions and generate a driving semantic decision for the target vehicle based on the pruned decision tree; the planning module 704 is configured to determine a speed planning decision of the target vehicle relative to all obstacles according to the driving semantic decision and adjust the driving speed of the target vehicle according to the speed planning decision.
[0227] In this embodiment, for the specific processing of the determination module 701, construction module 702, pruning module 703, and planning module 704 in the vehicle speed planning device 700 and the technical effects brought by them, reference can be made respectively toFigure 1 Regarding the relevant descriptions of steps 101 - 104 in the corresponding embodiments, they will not be elaborated here.
[0228] In some alternative implementation manners of this embodiment, the speed planning device 700 of the vehicle further includes: a decision-making module configured to, in response to determining that there are conflict areas between the target vehicle and multiple obstacles and there is an intersection area among the multiple conflict areas, determine an initial decision result set of the target vehicle in the multiple conflict areas, where the initial decision results in the initial decision result set are to cut in or give way; a constraint module configured to determine whether the initial decision result meets a preset constraint condition according to the driving distance and driving time during the process of the target vehicle executing the initial decision result; a candidate module configured to, in response to determining that the initial decision result meets the constraint condition, determine the initial decision result as a candidate decision result to obtain a candidate decision result set; and a construction module further configured to: construct a driving semantic decision tree based on the candidate decision result set.
[0229] In some alternative implementation manners of this embodiment, the pruning module is further configured to: judge whether the candidate decision result of the target vehicle in the conflict area meets the timing constraint and / or speed limit constraint according to the distance between the obstacle and the conflict area and the speed information of the obstacle; in response to determining that the candidate decision result does not meet the timing constraint and / or speed limit constraint, prune the candidate decision result in the driving semantic decision tree.
[0230] In some alternative implementation manners of this embodiment, the planning module includes: a rough solution sub-module configured to determine a rough solution of the quadratic speed planning problem by solving an optimal boundary value problem according to the semantic decision sequence corresponding to the driving semantic decision; an optimized solution sub-module configured to optimize the rough solution according to the planning period of the target vehicle and use the obtained optimized solution as the speed planning decision.
[0231] In some alternative implementation manners of this embodiment, the rough solution sub-module is further configured to: solve the quadratic speed planning problem to obtain multiple segments of initial solutions according to the distance between the current position of the target vehicle and each conflict area, the speed and acceleration of the target vehicle at the proximal front boundary of each conflict area, and the speed and acceleration of the target vehicle at the distal rear boundary of each conflict area, where the number of segments of the initial solution is obtained according to the length of the semantic decision sequence; splice the multiple segments of initial solutions to obtain a rough solution.
[0232] In some alternative implementation manners of this embodiment, the optimized solution sub-module is further configured to: generate equality constraints in the time domain according to the planning period of the target vehicle; construct inequality constraints, where the inequality constraints include: boundary constraints of the target vehicle in the conflict area, speed limit constraints obtained according to the maximum braking deceleration, and / or following constraints for the set of obstacles to be followed; optimize the rough solution according to the equality constraints, inequality constraints, and the objective function to obtain an optimized solution.
[0233] In some alternative implementation manners of this embodiment, the vehicle speed planning device 700 further includes: a following obstacle determination module, configured to determine that the type of an obstacle is a front obstacle in response to determining that there is a conflict area and the obstacle is in front of the current position of the target vehicle; and in response to determining that the type of the obstacle is a front obstacle and there are multiple front obstacles, determine the set of obstacles to be followed from the multiple front obstacles according to the distance between the target vehicle and the front obstacles and the distances between the multiple front obstacles.
[0234] In some alternative implementation manners of this embodiment, the vehicle speed planning device 700 further includes: a deceleration determination module, configured to determine that the type of an obstacle is a rear obstacle in response to determining that there is a conflict area and the obstacle is behind the current position of the target vehicle; and in response to determining that the type of the obstacle is a rear obstacle and there are multiple rear obstacles, determine the maximum braking deceleration of the target vehicle according to the distance between the target vehicle and the rear obstacles and the speed of the target vehicle.
[0235] According to an embodiment of the present disclosure, the present disclosure further provides an electronic device, a readable storage medium, a computer program product, and an autonomous vehicle.
[0236] Figure 8 FIG. shows a schematic block diagram of an exemplary electronic device 800 that can be used to implement the embodiments of the present disclosure. The electronic device is intended to represent various forms of digital computers and other suitable computing devices. The electronic device can also represent various forms of mobile devices suitable for performing calculations. In particular, the electronic device can also be an electronic device integrated in a vehicle, such as a car computer.
[0237] The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementations of the present disclosure described and / or claimed herein.
[0238] As Figure 8As shown, the electronic device 800 includes a computing unit 801, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the electronic device 800 can also be stored. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other through a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0239] Multiple components in the electronic device 800 are connected to the I / O interface 805, including: an input unit 806, such as a keyboard, a mouse, etc.; an output unit 807, such as various types of displays, speakers, etc.; a storage unit 808, such as a magnetic disk, an optical disc, etc.; it should be understood that the input and output units listed here are only examples existing in some specific scenarios. In some other application scenarios, the input and output units may be in other forms. For example, when the device is a vehicle-mounted device, the input unit may be a touch screen, a rotary button, etc.
[0240] A communication unit 809, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 809 allows the electronic device 800 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0241] The computing unit 801 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 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 appropriate processor, controller, microcontroller, etc. The computing unit 801 executes the various methods and processes described above, such as the speed planning method for a vehicle. For example, in some embodiments, the speed planning method for a vehicle can be implemented as a computer software program, which is tangibly included in a machine-readable medium, such as the storage unit 808. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 800 via the ROM 802 and / or the communication unit 809. When the computer program is loaded into the RAM 803 and executed by the computing unit 801, one or more steps of the speed planning method for the vehicle described above can be executed. Alternatively, in other embodiments, the computing unit 801 can be configured to execute the speed planning method for the vehicle by any other appropriate means (such as by means of firmware).
[0242] The autonomous vehicle provided by the present disclosure may include, for example Figure 8The above-described electronic device can, when executed by its processor, implement the vehicle speed planning method described in any of the above embodiments.
[0243] The various embodiments of the systems and techniques described above in this document can be implemented in digital electronic circuitry, integrated circuit systems, field-programmable gate arrays (FPGA), application-specific integrated circuits (ASIC), application-specific standard products (ASSP), systems-on-a-chip (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 that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit the data and instructions to the storage system, the at least one input device, and the at least one output device.
[0244] The program code for implementing the methods of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a dedicated 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, as a stand-alone software package partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0245] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in 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 machine-readable storage media would include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0246] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and a pointing device (e.g., a mouse or a trackball) through which the user can provide input to the computer. Other kinds 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 the input received from the user can be in any form (including acoustic input, speech input, or tactile input).
[0247] The systems and techniques described herein can be implemented in a computing system including backend components (e.g., as a data server), or a computing system including middleware components (e.g., an application server), or a computing system including frontend 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 including any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected by digital data communication in any form or medium (e.g., a communication network). Examples of communication networks include: local area network (LAN), wide area network (WAN), and the Internet.
[0248] A computer system can include a client and a server. The client and the server are generally far from each other and typically interact through a communication network. The client - server relationship is created by computer programs running on the respective computers and having a client - server relationship with each other. The server can be a cloud server, a server of a distributed system, or a server incorporating blockchain.
[0249] It should be understood that various forms of the processes shown above can be used, with steps reordered, added, or deleted. For example, the steps recited 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 disclosure can be achieved, and no limitation is imposed herein.
[0250] The above - mentioned specific embodiments do not constitute a limitation on the protection scope of this disclosure. 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 disclosure shall be included within the protection scope of this disclosure.
Claims
1. A vehicle speed planning method, comprising: According to the planned trajectory of the target vehicle and the predicted trajectory of the obstacle, determining a conflict area where the planned trajectory and the predicted trajectory overlap; Building a driving semantic decision tree based on candidate decision results of the target vehicle in the conflict zone; Pruning the driving semantics decision tree according to a predetermined pruning condition, and generating a driving semantics decision for the target vehicle according to the pruned decision tree; The speed planning decision of the target vehicle relative to all the obstacles is determined according to the driving semantic decision, and the driving speed of the target vehicle is adjusted according to the speed planning decision, including: determining a rough solution of the secondary speed planning problem by solving the optimal boundary value problem according to the semantic decision sequence corresponding to the driving semantic decision; calculating the optimization solution corresponding to the rough solution according to the pre-constructed equality constraints, inequality constraints and objective function in the time domain, wherein the equality constraints are generated according to the planning period of the target vehicle, and the inequality constraints include: determining the optimal solution according to the optimal boundary value problem of the target vehicle relative to the rear obstacle according to the optimal boundary value problem of the target vehicle; calculating the optimal solution according to the pre-constructed equality constraints, inequality constraints and objective function in the time domain according to the optimal boundary value problem of the target vehicle; a speed limit constraint obtained by a large braking deceleration and / or a following constraint for a set of obstacles to be followed, wherein the set of obstacles to be followed is determined from a plurality of front obstacles, the front obstacle and the rear obstacle are obstacles in front of and behind the current position of the target vehicle, respectively, the objective function includes a cost function, and all the obstacles include the front obstacle and the rear obstacle; in response to determining that there are multiple rough solutions, selecting an optimization solution with a minimum objective function value from multiple optimization solutions corresponding to the multiple rough solutions as a final optimization solution, and using the final optimization solution as the speed planning decision.
2. The method according to claim 1, wherein: The method further comprises: In response to determining that there are conflict zones between the target vehicle and multiple obstacles and that there are intersection zones between the multiple conflict zones, determining an initial decision result set for the target vehicle in the multiple conflict zones, wherein an initial decision result in the initial decision result set is to cut in or give way; Determining whether the initial decision result satisfies a preset constraint condition according to the driving distance and driving time of the target vehicle in the process of executing the initial decision result; In response to determining that the initial decision result meets the constraint condition, determining the initial decision result as a candidate decision result, and obtaining a set of candidate decision results; and The step of constructing a driving semantic decision tree based on candidate decision results of the target vehicle in the conflict zone includes: The driving semantics decision tree is constructed based on the candidate decision result set.
3. The method according to claim 1 or 2, wherein: The step of pruning the driving semantics decision tree according to a predetermined pruning condition includes: Determining whether a candidate decision result of the target vehicle in the conflict zone satisfies a timing constraint and / or a speed limit constraint according to the distance between the obstacle and the conflict zone and the speed information of the obstacle; In response to determining that the candidate decision result does not satisfy the timing constraint and / or the speed limit constraint, the candidate decision result is pruned in the driving semantics decision tree.
4. The method according to claim 1, wherein: The determining of a rough solution to the secondary speed planning problem by solving an optimal boundary value problem according to the semantic decision sequence corresponding to the driving semantic decision includes: According to the distance between the current position of the target vehicle and each conflict zone, the speed and acceleration of the target vehicle at the proximal front boundary of each conflict zone, and the speed and acceleration of the target vehicle at the distal rear boundary of each conflict zone, the secondary speed planning problem is solved to obtain multiple segments of initial solutions, wherein the number of segments of the initial solution is obtained according to the length of the semantic decision sequence; The multiple segments of initial solutions are spliced together to obtain the rough solution.
5. The method according to claim 1, wherein: The step of calculating the optimal solution corresponding to the rough solution according to the pre-constructed equality constraints, inequality constraints and objective function in the time domain includes: Generate an equality constraint in the time domain according to the planning cycle of the target vehicle; Constructing inequality constraints, wherein the inequality constraints include: a boundary constraint of the target vehicle in the conflict zone, a speed limit constraint obtained according to a maximum braking deceleration, and / or a following constraint for a set of obstacles to be followed; An optimized solution corresponding to the rough solution is calculated according to the equality constraint, the inequality constraint and the objective function.
6. The method according to claim 5, wherein: The method further comprises: In response to determining that the conflict zone exists and the obstacle is in front of the current position of the target vehicle, determining that the type of the obstacle is a front obstacle; In response to determining that the type of the obstacle is the front obstacle and there are multiple front obstacles, the set of obstacles to be followed is determined from the multiple front obstacles according to the distance between the target vehicle and the front obstacle and the distances between the multiple front obstacles.
7. The method according to claim 5, wherein: The method further comprises: In response to determining that the conflict zone exists and the obstacle is behind the current position of the target vehicle, determining that the type of the obstacle is a rear obstacle; In response to determining that the obstacle type is the rear obstacle and there are a plurality of rear obstacles, the maximum braking deceleration of the target vehicle is determined according to the distance between the target vehicle and the rear obstacle and the speed of the target vehicle.
8. A vehicle speed planning device, comprising: A determination module is configured to determine, based on the planned trajectory of the target vehicle and the predicted trajectory of the obstacle, a conflict area where the planned trajectory and the predicted trajectory overlap; A building module is configured to build a driving semantic decision tree based on candidate decision results of the target vehicle in the conflict zone; A pruning module is configured to prune the driving semantics decision tree according to a predetermined pruning condition, and generate a driving semantics decision for the target vehicle according to the pruned decision tree; A planning module, configured to determine a speed planning decision of the target vehicle relative to all the obstacles according to the driving semantic decision, and adjust the driving speed of the target vehicle according to the speed planning decision; Wherein, the planning module is further configured to: Determining a rough solution to the quadratic speed planning problem by solving an optimal boundary value problem according to a semantic decision sequence corresponding to the driving semantic decision; The optimization solution corresponding to the rough solution is calculated according to the pre-constructed equality constraints, inequality constraints and objective functions in the time domain, wherein the equality constraints are generated according to the planning cycle of the target vehicle, the inequality constraints include: a speed limit constraint obtained according to the maximum braking deceleration of the target vehicle relative to the rear obstacle and / or a following constraint for a set of obstacles to be followed, the set of obstacles to be followed is determined from a plurality of front obstacles, the front obstacle and the rear obstacle are obstacles in front of and behind the current position of the target vehicle, respectively, the objective function includes a cost function, and all the obstacles include the front obstacle and the rear obstacle; In response to determining that there are multiple rough solutions, an optimization solution with the smallest objective function value is selected from multiple optimization solutions corresponding to the multiple rough solutions as a final optimization solution, and the final optimization solution is used as the speed planning decision.
9. An electronic device, comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 7.
10. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1 to 7.
11. A computer program product comprising a computer program, which, when executed by a processor, implements the method according to any one of claims 1 to 7.
12. An autonomous driving vehicle comprising the electronic device as claimed in claim 9.
Citation Information
Patent Citations
An automatic driving vehicle speed control system and method
CN109693668A
Real-time trajectory planning method, device and equipment
CN117141520A
Vehicle driving strategy generation method and device, electronic equipment and medium
CN118289025A
Automatic driving decision planning method, electronic equipment and readable storage medium
CN119190072A