Class Idm
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.Idm
- All Implemented Interfaces:
CarFollowingModel
,DesiredHeadwayModel
,DesiredSpeedModel
,Initialisable
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
-
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
ConstructorDescriptionIdm()
Default constructor using default models for desired headway and desired speed.Idm
(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
-
Idm
public Idm()Default constructor using default models for desired headway and desired speed. -
Idm
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.
-