public abstract class AbstractGTUFollowingModel extends Object implements GTUFollowingModel
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.
| Modifier and Type | Field and Description |
|---|---|
static DualAccelerationStep |
TOODANGEROUS
Return value if lane change causes immediate collision.
|
| Constructor and Description |
|---|
AbstractGTUFollowingModel() |
| Modifier and Type | Method and Description |
|---|---|
DualAccelerationStep |
computeAcceleration(LaneBasedGTU<?> referenceGTU,
Collection<HeadwayGTU> otherGTUs,
DoubleScalar.Abs<SpeedUnit> 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,
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 leader, or should slow down for a crossing from accelerating to unsafe speeds. |
AccelerationStep |
computeAccelerationWithNoLeader(LaneBasedGTU<?> gtu,
DoubleScalar.Abs<SpeedUnit> speedLimit)
Compute the acceleration that would be used if the is not leader in sight.
|
DoubleScalar.Rel<LengthUnit> |
minimumHeadway(DoubleScalar.Abs<SpeedUnit> followerSpeed,
DoubleScalar.Abs<SpeedUnit> leaderSpeed,
DoubleScalar.Rel<LengthUnit> precision,
DoubleScalar.Abs<SpeedUnit> speedLimit,
DoubleScalar.Abs<SpeedUnit> 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, waitcomputeAcceleration, getLongName, getName, getStepSize, maximumSafeDecelerationpublic static final DualAccelerationStep TOODANGEROUS
public final DualAccelerationStep computeAcceleration(LaneBasedGTU<?> referenceGTU, Collection<HeadwayGTU> otherGTUs, DoubleScalar.Abs<SpeedUnit> speedLimit) throws RemoteException, NetworkException
computeAcceleration in interface GTUFollowingModelreferenceGTU - 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 limitRemoteException - in case of simulator reachability problemsNetworkException - on network inconsistencypublic final AccelerationStep computeAcceleration(LaneBasedGTU<?> follower, DoubleScalar.Abs<SpeedUnit> leaderSpeed, DoubleScalar.Rel<LengthUnit> headway, DoubleScalar.Abs<SpeedUnit> speedLimit) throws RemoteException
computeAcceleration in interface GTUFollowingModelfollower - 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 limitRemoteException - in case of simulator reachability problemspublic final AccelerationStep computeAccelerationWithNoLeader(LaneBasedGTU<?> gtu, DoubleScalar.Abs<SpeedUnit> speedLimit) throws RemoteException, NetworkException
computeAccelerationWithNoLeader in interface GTUFollowingModelgtu - LaneBasedGTU<?>; the GTU for which acceleration is computedspeedLimit - DoubleScalar.Abs<SpeedUnit>; the local speed limitRemoteException - in case of simulator reachability problemsNetworkException - on network inconsistencypublic final DoubleScalar.Rel<LengthUnit> minimumHeadway(DoubleScalar.Abs<SpeedUnit> followerSpeed, DoubleScalar.Abs<SpeedUnit> leaderSpeed, DoubleScalar.Rel<LengthUnit> precision, DoubleScalar.Abs<SpeedUnit> speedLimit, DoubleScalar.Abs<SpeedUnit> followerMaximumSpeed) throws RemoteException
minimumHeadway in interface GTUFollowingModelfollowerSpeed - 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 atRemoteException - on communications failureCopyright © 2014–2015 Delft University of Technology. All rights reserved.