Interface DirectedLaneChangeModel
- All Known Implementing Classes:
AbstractDirectedLaneChangeModel
,DirectedAltruistic
,DirectedEgoistic
,DirectedFixedLaneChangeModel
public interface DirectedLaneChangeModel
All directed lane change models must implement this interface. A directed lane change model is a lane change model where the
choice for a lateral direction has already been made.
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:
- Alexander Verbraeck, Peter Knoppers
-
Method Summary
Modifier and TypeMethodDescriptioncomputeLaneChangeAndAcceleration
(LaneBasedGtu gtu, LateralDirectionality direction, Collection<Headway> sameLaneTraffic, Collection<Headway> otherLaneTraffic, org.djunits.value.vdouble.scalar.Length maxDistance, org.djunits.value.vdouble.scalar.Speed speedLimit, org.djunits.value.vdouble.scalar.Acceleration otherLaneRouteIncentive, org.djunits.value.vdouble.scalar.Acceleration laneChangeThreshold, org.djunits.value.vdouble.scalar.Duration laneChangeTime) Compute the acceleration and lane change.Return complete textual information about this instantiation of this GTU following model.getName()
Return the name of this GTU following model.
-
Method Details
-
computeLaneChangeAndAcceleration
DirectedLaneMovementStep computeLaneChangeAndAcceleration(LaneBasedGtu gtu, LateralDirectionality direction, Collection<Headway> sameLaneTraffic, Collection<Headway> otherLaneTraffic, org.djunits.value.vdouble.scalar.Length maxDistance, org.djunits.value.vdouble.scalar.Speed speedLimit, org.djunits.value.vdouble.scalar.Acceleration otherLaneRouteIncentive, org.djunits.value.vdouble.scalar.Acceleration laneChangeThreshold, org.djunits.value.vdouble.scalar.Duration laneChangeTime) throws GtuException, org.opentrafficsim.base.parameters.ParameterException, OperationalPlanException Compute the acceleration and lane change.- Parameters:
gtu
- LaneBasedGtu; the GTU for which the acceleration and lane change is computeddirection
- LateralDirectionality; the direction of the lane we want to change tosameLaneTraffic
- Collection<Headway>; the set of information about observable GTUs in the current lane (can not be null and may include thegtu
)otherLaneTraffic
- Collection<Headway>; the set of information about observable GTUs in the adjacent lane where GTUs should drive in the absence of other traffic (must be null if there is no such lane)maxDistance
- Length; the maximum distance that the current GTU can drive, e.g. due to a lane dropspeedLimit
- Speed; the local speed limitotherLaneRouteIncentive
- Acceleration; route incentive to merge to the adjacent lane where GTUs should drive in the absence of other trafficlaneChangeThreshold
- Acceleration; threshold that prevents lane changes that have very little benefit merge to overtake other trafficlaneChangeTime
- Duration; time spent to overtake- Returns:
- LaneMovementStep; the result of the lane change and GTU following model
- Throws:
GtuException
- when the position of the GTU on the lane(s) cannot be determinedorg.opentrafficsim.base.parameters.ParameterException
- in case of a parameter problem.OperationalPlanException
- if DefaultAlexander perception category is not present
-
getPerception
LanePerception getPerception()- Returns:
- the perception.
-
getName
String getName()Return the name of this GTU following model.- Returns:
- String; just the name of the GTU following model
-
getLongName
String getLongName()Return complete textual information about this instantiation of this GTU following model.- Returns:
- String; the name and parameter values of the GTU following model
-