Class IncentiveCourtesy

java.lang.Object
org.opentrafficsim.road.gtu.lane.tactical.lmrs.IncentiveCourtesy
All Implemented Interfaces:
Incentive, VoluntaryIncentive

public class IncentiveCourtesy extends Object implements VoluntaryIncentive
Determines lane change desire for courtesy lane changes, which are performed to supply space for other drivers. In case drivers in adjacent lanes have desire to change to the current lane, the driver has desire to change to the other adjacent lane. The level of desire depends on lane change courtesy, as well as the distance of the leading vehicle for which desire exists. This desire exists for only a single vehicle, i.e. the one giving maximum desire. A negative desire may also result for leaders in the 2nd adjacent lane desiring to change to the 1st adjacent lane. By not changing to the 1st adjacent lane, room is reserved for the leader on the 2nd adjacent lane.

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
    Comfortable deceleration parameter type.
    protected static final org.opentrafficsim.base.parameters.ParameterTypeDouble
    Current left lane change desire.
    protected static final org.opentrafficsim.base.parameters.ParameterTypeDouble
    Current right lane change desire.
    protected static final org.opentrafficsim.base.parameters.ParameterTypeDouble
    Socio-speed sensitivity parameter.
  • 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

    • B

      protected static final org.opentrafficsim.base.parameters.ParameterTypeAcceleration B
      Comfortable deceleration parameter type.
    • SOCIO

      protected static final org.opentrafficsim.base.parameters.ParameterTypeDouble SOCIO
      Socio-speed sensitivity parameter.
    • DLEFT

      protected static final org.opentrafficsim.base.parameters.ParameterTypeDouble DLEFT
      Current left lane change desire.
    • DRIGHT

      protected static final org.opentrafficsim.base.parameters.ParameterTypeDouble DRIGHT
      Current right lane change desire.
  • Constructor Details

    • IncentiveCourtesy

      public IncentiveCourtesy()
  • 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