Lane changing trajectory planning method and related device
By analyzing the intersection of the vehicle's longitudinal position range and the obstacle position range within multiple time windows in fine-grained manner, determining the connection relationship of candidate primitives, realizing more accurate lane change trajectory planning, and solving the safety of intelligent driving vehicles when changing lanes The problem of low sex improves the safety of lane change operation.
Patent Information
- Application Number
- CN202410571482.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-09
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2044-05-09
AI Technical Summary
When existing intelligent driving vehicles change lanes, due to obstacles, they may arrive at the designated location in advance or timeout, affecting driving safety.
By dividing the trajectory planning into multiple time windows, the longitudinal position range of the vehicle in each lane is analyzed, and the intersection with the obstacle position range is removed, the connection relationship between the candidate primitives is determined, and a more accurate lane change trajectory planning is carried out.
It improves the accuracy and safety of lane change decisions, reduces the risk of collision with obstacles, and makes lane change operations more reasonable and self-consistent.
Smart Images

Figure CN118289034B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of intelligent driving technology, specifically, to the field of trajectory planning technology, and more specifically, to a lane change trajectory planning method and related devices. Background Art
[0002] With the continuous advancement of artificial intelligence technology, the intelligent driving technology of vehicles has developed rapidly. Vehicles with intelligent driving functions can make driving decisions based on the surrounding environment information, such as going straight, overtaking, giving way, changing lanes, etc.
[0003] In the prior art, before changing lanes, the vehicle only roughly estimates the position where the vehicle can change lanes and the time to reach the position based on the surrounding obstacles. For example, the vehicle changes lanes 70 meters ahead in 3 seconds. However, the vehicle may reach the designated position in advance or exceed the designated position. If there are moving obstacles around the vehicle, the vehicle's lane change may be affected, resulting in a collision, which affects the safety of the vehicle's driving. Summary of the invention
[0004] Based on the above-mentioned defects and shortcomings of the prior art, the present application proposes a lane changing trajectory planning method and related devices, which can solve the problem of low safety of the lane changing method of intelligent driving vehicles in the prior art.
[0005] According to a first aspect of an embodiment of the present application, a lane change trajectory planning method is provided, the method comprising:
[0006] When the vehicle has a lane change requirement, determining a candidate lane in which the vehicle can perform a lane change operation;
[0007] Acquire multiple candidate primitives corresponding to the lane and the candidate lane in N future continuous time windows; wherein the N future continuous time windows form a trajectory duration corresponding to one trajectory planning; each candidate primitive includes a longitudinal position range of the vehicle that can be driven in the corresponding lane in a time window, and the longitudinal position range has no intersection with the longitudinal position change range of the obstacle in the same lane in the same time window; N is an integer greater than or equal to 2;
[0008] Determining connectivity relationships between candidate primitives in adjacent time windows according to the longitudinal position range included in the candidate primitives;
[0009] Lane-changing trajectory planning is performed based on candidate primitives with connectivity.
[0010] According to a second aspect of an embodiment of the present application, a lane change trajectory planning device is provided, the device comprising:
[0011] A lane determination module, used to determine a candidate lane in which the vehicle can perform a lane change operation when the vehicle has a lane change requirement;
[0012] A primitive acquisition module, used to acquire a plurality of candidate primitives corresponding to the own lane and the candidate lane in N future continuous time windows; wherein the N future continuous time windows form a trajectory duration corresponding to a trajectory planning; each candidate primitive includes a longitudinal position range of the vehicle that can be driven in the corresponding lane in a time window, and the longitudinal position range has no intersection with the longitudinal position change range of the obstacle in the same lane in the same time window; N is an integer greater than or equal to 2;
[0013] A connectivity relationship determination module, used to determine connectivity relationships between candidate primitives in adjacent time windows according to the longitudinal position range included in the candidate primitives;
[0014] The planning module is used to plan lane-changing trajectories based on candidate primitives with connectivity relationships.
[0015] According to a third aspect of an embodiment of the present application, there is provided an electronic device, including: a memory and a processor;
[0016] The memory is connected to the processor and is used to store programs;
[0017] The processor is used to implement the lane change trajectory planning method as described in the first aspect by running the program in the memory.
[0018] According to a fourth aspect of an embodiment of the present application, a storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the lane change trajectory planning method as described in the first aspect is implemented.
[0019] According to a fifth aspect of the embodiments of the present application, a computer program product or a computer program is provided, wherein the computer program product includes a computer program, and when a processor executes the computer program, the steps in the lane change trajectory planning method as described in the first aspect are implemented. Optionally, the computer program can be stored in a readable storage medium or a cloud of a computer device; the processor of the computer device reads the computer program from the readable storage medium or the cloud.
[0020] In the technical solution provided by the present application, the duration of a trajectory planning is divided into multiple time windows, and the longitudinal position range that the vehicle can travel to in the self-lane and the candidate lane in each time window is analyzed, and the influence of obstacles is considered at the same time, and the intersection of the longitudinal position change range of the obstacle in the same time window of the corresponding lane is removed from the longitudinal position range. Since the future driving conditions of the vehicle are analyzed at a finer granularity (i.e., the aforementioned time window), and the influence of obstacles is removed, more accurate lane change decisions can be made, thereby performing better lane change trajectory planning, and reducing the risk of collision with obstacles, making lane change decisions more reasonable and self-consistent, and improving the safety of lane change operations. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.
[0022] Figure 1 A flowchart of a lane change trajectory planning method provided in an embodiment of the present application;
[0023] Figure 2 A schematic diagram of the distribution of candidate primitives provided in an embodiment of the present application;
[0024] Figure 3 A block diagram of a lane change trajectory planning device provided in an embodiment of the present application;
[0025] Figure 4 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0026] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0027] Application Overview
[0028] Intelligent driving technology mainly includes core modules such as mapping, positioning, perception, prediction, decision-making, planning, and control. When making decisions based on intelligent driving technology, vehicles can make driving decisions such as going straight, overtaking, giving way, and changing lanes based on the road topology information provided by the map module, the traffic participant (such as obstacles) information provided by the perception module, and the future trajectory information of traffic participants given by the prediction module.
[0029] The existing technology for making lane-changing decisions for vehicles is mainly based on a rule-based approach. By calculating the relative position and speed relationship between the vehicle and obstacles in the own lane and the target lane (i.e., the lane to be changed), the vehicle's lane-changing position and the time to reach the lane-changing position are roughly estimated. For example, the vehicle changes lanes 70 meters ahead in 3 seconds, but the vehicle may arrive at the designated position in advance or exceed the designated position. If there are moving obstacles around the vehicle, the vehicle's lane change may be affected, resulting in a collision, which affects the safety of the vehicle's driving.
[0030] In order to solve the aforementioned problems, the embodiments of the present application provide a lane changing trajectory planning technology, which achieves more accurate lane changing trajectory decisions by performing a more fine-grained analysis of the vehicle itself and surrounding obstacles, and reduces the risk of collision with obstacles, making lane changing decisions more reasonable and self-consistent, and improving the safety of lane changing operations.
[0031] Exemplary Methods
[0032] An embodiment of the present application provides a lane change trajectory planning method, and the execution subject may be a vehicle, specifically a vehicle with a path planning function.
[0033] The method is described in detail below through some embodiments. The following embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.
[0034] like Figure 1 As shown, the method may include steps 101 to 104, as described below:
[0035] Step 101: When there is a lane change requirement, determine a candidate lane in which the vehicle can perform a lane change operation.
[0036] The lane changing requirements described herein may include, but are not limited to, lane changing requirements triggered by a user and lane changing requirements automatically triggered by a vehicle.
[0037] The lane change demand triggered by the user may include: the lane change demand formed by starting the lane change function of the lever, such as the left lane change demand or the right lane change demand triggered by the driver through the lever, or the left or right lane change demand triggered by the occupant through the voice control function.
[0038] The lane change demand automatically triggered by the vehicle may include but is not limited to: efficiency lane change demand formed to improve driving efficiency and smoothness, for example, there are other vehicles driving slowly in front, and the vehicle automatically chooses to drive to the adjacent lane to quickly reach the destination; or route lane change demand formed due to road reasons, such as the lane change demand formed to occupy the correct driving lane. Suppose, the vehicle is currently driving in the straight lane, and needs to turn left at the next intersection, then the vehicle may have the demand to change lanes to the left.
[0039] In the embodiment of the present application, when the vehicle detects that there is a need to change lanes, the vehicle can determine the lane to which it can change lanes according to the lane changing demand, that is, the candidate lane for executing the lane changing operation. For example, when the lever-operated lane changing function is activated, the lane corresponding to the lever operation can be determined as a candidate lane. If the left lane change command is triggered by the lever, the left lane of the own lane is determined as a candidate lane. When changing lanes efficiently, if both the left lane and the right lane of the own lane are passable, both the left lane and the right lane of the own lane are determined as candidate lanes. The own lane mentioned here refers to the lane where the vehicle is currently located.
[0040] Step 102: Obtain multiple candidate primitives corresponding to the ego lane and the candidate lanes in N consecutive time windows in the future.
[0041] The future N (N is an integer greater than or equal to 2) continuous time windows described here form the trajectory duration corresponding to a trajectory planning. For example, when performing a trajectory planning, a driving trajectory with a duration of 5 seconds can be planned, and the future N continuous time windows described here form a duration of 5 seconds. Among them, the size of each time window can be set according to actual needs, such as 0.5 seconds, 1 second, etc. For example, the trajectory duration corresponding to a trajectory planning is 5 seconds, and the size of each time window is 1 second. Assuming that the trajectory planning starts from the 0th moment, 5 time windows can be obtained, namely [0, 1], [1, 2], [2, 3], [3, 4] and [4, 5]. Among them, the smaller the time window, the finer the trajectory planning granularity, and the more conducive to making more accurate lane change decisions, thereby planning a safer lane change trajectory.
[0042] The multiple candidate primitives mentioned here may include: at least one candidate primitive corresponding to the own lane and at least one candidate primitive corresponding to each candidate lane. Assuming v represents the candidate primitive, i represents the lane (including the own lane and the candidate lane), and T represents the trajectory duration corresponding to a trajectory planning, the candidate primitive set corresponding to lane i can be expressed as: P i = {V t} t=0:T After reordering the candidate primitives according to the time window dimension, it can be recorded as: P = {q i} t=0:T, where q i Represents the set of candidate primitives corresponding to different lanes in the same time window.
[0043] The candidate primitives in the embodiment of the present application are the minimum granularity for lane change decisions. Each time window includes at least one candidate primitive. For example, when there is one candidate lane, each time window includes at least one candidate primitive and at most two candidate primitives; when one candidate primitive is included, it can be the candidate primitive corresponding to the self-lane or the candidate primitive corresponding to the candidate lane; when two candidate primitives are included, they can be the candidate primitive corresponding to the self-lane and the candidate primitive corresponding to the candidate lane, respectively. For another example, when there are two candidate lanes, each time window includes at least one candidate primitive and at most three candidate primitives. When one candidate primitive is included, it can be the candidate primitive corresponding to the self-lane or the candidate primitive corresponding to one of the candidate lanes; when two candidate primitives are included, they can be the candidate primitive corresponding to the self-lane and the candidate primitive corresponding to one of the candidate lanes, respectively, or they can be the candidate primitives corresponding to the two candidate lanes, respectively; when three candidate primitives are included, they can be the candidate primitives corresponding to the self-lane and the two candidate lanes, respectively.
[0044] Specifically, each candidate primitive may include a longitudinal position range that a vehicle can travel to in a corresponding lane within a time window, and the longitudinal position range has no intersection with the longitudinal position variation range of the obstacle in the same lane and the same time window, that is, the obstacle influence factor is removed.
[0045] Step 103: Determine the connectivity relationship between candidate primitives in adjacent time windows according to the longitudinal position range included in the candidate primitives.
[0046] The candidate primitives in the adjacent time windows mentioned here may include at least one of the following: candidate primitives of the own lane in the adjacent time window, and candidate primitives of the own lane and the candidate lane in the adjacent time window.
[0047] The connectivity relationship between the candidate primitives here may include: the candidate primitives are connected, and the candidate primitives are not connected.
[0048] In an embodiment of the present application, it can be determined whether the corresponding candidate primitives in adjacent time windows are connected based on the longitudinal position range included in each candidate primitive. For example, for candidate primitives V1 and V2 in adjacent time windows [0, 1] and [1, 2], it can be determined whether the two are connected based on the longitudinal position range included in the two candidate primitives. If the candidate primitives in adjacent time windows are connected, it means that the vehicle can travel from the position range included in the previous time window to the position range included in the next time window. Conversely, it means that the vehicle cannot travel from the position range included in the previous time window to the position range included in the next time window.
[0049] Optionally, when the longitudinal position ranges of two candidate primitives in adjacent time windows have an intersection, it is determined that the two candidate primitives are connected; otherwise, when the longitudinal position ranges of two candidate primitives in adjacent time windows do not have an intersection, it is determined that the two candidate primitives are not connected. For example, when the longitudinal position ranges of candidate primitives V1 and V2 in adjacent time windows [0, 1] and [1, 2] have an intersection, it is determined that candidate primitives V1 and V2 are connected; otherwise, when the longitudinal position ranges of candidate primitives V1 and V2 do not have an intersection, it is determined that candidate primitives V1 and V2 are not connected.
[0050] Step 104: Perform lane-changing trajectory planning based on the candidate primitives having connectivity.
[0051] In order to realize the lane changing of the vehicle, the lane changing trajectory planning can be performed based on the candidate primitives with connectivity relationship. For example, among the candidate primitives with connectivity relationship, N candidate primitives that can be connected within the next N continuous time windows are selected to perform the lane changing trajectory planning.
[0052] In the embodiment of the present application, the duration of a trajectory planning is divided into multiple time windows, and the longitudinal position range that the vehicle can travel to in the self-lane and the candidate lane in each time window is analyzed, and the influence of obstacles is considered, and the intersection of the longitudinal position change range of the obstacle in the same time window of the corresponding lane is removed from the longitudinal position range. Since the future driving conditions of the vehicle are analyzed at a finer granularity (i.e., the aforementioned time window), and the influence of obstacles is removed, a more accurate lane change decision can be made, which reduces the risk of collision with obstacles, makes the lane change decision more reasonable and self-consistent, and improves the safety of the lane change operation.
[0053] In an optional embodiment, step 104: performing lane change trajectory planning based on candidate primitives with connectivity relationships may include: determining a target candidate primitive among the candidate primitives with connectivity relationships, and performing lane change trajectory planning based on the target candidate primitive.
[0054] Among them, the target candidate primitives described here include N candidate primitives that can be connected in N consecutive time windows in the future, and the N connectable candidate primitives correspond to different time windows respectively, that is, a candidate primitive is selected in each time window, and the selected candidate primitives are connectable.
[0055] If the N connected candidate primitives described here meet the target condition, it means that the vehicle can perform the lane change operation. Among them, the target condition includes: the candidate primitive corresponding to the self-lane in the first time window and the candidate primitive corresponding to the target lane (i.e., one of the candidate lanes) in the last time window. If the N connected candidate primitives described here are all candidate primitives corresponding to the self-lane, it means that the vehicle cannot perform the lane change operation and needs to continue to go straight.
[0056] Optionally, when there are multiple groups of candidate primitives that meet the target condition, one group may be randomly selected as the target candidate primitive.
[0057] For example, Figure 2 As shown, candidate lanes for the vehicle to perform lane change operations include a left lane 201 and a right lane 202 , wherein 203 represents the own lane. Figure 2 The distribution of candidate primitives in different lanes in 5 time windows is shown in the figure, where the numbered rectangles represent candidate primitives, with a total of 13 candidate primitives. Based on the connectivity between the candidate primitives in the 5 time windows, it is determined that the candidate primitives that meet the target conditions include two groups, namely: the first group of candidate primitives consisting of candidate primitives 1, 3, 7, 10, and 13 and the second group of candidate primitives consisting of candidate primitives 1, 3, 6, 8, and 11. Figure 2 It can be seen that the two groups of candidate primitives that meet the target conditions correspond to the left lane 201 and the right lane 202 respectively, so a group of candidate primitives can be randomly selected as the target candidate primitives, and a candidate lane can also be randomly selected as the target lane.
[0058] Optionally, when there are multiple groups of candidate primitives that meet the target condition, the multiple groups of candidate primitives may correspond to at least one candidate lane. For example, there are 3 groups of candidate primitives that meet the target condition, 2 of which correspond to the left lane as the candidate lane, and the other group corresponds to the rear lane as the candidate lane.
[0059] Optionally, when there are multiple groups of candidate primitives that meet the target condition, the target candidate primitives may also be determined based on the connectivity costs between the candidate primitives, as described in detail below.
[0060] Step: Determining a target candidate primitive among candidate primitives having a connectivity relationship may include:
[0061] Step A1: Determine the connectivity cost between two connectable candidate primitives according to the intersection range of the longitudinal position ranges corresponding to the two connectable candidate primitives.
[0062] Among them, there is a negative correlation between the intersection range of the longitudinal position range and the connectivity cost. The larger the intersection range of the longitudinal position range, the better the connectivity and the smaller the connectivity cost; conversely, the larger the intersection range of the longitudinal position range, the worse the connectivity and the higher the connectivity cost.
[0063] Optionally, the connectivity cost between two connectable candidate primitives can be calculated using the following formula (1):
[0064]
[0065] In formula (1), c represents the connectivity cost between two connectable candidate primitives; Δs represents the distance value corresponding to the intersection range. For example, if the intersection range is [10, 30], the corresponding distance value is 30; Δt represents the time length of a time window. For example, if the time window is [1, 2], Δt = 1; a max and a min They represent the maximum longitudinal acceleration and maximum longitudinal deceleration supported by the vehicle respectively.
[0066] Based on the connectivity relationship and connectivity cost between the candidate primitives, a lane changing graph can be constructed. The lane changing graph may include at least one lane changing sequence from the own lane to the candidate lane. The lane changing sequence refers to N candidate primitives that meet the target conditions.
[0067] Step A2: According to the connectivity costs between the candidate primitives having connectivity relationships, N candidate primitives with the smallest connectivity costs are determined as target candidate primitives.
[0068] The lower the connectivity cost between the candidate primitives, the higher the connectivity between the candidate primitives, the easier it is for the vehicle to travel from the position range included in the previous time window to the position range included in the next time window, and the easier it is to shorten the lane changing path. Therefore, in an embodiment of the present application, the N candidate primitives with the smallest connectivity cost among the candidate primitives with a connectivity relationship can be determined as target candidate primitives, thereby obtaining the optimal lane changing sequence to further improve the rationality and self-consistency of the vehicle lane changing.
[0069] Optionally, an optimal lane-changing sequence search may be performed using an A* algorithm based on connectivity costs between candidate primitives.
[0070] In the A-star algorithm, for two candidate primitives that can be connected in adjacent time windows, it can be assumed that the candidate primitive in the previous time window is the parent node of the candidate primitive in the next time window, and the candidate primitive in the next time window is the child node of the candidate primitive in the previous time window. t and v t+1 , v t v t+1 The parent node, v t+1 v t In addition, it can be assumed that the target node is the candidate primitive in the last time window.
[0071] The following example takes the trajectory length T = 5 seconds and each time window t = 1 second corresponding to a trajectory planning as an example, and combines Figure 2 , describing the specific operation of searching for the optimal lane change sequence, as described in steps a to f:
[0072] Step a: Initialize the open set open_set and the closed set close_set, and add the candidate primitive 1 of the lane in the first time window t=[0,1] as the head node to the open_set.
[0073] Among them, if the number of nodes in the open set open_set is not empty, the node with the smallest cost (i.e., connectivity cost) in open_set is obtained, popped out from the open set open_set, recorded as f, and added to the closed set close_set.
[0074] Since the head node is added to the open set open_set in step a, only the head node is found when the nodes in the open set open_set are first determined. Therefore, the head node is the node with the smallest cost (the cost is 0 at this time) in the open set open_set. Then the head node is popped out of the open set open_set and recorded as f. Figure 2 The candidate primitive 1 in is denoted as f and added to close_set.
[0075] Step b: for the node currently popped out from the open set open_set, traverse its child nodes. If its child node exists in the closed set close_set, skip it; if its child node is not in the closed set close_set, add it to the open set open_set and set its parent node to f, where the parent node is the node currently popped out from the open set open_set.
[0076] Among them, if the child node of the node currently popped out from the open set open_set is not in the open set open_set, the cost calculation formula is: c = cost children +cost f , update the cost of this child node, where cost children Represents the cost between a child node and its parent node, cost f Indicates the cumulative cost of the parent node. For example, the node currently popped from the open set open_set is Figure 2 The candidate primitive 1 in has the following child nodes: Figure 2 Candidate primitive 3 and candidate primitive 4 in the open set. Since both candidate primitives are not in the open set open_set, both candidate primitives are added to the open set open_set, and the parent nodes of the two candidate primitives are set to candidate primitive 1. At the same time, the cost calculation formula is used to update the cost values of the two candidate primitives.
[0077] Among them, if the child node of the node currently popped out from the open set open_set is in open_set, it means that the child node already has other parent nodes. Assuming that the other parent node of the child node is node A, and the node currently popped out from the open set open_set is node B, the cost value with node B as the parent node (called the new cost value) can be calculated according to the above cost calculation formula, and then the new cost value is compared with the cost value with node A as the parent node (called the original cost value). If the new cost value is less than the original cost value, the parent node of the child node is reset to node B, and the new cost value is used as the cost value of the child node. If the new cost value is greater than or equal to the original cost value, the child node is ignored, that is, the child node does not participate in step c.
[0078] Step c: for the child nodes described in step b, determine the child node with the smallest cost value, pop it out from the open set open_set, and record it as f.
[0079] For example, Figure 2 If the updated cost value of candidate primitive 3 in is less than the updated cost value of candidate primitive 4, candidate primitive 3 is popped out from the open set open_set and recorded as f, while candidate primitive 4 continues to remain in the open set open_set.
[0080] Step d, repeat step b and step c until the node popped out from the open set open_set is the target node, then the process terminates, that is, the lane change sequence search is completed, and jumps to step f. The target node here is the candidate primitive in the last time window, such as Figure 2 Candidate primitives 11, 12 or 13 in .
[0081] Step e: determine whether the parent node of the target node exists. If so, it means that a complete lane change sequence has been searched. Then, recursively traverse forward from the target node, and finally construct a forward lane change sequence.
[0082] If the last time window includes candidate primitives corresponding to multiple candidate lanes, multiple candidate lane change sequences can be obtained.
[0083] Step f: For all lane change sequences obtained in step e, select the candidate lane change sequence with the lowest cost as the final lane change sequence.
[0084] It should be noted that the final lane change sequence may be a straight path, which means that lane change is not possible.
[0085] In an optional embodiment, in step 102: before obtaining a plurality of candidate primitives corresponding to the own lane and the candidate lane in N future consecutive time windows, the method may further include steps B1 to B3, as described below:
[0086] Step B1: predicting a first longitudinal position range of the vehicle in the first lane within a first time window.
[0087] The first time window is one of the N continuous time windows, and the first lane is one of the own lane and the candidate lane.
[0088] In the embodiment of the present application, the longitudinal position ranges to which the vehicle can travel in different lanes within different time windows can be predicted.
[0089] Optionally, in the embodiment of the present application, different lanes (such as the self-lane and the candidate lane) have the same longitudinal position range that can be driven to in the same time window, which can be understood as having the same vehicle in the self-lane and the candidate lane, and then calculating the longitudinal position range that the vehicle can drive to in the corresponding lane. For example, when calculating the longitudinal position range that the vehicle can drive to in different lanes in the first time window, although the vehicle is in the self-lane in the first time window, it can be assumed that the vehicle is translated to the candidate lane, and the longitudinal position range that the vehicle can drive to in the candidate lane in the first time window is calculated.
[0090] Step B2: predicting a second longitudinal position range of the obstacle in the first lane within the first time window.
[0091] Since the own lane and the candidate lanes may also include obstacles that affect the vehicle's driving, the longitudinal position range of obstacles in different lanes within different time windows can also be predicted, that is, the longitudinal trajectory of the obstacles can be predicted. The trajectory prediction of the obstacles can be performed through the vehicle's prediction module.
[0092] Step B3: When the first longitudinal position range and the second longitudinal position range have an intersection, remove the position range corresponding to the intersection from the first longitudinal position range to obtain the longitudinal position range within which the vehicle can travel in the first lane within the first time window.
[0093] In order to reduce the risk of collision with an obstacle, for each time window, the position range overlapping with the longitudinal position range of the obstacle can be removed from the longitudinal position range in which the vehicle can travel to obtain a safe longitudinal position range, which is the longitudinal position range included in each candidate element described in step 102.
[0094] Assume that the vehicle is on the self-driving lane and the predicted longitudinal position range that the vehicle can travel to within the time window [1, 2] is (5, 18). There is an obstacle vehicle in front of the vehicle and the predicted longitudinal position range of the obstacle vehicle within the time window [1, 2] is (7, 20). Then, remove the range overlapping with (7, 20) from (5, 18) to obtain the updated longitudinal position range that the vehicle can travel to within the time window [1, 2] is (s ′ max ,s ′ min )=(5,7).
[0095] Among them, the position described in the embodiment of the present application refers to the coordinate position, which is based on the vehicle body coordinate system of the vehicle.
[0096] Optionally, step B1: predicting a first longitudinal position range of the vehicle in the first lane within the first time window may include steps B11 to B13 as follows:
[0097] Step B11: predicting the maximum longitudinal position that the vehicle can travel to in the first lane within the first time window based on the current longitudinal position, current longitudinal speed, and supported maximum longitudinal acceleration of the vehicle.
[0098] The maximum longitudinal position that a vehicle can travel to in the first lane within the first time window can be calculated using formula (2):
[0099] S max =S0+v0t+0.5a max t 2 (2)
[0100] In formula (2), S max Indicates the maximum longitudinal position that the vehicle can reach in the first lane within the first time window; S0 indicates the longitudinal position of the vehicle at the starting time within the first time window. If the first time window is [0, 1], the starting time is time 0; V0 indicates the longitudinal speed of the vehicle at the starting time; a maxrepresents the maximum longitudinal acceleration supported by the vehicle; t represents the end time of the first time window. If the first time window is [0, 1], then t=1.
[0101] Step B12: According to the current longitudinal position, current longitudinal speed and supported maximum longitudinal deceleration of the vehicle, predict the minimum longitudinal position to which the vehicle can travel in the first lane within the first time window.
[0102] The minimum longitudinal position that a vehicle can travel to in the first lane within the first time window can be calculated using formula (3):
[0103] S min =S0+v0t+0.5a min t 2 (3)
[0104] In formula (3), S min represents the minimum longitudinal position that the vehicle can reach in the first lane within the first time window; S0 represents the longitudinal position of the vehicle at the starting time within the first time window; V0 is the longitudinal speed of the vehicle at the starting time; a min represents the maximum longitudinal deceleration supported by the vehicle; t represents the end time of the first time window.
[0105] Step B13: Obtain a first longitudinal position range according to the maximum longitudinal position and the minimum longitudinal position.
[0106] Specifically, from the minimum longitudinal position to the maximum longitudinal position, a first longitudinal position range [S min ,S max ].
[0107] In an optional embodiment, each candidate primitive also includes a lateral position range that the vehicle can travel to in the corresponding lane within a time window, which is similar to the longitudinal position range described in step 102. The lateral position range also has no intersection with the lateral position range of the obstacle in the same lane and the same time window.
[0108] The method for determining the lateral position range may refer to the method for determining the longitudinal position range. For example, formula (2) and formula (3) may be referred to calculate the first lateral position range that a vehicle can travel to in a corresponding lane within a time window. However, when calculating the first lateral position range, S in formula (2) is max represents the maximum lateral position that a vehicle can reach in a lane within a time window, S0 represents the lateral position of the vehicle at the starting time within a time window, V0 represents the lateral speed of the vehicle at the starting time, and a max represents the maximum lateral acceleration supported by the vehicle; S in formula (3) minIt indicates the minimum lateral position that a vehicle can reach in a lane within a time window; S0 indicates the lateral position of the vehicle at the starting time within a time window; V0 is the lateral speed of the vehicle at the starting time; a min Indicates the maximum lateral deceleration supported by the vehicle. In addition to obtaining the first lateral position range, the second lateral position range of obstacles in the same lane within the same time window must be predicted. In the case where the first lateral position range and the second lateral position range have an intersection, the position range corresponding to the intersection is removed from the first lateral position range to obtain the lateral position range within which the vehicle can travel in a lane within a time window. It should be noted that the lateral position range should not exceed the lane width, that is, if the first lateral position range exceeds the lane width, the first lateral position range must be reduced to within the lane width.
[0109] Optionally, the aforementioned step of planning a lane change trajectory according to the target candidate primitive may include:
[0110] Step C1: The longitudinal position range and the lateral position range included in each target candidate primitive are determined as driving range constraints when the vehicle changes lanes.
[0111] Step C2: Based on the driving range constraint, lane change trajectory planning is performed.
[0112] The driving range constraint indicates the shortest and longest distances that the vehicle can travel longitudinally, the shortest and longest distances that the vehicle can travel laterally, and the position used to connect two adjacent time windows.
[0113] For example, in two adjacent time windows [0, 1] and [1, 2], the longitudinal position ranges of the corresponding two candidate primitives in the target candidate primitives are [0, 10] and [8, 20] respectively. Then, in these two adjacent time windows, the closest distance that the vehicle can travel longitudinally is 0m and the farthest distance is 20m. The position used to connect the two adjacent time windows can be the longitudinal position of 9m. Therefore, at time t=0, 1, 2, a possible longitudinal position is (0, 9, 20).
[0114] In the embodiment of the present application, lane changing can be considered not only from the longitudinal direction of the lane, but also from the lateral direction of the lane, so as to further accurately plan the lane changing trajectory and reduce the risk of collision with obstacles from multiple aspects.
[0115] The above is a description of the lane change trajectory planning method provided in the embodiment of the present application.
[0116] To sum up, in the technical solution provided in this application, the lane changing strategy can be fully considered from three dimensions: longitudinal lane, lateral lane, and time, so as to achieve more accurate lane changing decisions, improve the rationality and self-consistency of lane changing decisions, and thus perform better lane changing trajectory planning and improve the safety of lane changing operations.
[0117] Exemplary Devices
[0118] Correspondingly, an embodiment of the present application also provides a lane change trajectory planning device, which can be applied to a vehicle, specifically a vehicle with a path planning function.
[0119] like Figure 3 As shown, the device may include:
[0120] The lane determination module 301 is used to determine a candidate lane in which the vehicle can perform a lane change operation when the vehicle has a lane change demand.
[0121] The primitive acquisition module 302 is used to acquire a plurality of candidate primitives corresponding to the ego lane and the candidate lanes in N consecutive time windows in the future.
[0122] Among them, the future N continuous time windows form the trajectory duration corresponding to a trajectory planning; each of the candidate primitives includes a longitudinal position range within which the vehicle can travel in the corresponding lane within a time window, and the longitudinal position range has no intersection with the longitudinal position change range of the obstacle in the same lane within the same time window; N is an integer greater than or equal to 2.
[0123] The connectivity relationship determination module 303 is used to determine the connectivity relationship between candidate primitives in adjacent time windows according to the longitudinal position range included in the candidate primitives.
[0124] The planning module 304 is used to plan a lane-changing trajectory based on the candidate primitives having a connectivity relationship.
[0125] Optionally, the connectivity relationship determination module 303 may be specifically used to:
[0126] When the longitudinal position ranges of two candidate primitives in adjacent time windows have an intersection, it is determined that the two candidate primitives are connected; when the longitudinal position ranges of two candidate primitives in adjacent time windows have no intersection, it is determined that the two candidate primitives are not connected.
[0127] The two candidate primitives refer to two candidate primitives corresponding to adjacent lanes in adjacent time windows, or two candidate primitives corresponding to the same lane in adjacent time windows.
[0128] Optionally, the planning module 304 may include:
[0129] The primitive determination submodule is used to determine a target candidate primitive among candidate primitives having a connectivity relationship.
[0130] Among them, the target candidate primitives include N candidate primitives that can be connected within the future N continuous time windows, and the N connectible candidate primitives include: the candidate primitive corresponding to the ego lane in the first time window and the candidate primitive corresponding to the target lane in the last time window, and the target lane is one of the candidate lanes.
[0131] The planning submodule is used to plan the lane change trajectory according to the target candidate primitive.
[0132] Optionally, the primitive determination submodule may be specifically used for:
[0133] The connectivity cost between the two connected candidate primitives is determined based on the intersection range of the longitudinal position ranges corresponding to the two connected candidate primitives; and based on the connectivity cost between the candidate primitives with a connectivity relationship, the N candidate primitives with the smallest connectivity cost are determined as the target candidate primitives.
[0134] Among them, there is a negative correlation between the intersection range of the longitudinal position range and the connectivity cost.
[0135] Optionally, each of the candidate primitives also includes a lateral position range to which the vehicle can travel in a corresponding lane within a time window, and the lateral position range has no intersection with a lateral position range of an obstacle in the same lane within the same time window.
[0136] The planning submodule can be specifically used for:
[0137] The longitudinal position range and the lateral position range included in each of the target candidate primitives are determined as the driving range constraint conditions when the vehicle changes lanes; and based on the driving range constraint conditions, lane change trajectory planning is performed.
[0138] Optionally, the device may further include:
[0139] The first position prediction module is used to predict a first longitudinal position range of the vehicle in the first lane within a first time window.
[0140] The first time window is one of the N continuous time windows, and the first lane is one of the self-lane and the candidate lane.
[0141] The second position prediction module is used to predict a second longitudinal position range of the obstacle in the first lane within the first time window.
[0142] A processing module is used to remove the position range corresponding to the intersection from the first longitudinal position range when the first longitudinal position range and the second longitudinal position range have an intersection, so as to obtain the longitudinal position range within which the vehicle can travel in the first lane within the first time window.
[0143] Optionally, the first location prediction module may be specifically used for:
[0144] Based on the current longitudinal position, current longitudinal speed and supported maximum longitudinal acceleration of the vehicle, it is predicted that the vehicle can travel to the maximum longitudinal position in the first lane within the first time window; and based on the current longitudinal position, current longitudinal speed and supported maximum longitudinal deceleration of the vehicle, it is predicted that the vehicle can travel to the minimum longitudinal position in the first lane within the first time window; and based on the maximum longitudinal position and the minimum longitudinal position, the first longitudinal position range is obtained.
[0145] The lane-changing trajectory planning device provided in this embodiment belongs to the same application concept as the lane-changing trajectory planning method provided in the above embodiments of this application, and can execute the lane-changing trajectory planning method provided in any of the above embodiments of this application, and has the corresponding functional modules and beneficial effects of the execution method. For technical details not fully described in this embodiment, please refer to the specific processing content of the lane-changing trajectory planning method provided in the above embodiments of this application, and will not be repeated here.
[0146] Exemplary Electronic Devices
[0147] The present application also provides an electronic device, such as Figure 4 As shown, the electronic device includes: a memory 400 and a processor 410 .
[0148] The memory 400 is connected to the processor 410 and is used to store programs.
[0149] The processor 410 is used to implement the lane change trajectory planning method in the above embodiment by running the program stored in the memory 400.
[0150] Specifically, the electronic device may further include: a communication interface 420 , an input device 430 , an output device 440 and a bus 450 .
[0151] The processor 410, the memory 400, the communication interface 420, the input device 430 and the output device 440 are connected to each other via a bus.
[0152] Bus 450 may include a pathway for transferring information between the various components of the computer system.
[0153] Processor 410 may be a general purpose processor, such as a general purpose central processing unit (CPU), a microprocessor, etc., or an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the scheme of the present invention. It may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0154] The processor 410 may include a main processor, and may also include a baseband chip, a modem, and the like.
[0155] The memory 400 stores a program for executing the technical solution of the present invention, and may also store an operating system and other key services. Specifically, the program may include a program code, and the program code includes a computer operation instruction. More specifically, the memory 400 may include a read-only memory (ROM), other types of static storage devices that can store static information and instructions, a random access memory (RAM), other types of dynamic storage devices that can store information and instructions, a disk storage, a flash, and the like.
[0156] The input device 430 may include a device for receiving data and information input by a user, such as a keyboard, a mouse, a camera, a scanner, a light pen, a voice input device, a touch screen, a pedometer, or a gravity sensor.
[0157] Output device 440 may include a device that allows information to be output to a user, such as a display screen, a printer, a speaker, etc.
[0158] The communication interface 420 may include any transceiver or the like to communicate with other devices or communication networks, such as Ethernet, a radio access network (RAN), a wireless local area network (WLAN), etc.
[0159] The processor 410 executes the program stored in the memory 400 and calls other devices, which can be used to implement the various steps of the lane change trajectory planning method provided in the above embodiments of the present application.
[0160] Exemplary computer program products and storage media
[0161] In addition to the above-mentioned methods and devices, an embodiment of the present application may also be a computer program product, which includes computer program instructions, which, when executed by a processor, enable the processor to execute the steps in the lane change trajectory planning method described in the embodiment of the present application.
[0162] The computer program product may be implemented in hardware, software or a combination thereof. In one optional embodiment, the computer program product is embodied as a computer storage medium, and in another optional embodiment, the computer program product is embodied as a software product, such as a software development kit (SDK).
[0163] The computer program product may be written in any combination of one or more programming languages to write program codes for performing the operations of the embodiments of the present application, including object-oriented programming languages, such as Java, C++, etc., and conventional procedural programming languages, such as "C" language or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as an independent software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server.
[0164] In addition, an embodiment of the present application may also be a storage medium on which a computer program is stored, and the computer program is executed by a processor to execute the steps of the lane change trajectory planning method described in the embodiment of the present application.
[0165] For the aforementioned method embodiments, for the sake of simplicity, they are all described as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the order of the actions described, because according to the present application, some 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 the present application.
[0166] It should be noted that each embodiment in this specification is described in a progressive manner, and each embodiment focuses on the differences from other embodiments, and the same or similar parts between the embodiments can be referred to each other. For the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0167] The steps in the methods of each embodiment of the present application can be adjusted in order, combined and deleted according to actual needs, and the technical features recorded in each embodiment can be replaced or combined.
[0168] The modules and sub-modules in the devices and terminals in the various embodiments of the present application can be combined, divided and deleted according to actual needs.
[0169] In the several embodiments provided in the present application, it should be understood that the disclosed terminals, devices and methods can be implemented in other ways. For example, the terminal embodiments described above are only schematic, for example, the division of modules or submodules is only a logical function division, and there may be other division methods in actual implementation, for example, multiple submodules or modules can be combined or integrated into another module, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or modules, which can be electrical, mechanical or other forms.
[0170] The modules or submodules described as separate components may or may not be physically separated, and the components of the modules or submodules may or may not be physical modules or submodules, that is, they may be located in one place, or they may be distributed on multiple network modules or submodules. Some or all of the modules or submodules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0171] In addition, each functional module or submodule in each embodiment of the present application may be integrated into one processing module, or each module or submodule may exist physically separately, or two or more modules or submodules may be integrated into one module. The above-mentioned integrated modules or submodules may be implemented in the form of hardware or in the form of software functional modules or submodules.
[0172] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0173] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly by hardware, software units executed by a processor, or a combination of the two. The software units may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
[0174] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
Claims
1. A lane-changing trajectory planning method, characterized in that: The method comprises: When the vehicle has a lane change requirement, determining a candidate lane in which the vehicle can perform a lane change operation; Acquire multiple candidate primitives corresponding to the lane and the candidate lane in N future continuous time windows; wherein the N future continuous time windows form a trajectory duration corresponding to one trajectory planning; each candidate primitive includes a longitudinal position range of the vehicle that can be driven in the corresponding lane in a time window, and the longitudinal position range has no intersection with the longitudinal position change range of the obstacle in the same lane in the same time window; N is an integer greater than or equal to 2; Determining connectivity relationships between candidate primitives in adjacent time windows according to the longitudinal position range included in the candidate primitives; Lane-changing trajectory planning is performed based on candidate primitives with connectivity.
2. The method according to claim 1, characterized in that The step of determining the connectivity relationship between the candidate primitives in adjacent time windows according to the longitudinal position range of the candidate primitives includes: In the case where the longitudinal position ranges included in two candidate primitives in adjacent time windows have an intersection, it is determined that the two candidate primitives are connected; wherein the two candidate primitives refer to two candidate primitives corresponding to adjacent lanes in adjacent time windows, or two candidate primitives corresponding to the same lane in adjacent time windows; When the longitudinal position ranges of two candidate primitives in adjacent time windows have no intersection, it is determined that the two candidate primitives are not connectable.
3. The method according to claim 1 or 2, characterized in that: The lane-changing trajectory planning is performed according to the candidate primitives having a connectivity relationship, including: Determine a target candidate primitive among the candidate primitives having a connected relationship; wherein the target candidate primitive includes N candidate primitives that can be connected in the future N consecutive time windows, and the N connectable candidate primitives include: a candidate primitive corresponding to the ego lane in the first time window and a candidate primitive corresponding to the target lane in the last time window, and the target lane is one of the candidate lanes; Lane changing trajectory planning is performed according to the target candidate primitive.
4. The method according to claim 3, characterized in that The step of determining a target candidate primitive from the candidate primitives having a connectivity relationship comprises: Determine the connectivity cost between the two candidate primitives according to the intersection range of the longitudinal position ranges corresponding to the two connectable candidate primitives; wherein the intersection range of the longitudinal position ranges and the connectivity cost are negatively correlated; According to the connectivity costs between the candidate primitives having connectivity relationships, N candidate primitives with the smallest connectivity costs are determined as the target candidate primitives.
5. The method according to claim 3, characterized in that: Each candidate primitive also includes a lateral position range to which the vehicle can travel in a corresponding lane within a time window, and the lateral position range has no intersection with a lateral position range of an obstacle in the same lane within the same time window; The performing lane change trajectory planning according to the target candidate primitive includes: Determine the longitudinal position range and the lateral position range included in each of the target candidate primitives as the driving range constraint condition when the vehicle changes lanes; Based on the driving range constraint, lane change trajectory planning is performed.
6. The method according to claim 1 or 2, characterized in that: Before obtaining a plurality of candidate primitives corresponding to the lane and the candidate lane in N future continuous time windows, the method further includes: Predicting a first longitudinal position range of the vehicle in the first lane within a first time window; wherein the first time window is one of the N consecutive time windows, and the first lane is one of the self-lane and the candidate lane; Predicting a second longitudinal position range of an obstacle in the first lane within the first time window; When the first longitudinal position range and the second longitudinal position range have an intersection, the position range corresponding to the intersection is removed from the first longitudinal position range to obtain the longitudinal position range within which the vehicle can travel in the first lane within the first time window.
7. The method according to claim 6, characterized in that The predicting of a first longitudinal position range of the vehicle in the first lane within the first time window includes: Predicting, based on the current longitudinal position, current longitudinal speed, and supported maximum longitudinal acceleration of the vehicle, the maximum longitudinal position to which the vehicle can travel in the first lane within the first time window; Predicting, based on the current longitudinal position, current longitudinal speed, and supported maximum longitudinal deceleration of the vehicle, a minimum longitudinal position to which the vehicle can travel in the first lane within the first time window; The first longitudinal position range is obtained according to the maximum longitudinal position and the minimum longitudinal position.
8. A vehicle, characterized in that: The vehicle is used to implement the lane change trajectory planning method as described in any one of claims 1 to 7.
9. An electronic device, characterized in that: include: Memory and processor; The memory is connected to the processor and is used to store programs; The processor is used to implement the lane change trajectory planning method as described in any one of claims 1 to 7 by running the program in the memory.
10. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the lane change trajectory planning method according to any one of claims 1 to 7 is implemented.
