Class IncentiveRoute

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

public class IncentiveRoute extends Object implements MandatoryIncentive
Determines desire by assessing the number of required lane change to be performed and the distance within which these have to be performed. Desire starts to increase from 0 linearly over a distance of x0 per required lane change, or per v*t0 per required lane change. For v>x0/t0 this gives that remaining time is critical, while for v<x0/t0 remaining space is critical. The desire is set towards the adjacent lane with a better situation. Negative desire towards the other lane, the extent of which pertains to the other adjacent lane, is also set.

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.ParameterTypeLength
    Look ahead parameter type.
    static final org.opentrafficsim.base.parameters.ParameterTypeDuration
    Look-ahead time for mandatory lane changes 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)
    Determines level of lane change desire for a lane change incentive.
    static double
    getDesireToLeave(org.opentrafficsim.base.parameters.Parameters params, org.djunits.value.vdouble.scalar.Length x, int n, org.djunits.value.vdouble.scalar.Speed v)
    Calculates desire to leave a lane for a single infrastructure info.
    final String

    Methods inherited from class java.lang.Object

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

    • LOOKAHEAD

      protected static final org.opentrafficsim.base.parameters.ParameterTypeLength LOOKAHEAD
      Look ahead parameter type.
    • T0

      public static final org.opentrafficsim.base.parameters.ParameterTypeDuration T0
      Look-ahead time for mandatory lane changes parameter type.
  • Constructor Details

    • IncentiveRoute

      public IncentiveRoute()
  • Method Details

    • determineDesire

      public final Desire determineDesire(org.opentrafficsim.base.parameters.Parameters parameters, LanePerception perception, CarFollowingModel carFollowingModel, Desire mandatoryDesire) throws org.opentrafficsim.base.parameters.ParameterException, OperationalPlanException
      Determines level of lane change desire for a lane change incentive.
      Specified by:
      determineDesire in interface MandatoryIncentive
      Parameters:
      parameters - Parameters; parameters
      perception - LanePerception; perception
      carFollowingModel - CarFollowingModel; car-following model
      mandatoryDesire - Desire; level of mandatory desire at current time
      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
    • getDesireToLeave

      public static double getDesireToLeave(org.opentrafficsim.base.parameters.Parameters params, org.djunits.value.vdouble.scalar.Length x, int n, org.djunits.value.vdouble.scalar.Speed v) throws org.opentrafficsim.base.parameters.ParameterException
      Calculates desire to leave a lane for a single infrastructure info.
      Parameters:
      params - Parameters; parameters
      x - Length; remaining distance for lane changes
      n - int; number of required lane changes
      v - Speed; current speed
      Returns:
      desire to leave a lane for a single infrastructure info
      Throws:
      org.opentrafficsim.base.parameters.ParameterException - in case of a parameter exception
    • toString

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