Class AbstractActuatedControl
- java.lang.Object
-
- org.opentrafficsim.road.gtu.lane.control.AbstractActuatedControl
-
- All Implemented Interfaces:
LongitudinalControl
- Direct Known Subclasses:
AbstractLinearFreeControl
public abstract class AbstractActuatedControl extends Object implements LongitudinalControl
Simple linear CACC controller.Copyright (c) 2013-2020 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 12, 2019
- Author:
- Alexander Verbraeck, Peter Knoppers, Wouter Schakel
-
-
Field Summary
Fields Modifier and Type Field Description static ParameterTypeDurationTDACCTime headway setting for ACC mode.static ParameterTypeDurationTDCACCTime headway setting for CACC mode.static ParameterTypeLengthX0(C)ACC stopping distance.
-
Constructor Summary
Constructors Constructor Description AbstractActuatedControl(DelayedActuation delayedActuation)Constructor using default sensors with no delay.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description AccelerationdelayActuation(Acceleration desiredAcceleration, LaneBasedGTU gtu)Delays the actuation of acceleration.AccelerationgetAcceleration(LaneBasedGTU gtu, Parameters settings)Calculate acceleration.abstract AccelerationgetDesiredAcceleration(LaneBasedGTU gtu, PerceptionCollectable<HeadwayGTU,LaneBasedGTU> leaders, Parameters settings)Returns the desired acceleration from the longitudinal control.
-
-
-
Field Detail
-
TDACC
public static final ParameterTypeDuration TDACC
Time headway setting for ACC mode.
-
TDCACC
public static final ParameterTypeDuration TDCACC
Time headway setting for CACC mode.
-
X0
public static final ParameterTypeLength X0
(C)ACC stopping distance.
-
-
Constructor Detail
-
AbstractActuatedControl
public AbstractActuatedControl(DelayedActuation delayedActuation)
Constructor using default sensors with no delay.- Parameters:
delayedActuation- DelayedActuation; delayed actuation
-
-
Method Detail
-
delayActuation
public Acceleration delayActuation(Acceleration desiredAcceleration, LaneBasedGTU gtu)
Delays the actuation of acceleration.- Parameters:
desiredAcceleration- Acceleration; desired accelerationgtu- LaneBasedGTU; gtu- Returns:
- Acceleration; delayed acceleration
-
getAcceleration
public Acceleration getAcceleration(LaneBasedGTU gtu, Parameters settings)
Calculate acceleration.- Specified by:
getAccelerationin interfaceLongitudinalControl- Parameters:
gtu- LaneBasedGTU; controlled GTUsettings- Parameters; system settings- Returns:
- Acceleration; level of acceleration, may be
nullif the controller is unable to deal with a situation
-
getDesiredAcceleration
public abstract Acceleration getDesiredAcceleration(LaneBasedGTU gtu, PerceptionCollectable<HeadwayGTU,LaneBasedGTU> leaders, Parameters settings) throws ParameterException
Returns the desired acceleration from the longitudinal control.- Parameters:
gtu- LaneBasedGTU; gtuleaders- PerceptionCollectable<HeadwayGTU, LaneBasedGTU>; leaderssettings- Parameters; system settings- Returns:
- Acceleration; desired acceleration
- Throws:
ParameterException- if parameter is not present
-
-