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 ParameterTypeDuration
TDACC
Time headway setting for ACC mode.static ParameterTypeDuration
TDCACC
Time headway setting for CACC mode.static ParameterTypeLength
X0
(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 Acceleration
delayActuation(Acceleration desiredAcceleration, LaneBasedGTU gtu)
Delays the actuation of acceleration.Acceleration
getAcceleration(LaneBasedGTU gtu, Parameters settings)
Calculate acceleration.abstract Acceleration
getDesiredAcceleration(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:
getAcceleration
in interfaceLongitudinalControl
- Parameters:
gtu
- LaneBasedGTU; controlled GTUsettings
- Parameters; system settings- Returns:
- Acceleration; level of acceleration, may be
null
if 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
-
-