24 #ifndef MSCFModel_CACC_H 25 #define MSCFModel_CACC_H 72 double followSpeed(
const MSVehicle*
const veh,
double speed,
double gap2pred,
double predSpeed,
double predMaxDecel,
const MSVehicle*
const pred = 0)
const;
82 double stopSpeed(
const MSVehicle*
const veh,
const double speed,
double gap2pred)
const;
90 double getSecureGap(
const double speed,
const double leaderSpeed,
const double leaderMaxDecel)
const;
150 double _v(
const MSVehicle*
const veh,
const MSVehicle*
const pred,
const double gap2pred,
const double mySpeed,
151 const double predSpeed,
const double desSpeed,
const bool respectMinGap =
true)
const;
155 const double speed,
const double predSpeed,
const double desSpeed,
double vErr,
double _v(const MSVehicle *const veh, const MSVehicle *const pred, const double gap2pred, const double mySpeed, const double predSpeed, const double desSpeed, const bool respectMinGap=true) const
double insertionFollowSpeed(const MSVehicle *const v, double speed, double gap2pred, double predSpeed, double predMaxDecel, const MSVehicle *const pred=0) const
Computes the vehicle's acceptable speed at insertion.
Representation of a vehicle in the micro simulation.
The car-following model abstraction.
int CACC_ControlMode
The vehicle's CACC precious time step gap error.
The CACC car-following model.
The car-following model and parameter.
MSCFModel * duplicate(const MSVehicleType *vtype) const
Duplicates the car-following model.
double myCollisionAvoidanceGainGapDot
double myGapClosingControlGainGapDot
double speedSpeedContol(const double speed, double vErr) const
double speedGapControl(const MSVehicle *const veh, const double gap2pred, const double speed, const double predSpeed, const double desSpeed, double vErr, const MSVehicle *const pred) const
double interactionGap(const MSVehicle *const, double vL) const
Returns the maximum gap at which an interaction between both vehicles occurs.
The ACC car-following model.
double myCollisionAvoidanceGainGap
MSCFModel_CACC & operator=(const MSCFModel_CACC &s)
Invalidated assignment operator.
double followSpeed(const MSVehicle *const veh, double speed, double gap2pred, double predSpeed, double predMaxDecel, const MSVehicle *const pred=0) const
Computes the vehicle's safe speed (no dawdling)
MSCFModel_CACC(const MSVehicleType *vtype)
Constructor.
double getSecureGap(const double speed, const double leaderSpeed, const double leaderMaxDecel) const
Returns the a gap such that the gap mode acceleration of the follower is zero.
~MSCFModel_CACC()
Destructor.
virtual MSCFModel::VehicleVariables * createVehicleVariables() const
Returns model specific values which are stored inside a vehicle and must be used with casting...
double myGapControlGainGap
int getModelID() const
Returns the model's name.
double myGapClosingControlGainGap
double mySpeedControlGain
double myGapControlGainGapDot
double stopSpeed(const MSVehicle *const veh, const double speed, double gap2pred) const
Computes the vehicle's safe speed for approaching a non-moving obstacle (no dawdling) ...