Operation of the Adaptive Cruise Control (ACC) vehicle following model

The Adaptive Cruise Control (ACC) vehicle following model in Vissim is based on a model developed as part of the project Modeling Mixed Traffic of Automated and Non-Automated Vehicles on Highways at Different Speeds, FE DG.0001/2021 by the German Federal Highway Research Institute (BASt). This model replicates a typical ACC controller (distance control system). You can configure the model parameters for the ACC (Defining ACC model parameters).

Components of the ACC controller

Gap controller balances speed and distance

The gap controller adjusts the vehicle’s speed relative to the lead vehicle and restores the safe following distance. This adjustment happens gradually.

The gap controller aTG (where TG = Time Gap) calculates the vehicle's acceleration during normal following:

Where:

t

Time

Difference between vehicle speed ve and lead vehicle speed vf

Distance between front edge of vehicle and rear edge of lead vehicle

Safety distance dsafe between the front edge of vehicle and the rear edge of lead vehicle

The following driving behavior attributes are considered. The following applies:

dstand

Desired distance to the interaction target at stillstand

  • Corresponds to ACC standstill safety distance, if the object in question is a vehicle.
  • Is 0.5 m if a) the object in question is a stop sign, a conflict area, a priority rule, or a signal head and b) if for the driving behavior implicit stochastic is disabled.
  • Is a normally distributed random value with a mean of 0.5 m and a standard deviation of 0.15 m, truncated to the interval [0 m; 1 m], if the attribute implicit stochastic is selected.
  • Is analogous to ax in the Wiedemann 74 model and to cc0 in the Wiedemann 99 model.

τ

Corresponds to the driving behavior attribute ACC minimum gap time. τ is analogous to cc1 in the Wiedemann 99 model.

The driving behavior attribute Standstill distance for static obstacles has no effect on ACC following behavior (Editing the driving behavior parameter Following behavior).

dstand and τ are key factors influencing traffic flow.

τd

corresponds to the driving behavior attribute ACC_tau_d

τv

corresponds to the driving behavior attribute ACC_tau_v. This parameter significantly determines the controller gain and, therefore, the stability behavior. Thus, τ_v=μτ should be set to μ with ≈0,8…1.

The time constant τv and the product τvτd determine how quickly the speed difference to the lead vehicle and the missing distance to the safe distance are adjusted. The speed difference is not fully reduced within the time τv. The missing distance is not reduced within the time . For example, assuming no distance difference or τv→∞ only 1/e ≈ 37 % of the initial speed difference is adjusted within the time τv.

Smoother acceleration depending on speed differences and distances

For comfort reasons, the vehicle does not immediately accelerate with aTG(t). Acceleration is smoother at small speed differences and/or small distances:

  • is for :
  • is for :
  • is otherwise TG(t) with smooth interpolation between cases.

Target braking controller manages targeted braking maneuvers of the vehicle

The target braking controller is necessary because the gap controller is insufficient in the following situations to decelerate the vehicle effectively:

  • The gap controller is linearly dependent on speed difference and distance. Therefore, the gap controller may not be able to prevent collisions with the lead vehicle in all situations and ensure a certain minimum delay when approaching stationary objects.
  • The gap controller would produce excessive braking if the vehicle detects a new lead vehicle with a significant speed difference.

The following two cases are distinguished once it is determined that the vehicle needs to perform target braking (Transition between gap controller and target braking):

Case 1:

The vehicle brakes according to the following formula when it reaches the lead vehicle and the lead vehicle is still moving:

Case 2:

The vehicle brakes according to the following formula when it reaches the lead vehicle and the lead vehicle is stationary:

The vehicle follows formulas from the kinematic motion equations, assuming constant accelerations, with additions for ds and anear,1/2 (Incorporation of ds and a(near,1/2) in a(req,1/2)). Where:

af

is acceleration of the lead vehicle

Distance that the lead vehicle will travel before coming to a stop. If the lead vehicle has not yet stopped, it is assumed to still be in the braking process (af < 0). Otherwise, Case 1 applies and df→0 is undefined.

The two cases are primarily distinguished based on the following times: the time it takes for the vehicle to reach the lead vehicle versus the time the lead vehicle needs to come to a stop:

  • areq(t) = areq,1(t), if
  • areq(t) = areq,2(t), if
  • areq(t) otherwise undefined

Where:

tapp(t) =

Time required by vehicle to reach the lead vehicle

tf→0(t) =

Time required by the lead vehicle to come to a stop

Thus, the following conditions apply:

The vehicle is in Case 1:

  • If it is traveling faster than the lead vehicle and the lead vehicle is accelerating,

or

  • the time required for the vehicle to reach the lead vehicle is shorter than the time the lead vehicle needs to come to a stop.

The vehicle is in Case 2:

  • If the lead vehicle is braking and is faster than the vehicle, or:
  • if the time to reach the lead vehicle is longer than the time the lead vehicle needs to come to a stop.

In undefined cases, the gap controller applies (Gap controller balances speed and distance).

Incorporation of ds and a(near,1/2) in a(req,1/2)

In a(req,1/2, ds and a(near,1/2) are incorporated. This adjustment ensures that accelerations are limited to reasonable values in cases where the distance to the lead vehicle is minimal or when the standstill distance dstand is compromised:

Before the vehicle reaches its target position, which is the rear edge of the lead vehicle minus the standstill distance, the acceleration of the target braking is fixed at the value corresponding to the distance ds, with an additional acceleration anear,1/2, included in the range of ds:

  • The additional accelerations anear,1/2 are zero at a distance ds and equal to as once the vehicle reaches its target position. Between these points, linear interpolation is applied.
  • as corresponds to the driving behavior attribute ACC_a_s.
  • ds corresponds to the driving behavior attribute ACC_d_s.

Since no normal target braking is performed in the ds range before reaching the target position, ds determines the accuracy of the vehicle’s target position. Avoid setting ds to very small values, as ds not only influences as but also affects the maximum strength of the braking maneuver: smaller values for ds can lead to significantly stronger decelerations, as ds directly sets the minimum value for the denominator in areq,1/2.

Transition between gap controller and target braking

As described above, the gap controller is insufficient in the following situations:

  • When the lead vehicle is stationary or coming to a stop.
  • When the vehicle detects a new lead vehicle.

The transition between the gap controller and the target braking controller is governed by the vehicle's acceleration afollow:

  • afollow = |
  • afollow= , if the lead vehicle has just been detected
  • afollow= Other cases
Fall 1 corresponds to a large distance to the target position:

The gap control is applied when the vehicle takes longer than ts,brake to reach the near range ds ().

Where

This is sufficient for gap control when the vehicle is still relatively far from its target position. In this case, target braking does not occur, as it would be unrealistically weak.

ts,brake refers to the driving behavior attribute ACC_t_s_brake. Higher values lead to an earlier initiation of target braking, resulting in milder decelerations.

Case 2, the vehicle has detected a new lead vehicle:

If the vehicle suddenly identifies a new lead vehicle, such as when changing lanes, it will apply targeted braking with . This method helps prevent abrupt changes in acceleration, especially when there are significant speed differences |Δv|.

Where = areq(t). In this context, the standstill distance dstand is replaced by :

  • The time t0 refers to the moment when the vehicle first detects the lead vehicle.
  • δres corresponds to the vehicle behavior attribute ACC_delta_res.
  • vres corresponds to the vehicle behavior attribute ACC_v_res.

Thus, the target of braking is continuously adjusted upstream with the maximum speed relative to the standstill distance dstand. As a result, the vehicle maintains an increasingly larger distance over time. The minimum speed at which this adjustment occurs is vres. This ensures that the upstream adjustment does not take too long, even at low speeds vf.

The lead vehicle is no longer considered newly perceived once .

The continuous increase in the standstill distance facilitates a gradual transition to the gap controller .

Case 3: If neither Case 1 nor Case 2 applies

If neither Case 1 nor Case 2 is applicable, then

.

Where

is the time until the lead vehicle comes to a stop:

Thus, ρ=1, and the vehicle will use the gap controller , if the lead vehicle requires more time than ts,max to stop. .

Otherwise, the vehicle performs a target braking maneuver with areq. However, this target braking only fully occurs (ρ=0), when the lead vehicle requires less time than ts,min to come to a complete stop (). Linear interpolation is applied between ts,min and ts,max to ensure a smooth transition.

The denominator in is limited to -0,1 m/s2 to prevent division by zero.

In the case where ts,max = ts,min the transition occurs in steps.

ts,min corresponds to the driving behavior attribute ACC_t_s_min.

ts,max corresponds to the driving behavior attribute ACC_t_s_max.

Preventing unnecessary starts in stop & go situations

To prevent the vehicle from starting unnecessarily in stop-and-go situations, the following additional condition applies to starting:

. The vehicle must be stationary, and the interaction object must be another vehicle, not, for example, a stop sign.

astart corresponds to the driving behavior attribute ACC_a_start. Thus, the vehicle's acceleration is given by:

The interaction object is a vehicle, afollow(t), others

In many cases, the acceleration during start-up is determined by the gap controller: determines afollow. Since the gap controller depends on both the distance and the speed difference, the additional condition with astart implies that the vehicle will only start when the distance and/or speed difference to the lead vehicle is sufficiently large. If the lead vehicle is stationary (vf = 0) and the standard values (τv=1 s, τd=5 s, astart = ) are used, the vehicle would start moving when its distance at the beginning of the safety gap (Δx-dstand) is at least 5 meters, and the distance to the rear edge of the lead vehicle is 10 meters, assuming dstand = 5 m. However, in practice, the vehicle often starts moving even if the gap is smaller because the lead vehicle is usually in motion (vf >0) and therefore the gap controller is greater due to the contribution of the speed differenceΔv.

Once the vehicle starts moving, the actual acceleration used may be lower than astart due to the jerk limitation.

Jerk limitation prevents unrealistic acceleration jumps

If the jerk limitation driving behavior attribute is selected, the change in acceleration (jerk) is limited to prevent unrealistic jumps, for example, when the vehicle detects a lead vehicle. For a time step size Δt, the vehicle's acceleration is given by:

Where:

ae (t-Δt): the actual acceleration of the vehicle from the previous time step. Thus, the vehicle will use afollow, as long as the change in acceleration compared to the previous time step is within a permissible range. The jerk allowed in a time step is limited by Jmax- for negative and Jmax+ for positive changes in acceleration.

For positive changes in acceleration the following applies:

The following driving behavior attributes are considered:

  • J corresponds to the driving behavior attribute ACC_J. J. It applies during normal following behavior.
  • τ(J+) corresponds to the driving behavior attribute ACC_tau_J_plus.
  • Jmax+ signifies that the minimum allowed positive jerk is equal to J. However, if the vehicle has been braking in the previous time step (ae (t-Δt)<0), a higher jerk may be permitted to enable a suitably rapid response if the lead vehicle moves away and the vehicle does not continue braking unrealistically long. Example: The vehicle is traveling in the middle of three lanes. The lead vehicle in the left lane moves to the right lane downstream of the vehicle and is no longer perceived.

For negative changes in acceleration the following applies:

The following driving behavior attributes are considered:

  • τ(J-) corresponds to the driving behavior attribute ACC_tau_J_minus.
  • The right argument of the maximum function ensures that the vehicle brakes sufficiently strongly based on the required deceleration when it perceives a new lead vehicle that is itself braking hard, for example, while it is changing lanes. If deceleration were to build up over a longer period, it could result in collisions.

Desired speed regulation

If no lead vehicle is present or it is still very far away, the vehicle can accelerate to its desired speed vdes:

  • acc,min corresponds to the driving behavior attribute ACC_a_cc_min
  • acc,max corresponds to the driving behavior attribute „ACC_a_cc_max
  • The time constant τ(CC) corresponds to ACC_tau_cc
  • If the limits acc,min and acc,max do not apply, the vehicle will thus reduce approximately 1/e ≈ 37 % of the initial difference to the desired speed within the time τ(CC). This approach follows an exponential curve.

Calculation of total acceleration

The gap regulator and the target braking regulator calculate the acceleration. . The desired speed controller provides acc(t). Thus, the total acceleration of the vehicle according to the ACC controller is:

This ensures that the action taken is the one that most restricts the vehicle. The acceleration acc is also calculated and considered when the vehicle perceives a lead vehicle. When the vehicle does not perceive a lead vehicle, the acceleration is reduced to: aACC(t) = acc(t).

acc is additionally limited:

  • Downward by the maximum deceleration.
  • Upward by the minimum of the desired acceleration and the maximum acceleration.

The maximum deceleration and maximum acceleration values include the link gradient by default (Selecting network settings for vehicle behavior).

The vehicle considers multiple vehicles or interaction objects according to the driving behavior attributes Look ahead distance and Look back distance (Editing the driving behavior parameter Following behavior). For each considered vehicle or interaction object, acc is calculated as described above. The smallest calculated value is used for the acceleration.

Acceleration calculation without ACC controller for interaction objects

The ACC controller acc does not apply in all cases, especially when a lead vehicle is overtaking on the same lane.

The ACC controller acc also does not apply when the vehicle itself is in one of the following situations:

  • The vehicle is changing lanes.
  • The vehicle perceives a reduced speed area.
  • The vehicle is approaching a transition to a mesoscopically simulated area.
  • The vehicle is aiming for an emergency stop.
  • The vehicle is braking for a curve point.

In these cases, the vehicle’s acceleration is instead calculated based on the interaction object.