![]() |
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, Position egoV, Position foeX, Position foeV, Position conflictPoint, double egoDistToConflict, double foeDistToConflict, double ttc, double drac, std::pair< double, double > pet) |
add a new data point and update encounter type More... | |
void | countDownExtraTime (double amount) |
decreases myRemaingExtraTime by given amount in seconds More... | |
Encounter (const MSVehicle *_ego, const MSVehicle *const _foe, double _begin, double extraTime) | |
Constructor. More... | |
double | getRemainingExtraTime () const |
returns the remaining extra time More... | |
void | resetExtraTime (double value) |
resets remainingExtraTime to the given value More... | |
std::size_t | size () const |
Returns the number of trajectory points stored. More... | |
~Encounter () | |
Destructor. More... | |
Data Fields | |
double | begin |
bool | closingRequested |
this flag is set by updateEncounter() or directly in processEncounters(), where encounters are closed if it is true. More... | |
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. More... | |
EncounterType | currentType |
std::vector< double > | DRACspan |
All values for DRAC. More... | |
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) More... | |
double | egoConflictExitTime |
std::vector< double > | egoDistsToConflict |
Evolution of the ego vehicle's distance to the conflict point. More... | |
const std::string | egoID |
Trajectory | egoTrajectory |
Trajectory of the ego vehicle. More... | |
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) More... | |
double | foeConflictExitTime |
std::vector< double > | foeDistsToConflict |
Evolution of the foe vehicle's distance to the conflict point. More... | |
const std::string | foeID |
Trajectory | foeTrajectory |
Trajectory of the foe vehicle. More... | |
double | remainingExtraTime |
Remaining extra time (decreases after an encounter ended) More... | |
std::vector< double > | timeSpan |
time points corresponding to the trajectories More... | |
std::vector< double > | TTCspan |
All values for TTC. More... | |
std::vector< int > | typeSpan |
Evolution of the encounter classification (. More... | |
Extremal values for the SSMs (as < <time,value>,Position>-pairs) | |
ConflictPointInfo | minTTC |
ConflictPointInfo | maxDRAC |
ConflictPointInfo | PET |
Private Member Functions | |
Encounter (const Encounter &) | |
Invalidated Constructor. More... | |
Encounter & | operator= (const Encounter &) |
Invalidated assignment operator. More... | |
An encounter is an episode involving two vehicles, which are closer to each other than some specified distance.
Definition at line 127 of file MSDevice_SSM.h.
MSDevice_SSM::Encounter::Encounter | ( | const MSVehicle * | _ego, |
const MSVehicle *const | _foe, | ||
double | _begin, | ||
double | extraTime | ||
) |
Constructor.
Definition at line 249 of file MSDevice_SSM.cpp.
References ego, foe, MSBaseVehicle::getID(), and SIMTIME.
Referenced by MSDevice_SSM::Encounter::ConflictPointInfo::ConflictPointInfo().
MSDevice_SSM::Encounter::~Encounter | ( | ) |
Destructor.
Definition at line 272 of file MSDevice_SSM.cpp.
References begin, egoID, foeID, and SIMTIME.
Referenced by MSDevice_SSM::Encounter::ConflictPointInfo::ConflictPointInfo().
|
private |
Invalidated Constructor.
void MSDevice_SSM::Encounter::add | ( | double | time, |
EncounterType | type, | ||
Position | egoX, | ||
Position | egoV, | ||
Position | foeX, | ||
Position | foeV, | ||
Position | conflictPoint, | ||
double | egoDistToConflict, | ||
double | foeDistToConflict, | ||
double | ttc, | ||
double | drac, | ||
std::pair< double, double > | pet | ||
) |
add a new data point and update encounter type
Definition at line 281 of file MSDevice_SSM.cpp.
References conflictPointSpan, currentType, DRACspan, egoDistsToConflict, egoID, egoTrajectory, foeDistsToConflict, foeID, foeTrajectory, INVALID, maxDRAC, minTTC, PET, MSDevice_SSM::Encounter::ConflictPointInfo::pos, MSDevice_SSM::Encounter::ConflictPointInfo::time, timeSpan, toString(), TTCspan, MSDevice_SSM::Encounter::ConflictPointInfo::type, typeSpan, MSDevice_SSM::Encounter::Trajectory::v, MSDevice_SSM::Encounter::ConflictPointInfo::value, and MSDevice_SSM::Encounter::Trajectory::x.
Referenced by MSDevice_SSM::Encounter::ConflictPointInfo::ConflictPointInfo(), and MSDevice_SSM::updateEncounter().
void MSDevice_SSM::Encounter::countDownExtraTime | ( | double | amount | ) |
decreases myRemaingExtraTime by given amount in seconds
Definition at line 336 of file MSDevice_SSM.cpp.
References remainingExtraTime.
Referenced by size(), and MSDevice_SSM::updatePassedEncounter().
double MSDevice_SSM::Encounter::getRemainingExtraTime | ( | ) | const |
returns the remaining extra time
Definition at line 342 of file MSDevice_SSM.cpp.
References remainingExtraTime.
Referenced by MSDevice_SSM::processEncounters(), size(), and MSDevice_SSM::updatePassedEncounter().
Invalidated assignment operator.
void MSDevice_SSM::Encounter::resetExtraTime | ( | double | value | ) |
resets remainingExtraTime to the given value
Definition at line 330 of file MSDevice_SSM.cpp.
References remainingExtraTime.
Referenced by size(), MSDevice_SSM::updateEncounter(), and MSDevice_SSM::updatePassedEncounter().
|
inline |
Returns the number of trajectory points stored.
Definition at line 166 of file MSDevice_SSM.h.
References countDownExtraTime(), getRemainingExtraTime(), resetExtraTime(), and timeSpan.
Referenced by MSDevice_SSM::determinePET().
double MSDevice_SSM::Encounter::begin |
Definition at line 192 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::createEncounters(), MSDevice_SSM::flushConflicts(), MSDevice_SSM::Encounter::compare::operator()(), MSDevice_SSM::processEncounters(), MSDevice_SSM::writeOutConflict(), and ~Encounter().
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 238 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 219 of file MSDevice_SSM.h.
Referenced by add(), MSDevice_SSM::determineConflictPoint(), and MSDevice_SSM::writeOutConflict().
EncounterType MSDevice_SSM::Encounter::currentType |
Definition at line 193 of file MSDevice_SSM.h.
Referenced by add(), and MSDevice_SSM::checkConflictEntryAndExit().
std::vector<double> MSDevice_SSM::Encounter::DRACspan |
All values for DRAC.
Definition at line 224 of file MSDevice_SSM.h.
Referenced by add(), and MSDevice_SSM::writeOutConflict().
const MSVehicle* MSDevice_SSM::Encounter::ego |
Definition at line 188 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::determineTTCandDRAC(), 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 199 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::checkConflictEntryAndExit(), and MSDevice_SSM::determinePET().
double MSDevice_SSM::Encounter::egoConflictExitTime |
Definition at line 199 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::checkConflictEntryAndExit(), and MSDevice_SSM::determinePET().
std::vector<double> MSDevice_SSM::Encounter::egoDistsToConflict |
Evolution of the ego vehicle's distance to the conflict point.
Definition at line 212 of file MSDevice_SSM.h.
Referenced by add(), MSDevice_SSM::determinePET(), and MSDevice_SSM::updatePassedEncounter().
const std::string MSDevice_SSM::Encounter::egoID |
Definition at line 190 of file MSDevice_SSM.h.
Referenced by add(), MSDevice_SSM::checkConflictEntryAndExit(), MSDevice_SSM::closeEncounter(), MSDevice_SSM::computeSSMs(), MSDevice_SSM::determinePET(), MSDevice_SSM::determineTTCandDRAC(), MSDevice_SSM::estimateConflictTimes(), MSDevice_SSM::qualifiesAsConflict(), MSDevice_SSM::updateEncounter(), MSDevice_SSM::updatePassedEncounter(), MSDevice_SSM::writeOutConflict(), and ~Encounter().
Trajectory MSDevice_SSM::Encounter::egoTrajectory |
Trajectory of the ego vehicle.
Definition at line 208 of file MSDevice_SSM.h.
Referenced by add(), and MSDevice_SSM::writeOutConflict().
double MSDevice_SSM::Encounter::end |
Definition at line 192 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::closeEncounter(), and MSDevice_SSM::writeOutConflict().
const MSVehicle* MSDevice_SSM::Encounter::foe |
Definition at line 189 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::determineTTCandDRAC(), MSDevice_SSM::deviceName(), 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 201 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::checkConflictEntryAndExit(), and MSDevice_SSM::determinePET().
double MSDevice_SSM::Encounter::foeConflictExitTime |
Definition at line 201 of file MSDevice_SSM.h.
Referenced by MSDevice_SSM::checkConflictEntryAndExit(), and MSDevice_SSM::determinePET().
std::vector<double> MSDevice_SSM::Encounter::foeDistsToConflict |
Evolution of the foe vehicle's distance to the conflict point.
Definition at line 214 of file MSDevice_SSM.h.
Referenced by add(), MSDevice_SSM::determinePET(), and MSDevice_SSM::updatePassedEncounter().
const std::string MSDevice_SSM::Encounter::foeID |
Definition at line 191 of file MSDevice_SSM.h.
Referenced by add(), MSDevice_SSM::checkConflictEntryAndExit(), MSDevice_SSM::closeEncounter(), MSDevice_SSM::computeSSMs(), MSDevice_SSM::determinePET(), MSDevice_SSM::determineTTCandDRAC(), MSDevice_SSM::estimateConflictTimes(), MSDevice_SSM::processEncounters(), MSDevice_SSM::qualifiesAsConflict(), MSDevice_SSM::updateEncounter(), MSDevice_SSM::updatePassedEncounter(), MSDevice_SSM::writeOutConflict(), and ~Encounter().
Trajectory MSDevice_SSM::Encounter::foeTrajectory |
Trajectory of the foe vehicle.
Definition at line 210 of file MSDevice_SSM.h.
Referenced by add(), and MSDevice_SSM::writeOutConflict().
ConflictPointInfo MSDevice_SSM::Encounter::maxDRAC |
Definition at line 233 of file MSDevice_SSM.h.
Referenced by add(), MSDevice_SSM::qualifiesAsConflict(), and MSDevice_SSM::writeOutConflict().
ConflictPointInfo MSDevice_SSM::Encounter::minTTC |
Definition at line 232 of file MSDevice_SSM.h.
Referenced by add(), MSDevice_SSM::qualifiesAsConflict(), and MSDevice_SSM::writeOutConflict().
ConflictPointInfo MSDevice_SSM::Encounter::PET |
Definition at line 234 of file MSDevice_SSM.h.
Referenced by add(), MSDevice_SSM::determinePET(), MSDevice_SSM::qualifiesAsConflict(), and MSDevice_SSM::writeOutConflict().
double MSDevice_SSM::Encounter::remainingExtraTime |
Remaining extra time (decreases after an encounter ended)
Definition at line 196 of file MSDevice_SSM.h.
Referenced by countDownExtraTime(), getRemainingExtraTime(), and resetExtraTime().
std::vector<double> MSDevice_SSM::Encounter::timeSpan |
time points corresponding to the trajectories
Definition at line 204 of file MSDevice_SSM.h.
Referenced by add(), MSDevice_SSM::checkConflictEntryAndExit(), MSDevice_SSM::closeEncounter(), size(), and MSDevice_SSM::writeOutConflict().
std::vector<double> MSDevice_SSM::Encounter::TTCspan |
All values for TTC.
Definition at line 222 of file MSDevice_SSM.h.
Referenced by add(), and MSDevice_SSM::writeOutConflict().
std::vector<int> MSDevice_SSM::Encounter::typeSpan |
Evolution of the encounter classification (.
Definition at line 206 of file MSDevice_SSM.h.
Referenced by add(), MSDevice_SSM::classifyEncounter(), MSDevice_SSM::determinePET(), MSDevice_SSM::updatePassedEncounter(), and MSDevice_SSM::writeOutConflict().