Eclipse SUMO - Simulation of Urban MObility
|
An encounter is an episode involving two vehicles, which are closer to each other than some specified distance. More...
Data Structures | |
struct | compare |
Compares encounters regarding to their start time. More... | |
struct | ConflictPointInfo |
ConflictPointInfo stores some information on a specific conflict point (used to store information on ssm-extremal values) More... | |
struct | Trajectory |
A trajectory encloses a series of positions x and speeds v for one vehicle (the times are stored only once in the enclosing encounter) More... | |
Public Member Functions | |
void | add (double time, EncounterType type, Position egoX, std::string egoLane, double egoLanePos, Position egoV, Position foeX, std::string foeLane, double foeLanePos, Position foeV, Position conflictPoint, double egoDistToConflict, double foeDistToConflict, double ttc, double drac, std::pair< double, double > pet, double ppet, double mdrac) |
add a new data point and update encounter type | |
void | countDownExtraTime (double amount) |
decreases myRemaingExtraTime by given amount in seconds | |
Encounter (const MSVehicle *_ego, const MSVehicle *const _foe, double _begin, double extraTime) | |
Constructor. | |
double | getRemainingExtraTime () const |
returns the remaining extra time | |
void | resetExtraTime (double value) |
resets remainingExtraTime to the given value | |
std::size_t | size () const |
Returns the number of trajectory points stored. | |
~Encounter () | |
Destructor. | |
Data Fields | |
double | begin |
bool | closingRequested |
this flag is set by updateEncounter() or directly in processEncounters(), where encounters are closed if it is true. | |
PositionVector | conflictPointSpan |
Predicted location of the conflict: In case of MERGING and CROSSING: entry point to conflict area for follower In case of FOLLOWING: position of leader's back. | |
EncounterType | currentType |
std::vector< double > | DRACspan |
All values for DRAC. | |
const MSVehicle * | ego |
double | egoConflictEntryTime |
Times when the ego vehicle entered/left the conflict area. Currently only applies for crossing situations. Used for PET calculation. (May be defined for merge conflicts in the future) | |
double | egoConflictExitTime |
std::vector< double > | egoDistsToConflict |
Evolution of the ego vehicle's distance to the conflict point. | |
const std::string | egoID |
Trajectory | egoTrajectory |
Trajectory of the ego vehicle. | |
double | end |
const MSVehicle * | foe |
double | foeConflictEntryTime |
Times when the foe vehicle entered/left the conflict area. Currently only applies for crossing situations. Used for PET calculation. (May be defined for merge conflicts in the future) | |
double | foeConflictExitTime |
std::vector< double > | foeDistsToConflict |
Evolution of the foe vehicle's distance to the conflict point. | |
const std::string | foeID |
Trajectory | foeTrajectory |
Trajectory of the foe vehicle. | |
std::vector< double > | MDRACspan |
All values for MDRAC. | |
std::vector< double > | PPETspan |
All values for PPET. | |
double | remainingExtraTime |
Remaining extra time (decreases after an encounter ended) | |
std::vector< double > | timeSpan |
time points corresponding to the trajectories | |
std::vector< double > | TTCspan |
All values for TTC. | |
std::vector< int > | typeSpan |
Evolution of the encounter classification (. | |
Extremal values for the SSMs | |
ConflictPointInfo | minTTC |
ConflictPointInfo | maxDRAC |
ConflictPointInfo | maxMDRAC |
ConflictPointInfo | PET |
ConflictPointInfo | minPPET |
Private Member Functions | |
Encounter (const Encounter &) | |
Invalidated Constructor. | |
Encounter & | operator= (const Encounter &) |
Invalidated assignment operator. | |
An encounter is an episode involving two vehicles, which are closer to each other than some specified distance.
Definition at line 172 of file MSDevice_SSM.h.
MSDevice_SSM::Encounter::Encounter | ( | const MSVehicle * | _ego, |
const MSVehicle *const | _foe, | ||
double | _begin, | ||
double | extraTime | ||
) |
Constructor.
Definition at line 359 of file MSDevice_SSM.cpp.
References ego, foe, Named::getID(), and SIMTIME.
MSDevice_SSM::Encounter::~Encounter | ( | ) |
|
private |
Invalidated Constructor.
void MSDevice_SSM::Encounter::add | ( | double | time, |
EncounterType | type, | ||
Position | egoX, | ||
std::string | egoLane, | ||
double | egoLanePos, | ||
Position | egoV, | ||
Position | foeX, | ||
std::string | foeLane, | ||
double | foeLanePos, | ||
Position | foeV, | ||
Position | conflictPoint, | ||
double | egoDistToConflict, | ||
double | foeDistToConflict, | ||
double | ttc, | ||
double | drac, | ||
std::pair< double, double > | pet, | ||
double | ppet, | ||
double | mdrac | ||
) |
add a new data point and update encounter type
Definition at line 395 of file MSDevice_SSM.cpp.
References Position::distanceTo(), MSDevice_SSM::ENCOUNTER_TYPE_COLLISION, INVALID_DOUBLE, and toString().
Referenced by MSDevice_SSM::updateEncounter().
void MSDevice_SSM::Encounter::countDownExtraTime | ( | double | amount | ) |
decreases myRemaingExtraTime by given amount in seconds
Definition at line 475 of file MSDevice_SSM.cpp.
Referenced by MSDevice_SSM::updatePassedEncounter().
double MSDevice_SSM::Encounter::getRemainingExtraTime | ( | ) | const |
returns the remaining extra time
Definition at line 481 of file MSDevice_SSM.cpp.
Referenced by MSDevice_SSM::processEncounters(), and MSDevice_SSM::updatePassedEncounter().
Invalidated assignment operator.
void MSDevice_SSM::Encounter::resetExtraTime | ( | double | value | ) |
resets remainingExtraTime to the given value
Definition at line 469 of file MSDevice_SSM.cpp.
Referenced by MSDevice_SSM::updateEncounter(), and MSDevice_SSM::updatePassedEncounter().
|
inline |
Returns the number of trajectory points stored.
Definition at line 218 of file MSDevice_SSM.h.
References timeSpan.
Referenced by MSDevice_SSM::checkConflictEntryAndExit(), MSDevice_SSM::closeEncounter(), MSDevice_SSM::determineConflictPoint(), MSDevice_SSM::determinePET(), and MSDevice_SSM::updateEncounter().
double MSDevice_SSM::Encounter::begin |
Definition at line 248 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::createEncounters(), MSDevice_SSM::flushConflicts(), MSDevice_SSM::Encounter::compare::operator()(), MSDevice_SSM::processEncounters(), and MSDevice_SSM::writeOutConflict().
bool MSDevice_SSM::Encounter::closingRequested |
this flag is set by updateEncounter() or directly in processEncounters(), where encounters are closed if it is true.
Definition at line 300 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::processEncounters(), and MSDevice_SSM::updatePassedEncounter().
PositionVector MSDevice_SSM::Encounter::conflictPointSpan |
Predicted location of the conflict: In case of MERGING and CROSSING: entry point to conflict area for follower In case of FOLLOWING: position of leader's back.
Definition at line 275 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::determineConflictPoint(), and MSDevice_SSM::writeOutConflict().
EncounterType MSDevice_SSM::Encounter::currentType |
Definition at line 249 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::checkConflictEntryAndExit(), MSDevice_SSM::processEncounters(), and MSDevice_SSM::updateEncounter().
std::vector<double> MSDevice_SSM::Encounter::DRACspan |
All values for DRAC.
Definition at line 280 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::writeOutConflict().
const MSVehicle* MSDevice_SSM::Encounter::ego |
Definition at line 244 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::checkConflictEntryAndExit(), MSDevice_SSM::classifyEncounter(), MSDevice_SSM::closeEncounter(), MSDevice_SSM::computeDRAC(), MSDevice_SSM::computeSSMs(), MSDevice_SSM::determineConflictPoint(), MSDevice_SSM::determineTTCandDRACandPPETandMDRAC(), Encounter(), MSDevice_SSM::estimateConflictTimes(), MSDevice_SSM::updateEncounter(), and MSDevice_SSM::updatePassedEncounter().
double MSDevice_SSM::Encounter::egoConflictEntryTime |
Times when the ego vehicle entered/left the conflict area. Currently only applies for crossing situations. Used for PET calculation. (May be defined for merge conflicts in the future)
Definition at line 255 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::checkConflictEntryAndExit(), and MSDevice_SSM::determinePET().
double MSDevice_SSM::Encounter::egoConflictExitTime |
Definition at line 255 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::checkConflictEntryAndExit(), MSDevice_SSM::determinePET(), and MSDevice_SSM::determineTTCandDRACandPPETandMDRAC().
std::vector<double> MSDevice_SSM::Encounter::egoDistsToConflict |
Evolution of the ego vehicle's distance to the conflict point.
Definition at line 268 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::determinePET(), and MSDevice_SSM::updatePassedEncounter().
const std::string MSDevice_SSM::Encounter::egoID |
Definition at line 246 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::checkConflictEntryAndExit(), MSDevice_SSM::closeEncounter(), MSDevice_SSM::computeSSMs(), MSDevice_SSM::determineConflictPoint(), MSDevice_SSM::determinePET(), MSDevice_SSM::determineTTCandDRACandPPETandMDRAC(), MSDevice_SSM::estimateConflictTimes(), MSDevice_SSM::qualifiesAsConflict(), MSDevice_SSM::updateEncounter(), MSDevice_SSM::updatePassedEncounter(), and MSDevice_SSM::writeOutConflict().
Trajectory MSDevice_SSM::Encounter::egoTrajectory |
Trajectory of the ego vehicle.
Definition at line 264 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::writeOutConflict().
double MSDevice_SSM::Encounter::end |
Definition at line 248 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::closeEncounter(), and MSDevice_SSM::writeOutConflict().
const MSVehicle* MSDevice_SSM::Encounter::foe |
Definition at line 245 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::checkConflictEntryAndExit(), MSDevice_SSM::classifyEncounter(), MSDevice_SSM::closeEncounter(), MSDevice_SSM::computeDRAC(), MSDevice_SSM::computeSSMs(), MSDevice_SSM::determineConflictPoint(), MSDevice_SSM::determineTTCandDRACandPPETandMDRAC(), Encounter(), MSDevice_SSM::estimateConflictTimes(), MSDevice_SSM::processEncounters(), MSDevice_SSM::updateEncounter(), and MSDevice_SSM::updatePassedEncounter().
double MSDevice_SSM::Encounter::foeConflictEntryTime |
Times when the foe vehicle entered/left the conflict area. Currently only applies for crossing situations. Used for PET calculation. (May be defined for merge conflicts in the future)
Definition at line 257 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::checkConflictEntryAndExit(), and MSDevice_SSM::determinePET().
double MSDevice_SSM::Encounter::foeConflictExitTime |
Definition at line 257 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::checkConflictEntryAndExit(), MSDevice_SSM::determinePET(), and MSDevice_SSM::determineTTCandDRACandPPETandMDRAC().
std::vector<double> MSDevice_SSM::Encounter::foeDistsToConflict |
Evolution of the foe vehicle's distance to the conflict point.
Definition at line 270 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::determinePET(), and MSDevice_SSM::updatePassedEncounter().
const std::string MSDevice_SSM::Encounter::foeID |
Definition at line 247 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::checkConflictEntryAndExit(), MSDevice_SSM::closeEncounter(), MSDevice_SSM::computeSSMs(), MSDevice_SSM::determineConflictPoint(), MSDevice_SSM::determinePET(), MSDevice_SSM::determineTTCandDRACandPPETandMDRAC(), MSDevice_SSM::estimateConflictTimes(), MSDevice_SSM::Encounter::compare::operator()(), MSDevice_SSM::processEncounters(), MSDevice_SSM::qualifiesAsConflict(), MSDevice_SSM::updateEncounter(), MSDevice_SSM::updatePassedEncounter(), and MSDevice_SSM::writeOutConflict().
Trajectory MSDevice_SSM::Encounter::foeTrajectory |
Trajectory of the foe vehicle.
Definition at line 266 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::writeOutConflict().
ConflictPointInfo MSDevice_SSM::Encounter::maxDRAC |
Definition at line 293 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::qualifiesAsConflict(), and MSDevice_SSM::writeOutConflict().
ConflictPointInfo MSDevice_SSM::Encounter::maxMDRAC |
Definition at line 294 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::qualifiesAsConflict(), and MSDevice_SSM::writeOutConflict().
std::vector<double> MSDevice_SSM::Encounter::MDRACspan |
All values for MDRAC.
Definition at line 282 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::writeOutConflict().
ConflictPointInfo MSDevice_SSM::Encounter::minPPET |
Definition at line 296 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::qualifiesAsConflict(), and MSDevice_SSM::writeOutConflict().
ConflictPointInfo MSDevice_SSM::Encounter::minTTC |
Definition at line 292 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::qualifiesAsConflict(), and MSDevice_SSM::writeOutConflict().
ConflictPointInfo MSDevice_SSM::Encounter::PET |
Definition at line 295 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::determinePET(), MSDevice_SSM::qualifiesAsConflict(), and MSDevice_SSM::writeOutConflict().
std::vector<double> MSDevice_SSM::Encounter::PPETspan |
All values for PPET.
Definition at line 284 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::writeOutConflict().
double MSDevice_SSM::Encounter::remainingExtraTime |
Remaining extra time (decreases after an encounter ended)
Definition at line 252 of file MSDevice_SSM.h.
std::vector<double> MSDevice_SSM::Encounter::timeSpan |
time points corresponding to the trajectories
Definition at line 260 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::closeEncounter(), size(), and MSDevice_SSM::writeOutConflict().
std::vector<double> MSDevice_SSM::Encounter::TTCspan |
All values for TTC.
Definition at line 278 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::writeOutConflict().
std::vector<int> MSDevice_SSM::Encounter::typeSpan |
Evolution of the encounter classification (.
Definition at line 262 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::classifyEncounter(), MSDevice_SSM::determinePET(), MSDevice_SSM::flushConflicts(), MSDevice_SSM::updatePassedEncounter(), and MSDevice_SSM::writeOutConflict().