Two-Lane Bi-directional Model



next up previous
Next: Results Up: A Cellular Automaton Model Previous: Existing Models

Two-Lane Bi-directional Model

The bi-directional model has several sub-types. Either passing is allowed on both lanes, one or the other of the lanes, or no passing is allowed. Our model allows us to consider mixtures of these sub-types in which one type of rule is applied on a given section of roadway, and other sub-type on an adjacent section.

Consider a sub-type in which passing is allowed. An algorithm which controls passing must account for a number of circumstances. First, a vehicle must have a constant acceleration while passing; is set to 0 during the pass. Moreover, if an on-coming car is detected, the passing car must immediately return to its own lane. In reality vehicles generally do not attempt to pass unless the pass can be completed; a model should reflect this. We let each vehicle measure the "local density": the density of cars in front the vehicle it would like to pass. If the local density is sufficiently low, the vehicle has a good chance of completing a pass, and we allow it to try. Few passes will occur when the global density is high, even if the density is low on the opposite lane. The lanes become effectively de-coupled, and the bi-directional model reduces to a simple one-lane model.

Three different kind of jams can appear on a bi-directional road. The first and most common is a start-stop wave on one of the two lanes. The second is due to the an audacious driver who tries to pass though there is no space to return to the home lane. This happens rarely. Finally, a jam may occur when each of an adjacent pair of drivers, one on each lane, tries to pass simultaneously. This "super jam" halts all traffic on both lanes, since vehicles in our model do not have reverse gear. Our update algorithm has been designed to eliminate super jams, as described below.

Our CA rule set operates on a lattice with two lanes in opposite directions (see figure 1). Each site has a state , where 0 represents the absence of a vehicle, a stopped vehicle, a vehicle moving with speed 1 in the positive, resp. negative direction and so on. Thus, both vehicles and lanes can be labeled "+" and "", A "+" vehicle on the "+" lane, is in its home lane, and a "+" vehicle on the "" lane, is in the passing lane. Home and passing lanes are defined symmetrically for "" vehicles.

Vehicle movement is calculated in a two-step process, following [2]. First vehicles change lanes, then they advance.

In addition to the functions and variables introduced above, we will need the following: : floor; : sign; : logical negation; : the velocity of the vehicle ahead on the (same, opposite) lane. : true iff the vehicle is on its home lane; : true iff ; : if AND then a pass may be attempted. : if AND then the vehicle returns immediately to its home lane. : local density: the fraction of the sites in front of the given vehicle which are occupied; : the maximum local density for a safe pass, In our simulations we use the following values throughout: , , = , = 0.7, and =0.5.

Lane changes are determined by the following steps:

  1. IF ( AND ( ) AND () AND () AND ()) THEN change lane
  2. IF ( AND ( OR ) THEN change lane

The first condition affects vehicles on the home lane. If the vehicle in from of them is at a distance less than , then they would like to pass that vehicle. However, a pass will only be initiated if there is room far enough ahead on the passing lane, and the number of cars in front of the vehicle it would like to pass is small. Passing occurs randomly, even if all these conditions are met, the probability of changing lanes is denoted . The second condition concerns vehicles in the midst of passing. They return to their home lane if forced to by an oncoming vehicle, or if there is space enough on the home lane that they can return without braking.

Suppose that two opposite vehicles want to pass simultaneously, then according to the previous conditions, each car which is on the passing lane will keep its velocity (no randomization) and each car on the home lane will see its velocity reduce by one. This will create a free site for each passing car to come back on its home lane.

Forward motion of a vehicle is determined as follows:

  1. IF () THEN
  2. IF AND ()) THEN
  3. IF ( ) AND ()) THEN
  4. IF (( AND () AND () AND ) THEN
  5. IF ( AND AND () )

This part of the algorithm has the effect of (1) accelerating the vehicle to maximum velocity, (2) rapidly decelerating the vehicle if there is an oncoming car too close, (3) decelerating the vehicle if it is closing in on another, both in their home lane, and (4) randomly decelerating the vehicle if it is on its home lane; if it is passing, it never decelerates randomly.(5) breaks the symmetry between the lanes, and thus prevents the emergence of a super jam.

 
Figure: bi-directional model

  
Figure: A typical space-time diagram

  
Figure: passing and no-passing zones

  
Figure 4: Contour plot of flow on the home lane

  
Figure: multi-speed variant



next up previous
Next: Results Up: A Cellular Automaton Model Previous: Existing Models




Thu Jul 25 17:23:53 BST 1996