Class 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-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 Summary

      Fields 
      Modifier and Type Field Description
      protected static org.opentrafficsim.base.parameters.ParameterTypeAcceleration B
      Comfortable deceleration parameter type.
      protected static org.opentrafficsim.base.parameters.ParameterTypeDouble DLEFT
      Current left lane change desire.
      protected static org.opentrafficsim.base.parameters.ParameterTypeDouble DRIGHT
      Current right lane change desire.
      protected static org.opentrafficsim.base.parameters.ParameterTypeDouble SOCIO
      Socio-speed sensitivity parameter.
    • Field Detail

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

      • IncentiveCourtesy

        public IncentiveCourtesy()
    • Method Detail

      • 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