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 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 computed
      direction - LateralDirectionality; the direction of the lane we want to change to
      sameLaneTraffic - Collection<Headway>; the set of information about observable GTUs in the current lane (can not be null and may include the gtu)
      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 drop
      speedLimit - Speed; the local speed limit
      otherLaneRouteIncentive - Acceleration; route incentive to merge to the adjacent lane where GTUs should drive in the absence of other traffic
      laneChangeThreshold - Acceleration; threshold that prevents lane changes that have very little benefit merge to overtake other traffic
      laneChangeTime - 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 determined
      org.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