Class IncentiveRoute
java.lang.Object
org.opentrafficsim.road.gtu.lane.tactical.lmrs.IncentiveRoute
- All Implemented Interfaces:
Supplier<IncentiveRoute>,Stateless<IncentiveRoute>,Incentive,MandatoryIncentive
public final class IncentiveRoute
extends Object
implements MandatoryIncentive, Stateless<IncentiveRoute>
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
FieldsModifier and TypeFieldDescriptionprotected static final ParameterTypeLengthLook ahead parameter type.static final IncentiveRouteSingleton instance.static final ParameterTypeDurationLook-ahead time for mandatory lane changes parameter type. -
Method Summary
Modifier and TypeMethodDescriptiondetermineDesire(Parameters parameters, LanePerception perception, CarFollowingModel carFollowingModel, Desire mandatoryDesire) Determines level of lane change desire for a lane change incentive.get()static doublegetDesireToLeave(Parameters params, Length x, int n, Speed v) Calculates desire to leave a lane for a single infrastructure info.toString()
-
Field Details
-
LOOKAHEAD
Look ahead parameter type. -
T0
Look-ahead time for mandatory lane changes parameter type. -
SINGLETON
Singleton instance.
-
-
Method Details
-
get
- Specified by:
getin interfaceStateless<IncentiveRoute>- Specified by:
getin interfaceSupplier<IncentiveRoute>
-
determineDesire
public Desire determineDesire(Parameters parameters, LanePerception perception, CarFollowingModel carFollowingModel, Desire mandatoryDesire) throws ParameterException, OperationalPlanException Description copied from interface:MandatoryIncentiveDetermines level of lane change desire for a lane change incentive.- Specified by:
determineDesirein interfaceMandatoryIncentive- Parameters:
parameters- parametersperception- perceptioncarFollowingModel- car-following modelmandatoryDesire- level of mandatory desire at current time- Returns:
- level of lane change desire for this incentive
- Throws:
ParameterException- if a parameter is not given or out of boundsOperationalPlanException- in case of a perception exception
-
getDesireToLeave
public static double getDesireToLeave(Parameters params, Length x, int n, Speed v) throws ParameterException Calculates desire to leave a lane for a single infrastructure info.- Parameters:
params- parametersx- remaining distance for lane changesn- number of required lane changesv- current speed- Returns:
- desire to leave a lane for a single infrastructure info
- Throws:
ParameterException- in case of a parameter exception
-
toString
-