ICAROUS
|
Public Member Functions | |
TCAS3D () | |
TCAS3D (const TCASTable &tables) | |
TCASTable & | getTCASTable () |
void | setDefaultTCASIIThresholds (bool ra) |
void | setTCASTable (const TCASTable &tables) |
bool | TCASII_RA (const Vect3 &so, const Vect3 &vo, const Vect3 &si, const Vect3 &vi) const |
Triple< double, double, double > | RA3D_interval (int sl, const Vect2 &so2, double soz, const Vect2 &vo2, double voz, const Vect2 &si2, double siz, const Vect2 &vi2, double viz, double B, double T) const |
ConflictData | RA3D (const Vect3 &so, const Velocity &vo, const Vect3 &si, const Velocity &vi, double B, double T) const |
ConflictData | conflictDetection (const Vect3 &so, const Velocity &vo, const Vect3 &si, const Velocity &vi, double B, double T) const |
TCAS3D * | copy () const |
TCAS3D * | make () const |
virtual std::string | getSimpleClassName () const |
double | getTAU (int sl) const |
double | getTCOA (int sl) const |
double | getDMOD (int sl) const |
double | getDMOD (int sl, const std::string &u) const |
double | getZTHR (int sl) const |
double | getZTHR (int sl, const std::string &u) const |
double | getHMD (int sl) const |
double | getHMD (int sl, const std::string &u) const |
void | setTAU (int sl, double val) |
void | setTCOA (int sl, double val) |
void | setDMOD (int sl, double val) |
void | setDMOD (int sl, double val, const std::string &u) |
void | setZTHR (int sl, double val) |
void | setZTHR (int sl, double val, const std::string &u) |
void | setHMD (int sl, double val) |
void | setHMD (int sl, double val, const std::string &u) |
void | setHMDFilter (bool flag) |
bool | getHMDFilter () |
virtual std::string | toString () const |
virtual std::string | toPVS () const |
virtual std::string | getIdentifier () const |
virtual void | setIdentifier (const std::string &id) |
virtual bool | equals (Detection3D *d) const |
ParameterData | getParameters () const |
void | updateParameterData (ParameterData &p) const |
void | setParameters (const ParameterData &p) |
bool | contains (const Detection3D *cd) const |
virtual void | horizontalHazardZone (std::vector< Position > &haz, const TrafficState &ownship, const TrafficState &intruder, double T) const |
![]() | |
bool | violation (const Vect3 &so, const Velocity &vo, const Vect3 &si, const Velocity &vi) const |
bool | conflict (const Vect3 &so, const Velocity &vo, const Vect3 &si, const Velocity &vi, double B, double T) const |
bool | violationAtWithTrafficState (const TrafficState &ownship, const TrafficState &intruder, double t) const |
bool | conflictWithTrafficState (const TrafficState &ownship, const TrafficState &intruder, double B, double T) const |
virtual ConflictData | conflictDetectionWithTrafficState (const TrafficState &ownship, const TrafficState &intruder, double B, double T) const |
std::string | getCanonicalClassName () const |
std::string | getCanonicalSuperClassName () const |
virtual std::string | getSimpleSuperClassName () const |
bool | instanceOf (const std::string &classname) const |
void | horizontalContours (std::vector< std::vector< Position > > &blobs, const TrafficState &ownship, const TrafficState &intruder, double thr, double T) const |
Static Public Member Functions | |
static const TCAS3D & | A_TCAS3D () |
static const TCAS3D & | TCASII_RA () |
static const TCAS3D & | TCASII_TA () |
static TCAS3D | make_Empty () |
static TCAS3D | make_TCASII_RA () |
static TCAS3D | make_TCASII_TA () |
static bool | vertical_RA (double sz, double vz, double ZTHR, double TCOA) |
static bool | cd2d_TCAS_after (double HMD, Vect2 s, Vect2 vo, Vect2 vi, double t) |
static bool | cd2d_TCAS (double HMD, Vect2 s, Vect2 vo, Vect2 vi) |
Private Attributes | |
TCASTable | table_ |
std::string | id |
larcfm::TCAS3D::TCAS3D | ( | ) |
Constructor that uses the default TCAS tables.
|
explicit |
Constructor that specifies a particular instance of the TCAS tables.
|
virtual |
This functional call returns a ConflictData object detailing the conflict between times B and T from now (relative), if any.
so | ownship position |
vo | ownship velocity |
si | intruder position |
vi | intruder velocity |
D | horizontal separation |
H | vertical separation |
B | beginning of detection time (>=0) |
T | end of detection time (if T < 0 then use an "infinite" lookahead time) |
Implements larcfm::Detection3D.
|
virtual |
Implements larcfm::Detection3D.
|
virtual |
This returns a pointer to a new instance of this type of Detector3D. You are responsible for destroying this instance when it is no longer needed.
Implements larcfm::Detection3D.
|
virtual |
Return true if two instances have identical parameters (including identifiers). Use address equality (&x == &y) to distinguish instances. A generic implementation, assuming the identifier is included in the ParameterData object, would be virtual bool equals(Detection3D* o) const { if (!larcfmequals(getClassName(), o->getClassName())) return false; if (!getParameterData().equals(o->getParameterData())) return false; return true; }
Implements larcfm::Detection3D.
double larcfm::TCAS3D::getDMOD | ( | int | sl | ) | const |
Returns DMOD for sensitivity level sl in internal units.
double larcfm::TCAS3D::getDMOD | ( | int | sl, |
const std::string & | u | ||
) | const |
Returns DMOD for sensitivity level sl in u units.
double larcfm::TCAS3D::getHMD | ( | int | sl | ) | const |
Returns HMD for sensitivity level sl in internal units.
double larcfm::TCAS3D::getHMD | ( | int | sl, |
const std::string & | u | ||
) | const |
Returns HMD for sensitivity level sl in u units.
|
virtual |
Implements larcfm::Detection3D.
|
virtual |
Implements larcfm::ParameterProvider.
|
virtual |
Implements larcfm::Detection3D.
double larcfm::TCAS3D::getTAU | ( | int | sl | ) | const |
Returns TAU threshold for sensitivity level sl in seconds
TCASTable & larcfm::TCAS3D::getTCASTable | ( | ) |
This returns a copy of the internal TCAS table
double larcfm::TCAS3D::getTCOA | ( | int | sl | ) | const |
Returns TCOA threshold for sensitivity level sl in seconds
double larcfm::TCAS3D::getZTHR | ( | int | sl | ) | const |
Returns Z threshold for sensitivity level sl in internal units.
double larcfm::TCAS3D::getZTHR | ( | int | sl, |
const std::string & | u | ||
) | const |
Returns Z threshold for sensitivity level sl in u units.
|
virtual |
Return a list of points (polygon) that approximates the horizontal hazard zone around the ownship, with respect to a traffic aircraft. A polygon is a list of points in counter-clockwise direction, where the last point is connected to the first one.
T | This time represents a time horizon in seconds. When T is 0, the polygon represents the hazard zone. Otherwise, the are represents the hazard zone with time horizon T. |
NOTE 1: This polygon should only be used for display purposes since it's merely an approximation of the actual hazard zone defined by the violation and detection methods.
NOTE 2: This method has to be redefined as appropriate for every specific hazard zone.
Reimplemented from larcfm::Detection3D.
|
virtual |
Implements larcfm::Detection3D.
void larcfm::TCAS3D::setDefaultTCASIIThresholds | ( | bool | ra | ) |
Set table to TCASII Thresholds (RA Table when ra is true, TA Table when ra is false)
void larcfm::TCAS3D::setDMOD | ( | int | sl, |
double | val | ||
) |
Modify the value of DMOD for a given sensitivity level (2-8) Parameter val is given in internal units
void larcfm::TCAS3D::setDMOD | ( | int | sl, |
double | val, | ||
const std::string & | u | ||
) |
Modify the value of DMOD for a given sensitivity level (2-8) Parameter val is given in u units
void larcfm::TCAS3D::setHMD | ( | int | sl, |
double | val | ||
) |
Modify the value of HMD for a given sensitivity level (2-8) Parameter val is given in internal units
void larcfm::TCAS3D::setHMD | ( | int | sl, |
double | val, | ||
const std::string & | u | ||
) |
Modify the value of HMD for a given sensitivity level (2-8) Parameter val is given in u units
|
virtual |
Implements larcfm::Detection3D.
|
virtual |
Implements larcfm::ParameterAcceptor.
void larcfm::TCAS3D::setTAU | ( | int | sl, |
double | val | ||
) |
Modify the value of Tau Threshold for a given sensitivity level (2-8) Parameter val is given in seconds
void larcfm::TCAS3D::setTCASTable | ( | const TCASTable & | tables | ) |
This sets the internal table to be a deep copy of the supplied one. Any previous links will be broken.
void larcfm::TCAS3D::setTCOA | ( | int | sl, |
double | val | ||
) |
Modify the value of TCOA Threshold for a given sensitivity level (2-8) Parameter val is given in seconds
void larcfm::TCAS3D::setZTHR | ( | int | sl, |
double | val | ||
) |
Modify the value of ZTHR for a given sensitivity level (2-8) Parameter val is given in internal units
void larcfm::TCAS3D::setZTHR | ( | int | sl, |
double | val, | ||
const std::string & | u | ||
) |
Modify the value of ZTHR for a given sensitivity level (2-8) Parameter val is given in u units
|
static |
|
static |
|
virtual |
Implements larcfm::Detection3D.
|
virtual |
Implements larcfm::Detection3D.
|
virtual |
Implements larcfm::ParameterProvider.