Class IDM

All Implemented Interfaces:
CarFollowingModel, DesiredHeadwayModel, DesiredSpeedModel, Initialisable

public class IDM
extends AbstractIDM
Implementation of the IDM. See https://en.wikipedia.org/wiki/Intelligent_driver_model

Copyright (c) 2013-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.

$LastChangedDate: 2015-07-24 02:58:59 +0200 (Fri, 24 Jul 2015) $, @version $Revision: 1147 $, by $Author: averbraeck $, initial version 5 apr. 2016
Author:
Wouter Schakel
  • Constructor Details

    • IDM

      public IDM()
      Default constructor using default models for desired headway and desired speed.
    • IDM

      public IDM​(DesiredHeadwayModel desiredHeadwayModel, DesiredSpeedModel desiredSpeedModel)
      Constructor with modular models for desired headway and desired speed.
      Parameters:
      desiredHeadwayModel - DesiredHeadwayModel; desired headway model
      desiredSpeedModel - DesiredSpeedModel; desired speed model
  • Method Details

    • getName

      public final java.lang.String getName()
      Return the name of the car-following model.
      Returns:
      name of the car-following model
    • getLongName

      public final java.lang.String getLongName()
      Return the complete name of the car-following model.
      Returns:
      complete name of the car-following model
    • combineInteractionTerm

      protected final Acceleration combineInteractionTerm​(Acceleration aFree, Parameters parameters, Speed speed, Speed desiredSpeed, Length desiredHeadway, PerceptionIterable<? extends Headway> leaders) throws ParameterException
      Combines an interaction term with the free term. There should be at least 1 leader for this method.
      Specified by:
      combineInteractionTerm in class AbstractIDM
      Parameters:
      aFree - Acceleration; Free term of acceleration.
      parameters - Parameters; Parameters.
      speed - Speed; Current speed.
      desiredSpeed - Speed; Desired speed.
      desiredHeadway - Length; Desired headway.
      leaders - PerceptionIterable<? extends Headway>; Set of leader headways (guaranteed positive) and speeds, ordered by headway (closest first).
      Returns:
      Combination of terms into a single acceleration.
      Throws:
      ParameterException - In case of parameter exception.