Class 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-2022 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
    BSD-style license. See OpenTrafficSim License.

    Version:
    $Revision: 1401 $, $LastChangedDate: 2015-09-14 01:33:02 +0200 (Mon, 14 Sep 2015) $, by $Author: averbraeck $, initial version 11 feb. 2015
    Author:
    Peter Knoppers
    • Constructor Detail

      • DirectedFixedLaneChangeModel

        public DirectedFixedLaneChangeModel()
    • Method Detail

      • computeLaneChangeAndAcceleration

        public final DirectedLaneMovementStep computeLaneChangeAndAcceleration​(LaneBasedGTU gtu,
                                                                               LateralDirectionality direction,
                                                                               Collection<Headway> sameLaneTraffic,
                                                                               Collection<Headway> otherLaneTraffic,
                                                                               Length maxDistance,
                                                                               Speed speedLimit,
                                                                               Acceleration otherLaneRouteIncentive,
                                                                               Acceleration laneChangeThreshold,
                                                                               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