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-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
    Modifier and Type
    Field
    Description
    protected 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

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    final 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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • A

      protected static final org.opentrafficsim.base.parameters.ParameterTypeAcceleration A
      Acceleration parameter type.
    • VGAIN

      protected static final org.opentrafficsim.base.parameters.ParameterTypeSpeed VGAIN
      Anticipation speed difference parameter type.
    • VCONG

      protected static final org.opentrafficsim.base.parameters.ParameterTypeSpeed VCONG
      Speed 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 interface VoluntaryIncentive
      Parameters:
      parameters - Parameters; parameters
      perception - LanePerception; perception
      carFollowingModel - CarFollowingModel; car-following model
      mandatoryDesire - Desire; level of mandatory desire at current time
      voluntaryDesire - 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 bounds
      OperationalPlanException - in case of a perception exception
    • toString

      public final String toString()
      Overrides:
      toString in class Object