Class 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-2022 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 Detail

      • 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 Detail

      • IncentiveRoute

        public IncentiveRoute()
    • Method Detail

      • 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,
                                              Length x,
                                              int n,
                                              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