Class IncentiveCourtesy

  • All Implemented Interfaces:
    Incentive, VoluntaryIncentive

    public class IncentiveCourtesy
    extends java.lang.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-2020 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
    • Constructor Detail

      • IncentiveCourtesy

        public IncentiveCourtesy()
    • Method Detail

      • determineDesire

        public final Desire determineDesire​(Parameters parameters,
                                            LanePerception perception,
                                            CarFollowingModel carFollowingModel,
                                            Desire mandatoryDesire,
                                            Desire voluntaryDesire)
                                     throws 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:
        ParameterException - if a parameter is not given or out of bounds
        OperationalPlanException - in case of a perception exception
      • toString

        public final java.lang.String toString()
        Overrides:
        toString in class java.lang.Object