public interface 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 | 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 |
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.
|
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.
|
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. |
AccelerationStep computeAcceleration(LaneBasedGTU<?> follower, DoubleScalar.Abs<SpeedUnit> leaderSpeed, DoubleScalar.Rel<LengthUnit> headway, DoubleScalar.Abs<SpeedUnit> speedLimit) throws RemoteException, 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 limitRemoteException
- in case of simulator reachability problemsNetworkException
- on network inconsistencyDoubleScalar.Abs<AccelerationUnit> computeAcceleration(DoubleScalar.Abs<SpeedUnit> followerSpeed, DoubleScalar.Abs<SpeedUnit> followerMaximumSpeed, DoubleScalar.Abs<SpeedUnit> leaderSpeed, DoubleScalar.Rel<LengthUnit> headway, DoubleScalar.Abs<SpeedUnit> speedLimit) throws RemoteException
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 limitRemoteException
- on communications failureDualAccelerationStep computeAcceleration(LaneBasedGTU<?> referenceGTU, Collection<HeadwayGTU> otherGTUs, DoubleScalar.Abs<SpeedUnit> speedLimit) throws RemoteException, 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 limitRemoteException
- in case of simulator reachability problemsNetworkException
- on network inconsistencyAccelerationStep computeAccelerationWithNoLeader(LaneBasedGTU<?> gtu, DoubleScalar.Abs<SpeedUnit> speedLimit) throws RemoteException, NetworkException
gtu
- LaneBasedGTU<?>; the GTU for which acceleration is computedspeedLimit
- DoubleScalar.Abs<SpeedUnit>; the local speed limitRemoteException
- in case of simulator reachability problemsNetworkException
- on network inconsistencyDoubleScalar.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
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 atRemoteException
- on communications failureDoubleScalar.Abs<AccelerationUnit> maximumSafeDeceleration()
DoubleScalar.Rel<TimeUnit> getStepSize() throws RemoteException
RemoteException
- on communications failureString getName()
String getLongName()
Copyright © 2014–2015 Delft University of Technology. All rights reserved.