SUMO - Simulation of Urban MObility
|
Krauss car-following model, changing accel and speed by slope. More...
#include <MSCFModel_KraussPS.h>
Public Member Functions | |
MSCFModel * | duplicate (const MSVehicleType *vtype) const |
Duplicates the car-following model. More... | |
SUMOReal | getMaxAccel () const |
Get the vehicle type's maximum acceleration [m/s^2]. More... | |
SUMOReal | getMaxDecel () const |
Get the vehicle type's maximum deceleration [m/s^2]. More... | |
MSCFModel_KraussPS (const MSVehicleType *vtype, SUMOReal accel, SUMOReal decel, SUMOReal dawdle, SUMOReal headwayTime) | |
Constructor. More... | |
~MSCFModel_KraussPS () | |
Destructor. More... | |
Implementations of the MSCFModel interface | |
SUMOReal | maxNextSpeed (SUMOReal speed, const MSVehicle *const veh) const |
Returns the maximum speed given the current speed. More... | |
int | getModelID () const |
Returns the model's name. More... | |
Implementations of the MSCFModel interface | |
SUMOReal | stopSpeed (const MSVehicle *const veh, const SUMOReal speed, SUMOReal gap2pred) const |
Computes the vehicle's safe speed for approaching a non-moving obstacle (no dawdling) this uses the maximumSafeStopSpeed. More... | |
SUMOReal | followSpeed (const MSVehicle *const veh, SUMOReal speed, SUMOReal gap2pred, SUMOReal predSpeed, SUMOReal predMaxDecel) const |
Computes the vehicle's safe speed (no dawdling) this uses the maximumSafeFollowSpeed. More... | |
Implementations of the MSCFModel interface | |
SUMOReal | moveHelper (MSVehicle *const veh, SUMOReal vPos) const |
Applies interaction with stops and lane changing model influences. More... | |
SUMOReal | insertionFollowSpeed (const MSVehicle *const veh, SUMOReal speed, SUMOReal gap2pred, SUMOReal predSpeed, SUMOReal predMaxDecel) const |
Computes the vehicle's safe speed (no dawdling) This method is used during the insertion stage. Whereas the method followSpeed returns the desired speed which may be lower than the safe speed, this method only considers safety constraints. More... | |
SUMOReal | getImperfection () const |
Get the driver's imperfection. More... | |
Setter methods | |
void | setMaxDecel (SUMOReal decel) |
Sets a new value for maximum deceleration [m/s^2]. More... | |
void | setImperfection (SUMOReal imperfection) |
Sets a new value for driver imperfection. More... | |
void | setHeadwayTime (SUMOReal headwayTime) |
Sets a new value for driver reaction time [s]. More... | |
Methods to override by model implementation | |
virtual SUMOReal | freeSpeed (const MSVehicle *const veh, SUMOReal speed, SUMOReal seen, SUMOReal maxSpeed, const bool onInsertion=false) const |
Computes the vehicle's safe speed without a leader. More... | |
virtual SUMOReal | interactionGap (const MSVehicle *const veh, SUMOReal vL) const |
Returns the maximum gap at which an interaction between both vehicles occurs. More... | |
virtual VehicleVariables * | createVehicleVariables () const |
Returns model specific values which are stored inside a vehicle and must be used with casting. More... | |
Virtual methods with default implementation | |
virtual SUMOReal | getHeadwayTime () const |
Get the driver's reaction time [s]. More... | |
Setter methods | |
virtual void | setMaxAccel (SUMOReal accel) |
Sets a new value for maximum acceleration [m/s^2]. More... | |
Protected Member Functions | |
SUMOReal | maximumSafeFollowSpeed (SUMOReal gap, SUMOReal predSpeed, SUMOReal predMaxDecel) const |
Returns the maximum safe velocity for following the given leader. More... | |
SUMOReal | maximumSafeStopSpeed (SUMOReal gap) const |
Returns the maximum velocity for stopping within gap This depends stronlgy on the position update model. More... | |
Protected Attributes | |
SUMOReal | myAccel |
The vehicle's maximum acceleration [m/s^2]. More... | |
SUMOReal | myDawdle |
The vehicle's dawdle-parameter. 0 for no dawdling, 1 for max. More... | |
SUMOReal | myDecel |
The vehicle's maximum deceleration [m/s^2]. More... | |
SUMOReal | myHeadwayTime |
The driver's desired time headway (aka reaction time tau) [s]. More... | |
SUMOReal | myTauDecel |
The precomputed value for myDecel*myTau. More... | |
const MSVehicleType * | myType |
The type to which this model definition belongs to. More... | |
Currently fixed methods | |
SUMOReal | brakeGap (const SUMOReal speed) const |
Returns the distance the vehicle needs to halt including driver's reaction time. More... | |
SUMOReal | getSecureGap (const SUMOReal speed, const SUMOReal leaderSpeed, const SUMOReal leaderMaxDecel) const |
Returns the minimum gap to reserve if the leader is braking at maximum. More... | |
SUMOReal | getSpeedAfterMaxDecel (SUMOReal v) const |
Returns the velocity after maximum deceleration. More... | |
static SUMOReal | freeSpeed (const SUMOReal decel, const SUMOReal seen, const SUMOReal maxSpeed, const bool onInsertion) |
static SUMOReal | brakeGap (const SUMOReal speed, const SUMOReal decel, const SUMOReal headwayTime) |
Krauss car-following model, changing accel and speed by slope.
Definition at line 47 of file MSCFModel_KraussPS.h.
MSCFModel_KraussPS::MSCFModel_KraussPS | ( | const MSVehicleType * | vtype, |
SUMOReal | accel, | ||
SUMOReal | decel, | ||
SUMOReal | dawdle, | ||
SUMOReal | headwayTime | ||
) |
Constructor.
[in] | accel | The maximum acceleration |
[in] | decel | The maximum deceleration |
[in] | dawdle | The driver imperfection |
[in] | headwayTime | The driver's reaction time |
Definition at line 44 of file MSCFModel_KraussPS.cpp.
Referenced by duplicate().
MSCFModel_KraussPS::~MSCFModel_KraussPS | ( | ) |
Destructor.
Definition at line 50 of file MSCFModel_KraussPS.cpp.
Returns the distance the vehicle needs to halt including driver's reaction time.
[in] | speed | The vehicle's current speed |
Definition at line 232 of file MSCFModel.h.
References MSCFModel::myDecel, and MSCFModel::myHeadwayTime.
Referenced by MSLCM_JE2013::_wantsChange(), MSLCM_LC2013::_wantsChange(), MSLaneChanger::checkChange(), MSLane::checkFailure(), MSVehicle::checkRewindLinkLanes(), MSVehicle::executeMove(), MSLane::getCriticalLeader(), MSVehicle::getLeader(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getRealLeader(), MSVehicle::getRerouteOrigin(), MSCFModel::getSecureGap(), MSLCM_JE2013::informLeader(), MSLane::isInsertionSuccess(), MSCFModel::maximumSafeFollowSpeed(), MSVehicle::planMoveInternal(), MSLane::pWagGenericInsertion(), MSLane::pWagSimpleInsertion(), MSLCM_JE2013::saveBlockerLength(), and MSLCM_LC2013::saveBlockerLength().
|
inlinestaticinherited |
Definition at line 237 of file MSCFModel.h.
References ACCEL2SPEED, SPEED2DIST, and SUMOReal.
|
inlinevirtualinherited |
Returns model specific values which are stored inside a vehicle and must be used with casting.
Reimplemented in MSCFModel_SmartSK, MSCFModel_IDM, MSCFModel_Wiedemann, MSCFModel_PWag2009, and MSCFModel_Kerner.
Definition at line 167 of file MSCFModel.h.
Referenced by MSVehicle::MSVehicle().
|
virtual |
Duplicates the car-following model.
[in] | vtype | The vehicle type this model belongs to (1:1) |
Reimplemented from MSCFModel_Krauss.
Definition at line 66 of file MSCFModel_KraussPS.cpp.
References MSCFModel_KraussPS(), MSCFModel::myAccel, MSCFModel_KraussOrig1::myDawdle, MSCFModel::myDecel, and MSCFModel::myHeadwayTime.
|
virtualinherited |
Computes the vehicle's safe speed (no dawdling) this uses the maximumSafeFollowSpeed.
[in] | veh | The vehicle (EGO) |
[in] | speed | The vehicle's speed |
[in] | gap2pred | The (netto) distance to the LEADER |
[in] | predSpeed | The speed of LEADER |
Implements MSCFModel.
Definition at line 62 of file MSCFModel_Krauss.cpp.
References MSCFModel::maximumSafeFollowSpeed(), MSCFModel::maxNextSpeed(), and MIN2().
|
virtualinherited |
Computes the vehicle's safe speed without a leader.
Returns the velocity of the vehicle in dependence to the length of the free street and the target velocity at the end of the free range. If onInsertion is true, the vehicle may still brake before the next movement.
[in] | veh | The vehicle (EGO) |
[in] | speed | The vehicle's speed |
[in] | seen | The look ahead distance |
[in] | maxSpeed | The maximum allowed speed |
[in] | onInsertion | whether speed at insertion is asked for |
Definition at line 92 of file MSCFModel.cpp.
References MSCFModel::myDecel.
Referenced by MSLane::isInsertionSuccess(), and MSVehicle::planMoveInternal().
|
inlinestaticinherited |
Definition at line 246 of file MSCFModel.h.
References ACCEL2DIST, ACCEL2SPEED, DIST2SPEED, MAX2(), SPEED2DIST, and SUMOReal.
|
inlinevirtualinherited |
Get the driver's reaction time [s].
Definition at line 203 of file MSCFModel.h.
References MSCFModel::myHeadwayTime.
Referenced by MSVehicle::checkRewindLinkLanes(), MSVehicle::executeMove(), TraCIServerAPI_VehicleType::getVariable(), MSLane::maxSpeedGapInsertion(), MSVehicle::planMoveInternal(), MSLane::pWagSimpleInsertion(), and MSCalibrator::remainingVehicleCapacity().
|
inlinevirtualinherited |
Get the driver's imperfection.
Reimplemented from MSCFModel.
Definition at line 120 of file MSCFModel_KraussOrig1.h.
References MSCFModel_KraussOrig1::myDawdle.
|
inlineinherited |
Get the vehicle type's maximum acceleration [m/s^2].
Definition at line 176 of file MSCFModel.h.
References MSCFModel::myAccel.
Referenced by MSVehicle::estimateLeaveSpeed(), TraCIServerAPI_VehicleType::getVariable(), maxNextSpeed(), MSCFModel::maxNextSpeed(), MSVehicle::planMoveInternal(), and MSMeanData_Emissions::MSLaneMeanDataValues::write().
|
inlineinherited |
Get the vehicle type's maximum deceleration [m/s^2].
Definition at line 184 of file MSCFModel.h.
References MSCFModel::myDecel.
Referenced by MSLCM_JE2013::_wantsChange(), MSLCM_LC2013::_wantsChange(), MSLaneChanger::checkChange(), MSVehicle::checkRewindLinkLanes(), MSVehicle::executeMove(), MSLane::freeInsertion(), MSLane::getCriticalLeader(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getRealFollower(), TraCIServerAPI_VehicleType::getVariable(), MSLCM_DK2008::informBlocker(), MSLCM_JE2013::informFollower(), MSLCM_LC2013::informFollower(), MSLCM_JE2013::informLeader(), MSLCM_LC2013::informLeader(), MSLane::isInsertionSuccess(), MSLane::maxSpeedGapInsertion(), MSLink::maybeOccupied(), MSVehicle::planMoveInternal(), MSLane::pWagGenericInsertion(), MSLCM_JE2013::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), GUIVehicle::selectBlockingFoes(), MSLCM_JE2013::slowDownForBlocked(), MSLCM_LC2013::slowDownForBlocked(), MSVehicleControl::vehicleDeparted(), MSLCM_DK2008::wantsChangeToLeft(), and MSLCM_DK2008::wantsChangeToRight().
|
inlinevirtual |
Returns the model's name.
Reimplemented from MSCFModel_Krauss.
Definition at line 84 of file MSCFModel_KraussPS.h.
References SUMO_TAG_CF_KRAUSS_PLUS_SLOPE.
|
inlineinherited |
Returns the minimum gap to reserve if the leader is braking at maximum.
[in] | speed | EGO's speed |
[in] | leaderSpeed | LEADER's speed |
[in] | leaderMaxDecel | LEADER's max. deceleration rate |
Definition at line 270 of file MSCFModel.h.
References MSCFModel::brakeGap(), MAX2(), MIN2(), MSCFModel::myDecel, MSCFModel::myHeadwayTime, and SUMOReal.
Referenced by MSLCM_JE2013::_wantsChange(), MSLCM_LC2013::_wantsChange(), MSLaneChanger::checkChange(), MSLane::freeInsertion(), MSLane::getMissingRearGap(), MSLCM_DK2008::informBlocker(), MSLCM_JE2013::informFollower(), MSLCM_LC2013::informFollower(), MSLCM_JE2013::informLeader(), MSLCM_LC2013::informLeader(), and MSLane::isInsertionSuccess().
Returns the velocity after maximum deceleration.
[in] | v | The velocity |
Definition at line 283 of file MSCFModel.h.
References ACCEL2SPEED, MAX2(), MSCFModel::myDecel, and SUMOReal.
Referenced by MSCFModel_SmartSK::followSpeed(), MSCFModel_Daniel1::moveHelper(), MSCFModel_KraussOrig1::moveHelper(), MSCFModel_SmartSK::moveHelper(), MSCFModel::moveHelper(), MSVehicle::planMoveInternal(), MSCFModel_SmartSK::stopSpeed(), and MSCFModel_Wiedemann::stopSpeed().
|
virtualinherited |
Computes the vehicle's safe speed (no dawdling) This method is used during the insertion stage. Whereas the method followSpeed returns the desired speed which may be lower than the safe speed, this method only considers safety constraints.
Returns the velocity of the vehicle in dependence to the vehicle's and its leader's values and the distance between them.
[in] | veh | The vehicle (EGO) |
[in] | speed | The vehicle's speed |
[in] | gap2pred | The (netto) distance to the LEADER |
[in] | predSpeed | The speed of LEADER |
Reimplemented from MSCFModel.
Definition at line 82 of file MSCFModel_KraussOrig1.cpp.
References MSCFModel_KraussOrig1::followSpeed().
|
virtualinherited |
Returns the maximum gap at which an interaction between both vehicles occurs.
"interaction" means that the LEADER influences EGO's speed.
[in] | veh | The EGO vehicle |
[in] | vL | LEADER's speed |
Reimplemented in MSCFModel_IDM, and MSCFModel_Wiedemann.
Definition at line 71 of file MSCFModel.cpp.
References MSVehicle::getLane(), MSVehicle::getSpeed(), MSLane::getVehicleMaxSpeed(), MAX2(), MSCFModel::maxNextSpeed(), MIN2(), MSCFModel::myDecel, MSCFModel::myHeadwayTime, SPEED2DIST, and SUMOReal.
Referenced by MSAbstractLaneChangeModel::predInteraction().
|
protectedinherited |
Returns the maximum safe velocity for following the given leader.
[in] | gap2pred | The (netto) distance to the LEADER |
[in] | predSpeed | The LEADER's speed |
[in] | predMaxDecel | The LEADER's maximum deceleration |
Returns the SK-vsafe.
Definition at line 134 of file MSCFModel.cpp.
References MSCFModel::brakeGap(), ISNAN(), MAX2(), MSCFModel::maximumSafeStopSpeed(), MSCFModel::myDecel, and SUMOReal.
Referenced by MSCFModel_Krauss::followSpeed(), and MSCFModel::insertionFollowSpeed().
Returns the maximum velocity for stopping within gap This depends stronlgy on the position update model.
[in] | gap | The (netto) distance to the LEADER |
Definition at line 105 of file MSCFModel.cpp.
References ACCEL2SPEED, MSCFModel::myDecel, MSCFModel::myHeadwayTime, NUMERICAL_EPS, SUMOReal, and TS.
Referenced by MSCFModel::maximumSafeFollowSpeed(), and MSCFModel_Krauss::stopSpeed().
|
virtual |
Returns the maximum speed given the current speed.
The implementation of this method must take into account the time step duration.
Justification: Due to air brake or other influences, the vehicle's next maximum speed may depend on the vehicle's current speed (given).
[in] | speed | The vehicle's current speed |
[in] | speed | The vehicle itself, for obtaining other values |
Reimplemented from MSCFModel.
Definition at line 55 of file MSCFModel_KraussPS.cpp.
References ACCEL2SPEED, DEG2RAD, MSCFModel::getMaxAccel(), MSVehicleType::getMaxSpeed(), MSVehicle::getSlope(), MAX2(), MIN2(), MSCFModel::myType, and SUMOReal.
|
virtualinherited |
Applies interaction with stops and lane changing model influences.
[in] | veh | The ego vehicle |
[in] | vPos | The possible velocity |
Reimplemented from MSCFModel.
Definition at line 55 of file MSCFModel_KraussOrig1.cpp.
References MSCFModel_KraussOrig1::dawdle(), MSVehicle::getLane(), MSVehicle::getLaneChangeModel(), MSVehicle::getSpeed(), MSCFModel::getSpeedAfterMaxDecel(), MSLane::getVehicleMaxSpeed(), MAX2(), MSCFModel::maxNextSpeed(), MIN2(), MIN3(), MSAbstractLaneChangeModel::patchSpeed(), MSVehicle::processNextStop(), and SUMOReal.
|
inlinevirtualinherited |
Sets a new value for driver reaction time [s].
[in] | headwayTime | The new driver reaction time (in s) |
Reimplemented from MSCFModel.
Definition at line 149 of file MSCFModel_KraussOrig1.h.
References MSCFModel::myDecel, MSCFModel::myHeadwayTime, and MSCFModel_KraussOrig1::myTauDecel.
|
inlinevirtualinherited |
Sets a new value for driver imperfection.
[in] | accel | The new driver imperfection |
Reimplemented from MSCFModel.
Definition at line 141 of file MSCFModel_KraussOrig1.h.
References MSCFModel_KraussOrig1::myDawdle.
|
inlinevirtualinherited |
Sets a new value for maximum acceleration [m/s^2].
[in] | accel | The new acceleration in m/s^2 |
Definition at line 295 of file MSCFModel.h.
References MSCFModel::myAccel.
Referenced by TraCIServerAPI_VehicleType::setVariable().
|
inlinevirtualinherited |
Sets a new value for maximum deceleration [m/s^2].
[in] | accel | The new deceleration in m/s^2 |
Reimplemented from MSCFModel.
Definition at line 132 of file MSCFModel_KraussOrig1.h.
References MSCFModel::myDecel, MSCFModel::myHeadwayTime, and MSCFModel_KraussOrig1::myTauDecel.
|
virtualinherited |
Computes the vehicle's safe speed for approaching a non-moving obstacle (no dawdling) this uses the maximumSafeStopSpeed.
[in] | veh | The vehicle (EGO) |
[in] | gap2pred | The (netto) distance to the the obstacle |
Reimplemented from MSCFModel_KraussOrig1.
Definition at line 56 of file MSCFModel_Krauss.cpp.
References MSCFModel::maximumSafeStopSpeed(), MSCFModel::maxNextSpeed(), and MIN2().
|
protectedinherited |
The vehicle's maximum acceleration [m/s^2].
Definition at line 345 of file MSCFModel.h.
Referenced by MSCFModel_Kerner::_v(), MSCFModel_Wiedemann::_v(), MSCFModel_IDM::_v(), MSCFModel_Krauss::dawdle(), MSCFModel_Daniel1::dawdle(), MSCFModel_SmartSK::dawdle(), MSCFModel_KraussOrig1::dawdle(), MSCFModel_KraussAccelBound::duplicate(), duplicate(), MSCFModel_Krauss::duplicate(), MSCFModel_Kerner::duplicate(), MSCFModel_PWag2009::duplicate(), MSCFModel_Wiedemann::duplicate(), MSCFModel_IDM::duplicate(), MSCFModel_Daniel1::duplicate(), MSCFModel_SmartSK::duplicate(), MSCFModel_KraussOrig1::duplicate(), MSCFModel_PWag2009::followSpeed(), MSCFModel_Wiedemann::fullspeed(), MSCFModel::getMaxAccel(), MSCFModel_IDM::interactionGap(), MSCFModel_SmartSK::MSCFModel_SmartSK(), MSCFModel::setMaxAccel(), and MSCFModel_PWag2009::stopSpeed().
|
protectedinherited |
The vehicle's dawdle-parameter. 0 for no dawdling, 1 for max.
Definition at line 180 of file MSCFModel_KraussOrig1.h.
Referenced by MSCFModel_Krauss::dawdle(), MSCFModel_KraussOrig1::dawdle(), MSCFModel_KraussAccelBound::duplicate(), duplicate(), MSCFModel_Krauss::duplicate(), MSCFModel_KraussOrig1::duplicate(), MSCFModel_KraussOrig1::getImperfection(), and MSCFModel_KraussOrig1::setImperfection().
|
protectedinherited |
The vehicle's maximum deceleration [m/s^2].
Definition at line 348 of file MSCFModel.h.
Referenced by MSCFModel_Kerner::_v(), MSCFModel_Wiedemann::_v(), MSCFModel_Daniel1::_vsafe(), MSCFModel_SmartSK::_vsafe(), MSCFModel::brakeGap(), MSCFModel_KraussAccelBound::duplicate(), duplicate(), MSCFModel_Krauss::duplicate(), MSCFModel_Kerner::duplicate(), MSCFModel_PWag2009::duplicate(), MSCFModel_Wiedemann::duplicate(), MSCFModel_IDM::duplicate(), MSCFModel_Daniel1::duplicate(), MSCFModel_SmartSK::duplicate(), MSCFModel_KraussOrig1::duplicate(), MSCFModel_Wiedemann::emergency(), MSCFModel_PWag2009::followSpeed(), MSCFModel::freeSpeed(), MSCFModel::getMaxDecel(), MSCFModel::getSecureGap(), MSCFModel::getSpeedAfterMaxDecel(), MSCFModel_IDM::interactionGap(), MSCFModel::interactionGap(), MSCFModel_Wiedemann::krauss_vsafe(), MSCFModel::maximumSafeFollowSpeed(), MSCFModel::maximumSafeStopSpeed(), MSCFModel_SmartSK::MSCFModel_SmartSK(), MSCFModel_Daniel1::setHeadwayTime(), MSCFModel_SmartSK::setHeadwayTime(), MSCFModel_KraussOrig1::setHeadwayTime(), MSCFModel_Daniel1::setMaxDecel(), MSCFModel_SmartSK::setMaxDecel(), MSCFModel_KraussOrig1::setMaxDecel(), MSCFModel::setMaxDecel(), MSCFModel_PWag2009::stopSpeed(), and MSCFModel_KraussOrig1::vsafe().
|
protectedinherited |
The driver's desired time headway (aka reaction time tau) [s].
Definition at line 351 of file MSCFModel.h.
Referenced by MSCFModel_IDM::_v(), MSCFModel::brakeGap(), MSCFModel_SmartSK::createVehicleVariables(), MSCFModel_KraussAccelBound::duplicate(), duplicate(), MSCFModel_Krauss::duplicate(), MSCFModel_Kerner::duplicate(), MSCFModel_PWag2009::duplicate(), MSCFModel_IDM::duplicate(), MSCFModel_Daniel1::duplicate(), MSCFModel_SmartSK::duplicate(), MSCFModel_KraussOrig1::duplicate(), MSCFModel_PWag2009::followSpeed(), MSCFModel::getHeadwayTime(), MSCFModel::getSecureGap(), MSCFModel::interactionGap(), MSCFModel_Wiedemann::krauss_vsafe(), MSCFModel::maximumSafeStopSpeed(), MSCFModel_Daniel1::setHeadwayTime(), MSCFModel_SmartSK::setHeadwayTime(), MSCFModel_KraussOrig1::setHeadwayTime(), MSCFModel::setHeadwayTime(), MSCFModel_Daniel1::setMaxDecel(), MSCFModel_SmartSK::setMaxDecel(), MSCFModel_KraussOrig1::setMaxDecel(), MSCFModel_PWag2009::stopSpeed(), and MSCFModel_SmartSK::updateMyHeadway().
|
protectedinherited |
The precomputed value for myDecel*myTau.
Definition at line 183 of file MSCFModel_KraussOrig1.h.
Referenced by MSCFModel_KraussOrig1::setHeadwayTime(), MSCFModel_KraussOrig1::setMaxDecel(), and MSCFModel_KraussOrig1::vsafe().
|
protectedinherited |
The type to which this model definition belongs to.
Definition at line 342 of file MSCFModel.h.
Referenced by MSCFModel_Wiedemann::_v(), MSCFModel_IDM::_v(), MSCFModel_IDM::desiredSpeed(), maxNextSpeed(), and MSCFModel::maxNextSpeed().