Class TrafficLightUtil
- java.lang.Object
-
- org.opentrafficsim.road.gtu.lane.tactical.util.TrafficLightUtil
-
public final class TrafficLightUtil extends Object
Static methods regarding traffic lights for composition in tactical planners.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 May 13, 2016
- Author:
- Wouter Schakel
-
-
Field Summary
Fields Modifier and Type Field Description static ParameterTypeAcceleration
B_YELLOW
Maximum deceleration for stopping for yellow traffic light.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Acceleration
respondToTrafficLight(Parameters parameters, HeadwayTrafficLight headwayTrafficLight, CarFollowingModel carFollowingModel, Speed speed, SpeedLimitInfo speedLimitInfo)
Returns an acceleration as response to a traffic light, being positive infinity if ignored.static Acceleration
respondToTrafficLights(Parameters parameters, Iterable<HeadwayTrafficLight> headwayTrafficLights, CarFollowingModel carFollowingModel, Speed speed, SpeedLimitInfo speedLimitInfo)
Returns an acceleration as response to a set of traffic lights, being positive infinity if ignored.
-
-
-
Field Detail
-
B_YELLOW
public static final ParameterTypeAcceleration B_YELLOW
Maximum deceleration for stopping for yellow traffic light.
-
-
Method Detail
-
respondToTrafficLights
public static Acceleration respondToTrafficLights(Parameters parameters, Iterable<HeadwayTrafficLight> headwayTrafficLights, CarFollowingModel carFollowingModel, Speed speed, SpeedLimitInfo speedLimitInfo) throws ParameterException
Returns an acceleration as response to a set of traffic lights, being positive infinity if ignored. The response is governed by the car-following model in case a traffic light is yellow or red. A constant deceleration to stop is also calculated, and the highest acceleration of both is used. If this value is below -bYellow (B_YELLOW), the traffic light is ignored, which usually occurs only during the yellow phase. By using the highest acceleration of the car-following model and the constant deceleration, it is ensured that comfortable deceleration is applied if approaching a red traffic light from far away, while strong deceleration is only applied if required and appropriately represents stopping for yellow.- Parameters:
parameters
- Parameters; parametersheadwayTrafficLights
- Iterable<HeadwayTrafficLight>; set of headway traffic lightscarFollowingModel
- CarFollowingModel; car following modelspeed
- Speed; speedspeedLimitInfo
- SpeedLimitInfo; speed limit info- Returns:
- acceleration as response to a traffic light, being positive infinity if ignored
- Throws:
ParameterException
- if a parameter is not definedNullPointerException
- if any input is nullIllegalArgumentException
- if the traffic light is not downstream
-
respondToTrafficLight
public static Acceleration respondToTrafficLight(Parameters parameters, HeadwayTrafficLight headwayTrafficLight, CarFollowingModel carFollowingModel, Speed speed, SpeedLimitInfo speedLimitInfo) throws ParameterException
Returns an acceleration as response to a traffic light, being positive infinity if ignored. The response is governed by the car-following model in case the traffic light is yellow or red. A constant deceleration to stop is also calculated, and the highest acceleration of both is used. If this value is below -bYellow (B_YELLOW), the traffic light is ignored, which usually occurs only during the yellow phase. By using the highest acceleration of the car-following model and the constant deceleration, it is ensured that comfortable deceleration is applied if approaching a red traffic light from far away, while strong deceleration is only applied if required and appropriately represents stopping for yellow.- Parameters:
parameters
- Parameters; parametersheadwayTrafficLight
- HeadwayTrafficLight; headway traffic lightcarFollowingModel
- CarFollowingModel; car following modelspeed
- Speed; speedspeedLimitInfo
- SpeedLimitInfo; speed limit info- Returns:
- acceleration as response to a traffic light, being positive infinity if ignored
- Throws:
ParameterException
- if a parameter is not definedNullPointerException
- if any input is nullIllegalArgumentException
- if the traffic light is not downstream
-
-