Class IncentiveSpeedWithCourtesy
java.lang.Object
org.opentrafficsim.road.gtu.lane.tactical.lmrs.IncentiveSpeedWithCourtesy
- All Implemented Interfaces:
Incentive
,VoluntaryIncentive
Determines lane change desire for speed. The anticipation speed in the current and adjacent lanes are compared. The larger
the difference, the larger the lane change desire. For negative differences, negative desire results. Anticipation speed
involves the most critical vehicle considered to be in a lane. Vehicles are more critical if their speed is lower, and if
they are closer. The set of vehicles considered to be on a lane includes drivers on adjacent lanes of the considered lane,
with a lane change desire towards the considered lane above a certain threshold. If such vehicles have low speeds (i.e.
vehicle accelerating to merge), this may result in a courtesy lane change, or in not changing lane out of courtesy from the
2nd lane of the mainline. Vehicles on the current lane of the driver, are not considered on adjacent lanes. This would
maintain a large speed difference between the lanes where all drivers do not change lane as they consider leading vehicles to
be on the adjacent lane, lowering the anticipation speed on the adjacent lane. The desire for speed is reduced as
acceleration is larger, preventing over-assertive lane changes as acceleration out of congestion in the adjacent lane has
progressed more.
Note: This incentive includes speed, and a form of courtesy. It should therefore not be combined with incentives solely for speed, or solely for courtesy.
Note: This incentive includes speed, and a form of courtesy. It should therefore not be combined with incentives solely for speed, or solely for courtesy.
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
Modifier and TypeFieldDescriptionprotected static final org.opentrafficsim.base.parameters.ParameterTypeAcceleration
Acceleration parameter type.protected static final org.opentrafficsim.base.parameters.ParameterTypeSpeed
Speed threshold below which traffic is considered congested.protected static final org.opentrafficsim.base.parameters.ParameterTypeSpeed
Anticipation speed difference parameter type. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal Desire
determineDesire
(org.opentrafficsim.base.parameters.Parameters parameters, LanePerception perception, CarFollowingModel carFollowingModel, Desire mandatoryDesire, Desire voluntaryDesire) Determines level of lane change desire for a lane change incentive.final String
toString()
-
Field Details
-
A
protected static final org.opentrafficsim.base.parameters.ParameterTypeAcceleration AAcceleration parameter type. -
VGAIN
protected static final org.opentrafficsim.base.parameters.ParameterTypeSpeed VGAINAnticipation speed difference parameter type. -
VCONG
protected static final org.opentrafficsim.base.parameters.ParameterTypeSpeed VCONGSpeed threshold below which traffic is considered congested.
-
-
Constructor Details
-
IncentiveSpeedWithCourtesy
public IncentiveSpeedWithCourtesy()
-
-
Method Details
-
determineDesire
public final Desire determineDesire(org.opentrafficsim.base.parameters.Parameters parameters, LanePerception perception, CarFollowingModel carFollowingModel, Desire mandatoryDesire, Desire voluntaryDesire) throws org.opentrafficsim.base.parameters.ParameterException, OperationalPlanException Determines level of lane change desire for a lane change incentive.- Specified by:
determineDesire
in interfaceVoluntaryIncentive
- Parameters:
parameters
- Parameters; parametersperception
- LanePerception; perceptioncarFollowingModel
- CarFollowingModel; car-following modelmandatoryDesire
- Desire; level of mandatory desire at current timevoluntaryDesire
- Desire; level of voluntary desire at current time, of voluntary incentives calculated before- Returns:
- level of lane change desire for this incentive
- Throws:
org.opentrafficsim.base.parameters.ParameterException
- if a parameter is not given or out of boundsOperationalPlanException
- in case of a perception exception
-
toString
-