Class FixedLaneChangeModel

  • All Implemented Interfaces:
    Serializable, LaneChangeModel

    public class FixedLaneChangeModel
    extends Object
    implements LaneChangeModel, Serializable
    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
    See Also:
    Serialized Form
    • Field Detail

      • LOOKAHEAD

        protected static final org.opentrafficsim.base.parameters.ParameterTypeLength LOOKAHEAD
        Look ahead parameter type.
    • Constructor Detail

      • FixedLaneChangeModel

        public FixedLaneChangeModel​(LateralDirectionality laneChange)
        Construct a FixedLaneChangeModel.
        Parameters:
        laneChange - LateralDirectionality; the lane change that (always) be returned by this FixedLaneChangeModel.
    • Method Detail

      • computeLaneChangeAndAcceleration

        public final LaneMovementStep computeLaneChangeAndAcceleration​(LaneBasedGTU gtu,
                                                                       Collection<Headway> sameLaneTraffic,
                                                                       Collection<Headway> rightLaneTraffic,
                                                                       Collection<Headway> leftLaneTraffic,
                                                                       Speed speedLimit,
                                                                       Acceleration preferredLaneRouteIncentive,
                                                                       Acceleration laneChangeThreshold,
                                                                       Acceleration nonPreferredLaneRouteIncentive)
                                                                throws GTUException,
                                                                       org.opentrafficsim.base.parameters.ParameterException
        Compute the acceleration and lane change.
        Specified by:
        computeLaneChangeAndAcceleration in interface LaneChangeModel
        Parameters:
        gtu - LaneBasedGTU; the GTU for which the acceleration and lane change is computed
        sameLaneTraffic - Collection<Headway>; the set of observable GTUs in the current lane (can not be null and may include the gtu)
        rightLaneTraffic - Collection<Headway>; the set of 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)
        leftLaneTraffic - Collection<Headway>; the set of observable GTUs in the adjacent lane into which GTUs should merge to overtake other traffic (must be null if there is no such lane)
        speedLimit - Speed; the local speed limit
        preferredLaneRouteIncentive - 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
        nonPreferredLaneRouteIncentive - Acceleration; route incentive to merge to the adjacent lane into which GTUs should merge to overtake other traffic
        Returns:
        LaneMovementStep; the result of the lane change and GTU following model
        Throws:
        GTUException - when the speed of the GTU can not be determined
        org.opentrafficsim.base.parameters.ParameterException - in case of a parameter problem.
      • getName

        public final String getName()
        Return the name of this GTU following model.
        Specified by:
        getName in interface LaneChangeModel
        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 LaneChangeModel
        Returns:
        String; the name and parameter values of the GTU following model