Longitudinal and Lateral Control

Driving behaviour in SCM is mainly characterised by lateral and longitudinal actions. The following chapter provides an overview on how speed and following distances are adjusted, how the lane keeping action works and also explains the special case of behaviour in traffic jams and how emergency lanes are considered.

Speed Adjustment

The set value of longitudinal acceleration is used in case of the action speed adjustment to regulate the target speed of the driver. For all other actions, it is a limited value for the calculation of accelerations, so that the own target speed will never be overridden. The calculation of the set value for acceleration a_{set} is dependent on the target speed v_{target} and the current speed of the agent v_{ego}:

a_{set} = \frac{v_{target} - v_{ego}}{2}

The calculated values of a_{set} have an upper limit given by the comfort longitudinal acceleration and a lower one by the comfort longitudinal deceleration (see ParametersAgent).

Following Distance

The car following behaviour is divided into three different longitudinal actions:

  • approaching a vehicle that can be followed

  • following another vehicle at a desired distance

  • falling back to the desired following distance when too close to the vehicle ahead

Approaching describes the behaviour between InfluencingDistance and EquilibriumDistance. The set value of acceleration during approaching a_{equilibrium} is realized as a target braking to EquilibriumDistance. a_{equilibrium} is the sum of three parts:

a_{equilibrium} = a_{eqpartvelocity} + a_{eqpartdistance} + a_{eqpartacceleration}

a_{eqpartvelocity} is defined as follows:

a_{eqpartvelocity} = a_{constvel} \cdot (propAppDist + 0.1)

propAppDist is defined as the propotional value for the approaching case. It is calculated by the \Delta s with respect to the reduction factor for following distance and the distance to regulate s_{regulation}. a_{constvel} is a function of \Delta v to leading vehicle and s_{regulation}:

a_{constvel} = \frac{sin(\Delta v) \cdot \Delta v^2}{2 \cdot s_{regulation}}

The \Delta v for the approaching case is with respect to the situation always in consideration. It is calculated with a gain of 25% of the v_{Front}, where the tolerance area of the value ranges from 10 km/h to 25 km/h. The s_{regulation} is calculated with the parameters reactionBaseTimeMean and pedalChangeTimeMean (Driver Parameters):

s_{regulation} = v_{ego} \cdot (1 + reactionBaseTimeMean + pedalChangeTimeMean)

a_{eqpartdistance} and a_{eqpartacc} are defined as follows:

a_{eqpartvelocity} = a_{constdist} \cdot sin(\Delta s) \cdot \frac{\Delta s}{s_{regulation}}

a_{eqpartacc} = a_{constacc} \cdot propAppDist

In this case, the a_{constacc} is equal to the acceleration of the observed vehicle.

The actions of following at and falling back to a desired distance describe the actual following behaviour of the vehicle. Here, the following distance is regulated to approach the EquilibriumDistance. For the calculation of the set value of accelaration a_{set}, the Wiedemann model is used in both cases. It is composed of three different acceleration values:

a_{set} = a_{distance} + a_{velocity} + a_{acceleration}

a_{distance} serves as a function of the current relative distance \Delta s to the leading vehicle, the EquilibriumDistance \Delta s_{queuing} and the maximal amount of the acceleration a_{distance,max} for the pure distance regulation:

a_{distance} = a_{distance,max} \cdot (\frac{\Delta s - \Delta s_{equilibrium}}{\Delta s_{equilibrium} - \Delta s_{queuing}})

a_{velocity} is a function of the current relative velocity \Delta v to the leading vehicle, the current relative distance \Delta s to leading vehicle and the queuing distance \Delta s_{queuing}:

a_{velocity} = - sign(\Delta v) \cdot 0.5 \cdot \Delta v^2 \cdot (\Delta s_{queuing} - \Delta s)

a_{accelaration} is equal to the accelaration a_{leading} of the leading vehicle:

a_{acceleration} = a_{leading}

The differentiation between following and falling back only exists in the value used in the calculations, the parameterization and the permitted value ranges for the calculated value a_{set}: (The behavioral parameters are explained in Driver Parameters.)

following at a desired distance

falling back to the desired distance

used values

a_{distance}

a_{distance}, a_{velocity}, a_{accelaration}

value for a_{distance,max}

comfortLongitudinalDeceleration

maximumLongitudinalDeceleration

upper value for a_{set}

comfortLongitudinalAcceleration

decelerationFromPowertrainDrag

botttom value for a_{set}

comfortLongitudinalDeceleration

maximumLongitudinalDeceleration

Time To Collision

The time to collision (TTC) is a time-based measure to track collision courses of two ore more objects. The TTC measure makes the modeling of human behaviour in SCM possible. Real-world data can be used to parametrise the simulation model.

Time To Brake

Target braking

The set value of longitudinal accelaration for a target braking is calculated in case of the longitudinal action of braking to the end of the lane. The calculation of the set accelaration a_{set} depends on the agent’s current velocity v_{ego} and the current relative distance \Delta s_{stop} to the target point on the road:

a_{set} = - \frac{v_{ego}^2}{\Delta s_{stop}}

The calculated values of a_{set} are limited to stay between the comfort longitudinal deceleration and the maximum longitudinal deceleration (see Driver Parameters).

Lane Centering

Command variable calculations for lateral guidance

The command variables of the lateral control are the set course curvature \kappa_{set}, the course angle error \Delta \Phi and the lateral deviation \Delta w with respect to the set trajectory. The set course curvature \kappa_{set} is constantly calculated from the current course curvature \kappa_{road} and the planned course curvature \kappa_{maneuver} from the current driving maneuver:

\kappa_{set} = \kappa_{road} + \kappa_{maneuver}

The controlling deviations \Delta \Phi and \Delta w are the respective difference between set and actual value:

\Delta \Phi = \Phi_{set} - \Phi_{act}

\Delta w = w_{set} - w_{act}

The actual values refer to the road coordinate system and are queried earlier. The necessary values for the set values \kappa_{set}, \Phi_{set} and w_{set} are calculated depending on the current lateral action. Gains of the regulation P_{\Phi} and P_{w} are currently constant (P_{\Phi} = 7.5 rad/s, P_{w} = 20.0 rad/s^{2}).

Lane keeping

The lateral control for lane keeping is applied for the lateral actions lane keeping, intent to change lanes and planned merging maneuver. The set values \kappa_{maneuver}, \Phi_{set} and w_{set} mentioned earlier are constant at 0 due to the fact that the maneuver only follows the course of the road. This has the following consequences for the output values of the lateral control in case of lane keeping:

\kappa_{set} = \kappa_{road}

\Delta \Phi = - \Phi_{act}

\Delta w = - w_{act}

Lateral positioning

The neutral lateral position, i.e. the lateral position the agent tries to reach with respect to the lane center, is determined individually for each agent. It can be manipulated through the lateralOffsetNeutralPosition-parameters. Currently the offset from the lane center only applies to vehicles in queued traffic (below jam velocity). Therefore, the actual lateral offset is not suddenly applied at jam velocity but ramps up to reach its full value at 20 km/h below jam velocity.

Lateral offset neutral position scaled

Fig. 35 Lateral offset neutral position scaled

Since this is the driver’s desired lateral positioning, it is also considered for all other lateral maneuvers, such as lane changes, swerving etc. The maneuver will end at that specific lateral offset.

Traffic Jam Behaviour

Emergency lane

Depending on road type and country specific criteria, agents will form a rescue lane when traffic gets close to a standstill (below 10 km/h). This applies to agents on the left most lane, where they move to the left side of the lane and its right neighbouring lane, where vehicles move to the right. This behaviour, consisting of the amount of lateral displacement from the lane center and the compliance quota (cooperative behaviour) can be manipulated via the corresponding parameters. This mechanic supersedes the lateral positioning mentioned above and will lead to an extended final lateral position as seen below.

Lateral offset neutral position scaled with emergency lane

Fig. 36 Lateral offset neutral position scaled with emergency lane (vJam - jam velocity)

There is also a linear ramp up between 20 and 10 km/h to avoid big sudden changes for the lateral controller.

Note: The current implementation always considers the road to be a motorway and the country specific rules to require the formation of a rescue lane.