public interface GTUFollowingModel
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.
Modifier and Type | Method and Description |
---|---|
DualAccelerationStep |
computeAcceleration(LaneBasedGTU referenceGTU,
Collection<HeadwayGTU> otherGTUs,
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. 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 leaderSpeed,
org.djunits.value.vdouble.scalar.Length.Rel headway,
org.djunits.value.vdouble.scalar.Speed 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 |
computeAcceleration(org.djunits.value.vdouble.scalar.Speed followerSpeed,
org.djunits.value.vdouble.scalar.Speed followerMaximumSpeed,
org.djunits.value.vdouble.scalar.Speed leaderSpeed,
org.djunits.value.vdouble.scalar.Length.Rel headway,
org.djunits.value.vdouble.scalar.Speed 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 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 |
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 followerSpeed,
org.djunits.value.vdouble.scalar.Speed leaderSpeed,
org.djunits.value.vdouble.scalar.Length.Rel precision,
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. |
AccelerationStep computeAcceleration(LaneBasedGTU follower, org.djunits.value.vdouble.scalar.Speed leaderSpeed, org.djunits.value.vdouble.scalar.Length.Rel headway, org.djunits.value.vdouble.scalar.Speed 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 computeAcceleration(org.djunits.value.vdouble.scalar.Speed followerSpeed, org.djunits.value.vdouble.scalar.Speed followerMaximumSpeed, org.djunits.value.vdouble.scalar.Speed leaderSpeed, org.djunits.value.vdouble.scalar.Length.Rel headway, org.djunits.value.vdouble.scalar.Speed 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 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 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 followerSpeed, org.djunits.value.vdouble.scalar.Speed leaderSpeed, org.djunits.value.vdouble.scalar.Length.Rel precision, org.djunits.value.vdouble.scalar.Speed speedLimit, org.djunits.value.vdouble.scalar.Speed 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 maximumSafeDeceleration()
org.djunits.value.vdouble.scalar.Time.Rel getStepSize()
String getName()
String getLongName()
Copyright © 2014–2015 Delft University of Technology. All rights reserved.