public abstract class AbstractGTUFollowingModelMobil extends Object implements GTUFollowingModelOld
Copyright (c) 2013-2016 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
Modifier and Type | Field and Description |
---|---|
static DualAccelerationStep |
TOODANGEROUS
Return value if lane change causes immediate collision.
|
Constructor and Description |
---|
AbstractGTUFollowingModelMobil() |
Modifier and Type | Method and Description |
---|---|
AccelerationStep |
computeAccelerationStep(LaneBasedGTU gtu,
org.djunits.value.vdouble.scalar.Speed leaderSpeed,
org.djunits.value.vdouble.scalar.Length headway,
org.djunits.value.vdouble.scalar.Length maxDistance,
org.djunits.value.vdouble.scalar.Speed speedLimit)
Compute the acceleration that would be used to follow a leader.
|
AccelerationStep |
computeAccelerationStep(LaneBasedGTU gtu,
org.djunits.value.vdouble.scalar.Speed leaderSpeed,
org.djunits.value.vdouble.scalar.Length headway,
org.djunits.value.vdouble.scalar.Length maxDistance,
org.djunits.value.vdouble.scalar.Speed speedLimit,
org.djunits.value.vdouble.scalar.Duration stepSize)
Compute the acceleration that would be used to follow a leader.
|
AccelerationStep |
computeAccelerationStep(org.djunits.value.vdouble.scalar.Speed followerSpeed,
org.djunits.value.vdouble.scalar.Speed leaderSpeed,
org.djunits.value.vdouble.scalar.Length headway,
org.djunits.value.vdouble.scalar.Speed speedLimit,
org.djunits.value.vdouble.scalar.Time currentTime)
Compute the acceleration that would be used to follow a leader.
|
AccelerationStep |
computeAccelerationStep(org.djunits.value.vdouble.scalar.Speed followerSpeed,
org.djunits.value.vdouble.scalar.Speed leaderSpeed,
org.djunits.value.vdouble.scalar.Length headway,
org.djunits.value.vdouble.scalar.Speed speedLimit,
org.djunits.value.vdouble.scalar.Time currentTime,
org.djunits.value.vdouble.scalar.Duration stepSize)
Compute the acceleration that would be used to follow a leader.
|
AccelerationStep |
computeAccelerationStepWithNoLeader(LaneBasedGTU gtu,
org.djunits.value.vdouble.scalar.Length maxDistance,
org.djunits.value.vdouble.scalar.Speed speedLimit)
Compute the acceleration that would be used if the is not leader in sight.
|
AccelerationStep |
computeAccelerationStepWithNoLeader(LaneBasedGTU gtu,
org.djunits.value.vdouble.scalar.Length maxDistance,
org.djunits.value.vdouble.scalar.Speed speedLimit,
org.djunits.value.vdouble.scalar.Duration stepSize)
Compute the acceleration that would be used if the is not leader in sight.
|
DualAccelerationStep |
computeDualAccelerationStep(LaneBasedGTU referenceGTU,
Collection<Headway> otherGTUs,
org.djunits.value.vdouble.scalar.Length maxDistance,
org.djunits.value.vdouble.scalar.Speed 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. or should slow down for a crossing from accelerating to unsafe speeds. |
DualAccelerationStep |
computeDualAccelerationStep(LaneBasedGTU referenceGTU,
Collection<Headway> otherHeadways,
org.djunits.value.vdouble.scalar.Length maxDistance,
org.djunits.value.vdouble.scalar.Speed speedLimit,
org.djunits.value.vdouble.scalar.Duration stepSize)
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. or should slow down for a crossing from accelerating to unsafe speeds. |
org.djunits.value.vdouble.scalar.Length |
minimumHeadway(org.djunits.value.vdouble.scalar.Speed followerSpeed,
org.djunits.value.vdouble.scalar.Speed leaderSpeed,
org.djunits.value.vdouble.scalar.Length precision,
org.djunits.value.vdouble.scalar.Length maxDistance,
org.djunits.value.vdouble.scalar.Speed speedLimit,
org.djunits.value.vdouble.scalar.Speed 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. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
computeAcceleration, computeAcceleration, getLongName, getMaximumSafeDeceleration, getName, getStepSize
desiredHeadway, desiredSpeed, followingAcceleration
public static final DualAccelerationStep TOODANGEROUS
public final DualAccelerationStep computeDualAccelerationStep(LaneBasedGTU referenceGTU, Collection<Headway> otherGTUs, org.djunits.value.vdouble.scalar.Length maxDistance, org.djunits.value.vdouble.scalar.Speed speedLimit) throws org.opentrafficsim.core.gtu.GTUException
computeDualAccelerationStep
in interface GTUFollowingModelOld
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.maxDistance
- Length; the maximum distance we can cover at the current time, e.g. as the result of a lane dropspeedLimit
- Speed; the local speed limitorg.opentrafficsim.core.gtu.GTUException
- when the speed of the gtu cannot be determinedpublic final DualAccelerationStep computeDualAccelerationStep(LaneBasedGTU referenceGTU, Collection<Headway> otherHeadways, org.djunits.value.vdouble.scalar.Length maxDistance, org.djunits.value.vdouble.scalar.Speed speedLimit, org.djunits.value.vdouble.scalar.Duration stepSize) throws org.opentrafficsim.core.gtu.GTUException
computeDualAccelerationStep
in interface GTUFollowingModelOld
referenceGTU
- LaneBasedGTU; the GTU for which the accelerations are computedotherHeadways
- 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.maxDistance
- Length; the maximum distance we can cover at the current time, e.g. as the result of a lane dropspeedLimit
- Speed; the local speed limitstepSize
- given step size, which can be longer or shorter than the provided step size in the algorithms.org.opentrafficsim.core.gtu.GTUException
- when the speed of the gtu cannot be determinedpublic final AccelerationStep computeAccelerationStep(LaneBasedGTU gtu, org.djunits.value.vdouble.scalar.Speed leaderSpeed, org.djunits.value.vdouble.scalar.Length headway, org.djunits.value.vdouble.scalar.Length maxDistance, org.djunits.value.vdouble.scalar.Speed speedLimit) throws org.opentrafficsim.core.gtu.GTUException
computeAccelerationStep
in interface GTUFollowingModelOld
gtu
- LaneBasedGTU; the GTU for which acceleration is computedleaderSpeed
- Speed; the speed of the leaderheadway
- Length; the headway of the leadermaxDistance
- Length; the maximum distance we can cover at the current time, e.g. as the result of a lane dropspeedLimit
- Speed; the local speed limitorg.opentrafficsim.core.gtu.GTUException
- when the speed of the gtu cannot be determinedpublic final AccelerationStep computeAccelerationStep(LaneBasedGTU gtu, org.djunits.value.vdouble.scalar.Speed leaderSpeed, org.djunits.value.vdouble.scalar.Length headway, org.djunits.value.vdouble.scalar.Length maxDistance, org.djunits.value.vdouble.scalar.Speed speedLimit, org.djunits.value.vdouble.scalar.Duration stepSize) throws org.opentrafficsim.core.gtu.GTUException
computeAccelerationStep
in interface GTUFollowingModelOld
gtu
- LaneBasedGTU; the GTU for which acceleration is computedleaderSpeed
- Speed; the speed of the leaderheadway
- Length; the headway of the leadermaxDistance
- Length; the maximum distance we can cover at the current time, e.g. as the result of a lane dropspeedLimit
- Speed; the local speed limitstepSize
- given step size, which can be longer or shorter than the provided step size in the algorithms.org.opentrafficsim.core.gtu.GTUException
- when the speed of the gtu cannot be determinedpublic final AccelerationStep computeAccelerationStep(org.djunits.value.vdouble.scalar.Speed followerSpeed, org.djunits.value.vdouble.scalar.Speed leaderSpeed, org.djunits.value.vdouble.scalar.Length headway, org.djunits.value.vdouble.scalar.Speed speedLimit, org.djunits.value.vdouble.scalar.Time currentTime)
computeAccelerationStep
in interface GTUFollowingModelOld
followerSpeed
- Speed; the speed of the follower at the current timeleaderSpeed
- Speed; the speed of the follower at the current timeheadway
- Length; the net headway (distance between the front of the follower to the rear of the leader)
at the current time, or the maximum distance we can cover at the current time, e.g. as the result of a lane
dropspeedLimit
- Speed; the local speed limitcurrentTime
- to be used to determine the validity of the AccelerationSteppublic final AccelerationStep computeAccelerationStep(org.djunits.value.vdouble.scalar.Speed followerSpeed, org.djunits.value.vdouble.scalar.Speed leaderSpeed, org.djunits.value.vdouble.scalar.Length headway, org.djunits.value.vdouble.scalar.Speed speedLimit, org.djunits.value.vdouble.scalar.Time currentTime, org.djunits.value.vdouble.scalar.Duration stepSize)
computeAccelerationStep
in interface GTUFollowingModelOld
followerSpeed
- Speed; the speed of the follower at the current timeleaderSpeed
- Speed; the speed of the follower at the current timeheadway
- Length; the net headway (distance between the front of the follower to the rear of the leader)
at the current time, or the maximum distance we can cover at the current time, e.g. as the result of a lane
dropspeedLimit
- Speed; the local speed limitcurrentTime
- to be used to determine the validity of the AccelerationStepstepSize
- given step size, which can be longer or shorter than the provided step size in the algorithms.public final AccelerationStep computeAccelerationStepWithNoLeader(LaneBasedGTU gtu, org.djunits.value.vdouble.scalar.Length maxDistance, org.djunits.value.vdouble.scalar.Speed speedLimit) throws org.opentrafficsim.core.gtu.GTUException
computeAccelerationStepWithNoLeader
in interface GTUFollowingModelOld
gtu
- LaneBasedGTU; the GTU for which acceleration is computedmaxDistance
- Length; the maximum distance we can cover at the current time, e.g. as the result of a lane dropspeedLimit
- Speed; the local speed limitorg.opentrafficsim.core.gtu.GTUException
- when the speed of the gtu cannot be determinedpublic final AccelerationStep computeAccelerationStepWithNoLeader(LaneBasedGTU gtu, org.djunits.value.vdouble.scalar.Length maxDistance, org.djunits.value.vdouble.scalar.Speed speedLimit, org.djunits.value.vdouble.scalar.Duration stepSize) throws org.opentrafficsim.core.gtu.GTUException
computeAccelerationStepWithNoLeader
in interface GTUFollowingModelOld
gtu
- LaneBasedGTU; the GTU for which acceleration is computedmaxDistance
- Length; the maximum distance we can cover at the current time, e.g. as the result of a lane dropspeedLimit
- Speed; the local speed limitstepSize
- given step size, which can be longer or shorter than the provided step size in the algorithms.org.opentrafficsim.core.gtu.GTUException
- when the speed of the gtu cannot be determinedpublic final org.djunits.value.vdouble.scalar.Length minimumHeadway(org.djunits.value.vdouble.scalar.Speed followerSpeed, org.djunits.value.vdouble.scalar.Speed leaderSpeed, org.djunits.value.vdouble.scalar.Length precision, org.djunits.value.vdouble.scalar.Length maxDistance, org.djunits.value.vdouble.scalar.Speed speedLimit, org.djunits.value.vdouble.scalar.Speed followerMaximumSpeed)
minimumHeadway
in interface GTUFollowingModelOld
followerSpeed
- Speed; speed of the followerleaderSpeed
- Speed; speed of the leaderprecision
- Length; the required precision of the result (must be > 0)maxDistance
- Length; the maximum distance we can cover at the current time, e.g. as the result of a lane dropspeedLimit
- Speed; the local speed limitfollowerMaximumSpeed
- Speed; the maximum speed that the follower can drive atCopyright © 2014–2016 Delft University of Technology. All rights reserved.