public class LaneBasedCFLCTacticalPlanner extends AbstractLaneBasedTacticalPlanner
 Copyright (c) 2013-2018 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.djunits.value.vdouble.scalar.Length | 
GETOFFTHISLANENOW
Return value of suitability when a lane change is required right now. 
 | 
protected static org.opentrafficsim.base.parameters.ParameterTypeLength | 
LOOKBACKOLD
Look back parameter type. 
 | 
static org.djunits.value.vdouble.scalar.Length | 
NOLANECHANGENEEDED
Return value of suitability when no lane change is required within the time horizon. 
 | 
DT, LOOKAHEAD, TACTICAL_PLANNER| Constructor and Description | 
|---|
LaneBasedCFLCTacticalPlanner(GTUFollowingModelOld carFollowingModel,
                            LaneChangeModel laneChangeModel,
                            LaneBasedGTU gtu)
Instantiated a tactical planner with GTU following and lane change behavior. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
protected org.djunits.value.vdouble.scalar.Length | 
computeSuitabilityWithLaneChanges(Lane startLane,
                                 double remainingDistance,
                                 Map<Lane,org.djunits.value.vdouble.scalar.Length> suitabilities,
                                 int totalLanes,
                                 org.opentrafficsim.core.network.LateralDirectionality direction,
                                 org.opentrafficsim.core.gtu.GTUType gtuType,
                                 org.opentrafficsim.core.gtu.GTUDirectionality drivingDirection)
Compute the suitability of a lane from which lane changes are required to get to the next point on the Route. 
This method weighs the suitability of the nearest suitable lane by (m - n) / m where n is the number of lane changes required and m is the total number of lanes in the CrossSectionLink.  | 
protected int | 
countCompatibleLanes(CrossSectionLink link,
                    org.opentrafficsim.core.gtu.GTUType gtuType,
                    org.opentrafficsim.core.gtu.GTUDirectionality drivingDirection)
Determine how many lanes on a CrossSectionLink are compatible with a particular GTU type. 
TODO: this method should probably be moved into the CrossSectionLink class  | 
org.opentrafficsim.core.gtu.plan.operational.OperationalPlan | 
generateOperationalPlan(org.djunits.value.vdouble.scalar.Time startTime,
                       nl.tudelft.simulation.language.d3.DirectedPoint locationAtStartTime) | 
String | 
toString() | 
buildLanePathInfo, buildLanePathInfo, buildLinkListForward, concatenateNull, connectsToPath, determineNextSplit, getCarFollowingModel, getGtu, getPerception, noLaneDrop, setCarFollowingModelclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitchooseLaneAtSplit, okDistance, rightMostprotected static final org.opentrafficsim.base.parameters.ParameterTypeLength LOOKBACKOLD
public static final org.djunits.value.vdouble.scalar.Length NOLANECHANGENEEDED
public static final org.djunits.value.vdouble.scalar.Length GETOFFTHISLANENOW
public LaneBasedCFLCTacticalPlanner(GTUFollowingModelOld carFollowingModel, LaneChangeModel laneChangeModel, LaneBasedGTU gtu)
carFollowingModel - Car-following model.laneChangeModel - Lane change model.gtu - GTUpublic final org.opentrafficsim.core.gtu.plan.operational.OperationalPlan generateOperationalPlan(org.djunits.value.vdouble.scalar.Time startTime,
                                                                                                  nl.tudelft.simulation.language.d3.DirectedPoint locationAtStartTime)
                                                                                           throws org.opentrafficsim.core.gtu.plan.operational.OperationalPlanException,
                                                                                                  org.opentrafficsim.core.network.NetworkException,
                                                                                                  org.opentrafficsim.core.gtu.GTUException,
                                                                                                  org.opentrafficsim.base.parameters.ParameterException
org.opentrafficsim.core.gtu.plan.operational.OperationalPlanExceptionorg.opentrafficsim.core.network.NetworkExceptionorg.opentrafficsim.core.gtu.GTUExceptionorg.opentrafficsim.base.parameters.ParameterExceptionprotected final org.djunits.value.vdouble.scalar.Length computeSuitabilityWithLaneChanges(Lane startLane, double remainingDistance, Map<Lane,org.djunits.value.vdouble.scalar.Length> suitabilities, int totalLanes, org.opentrafficsim.core.network.LateralDirectionality direction, org.opentrafficsim.core.gtu.GTUType gtuType, org.opentrafficsim.core.gtu.GTUDirectionality drivingDirection)
startLane - Lane; the current lane of the GTUremainingDistance - double; distance in m of GTU to first branchsuitabilities - Map<Lane, Double>; the set of suitable lanes and their suitabilitytotalLanes - integer; total number of lanes compatible with the GTU typedirection - LateralDirectionality; the direction of the lane changes to attemptgtuType - GTUType; the type of the GTUdrivingDirection - GTUDirectionality; the driving direction of the GTUprotected final int countCompatibleLanes(CrossSectionLink link, org.opentrafficsim.core.gtu.GTUType gtuType, org.opentrafficsim.core.gtu.GTUDirectionality drivingDirection)
link - CrossSectionLink; the linkgtuType - GTUType; the GTU typedrivingDirection - GTUDirectionality; the driving direction on the linkCopyright © 2014–2018 Delft University of Technology. All rights reserved.