Class DirectedFixedLaneChangeModel

java.lang.Object
org.opentrafficsim.road.gtu.lane.tactical.directedlanechange.DirectedFixedLaneChangeModel
All Implemented Interfaces:
DirectedLaneChangeModel

public class DirectedFixedLaneChangeModel extends Object implements DirectedLaneChangeModel
Dummy lane change model with totally predictable results (used for testing).

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:
Peter Knoppers
  • Constructor Details

    • DirectedFixedLaneChangeModel

      public DirectedFixedLaneChangeModel()
  • Method Details

    • computeLaneChangeAndAcceleration

      public final 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
      Compute the acceleration and lane change.
      Specified by:
      computeLaneChangeAndAcceleration in interface DirectedLaneChangeModel
      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
    • getName

      public final String getName()
      Return the name of this GTU following model.
      Specified by:
      getName in interface DirectedLaneChangeModel
      Returns:
      String; just the name of the GTU following model
    • getLongName

      public final String getLongName()
      Return complete textual information about this instantiation of this GTU following model.
      Specified by:
      getLongName in interface DirectedLaneChangeModel
      Returns:
      String; the name and parameter values of the GTU following model
    • toString

      public final String toString()
      Overrides:
      toString in class Object
    • getPerception

      public final LanePerception getPerception()
      Specified by:
      getPerception in interface DirectedLaneChangeModel
      Returns:
      the perception.