public final class LmrsUtil extends Object implements LmrsParameters
Copyright (c) 2013-2017 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
Modifier and Type | Field and Description |
---|---|
static org.opentrafficsim.base.parameters.ParameterTypeAcceleration |
BCRIT
Maximum critical deceleration, e.g.
|
static org.opentrafficsim.base.parameters.ParameterTypeDuration |
DT
Fixed model time step.
|
static org.opentrafficsim.base.parameters.ParameterTypeDuration |
T
Current car-following headway.
|
static org.opentrafficsim.base.parameters.ParameterTypeDuration |
TAU
Headway relaxation time.
|
static org.opentrafficsim.base.parameters.ParameterTypeDuration |
TMAX
Maximum car-following headway.
|
static org.opentrafficsim.base.parameters.ParameterTypeDuration |
TMIN
Minimum car-following headway.
|
Modifier and Type | Method and Description |
---|---|
(package private) static boolean |
acceptLaneChange(LanePerception perception,
org.opentrafficsim.base.parameters.Parameters params,
SpeedLimitInfo sli,
CarFollowingModel cfm,
double desire,
org.djunits.value.vdouble.scalar.Speed ownSpeed,
org.djunits.value.vdouble.scalar.Acceleration ownAcceleration,
org.opentrafficsim.core.network.LateralDirectionality lat,
GapAcceptance gapAcceptance)
Determine whether a lane change is acceptable (gap, lane markings, etc.).
|
static SimpleOperationalPlan |
determinePlan(LaneBasedGTU gtu,
org.djunits.value.vdouble.scalar.Time startTime,
CarFollowingModel carFollowingModel,
LaneChange laneChange,
LmrsData lmrsData,
LanePerception perception,
LinkedHashSet<MandatoryIncentive> mandatoryIncentives,
LinkedHashSet<VoluntaryIncentive> voluntaryIncentives)
Determines a simple representation of an operational plan.
|
static Desire |
getLaneChangeDesire(org.opentrafficsim.base.parameters.Parameters parameters,
LanePerception perception,
CarFollowingModel carFollowingModel,
LinkedHashSet<MandatoryIncentive> mandatoryIncentives,
LinkedHashSet<VoluntaryIncentive> voluntaryIncentives,
Map<Class<? extends Incentive>,Desire> desireMap)
Determines lane change desire for the given RSU.
|
(package private) static void |
resetDesiredHeadway(org.opentrafficsim.base.parameters.Parameters params)
Resets value for T depending on level of lane change desire.
|
(package private) static void |
setDesiredHeadway(org.opentrafficsim.base.parameters.Parameters params,
double desire)
Sets value for T depending on level of lane change desire.
|
static org.djunits.value.vdouble.scalar.Acceleration |
singleAcceleration(org.djunits.value.vdouble.scalar.Length distance,
org.djunits.value.vdouble.scalar.Speed followerSpeed,
org.djunits.value.vdouble.scalar.Speed leaderSpeed,
double desire,
org.opentrafficsim.base.parameters.Parameters params,
SpeedLimitInfo sli,
CarFollowingModel cfm)
Determine acceleration from car-following with desire-adjusted headway.
|
public static final org.opentrafficsim.base.parameters.ParameterTypeDuration DT
public static final org.opentrafficsim.base.parameters.ParameterTypeDuration TMIN
public static final org.opentrafficsim.base.parameters.ParameterTypeDuration T
public static final org.opentrafficsim.base.parameters.ParameterTypeDuration TMAX
public static final org.opentrafficsim.base.parameters.ParameterTypeDuration TAU
public static final org.opentrafficsim.base.parameters.ParameterTypeAcceleration BCRIT
public static SimpleOperationalPlan determinePlan(LaneBasedGTU gtu, org.djunits.value.vdouble.scalar.Time startTime, CarFollowingModel carFollowingModel, LaneChange laneChange, LmrsData lmrsData, LanePerception perception, LinkedHashSet<MandatoryIncentive> mandatoryIncentives, LinkedHashSet<VoluntaryIncentive> voluntaryIncentives) throws org.opentrafficsim.core.gtu.GTUException, org.opentrafficsim.core.network.NetworkException, org.opentrafficsim.base.parameters.ParameterException, org.opentrafficsim.core.gtu.plan.operational.OperationalPlanException
gtu
- gtustartTime
- start timecarFollowingModel
- car-following modellaneChange
- lane change statuslmrsData
- LMRS dataperception
- perceptionmandatoryIncentives
- set of mandatory lane change incentivesvoluntaryIncentives
- set of voluntary lane change incentivesorg.opentrafficsim.core.gtu.GTUException
- gtu exceptionorg.opentrafficsim.core.network.NetworkException
- network exceptionorg.opentrafficsim.base.parameters.ParameterException
- parameter exceptionorg.opentrafficsim.core.gtu.plan.operational.OperationalPlanException
- operational plan exceptionpublic static Desire getLaneChangeDesire(org.opentrafficsim.base.parameters.Parameters parameters, LanePerception perception, CarFollowingModel carFollowingModel, LinkedHashSet<MandatoryIncentive> mandatoryIncentives, LinkedHashSet<VoluntaryIncentive> voluntaryIncentives, Map<Class<? extends Incentive>,Desire> desireMap) throws org.opentrafficsim.base.parameters.ParameterException, org.opentrafficsim.core.gtu.GTUException, org.opentrafficsim.core.gtu.plan.operational.OperationalPlanException
parameters
- parametersperception
- perceptioncarFollowingModel
- car-following modelmandatoryIncentives
- mandatory incentivesvoluntaryIncentives
- voluntary incentivesdesireMap
- map where calculated desires are stored inorg.opentrafficsim.base.parameters.ParameterException
- if a parameter is not definedorg.opentrafficsim.core.gtu.GTUException
- if there is no mandatory incentive, the model requires at least oneorg.opentrafficsim.core.gtu.plan.operational.OperationalPlanException
- perception exceptionstatic boolean acceptLaneChange(LanePerception perception, org.opentrafficsim.base.parameters.Parameters params, SpeedLimitInfo sli, CarFollowingModel cfm, double desire, org.djunits.value.vdouble.scalar.Speed ownSpeed, org.djunits.value.vdouble.scalar.Acceleration ownAcceleration, org.opentrafficsim.core.network.LateralDirectionality lat, GapAcceptance gapAcceptance) throws org.opentrafficsim.base.parameters.ParameterException, org.opentrafficsim.core.gtu.plan.operational.OperationalPlanException
perception
- perceptionparams
- parameterssli
- speed limit infocfm
- car-following modeldesire
- level of lane change desireownSpeed
- own speedownAcceleration
- current car-following accelerationlat
- lateral direction for synchronizationgapAcceptance
- gap-acceptance modelorg.opentrafficsim.base.parameters.ParameterException
- if a parameter is not definedorg.opentrafficsim.core.gtu.plan.operational.OperationalPlanException
- perception exceptionstatic void setDesiredHeadway(org.opentrafficsim.base.parameters.Parameters params, double desire) throws org.opentrafficsim.base.parameters.ParameterException
params
- parametersdesire
- lane change desireorg.opentrafficsim.base.parameters.ParameterException
- if T, TMIN or TMAX is not in the parametersstatic void resetDesiredHeadway(org.opentrafficsim.base.parameters.Parameters params) throws org.opentrafficsim.base.parameters.ParameterException
params
- parametersorg.opentrafficsim.base.parameters.ParameterException
- if T is not in the parameterspublic static org.djunits.value.vdouble.scalar.Acceleration singleAcceleration(org.djunits.value.vdouble.scalar.Length distance, org.djunits.value.vdouble.scalar.Speed followerSpeed, org.djunits.value.vdouble.scalar.Speed leaderSpeed, double desire, org.opentrafficsim.base.parameters.Parameters params, SpeedLimitInfo sli, CarFollowingModel cfm) throws org.opentrafficsim.base.parameters.ParameterException
distance
- distance from follower to leaderfollowerSpeed
- speed of followerleaderSpeed
- speed of leaderdesire
- level of lane change desireparams
- parameterssli
- speed limit infocfm
- car-following modelorg.opentrafficsim.base.parameters.ParameterException
- if a parameter is not definedCopyright © 2014–2018 Delft University of Technology. All rights reserved.