Class AbstractLinearFreeControl

  • All Implemented Interfaces:
    LongitudinalControl
    Direct Known Subclasses:
    LinearACC

    public abstract class AbstractLinearFreeControl
    extends AbstractActuatedControl
    Class that splits the desired acceleration of a controller in a fixed linear free term, and a term for following determined by the sub-class.

    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$, $LastChangedDate$, by $Author$, initial version Mar 14, 2019
    Author:
    Alexander Verbraeck, Peter Knoppers, Wouter Schakel
    • Field Detail

      • KF

        public static final org.opentrafficsim.base.parameters.ParameterTypeDouble KF
        Desired speed error gain parameter.
    • Constructor Detail

      • AbstractLinearFreeControl

        public AbstractLinearFreeControl​(DelayedActuation delayedActuation)
        Constructor using default sensors with no delay.
        Parameters:
        delayedActuation - DelayedActuation; delayed actuation
    • Method Detail

      • getDesiredAcceleration

        public final Acceleration getDesiredAcceleration​(LaneBasedGTU gtu,
                                                         PerceptionCollectable<HeadwayGTU,​LaneBasedGTU> leaders,
                                                         org.opentrafficsim.base.parameters.Parameters settings)
                                                  throws org.opentrafficsim.base.parameters.ParameterException
        Returns the desired acceleration from the longitudinal control.
        Specified by:
        getDesiredAcceleration in class AbstractActuatedControl
        Parameters:
        gtu - LaneBasedGTU; gtu
        leaders - PerceptionCollectable<HeadwayGTU, LaneBasedGTU>; leaders
        settings - Parameters; system settings
        Returns:
        Acceleration; desired acceleration
        Throws:
        org.opentrafficsim.base.parameters.ParameterException - if parameter is not present
      • getFollowingAcceleration

        public abstract Acceleration getFollowingAcceleration​(LaneBasedGTU gtu,
                                                              PerceptionCollectable<HeadwayGTU,​LaneBasedGTU> leaders,
                                                              org.opentrafficsim.base.parameters.Parameters settings)
                                                       throws org.opentrafficsim.base.parameters.ParameterException
        Returns the following acceleration of the longitudinal control. This method is only invoked if there is at least 1 leader.
        Parameters:
        gtu - LaneBasedGTU; gtu
        leaders - PerceptionCollectable<HeadwayGTU, LaneBasedGTU>; leaders
        settings - Parameters; system settings
        Returns:
        Acceleration; following acceleration of the longitudinal control
        Throws:
        org.opentrafficsim.base.parameters.ParameterException - if parameter is not present