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 |
|---|---|
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.AccelerationUnit> |
computeAcceleration(org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.SpeedUnit> followerSpeed,
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.SpeedUnit> followerMaximumSpeed,
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.SpeedUnit> leaderSpeed,
org.djunits.value.vdouble.scalar.DoubleScalar.Rel<org.djunits.unit.LengthUnit> headway,
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.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. |
DualAccelerationStep |
computeAcceleration(LaneBasedGTU referenceGTU,
Collection<HeadwayGTU> otherGTUs,
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.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,
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.SpeedUnit> leaderSpeed,
org.djunits.value.vdouble.scalar.DoubleScalar.Rel<org.djunits.unit.LengthUnit> headway,
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.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,
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.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.
|
org.djunits.value.vdouble.scalar.DoubleScalar.Rel<org.djunits.unit.TimeUnit> |
getStepSize()
Return the step size of this GTU following model.
|
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.AccelerationUnit> |
maximumSafeDeceleration()
Return the maximum safe deceleration for use in gap acceptance models.
|
org.djunits.value.vdouble.scalar.DoubleScalar.Rel<org.djunits.unit.LengthUnit> |
minimumHeadway(org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.SpeedUnit> followerSpeed,
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.SpeedUnit> leaderSpeed,
org.djunits.value.vdouble.scalar.DoubleScalar.Rel<org.djunits.unit.LengthUnit> precision,
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.SpeedUnit> speedLimit,
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.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, org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.SpeedUnit> leaderSpeed, org.djunits.value.vdouble.scalar.DoubleScalar.Rel<org.djunits.unit.LengthUnit> headway, org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.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 inconsistencyorg.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.AccelerationUnit> computeAcceleration(org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.SpeedUnit> followerSpeed,
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.SpeedUnit> followerMaximumSpeed,
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.SpeedUnit> leaderSpeed,
org.djunits.value.vdouble.scalar.DoubleScalar.Rel<org.djunits.unit.LengthUnit> headway,
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.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, org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.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, org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.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 inconsistencyorg.djunits.value.vdouble.scalar.DoubleScalar.Rel<org.djunits.unit.LengthUnit> minimumHeadway(org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.SpeedUnit> followerSpeed,
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.SpeedUnit> leaderSpeed,
org.djunits.value.vdouble.scalar.DoubleScalar.Rel<org.djunits.unit.LengthUnit> precision,
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.SpeedUnit> speedLimit,
org.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.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 failureorg.djunits.value.vdouble.scalar.DoubleScalar.Abs<org.djunits.unit.AccelerationUnit> maximumSafeDeceleration()
org.djunits.value.vdouble.scalar.DoubleScalar.Rel<org.djunits.unit.TimeUnit> getStepSize()
throws RemoteException
RemoteException - on communications failureString getName()
String getLongName()
Copyright © 2014–2015 Delft University of Technology. All rights reserved.