Class IdmPlus
java.lang.Object
org.opentrafficsim.road.gtu.lane.tactical.following.AbstractCarFollowingModel
org.opentrafficsim.road.gtu.lane.tactical.following.AbstractIdm
org.opentrafficsim.road.gtu.lane.tactical.following.IdmPlus
- All Implemented Interfaces:
CarFollowingModel
,DesiredHeadwayModel
,DesiredSpeedModel
,Initialisable
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
-
Field Summary
Fields inherited from class org.opentrafficsim.road.gtu.lane.tactical.following.AbstractIdm
A, B, B0, DELTA, DESIRED_SPEED, FSPEED, HEADWAY, S0, T
Fields inherited from interface org.opentrafficsim.road.gtu.lane.tactical.following.CarFollowingModel
CAR_FOLLOWING_MODEL
-
Constructor Summary
ConstructorDescriptionIdmPlus()
Default constructor using default models for desired headway and desired speed.IdmPlus
(DesiredHeadwayModel desiredHeadwayModel, DesiredSpeedModel desiredSpeedModel) Constructor with modular models for desired headway and desired speed. -
Method Summary
Modifier and TypeMethodDescriptionprotected 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) Combines an interaction term with the free term.final String
Return the complete name of the car-following model.final String
getName()
Return the name of the car-following model.Methods inherited from class org.opentrafficsim.road.gtu.lane.tactical.following.AbstractIdm
dynamicDesiredHeadway, dynamicHeadwayTerm, followingAcceleration
Methods inherited from class org.opentrafficsim.road.gtu.lane.tactical.following.AbstractCarFollowingModel
desiredHeadway, desiredSpeed, followingAcceleration, init, toString
-
Constructor Details
-
IdmPlus
public IdmPlus()Default constructor using default models for desired headway and desired speed. -
IdmPlus
Constructor with modular models for desired headway and desired speed.- Parameters:
desiredHeadwayModel
- DesiredHeadwayModel; desired headway modeldesiredSpeedModel
- DesiredSpeedModel; desired speed model
-
-
Method Details
-
getName
Return the name of the car-following model.- Returns:
- name of the car-following model
-
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 classAbstractIdm
- 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.
-