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;
133 double _v(
const MSVehicle*
const veh,
const double gap2pred,
const double mySpeed,
134 const double predSpeed,
const double desSpeed,
const bool respectMinGap =
true)
const;
138 const double speed,
const double predSpeed,
const double desSpeed,
double vErr)
const;
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 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.
~MSCFModel_CACC()
Destructor.
double _v(const MSVehicle *const veh, const double gap2pred, const double mySpeed, const double predSpeed, const double desSpeed, const bool respectMinGap=true) const
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 speedGapControl(const MSVehicle *const veh, const double gap2pred, const double speed, const double predSpeed, const double desSpeed, double vErr) const
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) ...