Interface CarFollowingModel
-
- All Superinterfaces:
DesiredHeadwayModel
,DesiredSpeedModel
,Initialisable
- All Known Subinterfaces:
GTUFollowingModelOld
- All Known Implementing Classes:
AbstractCarFollowingModel
,AbstractGTUFollowingModelMobil
,AbstractIDM
,FixedAccelerationModel
,IDM
,IDMOld
,IDMPlus
,IDMPlusMulti
,IDMPlusOld
,SequentialFixedAccelerationModel
,ToledoCarFollowing
public interface CarFollowingModel extends DesiredHeadwayModel, DesiredSpeedModel, Initialisable
Methods that a car-following model has to implement. The parameters are supplied to obtain parameters. The phrase 'car-following model' is the commonly used and therefore intuitive name, but in actuality it is much more.- Following other vehicle types: van, bus, truck.
- Following other GTU's: bicycle, pedestrian.
- Free driving.
- Approaching (theoretically different from following, usually the same formula).
- Stopping for a traffic light, intersection conflict, etc,
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.- Version:
- $Revision$, $LastChangedDate$, by $Author$, initial version Apr 22, 2016
- Author:
- Alexander Verbraeck, Wouter Schakel
-
-
Field Summary
Fields Modifier and Type Field Description static ParameterTypeClass<CarFollowingModel>
CAR_FOLLOWING_MODEL
Parameter type for car-following model.
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description Acceleration
followingAcceleration(Parameters parameters, Speed speed, SpeedLimitInfo speedLimitInfo, PerceptionIterable<? extends Headway> leaders)
Determination of car-following acceleration, possibly based on multiple leaders.String
getLongName()
Return the complete name of the car-following model.String
getName()
Return the name of the car-following model.default void
init(LaneBasedGTU gtu)
Initialize car-following model.-
Methods inherited from interface org.opentrafficsim.road.gtu.lane.tactical.following.DesiredHeadwayModel
desiredHeadway
-
Methods inherited from interface org.opentrafficsim.road.gtu.lane.tactical.following.DesiredSpeedModel
desiredSpeed
-
-
-
-
Field Detail
-
CAR_FOLLOWING_MODEL
static final ParameterTypeClass<CarFollowingModel> CAR_FOLLOWING_MODEL
Parameter type for car-following model.
-
-
Method Detail
-
followingAcceleration
Acceleration followingAcceleration(Parameters parameters, Speed speed, SpeedLimitInfo speedLimitInfo, PerceptionIterable<? extends Headway> leaders) throws ParameterException
Determination of car-following acceleration, possibly based on multiple leaders. The implementation should be able to deal with:
- The current speed being higher than the desired speed.
- The headway being negative.
- Parameters:
parameters
- Parameters; parametersspeed
- Speed; current speedspeedLimitInfo
- SpeedLimitInfo; info regarding the desired speed for car-followingleaders
- PerceptionIterable<? extends Headway>; set of leader headways and speeds, ordered by headway (closest first)- Returns:
- car-following acceleration
- Throws:
ParameterException
- if parameter exception occurs
-
getName
String getName()
Return the name of the car-following model.- Returns:
- name of the car-following model
-
getLongName
String getLongName()
Return the complete name of the car-following model.- Returns:
- complete name of the car-following model
-
init
default void init(LaneBasedGTU gtu)
Initialize car-following model.- Specified by:
init
in interfaceInitialisable
- Parameters:
gtu
- LaneBasedGTU; gtu
-
-