public class LMRS extends AbstractLaneBasedTacticalPlanner
Modifier and Type | Field and Description |
---|---|
static org.opentrafficsim.core.gtu.drivercharacteristics.ParameterTypeDouble |
DCOOP
Cooperative lane change desire threshold.
|
static org.opentrafficsim.core.gtu.drivercharacteristics.ParameterTypeDouble |
DFREE
Free lane change desire threshold.
|
static org.opentrafficsim.core.gtu.drivercharacteristics.ParameterTypeDouble |
DSYNC
Synchronized lane change desire threshold.
|
protected ArrayList<MandatoryIncentive> |
mandatoryIncentives
List of mandatory lane change incentives.
|
protected org.djunits.value.vdouble.scalar.Acceleration |
minimumAcceleration
Minimum acceleration for current plan.
|
protected ArrayList<VoluntaryIncentive> |
voluntaryIncentives
List of voluntary lane change incentives.
|
Constructor and Description |
---|
LMRS() |
Modifier and Type | Method and Description |
---|---|
void |
addMandatoryIncentive(MandatoryIncentive incentive)
Adds a mandatory incentive.
|
void |
addVoluntaryIncentive(VoluntaryIncentive incentive)
Adds a voluntary incentive.
|
protected org.djunits.value.vdouble.scalar.Acceleration |
calculateAcceleration(LaneBasedGTU follower,
HeadwayGTU leader) |
protected org.djunits.value.vdouble.scalar.Acceleration |
calculateAcceleration(LaneBasedGTU follower,
HeadwayGTU leader,
double d) |
void |
disableLaneChanges()
Disables lane changes by clearing all incentives and setting a dummy incentive as mandatory incentive.
|
org.opentrafficsim.core.gtu.plan.operational.OperationalPlan |
generateOperationalPlan(org.opentrafficsim.core.gtu.GTU gtu,
org.djunits.value.vdouble.scalar.Time.Abs startTime,
nl.tudelft.simulation.language.d3.DirectedPoint locationAtStartTime) |
protected void |
lowerAcceleration(org.djunits.value.vdouble.scalar.Acceleration a)
Remembers the lowest acceleration per tactical plan.
|
protected org.djunits.value.vdouble.scalar.Acceleration |
safe(org.djunits.value.vdouble.scalar.Acceleration a,
org.djunits.value.vdouble.scalar.Acceleration b)
Limits the supplied acceleration to safe values, i.e.
|
void |
setDefaultIncentives()
Sets the default lane change incentives.
|
buildLaneListForwardXXX, buildLanePathInfo, buildLanePathInfo, buildLanePathInfo, buildLinkListForward, connectsToPath, determineNextSplit, getReferenceLane, noLaneDrop
public static final org.opentrafficsim.core.gtu.drivercharacteristics.ParameterTypeDouble DFREE
public static final org.opentrafficsim.core.gtu.drivercharacteristics.ParameterTypeDouble DSYNC
public static final org.opentrafficsim.core.gtu.drivercharacteristics.ParameterTypeDouble DCOOP
protected org.djunits.value.vdouble.scalar.Acceleration minimumAcceleration
protected ArrayList<MandatoryIncentive> mandatoryIncentives
protected ArrayList<VoluntaryIncentive> voluntaryIncentives
public void addMandatoryIncentive(MandatoryIncentive incentive)
incentive
- Incentive to add.public void addVoluntaryIncentive(VoluntaryIncentive incentive)
incentive
- Incentive to add.public void setDefaultIncentives()
public void disableLaneChanges()
public org.opentrafficsim.core.gtu.plan.operational.OperationalPlan generateOperationalPlan(org.opentrafficsim.core.gtu.GTU gtu, org.djunits.value.vdouble.scalar.Time.Abs startTime, nl.tudelft.simulation.language.d3.DirectedPoint locationAtStartTime) throws org.opentrafficsim.core.gtu.plan.operational.OperationalPlanException, org.opentrafficsim.core.gtu.GTUException, org.opentrafficsim.core.network.NetworkException
org.opentrafficsim.core.gtu.plan.operational.OperationalPlanException
org.opentrafficsim.core.gtu.GTUException
org.opentrafficsim.core.network.NetworkException
protected org.djunits.value.vdouble.scalar.Acceleration calculateAcceleration(LaneBasedGTU follower, HeadwayGTU leader, double d)
protected org.djunits.value.vdouble.scalar.Acceleration calculateAcceleration(LaneBasedGTU follower, HeadwayGTU leader)
protected void lowerAcceleration(org.djunits.value.vdouble.scalar.Acceleration a)
a
- Acceleration to remember if lower than any previous acceleration.protected org.djunits.value.vdouble.scalar.Acceleration safe(org.djunits.value.vdouble.scalar.Acceleration a, org.djunits.value.vdouble.scalar.Acceleration b)
a
- Acceleration to limit.b
- Deceleration to limit to.Copyright © 2014–2016 Delft University of Technology. All rights reserved.