public class DefaultSimplePerception extends LaneBasedAbstractPerceptionCategory
Copyright (c) 2013-2016 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
MAX_RED_DECELERATION, MAX_YELLOW_DECELERATION| Constructor and Description |
|---|
DefaultSimplePerception(LanePerception perception) |
| Modifier and Type | Method and Description |
|---|---|
Lane |
bestAccessibleAdjacentLane(Lane currentLane,
org.opentrafficsim.core.network.LateralDirectionality lateralDirection,
org.djunits.value.vdouble.scalar.Length longitudinalPosition)
Determine whether there is a lane to the left or to the right of this lane, which is accessible from this lane, or null
if no lane could be found.
|
Map<Lane,Set<Lane>> |
getAccessibleAdjacentLanes(org.opentrafficsim.core.network.LateralDirectionality lateralDirection) |
Map<Lane,Set<Lane>> |
getAccessibleAdjacentLanesLeft() |
Map<Lane,Set<Lane>> |
getAccessibleAdjacentLanesRight() |
Headway |
getBackwardHeadway() |
Headway |
getForwardHeadwayGTU() |
Headway |
getForwardHeadwayObject() |
LanePathInfo |
getLanePathInfo()
Retrieve the last perceived lane path info.
|
Collection<Headway> |
getNeighboringHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection) |
Collection<Headway> |
getNeighboringHeadwaysLeft() |
Collection<Headway> |
getNeighboringHeadwaysRight() |
Collection<Headway> |
getParallelHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection) |
Collection<Headway> |
getParallelHeadwaysLeft() |
Collection<Headway> |
getParallelHeadwaysRight() |
org.djunits.value.vdouble.scalar.Speed |
getSpeedLimit() |
org.opentrafficsim.base.TimeStampedObject<Map<Lane,Set<Lane>>> |
getTimeStampedAccessibleAdjacentLanes(org.opentrafficsim.core.network.LateralDirectionality lateralDirection) |
org.opentrafficsim.base.TimeStampedObject<Map<Lane,Set<Lane>>> |
getTimeStampedAccessibleAdjacentLanesLeft() |
org.opentrafficsim.base.TimeStampedObject<Map<Lane,Set<Lane>>> |
getTimeStampedAccessibleAdjacentLanesRight() |
org.opentrafficsim.base.TimeStampedObject<Headway> |
getTimeStampedBackwardHeadway() |
org.opentrafficsim.base.TimeStampedObject<Headway> |
getTimeStampedForwardHeadwayGTU() |
org.opentrafficsim.base.TimeStampedObject<Headway> |
getTimeStampedForwardHeadwayObject() |
org.opentrafficsim.base.TimeStampedObject<LanePathInfo> |
getTimeStampedLanePathInfo()
Retrieve the time stamped last perceived lane path info.
|
org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> |
getTimeStampedNeighboringHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection) |
org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> |
getTimeStampedNeighboringHeadwaysLeft() |
org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> |
getTimeStampedNeighboringHeadwaysRight() |
org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> |
getTimeStampedParallelHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection) |
org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> |
getTimeStampedParallelHeadwaysLeft() |
org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> |
getTimeStampedParallelHeadwaysRight() |
org.opentrafficsim.base.TimeStampedObject<org.djunits.value.vdouble.scalar.Speed> |
getTimeStampedSpeedLimit() |
String |
toString() |
void |
updateAccessibleAdjacentLanes()
To pass DJUNIT test.
|
void |
updateAccessibleAdjacentLanesLeft()
Update the accessible adjacent lanes on the left.
|
void |
updateAccessibleAdjacentLanesRight()
Update the accessible adjacent lanes on the right.
|
void |
updateAll() |
void |
updateBackwardHeadway()
Update the backward headway and first object (e.g., a GTU) behind.
|
void |
updateForwardHeadwayGTU()
Update the forward headway and first object (a GTU) in front.
|
void |
updateForwardHeadwayObject()
Update the forward headway and first object (but not a GTU) in front.
|
void |
updateLanePathInfo() |
void |
updateNeighboringHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
Update the objects (e.g., GTUs) in parallel, in front and behind for the lane in the given direction, with their headway
relative to our GTU, and information about the status of the adjacent objects.
|
void |
updateNeighboringHeadwaysLeft()
Update the objects (e.g., GTUs) in parallel, in front and behind on the left neighboring lane, with their headway
relative to our GTU, and information about the status of the adjacent objects.
|
void |
updateNeighboringHeadwaysRight()
Update the objects (e.g., GTUs) in parallel, in front and behind on the right neighboring lane, with their headway
relative to our GTU, and information about the status of the adjacent objects.
|
void |
updateParallelHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
Update the parallel objects (e.g., GTUs) for the given direction, with information about their status and parallel
overlap with our GTU.
|
void |
updateParallelHeadwaysLeft()
Update the parallel objects (e.g., GTUs) on the left, with information about their status and parallel overlap with our
GTU.
|
void |
updateParallelHeadwaysRight()
Update the parallel objects (e.g., GTUs) on the right, with information about their status and parallel overlap with our
GTU.
|
void |
updateSpeedLimit()
Update speedLimit.
|
getGtu, getPerceptionpublic DefaultSimplePerception(LanePerception perception)
perception - perceptionpublic final void updateLanePathInfo()
throws org.opentrafficsim.core.gtu.GTUException,
org.opentrafficsim.core.network.NetworkException,
org.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException
org.opentrafficsim.core.gtu.GTUException - when the GTU was not initialized yet.org.opentrafficsim.core.network.NetworkException - when the speed limit for a GTU type cannot be retrieved from the network.org.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException - in case of not being able to retrieve parameter ParameterTypes.LOOKAHEADpublic final void updateAll()
throws org.opentrafficsim.core.gtu.GTUException,
org.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException,
org.opentrafficsim.core.network.NetworkException
updateAll in class org.opentrafficsim.core.gtu.perception.AbstractPerceptionCategoryorg.opentrafficsim.core.gtu.GTUExceptionorg.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterExceptionorg.opentrafficsim.core.network.NetworkExceptionpublic final void updateForwardHeadwayGTU()
throws org.opentrafficsim.core.gtu.GTUException,
org.opentrafficsim.core.network.NetworkException,
org.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException
org.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedorg.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException - if parameter is not defined or out of boundsorg.opentrafficsim.core.network.NetworkException - in case of network exceptionpublic final void updateForwardHeadwayObject()
throws org.opentrafficsim.core.gtu.GTUException,
org.opentrafficsim.core.network.NetworkException,
org.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException
org.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedorg.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException - if parameter is not defined or out of boundsorg.opentrafficsim.core.network.NetworkException - in case of network exceptionpublic final void updateBackwardHeadway()
throws org.opentrafficsim.core.gtu.GTUException,
org.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException,
org.opentrafficsim.core.network.NetworkException
org.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedorg.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException - if parameter is not defined or out of boundsorg.opentrafficsim.core.network.NetworkException - in case of network exceptionpublic final void updateAccessibleAdjacentLanesLeft()
throws org.opentrafficsim.core.gtu.GTUException
org.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedpublic final void updateAccessibleAdjacentLanesRight()
throws org.opentrafficsim.core.gtu.GTUException
org.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedpublic final void updateAccessibleAdjacentLanes()
public final void updateNeighboringHeadwaysLeft()
throws org.opentrafficsim.core.gtu.GTUException,
org.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException,
org.opentrafficsim.core.network.NetworkException
org.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedorg.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException - if parameter is not defined or out of boundsorg.opentrafficsim.core.network.NetworkException - in case of network exceptionpublic final void updateNeighboringHeadwaysRight()
throws org.opentrafficsim.core.gtu.GTUException,
org.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException,
org.opentrafficsim.core.network.NetworkException
org.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedorg.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException - if parameter is not defined or out of boundsorg.opentrafficsim.core.network.NetworkException - in case of network exceptionpublic final void updateNeighboringHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
throws org.opentrafficsim.core.gtu.GTUException,
org.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException,
org.opentrafficsim.core.network.NetworkException
lateralDirection - the direction to update the parallel headway collection fororg.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedorg.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException - if parameter is not defined or out of boundsorg.opentrafficsim.core.network.NetworkException - in case of network exceptionpublic final void updateParallelHeadwaysLeft()
throws org.opentrafficsim.core.gtu.GTUException
org.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedpublic final void updateParallelHeadwaysRight()
throws org.opentrafficsim.core.gtu.GTUException
org.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedpublic final void updateParallelHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
throws org.opentrafficsim.core.gtu.GTUException
lateralDirection - the direction to return the neighboring headway collection fororg.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedpublic final void updateSpeedLimit()
throws org.opentrafficsim.core.gtu.GTUException,
org.opentrafficsim.core.network.NetworkException
org.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedorg.opentrafficsim.core.network.NetworkException - in case of network exceptionpublic final Headway getForwardHeadwayGTU()
public final Headway getForwardHeadwayObject()
public final Headway getBackwardHeadway()
public final Map<Lane,Set<Lane>> getAccessibleAdjacentLanesLeft()
public final Map<Lane,Set<Lane>> getAccessibleAdjacentLanesRight()
public final Map<Lane,Set<Lane>> getAccessibleAdjacentLanes(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
lateralDirection - the direction to return the accessible adjacent lane map forpublic final Collection<Headway> getNeighboringHeadwaysLeft()
public final Collection<Headway> getNeighboringHeadwaysRight()
public final Collection<Headway> getNeighboringHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
lateralDirection - the direction to return the parallel headway collection forpublic final Collection<Headway> getParallelHeadwaysLeft()
public final Collection<Headway> getParallelHeadwaysRight()
public final Collection<Headway> getParallelHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
lateralDirection - the direction to return the neighboring headway collection forpublic final org.djunits.value.vdouble.scalar.Speed getSpeedLimit()
public final LanePathInfo getLanePathInfo()
public final org.opentrafficsim.base.TimeStampedObject<Headway> getTimeStampedForwardHeadwayGTU()
public final org.opentrafficsim.base.TimeStampedObject<Headway> getTimeStampedForwardHeadwayObject()
public final org.opentrafficsim.base.TimeStampedObject<Headway> getTimeStampedBackwardHeadway()
public final org.opentrafficsim.base.TimeStampedObject<Map<Lane,Set<Lane>>> getTimeStampedAccessibleAdjacentLanesLeft()
public final org.opentrafficsim.base.TimeStampedObject<Map<Lane,Set<Lane>>> getTimeStampedAccessibleAdjacentLanesRight()
public final org.opentrafficsim.base.TimeStampedObject<Map<Lane,Set<Lane>>> getTimeStampedAccessibleAdjacentLanes(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
lateralDirection - the direction to return the accessible adjacent lanes forpublic final org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> getTimeStampedNeighboringHeadwaysLeft()
public final org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> getTimeStampedNeighboringHeadwaysRight()
public final org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> getTimeStampedNeighboringHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
lateralDirection - the direction to return the neighboring headways forpublic final org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> getTimeStampedParallelHeadwaysLeft()
public final org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> getTimeStampedParallelHeadwaysRight()
public final org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> getTimeStampedParallelHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
lateralDirection - the direction to return the parallel headways forpublic final org.opentrafficsim.base.TimeStampedObject<org.djunits.value.vdouble.scalar.Speed> getTimeStampedSpeedLimit()
public final org.opentrafficsim.base.TimeStampedObject<LanePathInfo> getTimeStampedLanePathInfo()
public final Lane bestAccessibleAdjacentLane(Lane currentLane, org.opentrafficsim.core.network.LateralDirectionality lateralDirection, org.djunits.value.vdouble.scalar.Length longitudinalPosition)
currentLane - the lane to look for the best accessible adjacent lanelateralDirection - the direction (LEFT, RIGHT) to look atlongitudinalPosition - Length; the position of the GTU along currentLaneCopyright © 2014–2017 Delft University of Technology. All rights reserved.