Class IncentiveSpeed

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

public class IncentiveSpeed extends Object implements VoluntaryIncentive
Determines lane change desire for speed, where the slowest vehicle in the current and adjacent lanes are assessed. The larger the speed differences between these vehicles, the larger the desire. Negative speed differences result in negative lane change desire. Only vehicles within a limited anticipation range are considered. The considered speed difference with an adjacent lane is reduced as the slowest leader in the adjacent lane is further ahead. 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.

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
  • Constructor Details

    • IncentiveSpeed

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

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