public class IDM extends AbstractGTUFollowingModel
Copyright (c) 2013-2014 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights
reserved.
BSD-style license. See OpenTrafficSim License.
TOODANGEROUS
Constructor and Description |
---|
IDM()
Construct a new IDM car following model with reasonable values (reasonable for passenger cars).
|
IDM(DoubleScalar.Abs<AccelerationUnit> a,
DoubleScalar.Abs<AccelerationUnit> b,
DoubleScalar.Rel<LengthUnit> s0,
DoubleScalar.Rel<TimeUnit> tSafe,
double delta)
Construct a new IDM car following model.
|
Modifier and Type | Method and Description |
---|---|
DoubleScalar.Abs<AccelerationUnit> |
computeAcceleration(DoubleScalar.Abs<SpeedUnit> followerSpeed,
DoubleScalar.Abs<SpeedUnit> followerMaximumSpeed,
DoubleScalar.Abs<SpeedUnit> leaderSpeed,
DoubleScalar.Rel<LengthUnit> headway,
DoubleScalar.Abs<SpeedUnit> 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 |
String |
getLongName()
Return complete textual information about this instantiation of this GTU following model.
|
String |
getName()
Return the name of this GTU following model.
|
DoubleScalar.Rel<TimeUnit> |
getStepSize()
Return the step size of this GTU following model.
|
DoubleScalar.Abs<AccelerationUnit> |
maximumSafeDeceleration()
Return the maximum safe deceleration for use in gap acceptance models.
|
computeAcceleration, computeAcceleration, computeAccelerationWithNoLeader, minimumHeadway
public IDM()
public IDM(DoubleScalar.Abs<AccelerationUnit> a, DoubleScalar.Abs<AccelerationUnit> b, DoubleScalar.Rel<LengthUnit> s0, DoubleScalar.Rel<TimeUnit> tSafe, double delta)
a
- DoubleScalar.Abs<AccelerationUnit>; the maximum acceleration of a stationary vehicle (normal value
is 1 m/s/s)b
- DoubleScalar.Abs<AccelerationUnit>; the maximum deemed-safe deceleration (this is a positive
value). Normal value is 1.5 m/s/s.s0
- DoubleScalar.Rel<LengthUnit>; the minimum stationary headway (normal value is 2 m)tSafe
- DoubleScalar.Rel<TimeUnit>; the minimum time-headway (normal value is 1s)delta
- double; the speed limit adherence (1.0; mean free speed equals the speed limit; 1.1: mean free speed
equals 110% of the speed limit; etc.)public final DoubleScalar.Abs<AccelerationUnit> computeAcceleration(DoubleScalar.Abs<SpeedUnit> followerSpeed, DoubleScalar.Abs<SpeedUnit> followerMaximumSpeed, DoubleScalar.Abs<SpeedUnit> leaderSpeed, DoubleScalar.Rel<LengthUnit> headway, DoubleScalar.Abs<SpeedUnit> 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 limitpublic final DoubleScalar.Rel<TimeUnit> getStepSize()
public final DoubleScalar.Abs<AccelerationUnit> maximumSafeDeceleration()
public final String getName()
public final String getLongName()
Copyright © 2014–2015 Delft University of Technology. All rights reserved.