In urban settings, it is common to have major roadways with multiple intersections that are each controlled by a traffic control signal. Modeling the flow of traffic on such roadways is complicated due to the deceleration and acceleration associated with stopping at each traffic control signal and the adverse legacy effects of queues of vehicles that form at red lights. As a result, estimating travel times along urban roadways with intersections is difficult.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.
A method and system are provided for determining travel time through intersections by assigning an initial position for a virtual probe at the intersection and updating the position and velocity for the virtual probe at uniform time intervals such that the position and velocity of the virtual probe are determined multiple times from a time when the virtual probe is at an initial position until the time when the updated position of the virtual probe is past a stop line at the intersection. Updating the position and velocity of the virtual probe involves retrieving vehicle detection data and traffic control signal data to determine a distance from the virtual probe to the closer of a stop line and a vehicle in a queue in front of the virtual probe. Based on this information, a processor determines whether to change the current velocity of the virtual probe.
A method and system are also provided for determining the length of a queue of vehicles at an intersection when the length of the queue is longer than a distance from a detector to a stop line at the intersection. The length of the queue is determined by determining a velocity of a departure shock wave that moves toward the stop line and by determining a discharge shock wave that starts at the stop line and passes through the queue of vehicles to the rear.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. The claimed subject matter is not limited to implementations that solve any or all disadvantages noted in the background.
Control signals 120, 122, 124 and 126 are controlled by respective controllers 160, 162, 164 and 166, which are typically located in cabinets near the intersection. Controllers 160, 162, 164 and 166 activate their respective control signals based on sensor signals provided by detectors located along the roadways. Each detector senses when a vehicle enters and exits the sensing field of that detector. The sensing field or sensing position of the detectors is either at the stop line of the intersection or before the stop line of the intersection. Detectors with sensing fields before the stop line are referred to as advance detectors while detectors with sensing fields at the stop line are referred to as stop-bar detectors. Different combinations of detectors can be installed for each direction of approach to an intersection. Some of the approaches can have both an advance detector and a stop-bar detector, some may have only an advance detector, and some may have only a stop-bar detector.
In
Each conductor between the controller and the traffic control signal is electrically connected to a signal sensor, which senses the control signal applied on that conductor. Similarly, each conductor connected between the controller and a detector is connected to a respective detector signal sensor, which detects the signal created by the detector on the conductor. For example, in cabinet 208, traffic control signal sensor 230 and detector signal sensor 232 are provided. Traffic control signal sensor 230 provides signals indicative of changes in the control signals provided by controller 220 to traffic control signal 202. The signals from traffic control signal sensor 230 are received by a local data collection unit 234, which uses the signals from traffic control signal sensor 230 to record the time at which certain traffic control signal events occur such as when the signal along the major roadway turns from red to green.
Local data collection unit 234 also receives a signal from detector signal sensor 232 that indicates when a detector senses a vehicle entering the detector's sensing area and when a vehicle exits the detector's sensing area. Local data collection unit 234 applies a time stamp to each such vehicle-detector actuation event. In some embodiments, local data collection unit 234 is further able to compute a time between vehicles known as vacancy time as well as computing a time period between when a vehicle first enters the detector's sensing area until the time when the vehicle exits the detector's sensing area, known as occupancy time. Cabinets 210 and 212 have similar traffic control signal sensors 236 and 238, similar detector signal sensors 240 and 242 and similar local data collection units 244 and 246.
Local data collection units 234, 244 and 246 provide their control signal data and detector data to a data server 250 located in a master cabinet 252 over respective serial port communication channel. Data server 250 collects the data from the local data collection units and communicates the data to a database 254 on a performance server 255 through a high-speed communication channel, for example a DSL communication channel. The data from data server 250 is stored as daily log files 256 in database 254.
Performance server 255 is a computing device that includes one or more processing units, a system memory and a system bus that couples the system memory to the processing units. System memory includes read only memory (ROM) and random access memory (RAM). A basic input/output system (BIOS), containing the basic routines that help to transfer information between elements within the computer is stored in ROM.
Other appropriate computer systems include handheld devices, multi-processor systems, various consumer electronic devices, mainframe computers, and the like. Those skilled in the art will also appreciate that embodiments can also be applied within computer systems wherein tasks are performed by remote processing devices that are linked through a communications network (e.g., communication utilizing Internet or web-based software systems). For example, program modules may be located in either local or remote memory storage devices or simultaneously in both local and remote memory storage devices. Similarly, any storage of data associated with embodiments of the present invention may be accomplished utilizing either local or remote storage devices, or simultaneously utilizing both local and remote storage devices.
The computer of server 255 can further include a hard disc drive, an external memory device, and/or an optical disc drive. External memory device can include an external disc drive or solid state memory that may be attached to the computer through an interface such as a Universal Serial Bus interface, which is connected to a system bus. Optical disc drive can illustratively be utilized for reading data from (or writing data to) optical media, such as a CD-ROM disc. The drives, internal memory devices and external memory devices and their associated computer-readable media provide nonvolatile storage for the personal computer on which computer-executable instructions and computer-readable data structures may be stored. Other types of media that are readable by a computer may also be used in the computing device.
A number of program modules may be stored in the drives and RAM, including an operating system, one or more application programs or program modules and program data. In particular, application programs and program modules can include any applications or program modules that perform the steps discussed below for generating traffic performance measures.
In a networked environment, program modules depicted relative to the server 255, or portions thereof, may be stored in a remote memory storage device. In addition, data associated with an application program, such as data stored in a database, may illustratively be stored within a remote memory storage device.
Traffic flow modules 258 stored on computer-readable media in performance server 255 are executed by a processor in performance server 255. Traffic flow modules 258 use the log files 256 to determine performance measures such as travel time through the intersections and through the corridor and queue lengths at the intersections. These performance measures are stored as performance measure 260 in database 254.
Performance measures 260 are available through network connections, such as an Internet connection, to road travelers 262 and to traffic engineers 264. Thus, road travelers 262 may access performance measures 260 over the Internet and thereby determine current traffic flow parameters such as travel time along the corridor.
Embodiments described herein determine the travel time for traveling along a roadway from a position before an intersection to a position at a stop line at the intersection. To do this, the embodiments utilize a virtual probe, which is a virtual vehicle that is not physically present on the roadway. The virtual probe starts from an initial position and is moved toward the intersection so as to maximize the speed of the virtual probe while ensuring that the virtual probe does not exceed a selected maximum speed for the probe and while ensuring that the virtual probe is able to stop in time to avoid a collision with vehicles in a queue at an intersection and to avoid entering the intersection if the control signal is red.
In step 400, the vehicle detector data and traffic control signal data for two cycles of the traffic control signal are retrieved. At step 402, the retrieved data is used to determine whether the queue of vehicles at the traffic control signal in the direction of travel of the virtual probe extends past the sensing area of the vehicle detector. This determination can be made by identifying data that indicates a long occupancy time at the sensing area of the detector. Under one embodiment, an occupancy time of 3 seconds is considered long enough to indicate that the queue extends past the sensing area of the detector.
If the queue extends past the sensing area of the detector during the current control signal cycle, parameters for the queue are determined at step 404.
In
The process of
At step 504, the time intervals between vehicles after TDIS are compared to a threshold to identify TDEP. Time point TDEP represents the time when a departure shock wave representing the last vehicle in the queue reaches the detector's sensing position 604. This shockwave appears as a change in the spacing between the vehicles since the vehicles in the queue are spaced closer together than the vehicles arriving behind the queue. Thus, comparing the time gap between vehicles to a threshold, it is possible to identify when the time gap has increased to a point that indicates that the departure shockwave has reached the detector's sensing position 604. Under one embodiment, the threshold interval between vehicles for the departure shockwave is 2.5 seconds.
At step 506, a vehicle flow and vehicle density are computed for a group of vehicles that pass through the detector's sensing area between time TDIS and time TDEP using:
where to,i and tg,i are the detector occupancy time and the time gap between vehicle i crossing the detector's sensing area and the vehicle in front of vehicle i leaving the detector's sensing area, respectively; ui is the speed of vehicle i; Le is the effective vehicle length, which for example may be taken as the sum of the average vehicle length and the detector's sensing area length, n is the number of vehicles passing the detector between time point TDIS and time point TDEP, q is the flow rate of the vehicles, us is the space mean speed of the vehicles and k is the density of the vehicles.
At step 507 the velocity of the discharge shockwave is computed as:
where qm and km are the flow rate and density between time TDIS and time TDEP, and kj is the density of vehicles before time TDIS, which under one embodiment is 1/h where h is the headway between cars in the queue.
When an advance detector is used and the distance Ld from a stop line to the sensing area of the detector is greater than zero, the velocity of the discharge shockwave may alternatively be computed from TDIS and TMOV, where TMOV is the time point at which the first vehicle in the queue begins to move and thus represents the time at which the discharge shockwave starts. TMOV is calculated by adding a small reaction time to the time point when the control signal changes to green. The velocity of the discharge wave is then computed as:
At step 508 the flow rate, q, and density, k, are determined for a set of vehicles just after time point TDEP using equations 2-5, above, where n becomes the number of vehicles after time point TDEP.
At step 510, the velocity of the departure shock wave v3 is computed as:
where qm and km are the flow rate and density before time point TDEP and qa and ka are the flow rate and density after time point TDEP determined at step 508.
At step 512, the maximum length of the queue, LMAX, is determined as:
And at step 514, the time point at which the maximum queue length is achieved is computed as:
At step 516, the number of vehicles that are not discharged by the queue, which is represented by the minimum size of the queue, LMIN, is computed as:
where Trn+1 is the time at which the control signal returns to red and the velocity of the compression shockwave v4 is similar to the velocity of the discharge shockwave v2 such that v4=v2 in equation 10.
At step 518, the time point at which the minimum queue length occurs, TMIN, is determined as:
At step 520, the growth rate of the queue, v1, is computed as:
In an alternative embodiment of
where n is the number of vehicles passing through the detector's sensing area between time point Trn and time point TDEP, and kj is the density of vehicles in the queue.
In a further alternative embodiment, LMAX, TMAX, and v3 are computed as:
uf is a maximum velocity for other vehicles on the roadway, a is an acceleration rate, which under one embodiment is selected as 3.5 feet/s2, and τ is a current time point.
Returning to
At step 408, the length of the queue and the speed of the last vehicle in the queue in front of the probe are determined.
The length of the queue and the speed of the queue in front of the probe are dependent on the formation and the discharge of the queue as well as the virtual probe's location within the queue.
T
MOV
P+1
=T
MOV
+t
s(nq(τ−1)−1) Eq. 20
where TMOV is the time at which the first vehicle in the queue begins to move, ts is a uniform starting time difference between two adjacent queued vehicles, which in one embodiment is 0.5 seconds, and nq(τ−1) is the number of vehicles in the queue calculated at the previous time interval (τ−1).
At step 706, time points TEXIT and TFULL are calculated. To determine these time points, the processor first determines whether the vehicle in front of the virtual probe will reach a desired velocity uf before the stop line of the intersection. This can be determined by determining if the following equation is true:
where h is the average distance between the fronts of vehicles in the queue, nqp(max) is the maximum number of vehicles in front of the probe in the queue, uf is the desired maximum velocity for vehicles along the roadway and γa is the estimated acceleration of the vehicles in the queue. If equation 11 is true, the vehicle in front of the virtual probe will reach velocity uf before reaching the stop line. If equation 11 is true, the time point at which the vehicle in front of the virtual probe reaches its full velocity is computed as:
where TFULL is the time point at which the vehicle in front of the virtual probe reaches its full velocity. The time point at which the vehicle in front of the virtual probe reaches the stop line then becomes:
where TEXIT is the time point at which the vehicle in front of the virtual probe crosses the stop line.
If equation 11 is not true, the vehicle in front of the virtual probe will not reach its full speed before the stop line and the time point at which it will cross the stop line is computed as:
At step 722, the current length of the queue is set as:
L
q(τ)=h·nq(τ) Eq. 25
and the speed of the last vehicle in the queue is set equal to 0.
If at step 702 the probe is not within a distance of 2 h of the last vehicle in the queue, additional vehicles may be added to the queue. At step 708, the processor determines whether the queue currently extends past the sensing area of the detector. If the queue does not currently extend past the sensing area of the detector, the number of vehicles that have accumulated in the queue is determined at step 710 by adding the number of vehicles that have passed the sensing area of the detector up to the current time point τ to the number of vehicles that did not clear the intersection during the last cycle of the control signal. The number of vehicles that did not clear the intersection is equal to LMIN/h where LMIN is the minimum queue length calculated for the previous signal cycle using equation 10 above and h is the headway between vehicles.
At step 712, a processor determines a number of vehicles that a discharge shockwave has passed through. The discharge shockwave is the motion of a discontinuity created by a movement of vehicles at the front of the queue after the control signal turns green. If the control signal has not yet turned green, none of the vehicles have been discharged. After time point TMOV, the number of vehicles discharged by the shock wave may be computed as:
where nDIS is the number of vehicles that the discharge shockwave has passed through, and int( )represents the integer portion of the values within the parenthesis.
If the queue does extend past the sensing area of the detector at step 708, the queue growth rate v1 and the difference between the current time τ and the time at which the queue reached the detector, TOVER, are used in step 714 to determine the number of vehicles in the queue as:
At step 716, the number of vehicles that the discharge shockwave has passed through is calculated as:
After steps 712 or 716, the processor determines if the discharge shockwave has reached the last vehicle in the queue by comparing nDIS to nq(τ). If nDIS, equals nq(τ), the end of the queue has begun to move. As such, the number of vehicles in the queue at this time point is the maximum number of vehicles that will be in the queue before the virtual probe. As such, at step 720, nqp(max) is set equal to the current number vehicles in the queue and TMOVP+1 is calculated as:
T
MOV
P+1
=T
MOV
+t
s(nq(τ)−1) Eq. 29
The processor then determines TEXIT and TFULL using step 706 above.
If the discharge shock wave has not reached the last vehicle in the queue at step 718 or after step 706, the length of the queue for current time point τ is computed using equation 15 above and the speed of the last vehicle in the queue is set equal to 0.
If at step 700, the maximum number of vehicles in the queue before the virtual probe has been determined, the process continues at step 724 where the length of the queue and the speed of the last vehicle in the queue are computed based on TMOVP+1, TEXIT, and nqp(max) as:
where equations 20 and 21 are used when the last vehicle in the queue before the virtual probe will not reach full speed before the stop line of the intersection. When the last vehicle in the queue before the virtual probe will reach full speed before the stop line of the intersection, the length of the queue and the speed of the last vehicle in the queue before the virtual probe are calculated as:
Returning to
L
p(τ)=xsi−xp(τ)−Lq(τ) Eq. 34
where xsi is the location of the stop line; xp(τ) is the location of the virtual probe at the current time point r, and Lq(τ) is the length of the queue determined at step 408.
At step 410, the processor determines a safe space headway 412, which represents the distance the virtual probe will travel at a constant deceleration rate to a velocity of 0 if the barrier is the stop line or the distance the virtual probe will travel at a constant deceleration rate before reaching the velocity of the last vehicle in the queue as determined in step 408. In particular, the safe space headway, Lsp(τ) is calculated as:
where uP(τ) is the velocity of the virtual probe at time τ; uq(τ) is the velocity of the last vehicle in the queue at time τ; γd is the constant deceleration rate; and LsP(τ) is the safe space headway.
At step 414, the processor determines whether to change the velocity of the virtual probe. The method for making this determination is shown in the flow diagram of
If the barrier distance is not greater than the safe space headway at step 900, step 908 is performed to determine whether the barrier ahead is the queue or is the stop line. If the barrier ahead is the queue at step 908, the speed of the last vehicle in the queue is compared to the speed of the virtual probe at step 910. If the speed of the virtual probe is greater than the speed of the last vehicle in the queue, the virtual probe is decelerated at step 912. If the speed of the virtual probe is the same as the speed of the last vehicle in the queue, the speed of the virtual probe is left unchanged at step 914. If the barrier in front of the virtual probe is not the queue at step 908, the signal status of the control signal is determined at step 916. If the signal status is green at step 916, the speed of the virtual probe is compared to the maximum speed for the virtual probe at step 918. If the speed of the virtual probe is less than the maximum speed at step 918, the virtual probe is accelerated at step 920. If the virtual probe is traveling at the maximum speed at step 918, the speed of the virtual probe is left unchanged at step 921.
If the signal status at step 916 is red, the virtual probe speed is compared to 0 at step 922. If the virtual probe speed is greater than 0, the virtual probe is decelerated at step 924. If the virtual probe speed is equal to 0 at step 922, the virtual probe speed is left unchanged at step 926.
If the signal status at step 916 is yellow, the processor determines whether the virtual probe will be able to cross the stop line in the remaining yellow time y(τ). In particular, in step 928, the processor determines if:
where, if equation 26 is true, the virtual probe will be able to cross into the intersection before the end of the yellow time, γa is a constant acceleration rate and yP(τ) is the acceleration time required for the virtual probe to reach the maximum allowed velocity uf and is computed as:
If the virtual probe is able to cross over the stop line at step 928, the processor determines whether the virtual probe is going the maximum allowed velocity at step 930. If the probe is not going the maximum allowed velocity at step 930, the virtual probe is accelerated at step 932. If the virtual probe is going the maximum allowed velocity, the virtual probe speed is left unchanged at step 934.
If the virtual probe is not able to cross over the stop line in the time left for the yellow signal at step 928, the virtual probe is decelerated at step 936 so that it may be stopped before the stop line.
After determining whether to change the velocity of the virtual probe at step 414, the processor updates the position and velocity of the probe at step 416. If the probe is to be accelerated, the position and velocity of the probe for the next time interval is calculated as:
where Δt is the time difference between the time intervals at which the position and velocity of the virtual probe are updated. Under one embodiment, Δt is one second.
If the virtual probe is to be decelerated, the position and velocity for the virtual probe at the next time interval is determined as:
If there is no speed change for the virtual probe, the position and velocity for the virtual probe for the next time interval is computed as:
x
P(τ+Δt)=xP(τ)+uP(τ)Δt Eq. 44
u
P(τ+Δt)=uP(τ) Eq. 45
After the position and velocity of the virtual probe have been updated, the new position of the probe is compared to the stop line at step 418. If the new position of the probe is not past the stop line at step 418, τ is set equal to τ+Δt step 420 and the process returns to step 408 to re-compute the length of the queue and the speed of the last vehicle in front of the probe in the queue. Steps 410, 412, 414, 416 and 418 are then repeated. When the virtual probe is past the stop line at step 418, the time τ+Δt is stored at step 422.
In step 1000, an initial intersection is selected and at step 1002, an initial starting time is selected. At step 1004, the method discussed in the flow diagram of
After step 1010, the process returns to step 1004 to determine the virtual probe's movements through the new intersection. Steps 1004, 1006, 1008 and 1010 are then repeated until there are no more intersections at step 1006. When there are no more intersections along the corridor, the time difference between the initial start time selected at step 1002 and the final ending time determined for the last intersection is computed and stored as the travel time for the corridor at step 1012.
Under one embodiment, the process of
At step 1100, an initial starting time is selected and at step 1102, an intersection is selected. In step 1104, probe movements through the selected intersection are determined using the flow diagram of
In the discussion above, travel times through intersections and corridors have been discussed. However, the techniques described may also be used to determine other travel parameters such as the number of stops made by the probe in traveling along the corridor, the total delay of traffic along the corridor, and the average delay along the corridor. The total delay of traffic at any one intersection is equal to the sum of the amount of time each vehicle in a queue spends in the queue. The average delay is the total delay divided by the number of vehicles in the queue. The total delay for an intersection may be determined by integrating the position of the back of the queue over time.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
This application claims priority benefit of U.S. Provisional Application 61/100,436 filed on Sep. 26, 2008 and claims priority benefit of U.S. Provisional Application 61/100,519 filed on Sep. 26, 2008.
Number | Date | Country | |
---|---|---|---|
61100436 | Sep 2008 | US | |
61100519 | Sep 2008 | US |