|
ICAROUS
|
#include <CRSS.h>
Public Member Functions | |
| CRSS () | |
| CRSS (const double distance, const double height) | |
| double | getDistance () const |
| double | getHeight () const |
| void | setDistance (const double distance) |
| void | setHeight (const double height) |
| void | setMinGs (double gs) |
| void | setMaxGs (double gs) |
| void | setMaxVs (double vs) |
| void | setMinHorizExitSpeed (double gs) |
| void | setMinVertExitSpeed (double gs) |
| void | setVsDiscretization (double vD) |
| double | getMinGs () |
| double | getMaxGs () |
| double | getMaxVs () |
| double | getMinHorizExitSpeed () |
| int | resolution (const Vect3 &s, const Velocity &vo, const Velocity &vi, int epsh, int epsv) |
| int | resolution (const Vect3 &s, const Velocity &vo, const Velocity &vi, std::string ownship, std::string traffic) |
| bool | hasTrkOnly () const |
| bool | hasGsOnly () const |
| bool | hasVsOnly () const |
| bool | hasOptTrkGs () const |
| double | trkOnly () const |
| double | gsOnly () const |
| double | optTrk () const |
| double | optGs () const |
| double | vsOnly () const |
| std::string | toString () const |
| CRSS (const double distance, const std::string &ud, const double height, const std::string &uh) | |
| double | getDistance (const std::string &ud) const |
| double | getHeight (const std::string &uh) const |
| void | setDistance (const double distance, const std::string &ud) |
| void | setHeight (const double height, const std::string &uh) |
| void | setMinGs (double gs, const std::string &us) |
| void | setMaxGs (double gs, const std::string &us) |
| void | setMinHorizExitSpeed (double gs, const std::string &us) |
| double | getMinGs (const std::string &us) |
| double | getMaxGs (const std::string &us) |
| double | getMinHorizExitSpeed (const std::string &us) |
| double | getMinVertExitSpeed () |
| double | getVsDiscretization () |
| double | trkOnly (const std::string &utrk) const |
| double | gsOnly (const std::string &ugs) const |
| double | vsOnly (const std::string &uvs) const |
| double | optTrk (const std::string &utrk) const |
| double | optGs (const std::string &ugs) const |
| std::string | strResolutions (int res) |
Static Public Member Functions | |
| static CRSS | make (double distance, const std::string &dStr, double height, const std::string &hStr) |
| static CRSS | mk (double distance, double height) |
Private Member Functions | |
| void | init (const double d, const double h) |
Private Attributes | |
| double | D |
| double | H |
| double | vsDiscretization |
| CR3D | cr |
| double | trk_only |
| double | gs_only |
| double | opt_trk |
| double | opt_gs |
| double | vs_only |
| double | minHorizExitSpeedLoS |
| double | minVertExitSpeedLoS |
| double | maxGs |
| double | minGs |
| double | maxVs |
Conflict resolution.
Conflict resolution between an ownship and traffic aircraft using state information.
Possible resolution values:
| larcfm::CRSS::CRSS | ( | ) |
Create a new state-based conflict detection object using internal units.
Create a new state-based conflict detection object using internal units.
| distance | the minimum horizontal separation distance [m] |
| height | the minimum vertical separation height [m]. |
| larcfm::CRSS::CRSS | ( | const double | distance, |
| const double | height | ||
| ) |
Create a new state-based conflict detection object using internal units.
| distance | the minimum horizontal separation distance [m] |
| height | the minimum vertical separation height [m]. |
| double larcfm::CRSS::getDistance | ( | ) | const |
Returns the minimum horizontal separation distance in internal units [m].
| double larcfm::CRSS::getHeight | ( | ) | const |
Returns the minimum vertical separation distance in internal units.
| double larcfm::CRSS::getMaxGs | ( | ) |
returns the maximum ground speed used while searching for a loss of separation solution
| double larcfm::CRSS::getMaxVs | ( | ) |
returns the maximum ground speed used while searching for a loss of separation solution
| double larcfm::CRSS::getMinGs | ( | ) |
returns the minimum ground speed used while searching for a loss of separation solution
| double larcfm::CRSS::getMinHorizExitSpeed | ( | ) |
gets the minimum ground speed used while searching for a loss of separation solution
| double larcfm::CRSS::getMinVertExitSpeed | ( | ) |
gets the minimum vertical speed used while searching for a loss of separation solution
| double larcfm::CRSS::getVsDiscretization | ( | ) |
Sets the level of discretization for vertical speed, 10 = in units of 10 fpm, 100 = in units of 100 fpm
| vD |
| double larcfm::CRSS::gsOnly | ( | ) | const |
Ground speed-only maneuver in internal units.
| bool larcfm::CRSS::hasGsOnly | ( | ) | const |
Checks if a ground speed maneuver was found.
| bool larcfm::CRSS::hasOptTrkGs | ( | ) | const |
Checks if optimal track/ground speed maneuver was found.
| bool larcfm::CRSS::hasTrkOnly | ( | ) | const |
Checks if a track maneuver was found.
| bool larcfm::CRSS::hasVsOnly | ( | ) | const |
Checks if vertical speed maneuver was found.
| double larcfm::CRSS::optGs | ( | ) | const |
Optimal ground speed maneuver in internal units.
| double larcfm::CRSS::optTrk | ( | ) | const |
Optimal track maneuver in internal units.
| int larcfm::CRSS::resolution | ( | const Vect3 & | s, |
| const Velocity & | vo, | ||
| const Velocity & | vi, | ||
| int | epsh, | ||
| int | epsv | ||
| ) |
Computes resolution maneuvers for the ownship.
| s | the relative position of the aircraft |
| vo | the ownship's velocity |
| vi | the intruder's velocity |
| epsh | the horizontal coordination epsilon (e.g. CriteriaCore.horizontalCoordination(s,v)) |
| epsv | the vertical coordination epsilon (e.g. CriteriaCore.verticalCoordination(s,vo,vi,D,H,ownship,traffic)) |
Computes resolution maneuvers for the ownship.
| s | the relative position of the aircraft |
| vo | the ownship's velocity |
| vi | the intruder's velocity |
| int larcfm::CRSS::resolution | ( | const Vect3 & | s, |
| const Velocity & | vo, | ||
| const Velocity & | vi, | ||
| std::string | ownship, | ||
| std::string | traffic | ||
| ) |
TODO
| s | the relative position of the aircraft |
| vo | the ownship's velocity |
| vi | the intruder's velocity |
| ownship | the ownship id |
| traffic | the traffic id |
| void larcfm::CRSS::setDistance | ( | const double | distance | ) |
Sets the minimum horizontal separation distance in internal units.
| distance | the distance in internal units [m] |
| void larcfm::CRSS::setHeight | ( | const double | height | ) |
Sets the minimum vertical separation distance in internal units.
| height | the height in internal units [m] |
| void larcfm::CRSS::setMaxGs | ( | double | gs | ) |
sets the maximum ground speed used while searching for a loss of separation solution
| void larcfm::CRSS::setMaxVs | ( | double | vs | ) |
sets the maximum vertical speed used while searching for a loss of separation solution
| void larcfm::CRSS::setMinGs | ( | double | gs | ) |
sets the minimum ground speed used while searching for a loss of separation solution
| void larcfm::CRSS::setMinHorizExitSpeed | ( | double | gs | ) |
sets the minimum speed used while searching for a loss of separation solution
| void larcfm::CRSS::setMinVertExitSpeed | ( | double | gs | ) |
sets the minimum speed used while searching for a loss of separation solution
| void larcfm::CRSS::setVsDiscretization | ( | double | vD | ) |
Sets the level of discretization for vertical speed, 10 = in units of 10 fpm, 100 = in units of 100 fpm
| vD |
| double larcfm::CRSS::trkOnly | ( | ) | const |
Track-only maneuver in internal unit.
| double larcfm::CRSS::vsOnly | ( | ) | const |
Vertical speed-only maneuver in internal units. It is recommended that the new velocity be constructed using Velocity.makeVxyz() instead of Velocity.makeTrkGsVs().
Vertical speed-only maneuver in internal units.
|
private |
The minimum horizontal distance
|
private |
The minimum vertical distance