Class IncentiveSpeedWithCourtesy
- java.lang.Object
-
- org.opentrafficsim.road.gtu.lane.tactical.lmrs.IncentiveSpeedWithCourtesy
-
- All Implemented Interfaces:
Incentive
,VoluntaryIncentive
public class IncentiveSpeedWithCourtesy extends Object implements 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.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 13, 2016
- Author:
- Wouter Schakel
-
-
Field Summary
Fields Modifier and Type Field Description protected static ParameterTypeAcceleration
A
Acceleration parameter type.protected static ParameterTypeSpeed
VCONG
Speed threshold below which traffic is considered congested.protected static ParameterTypeSpeed
VGAIN
Anticipation speed difference parameter type.
-
Constructor Summary
Constructors Constructor Description IncentiveSpeedWithCourtesy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Desire
determineDesire(Parameters parameters, LanePerception perception, CarFollowingModel carFollowingModel, Desire mandatoryDesire, Desire voluntaryDesire)
Determines level of lane change desire for a lane change incentive.String
toString()
-
-
-
Field Detail
-
A
protected static final ParameterTypeAcceleration A
Acceleration parameter type.
-
VGAIN
protected static final ParameterTypeSpeed VGAIN
Anticipation speed difference parameter type.
-
VCONG
protected static final ParameterTypeSpeed VCONG
Speed threshold below which traffic is considered congested.
-
-
Method Detail
-
determineDesire
public final Desire determineDesire(Parameters parameters, LanePerception perception, CarFollowingModel carFollowingModel, Desire mandatoryDesire, Desire voluntaryDesire) throws 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:
ParameterException
- if a parameter is not given or out of boundsOperationalPlanException
- in case of a perception exception
-
-