All Implemented Interfaces:
CarFollowingModel, DesiredHeadwayModel, DesiredSpeedModel, Initialisable

public class IdmPlus extends AbstractIdm
Implementation of the IDM+. See Schakel, W.J., Knoop, V.L., and Van Arem, B. (2012), LMRS: Integrated Lane Change Model with Relaxation and Synchronization, Transportation Research Records: Journal of the Transportation Research Board, No. 2316, pp. 47-57. Note in the official versions of TRB and TRR some errors appeared due to the typesetting of the papers (not in the preprint provided here). A list of errata for the official versions is found here.

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

    • IdmPlus

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

      public IdmPlus(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.