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-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.

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 String getName()
      Return the name of the car-following model.
      Returns:
      name of the car-following model
    • getLongName

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

      protected final org.djunits.value.vdouble.scalar.Acceleration combineInteractionTerm(org.djunits.value.vdouble.scalar.Acceleration aFree, org.opentrafficsim.base.parameters.Parameters parameters, org.djunits.value.vdouble.scalar.Speed speed, org.djunits.value.vdouble.scalar.Speed desiredSpeed, org.djunits.value.vdouble.scalar.Length desiredHeadway, PerceptionIterable<? extends Headway> leaders) throws org.opentrafficsim.base.parameters.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:
      org.opentrafficsim.base.parameters.ParameterException - In case of parameter exception.