Class AbstractLinearFreeControl

java.lang.Object
org.opentrafficsim.road.gtu.lane.control.AbstractActuatedControl
org.opentrafficsim.road.gtu.lane.control.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-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, Wouter Schakel
  • Field Details

    • KF

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

    • AbstractLinearFreeControl

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

    • getDesiredAcceleration

      public final org.djunits.value.vdouble.scalar.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 org.djunits.value.vdouble.scalar.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