The present invention relates to the field of automobile driving, and in particular, to an automatic driving track obtaining method and apparatus.
Automatic driving or unmanned driving is a future development trend of an existing automotive technology and an advanced driving auxiliary system. This greatly and sustainably improves road traffic safety, efficiency, and fuel economy. One of key technologies of automatic driving or unmanned driving is autonomous decision making, including four parts: route navigation, situation identification, behavior decision making, and track planning. A main objective of track planning is to provide a vehicle with a safe, comfortable, and executable track to a destination when factors such as vehicle dynamics characteristic, a surrounding dynamic obstacle, a traffic regulation, and a road restriction are considered.
Different drivers may drive a same vehicle, each driver has different driving styles, and a driving style of one driver varies with a surrounding vehicle driving environment. According to a current track planning algorithm, a same standard is used for any driver mainly based on portability, comfort, and safety of a vehicle. Consequently, a driving track planned in this manner cannot match all drivers and has relatively poor personalization.
Embodiments of the present invention provide an automatic driving track obtaining method and apparatus. A driving track obtained by using the solutions in the embodiments of the present invention can match driving styles of all drivers. This lessens a running-in period in which a driver performs automatic driving.
According to a first aspect, an embodiment of the present invention provides an automatic driving track obtaining method, including:
obtaining a driving style coefficient of a driver of a vehicle A;
obtaining a cost function of the driver of the vehicle A through calculation based on the driving style coefficient of the driver of the vehicle A, where the cost function is used to represent costs paid when the vehicle A travels from an initial node to a current node in a driving track of the vehicle A; and
obtaining the driving track of the vehicle A on a first three-dimensional spatial-temporal map through calculation according to the cost function of the driver. Compared with the prior art, the driving style coefficient of the driver of the vehicle A is considered in a process of obtaining the driving track of the vehicle A through calculation. This increases a degree at which the driver is satisfied with the driving track obtained through calculation, and lessens a running-in period in which the driver of the vehicle A performs automatic driving.
In a feasible embodiment, the obtaining a driving style coefficient of a driver of a vehicle A includes:
identifying an identity of the driver of the vehicle A when an automatic driving instruction is received; and
obtaining the driving style coefficient of the driver of the vehicle A based on the identity of the driver of the vehicle A.
In a feasible embodiment, the obtaining the driving track of the vehicle A on a first three-dimensional spatial-temporal map through calculation according to the cost function includes:
calculating location information of a node in the driving track of the vehicle A to obtain the driving track of the vehicle A, where location information of a second node that is adjacent to a first node in the driving track of the vehicle A and that is after the first node is obtained through calculation based on location information of the first node by using the following method:
obtaining location information of NA*NΘ candidate nodes through calculation based on the location information of the first node, an acceleration change set A of the vehicle A, and a yaw angle change set Θ of the vehicle A, where NA is a quantity of elements in the yaw angle change set A, NΘ is a quantity of elements in the acceleration change set Θ, and both NA and NΘ are integers greater than 1; and
evaluating location information of each candidate node in the location information of the NA*NΘ candidate nodes according to a heuristic function and the cost function to obtain the location information of the second node, where the location information of the second node is location information of a node with a smallest evaluation value in the location information of the NA*NΘ candidate nodes, and the heuristic function is used to represent costs that need to be paid when the vehicle A travels from the first node to a target point in the track of the vehicle A.
In a feasible embodiment, Δt is an interval between two temporally adjacent nodes in the driving track of the vehicle A, (Xt,Yt,Vt,θt) is the location information of the first node, Xt,Yt,Vt,θt are respectively a horizontal coordinate, a vertical coordinate, a linear velocity, and a yaw angle of the vehicle A on the first three-dimensional spatial-temporal map at a moment t, and (Xt+Δtk,Yt+Δtk,Vt+Δtk,θt+Δtk) is location information of a kth candidate node in the NA*NΘ candidate nodes obtained through calculation based on the location information of the first node, the acceleration change set A of the vehicle A, and the yaw angle change set Θ of the vehicle A, where
Xt+Δtk,Yt+Δtk,Vt+Δtk,θt+Δtk are respectively a horizontal coordinate, a vertical coordinate, a linear velocity, and a yaw angle of the kth candidate node, Xt+Δtk=Xt+Vt+Δtk*Δt*cos θt+Δt, Yt+Δtk=Yt+Vt+Δtk*Δt*sin θt+Δt, Vt+Δtk=Vt+at+Δt*Δt, θt+Δtk=θt+θ, at+Δtk=at+a, θ is any element in the yaw angle change space A, and a is any element in the acceleration change space Θ.
In a feasible embodiment, the cost function is a function constructed based on at least one of a safety item S, a comfort item C, a compliance item R, or an efficiency item T. The safety item S, the comfort item C, the compliance item R, and the efficiency item T are driving habit parameters of the driver of the vehicle A. The safety item S is used to represent a vehicle following habit of the vehicle A and a safe distance between the vehicle A and a surrounding obstacle. The comfort item C is used to represent a velocity change degree and an acceleration change degree of the vehicle A. The compliance item R is used to represent whether the vehicle A complies with traffic regulations. The efficiency item T is used to represent a destination arrival time, braking and steering priorities for obstacle avoidance, and overtaking behavior and yielding behavior generated in a process in which the vehicle A and a surrounding vehicle of the vehicle A travel.
In a feasible embodiment, the cost function is:
G=w
1
S+w
2
C+w
3
R+w
4
T, where
w1, w2, w3, and w4 are driving style coefficients of the driver of the vehicle A.
In a feasible embodiment, the safety item S is determined based on a longitudinal distance between the vehicle A and a front vehicle of the vehicle A, a difference between a longitudinal velocity of the vehicle A and a longitudinal velocity of the front vehicle of the vehicle A, and a lateral distance between the vehicle A and a left/right adjacent vehicle of the vehicle A. The comfort item C is determined based on a difference between an actual velocity of the vehicle A and a desired velocity of the vehicle A, and a difference between an actual acceleration of the vehicle A and a desired acceleration of the vehicle A. The compliance item R is determined based on a difference between a horizontal coordinate of a location of the vehicle A that is desired by the vehicle A and a horizontal coordinate of a lane centerline of a lane on which the vehicle A is located, a difference between a vertical coordinate of the location of the vehicle A that is desired by the vehicle A and a vertical coordinate of the lane centerline of the lane on which the vehicle A is located, and a difference between the desired velocity of the vehicle A and a maximum limit velocity of the lane on which the vehicle A is located. The efficiency item T is determined based on a difference between a horizontal coordinate of a current location of the vehicle A and the horizontal coordinate of the desired location of the vehicle A, and a difference between a vertical coordinate of the current location of the vehicle A and the vertical coordinate of the desired location of the vehicle A.
In a feasible embodiment, the safety item S, the comfort item C, the compliance item R, and the efficiency item T are respectively represented as follows:
Herein, c1, c2, c3, c4 and p are constants, Δd is the longitudinal distance between the vehicle A and the front vehicle of the vehicle A, Δl is the lateral distance between the vehicle A and the left/right adjacent vehicle of the vehicle A, Δv is the difference between the longitudinal velocity of the vehicle A and the longitudinal velocity of the front vehicle of the vehicle A, ΔV is the difference between the actual velocity of the vehicle A and the desired velocity of the vehicle A, ΔA is the difference between the actual acceleration of the vehicle A and the desired acceleration of the vehicle A, Xdesired and Ydesired are respectively the horizontal coordinate and the vertical coordinate of the desired location of the vehicle A, Xcenterline and Ycenterline are respectively the horizontal coordinate and the vertical coordinate of the lane centerline of the lane on which the vehicle A is located, Vlimit is the maximum limit velocity of the lane on which the vehicle A is located, Vdesired is the desired velocity of the vehicle A, and Xcurrent and Ycurrent are respectively the horizontal coordinate and the vertical coordinate of the current location of the vehicle A. Compared with the prior art, a driving habit of a driver is parameterized, so that a driving style of the driver is conveniently considered in a process of obtaining the driving track of the vehicle A through calculation.
In a feasible embodiment, before the obtaining the driving track of the vehicle A on a first three-dimensional spatial-temporal map through calculation according to the cost function of the driver, the method further includes:
converting a two-dimensional spatial map into a second three-dimensional spatial-temporal map;
obtaining a vehicle body safety envelope area of the surrounding vehicle of the vehicle A; and
deleting, from the second three-dimensional spatial-temporal map, an area corresponding to the vehicle body safety envelope area of the surrounding vehicle of the vehicle A, to obtain the first three-dimensional spatial-temporal map.
A non-drivable area of the vehicle A is obtained according to this method, so that the non-drivable area of the vehicle A is effectively avoided in a process of obtaining the driving track of the vehicle A through calculation. This increases a degree at which the driver is satisfied with the driving track obtained through calculation, and lessens a running-in period in which the driver of the vehicle A performs automatic driving.
In a feasible embodiment, the obtaining a vehicle body safety envelope area of the surrounding vehicle of the vehicle A includes:
obtaining a predicted driving track of the surrounding vehicle of the vehicle A through calculation based on a driving style of a driver, a velocity, an acceleration, and a yaw angle of the surrounding vehicle of the vehicle A; and
determining the vehicle body safety envelope area of the surrounding vehicle of the vehicle A based on the predicted driving track of the surrounding vehicle of the vehicle A and the driving style of the driver of the surrounding vehicle of the vehicle A.
In a feasible embodiment, before the obtaining a predicted driving track of the surrounding vehicle of the vehicle A through calculation based on a driving style of a driver, a velocity, an acceleration, and a yaw angle of the surrounding vehicle of the vehicle A, the method further includes:
obtaining the driving style of the driver of the surrounding vehicle of the vehicle A through calculation based on the velocity and the acceleration of the surrounding vehicle of the vehicle A.
In a feasible embodiment, the velocity of the surrounding vehicle of the vehicle A includes a lateral velocity of the surrounding vehicle of the vehicle A, the acceleration of the surrounding vehicle of the vehicle A includes a lateral acceleration of the surrounding vehicle of the vehicle A, and the driving style of the driver of the surrounding vehicle of the vehicle A includes a lateral driving style.
The obtaining the driving style of the driver of the surrounding vehicle of the vehicle A through calculation based on the velocity and the acceleration of the surrounding vehicle of the vehicle A includes:
obtaining lateral velocities and lateral accelerations of N surrounding vehicles of the vehicle A; and
performing the following operations on a lateral velocity and a lateral acceleration of an ith surrounding vehicle in the N surrounding vehicles of the vehicle A, to obtain N first lateral driving styles, where i=1, 2, . . . , and N, and N is an integer greater than 1:
separately inputting the lateral velocity and the lateral acceleration of the ith surrounding vehicle of the vehicle A into a lateral aggressive driving model, a lateral conservative driving model, and a lateral normal driving model, to calculate three first probabilities;
determining the first lateral driving style based on the three first probabilities, where the first lateral driving style is a driving style corresponding to a driving model corresponding to a largest probability in the three first probabilities; and
performing average filtering on the N first lateral driving styles to obtain the lateral driving style of the driver of the surrounding vehicle of the vehicle A.
In a feasible embodiment, the velocity of the surrounding vehicle of the vehicle A includes a longitudinal velocity of the surrounding vehicle of the vehicle A, the acceleration of the surrounding vehicle of the vehicle A includes a longitudinal acceleration of the surrounding vehicle of the vehicle A, and the driving style of the driver of the surrounding vehicle of the vehicle A includes a longitudinal driving style.
The obtaining the driving style of the driver of the surrounding vehicle of the vehicle A through calculation based on the velocity and the acceleration of the surrounding vehicle of the vehicle A includes:
obtaining longitudinal velocities and longitudinal accelerations of N surrounding vehicles of the vehicle A; and
performing the following operations on a longitudinal velocity and a longitudinal acceleration of an ith surrounding vehicle in the N surrounding vehicles of the vehicle A, to obtain N first longitudinal driving styles, where i=1, 2, . . . , and N, and N is an integer greater than 1:
separately inputting the longitudinal velocity and the longitudinal acceleration of the ith surrounding vehicle of the vehicle A into a longitudinal aggressive driving model, a longitudinal conservative driving model, and a longitudinal normal driving model, to calculate three second probabilities;
determining the first longitudinal driving style based on the three second probabilities, where the first longitudinal driving style is a driving style corresponding to a driving model corresponding to a largest probability in the three second probabilities; and
performing average filtering on the N first longitudinal driving styles to obtain the longitudinal driving style of the driver of the surrounding vehicle of the vehicle A.
Compared with the prior art, the driving style of the driver of the surrounding vehicle is considered in a process of obtaining the driving track of the vehicle A through calculation. This increases a degree at which the driver is satisfied with the driving track of the vehicle A.
In a feasible embodiment, the method further includes:
optimizing the driving track of the vehicle A based on a vehicle kinematic model to obtain an optimized driving track; and
sending the optimized driving track to a control apparatus of the vehicle A.
The driving track of the vehicle A is optimized, to avoid a case in which the driving track of the vehicle A has a non-drivable area in an actual traveling process of the vehicle A. This increases a degree at which the driver is satisfied with the driving track of the vehicle A.
In a feasible embodiment, after the sending the optimized driving track to a control apparatus of the vehicle A, the method further includes:
obtaining operation information of the driver of the vehicle A and surrounding vehicle information when it is detected that the driver of the vehicle A takes over the vehicle A;
adjusting the driving style coefficient of the driver of the vehicle A based on the operation information and the surrounding vehicle information to obtain an adjusted driving style coefficient; and
storing the adjusted driving style coefficient.
Compared with the prior art, the driving style parameter of the vehicle A is adjusted by using the operation information and the surrounding vehicle information obtained when the driver takes over the vehicle A. This increases a degree at which the driver is satisfied with the driving track obtained through calculation, and also improves driving safety.
In a feasible embodiment, the driving style coefficient of the driver of the vehicle A includes a coefficient of the safety item S, a coefficient of the comfort item C, a coefficient of the compliance item R, and a coefficient of the efficiency item T, and the driving style coefficient of the driver of the vehicle A includes the coefficient of the safety item S, the coefficient of the comfort item C, and the coefficient of the efficiency item T.
The adjusting the driving style coefficient of the driver of the vehicle A based on the operation information and the surrounding vehicle information to obtain an adjusted driving style coefficient includes:
decreasing the coefficient of the safety item S when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes accelerating without steering; or
increasing or decreasing the coefficient of the safety item S and the coefficient of the efficiency item T when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes steering with accelerating; or
increasing or decreasing the coefficient of the safety item S when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes steering with a constant-velocity; or
increasing the coefficient of the safety item S when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes decelerating without steering; or
increasing or decreasing the coefficient of the safety item S and the coefficient of the efficiency item T when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes steering with decelerating; or
increasing the coefficient of the safety item S and the coefficient of the efficiency item T when the surrounding vehicle information includes that there is no vehicle around the vehicle A, and the operation information includes accelerating without steering or decelerating without steering.
In a feasible embodiment, the method further includes:
calculating the driving style coefficient of the driver of the vehicle A according to a genetic algorithm when a manual driving instruction is received; and
storing the driving style coefficient of the driver of the vehicle A.
In a feasible embodiment, the calculating the driving style coefficient of the driver of the vehicle A according to a genetic algorithm includes:
obtaining a value range of the driving style coefficient of the driver of the vehicle A;
randomly obtaining M groups of driving style coefficients from the value range of the driving style coefficient;
calculating the M groups of driving style coefficients according to the genetic algorithm to obtain M predicted driving tracks, where the M predicted driving tracks are in a one-to-one correspondence with the M groups of driving style coefficients;
obtaining an actual driving track of the vehicle A; and
comparing each of the M predicted driving tracks with the actual driving track to obtain the driving style coefficient of the driver of the vehicle A, where the driving style coefficient of the driver of the vehicle A is a driving style coefficient corresponding to a predicted driving track that is most similar to the actual driving track in the M predicted driving tracks.
According to a second aspect, an embodiment of the present invention provides an automatic driving track obtaining apparatus, including:
a first obtaining unit, configured to obtain a driving style coefficient of a driver of a vehicle A; and
a calculation unit, configured to obtain a cost function of the driver of the vehicle A through calculation based on the driving style coefficient of the driver of the vehicle A, where the cost function is used to represent costs paid when the vehicle A travels from an initial node to a current node in a driving track of the vehicle A; and
the calculation unit is configured to obtain the driving track of the vehicle A on a first three-dimensional spatial-temporal map through calculation according to the cost function of the driver.
In a feasible embodiment, the first obtaining unit includes:
an identification subunit, configured to identify an identity of the driver of the vehicle A when an automatic driving instruction is received; and
an obtaining subunit, configured to obtain the driving style coefficient of the driver of the vehicle A based on the identity of the driver of the vehicle A.
In a feasible embodiment, the calculation unit is specifically configured to:
calculate location information of a node in the driving track of the vehicle A to obtain the driving track of the vehicle A, where location information of a second node that is adjacent to a first node in the driving track of the vehicle A and that is after the first node is obtained through calculation based on location information of the first node by using the following method:
obtaining location information of NA*NΘ candidate nodes based on the location information of the first node, an acceleration change set A of the vehicle A, and a yaw angle change set Θ of the vehicle A, where NA is a quantity of elements in the yaw angle change set A, NΘ is a quantity of elements in the acceleration change set Θ, and both NA and NΘ are integers greater than 1; and
evaluating location information of each candidate node in the location information of the NA*NΘ candidate nodes according to a heuristic function and the cost function to obtain the location information of the second node, where the location information of the second node is location information of a node with a smallest evaluation value in the location information of the NA*NΘ candidate nodes, and the heuristic function is used to represent costs that need to be paid when the vehicle A travels from the first node to a target point in the track of the vehicle A.
In a feasible embodiment, Δt is an interval between two temporally adjacent nodes in the driving track of the vehicle A, (Xt,Yt,Vt,θt) is the location information of the first node, Xt,Yt,Vt,θt are respectively a horizontal coordinate, a vertical coordinate, a linear velocity, and a yaw angle of the vehicle A on the first three-dimensional spatial-temporal map at a moment t, and (Xt+Δtk,Yt+Δtk,Vt+Δtk,θt+Δtk) is location information of a kth candidate node in the NA*NΘ candidate nodes obtained by the calculation unit through calculation based on the location information of the first node, the acceleration change set A of the vehicle A, and the yaw angle change set Θ of the vehicle A, where
Xt+Δtk,Yt+Δtk,Vt+Δtk,θt+Δtk are respectively a horizontal coordinate, a vertical coordinate, a linear velocity, and a yaw angle of the kth candidate node, Xt+Δtk=Xt+Vt+Δtk*Δt*cos θt+Δt, Yt+Δtk=Yt+Vt+Δtk*Δt*sin θt+Δt, Vt+Δtk=Vt+at+Δt*Δt, θt+Δtk=θt+θ, at+Δtk=at+a, θ is any element in the yaw angle change space A, and a is any element in the acceleration change space Θ.
In a feasible embodiment, the cost function is a function constructed based on at least one of a safety item S, a comfort item C, a compliance item R, or an efficiency item T. The safety item S, the comfort item C, the compliance item R, and the efficiency item T are driving habit parameters of the driver of the vehicle A. The safety item S is used to represent a vehicle following habit of the vehicle A and a safe distance between the vehicle A and a surrounding obstacle. The comfort item C is used to represent a velocity change degree and an acceleration change degree of the vehicle A. The compliance item R is used to represent whether the vehicle A complies with traffic regulations. The efficiency item T is used to represent a destination arrival time, braking and steering priorities for obstacle avoidance, and overtaking behavior and yielding behavior generated in a process in which the vehicle A and a surrounding vehicle of the vehicle A travel.
In a feasible embodiment, the cost function is:
G=w
1
S+w
2
C+w
3
R+w
4
T, where
w1, w2, w3, and w4 are driving style coefficients of the driver of the vehicle A.
In a feasible embodiment, the safety item S is determined based on a longitudinal distance between the vehicle A and a front vehicle of the vehicle A, a difference between a longitudinal velocity of the vehicle A and a longitudinal velocity of the front vehicle of the vehicle A, and a lateral distance between the vehicle A and a left/right adjacent vehicle of the vehicle A. The comfort item C is determined based on a difference between an actual velocity of the vehicle A and a desired velocity of the vehicle A, and a difference between an actual acceleration of the vehicle A and a desired acceleration of the vehicle A. The compliance item R is determined based on a difference between a horizontal coordinate of a location of the vehicle A that is desired by the vehicle A and a horizontal coordinate of a lane centerline of a lane on which the vehicle A is located, a difference between a vertical coordinate of the location of the vehicle A that is desired by the vehicle A and a vertical coordinate of the lane centerline of the lane on which the vehicle A is located, and a difference between the desired velocity of the vehicle A and a maximum limit velocity of the lane on which the vehicle A is located. The efficiency item T is determined based on a difference between a horizontal coordinate of a current location of the vehicle A and the horizontal coordinate of the desired location of the vehicle A, and a difference between a vertical coordinate of the current location of the vehicle A and the vertical coordinate of the desired location of the vehicle A.
In a feasible embodiment, the safety item S, the comfort item C, the compliance item R, and the efficiency item T are respectively represented as follows:
where
c1, c2, c3, c4, and p are constants, Δd is the longitudinal distance between the vehicle A and the front vehicle of the vehicle A, Δl is the lateral distance between the vehicle A and the left/right adjacent vehicle of the vehicle A, Δv is the difference between the longitudinal velocity of the vehicle A and the longitudinal velocity of the front vehicle of the vehicle A, ΔV is the difference between the actual velocity of the vehicle A and the desired velocity of the vehicle A, ΔA is the difference between the actual acceleration of the vehicle A and the desired acceleration of the vehicle A, Xdesired and Ydesired are respectively the horizontal coordinate and the vertical coordinate of the desired location of the vehicle A, Xcenterline and Ycenterline are respectively the horizontal coordinate and the vertical coordinate of the lane centerline of the lane on which the vehicle A is located, Vlimit is the maximum limit velocity of the lane on which the vehicle A is located, Vdesired is the desired velocity of the vehicle A, and Xcurrent and Ycurrent are respectively the horizontal coordinate and the vertical coordinate of the current location of the vehicle A.
In a feasible embodiment, the driving track obtaining apparatus further includes:
a conversion unit, configured to convert a two-dimensional spatial map into a second three-dimensional spatial-temporal map before the calculation unit obtains the driving track of the vehicle A on the first three-dimensional spatial-temporal map through calculation according to the cost function of the driver;
a second obtaining unit, configured to obtain a vehicle body safety envelope area of a surrounding vehicle of the vehicle A; and
a deletion unit, configured to delete, from the second three-dimensional spatial-temporal map, an area corresponding to the vehicle body safety envelope area of the surrounding vehicle of the vehicle A, to obtain the first three-dimensional spatial-temporal map.
In a feasible embodiment, the second obtaining unit includes:
a calculation subunit, configured to obtain a predicted driving track of the surrounding vehicle of the vehicle A through calculation based on a driving style of a driver, a velocity, an acceleration, and a yaw angle of the surrounding vehicle of the vehicle A; and
a determining subunit, configured to determine the vehicle body safety envelope area of the surrounding vehicle of the vehicle A based on the predicted driving track of the surrounding vehicle of the vehicle A and the driving style of the driver of the surrounding vehicle of the vehicle A.
In a feasible embodiment, the calculation subunit is further configured to:
before obtaining the predicted driving track of the surrounding vehicle of the vehicle A through calculation based on the driving style of the driver, the velocity, the acceleration, and the yaw angle of the surrounding vehicle of the vehicle A, obtain the driving style of the driver of the surrounding vehicle of the vehicle A through calculation based on the velocity and the acceleration of the surrounding vehicle of the vehicle A.
In a feasible embodiment, the velocity of the surrounding vehicle of the vehicle A includes a lateral velocity of the surrounding vehicle of the vehicle A, the acceleration of the surrounding vehicle of the vehicle A includes a lateral acceleration of the surrounding vehicle of the vehicle A, and the driving style of the driver of the surrounding vehicle of the vehicle A includes a lateral driving style.
The calculation subunit is specifically configured to:
obtain lateral velocities and lateral accelerations of N surrounding vehicles of the vehicle A; and
perform the following operations on a lateral velocity and a lateral acceleration of an ith surrounding vehicle in the N surrounding vehicles of the vehicle A, to obtain N first lateral driving styles, where i=1, 2, . . . , and N, and N is an integer greater than 1:
separately inputting the lateral velocity and the lateral acceleration of the ith surrounding vehicle of the vehicle A into a lateral aggressive driving model, a lateral conservative driving model, and a lateral normal driving model, to calculate three first probabilities;
determining the first lateral driving style based on the three first probabilities, where the first lateral driving style is a driving style corresponding to a driving model corresponding to a largest probability in the three first probabilities; and
performing average filtering on the N first lateral driving styles to obtain the lateral driving style of the driver of the surrounding vehicle of the vehicle A.
In a feasible embodiment, the velocity of the surrounding vehicle of the vehicle A includes a longitudinal velocity of the surrounding vehicle of the vehicle A, the acceleration of the surrounding vehicle of the vehicle A includes a longitudinal acceleration of the surrounding vehicle of the vehicle A, and the driving style of the driver of the surrounding vehicle of the vehicle A includes a longitudinal driving style.
The calculation subunit is specifically configured to:
obtain longitudinal velocities and longitudinal accelerations of N surrounding vehicles of the vehicle A; and
perform the following operations on a longitudinal velocity and a longitudinal acceleration of an ith surrounding vehicle in the N surrounding vehicles of the vehicle A, to obtain N first longitudinal driving styles, where i=1, 2, . . . , and N, and N is an integer greater than 1:
separately inputting the longitudinal velocity and the longitudinal acceleration of the ith surrounding vehicle of the vehicle A into a longitudinal aggressive driving model, a longitudinal conservative driving model, and a longitudinal normal driving model, to calculate three second probabilities;
determining the first longitudinal driving style based on the three second probabilities, where the first longitudinal driving style is a driving style corresponding to a driving model corresponding to a largest probability in the three second probabilities; and
performing average filtering on the N first longitudinal driving styles to obtain the longitudinal driving style of the driver of the surrounding vehicle of the vehicle A.
In a feasible embodiment, the driving track obtaining apparatus further includes:
an optimization unit, configured to optimize the driving track of the vehicle A based on a vehicle kinematic model to obtain an optimized driving track; and
a sending unit, configured to send the optimized driving track to a control apparatus of the vehicle A.
In a feasible embodiment, the driving track obtaining apparatus further includes an adjustment unit and a first storage unit.
The first obtaining unit is further configured to: after the sending unit sends the optimized driving track to the control apparatus of the vehicle A, obtain operation information of the driver of the vehicle A and surrounding vehicle information when it is detected that the driver of the vehicle A takes over the vehicle A.
The adjustment unit is configured to adjust the driving style coefficient of the driver of the vehicle A based on the operation information and the surrounding vehicle information to obtain an adjusted driving style coefficient.
The first storage unit is configured to store the adjusted driving style coefficient.
In a feasible embodiment, the driving style coefficient of the driver of the vehicle A includes a coefficient of the safety item S, a coefficient of the comfort item C, a coefficient of the compliance item R, and a coefficient of the efficiency item T, and the driving style coefficient of the driver of the vehicle A includes the coefficient of the safety item S, the coefficient of the comfort item C, and the coefficient of the efficiency item T.
The adjustment unit is specifically configured to:
decrease the coefficient of the safety item S when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes accelerating without steering; or
increase or decrease the coefficient of the safety item S and the coefficient of the efficiency item T when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes steering with accelerating; or
increase or decrease the coefficient of the safety item S when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes steering with a constant-velocity; or
increase the coefficient of the safety item S when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes decelerating without steering; or
increase or decrease the coefficient of the safety item S and the coefficient of the efficiency item T when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes steering with decelerating; or
increase the coefficient of the safety item S and the coefficient of the efficiency item T when the surrounding vehicle information includes that there is no vehicle around the vehicle A, and the operation information includes accelerating without steering or decelerating without steering.
In a feasible embodiment, the driving track obtaining apparatus further includes a second storage unit.
The calculation unit is further configured to calculate the driving style coefficient of the driver of the vehicle A according to a genetic algorithm when a manual driving instruction is received.
The second storage unit is configured to store the driving style coefficient of the driver of the vehicle A.
In a feasible embodiment, the calculation unit is further specifically configured to:
obtain a value range of the driving style coefficient of the driver of the vehicle A;
randomly obtain M groups of driving style coefficients from the value range of the driving style coefficient;
calculate the M groups of driving style coefficients according to the genetic algorithm to obtain M predicted driving tracks, where the M predicted driving tracks are in a one-to-one correspondence with the M groups of driving style coefficients;
obtain an actual driving track of the vehicle A; and
compare each of the M predicted driving tracks with the actual driving track to obtain the driving style coefficient of the driver of the vehicle A, where the driving style coefficient of the driver of the vehicle A is a driving style coefficient corresponding to a predicted driving track that is most similar to the actual driving track in the M predicted driving tracks.
According to a third aspect, an embodiment of the present invention provides an automatic driving track obtaining apparatus, including:
a memory that stores executable program code; and
a processor coupled to the memory.
The processor invokes the executable program code stored in the memory, to perform all or some of the methods according to the first aspect.
According to a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, and the computer storage medium includes a program instruction. When the program instruction is run on a computer, the computer is enabled to perform all or some of the methods according to the first aspect.
It can be learned that, in the solutions in the embodiments of the present invention, the driving track obtaining apparatus obtains the driving style coefficient of the driver of the vehicle A, and obtains the cost function of the driver of the vehicle A through calculation based on the driving style coefficient of the driver of the vehicle A. The cost function is used to represent the costs paid when the vehicle A travels from the initial node to the current node in the driving track of the vehicle A. In the embodiments of the present invention, in a process of determining the driving track of the vehicle A, both the driving style of the driver of the surrounding vehicle of the vehicle A and the predicted driving track of the surrounding vehicle of the vehicle A are considered, and the driving style of the vehicle A is also considered. Therefore, the driving track obtained by using the solutions in the embodiments of the present invention can match driving styles of all drivers. In addition, the driving track obtaining apparatus can adjust the driving style coefficient by using the operation information obtained when the driver takes over the vehicle A, to further adjust the driving track, so that the driving track can match the driving styles of all the drivers. This increases the degree at which the driver is satisfied with the driving track of the vehicle A, and finally can lessen the running-in period in which the driver performs automatic driving.
These aspects or other aspects of the present invention are clearer and more comprehensible in descriptions of the following embodiments.
To describe the technical solutions in the embodiments of the present invention more clearly, the following briefly describes the accompanying drawings required for describing the embodiments. It is clearly that, the accompanying drawings in the following description show merely some embodiments of the present invention, and a person of ordinary skill in the art may derive other drawings from these accompanying drawings without creative efforts.
To make a person skilled in the art better understand the solutions in the present invention, the following describes the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention.
S101. A driving track obtaining apparatus obtains a driving style coefficient of a driver of a vehicle A.
The obtaining a driving style coefficient of a driver of a vehicle A includes:
identifying an identity of the driver of the vehicle A when an automatic driving instruction is received; and
obtaining the driving style coefficient of the driver of the vehicle A based on the identity of the driver of the vehicle A.
Specifically, the driving style coefficient of the driver of the vehicle A is stored in a storage device of the driving track obtaining apparatus, or is stored in a server. When it is detected that the vehicle A is in an automatic driving state, the driving track obtaining apparatus obtains the identity of the driver of the vehicle A through identification, and the driving track obtaining apparatus obtains the driving style coefficient of the driver of the vehicle A from the storage device of the driving track obtaining apparatus or from the server based on the identity of the driver of the vehicle A.
S102. The driving track obtaining apparatus obtains a cost function of the driver of the vehicle A through calculation based on the driving style coefficient of the driver of the vehicle A.
The cost function is used to represent costs paid when the vehicle A travels from an initial node to a current node in a driving track of the vehicle A.
The cost function is a function constructed based on at least one of a safety item S, a comfort item C, a compliance item R, or an efficiency item T. The safety item S, the comfort item C, the compliance item R, and the efficiency item T are driving habit parameters of the driver of the vehicle A. The safety item S is used to represent a vehicle following habit of the vehicle A and a safe distance between the vehicle A and a surrounding obstacle. The comfort item C is used to represent a velocity change degree and an acceleration change degree of the vehicle A. The compliance item R is used to represent whether the vehicle A complies with traffic regulations. The efficiency item T is used to represent a destination arrival time, braking and steering priorities for obstacle avoidance, and overtaking behavior and yielding behavior generated in a process in which the vehicle A and a surrounding vehicle of the vehicle A travel.
In a feasible embodiment, the cost function is:
G=w
1
S+w
2
C+w
3
R+w
4
T, where
w1, w2, w3, and w4 are driving style coefficients of the driver of the vehicle A.
Further, the safety item S is determined based on a longitudinal distance between the vehicle A and a front vehicle of the vehicle A, a difference between a longitudinal velocity of the vehicle A and a longitudinal velocity of the front vehicle of the vehicle A, and a lateral distance between the vehicle A and a left/right adjacent vehicle of the vehicle A. The comfort item C is determined based on a difference between an actual velocity of the vehicle A and a desired velocity of the vehicle A, and a difference between an actual acceleration of the vehicle A and a desired acceleration of the vehicle A. The compliance item R is determined based on a difference between a horizontal coordinate of a location of the vehicle A that is desired by the vehicle A and a horizontal coordinate of a lane centerline of a lane on which the vehicle A is located, a difference between a vertical coordinate of the location of the vehicle A that is desired by the vehicle A and a vertical coordinate of the lane centerline of the lane on which the vehicle A is located, and a difference between the desired velocity of the vehicle A and a maximum limit velocity of the lane on which the vehicle A is located. The efficiency item T is determined based on a difference between a horizontal coordinate of a current location of the vehicle A and the horizontal coordinate of the desired location of the vehicle A, and a difference between a vertical coordinate of the current location of the vehicle A and the vertical coordinate of the desired location of the vehicle A.
In a feasible embodiment, the safety item S, the comfort item C, the compliance item R, and the efficiency item T are respectively represented as follows:
where
c1, c2, c3, c4, and p are constants, Δd is the longitudinal distance between the vehicle A and the front vehicle of the vehicle A, Δl is the lateral distance between the vehicle A and the left/right adjacent vehicle of the vehicle A, Δv is the difference between the longitudinal velocity of the vehicle A and the longitudinal velocity of the front vehicle of the vehicle A, ΔV is the difference between the actual velocity of the vehicle A and the desired velocity of the vehicle A, ΔA is the difference between the actual acceleration of the vehicle A and the desired acceleration of the vehicle A, Xdesired and Ydesired are respectively the horizontal coordinate and the vertical coordinate of the desired location of the vehicle A, Xcenterline and Ycenterline are respectively the horizontal coordinate and the vertical coordinate of the lane centerline of the lane on which the vehicle A is located, Vlimit is the maximum limit velocity of the lane on which the vehicle A is located, Vdesired is the desired velocity of the vehicle A, and Xcurrent and Ycurrent are respectively the horizontal coordinate and the vertical coordinate of the current location of the vehicle A.
Before the obtaining the driving track of the vehicle A on a first three-dimensional spatial-temporal map through calculation according to the cost function of the driver, the method further includes:
converting a two-dimensional spatial map into a second three-dimensional spatial-temporal map; and
deleting, from the second three-dimensional spatial-temporal map, an area corresponding to a vehicle body safety envelope area of the surrounding vehicle of the vehicle A, to obtain the first three-dimensional spatial-temporal map.
Specifically, the driving track obtaining apparatus extends the two-dimensional spatial map to a second three-dimensional spatial-temporal map including information about a drivable road area. The second three-dimensional spatial-temporal map includes information about a drivable area of the vehicle A. The driving track obtaining apparatus deletes the vehicle body safety envelope area of the surrounding vehicle from the second three-dimensional spatial-temporal map based on the vehicle body safety envelope area of the surrounding vehicle, to generate the first three-dimensional spatial-temporal map. The vehicle body safety envelope area of the surrounding vehicle is a non-drivable area of the vehicle A. In other words, the driving track obtaining apparatus deletes the non-drivable area of the vehicle A from the second three-dimensional spatial-temporal map, to obtain the first three-dimensional spatial-temporal map. The first three-dimensional spatial-temporal map includes the drivable area of the vehicle A.
The two-dimensional spatial map may be represented as follows:
Map={(x,y)|x∈Rx,y∈Ry}, where
(x, y) are respectively a horizontal coordinate and a vertical coordinate in the two-dimensional spatial map, and Rx and Ry are respectively a definition area of the horizontal coordinate x and a definition area of the vertical coordinate y.
The first three-dimensional spatial-temporal map may be represented as follows:
3DMap={(x,y,t)|L(x)≤y≤U(x),x∈Rx,t=0,Δt,2Δt, . . . ,TΔt}, where
(x, y, t) is spatial-temporal coordinates in a Cartesian coordinate system, and indicates corresponding coordinates of the vehicle A at a moment t; Rx is the definition area corresponding to the horizontal coordinate x; L(⋅), U(⋅) is an upper/lower boundary value function in which the vertical coordinate y changes with x, and indicates a drivable area to the vehicle A limited according to a road geometric limit; Δt is a system time step, in other words, a time interval between two adjacent nodes in the driving track of the vehicle A, and indicates that time density of track planning is consistent with a system running frequency; and a positive integer T indicates a time range for track planning, in other words, a maximum limit quantity of time steps at which the vehicle A travels during each track planning, and T may be also considered as a quantity of nodes in the driving track of the vehicle A.
Obtaining the vehicle body safety envelope area of the surrounding vehicle of the vehicle A includes:
obtaining a predicted driving track of the surrounding vehicle of the vehicle A through calculation based on a driving style of a driver, a velocity, an acceleration, and a yaw angle of the surrounding vehicle of the vehicle A; and
determining the vehicle body safety envelope area of the surrounding vehicle of the vehicle A based on the predicted driving track of the surrounding vehicle of the vehicle A and the driving style of the driver of the surrounding vehicle of the vehicle A.
Specifically, the driving track obtaining apparatus collects a linear velocity, the yaw angle, and the like of the surrounding vehicle of the vehicle A. The driving track obtaining apparatus obtains the predicted driving track of the surrounding vehicle of the vehicle A through calculation based on the linear velocity, the yaw angle, and the like of the surrounding vehicle of the vehicle A.
In a feasible embodiment, the driving track obtaining apparatus obtains the linear velocity, the acceleration, the yaw angle, and the like of the surrounding vehicle of the vehicle A based on a velocity sensor, an acceleration sensor, and a yaw angle sensor that are carried in the vehicle A.
Alternatively, the surrounding vehicle carries the velocity sensor, the acceleration sensor, and the yaw angle sensor. After collecting the linear velocity, the acceleration, the yaw angle, and the like of the surrounding vehicle, the surrounding vehicle transmits these pieces of information to the driving track obtaining apparatus of the vehicle A. The driving track obtaining apparatus obtains the predicted driving track of the surrounding vehicle through calculation based on the linear velocity, the yaw angle, and the like of the surrounding vehicle.
The predicted driving track of the surrounding vehicle of the vehicle A may be expressed as follows:
M
p
{x
i
,y
i,θi,t|F(xi,yi,θi,t)=0,t=Δt,2Δt, . . . ,TΔt}(i=1,2 . . . ,N), where
N represents a quantity of surrounding vehicles of the vehicle A, i represents an ith surrounding vehicle of the vehicle A, xi, yi, θi respectively represent a horizontal coordinate, a vertical coordinate, and a yaw angle of the ith surrounding vehicle, and F(⋅) represents the predicted driving track of the surrounding vehicle of the vehicle A at different moments.
Further, a vehicle A′ is any one of surrounding vehicles of the vehicle A. The driving track obtaining apparatus generates a vehicle body safety envelope area of the vehicle A′ based on a driving track of the vehicle A′.
The driving track obtaining apparatus adjusts the vehicle body safety envelope area of the vehicle A′ based on a driving style of the vehicle A′. When a lateral driving style or a longitudinal driving style of the vehicle A′ is aggressive, the driving track obtaining apparatus expands the vehicle body safety envelope area of the vehicle A′; or when a lateral driving style or a longitudinal driving style of the vehicle A′ is conservative, the driving track obtaining apparatus narrows the vehicle body safety envelope area of the vehicle A′.
According to the foregoing method, the driving track obtaining apparatus determines the vehicle body safety envelope area of the surrounding vehicle of the vehicle A.
Before the obtaining a predicted driving track of the surrounding vehicle of the vehicle A through calculation based on a driving style of a driver, a velocity, an acceleration, and a yaw angle of the surrounding vehicle of the vehicle A, the method further includes:
obtaining the driving style of the driver of the surrounding vehicle of the vehicle A through calculation based on the velocity and the acceleration of the surrounding vehicle of the vehicle A.
Specifically, the velocity of the surrounding vehicle of the vehicle A includes a lateral velocity of the surrounding vehicle of the vehicle A, the acceleration of the surrounding vehicle of the vehicle A includes a lateral acceleration of the surrounding vehicle of the vehicle A, and the driving style of the driver of the surrounding vehicle of the vehicle A includes a lateral driving style. The obtaining the driving style of the driver of the surrounding vehicle of the vehicle A through calculation based on the velocity and the acceleration of the surrounding vehicle of the vehicle A includes:
obtaining lateral velocities and lateral accelerations of N surrounding vehicles of the vehicle A; and
performing the following operations on a lateral velocity and a lateral acceleration of an ith surrounding vehicle in the N surrounding vehicles of the vehicle A, to obtain N first lateral driving styles, where i=1, 2, . . . , and N, and N is an integer greater than 1:
separately inputting the lateral velocity and the lateral acceleration of the ith surrounding vehicle of the vehicle A into a lateral aggressive driving model, a lateral conservative driving model, and a lateral normal driving model, to calculate three first probabilities;
determining the first lateral driving style based on the three first probabilities, where the first lateral driving style is a driving style corresponding to a driving model corresponding to a largest probability in the three first probabilities; and
performing average filtering on the N first lateral driving styles to obtain the lateral driving style of the driver of the surrounding vehicle of the vehicle A.
Specifically, the velocity of the surrounding vehicle of the vehicle A includes a longitudinal velocity of the surrounding vehicle of the vehicle A, the acceleration of the surrounding vehicle of the vehicle A includes a longitudinal acceleration of the surrounding vehicle of the vehicle A, and the driving style of the driver of the surrounding vehicle of the vehicle A includes a longitudinal driving style. The obtaining the driving style of the driver of the surrounding vehicle of the vehicle A through calculation based on the velocity and the acceleration of the surrounding vehicle of the vehicle A includes:
obtaining longitudinal velocities and longitudinal accelerations of N surrounding vehicles of the vehicle A; and
performing the following operations on a longitudinal velocity and a longitudinal acceleration of an ith surrounding vehicle in the N surrounding vehicles of the vehicle A, to obtain N first longitudinal driving styles, where i=1, 2, . . . , and N, and N is an integer greater than 1:
separately inputting the longitudinal velocity and the longitudinal acceleration of the ith surrounding vehicle of the vehicle A into a longitudinal aggressive driving model, a longitudinal conservative driving model, and a longitudinal normal driving model, to calculate three second probabilities;
determining the first longitudinal driving style based on the three second probabilities, where the first longitudinal driving style is a driving style corresponding to a driving model corresponding to a largest probability in the three second probabilities; and
performing average filtering on the N first longitudinal driving styles to obtain the longitudinal driving style of the driver of the surrounding vehicle of the vehicle A.
Specifically, the foregoing driving styles include the lateral driving style and the longitudinal driving style. The lateral driving style includes an aggressive driving style, a conservative driving style, and a normal driving style. Likewise, the longitudinal driving style includes an aggressive driving style, a conservative driving style, and a normal driving style.
The driving track obtaining apparatus obtains related data of the surrounding vehicle of the vehicle A, including the lateral velocity, the lateral acceleration, the longitudinal velocity, and the longitudinal acceleration. The driving track obtaining apparatus obtains, through offline training based on the related data of the surrounding vehicle, a lateral aggressive driving model M1, a lateral normal driving model M2, a lateral conservative driving model M3, a longitudinal aggressive driving model M4, a longitudinal normal driving model M5, and a longitudinal conservative driving model M6.
The driving track obtaining apparatus obtains the lateral velocities, the lateral accelerations, the longitudinal velocities, and the longitudinal accelerations of the N surrounding vehicles of the vehicle A. The driving track obtaining apparatus separately inputs a lateral velocity and a lateral acceleration of each of the N surrounding vehicles into the foregoing driving models M1, M2, and M3, to obtain the three first probabilities. The driving track obtaining apparatus determines the first lateral driving style based on the model corresponding to the largest probability in the three first probabilities, to finally obtain the N first lateral driving styles. The driving track obtaining apparatus performs average filtering on the N first lateral driving styles to obtain the lateral driving style of the driver of the surrounding vehicle of the vehicle A.
Likewise, the driving track obtaining apparatus separately inputs a longitudinal velocity and a longitudinal acceleration of each of the N surrounding vehicles into the foregoing driving models M4, M5, and M6, to obtain the three second probabilities. The driving track obtaining apparatus determines the first longitudinal driving style based on the model corresponding to the largest probability in the three second probabilities, to finally obtain the N first longitudinal driving styles. The driving track obtaining apparatus performs average filtering on the N first longitudinal driving styles to obtain the longitudinal driving style of the driver of the surrounding vehicle of the vehicle A.
S103. The driving track obtaining apparatus obtains the driving track of the vehicle A on the first three-dimensional spatial-temporal map through calculation according to the cost function.
The obtaining the driving track of the vehicle A on the first three-dimensional spatial-temporal map according to the cost function includes:
calculating location information of a node in the driving track of the vehicle A to obtain the driving track of the vehicle A, where location information of a second node that is adjacent to a first node in the driving track of the vehicle A and that is after the first node is obtained through calculation based on location information of the first node by using the following method:
obtaining location information of NA*NΘ candidate nodes through calculation based on the location information of the first node, an acceleration change set A of the vehicle A, and a yaw angle change set Θ of the vehicle A, where NA is a quantity of elements in the yaw angle change set A, and NΘ is a quantity of elements in the acceleration change set Θ; and
evaluating location information of each candidate node in the location information of the NA*NΘ candidate nodes according to a heuristic function and the cost function to obtain the location information of the second node, where the location information of the second node is location information of a node with a smallest evaluation value in the location information of the NA*NΘ candidate nodes, and the heuristic function is used to represent costs that need to be paid when the vehicle A travels from the first node to a target point in the track of the vehicle A.
Herein, Δt is an interval between two temporally adjacent nodes in the driving track of the vehicle A (Xt,Yt,Vt,θt) is the location information of the first node, Xt,Yt,Vt,θt are respectively a horizontal coordinate, a vertical coordinate, a linear velocity, and a yaw angle of the vehicle A on the first three-dimensional spatial-temporal map at a moment t, and (Xt+Δtk,Yt+Δtk,Vt+Δtk,θt+Δtk) is location information of a kth candidate node in the NA*NΘ candidate nodes obtained through calculation based on the location information of the first node, the acceleration change set A of the vehicle A, and the yaw angle change set Θ of the vehicle A.
Herein, Xt+Δtk,Yt+Δtk,Vt+Δtk,θt+Δtk are respectively a horizontal coordinate, a vertical coordinate, a linear velocity, and a yaw angle of the kth candidate node, Xt+Δtk=Xt+Vt+Δtk*Δt*cos θt+Δt, Yt+Δtk=Yt+Vt+Δtk*Δt*sin θt+Δt, Vt+Δtk=Vt+at+Δt*Δt, θt+Δtk=θt+θ, at+Δtk=at+a, θ is any element in the yaw angle change space A, and a is any element in the acceleration change space Θ.
In a specific application scenario, the acceleration change set and the yaw angle change set may be represented as follows:
A={a
dec,0.5adec,0,0.5aacc,aacc}, and
Θ={θ′,±0.5θ′,0}, where
adec, aacc, Θ′ are all constants, a quantity of elements in the set A (in other words, the acceleration change set) is 5, and a quantity of elements in the set Θ (in other words, the yaw angle change set) is 5.
The driving track obtaining apparatus obtains the location information of the NA*NΘ candidate nodes of the vehicle at a moment t+Δt based on the location information (Xt,Yt,Vt,θt) of the first node in the vehicle A at the moment t, the acceleration change set, and the yaw angle change set. For example, when the yaw angle change set and the acceleration change set each include five elements, there are 25 candidate nodes. The location information of the kth candidate node in the NA*NΘ candidate nodes may be represented as follows:
Nodet+Δtk=(Xt+Δtk,Yt+Δtk,Vt+Δtk,θt+Δtk),
θt+Δtk=θt+θ,
a
t+Δt
k
=a
t
+a,
V
t+Δt
k
=V
t
+a
t+Δt
*Δt,
X
t+Δt
k
=X
t
+V
t+Δt
k
*Δt*cos θt+Δt, and
Y
t+Δt
k
=Y
t
+V
t+Δt
k
*Δt*sin θt+Δt, where
a∈A,θ∈Θ, and k∈{1,2, . . . ,NA*NΘ}.
According to the foregoing method, after the driving track obtaining apparatus obtains the location information of the NA*NΘ candidate nodes, the driving track obtaining apparatus evaluates location information of each of the NA*NΘ candidate nodes according to the cost function and the heuristic function, to obtain NA*NΘ evaluation values. The driving track obtaining apparatus uses a candidate node corresponding to a smallest evaluation value in the NA*NΘ evaluation values as a node Nodet+Δt (in other words, the second node) of the vehicle A at the moment t+Δt.
Specifically, the driving track obtaining apparatus evaluates the location information of the kth candidate node Nodet+1k in the NA*NΘ candidate nodes according to the cost function and the heuristic function. The functions are specifically as follows:
F
k
=G
k
+H
k
H
k=(Xt+Δtk−Xtarget)2+(Yt+Δtk−Ytarget)2, and
G=w
1
S
k
+w
2
C
k
+w
3
R
k
+w
4
T
k, where
Fk is evaluation function, Hk is the heuristic function; Xtarget and Ytarget are a horizontal coordinate and a vertical coordinate of the target node of the driving track of the vehicle A, and Gk is the cost function.
The driving track obtaining apparatus determines whether the second node Nodet+Δt is the terminate node in the driving track of the vehicle A. When the second node Nodet+Δt is not the terminate node in the driving track of the vehicle A, the driving track obtaining apparatus obtains a node, in other words, Nodet+2Δt, of the vehicle A at the moment t+2Δt according to the foregoing method. When the second node Nodet+Δt is the terminate node in the driving track of the vehicle A, the driving track obtaining apparatus stops the foregoing operation. Therefore, the driving track obtaining apparatus obtains the driving track of the vehicle A.
In a feasible embodiment, the method further includes:
optimizing the driving track of the vehicle A based on a vehicle kinematic model to obtain an optimized driving track; and
sending the optimized driving track to a control apparatus of the vehicle A.
Specifically, the driving track obtaining apparatus establishes a kinematic model of the vehicle A by using a front wheel of the vehicle A as an object.
Herein, X=(xf,yf,θ,δ,vf) is used as a system status, and U=(δ,vf)T is used as a system input, where
vf is a linear velocity of the front wheel of the vehicle A, θ is the yaw angle of the vehicle A, δ is a steering angle of the front wheel of the vehicle A, and δ is an angular velocity of a front wheel steering angle of the vehicle A.
The driving track obtaining apparatus performs, based on the kinematic model of the vehicle A, model predictive control to resolve an optimization problem:
J(x)=w1*∥X−Xr∥Q2+w2∥U∥R2,
X
0
=X
start
,X
N
=X
target,
X=F(X,U),
U
min
≤U≤U
max, and
ϕn(X)≥0,∀n=1,2, . . . ,N−1, where
w1 and w2 are coefficients; Xr is a preset reference track; Q and R are linear quadratic parameters; Xstart and Xtarget are respectively state constraints of a start point and an target point of the foregoing driving track; Umin and Umax are respectively an upper bound and a lower bound of a system input; and ϕn(⋅) is a state constraint corresponding to each point in the foregoing driving track.
The driving track obtaining apparatus uses a convex feasible region construction method to resolve a problem that a conventional solution optimization problem is time-consuming and inaccurate, so as to improve solvability and effectiveness. A key to resolve the problem is an iteration. When a kth iteration is performed, a corresponding convex feasible region F(X(k))⊂Γ is calculated for a specific reference track X(k)r. The driving track obtaining apparatus resolves the following convex optimization problem by using a model predictive control method, to obtain a new reference track.
The iteration ends when the new reference track converges or a gradient of the target function is small enough. In this case, the optimized driving track in consideration of the vehicle dynamics may be obtained.
The driving track obtaining apparatus sends the optimized driving track to the control apparatus of the vehicle A. The control apparatus converts the optimized driving track into a driving instruction that can be executed by the control apparatus, and the control apparatus drives the vehicle A based on the driving instruction.
In a feasible embodiment, after the optimized driving track is sent to the control apparatus of the vehicle A, the method further includes:
obtaining operation information of the driver of the vehicle A and surrounding vehicle information when it is detected that the driver of the vehicle A takes over the vehicle A;
adjusting the driving style coefficient of the driver of the vehicle A based on the operation information and the surrounding vehicle information to obtain an adjusted driving style coefficient; and
storing the adjusted driving style coefficient.
Specifically, the driving style coefficient of the driver of the vehicle A includes a coefficient of the safety item S, a coefficient of the comfort item C, a coefficient of the compliance item R, and a coefficient of the efficiency item T, and the driving style coefficient of the driver of the vehicle A includes the coefficient of the safety item S, the coefficient of the comfort item C, and the coefficient of the efficiency item T. The adjusting the driving style coefficient of the driver of the vehicle A based on the operation information and the surrounding vehicle information to obtain an adjusted driving style coefficient includes:
decreasing the coefficient of the safety item S when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes accelerating without steering; or
increasing or decreasing the coefficient of the safety item S and the coefficient of the efficiency item T when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes steering with accelerating; or
increasing or decreasing the coefficient of the safety item S when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes steering with a constant-velocity; or
increasing the coefficient of the safety item S when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes decelerating without steering; or
increasing or decreasing the coefficient of the safety item S and the coefficient of the efficiency item T when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes steering with decelerating; or
increasing the coefficient of the safety item S and the coefficient of the efficiency item T when the surrounding vehicle information includes that there is no vehicle around the vehicle A, and the operation information includes accelerating without steering or decelerating without steering.
Specifically, the operation information of the driver of the vehicle A includes: accelerating without steering, steering with accelerating, constant-velocity driving without steering, steering with a constant-velocity, decelerating without steering, steering with decelerating, and the like. The surrounding vehicle information includes that there is a vehicle around the vehicle A and there is no vehicle around the vehicle A.
For a specific manner in which the driving track obtaining apparatus adjusts the driving style coefficient based on the operation information of the driver of the vehicle A and the surrounding vehicle information, refer to Table 1.
As shown in Table 1, the driving track obtaining apparatus decreases the coefficient w1 of the safety item S when there is a vehicle around the vehicle A and when it is determined that the vehicle A accelerates without steering. Specifically, for example, the coefficient w1 of the safety item S, the coefficient w2 of the comfort item C, the coefficient w3 of the compliance item R, and the coefficient w4 of the efficiency item T each correspond to a value range (0, 1). The driving track obtaining apparatus may decrease the value range of the coefficient w1 of the safety item S to (0, 0.5) or (0, 0.6), and does not change the value range corresponding to each of the coefficient w2 of the comfort item C, the coefficient w3 of the compliance item R, and the coefficient w4 of the efficiency item T.
The driving track obtaining apparatus obtains M groups of w1, w2, w3, and w4 from value ranges corresponding to w1, w2, w3, and w4. In other words, the driving track obtaining apparatus separately obtains M values from the value ranges corresponding to w1, w2, w3, and w4, where M is an integer greater than 1. The driving track obtaining apparatus processes the M groups of w1, w2, w3, and w4 according to a genetic algorithm to obtain M predicted driving tracks.
Specifically, the driving track obtaining apparatus randomly generates a parent group of the genetic algorithm based on the foregoing M groups of w1, w2, w3, and w4, and sets a related parameter of the genetic algorithm. The driving track obtaining apparatus separately performs a cross operation and a variation operation on the foregoing M groups of w1, w2, w3, and w4 based on the parent group of the genetic algorithm and the specified related parameter of the genetic algorithm, to obtain the M predicted driving tracks. The M predicted driving tracks are in a one-to-one correspondence with the foregoing M groups of w1, w2, w3, and w4. The driving track obtaining apparatus collects an actual driving track of the vehicle A, and obtains a similarity between each of the M driving tracks and the actual driving track. The driving track obtaining apparatus obtains a group of w1, w2, w3, and w4 corresponding to a driving track that is most similar to the actual driving track, and uses the group of w1, w2, w3, and w4 as a second driving style coefficient. The driving track obtaining apparatus stores the second driving style coefficient in the driving track obtaining apparatus or in the server, to replace a first driving style coefficient. The first driver style coefficient is a driving style coefficient that is of the driver of the vehicle A and that is stored in the storage device of the driving track obtaining apparatus or in the server.
That the driving track obtaining apparatus increases or decreases the coefficient of the safety item S and the coefficient of the efficiency item T when there is a vehicle around the vehicle A and when it is determined that the vehicle A steers with acceleration or steers with deceleration includes: The driving track obtaining apparatus increases or decreases the value range of the coefficient w1 of the safety item S and the value range of the coefficient w4 of the efficiency item T, and does not change the value range of the coefficient w2 of the comfort item C and the value range of the coefficient w3 of the compliance item R. For example, the coefficient w1 of the safety item, the coefficient w2 of the comfort item C, the coefficient w3 of the compliance item R, and the coefficient w4 of the efficiency item T each correspond to a value range (0, 1). The driving track obtaining apparatus respectively increases the value range of the coefficient w1 of the safety item S and the value range of the coefficient w4 of the efficiency item T to (1, 1.5) and (1, 2); or the driving track obtaining apparatus respectively decreases the value range of the coefficient w1 of the safety item S and the value range of the coefficient w4 of the efficiency item T to (0, 0.2) and (0, 0.1). Then, the driving track obtaining apparatus obtains the second driving style parameter according to the foregoing method, and stores the second driving style coefficient in the storage device of the driving track obtaining apparatus or in the server, to replace the first driving style coefficient.
Specifically, when the driver of the vehicle A takes over the vehicle A this time, and when there is a vehicle around the vehicle A and the vehicle A steers with acceleration or steers with deceleration, the driving track obtaining apparatus performs a first operation on the value range of the coefficient w1 of the safety item S and the value range of the coefficient w4 of the efficiency item T, and does not change the value range of the coefficient w2 of the comfort item C and the value range of the coefficient w3 of the compliance item R. The first operation includes increasing or decreasing the value range of the coefficient w1 of the safety item S and the value range of the coefficient w4 of the efficiency item T. The driving track obtaining apparatus obtains the second driving style coefficient according to the foregoing method, and stores the second driving style coefficient in the storage device of the driving track obtaining apparatus or in the server, to replace the first driving style coefficient. When the driver of the vehicle A takes over the vehicle A next time, and when there is a vehicle around the vehicle A and the vehicle A steers with acceleration or steers with deceleration, the driving track obtaining apparatus performs a second operation on the value range of the coefficient w1 of the safety item S and the value range of the coefficient w4 of the efficiency item T, and does not change the value range of the coefficient w2 of the comfort item C and the value range of the coefficient w3 of the compliance item R. The second operation includes increasing or decreasing the value range of the coefficient w1 of the safety item S and the value range of the coefficient w4 of the efficiency item T. The first operation is inconsistent with the second operation. The driving track obtaining apparatus obtains the second driving style coefficient according to the foregoing method, and stores the second driving style coefficient in the storage device of the driving track obtaining apparatus or in the server, to replace the first driving style coefficient.
The driving track obtaining apparatus increases or decreases the coefficient w1 of the safety item S when there is a vehicle around the vehicle A and when it is determined that the vehicle A steers with a constant-velocity. Specifically, the driving track obtaining apparatus increases or decreases the value range of the coefficient w1 of the safety item S, and does not change the value ranges corresponding to the coefficient w2 of the comfort item C, the coefficient w3 of the compliance item R, and the coefficient w4 of the efficiency item T. Then, the driving track obtaining apparatus obtains the second driving style parameter according to the foregoing method, and stores the second driving style coefficient in the storage device of the driving track obtaining apparatus or in the server, to replace the first driving style coefficient.
Specifically, when the driver of the vehicle A takes over the vehicle A this time, and when there is a vehicle around the vehicle A and the vehicle A steers with a constant-velocity, the driving track obtaining apparatus performs a first operation on the value range of the coefficient w1 of the safety item S, and does not change the value range of the coefficient w2 of the comfort item C, the value range of the coefficient w3 of the compliance item R, and the value range of the coefficient w4 of the efficiency item T. The first operation includes increasing or decreasing the value range of the coefficient w1 of the safety item S. The driving track obtaining apparatus obtains the second driving style coefficient according to the foregoing method, and stores the second driving style coefficient in the storage device of the driving track obtaining apparatus or in the server, to replace the first driving style coefficient. When the driver of the vehicle A takes over the vehicle A next time, and when there is a vehicle around the vehicle A and the vehicle A steers with a constant-velocity, the driving track obtaining apparatus performs a second operation on the value range of the coefficient w1 of the safety item S, and does not change the value range of the coefficient w2 of the comfort item C, the value range of the coefficient w3 of the compliance item R, and the value range of the coefficient w4 of the efficiency item T. The second operation includes increasing or decreasing the value range of the coefficient w1 of the safety item S. The first operation is inconsistent with the second operation. The driving track obtaining apparatus obtains the second driving style coefficient according to the foregoing method, and stores the second driving style coefficient in the storage device of the driving track obtaining apparatus or in the server, to replace the first driving style coefficient.
The driving track obtaining apparatus increases the coefficient of the safety item S when there is a vehicle around the vehicle A and when it is determined that the vehicle A decelerates without steering. Specifically, the driving track obtaining apparatus increases the value range of the coefficient w1 of the safety item S, and does not change the value ranges corresponding to the coefficient w2 of the comfort item C, the coefficient w3 of the compliance item R, and the coefficient w4 of the efficiency item T. Then, the driving track obtaining apparatus obtains the second driving style parameter according to the foregoing method, and stores the second driving style coefficient in the storage device of the driving track obtaining apparatus or in the server, to replace the first driving style coefficient.
The driving track obtaining apparatus does not adjust the driving style parameter of the driver when there is a vehicle around the vehicle A and when it is determined that the vehicle A drives at a constant velocity without steering.
The driving track obtaining apparatus increases the coefficient of the comfort item C and the coefficient of the efficiency item T when there is no vehicle around the vehicle A and when it is determined that the vehicle A accelerates without steering or decelerates without steering. Specifically, the driving track obtaining apparatus increases the value ranges corresponding to the coefficient w2 of the comfort item C and the coefficient w4 of the efficiency item T, and does not change the value ranges corresponding to the coefficient w1 of the safety item S and the coefficient w3 of the compliance item R. Then, the driving track obtaining apparatus obtains the second driving style coefficient according to the foregoing method, and stores the second driving style coefficient in the storage device of the driving track obtaining apparatus or in the server, to replace the first driving style coefficient. The driving track obtaining apparatus does not adjust the driving style parameter of the driver of the vehicle A when it is determined that the vehicle A steers with acceleration, drives at a constant velocity without steering, steers with a constant-velocity, or steers with deceleration.
In a feasible embodiment, the method further includes:
calculating the driving style coefficient of the driver of the vehicle A according to a genetic algorithm when a manual driving instruction is received; and
storing the driving style coefficient of the driver of the vehicle A.
Specifically, the calculating the driving style coefficient of the driver of the vehicle A according to a genetic algorithm includes:
obtaining a value range of the driving style coefficient of the driver of the vehicle A;
randomly obtaining M groups of driving style coefficients from the value range of the driving style coefficient;
calculating the M groups of driving style coefficients according to the genetic algorithm to obtain M predicted driving tracks, where the M predicted driving tracks are in a one-to-one correspondence with the M groups of driving style coefficients;
obtaining an actual driving track of the vehicle A; and
comparing each of the M predicted driving tracks with the actual driving track to obtain the driving style coefficient of the driver of the vehicle A, where the driving style coefficient of the driver of the vehicle A is a driving style coefficient corresponding to a predicted driving track that is most similar to the actual driving track in the M predicted driving tracks.
It should be noted that, for a manner in which the driving track obtaining apparatus obtains the driving style coefficient of the driver of the vehicle A, refer to related description of the foregoing method. Details are not described herein again.
It can be learned that, in the solution in this embodiment of the present invention, when receiving the automatic driving instruction, the driving track obtaining apparatus identifies the identity of the driver of the vehicle A; obtains the driving style coefficient of the vehicle A based on the identity of the driver of the vehicle A; obtains the cost function of the driver of the vehicle A through calculation based on the driving style coefficient of the driver of the vehicle A; and obtains the driving track of the vehicle A on the first three-dimensional spatial-temporal map according to the cost function of the driver. In a process of determining the driving track of the vehicle A, both the driving style of the driver of the surrounding vehicle of the vehicle A and the predicted driving track of the surrounding vehicle of the vehicle A are considered, and the driving style of the driver of the vehicle A is also considered. Therefore, the driving track obtained by using the solutions in the embodiments of the present invention can match driving styles of all drivers. In addition, the driving track obtaining apparatus can adjust the driving style coefficient of the driver by using the operation information and the surrounding vehicle information obtained when the driver takes over the vehicle A, to adjust the driving track and finally lessen a running-in period in which the driver performs automatic driving.
S201. A driving track obtaining apparatus obtains a driving style of a driver of a surrounding vehicle of a vehicle A through calculation.
It should be noted that the surrounding vehicle of the vehicle A is a vehicle within a detection distance of a sensor of the vehicle A. A velocity sensor, an acceleration sensor, and a yaw angle sensor of the driving track obtaining apparatus collect a velocity, an acceleration, and a yaw angle of the surrounding vehicle of the vehicle A in real time. Alternatively, a velocity sensor, an acceleration sensor, and a yaw angle sensor of the surrounding vehicle of the vehicle A collect a velocity, an acceleration, and a yaw angle of the surrounding vehicle of the vehicle A in real time. Then the velocity, the acceleration, and the yaw angle of the surrounding vehicle of the vehicle A is transmitted to the vehicle A by using a communications network that includes the vehicle A and the surrounding vehicle of the vehicle A.
The foregoing driving styles include a lateral driving style and a longitudinal driving style. The lateral driving style includes an aggressive driving style, a conservative driving style, and a normal driving style. Similarly, the foregoing longitudinal driving style includes an aggressive driving style, a conservative driving style, and a normal driving style.
The driving track obtaining apparatus calculates the driving style of the driver of the surrounding vehicle of the vehicle A based on the velocity and the acceleration of surrounding vehicle of the vehicle A.
Specifically, the driving track obtaining apparatus obtains the velocity and the acceleration of the surrounding vehicle of the vehicle A according to the foregoing method. The driving track obtaining apparatus obtains, through offline training based on the velocity and the acceleration of the surrounding vehicle, a lateral aggressive driving model M1, a lateral normal driving model M2, a lateral conservative driving model M3, a longitudinal aggressive driving model M4, a longitudinal normal driving model M5, and a longitudinal conservative driving model M6.
The driving track obtaining apparatus obtains N groups of velocities and accelerations of the surrounding vehicle of the vehicle A according to the foregoing method. The velocity includes a lateral velocity and a longitudinal velocity, and the acceleration includes a lateral acceleration and a longitudinal acceleration. The driving track obtaining apparatus inputs any one of the N groups of lateral velocities and lateral accelerations of the surrounding vehicle of the vehicle A into the lateral aggressive driving model M1, the lateral normal driving model M2, and the lateral conservative driving model M3, to obtain three first probabilities. The driving track obtaining apparatus obtains a first lateral driving style based on the three first probabilities. The first lateral driving style is a driving style corresponding to a driving model corresponding to a largest probability in the three first probabilities. According to the method, the driving track obtaining apparatus obtains N first lateral driving styles, and performs average filtering on the N first lateral driving styles, to obtain a lateral driving style of the surrounding vehicle of the vehicle A. Similarly, the driving track obtaining apparatus inputs any one of the N groups of longitudinal velocities and longitudinal accelerations of the vehicle A into the longitudinal aggressive driving model M4, the longitudinal normal driving model M5, and the longitudinal conservative driving model M6, to obtain three second probabilities. The driving track obtaining apparatus obtains a first longitudinal driving style based on the three second probabilities. The first longitudinal driving style is a driving style corresponding to a driving model corresponding to a largest probability in the three second probabilities. According to the method, the driving track obtaining apparatus obtains N first longitudinal driving styles, and performs average filtering on the N first longitudinal driving styles, to obtain a longitudinal driving style of the surrounding vehicle of the vehicle A.
S202. The driving track obtaining apparatus obtains a predicted driving track of the surrounding vehicle of the vehicle A through calculation, and determines a vehicle body safety envelope area of the vehicle based on the predicted driving track of the surrounding vehicle of the vehicle A and the driving style of the driver of the surrounding vehicle of the vehicle A.
Specifically, the driving track obtaining apparatus obtains a lateral velocity, a lateral acceleration, a longitudinal velocity, a longitudinal acceleration, a yaw angle of the surrounding vehicle of the vehicle A, and the like according to the foregoing method. The driving track obtaining apparatus calculates the predicted driving track of the surrounding vehicle of the vehicle A based on the lateral velocity, the lateral acceleration, the longitudinal velocity, the longitudinal acceleration, the yaw angle of the surrounding vehicle of the vehicle A, and the like.
The predicted driving track of the surrounding vehicle of the vehicle A may be expressed as follows:
M
p
={x
i
,y
i,θi,t|F(xi,yi,θi,t)=0,t=Δt,2Δt, . . . ,TΔt}(i=1,2 . . . ,N), where
N represents a quantity of surrounding vehicles of the vehicle A, i represents an ith surrounding vehicle of the vehicle A, xi, yi, θi respectively represent a horizontal coordinate, a vertical coordinate, and a yaw angle of the ith surrounding vehicle, and F(⋅) represents the predicted driving track of the surrounding vehicle of the vehicle A at different moments.
Further, a vehicle A′ is any one of surrounding vehicles of the vehicle A. The driving track obtaining apparatus generates a vehicle body safety envelope area of the vehicle A′ based on a driving track of the vehicle A′.
The driving track obtaining apparatus adjusts the vehicle body safety envelope area of the vehicle A′ based on a driving style of the vehicle A′. When a lateral driving style or a longitudinal driving style of the vehicle A′ is aggressive, the driving track obtaining apparatus expands the vehicle body safety envelope area of the vehicle A′; or when a lateral driving style or a longitudinal driving style of the vehicle A′ is conservative, the driving track obtaining apparatus narrows the vehicle body safety envelope area of the vehicle A′.
S203. The driving track obtaining apparatus detects whether the vehicle A receives an automatic driving instruction.
When detecting that the vehicle A does not receive the automatic driving instruction, the driving track obtaining apparatus performs S204; or when detecting that the vehicle A receives the automatic driving instruction, the driving track obtaining apparatus performs step S205.
S204. The driving track obtaining apparatus obtains a driving style coefficient of a driver of the vehicle A, and calculates a cost function of the driver of the vehicle A.
The cost function is used to represent costs paid when the vehicle A travels from an initial node to a current node in a driving track of the vehicle A.
It should be noted that different drivers have different driving style coefficients.
Specifically, the driving track obtaining apparatus identifies and obtains an identity of the driver of the vehicle A, and traverses a server based on the identity of the driver. When the identity of the driver is traversed in the server, the driving track obtaining apparatus stores the driving style coefficient of the driver of the vehicle A in the server, to replace a stored driving style coefficient corresponding to the identity of the driver; or when the identity of the driver is not traversed in the server, the driving track obtaining apparatus adds the identity of the driver and a corresponding driving style coefficient to the server.
In a feasible embodiment, the driving track obtaining apparatus identifies and obtains an identity of the driver of the vehicle A, and traverses a storage device of the driving track obtaining apparatus based on the identity of the driver. When the identity of the driver is traversed in the storage device, the driving track obtaining apparatus stores the driving style coefficient of the driver of the vehicle A in the storage device of the driving track obtaining apparatus, to replace a stored driving style coefficient corresponding to the identity of the driver; or when the identity of the driver is not traversed in the storage device, the driving track obtaining apparatus adds the identity of the driver and a corresponding driving style coefficient to the storage device of the driving track obtaining apparatus.
In a feasible embodiment, the driving track obtaining apparatus may obtain an identity of the driver by using key ID identification, facial identification, voiceprint identification, a human-computer interaction interface, or the like, and obtain a corresponding driving style coefficient from the server according to the identity of the driver.
The cost function is a function constructed based on at least one of a safety item S, a comfort item C, a compliance item R, or an efficiency item T. The safety item S, the comfort item C, the compliance item R, and the efficiency item T are driving habit parameters of the driver of the vehicle A. The safety item S is used to represent a vehicle following habit of the vehicle A and a safe distance between the vehicle A and a surrounding obstacle. The comfort item C is used to represent a velocity change degree and an acceleration change degree of the vehicle A. The compliance item R is used to represent whether the vehicle A complies with traffic regulations. The efficiency item T is used to represent a destination arrival time, braking and steering priorities for obstacle avoidance, and overtaking behavior and yielding behavior generated in a process in which the vehicle A and a surrounding vehicle of the vehicle A travel.
Optionally, the cost function may be represented as follows: G=w1S+w2C+w3R+w4T, where
w1, w2, w3, and w4 are driving style coefficients of the driver of the vehicle A.
The safety item S is determined based on a longitudinal distance between the vehicle A and a front vehicle of the vehicle A, a difference between a longitudinal velocity of the vehicle A and a longitudinal velocity of the front vehicle of the vehicle A, and a lateral distance between the vehicle A and a left/right adjacent vehicle of the vehicle A. The comfort item C is determined based on a difference between an actual velocity of the vehicle A and a desired velocity of the vehicle A, and a difference between an actual acceleration of the vehicle A and a desired acceleration of the vehicle A. The compliance item R is determined based on a difference between a horizontal coordinate of a location of the vehicle A that is desired by the vehicle A and a horizontal coordinate of a lane centerline of a lane on which the vehicle A is located, a difference between a vertical coordinate of the location of the vehicle A that is desired by the vehicle A and a vertical coordinate of the lane centerline of the lane on which the vehicle A is located, and a difference between the desired velocity of the vehicle A and a maximum limit velocity of the lane on which the vehicle A is located. The efficiency item T is determined based on a difference between a horizontal coordinate of a current location of the vehicle A and the horizontal coordinate of the desired location of the vehicle A, and a difference between a vertical coordinate of the current location of the vehicle A and the vertical coordinate of the desired location of the vehicle A.
In a feasible embodiment, the safety item S, the comfort item C, the compliance item R, and the efficiency item T are respectively represented as follows:
where
c1, c2, c3, c4, and p are constants, Δd is the longitudinal distance between the vehicle A and the front vehicle of the vehicle A, Δl is the lateral distance between the vehicle A and the left/right adjacent vehicle of the vehicle A, Δv is the difference between the longitudinal velocity of the vehicle A and the longitudinal velocity of the front vehicle of the vehicle A, ΔV is the difference between the actual velocity of the vehicle A and the desired velocity of the vehicle A, ΔA is the difference between the actual acceleration of the vehicle A and the desired acceleration of the vehicle A, Xdesired and Ydesired are respectively the horizontal coordinate and the vertical coordinate of the desired location of the vehicle A, Xcenterline and Ycenterline are respectively the horizontal coordinate and the vertical coordinate of the lane centerline of the lane on which the vehicle A is located, Vlimit is the maximum limit velocity of the lane on which the vehicle A is located, Vdesired is the desired velocity of the vehicle A, and Xcurrent and Ycurrent are respectively the horizontal coordinate and the vertical coordinate of the current location of the vehicle A.
The safety item S, the comfort item C, the compliance item R, and the efficiency item T may be calculated according to representation manners of the safety item S, the comfort item C, the compliance item R, and the efficiency item T. The cost function, namely, G=w1S+w2C+w3R+w4T, of the driver may be determined based on the driving style coefficient of the driver.
S205. The driving track obtaining apparatus obtains the driving style coefficient of the driver of the vehicle A through calculation, and stores the driving style coefficient of the driver.
The driving track obtaining apparatus separately obtains value ranges of w1, w2, w3, and w4. The value ranges of w1, w2, w3, and w4 are randomly generated.
In a feasible embodiment, the value ranges of w1, w2, w3, and w4 are all (0, 1), in other words, w1, w2, w3, and w4 are all greater than 0 and less than 1.
Specifically, the driving track obtaining apparatus randomly generates a parent group of agenetic algorithm based on g M groups of w1, w2, w3, and w4, and sets a related parameter of the genetic algorithm. The driving track obtaining apparatus separately performs a cross operation and a variation operation on the foregoing M groups of w1, w2, w3, and w4 based on the parent group of the genetic algorithm and the specified related parameter of the genetic algorithm, to obtain M predicted driving tracks. The M predicted driving tracks are in a one-to-one correspondence with the foregoing M groups of w1, w2, w3, and w4. The driving track obtaining apparatus collects an actual driving track of the vehicle A, and obtains a similarity between each of the M driving tracks and the actual driving track. The driving track obtaining apparatus obtains a group of w1, w2, w3, and w4 corresponding to a driving track that is most similar to the actual driving track, and uses the group of w1, w2, w3, and w4 as a second driving style coefficient.
In a feasible embodiment, after obtaining the driving style coefficient of the driver of the vehicle A, the driving track obtaining apparatus stores the driving style coefficient and the identity of the driver of the vehicle A in the storage device of the driving track obtaining apparatus or in the server.
S206. The driving track obtaining apparatus obtains the driving track of the vehicle A on a first three-dimensional spatial-temporal map through calculation according to the cost function.
Specifically, the driving track obtaining apparatus extends a two-dimensional spatial map to a second three-dimensional spatial-temporal map including information about a drivable road area. The second three-dimensional spatial-temporal map includes information about a drivable area of the vehicle A. The driving track obtaining apparatus removes a dynamic obstacle area of the vehicle A from the second three-dimensional spatial-temporal map based on the vehicle body safety envelope area of the surrounding vehicle, to generate the first three-dimensional spatial-temporal map.
It should be noted that the dynamic obstacle area of the vehicle A is the vehicle body safety envelope area of the surrounding vehicle of the vehicle A.
The two-dimensional spatial map may be represented as follows:
Map={(x,y)|x∈Rx,y∈Ry}, where
(x,y) are two-dimensional plane coordinates; and Rx and Ry respectively are definition areas of a horizontal coordinate x and a vertical coordinate y.
The first three-dimensional spatial-temporal map may be represented as follows:
3DMap={(x,y,t)|L(x)≤y≤U(x),x∈Rx,t=0,Δt,2Δt, . . . ,TΔt}, where
(x, y, t) are spatial-temporal coordinates in a Cartesian coordinate system, and represent corresponding location coordinates of the vehicle A at a moment t; Rx is a definition area corresponding to a horizontal coordinate x; L(⋅), U(⋅) is an upper/lower boundary value function in which a coordinate y changes with x, and represent a drivable area to the vehicle A limited according to a road geometric limit; Δt is a system time step, and represents that time density of track planning is consistent with a system running frequency; and a positive integer T represents a time range of track planning, in other words, a maximum limit quantity of time steps at which the vehicle A motions in each track planning.
It should be noted that, because of a forward passage of time, from a perspective of a time axis, a relationship between spatial coordinates at two adjacent time points exists only in evolution from a spatial coordinate at an early time to a spatial coordinate at a later time. There is no evolution relationship in an opposite direction. Therefore, a directional correspondence may be established between each spatial point on each spatial layer map and each spatial point on a next spatial layer map that are on a three-dimensional spatial map. In this way, a basic feature of a directed acyclic graph is constructed.
A series of nodes are included in the driving track of the driving track obtaining apparatus on the second three-dimensional spatial-temporal maps.
Location information of a node in the driving track of the vehicle A is calculated to obtain the driving track of the vehicle A. Location information of a second node that is adjacent to a first node in the driving track of the vehicle A and that is after the first node is calculated based on location information of the first node by using the following method:
obtaining location information of NA*NΘ candidate nodes through calculation based on the location information of the first node, an acceleration change set A of the vehicle A, and a yaw angle change set Θ of the vehicle A, where NA is a quantity of elements in the yaw angle change set A, and NΘ is a quantity of elements in the acceleration change set Θ; and
evaluating location information of each candidate node in the location information of the NA*NΘ candidate nodes according to a heuristic function and the cost function to obtain the location information of the second node, where the location information of the second node is location information of a node with a smallest evaluation value in the location information of the NA*NΘ candidate nodes, and the heuristic function is used to represent costs that need to be paid when the vehicle A travels from the first node to a target point in the track of the vehicle A.
Herein, Δt is an interval between two temporally adjacent nodes in the driving track of the vehicle A (Xt,Yt,Vt,θt) is the location information of the first node, Xt,Yt,Vt,θt are respectively a horizontal coordinate, a vertical coordinate, a linear velocity, and a yaw angle of the vehicle A on the first three-dimensional spatial-temporal map at a moment t, and (Xt+Δtk,Yt+Δtk,Vt+Δtk,θt+Δtk) is location information of a kth candidate node in the NA*NΘ candidate nodes and is calculated by the driving track obtaining apparatus based on the location information of the first node, the acceleration change set A of the vehicle A, and the yaw angle change set Θ of the vehicle A.
Herein, Xt+Δtk,Yt+Δtk,Vt+Δtk,θt+Δtk are respectively a horizontal coordinate, a vertical coordinate, a linear velocity, and a yaw angle of the kth candidate node, Xt+Δtk=Xt+Vt+Δtk*Δt*cos θt+Δt, Yt+Δtk=Yt+Vt+Δtk*Δt*sin θt+Δt, Vt+Δtk=Vt+at+Δt*Δt, θt+Δtk=θt+θ, at+Δtk=at+a, θ is any element in the yaw angle change space A, and a is any element in the acceleration change space Θ.
In a specific application scenario, the acceleration change set and the yaw angle change set of the vehicle A may be represented as follows:
A={a
dec,0.5adec,0,0.5aacc,aacc}, and
Θ={θ′,±0.5θ′,0}, where
adec, aacc, θ′ are all constants, a quantity of elements in the set A (in other words, the acceleration change set) is 5, and a quantity of elements in the set Θ (in other words, the yaw angle change set) is 5.
The driving track obtaining apparatus obtains location information of the NA*NΘ candidate nodes of the vehicle at a moment t+Δt based on a node Nodet of the vehicle A at the moment t, the acceleration change set, and the yaw angle change set. For example, when both the yaw angle change set and the acceleration change set include five elements, a quantity of the candidate coordinate nodes is 25. The location information of the kth candidate node in the NA*NΘ candidate coordinate nodes may be expressed as follows:
Nodet+Δtk=(Xt+Δtk,Yt+Δtk,Vt+Δtk,θt+Δtk),
θt+Δtk=θt+θ,
a
t+Δt
k
=a
t
+a,
V
t+Δt
k
=V
t
+a
t+Δt
*Δt,
X
t+Δt
k
=X
t
+V
t+Δt
k
*Δt*cos θt+Δt, and
Y
t+Δt
k
=Y
t
+V
t+Δt
k
*Δt*sin θt+Δt, where
a∈A,θ∈Θ, and k∈{1,2, . . . ,NA*NΘ}.
According to the foregoing method, after the driving track obtaining apparatus obtains the location information of the NA*NΘ candidate nodes, the driving track obtaining apparatus evaluates the location information of each of the NA*NΘ candidate nodes according to the cost function and the heuristic function, to obtain NA*NΘ evaluation values. The driving track obtaining apparatus uses location information of a candidate node corresponding to a smallest evaluation value in the NA*NΘ evaluation values as location information of a node Nodet+Δt of the vehicle A at the moment t+Δt. Specifically, that the driving track obtaining apparatus evaluates the kth candidate coordinate node in the NA*NΘ candidate nodes according to the cost function and the heuristic function is specifically:
F
k
=G
k
+H
k
H
k=(Xt+Δtk−Xtarget)2+(Yt+Δtk−Ytarget)2, and
G=w
1
S
k
+w
2
C
k
+w
3
R
k
+w
4
T
k, where
Fk is an evaluation function; Hk is a heuristic function; Xtarget and Ytarget are a horizontal coordinate and a vertical coordinate of a terminate node in a driving track; and Gk is a cost function.
The driving track obtaining apparatus determines whether the second node Nodet+Δt is a terminate node in the driving track of the vehicle A. When the second node Nodet+Δt is not the terminate node in the driving track of the vehicle A, the driving track obtaining apparatus obtains a node, in other words, Nodet+2Δt, of the vehicle A at a moment t+2Δt according to the foregoing method. When the second node Nodet+Δt is the terminate node in the driving track of the vehicle A, the driving track obtaining apparatus stops the foregoing operation. Therefore, the driving track obtaining apparatus obtains the driving track of the vehicle A, and then the driving track obtaining apparatus performs step S207.
S207. The driving track obtaining apparatus optimizes the driving track of the vehicle A to obtain an optimized driving track.
Specifically, the driving track obtaining apparatus establishes a kinematic model of the vehicle A by using a front wheel of the vehicle A as an object.
Herein, X=(xf,yf,θ,δ,vf) is used as a system status, and U=(δ,vf)T is used as a system input, where
vf is a linear velocity of the front wheel of the vehicle A, θ is the yaw angle of the vehicle A, δ a is a steering angle of the front wheel of the vehicle A, and δ a is an angular velocity of a front wheel steering angle of the vehicle A.
The driving track obtaining apparatus establishes, based on the kinematic model of the vehicle A, model predictive control to resolve an optimization problem:
J(x)=w1*∥X−Xr∥Q2+w2∥U∥R2,
X
0
=X
start
,X
N
=X
target,
X=F(X,U),
U
min
≤U≤U
max, and
ϕn(X)≥0,∀n=1,2, . . . ,N−1, where
w1 and w2 are coefficients; Xr is a preset reference track; Q and R are linear quadratic parameters; Xstart and Xtarget are respectively state constraints of a start point and an end point of the driving track; Umin and Umax are respectively an upper bound and a lower bound of a system input; and ϕn(⋅) is a state constraint corresponding to each point in the driving track.
The driving track obtaining apparatus uses a convex feasible region construction method to resolve a problem that a conventional solution optimization problem is time-consuming and inaccurate, so as to improve solvability and effectiveness. A key to resolve the problem is an iteration. During a kth iteration, a corresponding convex feasible region F(X(k))⊂Γ is calculated for a specific reference track X(k)r. The driving track obtaining apparatus resolves the following convex optimization problem by using a model predictive control method, to obtain a new reference track.
The iteration ends when the new reference track converges or a gradient of the target function is small enough. In this case, the optimized driving track in consideration of the vehicle dynamics may be obtained.
S208. The driving track obtaining apparatus sends the optimized driving track to a control apparatus of the vehicle A.
Specifically, after the driving track obtaining apparatus sends the optimized driving track to the control apparatus of the vehicle A, the control apparatus converts the driving track into a driving instruction executable for the control apparatus, and the control apparatus drives the vehicle A based on the driving instruction.
S209. The driving track obtaining apparatus determines that whether the driver of the vehicle A takes over the vehicle A.
When determining that the driver of the vehicle A takes over the vehicle A, the driving track obtaining apparatus performs step S210, or when determining that the driver of the vehicle A does not take over the vehicle A, the driving track obtaining apparatus performs step S201.
It should be noted that, the driving track obtaining apparatus monitors and determines in real time whether the driver of the vehicle A takes over the vehicle A.
S210. The driving track obtaining apparatus adjusts the driving style coefficient of the driver of the vehicle A, and stores the driving style coefficient of the driver.
Specifically, operation information of the driver of the vehicle A includes: accelerating without steering, steering with accelerating, constant-velocity driving without steering, steering with a constant-velocity, decelerating without steering, steering with decelerating, and the like. Surrounding vehicle information includes that there is a vehicle around the vehicle A and there is no vehicle around the vehicle A.
For a specific manner in which the driving track obtaining apparatus adjusts the driving style coefficient based on the operation information of the driver of the vehicle A and the surrounding vehicle information, refer to Table 1.
As shown in Table 1, the driving track obtaining apparatus decreases the coefficient w1 of the safety item S when there is a vehicle around the vehicle A and when it is determined that the vehicle A accelerates without steering. Specifically, for example, the coefficient w1 of the safety item S, the coefficient w2 of the comfort item C, the coefficient w3 of the compliance item R, and the coefficient w4 of the efficiency item T each correspond to a value range (0, 1). The driving track obtaining apparatus may decrease the value range of the coefficient w1 of the safety item S to (0, 0.5) or (0, 0.6), and does not change the value range corresponding to each of the coefficient w2 of the comfort item C, the coefficient w3 of the compliance item R, and the coefficient w4 of the efficiency item T.
The driving track obtaining apparatus obtains M groups of w1, w2, w3, and w4 from the value ranges corresponding to w1, w2, w3, and w4, in other words, the driving track obtaining apparatus separately obtains M values from the value ranges corresponding to w1, w2, w3, and w4, where M is an integer greater than 1. The driving track obtaining apparatus processes the M groups of w1, w2, w3, and w4 according to the genetic algorithm to obtain M predicted driving tracks.
Specifically, the driving track obtaining apparatus randomly generates a parent group of the genetic algorithm based on the foregoing M groups of w1, w2, w3, and w4, and sets a related parameter of the genetic algorithm. The driving track obtaining apparatus separately performs a cross operation and a variation operation on the foregoing M groups of w1, w2, w3, and w4 based on the parent group of the genetic algorithm and the specified related parameter of the genetic algorithm, to obtain the M predicted driving tracks. The M predicted driving tracks are in a one-to-one correspondence with the foregoing M groups of w1, w2, w3, and w4. The driving track obtaining apparatus collects an actual driving track of the vehicle A, and obtains a similarity between each of the M driving tracks and the actual driving track. The driving track obtaining apparatus obtains a group of w1, w2, w3, and w4 corresponding to a driving track that is most similar to the actual driving track, and uses the group of w1, w2, w3, and w4 as a second driving style coefficient. The driving track obtaining apparatus stores the second driving style coefficient in the driving track obtaining apparatus or in the server, to replace a first driving style coefficient. The first driver style coefficient is a driving style coefficient that is of the driver of the vehicle A and that is stored in the storage device of the driving track obtaining apparatus or in the server.
That the driving track obtaining apparatus increases or decreases the coefficient of the safety item S and the coefficient of the efficiency item T when there is a vehicle around the vehicle A and when it is determined that the vehicle A steers with acceleration or steers with deceleration includes: The driving track obtaining apparatus increases or decreases the value range of the coefficient w1 of the safety item S and the value range of the coefficient w4 of the efficiency item T, and does not change the value range of the coefficient w2 of the comfort item C and the value range of the coefficient w3 of the compliance item R. For example, the coefficient w1 of the safety item, the coefficient w2 of the comfort item C, the coefficient w3 of the compliance item R, and the coefficient w4 of the efficiency item T each correspond to a value range (0, 1). The driving track obtaining apparatus respectively increases a value range of the coefficient w1 of the safety item S and a value range of the coefficient w4 of the efficiency item T to (1, 1.5) and (1, 2); or the driving track obtaining apparatus respectively decreases a value range of the coefficient w1 of the safety item S and a value range of the coefficient w4 of the efficiency item T to (0, 0.2) and (0, 0.1). Then, the driving track obtaining apparatus calculates the second driving style parameter according to the foregoing method, and stores the second driving style coefficient in the storage device of the driving track obtaining apparatus or in the server, to replace the first driving style coefficient.
Specifically, when the driver of the vehicle A takes over the vehicle A this time, and when there is a vehicle around the vehicle A and the vehicle A steers with acceleration or steers with deceleration, the driving track obtaining apparatus performs a first operation on the value range of the coefficient w1 of the safety item S and the value range of the coefficient w4 of the efficiency item T, and does not change the value range of the coefficient w3 of the comfort item C and the value range of the coefficient w3 of the compliance item R. The first operation includes increasing or decreasing the value range of the coefficient w1 of the safety item S and the value range of the coefficient w4 of the efficiency item T. The driving track obtaining apparatus obtains the second driving style coefficient according to the foregoing method, and stores the second driving style coefficient in the storage device of the driving track obtaining apparatus or in the server, to replace the first driving style coefficient. When the driver of the vehicle A takes over the vehicle A next time, and when there is a vehicle around the vehicle A and the vehicle A steers with acceleration or steers with deceleration, the driving track obtaining apparatus performs a second operation on the value range of the coefficient w1 of the safety item S and the value range of the coefficient w4 of the efficiency item T, and does not change the value range of the coefficient w2 of the comfort item C and the value range of the coefficient w3 of the compliance item R. The second operation includes increasing or decreasing the value range of the coefficient w1 of the safety item S and the value range of the coefficient w4 of the efficiency item T. The first operation is inconsistent with the second operation. The driving track obtaining apparatus obtains the second driving style coefficient according to the foregoing method, and stores the second driving style coefficient in the storage device of the driving track obtaining apparatus or in the server, to replace the first driving style coefficient.
The driving track obtaining apparatus increases or decreases the coefficient w1 of the safety item S when there is a vehicle around the vehicle A and when it is determined that the vehicle A steers with a constant-velocity. Specifically, the driving track obtaining apparatus increases or decreases the value range of the coefficient w1 of the safety item S, and does not change the value range corresponding to each of the coefficient w2 of the comfort item C, the coefficient w3 of the compliance item R, and the coefficient w4 of the efficiency item T. Then, the driving track obtaining apparatus obtains the second driving style parameter according to the foregoing method, and stores the second driving style coefficient in the storage device of the driving track obtaining apparatus or in the server, to replace the first driving style coefficient.
Specifically, when the driver of the vehicle A takes over the vehicle A this time, and when there is a vehicle around the vehicle A and the vehicle A steers with a constant-velocity, the driving track obtaining apparatus performs a first operation on the value range of the coefficient w1 of the safety item S, and does not change the value range of each of the coefficient w2 of the comfort item C, the coefficient w3 of the compliance item R, and the coefficient w4 of the efficiency item T. The first operation includes increasing or decreasing the value range of the coefficient w1, of the safety item S. The driving track obtaining apparatus obtains the second driving style coefficient according to the foregoing method, and stores the second driving style coefficient in the storage device of the driving track obtaining apparatus or in the server, to replace the first driving style coefficient. When the driver of the vehicle A takes over the vehicle A next time, and when there is a vehicle around the vehicle A and the vehicle A steers with a constant-velocity, the driving track obtaining apparatus performs a second operation on the value range of the coefficient w1 of the safety item S, and does not change the value range of each of the coefficient w2 of the comfort item C, the coefficient w3 of the compliance item R, and the coefficient w4 of the efficiency item T. The second operation includes increasing or decreasing the value range of the coefficient w1 of the safety item S. The first operation is inconsistent with the second operation. The driving track obtaining apparatus obtains the second driving style coefficient according to the foregoing method, and stores the second driving style coefficient in the storage device of the driving track obtaining apparatus or in the server, to replace the first driving style coefficient.
The driving track obtaining apparatus increases the coefficient of the safety item S when there is a vehicle around the vehicle A and when it is determined that the vehicle A decelerates without steering. Specifically, the driving track obtaining apparatus increases the value range of the coefficient w1 of the safety item S, and does not change the value range corresponding to each of the coefficient w2 of the comfort item C, the coefficient w3 of the compliance item R, and the coefficient w4 of the efficiency item T. Then, the driving track obtaining apparatus obtains the second driving style parameter according to the foregoing method, and stores the second driving style coefficient in the storage device of the driving track obtaining apparatus or in the server, to replace the first driving style coefficient.
The driving track obtaining apparatus does not adjust the driving style parameter of the driver when there is a vehicle around the vehicle A and when it is determined that the vehicle A drives at a constant velocity without steering.
When there is no vehicle around the vehicle A, and it is determined that the vehicle A accelerates without steering or decelerates without steering, the driving track obtaining apparatus increases the coefficient of the comfort item C and the coefficient of the efficiency item T. Specifically, the driving track obtaining apparatus increases the value ranges corresponding to the coefficient w2 of the comfort item C and the coefficient w4 of the efficiency item T, and does not change the value ranges corresponding to the coefficient w1 of the safety item S and the coefficient w3 of the compliance item R. Then, the driving track obtaining apparatus obtains the second driving style coefficient according to the foregoing method, and stores the second driving style coefficient in the storage device of the driving track obtaining apparatus or in the server, to replace the first driving style coefficient. When it is determined that the vehicle A steers with acceleration, drives at a constant velocity without steering, steers with a constant-velocity, or steers with deceleration, the driving track obtaining apparatus does not adjust the driving style parameter of the driver of the vehicle A.
It can be learned that in the solution in this embodiment of the present invention, in a process of determining the driving track of the vehicle A, both the driving style of the driver of the surrounding vehicle of the vehicle A and the predicted driving track of the surrounding vehicle of the vehicle A are considered, and the driving style of the vehicle A is also considered. Therefore, the driving track obtained by using the solutions in the embodiments of the present invention can match driving styles of all drivers. In addition, the driving track obtaining apparatus can adjust the driving style coefficient by using the operation information obtained when the driver takes over the vehicle A, to further adjust the driving track, so that the driving track can match the driving styles of all the drivers. This increases a degree at which the driver is satisfied with the driving track, and finally can lessen a running-in period in which the driver performs automatic driving.
a first obtaining unit 301, configured to obtain a driving style coefficient of a driver of a vehicle A, where
the first obtaining unit 301 includes:
an identification subunit 3011, configured to identify an identity of the driver of the vehicle A when an automatic driving instruction is received; and
an obtaining subunit 3012, configured to obtain the driving style coefficient of the driver of the vehicle A based on the identity of the driver of the vehicle A; and
a calculation unit 302, configured to obtain a cost function of the driver of the vehicle A through calculation based on the driving style coefficient of the driver of the vehicle A, where the cost function is used to represent costs paid when the vehicle A travels from an initial node to a current node in a driving track of the vehicle A; and
the calculation unit 302 is configured to obtain the driving track of the vehicle A on a first three-dimensional spatial-temporal map through calculation according to the cost function of the driver.
Specifically, the calculation unit 302 is configured to:
calculate location information of a node in the driving track of the vehicle A to obtain the driving track of the vehicle A, where location information of a second node that is adjacent to a first node in the driving track of the vehicle A and that is after the first node is calculated based on location information of the first node by using the following method:
obtaining location information of NA*NΘ candidate nodes through calculation based on the location information of the first node, an acceleration change set A of the vehicle A, and a yaw angle change set Θ of the vehicle A, where NA is a quantity of elements in the yaw angle change set A, NΘ is a quantity of elements in the acceleration change set Θ, and both NA and NΘ are integers greater than 1; and
evaluating location information of each candidate node in the location information of the NA*NΘ candidate nodes according to a heuristic function and the cost function to obtain the location information of the second node, where the location information of the second node is location information of a node with a smallest evaluation value in the location information of the NA*NΘ candidate nodes, and the heuristic function is used to represent costs that need to be paid when the vehicle A travels from the first node to a target point in the track of the vehicle A.
Further, Δt is an interval between two temporally adjacent nodes in the driving track of the vehicle A, (Xt,Yt,Vt,θt) is the location information of the first node, Xt,Yt,Vt,θt are respectively a horizontal coordinate, a vertical coordinate, a linear velocity, and a yaw angle of the vehicle A on the first three-dimensional spatial-temporal map at a moment t, and (Xt+Δtk,Yt+Δtk,Vt+Δtk,θt+Δtk) is location information of a kth candidate node in the NA*NΘ candidate nodes and is calculated by the calculation unit 302 based on the location information of the first node, the acceleration change set A of the vehicle A, and the yaw angle change set Θ of the vehicle A; and
Xt+Δtk,Yt+Δtk,Vt+Δtk,θt+Δtk are respectively a horizontal coordinate, a vertical coordinate, a linear velocity, and a yaw angle of the kth candidate node, Xt+Δtk=Xt+Vt+Δtk*Δt*cos θt+Δt, Yt+Δtk=Yt+Vt+Δtk*Δt*sin θt+Δt, Vt+Δtk=Vt+at+Δt*Δt, θt+Δtk=θt+θ, at+Δtk=at+a, θ is any element in the yaw angle change space A, and a is any element in the acceleration change space Θ.
Optionally, the cost function is a function constructed based on at least one of a safety item S, a comfort item C, a compliance item R, or an efficiency item T. The safety item S, the comfort item C, the compliance item R, and the efficiency item T are driving habit parameters of the driver of the vehicle A. The safety item S is used to represent a vehicle following habit of the vehicle A and a safe distance between the vehicle A and a surrounding obstacle. The comfort item C is used to represent a velocity change degree and an acceleration change degree of the vehicle A. The compliance item R is used to represent whether the vehicle A complies with traffic regulations. The efficiency item T is used to represent a destination arrival time, braking and steering priorities for obstacle avoidance, and overtaking behavior and yielding behavior generated in a process in which the vehicle A and a surrounding vehicle of the vehicle A travel.
Optionally, the cost function is:
G=w
1
S+w
2
C+w
3
R+w
4
T, where
w1, w2, w3, and w4 are driving style coefficients of the driver of the vehicle A.
Optionally, the safety item S is determined based on a longitudinal distance between the vehicle A and a front vehicle of the vehicle A, a difference between a longitudinal velocity of the vehicle A and a longitudinal velocity of the front vehicle of the vehicle A, and a lateral distance between the vehicle A and a left/right adjacent vehicle of the vehicle A. The comfort item C is determined based on a difference between an actual velocity of the vehicle A and a desired velocity of the vehicle A, and a difference between an actual acceleration of the vehicle A and a desired acceleration of the vehicle A. The compliance item R is determined based on a difference between a horizontal coordinate of a location of the vehicle A that is desired by the vehicle A and a horizontal coordinate of a lane centerline of a lane on which the vehicle A is located, a difference between a vertical coordinate of the location of the vehicle A that is desired by the vehicle A and a vertical coordinate of the lane centerline of the lane on which the vehicle A is located, and a difference between the desired velocity of the vehicle A and a maximum limit velocity of the lane on which the vehicle A is located. The efficiency item T is determined based on a difference between a horizontal coordinate of a current location of the vehicle A and the horizontal coordinate of the desired location of the vehicle A, and a difference between a vertical coordinate of the current location of the vehicle A and the vertical coordinate of the desired location of the vehicle A.
Optionally, the safety item S, the comfort item C, the compliance item R, and the efficiency item T are respectively represented as follows:
where
c1, c2, c3, c4, and p are constants, Δd is the longitudinal distance between the vehicle A and the front vehicle of the vehicle A, Δl is the lateral distance between the vehicle A and the left/right adjacent vehicle of the vehicle A, Δv is the difference between the longitudinal velocity of the vehicle A and the longitudinal velocity of the front vehicle of the vehicle A, ΔV is the difference between the actual velocity of the vehicle A and the desired velocity of the vehicle A, ΔA is the difference between the actual acceleration of the vehicle A and the desired acceleration of the vehicle A, Xdesired and Ydesired are respectively the horizontal coordinate and the vertical coordinate of the desired location of the vehicle A, Xcenterline and Ycenterline are respectively the horizontal coordinate and the vertical coordinate of the lane centerline of the lane on which the vehicle A is located, Vlimit is the maximum limit velocity of the lane on which the vehicle A is located, Vdesired is the desired velocity of the vehicle A, and Xcurrent and Ycurrent are respectively the horizontal coordinate and the vertical coordinate of the current location of the vehicle A.
Optionally, the driving track obtaining apparatus further includes:
a conversion unit 303, configured to convert a two-dimensional spatial map into a second three-dimensional spatial-temporal map before the calculation unit calculates the driving track of the vehicle A on the first three-dimensional spatial-temporal map according to the cost function of the driver; and
a second obtaining unit 304, configured to obtain a vehicle body safety envelope area of a surrounding vehicle of the vehicle A.
The second obtaining unit 304 includes:
a calculation subunit 3041, configured to calculate a predicted driving track of the surrounding vehicle of the vehicle A based on a driving style of a driver, a velocity, an acceleration, and a yaw angle of the surrounding vehicle of the vehicle A.
Optionally, the calculation subunit 3041 is further configured to:
before the predicted driving track of the surrounding vehicle of the vehicle A is obtained through calculation based on the driving style of the driver, the velocity, the acceleration, and the yaw angle of the surrounding vehicle of the vehicle A, obtain the driving style of the driver of the surrounding vehicle of the vehicle A through calculation based on the velocity and the acceleration of the surrounding vehicle of the vehicle A.
Specifically, the velocity of the surrounding vehicle of the vehicle A includes a lateral velocity of the surrounding vehicle of the vehicle A, the acceleration of the surrounding vehicle of the vehicle A includes a lateral acceleration of the surrounding vehicle of the vehicle A, and the driving style of the driver of the surrounding vehicle of the vehicle A includes a lateral driving style.
The calculation subunit 3041 is specifically configured to:
obtain lateral velocities and lateral accelerations of N surrounding vehicles of the vehicle A;
perform the following operations on a lateral velocity and a lateral acceleration of an ith surrounding vehicle in the N surrounding vehicles of the vehicle A, to obtain N first lateral driving styles, where i=1, 2, . . . , and N, and N is an integer greater than 1:
separately inputting the lateral velocity and the lateral acceleration of the ith surrounding vehicle of the vehicle A into a lateral aggressive driving model, a lateral conservative driving model, and a lateral normal driving model, to calculate three first probabilities;
determining the first lateral driving style based on the three first probabilities, where the first lateral driving style is a driving style corresponding to a driving model corresponding to a largest probability in the three first probabilities; and
performing average filtering on the N first lateral driving styles to obtain the lateral driving style of the driver of the surrounding vehicle of the vehicle A.
Specifically, the velocity of the surrounding vehicle of the vehicle A includes a longitudinal velocity of the surrounding vehicle of the vehicle A, the acceleration of the surrounding vehicle of the vehicle A includes a longitudinal acceleration of the surrounding vehicle of the vehicle A, and the driving style of the driver of the surrounding vehicle of the vehicle A includes a longitudinal driving style.
The calculation subunit 3041 is specifically configured to:
obtain longitudinal velocities and longitudinal accelerations of N surrounding vehicles of the vehicle A;
perform the following operations on a longitudinal velocity and a longitudinal acceleration of an ith surrounding vehicle in the N surrounding vehicles of the vehicle A, to obtain N first longitudinal driving styles, where i=1, 2, . . . , and N, and N is an integer greater than 1:
separately inputting the longitudinal velocity and the longitudinal acceleration of the ith surrounding vehicle of the vehicle A into a longitudinal aggressive driving model, a longitudinal conservative driving model, and a longitudinal normal driving model, to calculate three second probabilities;
determining the first longitudinal driving style based on the three second probabilities, where the first longitudinal driving style is a driving style corresponding to a driving model corresponding to a largest probability in the three second probabilities; and
performing average filtering on the N first longitudinal driving styles to obtain the longitudinal driving style of the driver of the surrounding vehicle of the vehicle A.
The second obtaining unit 304 further includes: a determining subunit 3042, configured to determine the vehicle body safety envelope area of the surrounding vehicle of the vehicle A based on the predicted driving track of the surrounding vehicle of the vehicle A and the driving style of the driver of the surrounding vehicle of the vehicle A.
The driving track obtaining apparatus 300 further includes: a deletion unit 305, configured to delete, from the second three-dimensional spatial-temporal map, an area corresponding to the vehicle body safety envelope area of the surrounding vehicle of the vehicle A, to obtain the first three-dimensional spatial-temporal map.
Optionally, the driving track obtaining apparatus 300 further includes:
an optimization unit 306, configured to optimize the driving track of the vehicle A based on a vehicle kinematic model to obtain an optimized driving track; and
a sending unit 307, configured to send the optimized driving track to a control apparatus of the vehicle A.
Optionally, the driving track obtaining apparatus 300 further includes an adjustment unit 308.
The first obtaining unit 301 is further configured to: after the sending unit sends the optimized driving track to the control apparatus of the vehicle A, obtain operation information of the driver of the vehicle A and surrounding vehicle information when it is detected that the driver of the vehicle A takes over the vehicle A.
The adjustment unit 308 is configured to adjust the driving style coefficient of the driver of the vehicle A based on the operation information and the surrounding vehicle information to obtain an adjusted driving style coefficient.
The driving style coefficient of the driver of the vehicle A includes a coefficient of the safety item S, a coefficient of the comfort item C, a coefficient of the compliance item R, and a coefficient of the efficiency item T, and the driving style coefficient of the driver of the vehicle A includes the coefficient of the safety item S, the coefficient of the comfort item C, and the coefficient of the efficiency item T.
The adjustment unit 308 is specifically configured to:
decrease the coefficient of the safety item S when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes accelerating without steering; or
increase or decrease the coefficient of the safety item S and the coefficient of the efficiency item T when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes steering with accelerating; or
increase or decrease the coefficient of the safety item S when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes steering with a constant-velocity; or
increase the coefficient of the safety item S when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes decelerating without steering; or
increase or decrease the coefficient of the safety item S and the coefficient of the efficiency item T when the surrounding vehicle information includes that there is a vehicle around the vehicle A, and the operation information includes steering with decelerating; or
increase the coefficient of the safety item S and the coefficient of the efficiency item T when the surrounding vehicle information includes that there is no vehicle around the vehicle A, and the operation information includes accelerating without steering or decelerating without steering.
The driving track obtaining apparatus 300 further includes a first storage unit 309, configured to store the adjusted driving style coefficient.
Optionally, the driving track obtaining apparatus 300 further includes that:
the calculation unit 302 is further configured to calculate the driving style coefficient of the driver of the vehicle A according to a genetic algorithm when a manual driving instruction is received.
Specifically, the calculation unit 302 is further specifically configured to:
obtain a value range of the driving style coefficient of the driver of the vehicle A;
randomly obtain M groups of driving style coefficients from the value range of the driving style coefficient;
calculate the M groups of driving style coefficients according to the genetic algorithm to obtain M predicted driving tracks, where the M predicted driving tracks are in a one-to-one correspondence with the M groups of driving style coefficients;
obtain an actual driving track of the vehicle A; and
compare each of the M predicted driving tracks with the actual driving track to obtain the driving style coefficient of the driver of the vehicle A, where the driving style coefficient of the driver of the vehicle A is a driving style coefficient corresponding to a predicted driving track that is most similar to the actual driving track in the M predicted driving tracks.
The driving track obtaining apparatus 300 further includes a second storage unit 310, configured to store the driving style coefficient of the driver of the vehicle A.
It should be noted that the foregoing units (the first obtaining unit 301, the calculation unit 302, the conversion unit 303, the second obtaining unit 304, the deletion unit 305, the optimization unit 306, the sending unit 307, the adjustment unit 308, the first storage unit 309, and the second storage unit 310) are configured to perform related steps in the foregoing method.
In this embodiment, the driving track obtaining apparatus 300 is presented in a form of a unit. The “unit” herein may be an application-specific integrated circuit (ASIC), a processor and a memory that execute one or more software or firmware programs, an integrated logic circuit, and/or another device that can provide the foregoing functions. In addition, the first obtaining unit 301, the calculation unit 302, the conversion unit 303, the second obtaining unit 304, the deletion unit 305, the optimization unit 306, the sending unit 307, the adjustment unit 308, the first storage unit 309, and the second storage unit 310 may be implemented by using the processor 601 of the driving track obtaining apparatus shown in
As shown in
The processor 601 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling program execution of the foregoing solution.
The communications interface 603 is configured to communicate with another device or a communications network, such as the Ethernet, a radio access network (RAN), or a Wireless Local Area Networks (WLAN).
The memory 602 may be a read-only memory (ROM) or another type of static storage device that can store static information and instructions, or a random access memory (RAM) or another type of dynamic storage device that can store information and instructions; or may be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optic disk storage, optical disc storage (including a compact optical disc, a laser disc, an optical disc, a digital general-purpose optical disc, a blu-ray optical disc, or the like), or magnetic disk storage media or other magnetic storage devices, or any other media that can be accessed by a computer and that can be configured to carry or store desired program code having an instruction or data structure form, without being limited thereto. The memory may exist independently, and is connected to the processor by using the bus. The memory may be integrated with the processor.
The memory 602 is configured to store application program code for executing the foregoing solution, and the processor 601 controls the execution. The processor 601 is configured to execute the application program code stored in the memory 602.
The code stored in the memory 602 may be used to perform the driving track obtaining method performed by the driving track obtaining apparatus provided above, for example, obtaining a driving style coefficient of a driver of a vehicle A; calculating a cost function of the driver of the vehicle A based on the driving style coefficient of the driver of the vehicle A, where the cost function is used to represent costs paid when the vehicle A travels from an initial node to a current node in a driving track of the vehicle A; and obtaining the driving track of the vehicle A on a first three-dimensional spatial-temporal map according to the cost function of the driver.
It should be noted that, to make the description brief, the foregoing method embodiments are expressed as a series of actions. However, a person skilled in the art should appreciate that the present invention is not limited to the described action sequence, because according to the present invention, some steps may be performed in other sequences or performed simultaneously. In addition, a person skilled in the art should also appreciate that all the embodiments described in the specification are example embodiments, and the related actions and modules are not necessarily mandatory to the present invention.
In the foregoing embodiments, the description of each embodiment has respective focuses. For a part that is not described in detail in an embodiment, refer to related descriptions in other embodiments.
In the several embodiments provided in this application, it should be understood that the disclosed apparatus may be implemented in other manners. For example, the described apparatus embodiments are merely examples. For example, the unit division is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic or other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit. The integrated unit may be implemented in a form of hardware, or may be implemented in a form of a software functional unit.
When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, the integrated unit may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of the present invention essentially, or the part contributing to the prior art, or all or some of the technical solutions may be implemented in the form of a software product. The software product is stored in a storage and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform all or some of the steps of the methods described in the embodiments of the present invention. The foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a removable hard disk, a magnetic disk, or an optical disc.
A person of ordinary skill in the art may understand that all or some of the steps of the methods in the embodiments may be implemented by a program instructing relevant hardware. The program may be stored in a computer-readable storage medium. The storage medium may include a flash memory, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, and an optical disc.
The embodiments of the present invention are described in detail above. The principle and implementation of the present invention are described herein through specific examples. The description about the embodiments of the present invention is merely provided to help understand the method and core ideas of the present invention. In addition, a person of ordinary skill in the art can make variations and modifications to the present invention in terms of the specific implementations and application scopes according to the ideas of the present invention. Therefore, the content of specification shall not be construed as a limit to the present invention.
Number | Date | Country | Kind |
---|---|---|---|
201810022810.5 | Jan 2018 | CN | national |
This application is a continuation of International Application No. PCT/CN2019/070859, filed on Jan. 8, 2019, which claims priority to Chinese Patent Application No. 201810022810.5, filed on Jan. 10, 2018. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2019/070859 | Jan 2019 | US |
Child | 16925135 | US |