public interface GTUFollowingModel
extends org.opentrafficsim.core.OTS_SCALAR
Copyright (c) 2013-2015 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Acceleration, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.AnglePlane, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.AngleSlope, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.AngleSolid, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Area, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Density, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Dimensionless, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.ElectricalCharge, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.ElectricalCurrent, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.ElectricalPotential, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.ElectricalResistance, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Energy, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.FlowMass, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.FlowVolume, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Force, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Frequency, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Length, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.LinearDensity, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Mass, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Power, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Pressure, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Speed, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Temperature, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Time, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Torque, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Volume
ABAMPERE, ABCOULOMB, ABVOLT, ACRE, AMPERE, ARCMINUTE, ARCSECOND, ARE, ATMOSPHERE_STANDARD, ATMOSPHERE_TECHNICAL, ATOMIC_UNIT, BAR, BARYE, BTU_ISO, BTU_IT, CALORIE_IT, CENTESIMAL_ARCMINUTE, CENTESIMAL_ARCSECOND, CENTIMETER, CENTIMETER_MERCURY, COULOMB, CUBIC_CENTIMETER, CUBIC_DECIMETER, CUBIC_FEET_PER_MINUTE, CUBIC_FEET_PER_SECOND, CUBIC_FOOT, CUBIC_INCH, CUBIC_INCH_PER_MINUTE, CUBIC_INCH_PER_SECOND, CUBIC_KM, CUBIC_METER, CUBIC_METER_PER_DAY, CUBIC_METER_PER_HOUR, CUBIC_METER_PER_MINUTE, CUBIC_METER_PER_SECOND, CUBIC_MILE, CUBIC_YARD, DALTON, DAY, DECIMETER, DEG, DEGREE, DEGREE_CELSIUS, DEGREE_FAHRENHEIT, DEGREE_RANKINE, DEGREE_REAUMUR, DEKAMETER, DYNE, ELECTRONVOLT, EMU, ERG, ERG_PER_SECOND, ESU, EXA_ELECTRONVOLT, FARADAY, FOOT, FOOT_MERCURY, FOOT_PER_SECOND, FOOT_PER_SECOND_2, FOOT_POUND_FORCE, FOOT_POUND_FORCE_PER_HOUR, FOOT_POUND_FORCE_PER_MINUTE, FOOT_POUND_FORCE_PER_SECOND, FRANKLIN, GAL, GALLON_IMP, GALLON_PER_DAY, GALLON_PER_HOUR, GALLON_PER_MINUTE, GALLON_PER_SECOND, GALLON_US_FLUID, GIGA_ELECTRONVOLT, GIGAHERTZ, GIGAWATT, GIGAWATT_HOUR, GRAD, GRAM, GRAM_PER_CENTIMETER_3, HECTARE, HECTOMETER, HECTOPASCAL, HERTZ, HORSEPOWER_METRIC, HOUR, INCH, INCH_MERCURY, INCH_PER_SECOND_2, INCH_POUND_FORCE, JOULE, KELVIN, KG_PER_METER_3, KGF_PER_SQUARE_MM, KILO_ELECTRONVOLT, KILOAMPERE, KILOCALORIE, KILOGRAM, KILOGRAM_FORCE, KILOGRAM_PER_SECOND, KILOHERTZ, KILOMETER, KILOOHM, KILOPASCAL, KILOVOLT, KILOWATT, KILOWATT_HOUR, KM_PER_HOUR, KM_PER_HOUR_2, KNOT, KNOT_PER_SECOND, LITER, LITER_PER_DAY, LITER_PER_HOUR, LITER_PER_MINUTE, LITER_PER_SECOND, MEGA_ELECTRONVOLT, MEGAHERTZ, MEGAOHM, MEGAVOLT, MEGAWATT, MEGAWATT_HOUR, METER, METER_KILOGRAM_FORCE, METER_PER_SECOND, METER_PER_SECOND_2, MICROAMPERE, MICROVOLT, MICROWATT_HOUR, MILE, MILE_PER_HOUR, MILE_PER_HOUR_2, MILE_PER_HOUR_PER_SECOND, MILLI_ELECTRONVOLT, MILLIAMPERE, MILLIAMPERE_HOUR, MILLIBAR, MILLIMETER, MILLIMETER_MERCURY, MILLIOHM, MILLISECOND, MILLIVOLT, MILLIWATT_HOUR, MINUTE, NANOAMPERE, NAUTICAL_MILE, NEWTON, NEWTON_METER, OHM, OUNCE, OUNCE_FORCE, OUNCE_IMP_FLUID, OUNCE_US_FLUID, PASCAL, PER_CENTIMETER, PER_DAY, PER_DECIMETER, PER_DEKAMETER, PER_FOOT, PER_HECTOMETER, PER_HOUR, PER_INCH, PER_KILOMETER, PER_METER, PER_MILE, PER_MILLIMETER, PER_MILLISECOND, PER_MINUTE, PER_NAUTICAL_MILE, PER_SECOND, PER_WEEK, PER_YARD, PETA_ELECTRONVOLT, PIEZE, PINT_IMP, PINT_US_FLUID, POUND, POUND_FOOT, POUND_FORCE, POUND_INCH, POUND_PER_SECOND, POUND_PER_SQUARE_FOOT, POUND_PER_SQUARE_INCH, QUART_IMP, QUART_US_FLUID, RAD, RADIAN, RPM, SECOND, SLOPE_ARCMINUTE, SLOPE_ARCSECOND, SLOPE_CENTESIMAL_ARCMINUTE, SLOPE_CENTESIMAL_ARCSECOND, SLOPE_DEGREE, SLOPE_GRAD, SLOPE_RADIAN, SQUARE_CENTIMETER, SQUARE_DEGREE, SQUARE_FOOT, SQUARE_INCH, SQUARE_METER, SQUARE_MILE, SQUARE_MILLIMETER, SQUARE_YARD, STANDARD_GRAVITY, STATAMPERE, STATCOULOMB, STATVOLT, STERADIAN, STHENE, STHENE_METER, STHENE_METER_PER_SECOND, TERA_ELECTRONVOLT, TERAHERTZ, TERAWATT_HOUR, TON_FORCE, TON_LONG, TON_METRIC, TON_SHORT, TONNE, TORR, VOLT, WATT, WATT_HOUR, WEEK, YARD
Modifier and Type | Method and Description |
---|---|
DualAccelerationStep |
computeAcceleration(LaneBasedGTU referenceGTU,
Collection<HeadwayGTU> otherGTUs,
org.djunits.value.vdouble.scalar.Speed.Abs speedLimit)
Compute the lowest accelerations (or most severe decelerations) that would be used if a referenceGTU is present
(inserted, or not removed) in a set of other GTUs.
If any GTU in the set of otherGTUs has a null headway (indicating that the other GTU is in fact parallel to the referenceGTU), prohibitive decelerations shall be returned. Two AccelerationStep values are returned in a DualAccelerationStep. TODO We should probably add a be ready to stop before argument to prevent vehicles that cannot see their leader, or should slow down for a crossing from accelerating to unsafe speeds. |
AccelerationStep |
computeAcceleration(LaneBasedGTU follower,
org.djunits.value.vdouble.scalar.Speed.Abs leaderSpeed,
org.djunits.value.vdouble.scalar.Length.Rel headway,
org.djunits.value.vdouble.scalar.Speed.Abs speedLimit)
Compute the acceleration that would be used to follow a leader.
TODO We should probably add a be ready to stop before argument to prevent vehicles that cannot see their leader, or should slow down for a crossing from accelerating to unsafe speeds. |
org.djunits.value.vdouble.scalar.Acceleration.Abs |
computeAcceleration(org.djunits.value.vdouble.scalar.Speed.Abs followerSpeed,
org.djunits.value.vdouble.scalar.Speed.Abs followerMaximumSpeed,
org.djunits.value.vdouble.scalar.Speed.Abs leaderSpeed,
org.djunits.value.vdouble.scalar.Length.Rel headway,
org.djunits.value.vdouble.scalar.Speed.Abs speedLimit)
Compute the acceleration that would be used to follow a leader.
TODO We should probably add a be ready to stop before argument to prevent vehicles that cannot see their leader, or should slow down for a crossing from accelerating to unsafe speeds. |
AccelerationStep |
computeAccelerationWithNoLeader(LaneBasedGTU gtu,
org.djunits.value.vdouble.scalar.Speed.Abs speedLimit)
Compute the acceleration that would be used if the is not leader in sight.
|
String |
getLongName()
Return complete textual information about this instantiation of this GTU following model.
|
String |
getName()
Return the name of this GTU following model.
|
org.djunits.value.vdouble.scalar.Time.Rel |
getStepSize()
Return the step size of this GTU following model.
|
org.djunits.value.vdouble.scalar.Acceleration.Abs |
maximumSafeDeceleration()
Return the maximum safe deceleration for use in gap acceptance models.
|
org.djunits.value.vdouble.scalar.Length.Rel |
minimumHeadway(org.djunits.value.vdouble.scalar.Speed.Abs followerSpeed,
org.djunits.value.vdouble.scalar.Speed.Abs leaderSpeed,
org.djunits.value.vdouble.scalar.Length.Rel precision,
org.djunits.value.vdouble.scalar.Speed.Abs speedLimit,
org.djunits.value.vdouble.scalar.Speed.Abs followerMaximumSpeed)
Compute the minimum net headway given the speed of the follower and the leader.
At the returned headway, the follower would decelerate with it's maximum comfortable deceleration. |
AccelerationStep computeAcceleration(LaneBasedGTU follower, org.djunits.value.vdouble.scalar.Speed.Abs leaderSpeed, org.djunits.value.vdouble.scalar.Length.Rel headway, org.djunits.value.vdouble.scalar.Speed.Abs speedLimit) throws org.opentrafficsim.core.network.NetworkException
follower
- LaneBasedGTU; the GTU for which acceleration is computedleaderSpeed
- DoubleScalar.Abs<SpeedUnit>; the speed of the leaderheadway
- DoubleScalar.Rel<LengthUnit>; the headway of the leaderspeedLimit
- DoubleScalarAbs<SpeedUnit>; the local speed limitorg.opentrafficsim.core.network.NetworkException
- on network inconsistencyorg.djunits.value.vdouble.scalar.Acceleration.Abs computeAcceleration(org.djunits.value.vdouble.scalar.Speed.Abs followerSpeed, org.djunits.value.vdouble.scalar.Speed.Abs followerMaximumSpeed, org.djunits.value.vdouble.scalar.Speed.Abs leaderSpeed, org.djunits.value.vdouble.scalar.Length.Rel headway, org.djunits.value.vdouble.scalar.Speed.Abs speedLimit)
followerSpeed
- DoubleScalar.Abs<SpeedUnit>; the speed of the follower at the current timefollowerMaximumSpeed
- DoubleScalar.Abs<SpeedUnit>; the maximum speed that the follower is capable of driving
atleaderSpeed
- DoubleScalar.Abs<SpeedUnit>; the speed of the follower at the current timeheadway
- DoubleScalar.Rel<LengthUnit>; the net headway (distance between the front of the follower to
the rear of the leader) at the current timespeedLimit
- DoubleScalar.Abs<SpeedUnit>; the local speed limitDualAccelerationStep computeAcceleration(LaneBasedGTU referenceGTU, Collection<HeadwayGTU> otherGTUs, org.djunits.value.vdouble.scalar.Speed.Abs speedLimit) throws org.opentrafficsim.core.network.NetworkException
referenceGTU
- LaneBasedGTU; the GTU for which the accelerations are computedotherGTUs
- Collection<HeadwayGTU>; the other GTUs. A negative headway value indicates that the other GTU is a
follower. NB. If the referenceGTU is contained in this Collection, it is ignored.speedLimit
- DoubleScalar.Abs<SpeedUnit>; the local speed limitorg.opentrafficsim.core.network.NetworkException
- on network inconsistencyAccelerationStep computeAccelerationWithNoLeader(LaneBasedGTU gtu, org.djunits.value.vdouble.scalar.Speed.Abs speedLimit) throws org.opentrafficsim.core.network.NetworkException
gtu
- LaneBasedGTU; the GTU for which acceleration is computedspeedLimit
- DoubleScalar.Abs<SpeedUnit>; the local speed limitorg.opentrafficsim.core.network.NetworkException
- on network inconsistencyorg.djunits.value.vdouble.scalar.Length.Rel minimumHeadway(org.djunits.value.vdouble.scalar.Speed.Abs followerSpeed, org.djunits.value.vdouble.scalar.Speed.Abs leaderSpeed, org.djunits.value.vdouble.scalar.Length.Rel precision, org.djunits.value.vdouble.scalar.Speed.Abs speedLimit, org.djunits.value.vdouble.scalar.Speed.Abs followerMaximumSpeed)
followerSpeed
- DoubleScalar.Abs<SpeedUnit>; speed of the followerleaderSpeed
- DoubleScalar.Abs<SpeedUnit>; speed of the leaderprecision
- DoubleScalar.Rel<LengthUnit>; the required precision of the result (must be > 0)speedLimit
- DoubleScalar.Abs<SpeedUnit>; the local speed limitfollowerMaximumSpeed
- DoubleScalar.Abs<SpeedUnit>; the maximum speed that the follower can drive atorg.djunits.value.vdouble.scalar.Acceleration.Abs maximumSafeDeceleration()
org.djunits.value.vdouble.scalar.Time.Rel getStepSize()
String getName()
String getLongName()
Copyright © 2014–2015 Delft University of Technology. All rights reserved.