ICAROUS
|
#include <PriorityCore.h>
Static Public Member Functions | |
static bool | lateral_only (const Vect3 &so, const Vect3 &vo, const Vect3 &si, const Vect3 &vi) |
static bool | check (const Vect3 &so, const Vect3 &vo, bool mo, const Vect3 &si, const Vect3 &vi, bool mi) |
Static Public Attributes | |
static double | TC |
static double | CRUISE_DEF |
static double | VERTICAL_DEADBAND |
static double | LATERAL_DEADBAND |
static double | LATERAL_RELATIVE_DEADBAND |
Static Private Member Functions | |
static bool | isDescending (const Vect3 &v) |
static bool | isNotDescending (const Vect3 &v) |
static bool | isCruising (const Vect3 &v) |
static bool | isAscending (const Vect3 &v) |
static bool | isNotAscending (const Vect3 &v) |
static bool | isNotCruising (const Vect3 &v) |
static bool | PossiblyDescendingORCruising (const Vect3 &v) |
static bool | PossiblyCruisingORAscending (const Vect3 &v) |
static bool | HorizontalRulesApply (const Vect3 &ao_V, const Vect3 &ai_V) |
static bool | VerticalRulesApply (const Vect3 &ao_V, const Vect3 &ai_V) |
static double | VelComponent (const Vect3 &so, const Vect3 &si, const Vect3 &vo, const Vect3 &vi) |
static double | VelComponentAt (const double t, const Vect3 &so, const Vect3 &si, const Vect3 &vo, const Vect3 &vi) |
static double | EntryComponent (const Vect3 &so, const Vect3 &si, const Vect3 &vo, const Vect3 &vi) |
static bool | HorizontalDeadband (const Vect3 &ao_S, const Vect3 &ao_V, const Vect3 &ai_S, const Vect3 &ai_V) |
static bool | VerticalDeadband (const Vect3 &ao_V, const Vect3 &ai_V) |
This is a collection of functions to determine if one aircraft has priority over another aircraft. It is an encapsulation of the "right of way" rules.
All values are in internal units.
Disclaimer: The current rules have been verified to have certain safety and liveness properties, but they have not been validated, that is, they may not behave "naturally." As we learn more about what is expected, these rules may evolve in the future.
|
static |
Determines if the ownship has priority over the given traffic aircraft.
so | a 3D vector representing the position vector of ownship |
vo | a 3D vector representing the velocity vector of the ownship |
mo | true if the ownship is managed |
si | a 3D vector representing the position vector of the traffic aircraft |
vi | a 3D vector representing the velocity vector of the traffic aircraft |
mi | true if the traffic aircraft is managed |
|
staticprivate |
so | a 3D vector representing the position vector of the ownship |
si | a 3D vector representing the position vector of the traffic |
vo | a 3D vector representing the velocity vector of the ownship |
vi | a 3D vector representing the velocity vector of the traffic |
|
staticprivate |
ao_S | a 3D vector representing the position vector of ownship |
ao_V | a 3D vector representing the velocity vector of the ownship |
ai_S | a 3D vector representing the position vector of traffic |
ai_V | a 3D vector representing the velocity vector of traffic |
|
staticprivate |
ao_V | a 3D vector representing ownship aircraft velocity vector |
ai_V | a 3D vector representing traffic aircraft velocity vector |
|
staticprivate |
v | a 3D vector representing an aircraft velocity vector |
|
staticprivate |
v | a 3D vector representing an aircraft velocity vector |
|
staticprivate |
v | a 3D vector representing an aircraft velocity vector |
|
staticprivate |
v | a 3D vector representing an aircraft velocity vector |
|
staticprivate |
v | a 3D vector representing an aircraft velocity vector |
|
staticprivate |
v | a 3D vector representing an aircraft velocity vector |
|
static |
Determines if the ownship has priority (in the lateral dimension only) over the traffic aircraft.
so | a 3D vector representing the position vector of ownship |
vo | a 3D veector representing the velocity vector of the ownship |
si | a 3D vector representing the position vector of the traffic aircraft |
vi | a 3D vector representing the velocity vector of the traffic aircraft |
|
staticprivate |
v | a 3D vector representing an aircraft velocity vector |
|
staticprivate |
v | a 3D vector representing an aircraft velocity vector |
|
staticprivate |
so | a 3D vector representing the position vector of the ownship |
si | a 3D vector representing the position vector of the traffic |
vo | a 3D vector representing the velocity vector of the ownship |
vi | a 3D vector representing the velocity vector of the traffic |
|
staticprivate |
time | t (should be tca) |
so | a 3D vector representing the position vector of the ownship |
si | a 3D vector representing the position vector of the traffic |
vo | a 3D vector representing the velocity vector of the ownship |
vi | a 3D vector representing the velocity vector of the traffic |
|
staticprivate |
ao_V | |
ai_V |
|
staticprivate |
ao_V | a 3D vector representing ownship aircraft velocity vector |
ai_V | a 3D vector representing traffic aircraft velocity vector |
|
static |
The definition of cruise. If the absolute value a vehicle's vertical speed is within this value then, by definition, the aircraft is in cruise.
This values should be "final"; however, since its precise values is still to be experimentally determined, it is left modifiable.
|
static |
This is a representation of the known uncertainty in the horizontal speed.
This values should be "final"; however, since its precise values is still to be experimentally determined, it is left modifiable.
|
static |
The time "back" from the time of closest approach
|
static |
This is a representation of the known uncertainty in the vertical speed.
This values should be "final"; however, since its precise values is still to be experimentally determined, it is left modifiable.