public abstract class AbstractLaneChangeModel extends Object implements LaneChangeModel
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.
Constructor and Description |
---|
AbstractLaneChangeModel() |
Modifier and Type | Method and Description |
---|---|
abstract DoubleScalar.Abs<AccelerationUnit> |
applyDriverPersonality(DualAccelerationStep accelerationSteps)
Return the weighted acceleration as described by the personality.
|
LaneMovementStep |
computeLaneChangeAndAcceleration(LaneBasedGTU<?> gtu,
Collection<HeadwayGTU> sameLaneGTUs,
Collection<HeadwayGTU> preferredLaneGTUs,
Collection<HeadwayGTU> nonPreferredLaneGTUs,
DoubleScalar.Abs<SpeedUnit> speedLimit,
DoubleScalar.Rel<AccelerationUnit> preferredLaneRouteIncentive,
DoubleScalar.Rel<AccelerationUnit> laneChangeThreshold,
DoubleScalar.Rel<AccelerationUnit> nonPreferredLaneRouteIncentive)
Compute the acceleration and lane change.
|
public final LaneMovementStep computeLaneChangeAndAcceleration(LaneBasedGTU<?> gtu, Collection<HeadwayGTU> sameLaneGTUs, Collection<HeadwayGTU> preferredLaneGTUs, Collection<HeadwayGTU> nonPreferredLaneGTUs, DoubleScalar.Abs<SpeedUnit> speedLimit, DoubleScalar.Rel<AccelerationUnit> preferredLaneRouteIncentive, DoubleScalar.Rel<AccelerationUnit> laneChangeThreshold, DoubleScalar.Rel<AccelerationUnit> nonPreferredLaneRouteIncentive) throws RemoteException
computeLaneChangeAndAcceleration
in interface LaneChangeModel
gtu
- GTU; the GTU for which the acceleration and lane change is computedsameLaneGTUs
- Collection<GTU>; the set of observable GTUs in the current lane (can not be null and
may include gtu)preferredLaneGTUs
- Collection<GTU>; the set of observable GTUs in the adjacent lane where GTUs should
drive in the absence of other traffic (must be null if there is no such lane)nonPreferredLaneGTUs
- Collection<GTU>; the set of observable GTUs in the adjacent lane into which
GTUs should merge to overtake other traffic (must be null if there is no such lane)speedLimit
- DoubleScalarAbs<SpeedUnit>; the local speed limitpreferredLaneRouteIncentive
- DoubleScalar.Rel<AccelerationUnit>; route incentive to merge to the
adjacent lane where GTUs should drive in the absence of other trafficlaneChangeThreshold
- DoubleScalar.Rel<AccelerationUnit>; changing threshold that prevents lane
changes that have very little benefitnonPreferredLaneRouteIncentive
- DoubleScalar.Rel<AccelerationUnit>; route incentive to merge to the
adjacent lane into which GTUs should merge to overtake other trafficRemoteException
- in case the simulation time cannot be retrieved.public abstract DoubleScalar.Abs<AccelerationUnit> applyDriverPersonality(DualAccelerationStep accelerationSteps)
accelerationSteps
- DualAccelerationStep; the DualAccelerationStep that contains the AccelerationStep that
the reference GTU will make and the AccelerationStep that the (new) follower GTU will makeCopyright © 2014–2015 Delft University of Technology. All rights reserved.