Class SpeedLimitUtil

java.lang.Object
org.opentrafficsim.road.gtu.tactical.util.SpeedLimitUtil

public final class SpeedLimitUtil extends Object
Static methods regarding speed limits for composition in tactical planners.

Copyright (c) 2013-2026 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

  • Method Details

    • getSpeedForLateralAcceleration

      public static org.djunits.value.vdouble.scalar.Speed getSpeedForLateralAcceleration(org.djunits.value.vdouble.scalar.Length radius, org.djunits.value.vdouble.scalar.Acceleration acceleration)
      Returns the speed for which the given lateral acceleration follows in the curve.
      Parameters:
      radius - curve radius
      acceleration - acceleration to result from speed in curve
      Returns:
      speed for which the given lateral acceleration follows in the curve
      Throws:
      IllegalArgumentException - if radius or acceleration is negative or zero
    • considerSpeedLimitTransitions

      public static org.djunits.value.vdouble.scalar.Acceleration considerSpeedLimitTransitions(TacticalContextEgo context, RelativeLane lane) throws ParameterException, OperationalPlanException
      Acceleration for speed limit transitions. This implementation decelerates before curves and speed bumps. For this it uses approachTargetSpeed() of the car-following utility. All remaining transitions happen in the default manner, i.e. deceleration and acceleration after the speed limit change and governed by the car-following model.
      Parameters:
      context - tactical information such as parameters and car-following model
      lane - lane to consider
      Returns:
      acceleration for speed limit transitions
      Throws:
      ParameterException - if a required parameter is not found
      OperationalPlanException - if there is no infrastructure perception
    • getDesiredSpeedProxy

      public static org.djunits.value.vdouble.scalar.Speed getDesiredSpeedProxy(SpeedLimits speedLimits, org.djunits.value.vdouble.scalar.Speed maxVehicleSpeed)
      Returns desired speed proxy as the minimum of maximum vehicle speed and present speed limits.
      Parameters:
      speedLimits - speed limits
      maxVehicleSpeed - maximum vehicle speed
      Returns:
      desired speed proxy