The flow of vehicles through signalized intersections (hereafter referred to as “intersections”) is important to the overall flow of traffic in many cities. The rate at which vehicles move through intersections depends on a variety of factors, two of major factors being signal light timing (i.e.―how long the light stays green) and weather  . Signal light timing effects traffic flow in all areas, while how large a factor weather plays depends a lot on the time of year and the climate of the geographical region in question. For example, traffic flow can be severely limited by snow and ice but in areas that do not get this type of weather this is not a factor. This paper looks at how poor weather coupled with short signal times can cripple traffic flow through intersections, and how simply increasing the signal timing intervals can help to improve traffic throughput. Of primary concern here is person controlled vehicles and the traffic control system at an intersection. Many extensions and modifications to the simulation are possible from scale, through to autonomous vehicle integration to modeling the information flow required between person controlled vehicles, autonomous vehicles as well as the signal controlling infrastructure.
2. Modelling an Intersection
2.1. Overview of Traffic Models
Many macroscopic models exist for modelling traffic flow on a large scale   . These models are based on traditional thermodynamics and treat vehicles somewhat like particles that all obey some fundamental laws. For traffic on a large scale (i.e. freeway style roads) these models can be a good representation of vehicle traffic. These macro level models are less useful when focused down to the level of a single traffic intersection. This is due largely in part to the fact that vehicles do not move based on a fundamental law of nature, they are currently driven by people with individual driving behaviors. For this type of traffic a microsimulation model is better suited. Instead of trying to model traffic as a large system microsimulation models assign behaviours to each unit in the model (the vehicles in this case) and runs the model with a collection of units together in an environment (a traffic intersection in this case) to see how they interact.
Many microsimulation models for traffic have been investigated over the years   . This paper will focus on a type of vehicle-following model where the behaviour of each driver is based on what the vehicle in front of them is doing. This model is called the Generalized Force Model, developed by Helbing and Tilch  . The model gives a mathematical framework for how the acceleration of each vehicle is calculated over time based primarily on how far away the leading vehicle is, and how fast it is travelling. For this paper the model has been implemented as an Agent Based Model (ABM). The ABM paradigm gives simple behaviors to agents and puts them in a system or environment to see what type of collective behaviors arise  . This modelling paradigm is well suited to vehicle traffic since each vehicle can be represented as an agent, and the act of driving is typically governed by a set of rules that most drivers follow. There are many different environments for vehicle traffic to exist in, for this discussion the model has been limited to a single signalized intersection.
2.2. Generalized Force Model
The Generalized Force Model (GFM) uses the concept of social forces to describe driver behavior (also called generalized forces)  . The model assumes that the primary forces affecting the driver of some vehicle, α, are their target velocity ( ) and the desire to keep a safe distance from other vehicles (β)  . The desire to reach some target velocity produces an acceleration force ( ), and the desire to keep a distance between the driver and other vehicles produces a repulsive force (f α,β). To simplify the repulsive force it is assumed that the dominant repulsive force comes from the vehicle directly in front of the driver (α-1), therefore β = α-1. Using these forces acceleration can be described using the following equation  :
A thorough description of how these forces are modelled will be given in the following sections. The parameters of this model were calibrated using real world vehicle following data and the model ran to see how it agrees with real world observations  . It was found that the GFM agrees nicely with empirical observations   . For this reason, as well as the fact that the parameters of the model are easy to understand it was chosen for use in this ABM.
2.3. Traffic Intersection Agent Based Model
The software platform used to implement the ABM was AnyLogic  . This software was chosen to speed up development of the model (less time required to code basic functionality), and to aid in the simulation and visualization of the model; AnyLogic has many built in functions for these tasks. The environment for the model is a basic four-way intersection with one lane for each direction. The visualization of the intersection created in AnyLogic can be seen below in Figure 1. The blue ellipses represent vehicles, and the small coloured dots represent traffic signals.
Figure 1. Intersection model from AnyLogic.
Everything in the environment is roughly to scale for an average low volume traffic intersection. The width of each lane is 3 metres, which falls between the typical ranges for North American roads, 2.7 to 4.6 m  . Figure 1 shows a screen capture of the model while running. As vehicles pass the traffic signals they are counted as “through” the intersection and the total number of vehicles through is counted. This allows vehicle throughput for different traffic signal timings and weather conditions to be tracked.
2.3.2. Traffic Signal Agents
In this model the traffic signals are also treated as agents since they have behaviours that affect other agents in the environment, namely changing color. The traffic signal agents are much simpler than the vehicle agents described subsequently. They follow a simple state machine transitioning between red and green. For simplicity the amber, or slow-down, state found in real world traffic signals was not implemented. Each direction is given equal time priority in this model for simplicity; although this is often not the case in real world traffic systems this does not affect the results since we are looking for changes in throughput based on changing conditions, not trying to estimate the throughput of an actual intersection.
AnyLogic uses connections between agents to allow interactions. Vehicles are connected to the traffic signal for their lane. When a traffic signal goes green it sends a “go” message to all connected vehicles and they start moving based on the GVM model described above. When the signals transition back to red they send a “stop” message to all connected agents and they stop instantly. Once a vehicle passes a traffic signal the connection is released which prevents vehicles already past the signal from stopping. The stopping behaviour is not realistic but the focus of this model is how vehicles accelerate through intersections based on how the vehicle in front of them is behaving and it is assumed the dynamics of stopping will not have a large effect on traffic throughput. This model assumes that no accidents occur at the intersection.
2.3.3. Vehicle Agents
Setup: The vehicle agents are the primary focus of this model. As shown in Figure 1 the vehicles are represented by blue ellipses and are placed in the environment travelling in either a south to north or west to east direction. Every vehicle in the model is 4.5 m long, roughly the length of a modern Honda Civic  . The initial spacing of the vehicles is a parameter of the model and depends on the specific weather conditions. The model is populated with a large number of vehicle agents so the model won’t run out of traffic for longer signal timings.
As described in the previous section each vehicle is connected to the traffic signal agent for its lane. Every vehicle is also connected to the one directly in front of it in traffic, with the exception of the leading vehicles. This connection allows each vehicle to monitor the position and speed of the one in front of it, and use this information to adjust their own acceleration behaviors. The leading cars are a special case; they simply accelerate freely to their target velocity. When the signals transition back to red they send a “stop” message to all connected agents and they stop instantly.
Acceleration Behaviour: Once the traffic signal turns green and sends the “go” message every vehicle in that lane starts accelerating based on Equation (1). The first part of this equation describes the acceleration force pushing the vehicle (α) forward at any time, t:
represents the difference between the vehicles current and target velocity and represents the acceleration time which is one-third of the time it takes a freely accelerating vehicle to reach 95% of its target velocity  . Every vehicle in the model that has a green traffic signal has this force applied to it while the model is running. In the model this equation has to be discretized since we do not have a continuous time domain on the computer. AnyLogic allows you to have actions performed before and after each time step. For this model, before each time step the vehicle connections are updated so that any vehicle that has passed the traffic signal won’t be stopped by it. After each time step the forces affecting the vehicle acceleration are updated so they will affect how much the velocity changes on the following time step. Initially the model was configured to have one time step represent one second but this did not provide good data (curves were choppy). The model was adjusted to have one time step represent 100ms which gave smoother data curves.
The second part of Equation (1) describes the repulsion force that limits the acceleration of the vehicle (α) at any time (t) based on the position and velocity of the leading vehicle (α-1)  :
This equation has a lot going on so it will be broken down into parts and each part will be described individually.
is an optimal velocity function that returns the velocity the vehicle would like to be travelling at based on the current distance from the leading vehicle , and the desired safe distance that it would like to keep . As long as the optimal velocity is below the original target velocity this will provide a negative force, as expected. The desired safe distance is calculated using the following formula  :
The parameter represents the minimum safe distance any vehicle wants to keep from the one in front of it. The parameter represents the headway, or reaction time the driver needs to stop and is the current velocity of the vehicle. This causes the vehicles to desire a larger safe distance at higher velocities, which is logical. The safe distance is implemented as a dynamic parameter in AnyLogic, so any time it is called in the model it is evaluated based on the current values from Equation (4), the only one that changes during a model run being . The optimal velocity function can be described using the following equation:
The parameter represents the acceleration interaction range. This can be roughly interpreted as the distance range where the vehicle in front of you affects your acceleration  . From Equation (5) we can see that the optimal velocity converges towards the original desired velocity as the distance between the vehicles increases. In the AnyLogic model this optimal velocity is recalculated on every timestep.
The second part of Equation (3) adds additional braking forces when the following vehicle is travelling faster than the vehicle in front of it. This helps to prevent accidents in the model and also is a normal part of driving behaviour; if a person is approaching a vehicle travelling slower than them they will slow down to avoid a collision. The parameters and are the braking time and range, similar to the corresponding acceleration parameters. The braking time is lower than the acceleration time because vehicles can stop much faster than they accelerate, and the braking range is much longer than the acceleration range because a leading vehicle will cause a braking reaction over a larger distance than an acceleration reaction. The Heaviside function causes this additional braking force to only have effect when the following car is moving faster than the leader, and the exponential term causes this reaction to disappear as the distance between the vehicles increases.
All of these equations come together in Equation (1) to give the acceleration at each time step for each vehicle in the model. In the AnyLogic model the acceleration values are calculated at the end of each time step and used to update vehicle velocities, which affects how far each vehicle will move on the next time step. Each model run goes for one full cycle of the traffic signals. The position of the vehicles moving through the intersection is monitored using the graphic from Figure 1, and the velocity and acceleration are plotted on graphs so the model can be compared the results from the original paper.
Taking Weather into Account: One of the goals for this model is to see how inclement weather affects traffic throughput. In order to test this some method of simulating bad weather was needed. This was achieved by putting weather factors on certain model parameters that are affected by poor weather. The parameters affected by this scaling factor are the accelerating time, braking time, and desired minimum safe distance between vehicles. In bad weather drivers will also reduce their target velocity. This value was not modified with the same weather factor described above; it was simply reduced by a constant value.
3.1. Model Verification
After all of the behaviours described above were implemented and tested in AnyLogic the next step was to do some model runs and see if the behaviour of the vehicles in the model match the results from the original paper. To do this all the behavioural parameters from the original paper were used. The parameters they found by calibrating the model against real world data were: , , , , , ,  . The velocity profiles for both the GFM mathematical simulations and the ABM based on the GFM can be seen below in Figure 2 and Figure 3.
Figure 2. Velocity profile for GFM (Figure 1 in  ).
Figure 3. Velocity profile from ABM.
Each curve represents the velocity of an individual vehicle agent in the simulation. The profiles are not identical but show the same basic pattern of vehicle motion. The main difference being in the mathematical simulation the vehicles near the back of the line seem to stay at zero velocity for a long time whereas in the ABM all the vehicles start to move with some small velocity from the get go. Overall the ABM simulation results agree nicely with the results from the paper (Note: the original paper for the GFM did not have any figures showing the velocity or acceleration profiles so these profiles were taken from another paper that was comparing the GFM to another mathematical model  ).
Next the acceleration profiles were compared. The results from the mathematical model and the ABM simulation can be seen in Figure 4 and Figure 5. Figure 4 compares the acceleration profiles of vehicle agents from different car
Figure 4. Acceleration profiles for GFM (Figure 2 in  ).
Figure 5. Acceleration profiles from ABM simulation.
following models. In Figure 5 each curve represents the acceleration of an individual vehicle agent from the Anylogic simulation. The mathematical model results also have reference to the “FVDM”, this is another vehicle following microsimulation model that was being compared to the GFM in the paper the image was taken from  . The acceleration data shows almost an identical profile between the original model and the ABM.
3.2. Effects of Signal Timing in Different Weather Conditions
After doing enough testing to be satisfied that the ABM simulations were giving results similar to the original paper the next step was to use the model to analyze the effect of changing the traffic signal timing on vehicle throughput in the intersection. The model was run over a range of signal timing intervals and the number of vehicles through the intersection in one period (NS and EW traffic both getting a chance to go) was recorded. These tests showed that the longer the signal timing period the larger the vehicle throughput per second was. As the signal timing period increased there were diminishing returns on the vehicle throughput gains. This result is intuitive because the gain in throughput happens due to less vehicle time spent accelerating/decelerating and more time spent at full speed. The acceleration/deceleration effect becomes smaller and smaller as the signal timing period increases, hence the diminishing returns.
The next test for the model was to see how a change in weather conditions would affect the vehicle throughput, and to see if increasing the signal timing period could help to restore normal weather throughput. For normal weather conditions the target velocity was set to 16.67 m/s (60 km/h) and the weather factor set to one (1.0). To simulate inclement weather a couple different value of the weather factor were tried. In doing a literature search it was difficult to find test results that showed a consistent value for the reduction in vehicle capabilities during bad weather. One study done in Minnesota measured a start-up delay of 50% (from 2 to 3 seconds)  . For the purposes of this model two different weather factors, 1.5 for inclement weather (moderate snowfall or heavy rain) and 2.0 for severely inclement weather (heavy snowfall, icy roads). Figure 6 below shows the vehicle flow rate (vehicles/sec) through the intersection for the different weather parameters and timing intervals.
The results for the different weather factors show that the vehicle throughput of the intersection is inversely proportional to the severity of the weather. The model also suggests that increasing the signal period will not fully restore the normal weather throughput; it can only help to partially restore it.
4. Conclusions and Future Work
In conclusion, this brief paper has summarized the implementation and testing of an ABM for vehicle traffic through a single lane traffic intersection. The development of the model was discussed with details of how each part of the original mathematical model was implemented using AnyLogic. The verification
Figure 6. Intersection ABM throughput results.
tests show that the model accurately re-creates the results from the original model. After verification the model was used to test the effect of inclement weather on vehicle throughput in the intersection. The model shows that inclement weather decreases vehicle throughput and that for all weather parameters tested increasing the signal period improves vehicle throughput.
The next step for this model would be to extend it to multiple signalized intersections to better simulate urban traffic flow. The behavior of the traffic signal agents could also be improved to include an amber phase, and also left-turn signals. From the literature reviewed for this project it appears that the effect of inclement weather on traffic flow, although always negative, varies in degree from city to city. Collecting real-world data from the city the model is being applied to would also improve the results by making the weather effect parameters more accurate.
Ongoing modeling and simulation efforts would include the impact of shared sensor data as well as integration of a hybrid simulation where a fraction of the vehicles are autonomous. A potential difficulty or perhaps potential benefit is that the autonomous vehicles may have significantly greater knowledge of their environment  than person controlled vehicles that could be shared in a real IoT deployment. In an agent based model the agents have agency, a worthwhile workshop discussion item would be associated with the agency of driverless vehicles for use within an ABM.
As with many agent based models one of the objectives is to provide insight into scenarios that may arise and to explore policies or mitigations that may have a beneficial effect.
 Goodwin, L.C. (2002) Weather Impacts on Arterial Traffic Flow. http://www.ops.fhwa.dot.gov/weather/best_practices/ArterialImpactPaper.pdf
 Wikipedia, Agent Based Model. http://en.wikipedia.org/wiki/Agent-based_model
 Wikipedia, Lane-Lane Width. http://en.wikipedia.org/wiki/Lane#Lane_width
 Wikipedia, Hon-da Civic (Eight Generation). http://en.wikipedia.org/wiki/Honda_Civic_(eighth_generation)
 Urmson, C. How a Driverless Car Sees the Road. https://www.ted.com/talks/chris_urmson_how_a_driverless_car_sees_the_road?language=en