A method for reserving vehicle travel time at unsignalized intersections based on Petri net modeling

The Petri network modeling and dividing the right points and adjusting the vehicle pass time, solving the problem of waiting for vehicles without signal intersections and improving road traffic efficiency and resource utilization.

CN118471000BActive Publication Date: 2024-12-17NANTONG UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410616514.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-05-17
Publication Date
2024-12-17
Estimated Expiration
2044-05-17

AI Technical Summary

Technical Problem

At no signal intersections, vehicles are waiting in cycles due to competition in the right-of-way point, resulting in poor traffic flow, and it is difficult for the existing technology to effectively coordinate vehicle movement and improve traffic efficiency.

Method used

Using the Petri network modeling method, the right-of-way points are divided, the fastest passing time of the vehicle without interference is calculated, and the time when the vehicle enters and leaves the right-of-way points is adjusted according to the vehicle scheduling sequence to reserve the passage time and avoid passing time. Loop waiting.

Benefits of technology

By reserving vehicle passage time, maximizing the use of road resources, reducing the waiting time of vehicles at intersections, improving road passage efficiency, and avoiding circular waiting.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118471000B_ABST
    Figure CN118471000B_ABST
Patent Text Reader

Abstract

The present invention belongs to the field of intelligent transportation, and specifically relates to a method for reserving vehicle travel time at an unsignalized intersection based on Petri net modeling. The method of the present invention comprises the following steps: S1, dividing the right-of-way points in the unsignalized intersection and establishing a Petri net model; S2, calculating the fastest time for a vehicle to pass through the intersection without interference from other vehicles and allocating it to each right-of-way point, using this time as a reference for reserving travel time; S3, adjusting the fastest time for each vehicle to enter a certain right-of-way point and the corresponding fastest time to leave the right-of-way point according to the vehicle scheduling sequence, and adjusting the reference for reserving travel time. The present invention realizes the reservation of the time occupied by the right-of-way points during the passage of vehicles at the intersection by performing a reasonable grid design on the intersection and using Petri nets for graphical modeling, thereby avoiding vehicles from waiting in a loop at the intersection.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the field of intelligent transportation, and in particular relates to a method for reserving vehicle travel time at an unsignalized intersection based on Petri net modeling. Background Art

[0002] As a key node connecting urban roads, intersections account for a large proportion of traffic accidents in my country. When the traffic flow at a signalized intersection increases, the signal cannot adapt to the traffic flow in real time, which will cause unnecessary waiting time. With the development of various technologies such as perception technology, communication technology, positioning technology, and assisted driving technology, the innovation and development of intelligent connected vehicles have been promoted. The unsignalized intersection consists of a general control center and four sub-control centers. The intelligent connected vehicles that reach the communication range of the intersection send their information to the sub-control center. The sub-control center periodically transmits the data to the general control and then feeds back to the vehicle's corresponding scheduling strategy. The vehicle traffic strategy at the unsignalized intersection can better coordinate the movement of intelligent connected vehicles, which helps to improve traffic safety and traffic efficiency. At the intersection, vehicles from different directions compete with each other for road rights. This competition will cause vehicles to form a circular waiting phenomenon in the intersection. Each vehicle is waiting for the next vehicle to release the required road rights, while occupying the road rights required by other vehicles. Summary of the invention

[0003] The purpose of the present invention is to overcome the shortcomings of the prior art and propose a method for reserving vehicle travel time at an unsignalized intersection based on Petri net modeling, which reserves the occupancy time of right-of-way points for vehicles passing through unsignalized intersections, avoids vehicles waiting in a circle at the intersection, maximizes the use of road resources, and improves road travel efficiency.

[0004] In order to achieve the above-mentioned purpose, the present invention adopts the following technical solutions:

[0005] A method for reserving vehicle travel time at an unsignalized intersection based on Petri net modeling includes the following steps:

[0006] S1. Divide the right-of-way points in the unsignalized intersection and establish a Petri net model;

[0007] S2. Calculate the fastest time for a vehicle to pass through the intersection without interference from other vehicles and allocate it to each right-of-way point, using this time as a reserved benchmark for travel time;

[0008] S3. According to the vehicle dispatch sequence, the fastest time for each vehicle to enter a certain right-of-way point and the corresponding fastest time for leaving the right-of-way point are adjusted to adjust the reserved travel time benchmark.

[0009] As a preferred technical solution of the present invention, in S1: c_num right-of-way points are divided, each right-of-way point has a width of w and can only accommodate one vehicle, and there is no extra space between adjacent right-of-way points; each vehicle must pass through the right-of-way points on the path in sequence; the number of right-of-way points on the left turn, straight ahead and right turn paths are num_L, num_S, num_R respectively; P is , P if represents the waiting area and departure area of ​​the vehicle in lane i; P iLa Indicates that the left-turning vehicle in the i-th lane is currently at the a-th right-of-way point on the driving path, 1≤a≤num_L, T iLb Indicates that the left-turning vehicle in lane i begins to enter the b-th right-of-way point, 1≤b≤num_L, T iL(b+1) Indicates that the left-turning vehicle in lane i leaves the b-th right-of-way point.

[0010] As a preferred technical solution of the present invention, in S2: the safe speeds of the vehicle turning left, going straight, and turning right at the intersection without interference from other vehicles are set to V and V respectively. L , V S , V R , the speed of the vehicle in the intersection is not allowed to exceed the set safety speed; the time for the vehicle to turn left at the fastest safety speed through each right-of-way point is:

[0011]

[0012] The vehicle goes straight and turns right at each right-of-way point at the fastest safe speed. S 、T R Calculate with formula (1).

[0013] As a preferred technical solution of the present invention, S3 includes the following steps:

[0014] S3.1, the vehicle code is "lane number. driving direction. position", "1.1.1" the first "1" means the vehicle is in lane 1, the middle value "1" means turn left, the middle value "2" means go straight, the middle value "3" means turn right; initial dispatch vehicle table Car_go = [Car 1 ,Car 2 ,…Car num ], where Car num Indicates the code of the vehicle to be passed through the intersection, and num is the total number of vehicles passing through the intersection;

[0015] S3.2, initialize the road right point occupation time table C_time = [C 1 ,C 2 ,…,C n ], where C nIndicates the time period during which the right-of-way point n is occupied. Set C n The initial value of is [0,0], indicating that the current right-of-way point is not occupied by a vehicle;

[0016] S3.3, initialize vehicle travel timetable Car_time = [car 1 ,car 2 ,…,car i ], where car i Indicates the time period during which vehicle i passes the corresponding right-of-way point, and sets car i The initial value of is [0,0], indicating that the vehicle has not entered the intersection yet;

[0017] S3.4. Initialize the right-of-way point occupied vehicle table C_car = [c_car 1 ,c_car 2 ,…,c_car n ], where c_car n Indicates the vehicle number occupying the right-of-way point n, set c_car n The initial value of is [], indicating that the right-of-way point n is not occupied by a vehicle;

[0018] S3.5. Set the time reserve benchmarks for vehicles turning left, going straight, and turning right as follows:

[0019] pass_time=[[left 1 ,left 2 ,…,left num_L ],[straight 1 ,straight 2 ,…,straight num_S ,],[right 1 ,right 2 ,…right num_R ,]]; num_L, num_S, num_R are the number of right-of-way points for left turn, straight ahead and right turn respectively;

[0020] S3.6, set the right-of-way point C_occ that needs to be passed on each road left turn, straight going, and right turn path;

[0021] S3.7, initialize i=0, representing the calculation of the i-th transition; set i=i+1, determine whether i is less than or equal to the scheduling sequence length, if i≤scheduling sequence length, proceed to S3.8, otherwise proceed to S3.17;

[0022] S3.8, determine whether the current operation is the last one for the vehicle, if not, proceed to S3.9, if yes, proceed to S3.16;

[0023] S3.9, the index of the vehicle among all vehicles, the priority of the vehicle in the lane, the number of the right-of-way point C_arrive that the vehicle arrives at, the time pre_time when the vehicle leaves the previous right-of-way point, the number C_name of the current right-of-way point to be passed, the pre_name of the right-of-way point that the vehicle passed in the previous step, the time last_time when the last vehicle left the current right-of-way point, and the shortest time short_time required to leave the current right-of-way point;

[0024] S3.10, determine whether the current vehicle has passed the first right-of-way point, if so, proceed to S3.11, otherwise proceed to S3.12;

[0025] S3.11. Find the time when the last vehicle leaves the right-of-way point that the current vehicle is about to pass, and use this time as the time when the vehicle enters the right-of-way point, start_time = last_time;

[0026] S3.12, determine whether the time when the vehicle last left the right-of-way point is greater than the time when the last vehicle left the current right-of-way point. If so, proceed to S3.13, otherwise proceed to S3.14;

[0027] S3.13, the time when the vehicle last left the right-of-way point is taken as the start time, start_time = last_time;

[0028] S3.14, the time when the last vehicle leaves the current right-of-way point is taken as the starting time, strat_time = pre_time;

[0029] S3.14.1. Change the time of leaving the last right-of-way point in Car_time to last_time, and change the time of ending the right-of-way point occupation in c_time to last_time;

[0030] S3.15, the time of leaving the right-of-way point is the time of entering the right-of-way point plus the fastest time of leaving the current right-of-way point end_time = start_time + short_time;

[0031] The time period occupied by the right-of-way point is period = [start_time, end_time], add period to C_time[C_name], car_time[index][0] = start_time, car_time[index][1] = end_time, add this car to C_car[c_name]; S3.16, let i = i+1, and proceed to S3.7;

[0032] S3.17. Output C_time, C_car, Car_time.

[0033] The method for reserving vehicle travel time at an unsignalized intersection based on Petri net modeling described in the present invention adopts the above technical solution and has the following technical effects compared with the prior art:

[0034] 1. The present invention aims at the problem of vehicle passage at an unsignalized intersection, and converts the vehicle scheduling sequence obtained through the Petri net into the time of the vehicle passing the intersection right-of-way point.

[0035] 2. By presetting the fastest travel time at the right-of-way point and adjusting it according to the vehicle dispatch sequence, the shortest time for vehicles waiting to enter the intersection to leave the intersection can be shortened. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] Figure 1 is a flow chart of the method of the present invention;

[0037] Figure 2 is the intersection model in the specific example of the present invention;

[0038] Figure 3 is a Petri net model of an unsignalized intersection in a specific example of the present invention;

[0039] Figure 4 It is a Gantt chart corresponding to the scheduling sequence in the specific example of the present invention. DETAILED DESCRIPTION

[0040] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present application, some symbols in the embodiments of the present application are first explained to facilitate understanding by those skilled in the art.

[0041] like Figure 1 As shown, a method for reserving vehicle travel time at an unsignalized intersection based on Petri net modeling includes the following steps:

[0042] S1. Divide the right-of-way points in the unsignalized intersection and establish a Petri net model;

[0043] S2. Calculate the fastest time for a vehicle to pass through the intersection without interference from other vehicles and allocate it to each right-of-way point, using this time as a reserved benchmark for travel time;

[0044] S3. According to the vehicle dispatch sequence, the fastest time for each vehicle to enter a certain right-of-way point and the corresponding fastest time for leaving the right-of-way point are adjusted to adjust the reserved travel time benchmark.

[0045] In S1: c_num right-of-way points are divided, each of which has a width of w and can only accommodate one vehicle, and there is no extra space between adjacent right-of-way points; each vehicle must pass through the right-of-way points on the path in order; the number of right-of-way points on the left turn, straight ahead, and right turn paths are num_L, num_S, and num_R respectively; P is , P if represents the waiting area and departure area of ​​the vehicle in lane i; P iLa Indicates that the left-turning vehicle in the i-th lane is currently at the a-th right-of-way point on the driving path, 1≤a≤num_L, T iLb Indicates that the left-turning vehicle in lane i begins to enter the b-th right-of-way point, 1≤b≤num_L, T iL(b+1) Indicates that the left-turning vehicle in lane i leaves the b-th right-of-way point.

[0046] In S2, the safe speeds for vehicles to turn left, go straight, and turn right at the intersection without interference from other vehicles are set to V L , V S , V R , the speed of the vehicle in the intersection is not allowed to exceed the set safety speed; the time for the vehicle to turn left at the fastest safety speed through each right-of-way point is:

[0047]

[0048] The vehicle goes straight and turns right at each right-of-way point at the fastest safe speed. S 、T R Calculate with formula (1).

[0049] S3 includes the following steps:

[0050] S3.1, the vehicle code is "lane number. driving direction. position", "1.1.1" the first "1" means the vehicle is in lane 1, the middle value "1" means turn left, the middle value "2" means go straight, the middle value "3" means turn right; initial dispatch vehicle table Car_go = [Car 1 ,Car 2 ,…Car num ], where Car num Indicates the code of the vehicle to be passed through the intersection, and num is the total number of vehicles passing through the intersection;

[0051] S3.2, initialize the road right point occupation time table C_time = [C 1 ,C 2 ,…,C n ], where C n Indicates the time period during which the right-of-way point n is occupied. Set C nThe initial value of is [0,0], indicating that the current right-of-way point is not occupied by a vehicle;

[0052] S3.3, initialize vehicle travel timetable Car_time = [car 1 ,car 2 ,…,car i ], where car i Indicates the time period during which vehicle i passes the corresponding right-of-way point, and sets car i The initial value of is [0,0], indicating that the vehicle has not entered the intersection yet;

[0053] S3.4. Initialize the right-of-way point occupied vehicle table C_car = [c_car 1 ,c_car 2 ,…,c_car n ], where c_car n Indicates the vehicle number occupying the right-of-way point n, set c_car n The initial value of is [], indicating that the right-of-way point n is not occupied by a vehicle;

[0054] S3.5. Set the time reserve benchmarks for vehicles turning left, going straight, and turning right as follows:

[0055] pass_time=[[left 1 ,left 2 ,…,left num_L ],[straight 1 ,straight 2 ,…,straight num_S ,],[right 1 ,right 2 ,…right num_R ,]]; num_L, num_S, num_R are the number of right-of-way points for left turn, straight ahead and right turn respectively;

[0056] S3.6, set the right-of-way point C_occ that needs to be passed on each road left turn, straight going, and right turn path;

[0057] S3.7, initialize i=0, representing the calculation of the i-th transition; set i=i+1, determine whether i is less than or equal to the scheduling sequence length, if i≤scheduling sequence length, proceed to S3.8, otherwise proceed to S3.17;

[0058] S3.8, determine whether the current operation is the last one for the vehicle, if not, proceed to S3.9, if yes, proceed to S3.16;

[0059] S3.9, the index of the vehicle among all vehicles, the priority of the vehicle in the lane, the number of the right-of-way point C_arrive that the vehicle arrives at, the time pre_time when the vehicle leaves the previous right-of-way point, the number C_name of the current right-of-way point to be passed, the pre_name of the right-of-way point that the vehicle passed in the previous step, the time last_time when the last vehicle left the current right-of-way point, and the shortest time short_time required to leave the current right-of-way point;

[0060] S3.10, determine whether the current vehicle has passed the first right-of-way point, if so, proceed to S3.11, otherwise proceed to S3.12;

[0061] S3.11. Find the time when the last vehicle leaves the right-of-way point that the current vehicle is about to pass, and use this time as the time when the vehicle enters the right-of-way point, start_time = last_time;

[0062] S3.12, determine whether the time when the vehicle last left the right-of-way point is greater than the time when the last vehicle left the current right-of-way point. If so, proceed to S3.13, otherwise proceed to S3.14;

[0063] S3.13, the time when the vehicle last left the right-of-way point is taken as the start time, start_time = last_time;

[0064] S3.14, the time when the last vehicle leaves the current right-of-way point is taken as the starting time, strat_time = pre_time;

[0065] S3.14.1. Change the time of leaving the last right-of-way point in Car_time to last_time, and change the time of ending the right-of-way point occupation in c_time to last_time;

[0066] S3.15, the time of leaving the right-of-way point is the time of entering the right-of-way point plus the fastest time of leaving the current right-of-way point end_time = start_time + short_time;

[0067] The time period occupied by the right-of-way point is period = [start_time, end_time], add period to C_time[C_name], car_time[index][0] = start_time, car_time[index][1] = end_time, add this car to C_car[c_name]; S3.16, let i = i+1, and proceed to S3.7;

[0068] S3.17. Output C_time, C_car, Car_time.

[0069] When implementing it, Figure 2 As shown in the figure, take a two-way two-lane road as an example, the lane width is 8m, and there are four right-of-way points in the intersection. The width of the right-of-way point w is 4m, and the vehicle length is 3m. There are two vehicles in lane 1, numbered "1.2.1" and "1.3.1" respectively, one vehicle in lane 2, numbered "2.2.1", one vehicle in lane 3, numbered "3.1.1", and one vehicle in lane 4, numbered "4.2.1". The vehicle pass coding sequence is {1.2.1,2.2.1,3.1.1,1.2.1,1.3.1,1.3.1,1.2.1,2.2.1,4.2.1,3.1.1,4.2.1,2.2.1,4.2.1,3.1.1,3.1.1} and the transition scheduling sequence is {T1S1,T2S1,T3L1,T1S2,T1R1,T1R2,T1S3,T2S2,T4S1,T3L2,T4S2,T2S3,T4S3,T3L3,T3L4}.

[0070] 1) Divide the right-of-way points for the intersection conflicts in the unsignalized intersection and establish a Petri net model, such as Figure 3 As shown. Divide c_num=4 right-of-way points, each right-of-way point has a width of w=4 and can only accommodate one vehicle, and there is no extra space between adjacent right-of-way points. Each vehicle must pass through the right-of-way points on the path in order. The number of right-of-way points on the left turn, straight ahead and right turn paths are num_L=3, num_S=2, num_R=1 respectively. is , P if Indicates the waiting area and departure area for vehicles in lane i. iLa Indicates that the left-turning vehicle in the i-th lane is currently at the a-th right-of-way point on the driving path (1≤a≤num_L). iLb Indicates that the left-turning vehicle in lane i begins to enter the b-th right-of-way point (1≤b≤num_L), T iL(b+1) Indicates that the left-turning vehicle in lane i leaves the b-th right-of-way point.

[0071] 2) Calculate the fastest time for a vehicle to pass through an intersection without interference from other vehicles and allocate it to each right-of-way point, using this time as a reserved benchmark for travel time.

[0072] Set the safe speed (V L =2m / s,V S =4m / s,V R=1m / s), the speed of the vehicle in the intersection is not allowed to exceed the set safety speed. The time for the vehicle to turn left, go straight, or turn right through each right-of-way point at the fastest safety speed is T L =2s, T S =1s, T R =4s.

[0073] 3) According to the vehicle dispatch sequence, calculate the fastest time for each vehicle to enter a certain right-of-way point and the corresponding fastest time to leave the right-of-way point, and adjust the reserved travel time benchmark.

[0074] 3.1) Initial dispatch vehicle table

[0075] Car_go=[1.2.1,1.3.1,2.2.1,3.1.1,4.2.1].

[0076] 3.2) Initialize the road right point occupancy schedule

[0077] C_time=[[0,0],[0,0],[0,0],[0,0]].

[0078] 3.3) Initialize vehicle travel schedule

[0079] Car_time=[[0,0],[0,0],[0,0],[0,0],[0,0]].

[0080] 3.4) Initialize the vehicle table for right-of-way points

[0081] C_car=[[],[],[],[]]

[0082] 3.5) Set the time reserve benchmark for vehicles turning left, going straight, and turning right.

[0083] time_pass=[[2,2,2],[1,1],[4]]

[0084] 3.6) Set the right-of-way points that need to be passed on each road for turning left, going straight, and turning right

[0085] C_occ=[[[C1,C4,C3],[C1,C4],[C1]],

[0086] [[C2,C1,C4],[C2,C1],[C2]],

[0087] [[C3,C2,C1,],[C3,C2],[C3]],

[0088] [[C4,C3,C2],[C4,C3],[C4]]]

[0089] 3.7) Initialize i=0, which means the i-th transition has been calculated; set i=i+1, and determine whether i is less than or equal to the scheduling sequence length. The current transition scheduling sequence is {T1S1, T2S1, T3L1, T1S2, T1R1, T1R2, T1S3, T2S2, T4S1, T3L2, T4S2, T2S3, T4S3, T3L3, T3L4}, so the transition scheduling sequence length is 15, and proceed to step 3.8), otherwise proceed to step 3.17)

[0090] 3.8) Determine whether this is the last operation of the vehicle. If not, proceed to step 3.9). Otherwise, proceed to step 3.16). If i=3, the vehicle pass code sequence is '1.2.1', and the transition scheduling sequence is 'T1S2'. This is the last operation of the vehicle. Go to step 3.16)

[0091] 3.9) The index of the vehicle among all vehicles, the priority of the vehicle in the lane, and the right-of-way point C_arrive at which the vehicle arrives.

[0092] The time pre_time when the vehicle leaves the previous right-of-way point, the number C_name of the current right-of-way point to be passed, the pre_name of the right-of-way point passed by the vehicle in the previous step, the time last_time when the last vehicle leaves the current right-of-way point, and the shortest time short_time required to leave the current right-of-way point. If i=1, the vehicle traffic code sequence is '1.2.1', the transition scheduling sequence is 'T1S1', Index=0, Priority=1, C_arrive=1, Pre_name=[], Last_time=0, Short_time=1.

[0093] 3.10) Determine whether the current vehicle has passed the first right-of-way point. If so, proceed to step 3.11), otherwise proceed to step 3.12)

[0094] 3.11) Find the time when the last vehicle leaves the right-of-way point that the current vehicle is about to pass, and use this time as the time when the vehicle enters the right-of-way point, start_time = last_time. If i = 1, the time when the last vehicle leaves the right-of-way point that the current vehicle is about to pass is Last_time = 0, and start_time = last_time = 0.

[0095] 3.12) Determine whether the time when the vehicle last left the right-of-way point is greater than or equal to the time when the last vehicle left the current right-of-way point. If so, proceed to step 3.13), otherwise proceed to step 3.14);

[0096] 3.13) The time when the vehicle leaves the right-of-way point in the last step is taken as the starting time, start_time = pre_time. If i = 4, the vehicle pass code sequence is '1.2.1', the transition scheduling sequence is 'T1S2', pre_time = 1, last_time = 0, start_time = pre_time = 1.

[0097] 3.14) The time when the last vehicle leaves the current right-of-way point is taken as the starting time, strat_time = last_time.

[0098] 3.14.1) Modify the time of leaving the last right-of-way point in Car_time to last_time, and modify the end time of right-of-way point occupation in c_time to last_time. If i=10, the vehicle traffic code sequence is '3.1.1', the transition scheduling sequence is 'T3S2, pre_time=2, last_time=5, start_time=last_time=5, and modify the end time of right-of-way point occupation in c_time to 5. 3.15) The time of leaving the right-of-way point is the time of entering the right-of-way point plus the fastest time of leaving the current right-of-way point end_time=start_time+short_time. The right-of-way point occupation time period is period=[start_time, end_time], and period is added to C_time[C_name],

[0099] car_time[index][0] = start_time, car_time[index][1] = end_time, add this car to C_car[c_name]. If i = 10,

[0100] C_car=[['1.2.1','1.3.1','2.2.1'],['2.2.1','3.1.1'],['3.1.1'],['1.2.1','4.2.1']]

[0101] Car_time=[[[0,1],[1,2]],[[1,5]],[[0,5],[5,6]],[[0,5],[5,7]],[[2,3]]]

[0102] C_time=[[[0,0],[0,1],[1,5],[5,6]],[[0,0],[0,5],[5,7]],[[0,0],[0,5]],[[0,0],[1,2],[2,3]]]

[0103] 3.16) Let i=i+1 and proceed to step 3.7)

[0104] 3.17) Output C_time, C_car, Car_time C_car = [['1.2.1','1.3.1','2.2.1','3.1.1'],['2.2.1','3.1.1'],['3.1.1','4.2.1','4.2.1'],['1.2.1','4.2.1']] Car_time = [[[0,1],[ 1,2]],[[1,5]],[[0,5],[5,6]],[[0,5],[5,7],[7,9]],[[2,5],[5,6],[6,7]]]C_time= [[[0,1],[1,5],[5,6],[7,9]],[[0,5],[5,7]],[[0,5],[5,6],[6,7]],[[1,2],[2,5]]]

[0105] The vehicle reservation time obtained after the operation in this example is as follows Figure 4 shown.

[0106] The present invention calculates the time that each vehicle occupies a road right point in a group of vehicle transition scheduling sequences by adjusting the travel reference time. When calculating a certain transition, first determine whether the vehicle is the last passing operation. If it is the last operation, skip it directly. Otherwise, determine whether it enters the first right-of-way point. If it enters the first right-of-way point, the time when the vehicle starts to enter the right-of-way point is the time when the last vehicle leaves the right-of-way point. The travel time benchmark corresponding to the current driving is used as the time when the vehicle leaves the current right-of-way point. If it is not entering the first right-of-way point, compare the time when the vehicle leaves the right-of-way point in the previous step and the time when the last vehicle leaves the current right-of-way point. If the time when the vehicle leaves the right-of-way point in the previous step is earlier than the time when the last vehicle leaves the current right-of-way point, it is necessary to adjust the time occupied by the right-of-way point in the previous step and extend it to the time when the last vehicle leaves the current right-of-way point. The current vehicle entry time is the time when the last vehicle leaves the current right-of-way point, and the departure time is based on the entry time plus the corresponding travel time benchmark. If the time when the vehicle leaves the right-of-way point in the previous step is later than the time when the last vehicle leaves the current right-of-way point, the current vehicle entry time is the time when the vehicle leaves the right-of-way point in the previous step, and the departure time is based on the entry time plus the corresponding travel time benchmark.

[0107] The specific implementation scheme described above further describes in detail the purpose, technical scheme and beneficial effects of the present invention. It should be understood that the above is only a specific implementation scheme of the present invention and is not intended to limit the scope of the present invention. Any equivalent changes and modifications made by any technician in the field without departing from the concept and principle of the present invention should fall within the scope of protection of the present invention.

Claims

1. A method for reserving vehicle travel time at unsignalized intersections based on Petri net modeling. It is characterized in that The following steps are involved: S1. Divide the right-of-way points in the unsignalized intersection and establish a Petri net model; S2. Calculate the fastest time for a vehicle to pass through the intersection without interference from other vehicles and allocate it to each right-of-way point, using this time as a reserved benchmark for travel time; S3, adjusting the fastest time for each vehicle to enter a certain right-of-way point and the corresponding fastest time for leaving the right-of-way point according to the vehicle dispatch sequence, and adjusting the reserved travel time benchmark; In S1: c_num right-of-way points are divided, each of which has a width of w and can only accommodate one vehicle, and there is no extra space between adjacent right-of-way points; each vehicle must pass through the right-of-way points on the path in order; the number of right-of-way points on the left turn, straight ahead, and right turn paths are num_L, num_S, and num_R respectively; P is , P if represents the waiting area and departure area of ​​the vehicle in lane i; P iLa Indicates that the left-turning vehicle in the i-th lane is currently at the a-th right-of-way point on the driving path, 1≤a≤num_L, T iLb Indicates that the left-turning vehicle in lane i begins to enter the b-th right-of-way point, 1≤b≤num_L, T iL(b+1) It means that the left-turning vehicle in lane i leaves the b-th right-of-way point; In S2, the safe speeds for vehicles to turn left, go straight, and turn right at the intersection without interference from other vehicles are set to V L , V S , V R , the speed of the vehicle in the intersection is not allowed to exceed the set safety speed; the time for the vehicle to turn left at the fastest safety speed through each right-of-way point is: The vehicle goes straight and turns right at each right-of-way point at the fastest safe speed. S , T R Calculate with formula (1); S3 includes the following steps: S3.1, the vehicle code is "lane number. driving direction. position", "1.1.1" the first "1" means the vehicle is in lane 1, the middle value "1" means turn left, the middle value "2" means go straight, the middle value "3" means turn right; initial dispatch vehicle table Car_go = [Car 1 ,Car 2 ,…Car num ], where Car num Indicates the code of the vehicle to be passed through the intersection, and num is the total number of vehicles passing through the intersection; S3.2, initialize the road right point occupation time table C_time = [C 1 ,C 2 ,…,C n ], where C n Indicates the time period during which the right-of-way point n is occupied. Set C n The initial value of is [0,0], indicating that the current right-of-way point is not occupied by a vehicle; S3.3, initialize vehicle travel timetable Car_time = [car 1 ,car 2 ,…,car i ], where car i Indicates the time period during which vehicle i passes the corresponding right-of-way point, and sets car i The initial value of is [0,0], indicating that the vehicle has not entered the intersection yet; S3.

4. Initialize the right-of-way point occupied vehicle table C_car = [c_car 1 ,c_car 2 ,…,c_car n ], where c_car n Indicates the vehicle number occupying the right-of-way point n, set c_car n The initial value of is [], indicating that the right-of-way point n is not occupied by a vehicle; S3.5, respectively set the vehicle left turn, straight, right turn pass time reserved benchmark: pass_time = [[left 1 ,left 2 ,…,left num_L ],[straight 1 ,straight 2 ,…,straight num_S ,],[right 1 ,right 2 ,…right num_R ,]]; num_L, num_S, num_R are the number of right-of-way points for left turn, straight ahead and right turn respectively; S3.6, set the right-of-way point C_occ that needs to be passed on each road left turn, straight going, and right turn path; S3.7, initialize i=0, representing the calculation of the i-th transition; set i=i+1, determine whether i is less than or equal to the scheduling sequence length, if i≤scheduling sequence length, proceed to S3.8, otherwise proceed to S3.17; S3.8, determine whether the current operation is the last one for the vehicle, if not, proceed to S3.9, if yes, proceed to S3.16; S3.9, the index of the vehicle among all vehicles, the priority of the vehicle in the lane, the number of the right-of-way point C_arrive that the vehicle arrives at, the time pre_time when the vehicle leaves the previous right-of-way point, the number C_name of the current right-of-way point to be passed, the pre_name of the right-of-way point that the vehicle passed in the previous step, the time last_time when the last vehicle left the current right-of-way point, and the shortest time short_time required to leave the current right-of-way point; S3.10, determine whether the current vehicle has passed the first right-of-way point, if so, proceed to S3.11, otherwise proceed to S3.12; S3.

11. Find the time when the last vehicle leaves the right-of-way point that the current vehicle is about to pass, and use this time as the time when the vehicle enters the right-of-way point, start_time = last_time; S3.12, determine whether the time when the vehicle last left the right-of-way point is greater than the time when the last vehicle left the current right-of-way point. If so, proceed to S3.13, otherwise proceed to S3.14; S3.13, the time when the vehicle last left the right-of-way point is taken as the start time, start_time = last_time; S3.14, the time when the last vehicle leaves the current right-of-way point is taken as the starting time, strat_time = pre_time; S3.14.

1. Change the time of leaving the last right-of-way point in Car_time to last_time, and change the time of ending the right-of-way point occupation in c_time to last_time; S3.15, the time of leaving the right-of-way point is the time of entering the right-of-way point plus the fastest time of leaving the current right-of-way point end_time = start_time + short_time; The time period occupied by the right-of-way point is period = [start_time, end_time], add period to C_time[C_name], car_time[index][0] = start_time, car_time[index][1] = end_time, add this car to C_car[c_name]; S3.16, let i = i+1, and proceed to S3.7; S3.

17. Output C_time, C_car, Car_time.