# Driver

## AlgorithmAgentFollowingDriverModel

This driver type adapts its velocity to an agent in front and holds a desired velocity if there’s no front agent available (like adaptive cruise control). The lateral guidance always keeps the agent in the middle of the lane.

    <Profile Name="Regular">
      <String Key="Type" Value="AlgorithmAgentFollowingDriverModel"/>
      <String Key="AlgorithmLateralModule" Value="Algorithm_LateralAfdm"/>
      <String Key="AlgorithmLongitudinalModule" Value="Algorithm_LongitudinalAfdm"/>
      <Double Key="VelocityWish" Value="36.11"/>
      <Double Key="Delta" Value="4.0"/>
      <Double Key="TGapWish" Value="1.5"/>
      <Double Key="MinDistance" Value="2.0"/>
      <Double Key="MaxAcceleration" Value="1.4"/>
      <Double Key="MaxDeceleration" Value="2.0"/>
    </Profile>

Parameter | Type | Unit | Description | Defaults to
--- | --- | --- | --- | ---
AlgorithmLateralModule | String |  | Behavior model for the steering wheel angle of the driver | Required value
AlgorithmLongitudinalModule | String |  | Behavior model for the accelerator, brake pedal position, and the current gear of the driver | Required value
VelocityWish | Double | m/s | Desired speed | 33.33 m/s
Delta | Double |  | Free acceleration exponent characterizing how the acceleration decreases with velocity (1: linear, infinity: constant) | 4.0
TGapWish | Double | s | Desired time gap between ego and front agent | 1.5 s
MinDistance | Double | m | Minimum distance between ego and front (used at slow speeds); Also called jam distance | 2.0 m
MaxAcceleration | Double | m/s² | Maximum acceleration in satisfactory way, not vehicle possible acceleration | 1.4 m/s²
MaxDeceleration | Double | m/s² | Desired deceleration | 2.0 m/s²