Driving Priority Assignment and Reference Velocity Planning Method for Multi-vehicle Cooperation
Abstract
The provided is a driving priority assignment and reference velocity planning method for multi-vehicle cooperation. The driving priority assignment method includes: obtaining driving parameter data of vehicles under multi-vehicle cooperation, and identifying potential collision points between vehicles and calculating a time limit for vehicles to drive to the potential collision points, wherein the time limit includes a minimum time and a maximum time; constructing and solving a slack nonlinear programming problem based on the time limit for the vehicles to drive to the potential collision points to obtain an initial solution result, wherein during the process of constructing the slack nonlinear programming problem, a vehicle driving priority p involved in the potential collision points and a time t when the vehicles reach the potential collision points are configured as optimization variables, and introducing a slack variable; and performing iterative solution to obtain an optimal vehicle driving priority.
Claims (20)
1 . A driving priority assignment method for multi-vehicle cooperation, comprising the following steps: Obtaining, for each vehicle, driving parameter data comprising at least a current velocity, a maximum acceleration, a minimum acceleration, a maximum velocity, and a minimum velocity of vehicles under multi-vehicle cooperation, and predicting future driving trajectories of the vehicles and identifying potential collision points between vehicles as intersections of the predicted trajectories between pairs of vehicles and calculating a time limit for vehicles to drive to the potential collision points, the time limit being calculated from the driving parameter data and a distance from each vehicle to each identified potential collision point and, wherein the time limit comprises a minimum time and a maximum time; constructing and solving a slack nonlinear programming problem based on the time limit for the vehicles to drive to the potential collision points to obtain an initial solution result, comprising an initial slack driving priority q, a time t when the vehicles reach the potential collision points, an integer solution index I p , a number of integer solutions N p , a continuous solution index I q , a number of continuous solutions N q , and an optimal priority p*(I p )=q(I p ), wherein during the process of constructing the slack nonlinear programming problem, a vehicle driving priority p involved in the potential collision points and the time t when the vehicles reach the potential collision points are configured as optimization variables, and introducing a slack variable for the vehicle driving priority p; and performing iterative solution based on an initial solution result to obtain an optimal vehicle driving priority, and, during multi-vehicle cooperative driving, re-solving a vehicle real-time reference velocity at each control time interval Δt and driving the vehicles according to updated real-time reference velocities such that: (g-1) a vehicle with later driving priority (right-of-way) decelerates and waits before a potential collision point, and (g-2) after a vehicle with earlier driving priority (right-of-way) passes the potential collision point, the waiting vehicle accelerates and passes the potential collision point, thereby the plurality of vehicles traverse the potential collision points safely and orderly while maintaining vehicle position constraints including at least inter-vehicle spacing not less than a set minimum distance and a limit on a vertical-projection overlap area between vehicles.
Show 19 dependent claims
2 . The driving priority assignment method for the multi-vehicle cooperation according to claim 1 , wherein a calculation of the minimum time comprises two cases: case I: the vehicles are in a uniform acceleration process before reaching the potential collision points, and a calculation expression for the minimum time is:
3 . The driving priority assignment method for the multi-vehicle cooperation according to claim 1 , wherein a calculation of the maximum time comprises two cases: case I: the vehicles are in a uniform deceleration process before reaching the potential collision points, and a calculation expression for the minimum time is:
4 . The driving priority assignment method for the multi-vehicle cooperation according to claim 1 , wherein an expression of the slack nonlinear programming problem is as follows:
5 . The driving priority assignment method for the multi-vehicle cooperation according to claim 1 , wherein the step of obtaining the optimal vehicle driving priority comprises: 1) Defining an initial value i=1 of an iteration index; 2) Determining whether a number of remaining continuous solutions is 0, when the number of the remaining continuous solutions is 0, ending an iteration, t*=t, and outputting p* and t*; and when the number of the remaining continuous solutions is not 0, executing step 3); 3) Constructing and solving an i th integer programming problem to obtain a I q (i) th integer variable p*(I q (i)), wherein the vehicle driving priority p is configured as an integer variable in a construction process; 4) Constructing and solving an i th nonlinear programming problem to obtain a time t when the vehicles reach the potential collision points and remaining N q −i slack rights-of-way q(I q (i+1,i+2, . . . ,N q )); and 5) Returning to the step 3) to perform iterative calculations to obtain the optimal vehicle driving priority.
6 . The driving priority assignment method for the multi-vehicle cooperation according to claim 5 , wherein an expression of the i th integer programming problem is as follows:
7 . The driving priority assignment method for the multi-vehicle cooperation according to claim 5 , wherein an expression of the i th nonlinear programming problem is as follows:
8 . A reference velocity planning method for the driving priority assignment method for the multi-vehicle cooperation according to claim 1 , comprising the following steps: based on the optimal vehicle driving priority, solving and obtaining vehicle sequence of right-of-way under the multi-vehicle cooperation; and constructing a vehicle position constraint according to the vehicle sequence of right-of-way, and iteratively solving a vehicle real-time reference velocity according to the vehicle position constraint.
9 . The reference velocity planning method according to claim 8 , wherein the step of obtaining the vehicle sequence of right-of-way under the multi-vehicle cooperation comprises: obtaining a local priority between vehicle pair according to the optimal vehicle driving priority; and obtaining the vehicle sequence of right-of-way under the multi-vehicle cooperation based on the local priority between vehicle pair:
10 . The reference velocity planning method according to claim 8 , wherein the step of obtaining the vehicle real-time reference velocity comprises: according to the vehicle sequence of right-of-way, obtaining a time when a vehicle reaches a potential collision point, and constructing a vehicle position constraint, wherein the vehicle position constraint is as follows:
11 . The reference velocity planning method according to claim 8 , wherein in the driving priority assignment method, a calculation of the minimum time comprises two cases: case I: the vehicles are in a uniform acceleration process before reaching the potential collision points, and a calculation expression for the minimum time is:
12 . The reference velocity planning method according to claim 11 , wherein the step of obtaining the vehicle sequence of right-of-way under the multi-vehicle cooperation comprises: obtaining a local priority between vehicle pair according to the optimal vehicle driving priority; and obtaining the vehicle sequence of right-of-way under the multi-vehicle cooperation based on the local priority between vehicle pair:
13 . The reference velocity planning method according to claim 8 , wherein in the driving priority assignment method, a calculation of the maximum time comprises two cases: case I: the vehicles are in a uniform deceleration process before reaching the potential collision points, and a calculation expression for the minimum time is:
14 . The reference velocity planning method according to claim 8 , wherein in the driving priority assignment method, an expression of the slack nonlinear programming problem is as follows:
15 . The reference velocity planning method according to claim 14 , wherein the step of obtaining the vehicle sequence of right-of-way under the multi-vehicle cooperation comprises: obtaining a local priority between vehicle pair according to the optimal vehicle driving priority; and obtaining the vehicle sequence of right-of-way under the multi-vehicle cooperation based on the local priority between vehicle pair:
16 . The reference velocity planning method according to claim 8 , wherein in the driving priority assignment method, the step of obtaining the optimal vehicle driving priority comprises: 1) Defining an initial value i=1 of an iteration index; 2) Determining whether a number of remaining continuous solutions is 0, when the number of the remaining continuous solutions is 0, ending an iteration, t*=t, and outputting p* and t*; and when the number of the remaining continuous solutions is not 0, executing step 3); 3) Constructing and solving an i th integer programming problem to obtain a I q (i) th integer variable p*(I q (i)), wherein the vehicle driving priority p is configured as an integer variable in a construction process; 4) Constructing and solving an i th nonlinear programming problem to obtain a time t when the vehicles reach the potential collision points and remaining N q −i slack rights-of-way q(I q (i+1,i+2, . . . ,N q )); and 5) Returning to the step 3) to perform iterative calculations to obtain the optimal vehicle driving priority.
17 . The reference velocity planning method according to claim 16 , wherein in the driving priority assignment method, an expression of the i th integer programming problem is as follows:
18 . The reference velocity planning method according to claim 16 , wherein in the driving priority assignment method, an expression of the i th nonlinear programming problem is as follows:
19 . The reference velocity planning method according to claim 18 , wherein the step of obtaining the vehicle sequence of right-of-way under the multi-vehicle cooperation comprises: obtaining a local priority between vehicle pair according to the optimal vehicle driving priority; and obtaining the vehicle sequence of right-of-way under the multi-vehicle cooperation based on the local priority between vehicle pair:
20 . The reference velocity planning method according to claim 16 , wherein the step of obtaining the vehicle sequence of right-of-way under the multi-vehicle cooperation comprises: obtaining a local priority between vehicle pair according to the optimal vehicle driving priority; and obtaining the vehicle sequence of right-of-way under the multi-vehicle cooperation based on the local priority between vehicle pair:
Full Description
Show full text →
CROSS-REFERENCE
TO THE RELATED APPLICATIONS This application is based upon and claims priority to Chinese Patent Application No. 202410974916.0, filed on Jul. 19, 2024, the entire contents of which are incorporated herein by reference.
TECHNICAL FIELD
The present invention relates to the field of vehicle planning technologies, particularly to a driving priority assignment and reference velocity planning method for multi-vehicle cooperation.
BACKGROUND
In multi-vehicle coordinated driving, different driving sequences for resolving inter-vehicle collisions significantly impact overall traffic efficiency. Improper sequencing may lead to reduced traffic flow rates or even severe congestion scenarios. Therefore, optimizing inter-vehicle right-of-way allocation proves highly beneficial for enhancing overall network efficiency. With advancements in connected and automated vehicle (CAV) technologies, automated right-of-way planning has become feasible. However, vehicle interactions are highly complex and dynamic, making existing right-of-way planning methods insufficient for comprehensive scenario coverage, particularly in multi-vehicle right-of-way optimization for global traffic efficiency. Since vehicle driving priority assignment constitutes a mixed-integer optimization problem with tightly coupled spatio-temporal constraints among vehicles, directly obtaining an optimal solution is computationally intractable and incurs prohibitive overhead. To address this problem, some approaches employ a first-come first-serve (FCFS) scheduling algorithm or a heuristic algorithm to obtain feasible solutions while sacrificing optimality. Although computationally lightweight, these approaches often yield suboptimal results (particularly in complex multi-vehicle interaction scenarios) and lead to computational resource waste. Chinese Patent Application No. CN117690298B discloses a graph theory-based collision right-of-way allocation modeling method and system. This method constructs a collision relationship graph based on a collision relationship and determines a target passage velocity for a priority vehicle with graph analysis. However, in complex interaction scenarios, a corresponding collision relationship graph becomes more complexed, and is not suitable for a comprehensive road working condition.
SUMMARY
An objective of the present invention is to provide a driving priority assignment and reference velocity planning method for multi-vehicle cooperation, which keeps an optimal result and reduces computation amount. The objective of the present invention may be achieved by the following technical solutions: A driving priority assignment method for multi-vehicle cooperation includes the following steps: obtaining driving parameter data of vehicles under multi-vehicle cooperation, and identifying potential collision points between vehicles and calculating a time limit for vehicles to drive to the potential collision points, wherein the time limit includes a minimum time and a maximum time; constructing and solving a slack nonlinear programming problem based on the time limit for the vehicles to drive to the potential collision points to obtain an initial solution result, including an initial slack driving priority q, a time t when the vehicles reach the potential collision points, an integer solution index I p , a number of integer solutions N p , a continuous solution index I q , a number of continuous solutions N q , and an optimal priority p*(I p )=q(I p ), wherein during the process of constructing the slack nonlinear programming problem, a vehicle driving priority p involved in the potential collision points and the time t when the vehicles reach the potential collision points are used as optimization variables, and introducing a slack variable for the vehicle driving priority p; and performing iterative solution based on an initial solution result to obtain an optimal vehicle driving priority. Further, the calculation of the minimum time includes two cases: case I: the vehicles are in a uniform acceleration process before reaching the potential collision points, and the calculation expression for the minimum time is: t i , min { A } = v i , cur 2 + 2 a i , max d i { A } - v i , c u r a i , max case II: before reaching the potential collision points, the vehicles are in a uniform acceleration process, and maintain a maximum velocity and travel uniformly after accelerating to the maximum velocity, and the calculation expression for the minimum time is: t i , min { A } = v i , max - v i , cur a i , max + 2 a i , max d i { A } - ( v i , max 2 - v i , cur 2 ) 2 a i , max v i , max wherein t i , min { A } is a minimum time for vehicle i to travel to a potential collision point, v i,cur is a current velocity of vehicle i, a i,max is a maximum acceleration of vehicle i, d i { A } is a distance between vehicle i and the potential collision point, and v i,max is a maximum velocity of vehicle i. Further, the calculation of the maximum time includes two cases: case I: the vehicles are in a uniform deceleration process before reaching the potential collision points, and the calculation expression for the minimum time is: t i , max { A } = v i , cur 2 + 2 a i , min d i { A } - v i , c u r a i , min case II: before reaching the potential collision points, the vehicles are in a uniform deceleration process, and maintain a minimum velocity and travel uniformly after decelerating to the minimum velocity, and the calculation expression for the maximum time is: t i , max { A } = v i , min - v i , c u r a i , min + 2 a i , min d i { A } - ( v i , min 2 - v i , c u r 2 ) 2 a i , min v i , min wherein t i , max { A } is a maximum time for vehicle i to travel to a potential collision point, v i,cur is a current velocity of vehicle i, a i,min is a minimum acceleration of vehicle i, d i { A } is a distance between vehicle i and the potential collision point, and v i,min is a minimum velocity of vehicle i. Further, the expression of the slack nonlinear programming problem is as follows: min t , q ∈ [ 0 , 1 ] N c ∑ t c s . t . t O v ( i , k ) , min { i } ≤ t O v ( i , k ) { i } ≤ t O v ( i , k ) , max { i } , ∀ o = 1 , 2 , … , N c , k = 1 , 2 ( 2 q { i } - 1 ) ( t O v ( i , l ) { i } - t O v ( i , 2 ) { i } ) ≤ - T in , ∀ i = 1 , 2 , … , N c ( t m { I { n m } ( i + 1 ) } - t n m { I { n m } ( i ) } ) v n m { cur } ≥ d n m { I { n m } ( i + 1 ) } - d n m { I { n m } ( i ) } , ∀ n m = 1 , 2 , … , N m , i = 1 , 2 , … , C ( n m ) - 1 t = [ t O c ( 1 , 1 ) { 1 } , t O c ( 1 , 2 ) { 1 } , t O c ( 2 , 1 ) { 2 } , t O c ( 2 , 2 ) { 2 } , … , t O c ( N c , 1 ) { N c } , t O c ( N c , 2 ) { N c } ] ∈ ▯ 2 N c × 1 wherein N c is a number of the potential collision points, t c is a time when a vehicle reaches a farthest potential collision point, t O v ( i , k ) { i } is a moment when a k th vehicle involved in a i th potential collision point reaches a i th potential collision point, and O v (i,k) is a vehicle index of a k th vehicle involved in a i th potential collision point, k=1, 2, q {i} is a i th value of q, representing a vehicle driving priority at a i th potential collision point, wherein q {i} =1 represents that a vehicle O v (i,1) has priority, q {i} =0 represents that a vehicle O v (i, 2) has priority, T in is a minimum time interval for vehicles to pass the same potential collision point, N m is a number of vehicles involved in at least two potential collision points, t n m { I { n m } ( i ) } is a moment when a vehicle n m reaches a I {n m } (i) th potential collision point, I {n m } is an index of a potential collision point involved by a vehicle n m , C(n m ) is a number of potential collision points involved by a vehicle n m , v n m { c u r } is a current velocity of a vehicle n m , and d n m { I { n m } ( i ) } is a distance between a vehicle n m and a I {n m } (i) th potential collision point. Further, the obtaining an optimal vehicle driving priority includes: 1) defining an initial value i=1 of an iteration index; 2) determining whether a number of remaining continuous solutions is 0, if so, ending the iteration, t*=t, and outputting p* and t*; and if not, executing step 3); 3) constructing and solving an i th integer programming problem to obtain a I q (i) th integer variable p*(I q (i)), wherein the vehicle driving priority p is used as an integer variable in the construction process; 4) constructing and solving an i th nonlinear programming problem to obtain a time t when the vehicles reach the potential collision points and remaining N q −i slack rights-of-way q(I q (i+1, i+2, . . . , N q )); and 5) returning to the step 3) to perform iterative calculations to obtain the optimal vehicle driving priority. Further, the expression of the i th integer programming problem is as follows: P * ( I q ( i ) ) = arg min p ∈ { 0 , 1 } ( p - q ( I q ( i ) ) ) 2 wherein q(I q (i)) is the slack driving priority. Further, the expression of the i th nonlinear programming problem is as follows: min u { i } ∑ t c s . t . t O v ( j , k ) , min { j } ≤ t O v ( j , k ) { j } ≤ t O v ( j , k ) , max { j } , ∀ j = 1 , 2 , … , N c , k = 1 , 2 0 ≤ q ( j ) ≤ 1 , ∀ j = I q ( i + 1 , i + 2 , … , N q ) ( 2 r ( j ) - 1 ) ( t O v ( i , 1 ) { j } - t O v ( 1 , 2 ) { j } ) ≤ - T in , r ( j ) = { p * ( j ) , j ∈ { I q , I q ( 1 , 2 , … , i ) } q ( j ) , j ∈ I q ( i + 1 , i + 2 , … , N q ) ( t n m { I { n m } ( j + 1 ) } - t n m { I { n m } ( j ) } ) v n m { cur } ≥ d n m { I { n m } ( j + 1 ) } - d n m { I { n m } ( j ) } , ∀ n m = 1 , 2 , … , N m , j = 1 , 2 , … , C ( n m ) - 1 wherein u { i } = { t , q ( I q ( i + 1 , i + 2 , … , N q ) ) } ( 2 N c + N q - i ) × 1 I p = { i | ( q ( i ) - 0 . 5 ) 2 ≥ ( 0.5 - ε ) 2 } , N p = len ( I p ) I q = { i | ( q ( i ) - 0 . 5 ) 2 < ( 0.5 - ε ) 2 } , N q = len ( I q ) t c is a time when a vehicle reaches a farthest potential collision point, u {i} is an optimization variable, t O v ( j , k ) { j } is a moment when a k th vehicle involved in a j th potential collision point reaches a i th potential collision point, k=1, 2, q(j) is a j th value of q, representing a vehicle driving priority at a j th potential collision point, r(j) is a j th temporary driving priority used for iterative calculation of an i th nonlinear programming problem, T in is a minimum time interval between vehicles passing the same potential collision point, p*(j) is a j th value of p*, t n m { I { n m } ( j ) } is a moment when a vehicle n m reaches a I {n m } (j) th potential collision point, v n m { c u r } is a current velocity of a vehicle n m , d n m { I { n m } ( j ) } is a distance between a vehicle n m and a I {n m } (j) th potential collision point, C(n m ) is a number of potential collision points involved by a vehicle n m , N m is a number of vehicles, ε is a determination threshold set to 0-0.1, and N c is a number of potential collision points. The present invention further provides a reference velocity planning method for the driving priority assignment method for multi-vehicle cooperation, which includes the following steps: based on the optimal vehicle driving priority, solving and obtaining vehicle sequence of right-of-way under multi-vehicle cooperation; and constructing a vehicle position constraint according to the vehicle sequence of right-of-way, and iteratively solving a vehicle real-time reference velocity according to the vehicle position constraint. Further, the obtaining vehicle sequence of right-of-way under multi-vehicle cooperation includes: obtaining a local priority between vehicle pair according to the optimal vehicle driving priority; and obtaining vehicle sequence of right-of-way under multi-vehicle cooperation based on the local priority between vehicle pair: I h = { i h { 1 } , i h { 2 } , … , i h { M } } s . t . i h { 1 } ⊲ i h { 2 } , i h { 2 } ⊲ i h { 3 } , … , i h { M - 1 } ⊲ i h { M } wherein I h is the vehicle sequence of right-of-way, i h { m } is a vehicle with the sequence of right-of-way at m, is a symbol indicating a size of right-of-way, and i h { 1 } i h { 2 } represents i h { 1 } is greater than i h { 2 } . Further, the obtaining a vehicle real-time reference velocity includes: according to the vehicle sequence of right-of-way, obtaining a time when a vehicle reaches a potential collision point, and constructing a vehicle position constraint, wherein the vehicle position constraint is as follows: i m = i h { m } s { i m } ( k ) = s c u r { i m } + d i m { n } if t * ( 2 n + l - 2 ) ∈ [ t c u r + ( k - 1 ) Δ t , t c u r + k Δ t ] wherein a vehicle position and a vehicle velocity obey a vehicle second-order longitudinal dynamics model: s { i m } ( k + 1 ) = s { i m } ( k ) + v { i m } ( k ) Δ t + 0 . 5 a { i m } ( k ) Δ t 2 v { i m } ( k + 1 ) = v { i m } ( k ) + a { i m } ( k ) Δ t wherein i h { m } is a vehicle with sequence of right-of-way at m, s c u r { i m } and s {i m } (k) are a current position and a position at a moment k in the future of a vehicle i m , d i m { n } is a distance between a vehicle i m and a n th potential collision point, t*(2n+l−2) is a time when a vehicle reaches a potential collision point, t cur is a current time, v {i m } (k) is a velocity of a vehicle i m at a moment k in the future, a {i m } (k) is an acceleration of a vehicle i m at a moment k in the future, and Δt is a control time interval; according to the vehicle position constraint, constructing and solving a vehicle velocity planning problem to obtain an optimal driving acceleration of a vehicle in a prediction time domain, wherein the expression of the optimal driving acceleration is as follows: a i m * = arg min a i m ( k ) , k = 0 , 1 , … , δ - 1 L { i m } s . t . a min ≤ a i m ( k ) ≤ a max , ∀ k = 0 , 1 , … , δ - 1 , v min ≤ v i m ( k ) ≤ v max , ∀ k = 1 , 2 , … , δ , S c { i m , n } ( k ) ≤ 0 , ∀ n ∈ I h ( 1 , 2 , … , m - 1 ) s { i m } ( k ) = s cur { i m } + d i m { n } , if t * ( 2 n + l - 2 ) ∈ [ t cur + ( k - 1 ) Δ t , t cur + k Δ t ] wherein L {i m } is an optimized objective function of the vehicle, the expression is: L { i m } = ∑ k = 1 δ [ ω f W f { i m } ( k ) + ω p ∑ n ∈ I h ( 1 , 2 , … , m - 1 ) e τ [ d min - { i m , n } ( k ) ] ] - s { i m } ( δ ) W f { i m } = M v a i m v i m + 0 . 5 ρ air A f C d v i m 3 + M v g ( sin θ + C R cos θ ) v i m wherein a i m * is the optimal driving acceleration of the vehicle in the prediction time domain, L {i m } is an optimized objective function of a vehicle i m , a min , a max , v min and v max are a minimum acceleration, a maximum acceleration, a minimum velocity and a maximum velocity of a vehicle i m , δ is a predicted time domain, S c {i m ,n} (k) is an overlap area of a vertical projection area of a vehicle i m and a vehicle n at a k th moment S c {i m ,n} (k) in the future, s {i m } (δ) is a position of a terminal vehicle i m in the prediction time domain, d {i m ,n} is a distance between a vehicle i m and a vehicle n, d min is a set minimum distance, of and ω p are control weights of energy consumption and safety, τ is a set vehicle distance keeping relaxation parameter, W f { i m } is vehicle energy consumption, M v and A f are a vehicle mass and a windward area, ρ air is an air density, C d and C R are an air resistance coefficient and a wheel friction coefficient, g is an acceleration of gravity, and θ is a road gradient; and solving the vehicle real-time reference velocity with the vehicle second-order longitudinal dynamics model according to the optimal driving acceleration. Compared with the prior art, the present invention has the following beneficial effects: (1) In the priority assignment problem, a slack variable is introduced for the vehicle driving priority to construct a slack nonlinear programming problem, and an iterative solution method is used to solve the problem, so that compared with the existing vehicle driving priority assignment problem, the present invention can reduce the computation amount and maintain the optimal result. (2) The right-of-ways are sequenced according to the solved optimal driving priority, so as to construct a vehicle position constraint and solve a vehicle real-time reference velocity, which is favorable for optimizing the entire road network efficiency. (3) The present invention reduces the amount of computation and achieves quick solution even in complex interactive scenarios, thus avoiding waste of computing resources.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic flow chart of a method according to the present invention; FIG. 2 is a schematic diagram of identifying potential collision points according to the present invention; FIG. 3 is a schematic diagram of a mixed integer solution method based on slack variables according to the present invention; FIG. 4 is a schematic diagram of a multi-vehicle cooperation driving trajectory according to the present invention; and FIG. 5 is a schematic diagram of multi-vehicle cooperation driving velocitys and distances to a nearest potential collision point according to the present invention.
DETAILED
DESCRIPTION OF THE EMBODIMENTS
The present invention is described in detail below with reference to the accompanying drawings and specific embodiments. This embodiment is implemented based on the technical solution of the present invention, and provides a detailed implementation method and a specific operation process, but the protection scope of the present invention is not limited to the following embodiments. Embodiment 1 This embodiment provides a driving priority assignment method for multi-vehicle cooperation, as shown in FIG. 1 , which includes the following steps: S 1 . Time limits of vehicles to potential collision points are calculated, wherein the time limit includes a maximum time and a minimum time. Potential collision points between vehicles are identified by predicting the future driving trajectories of the vehicles. The potential collision points are shown in FIG. 2 , and each potential collision point corresponds to two vehicles involved therein. Taking a potential collision point A and a vehicle 1 involved as an example, based on a distance d 1 { A } between the vehicle and the potential collision point, a current velocity V 1,cur of the vehicle, a maximum velocity v 1,max and a minimum velocity v 1,min of the vehicle, a maximum acceleration a 1,max and a minimum acceleration a 1,min of the vehicle, the time limit for the vehicle to the potential collision point is calculated, including a maximum time t 1 , max { A } and a minimum time t 1 , min { A } . The calculation process is as follows: First, the minimum time t 1 , min { A } for the vehicle to the potential collision point is calculated, it is assumed that the vehicle accelerates to the maximum velocity before reaching the potential collision point as much as possible. If v 1 , max 2 - v 1 , cur 2 > 2 a 1 , max d 1 { A } , then it is assumed that the vehicle is in a uniform acceleration process before reaching the potential collision point, then t 1 , min { A } = v 1 , cur 2 + 2 a 1 , max d 1 { A } - v 1 , cur a 1 , max ( 1 ) Otherwise, it is assumed that the vehicle is firstly in a uniform acceleration process before reaching the potential collision point, and keeps at a constant velocity after accelerating to the maximum velocity v 1,max , then t 1 , min { A } = v 1 , max - v 1 , cur a 1 , max + 2 a 1 , max d 1 { A } - ( v 1 , max 2 - v 1 , cur 2 ) 2 a 1 , max v 1 , max ( 2 ) Then, the maximum time t 1 , max { A } for the vehicle to the potential collision point is calculated, and it is assumed that the vehicle decelerates to the minimum velocity before reaching the potential collision point as much as possible. If v 1 , min 2 - v 1 , cur 2 < 2 a 1 , min d 1 { A } , then it is assumed that the vehicle is in a uniform deceleration process before reaching the potential collision point, then t 1 , max { A } = v 1 , cur 2 + 2 a 1 , min d 1 { A } - v 1 , cur a 1 , min ( 3 ) Otherwise, it is assumed that the vehicle is firstly in a uniform deceleration process before reaching the potential collision point, and keeps at a constant velocity after decelerating to the minimum velocity v 1,min , then t 1 , max { A } = v 1 , min - v 1 , cur a 1 , min + 2 a 1 , min d 1 { A } - ( v 1 , min 2 - v 1 , cur 2 ) 2 a 1 , min v 1 , min ( 4 ) S 2 . A slack variable is defined as a control quantity. According to the time limit for the vehicle to reach the potential collision point, a slack nonlinear programming problem is constructed and solved to obtain a slack driving priority q, a time t for the vehicle to reach the potential collision point, an integer solution index I p , a number of integer solutions N p , a continuous solution index I q , a number of continuous solutions N q , and an optimal priority p*(I p )=q(I p ). It is assumed that the number of potential collision points identified in the step S 1 is N c , a matrix O v ∈□ N c ×2 is defined as recording the vehicle indexes involved in the potential collision points, for example, the values of O v (1,1) and O v (1,2) are vehicle indexes of two vehicles involved in the first potential collision point, and if there are a plurality of potential collision points involving the same two vehicles, the closest potential collision point shall prevail. The driving priority for vehicles involved in the potential collision point is defined as p=p {1} , p {2} , . . . , p {N c } ∈{0,1} N c , for example, p {1} =1 represents that a vehicle O v (1,1) has the driving priority at the first potential collision point, and p {1} =0 represents that a vehicle O v (1,2) has the driving priority at the first potential collision point. The time when the vehicle reaches the potential collision point is defined as t = [ t O v ( 1 , 1 ) { 1 } , t O v ( 1 , 2 ) { 1 } , t O v ( 2 , 1 ) { 2 } , t O v ( 2 , 2 ) { 2 } , … , t O v ( N c , 1 ) { N c } , t O v ( N c , 2 ) { N c } ] ∈ ▯ 2 N c × 1 ( 5 ) The driving priority of vehicles involved in the potential collision point (integer variable) P and the time when the vehicles reach the potential collision points (continuous variables) t are taken as optimization variables. The integer variables and continuous variables are coupled and constrained with each other. Directly solving mixed integer optimization problems (in which integer variables and continuous variables coexist in the optimization variables) produces a large computational burden. To reduce the computation amount, slack variables are introduced for integer variables. The sum of the times t c =□ N i ×1 ⊂t (N i is the number of vehicles involved in the potential collision points) of reaching the farthest potential collision point involved by the vehicles is taken as the optimization objective to be minimized, and the following nonlinear optimization problem is constructed to solve the slack driving priority q and the reaching time t. min t , q ∈ [ 0 , 1 ] N c ∑ t c ( 6 ) s . t . t O v ( i , k ) , m i n { i } ≤ t O v ( i , k ) { i } ≤ t O v ( i , k ) , m ax { i } , ∀ i = 1 , 2 , … , N c , k = 1 , 2 ( 2 q { i } - 1 ) ( t O v ( i , 1 ) { i } - t O v ( i , 2 ) { i } ) ≤ - T i n , ∀ i = 1 , 2 , … , N c ( t n m { I { n m } ( i + 1 ) } - t n m { I { n m } ( i ) } ) v n m { c u r } ≥ d n m { I { n m } ( i + 1 ) } d n m { I { n m } ( i ) } , ∀ n m = 1 , 2 , … , N m , i = 1 , 2 , … , C ( n m ) - 1 wherein T in is a minimum time interval between vehicles passing through the same potential collision point, N m is a number of vehicles involved in at least two potential collision points, I{n m } is an index of the potential collision point involving the vehicle n m (sequencing in increasing order of d n m { I { n m } ( i ) } ) , and C(n m ) is a number of potential collision points involved by the vehicle n m . Among the three constraints in the nonlinear optimization problem, the first constraint is the time limit for the vehicle to reach the potential collision point, the second constraint is the coupling constraint of integer variables and continuous variables, and the third constraint is to ensure that the time for the same vehicle to reach different potential collision points increases in the order of distance. The following steps and steps S 3 -S 5 are iterative solution steps. As shown in FIG. 3 , the iterative solution process is: There may be a part of the solutions in the slack driving priority q that are already integer solutions, that is, these solutions are distributed on the constraint boundary and are 0 or 1. The integer solution index is defined as I p , and the number of integer solutions is defined as N p , that is, I p ={i |( q ( i )−0.5) 2 ≥(0.5−ε) 2 },N p =len( I p ) (7) wherein ε is a determination threshold, which may be set to 0-0.1. The continuous solution index is defined as I q , and the number of continuous solutions is defined as N q I q ={i |( q ( i )−0.5) 2 <(0.5−ε) 2 },N q =len( I q ) (8) The part of the optimal priority p* indexed by I p is p*(I p )=q(I p ). An initial value i=1 of an iteration index is defined. S 3 . Whether the number of remaining continuous solutions is 0 is determined, if so, the calculation ends, t*=t, and p* and t* are outputted; otherwise, S 4 and S 5 are calculated and S 3 is continued. S 4 . The i th integer programming problem is solved, and the I q (i) th integer variable p*(I q (i)) is obtained. The following i th integer programming problem is constructed to solve the I q (i) th value p*(I q (i)) in the optimal priority p*, that is, p * ( I q ( i ) ) = arg min p ∈ { 0 , 1 } ( p - q ( I q ( i ) ) ) 2 ( 9 ) wherein q(I q (i)) is the slack driving priority, if i=1, then q(I q (i)) is obtained from the solution of the nonlinear optimization problem in step S 2 , If i>1, then q(I q (i)) is obtained from the solution of the i−1 th nonlinear optimization problem in step S 5 at the previous iteration (i.e., i=i−1). S 5 . An i th nonlinear programming problem is solved to obtain a time t when the vehicles reach the potential collision points and remaining N q −i slack rights-of-way q(I q (i+1,i+2, . . . , N q )). In the i th iteration, the number of fixed integer results in the optimal priority p* is N p +i, the fixed integer result index is {I p , I q (1,2, . . . ,i)}, the number of integer variables to be solved is N q −i, and the integer variable index to be solved is I q (i+1,i+2, . . . , N q ). Therefore, in the i th nonlinear programming problem, the optimization variable u {i} is defined as the time t when the vehicle reaches the potential collision point and the remaining N q −i slack rights-of-way q(I q (i+1,i+2, . . . , N q )), that is, u {i} ={t,q ( I q ( i+ 1, i+ 2, . . . , N q ))} (2N c +N q −i)×1 (10) The following i th nonlinear programming problem is constructed to solve the time t when the vehicle reaches the potential collision point and the remaining N q −i slack rights-of-way q(I q (i+1,i+2, . . . , N q )). min u { i } ∑ t c ( 11 ) s . t . t O v ( j , k ) , m in { j } ≤ t O v ( j , k ) { j } ≤ t O v ( j , k ) , m ax { j } , ∀ j = 1 , 2 , … , N c , k = 1 , 2 0 ≤ q ( j ) ≤ 1 , ∀ j = I q ( i + 1 , i + 2 , … , N q ) ( 2 r ( j ) - 1 ) ( t O v ( i , 1 ) { j } { - t O v ( i , 2 ) { j } ) ≤ - T i n , r ( j ) = { p * ( j ) , j ∈ { I q , I q ( 1 , 2 , … , i ) } q ( j ) , j ∈ I q ( i + 1 , i + 2 , … , N q ) ( t n m { I { n m } ( j + 1 ) } - t n m { I { n m } ( j ) } ) v n m { c u r } ≥ d n m { I { n m } ( j + 1 ) } d n m { I { n m } ( i ) } , ∀ n m = 1 , 2 , … , N m , j = 1 , 2 , … , C ( n m ) - 1 Embodiment 2 This embodiment provides a reference velocity planning method for the driving priority assignment method for multi-vehicle cooperation according to Embodiment 1, as shown in FIG. 1 , which includes the following steps: S 6 . According to the optimal rights-of-way of the vehicles, the vehicle sequence of right-of-way is solved. According to the optimal vehicle driving priority, the local priority between vehicle pair is obtained, that is: for the potential collision point involving the vehicle m and the vehicle n (m<n), if the priority is p=1, then m n; if the priority is p=0, then m n. Since only the potential collision point closest to the two vehicles is considered, the local priority between vehicle pair may be uniquely determined. If there is no potential collision point between the vehicle m and the vehicle n, then both m n and m n hold. According to the above definition, the vehicle sequence of right-of-way I h may be obtained in a network containing M vehicles, that is, I h = { i h { 1 } , i h { 2 } , … , i h { M } } ( 12 ) s . t . i h { 1 } i h { 2 } , i h { 2 } i h { 3 } , … , i h { M - 1 } i h { M } S 7 . According to the time reference constraint, the vehicle position constraint is constructed, and the real-time reference velocity of the vehicle under the high right-of-way vehicle safety constraint is iteratively solved according to the vehicle position constraint. If vehicle i m = i h { m } participates in the potential collision point n, i.e., i m =O v (n,l), l=1, 2, then the vehicle position constraint of vehicle i m = i h { m } is constructed according to the time t*(2n+l−2) when the vehicle reaches the potential collision point: s { i m } ( k ) = s c u r { i m } + d i m { n } ( 13 ) if t * ( 2 n + l - 2 ) ∈ [ t c u r + ( k - 1 ) Δ t , t c u r + k Δ t ] wherein t cur is the current time, and s c u r { i m } and s {i m } (k) are a current position and a position at a moment k in the future of the vehicle i m . The vehicle position s {i m } and the vehicle velocity v {i m } obey a vehicle second-order longitudinal dynamics model s { i m } ( k + 1 ) = s { i m } ( k ) + v { i m } ( k ) Δ t + 0 . 5 a { i m } ( k ) Δ t 2 ( 14 ) v { i m } ( k + 1 ) = v { i m } ( k ) + a { i m } ( k ) Δ t wherein a {i m } is the vehicle acceleration and Δt is the control time interval. According to the vehicle position constraints, the velocity planning problem of the i m = i h { m } t h vehicle is constructed as follows, and the optimal driving acceleration a i m * in the vehicle prediction time domain is solved and obtained. a i m * = arg min a i m ( k ) , k = 0 , 1 , … , δ - 1 L { i m } ( 15 ) s . t . a m i n ≤ a i m ( k ) ≤ a m a x , ∀ k = 0 , 1 , … , δ - 1 , v m i n ≤ v i m ( k ) ≤ v m ax , ∀ k = 1 … , δ , S c { i m , n } ( k ) ≤ 0 , ∀ n ∈ I n ( 1 , 2 , … , m - 1 ) s { i m } ( k ) = s c u r { i m } + d i m { n } , if t * ( 2 n + l - 2 ) ∈ [ t c u r + ( k - 1 ) Δ t , t c u r + k Δ t ] δ is the prediction time domain, S c {i m ,n} is an overlap area of a vertical projection area of the vehicle i m and the vehicle n, which may be calculated by the vehicle position, a min , a max , v min and v max are the minimum acceleration, maximum acceleration, minimum velocity and maximum velocity of the vehicle i m ·L {i m } is the optimized objective function of the vehicle i m , which includes vehicle energy consumption, safety and fast driving terms, that is, L { i m } = ∑ k = 1 δ [ ω f W f { i m } ( k ) + ω p ∑ n ∈ I h ( 1 , 2 , … , m - 1 ) e τ [ d m i n - d { i m , n } ( k ) ] ] - s ( i m ) ( δ ) ( 16 ) d {i m ,n} is a distance between the vehicle i m and the vehicle n, d min is a set minimum distance, ω f and ω p are control weights of energy consumption and safety, τ is a set vehicle distance keeping relaxation parameter, W f { i m } is vehicle energy consumption, which is calculated by the formula: W f { i m } = M v a i m v i m + 0 . 5 ρ air A f C d v i m 3 + M v g ( sin θ + C R cos θ ) v i m ( 17 ) M v And A f are a vehicle mass and a windward area, ρ air is an air density, C d and C R are an air resistance coefficient and a wheel friction coefficient, g is an acceleration of gravity, and θ is a road gradient. Finally, according to the optimal driving acceleration a i m * , the vehicle real-time reference velocity v i m * is obtained by solving formula (14). Taking the vehicle interaction scenario shown in FIG. 4 as an example, a simulation is performed in MATLAB. The number of vehicles is 5, the velocity limit is 1 m/s to 4 m/s, and the vehicle acceleration limit is −1 m/s 2 to 1 m/s 2 . The simulation results are shown in FIG. 5 , where A, B, and C represent the times 0 s, 6 s, and 15 s, respectively. It may be seen from FIG. 5 that the vehicles may pass through the potential collision points safely and orderly, and when necessary, the vehicles slow down and yield for safety reasons (for example, within 0-6 s, there is a potential collision point between vehicle 1 and vehicle 2 , so vehicle 2 slows down and waits within 0-6 s, and starts to accelerate only after vehicle 1 passes the corresponding potential collision point), which illustrates the effectiveness of the present invention in ensuring vehicle interaction safety. Although the preferred embodiments of the present invention have been described, those skilled in the art can make changes and modifications to these embodiments once they learn the basic inventive concept. Therefore, the following claims are intended to be construed as to cover the preferred embodiments and all changes and modifications falling within the scope of the present invention. It is clear that those skilled in the art can make various modifications and variations to the present invention without departing from the spirit and scope of the present invention. The present invention is intended to cover these modifications and variations provided that they fall within the scope of protection defined by the claims of the present invention and their equivalent technologies.
Citations
This patent cites (13)
- US10553115
- US11670171
- US11727497
- US11853065
- US2008/0288162
- US2011/0210866
- US2016/0332570
- US2017/0151944
- US2020/0223432
- US2023/0049268
- US2024/0166204
- US2024/0355204
- US117690298