ICAROUS
|
#include <KinematicMultiBands.h>
Public Member Functions | |
KinematicMultiBands (const KinematicBandsParameters ¶meters) | |
KinematicMultiBands () | |
KinematicMultiBands (const KinematicMultiBands &b) | |
KinematicMultiBands & | operator= (const KinematicMultiBands &b) |
TrafficState const & | getOwnship () const |
void | setOwnship (const TrafficState &own) |
void | setOwnship (const std::string &id, const Position &p, const Velocity &v) |
void | setOwnship (const std::string &id, const Position &p, const Velocity &v, double time) |
void | setOwnship (const Position &p, const Velocity &v) |
void | setTraffic (const std::vector< TrafficState > &traffic) |
std::vector< TrafficState > const & | getTraffic () const |
bool | hasOwnship () const |
bool | hasTraffic () const |
void | addTraffic (const TrafficState &ac) |
void | addTraffic (const std::string &id, const Position &pi, const Velocity &vi) |
void | addTraffic (const Position &pi, const Velocity &vi) |
void | setAlertor (const AlertLevels &alertor) |
void | setKinematicBandsParameters (const KinematicBandsParameters ¶meters) |
double | getRecoveryStabilityTime () const |
double | getRecoveryStabilityTime (const std::string &u) const |
void | setRecoveryStabilityTime (double t) |
void | setRecoveryStabilityTime (double t, const std::string &u) |
double | getMinHorizontalRecovery () const |
double | getMinHorizontalRecovery (const std::string &u) const |
void | setMinHorizontalRecovery (double val) |
void | setMinHorizontalRecovery (double val, const std::string &u) |
double | getMinVerticalRecovery () const |
double | getMinVerticalRecovery (const std::string &u) const |
void | setMinVerticalRecovery (double val) |
void | setMinVerticalRecovery (double val, const std::string &u) |
bool | isEnabledCollisionAvoidanceBands () const |
void | setCollisionAvoidanceBands (bool flag) |
void | enableCollisionAvoidanceBands () |
void | disableCollisionAvoidanceBands () |
double | getCollisionAvoidanceBandsFactor () |
void | setCollisionAvoidanceBandsFactor (double val) |
const TrafficState & | getMostUrgentAircraft () const |
void | setMostUrgentAircraft (const TrafficState &ac) |
void | setMostUrgentAircraft (const std::string &id) |
bool | isEnabledConflictCriteria () const |
void | setConflictCriteria (bool flag) |
void | enableConflictCriteria () |
void | disableConflictCriteria () |
bool | isEnabledRecoveryCriteria () const |
void | setRecoveryCriteria (bool flag) |
void | enableRecoveryCriteria () |
void | disableRecoveryCriteria () |
void | setRepulsiveCriteria (bool flag) |
void | enableRepulsiveCriteria () |
void | disableRepulsiveCriteria () |
void | setRecoveryBands (bool flag) |
void | enableRecoveryBands () |
void | disableRecoveryBands () |
double | getLeftTrack () |
double | getLeftTrack (const std::string &u) |
double | getRightTrack () |
double | getRightTrack (const std::string &u) |
void | setLeftTrack (double val) |
void | setLeftTrack (double val, const std::string &u) |
void | setRightTrack (double val) |
void | setRightTrack (double val, const std::string &u) |
void | setMinMaxTrack (double min, double max) |
void | setMinMaxTrack (double min, double max, const std::string &u) |
double | getTrackStep () const |
double | getTrackStep (const std::string &u) const |
void | setTrackStep (double val) |
void | setTrackStep (double val, const std::string &u) |
double | getBankAngle () const |
double | getBankAngle (const std::string &u) const |
void | setBankAngle (double val) |
void | setBankAngle (double val, const std::string &u) |
double | getTurnRate () const |
double | getTurnRate (const std::string &u) const |
void | setTurnRate (double val) |
void | setTurnRate (double val, const std::string &u) |
bool | isEnabledRecoveryTrackBands () const |
void | setRecoveryTrackBands (bool flag) |
double | getMinGroundSpeed () |
double | getMinGroundSpeed (const std::string &u) |
void | setMinGroundSpeed (double val) |
void | setMinGroundSpeed (double val, const std::string &u) |
double | getMaxGroundSpeed () |
double | getMaxGroundSpeed (const std::string &u) |
void | setMaxGroundSpeed (double val) |
void | setMaxGroundSpeed (double val, const std::string &u) |
void | setBelowAboveGroundSpeed (double below, double above) |
void | setBelowAboveGroundSpeed (double below, double above, const std::string &u) |
double | getGroundSpeedStep () const |
double | getGroundSpeedStep (const std::string &u) const |
void | setGroundSpeedStep (double val) |
void | setGroundSpeedStep (double val, const std::string &u) |
double | getHorizontalAcceleration () const |
double | getHorizontalAcceleration (const std::string &u) const |
void | setHorizontalAcceleration (double val) |
void | setHorizontalAcceleration (double val, const std::string &u) |
bool | isEnabledRecoveryGroundSpeedBands () |
void | setRecoveryGroundSpeedBands (bool flag) |
double | getMinVerticalSpeed () |
double | getMinVerticalSpeed (const std::string &u) |
void | setMinVerticalSpeed (double val) |
void | setMinVerticalSpeed (double val, const std::string &u) |
double | getMaxVerticalSpeed () |
double | getMaxVerticalSpeed (const std::string &u) |
void | setMaxVerticalSpeed (double val) |
void | setMaxVerticalSpeed (double val, const std::string &u) |
void | setBelowAboveVerticalSpeed (double below, double above) |
void | setBelowAboveVerticalSpeed (double below, double above, const std::string &u) |
double | getVerticalSpeedStep () const |
double | getVerticalSpeedStep (const std::string &u) const |
void | setVerticalSpeedStep (double val) |
void | setVerticalSpeedStep (double val, const std::string &u) |
double | getVerticalAcceleration () const |
double | getVerticalAcceleration (const std::string &u) const |
void | setVerticalAcceleration (double val) |
void | setVerticalAcceleration (double val, const std::string &u) |
bool | isEnabledRecoveryVerticalSpeedBands () |
void | setRecoveryVerticalSpeedBands (bool flag) |
double | getMinAltitude () |
double | getMinAltitude (const std::string &u) |
void | setMinAltitude (double val) |
void | setMinAltitude (double val, const std::string &u) |
double | getMaxAltitude () |
double | getMaxAltitude (const std::string &u) |
void | setMaxAltitude (double val) |
void | setMaxAltitude (double val, const std::string &u) |
void | setBelowAboveAltitude (double below, double above) |
void | setBelowAboveAltitude (double below, double above, const std::string &u) |
double | getAltitudeStep () const |
double | getAltitudeStep (const std::string &u) const |
void | setAltitudeStep (double val) |
void | setAltitudeStep (double val, const std::string &u) |
double | getVerticalRate () const |
double | getVerticalRate (const std::string &u) const |
void | setVerticalRate (double val) |
void | setVerticalRate (double val, const std::string &u) |
double | getHorizontalNMAC () const |
double | getHorizontalNMAC (const std::string &u) const |
double | getVerticalNMAC () const |
double | getVerticalNMAC (const std::string &u) const |
void | setHorizontalNMAC (double val) |
void | setHorizontalNMAC (double val, const std::string &u) |
void | setVerticalNMAC (double val) |
void | setVerticalNMAC (double val, const std::string &u) |
bool | isEnabledRecoveryAltitudeBands () |
void | setRecoveryAltitudeBands (bool flag) |
void | clear () |
std::vector< TrafficState > const & | conflictAircraft (int alert_level) |
Interval const & | timeIntervalOfViolation (int alert_level) |
int | trackLength () |
void | forceTrackBandsComputation () |
Interval | track (int i) |
Interval | track (int i, const std::string &u) |
BandsRegion::Region | trackRegion (int i) |
int | trackRangeOf (double trk) |
int | trackRangeOf (double trk, const std::string &u) |
BandsRegion::Region | regionOfTrack (double trk) |
BandsRegion::Region | regionOfTrack (double trk, const std::string &u) |
double | lastTimeToTrackManeuver (const TrafficState &ac) |
double | timeToTrackRecovery () |
std::vector< TrafficState > const & | peripheralTrackAircraft (int alert_level) |
double | trackResolution (bool dir, int alert_level) |
double | trackResolution (bool dir, int alert_level, const std::string &u) |
double | trackResolution (bool dir) |
double | trackResolution (bool dir, const std::string &u) |
bool | preferredTrackDirection (int alert_level) |
bool | preferredTrackDirection () |
int | groundSpeedLength () |
void | forceGroundSpeedBandsComputation () |
Interval | groundSpeed (int i) |
Interval | groundSpeed (int i, const std::string &u) |
BandsRegion::Region | groundSpeedRegion (int i) |
int | groundSpeedRangeOf (double gs) |
int | groundSpeedRangeOf (double gs, const std::string &u) |
BandsRegion::Region | regionOfGroundSpeed (double gs) |
BandsRegion::Region | regionOfGroundSpeed (double gs, const std::string &u) |
double | lastTimeToGroundSpeedManeuver (const TrafficState &ac) |
double | timeToGroundSpeedRecovery () |
std::vector< TrafficState > const & | peripheralGroundSpeedAircraft (int alert_level) |
double | groundSpeedResolution (bool dir, int alert_level) |
double | groundSpeedResolution (bool dir, int alert_level, const std::string &u) |
double | groundSpeedResolution (bool dir) |
double | groundSpeedResolution (bool dir, const std::string &u) |
bool | preferredGroundSpeedDirection (int alert_level) |
bool | preferredGroundSpeedDirection () |
int | verticalSpeedLength () |
void | forceVerticalSpeedBandsComputation () |
Interval | verticalSpeed (int i) |
Interval | verticalSpeed (int i, const std::string &u) |
BandsRegion::Region | verticalSpeedRegion (int i) |
int | verticalSpeedRangeOf (double vs) |
int | verticalSpeedRangeOf (double vs, const std::string &u) |
BandsRegion::Region | regionOfVerticalSpeed (double vs) |
BandsRegion::Region | regionOfVerticalSpeed (double vs, const std::string &u) |
double | lastTimeToVerticalSpeedManeuver (const TrafficState &ac) |
double | timeToVerticalSpeedRecovery () |
std::vector< TrafficState > const & | peripheralVerticalSpeedAircraft (int alert_level) |
double | verticalSpeedResolution (bool dir, int alert_level) |
double | verticalSpeedResolution (bool dir, int alert_level, const std::string &u) |
double | verticalSpeedResolution (bool dir) |
double | verticalSpeedResolution (bool dir, const std::string &u) |
bool | preferredVerticalSpeedDirection (int alert_level) |
bool | preferredVerticalSpeedDirection () |
int | altitudeLength () |
void | forceAltitudeBandsComputation () |
Interval | altitude (int i) |
Interval | altitude (int i, const std::string &u) |
BandsRegion::Region | altitudeRegion (int i) |
int | altitudeRangeOf (double alt) |
int | altitudeRangeOf (double alt, const std::string &u) |
BandsRegion::Region | regionOfAltitude (double alt) |
BandsRegion::Region | regionOfAltitude (double alt, const std::string &u) |
double | lastTimeToAltitudeManeuver (const TrafficState &ac) |
double | timeToAltitudeRecovery () |
std::vector< TrafficState > const & | peripheralAltitudeAircraft (int alert_level) |
double | altitudeResolution (bool dir, int alert_level) |
double | altitudeResolution (bool dir, int alert_level, const std::string &u) |
double | altitudeResolution (bool dir) |
double | altitudeResolution (bool dir, const std::string &u) |
bool | preferredAltitudeDirection (int alert_level) |
bool | preferredAltitudeDirection () |
int | alerting (const TrafficState &ac, int turning, int accelerating, int climbing) |
std::string | toString () const |
std::string | outputStringInfo () |
std::string | outputStringAlerting () |
std::string | outputStringTrackBands () |
std::string | outputStringGroundSpeedBands () |
std::string | outputStringVerticalSpeedBands () |
std::string | outputStringAltitudeBands () |
std::string | outputStringLastTimeToManeuver () |
std::string | outputString () |
std::string | toPVS (int precision) |
void | linearProjection (double offset) |
bool | hasError () const |
bool | hasMessage () const |
std::string | getMessage () |
std::string | getMessageNoClear () const |
double | getLookaheadTime () const |
double | getLookaheadTime (const std::string &u) const |
virtual void | setLookaheadTime (double t) |
void | setLookaheadTime (double t, const std::string &u) |
bool | isLatLon () const |
![]() | |
virtual double | getMaxGroundSpeed (const std::string &unit) const =0 |
virtual double | getMaxVerticalSpeed (const std::string &unit) const =0 |
Public Attributes | |
KinematicBandsCore | core_ |
KinematicTrkBands | trk_band_ |
KinematicGsBands | gs_band_ |
KinematicVsBands | vs_band_ |
KinematicAltBands | alt_band_ |
Protected Member Functions | |
void | reset () |
Protected Attributes | |
ErrorLog | error |
Private Member Functions | |
bool | check_thresholds (const AlertThresholds &athr, const TrafficState &ac, int turning, int accelerating, int climbing) |
Objects of class "KinematicMultiBands" compute the conflict bands using kinematic single-maneuver projections of the ownship and linear preditions of (multiple) traffic aircraft positions. The bands consist of ranges of guidance maneuvers: track angles, ground speeds, vertical speeds, and altitude.
An assumption of the bands information is that the traffic aircraft do not maneuver. If the ownship immediately executes a NONE guidance maneuver, then the new path is conflict free (within a lookahead time of the parameter). If the ownship immediately executes a NEAR/MID/FAR guidance maneuver and no traffic aircraft maneuvers, then there will corresponding alert within the corresponding alerting level thresholds.
If recovery bands are set via setRecoveryBands() and the ownship is in a violation path, loss of separation recovery bands and recovery times are computed for each type of maneuver. If the ownship immediately executes a RECOVERY guidance maneuver, then the new path is conflict-free after the recovery time. Furthermore, the recovery time is the minimum time for which there exists a kinematic conflict-free maneuver in the future.
Note that in the case of geodetic coordinates this version of bands performs an internal projection of the coordinates and velocities into the Euclidean frame (see Util/Projection). Accuracy may be reduced if the traffic plans involve any segments longer than Util.Projection.projectionConflictRange(lat,acc), and an error will be logged if the distance between traffic and ownship exceeds Util.Projection.projectionMaxRange() at any point in the lookahead range.
Disclaimers: The formal proofs of the core algorithms use real numbers, however these implementations use floating point numbers, so numerical differences could result. In addition, the geodetic computations include certain inaccuracies, especially near the poles.
The basic usage is
KinematicMultiBands b = new KinematicMultiBands(); ... b.clear(); b.setOwnship(position of ownship, velocity of ownship); b.addTraffic(position of (one) traffic aircraft, velocity of traffic); b.addTraffic(position of (another) traffic aircraft, velocity of traffic); ...add other traffic aircraft... for (int i = 0; i < b.trackLength(); i++ ) { intrval = b.track(i); lower_ang = intrval.low; upper_ang = intrval.up; regionType = b.trackRegion(i); ..do something with this information.. } ...similar for ground speed and vertical speed...
When any "parameter" to this class is set (separation distance, lookahead time, positions in latitude/longitude, etc.), all previous bands information is cleared, though unlike instantaneous-maneuver bands, ownship and traffic state data is preserved in KineamaticBands unless explicitly cleared.
For more complete example usage see the file Batch.java
.
Kinematic bands also have a set of "step size" parameters that determine the granularity of the search. TrackStep indicates the maximum track resolution, GroundSpeedStep for ground speed, and VerticalSpeedStep for vertical speed. These determine the output granularity, for example, if TrackStep is set to 1 degree, bands will be in 1 degree increments.
If the detection calculations discover a maneuver will cause the ownship to enter an intruder's protected zone (e.g. a loss of separation, RA), then all further maneuvers in that direction will be marked with a "near" band. An example of this is if the ownship is moving with a track of 20 deg, and a turn to the right would cause a loss of separation at the 50 deg point, then the "near" bands for track will at least contain the range of approximately 50-200 degrees (current track +180 deg, +/- the trackStep).
Note that Bands outputs hold within a given (constant) frame of reference, with the default being against a stationary Earth (i.e. GPS coordinates and velocities). This means that if bands are instead given wind-oriented input data (airspeed and yaw-heading) for all aircraft, then the output maneuvers will be in the same frame of reference: "groundSpeed" bands should then be read as "airSpeed" bands, and "track" should be read as "heading".
Altitude bands assume assume an immediate maneuver to a given vertical speed, with a level off maneuver to various altitudes (based on altitudeStep, for example, every 500 ft). "NONE" bands here indicate no conflict during or immediately following such a maneuver, assuming all traffic aircraft continue at a constant velocity. "NEAR" bands indicate either a loss of separation during the climb/descent or a conflict after leveling off to that altitude.
larcfm::KinematicMultiBands::KinematicMultiBands | ( | const KinematicBandsParameters & | parameters | ) |
Construct a KinematicMultiBands object with initial parameters and an empty list of detectors.
larcfm::KinematicMultiBands::KinematicMultiBands | ( | ) |
Construct a KinematicMultiBands object with the default parameters and an empty list of detectors.
larcfm::KinematicMultiBands::KinematicMultiBands | ( | const KinematicMultiBands & | b | ) |
Construct a KinematicMultiBands object from an existing object. This copies all traffic data.
|
virtual |
Add a traffic aircraft to this set of the conflict prevention bands. No traffic aircraft can be added until the ownship is set (see setOwnship()). The coordinate frame of the traffic position must be the same as that of the object.
si | position of the traffic |
vi | velocity of the traffic |
Implements larcfm::GenericStateBands.
int larcfm::KinematicMultiBands::alerting | ( | const TrafficState & | ac, |
int | turning, | ||
int | accelerating, | ||
int | climbing | ||
) |
Computes alerting level beteween ownship and aircraft. The number 0 means no alert. A negative number means that aircraft index is not valid. When the alertor object has been configured to consider ownship maneuvers, i.e., using spread values, the alerting logic could also use information about the ownship turning, accelerating, and climbing status as follows:
Interval larcfm::KinematicMultiBands::altitude | ( | int | i | ) |
i | index |
Interval larcfm::KinematicMultiBands::altitude | ( | int | i, |
const std::string & | u | ||
) |
i | index |
u | units |
int larcfm::KinematicMultiBands::altitudeLength | ( | ) |
int larcfm::KinematicMultiBands::altitudeRangeOf | ( | double | alt | ) |
alt | [m] |
int larcfm::KinematicMultiBands::altitudeRangeOf | ( | double | alt, |
const std::string & | u | ||
) |
alt | [u] |
u | Units |
BandsRegion::Region larcfm::KinematicMultiBands::altitudeRegion | ( | int | i | ) |
i | index |
double larcfm::KinematicMultiBands::altitudeResolution | ( | bool | dir | ) |
Compute altitude resolution maneuver for conflict alert level. @parameter dir is up (true)/down (false) of ownship current altitude
double larcfm::KinematicMultiBands::altitudeResolution | ( | bool | dir, |
const std::string & | u | ||
) |
Compute altitude resolution maneuver for conflict alert level. @parameter dir is up (true)/down (false) of ownship current altitude @parameter u units
double larcfm::KinematicMultiBands::altitudeResolution | ( | bool | dir, |
int | alert_level | ||
) |
Compute altitude resolution maneuver for given alert level. @parameter dir is up (true)/down (false) of ownship current altitude
double larcfm::KinematicMultiBands::altitudeResolution | ( | bool | dir, |
int | alert_level, | ||
const std::string & | u | ||
) |
Compute altitude resolution maneuver for given alert level. @parameter dir is up (true)/down (false) of ownship current altitude @parameter u units
|
private |
Return true if and only if threshold values, defining an alerting level, are violated.
|
virtual |
Clear ownship and traffic data from this object.
Implements larcfm::GenericBands.
std::vector< TrafficState > const & larcfm::KinematicMultiBands::conflictAircraft | ( | int | alert_level | ) |
Return list of conflict aircraft for a given alert level. Note: alert level are 1-indexed.
void larcfm::KinematicMultiBands::disableCollisionAvoidanceBands | ( | ) |
Disable collision avoidance bands.
void larcfm::KinematicMultiBands::disableConflictCriteria | ( | ) |
Disable repulsive criteria for conflict bands.
void larcfm::KinematicMultiBands::disableRecoveryBands | ( | ) |
Disable recovery bands for track, ground speed, and vertical speed.
void larcfm::KinematicMultiBands::disableRecoveryCriteria | ( | ) |
Disable repulsive criteria for recovery bands.
void larcfm::KinematicMultiBands::disableRepulsiveCriteria | ( | ) |
Disable repulsive criteria for conflict and recovery bands.
void larcfm::KinematicMultiBands::enableCollisionAvoidanceBands | ( | ) |
Enable collision avoidance bands.
void larcfm::KinematicMultiBands::enableConflictCriteria | ( | ) |
Enable repulsive criteria for conflict bands.
void larcfm::KinematicMultiBands::enableRecoveryBands | ( | ) |
Enables recovery bands for track, ground speed, and vertical speed.
void larcfm::KinematicMultiBands::enableRecoveryCriteria | ( | ) |
Enable repulsive criteria for recovery bands.
void larcfm::KinematicMultiBands::enableRepulsiveCriteria | ( | ) |
Enable repulsive criteria for conflict and recovery bands.
void larcfm::KinematicMultiBands::forceAltitudeBandsComputation | ( | ) |
Force computation of altitude bands. Usually, bands are only computed when needed. This method forces the computation of altitude bands (this method is included mainly for debugging purposes).
void larcfm::KinematicMultiBands::forceGroundSpeedBandsComputation | ( | ) |
Force computation of ground speed bands. Usually, bands are only computed when needed. This method forces the computation of ground speed bands (this method is included mainly for debugging purposes).
void larcfm::KinematicMultiBands::forceTrackBandsComputation | ( | ) |
Force computation of track bands. Usually, bands are only computed when needed. This method forces the computation of track bands (this method is included mainly for debugging purposes).
void larcfm::KinematicMultiBands::forceVerticalSpeedBandsComputation | ( | ) |
Force computation of vertical speed bands. Usually, bands are only computed when needed. This method forces the computation of vertical speed bands (this method is included mainly for debugging purposes).
double larcfm::KinematicMultiBands::getAltitudeStep | ( | ) | const |
double larcfm::KinematicMultiBands::getAltitudeStep | ( | const std::string & | u | ) | const |
double larcfm::KinematicMultiBands::getBankAngle | ( | ) | const |
double larcfm::KinematicMultiBands::getBankAngle | ( | const std::string & | u | ) | const |
double larcfm::KinematicMultiBands::getCollisionAvoidanceBandsFactor | ( | ) |
double larcfm::KinematicMultiBands::getGroundSpeedStep | ( | ) | const |
double larcfm::KinematicMultiBands::getGroundSpeedStep | ( | const std::string & | u | ) | const |
double larcfm::KinematicMultiBands::getHorizontalAcceleration | ( | ) | const |
double larcfm::KinematicMultiBands::getHorizontalAcceleration | ( | const std::string & | u | ) | const |
double larcfm::KinematicMultiBands::getHorizontalNMAC | ( | ) | const |
double larcfm::KinematicMultiBands::getHorizontalNMAC | ( | const std::string & | u | ) | const |
double larcfm::KinematicMultiBands::getLeftTrack | ( | ) |
double larcfm::KinematicMultiBands::getLeftTrack | ( | const std::string & | u | ) |
double larcfm::KinematicMultiBands::getLookaheadTime | ( | ) | const |
|
virtual |
Implements larcfm::GenericBands.
double larcfm::KinematicMultiBands::getMaxAltitude | ( | ) |
double larcfm::KinematicMultiBands::getMaxAltitude | ( | const std::string & | u | ) |
double larcfm::KinematicMultiBands::getMaxGroundSpeed | ( | ) |
double larcfm::KinematicMultiBands::getMaxGroundSpeed | ( | const std::string & | u | ) |
double larcfm::KinematicMultiBands::getMaxVerticalSpeed | ( | ) |
double larcfm::KinematicMultiBands::getMaxVerticalSpeed | ( | const std::string & | u | ) |
|
inlinevirtual |
Return a string representation of any errors or warnings. Calling this method will clear any messages and reset both the error and warning status to none.
Implements larcfm::ErrorReporter.
|
inlinevirtual |
Return a string representation of any errors or warnings. Calling this method will not clear the error or warning status (i.e., hasError() will return the same value before and after this call.)
Implements larcfm::ErrorReporter.
double larcfm::KinematicMultiBands::getMinAltitude | ( | ) |
double larcfm::KinematicMultiBands::getMinAltitude | ( | const std::string & | u | ) |
double larcfm::KinematicMultiBands::getMinGroundSpeed | ( | ) |
double larcfm::KinematicMultiBands::getMinGroundSpeed | ( | const std::string & | u | ) |
double larcfm::KinematicMultiBands::getMinHorizontalRecovery | ( | ) | const |
double larcfm::KinematicMultiBands::getMinHorizontalRecovery | ( | const std::string & | u | ) | const |
Return minimum horizontal separation for recovery bands in specified units [u]
double larcfm::KinematicMultiBands::getMinVerticalRecovery | ( | ) | const |
double larcfm::KinematicMultiBands::getMinVerticalRecovery | ( | const std::string & | u | ) | const |
Return minimum vertical separation for recovery bands in specified units [u].
double larcfm::KinematicMultiBands::getMinVerticalSpeed | ( | ) |
double larcfm::KinematicMultiBands::getMinVerticalSpeed | ( | const std::string & | u | ) |
const TrafficState & larcfm::KinematicMultiBands::getMostUrgentAircraft | ( | ) | const |
TrafficState const & larcfm::KinematicMultiBands::getOwnship | ( | ) | const |
Ownship and Traffic
double larcfm::KinematicMultiBands::getRecoveryStabilityTime | ( | ) | const |
double larcfm::KinematicMultiBands::getRecoveryStabilityTime | ( | const std::string & | u | ) | const |
double larcfm::KinematicMultiBands::getRightTrack | ( | ) |
double larcfm::KinematicMultiBands::getRightTrack | ( | const std::string & | u | ) |
double larcfm::KinematicMultiBands::getTrackStep | ( | ) | const |
double larcfm::KinematicMultiBands::getTrackStep | ( | const std::string & | u | ) | const |
double larcfm::KinematicMultiBands::getTurnRate | ( | ) | const |
double larcfm::KinematicMultiBands::getTurnRate | ( | const std::string & | u | ) | const |
double larcfm::KinematicMultiBands::getVerticalAcceleration | ( | ) | const |
double larcfm::KinematicMultiBands::getVerticalAcceleration | ( | const std::string & | u | ) | const |
double larcfm::KinematicMultiBands::getVerticalNMAC | ( | ) | const |
double larcfm::KinematicMultiBands::getVerticalNMAC | ( | const std::string & | u | ) | const |
double larcfm::KinematicMultiBands::getVerticalRate | ( | ) | const |
double larcfm::KinematicMultiBands::getVerticalRate | ( | const std::string & | u | ) | const |
double larcfm::KinematicMultiBands::getVerticalSpeedStep | ( | ) | const |
double larcfm::KinematicMultiBands::getVerticalSpeedStep | ( | const std::string & | u | ) | const |
Interval larcfm::KinematicMultiBands::groundSpeed | ( | int | i | ) |
i | index |
|
virtual |
i | index |
u | units |
Implements larcfm::GenericBands.
|
virtual |
Implements larcfm::GenericBands.
int larcfm::KinematicMultiBands::groundSpeedRangeOf | ( | double | gs | ) |
gs | [m/s] |
int larcfm::KinematicMultiBands::groundSpeedRangeOf | ( | double | gs, |
const std::string & | u | ||
) |
gs | [u] |
u | Units |
|
virtual |
i | index |
Implements larcfm::GenericBands.
double larcfm::KinematicMultiBands::groundSpeedResolution | ( | bool | dir | ) |
Compute ground speed resolution maneuver for conflict alert level. @parameter dir is up (true)/down (false) of ownship current ground speed
double larcfm::KinematicMultiBands::groundSpeedResolution | ( | bool | dir, |
const std::string & | u | ||
) |
Compute ground speed resolution maneuver for conflict alert level. @parameter dir is up (true)/down (false) of ownship current ground speed @parameter u units
double larcfm::KinematicMultiBands::groundSpeedResolution | ( | bool | dir, |
int | alert_level | ||
) |
Compute ground speed resolution maneuver for given alert level. @parameter dir is up (true)/down (false) of ownship current ground speed
double larcfm::KinematicMultiBands::groundSpeedResolution | ( | bool | dir, |
int | alert_level, | ||
const std::string & | u | ||
) |
Compute ground speed resolution maneuver for given alert level. @parameter dir is up (true)/down (false) of ownship current ground speed @parameter u units
|
inlinevirtual |
|
inlinevirtual |
Does this object have an error or a warning?
Implements larcfm::ErrorReporter.
bool larcfm::KinematicMultiBands::isEnabledCollisionAvoidanceBands | ( | ) | const |
bool larcfm::KinematicMultiBands::isEnabledConflictCriteria | ( | ) | const |
bool larcfm::KinematicMultiBands::isEnabledRecoveryAltitudeBands | ( | ) |
bool larcfm::KinematicMultiBands::isEnabledRecoveryCriteria | ( | ) | const |
bool larcfm::KinematicMultiBands::isEnabledRecoveryGroundSpeedBands | ( | ) |
bool larcfm::KinematicMultiBands::isEnabledRecoveryTrackBands | ( | ) | const |
bool larcfm::KinematicMultiBands::isEnabledRecoveryVerticalSpeedBands | ( | ) |
|
virtual |
Returns whether the aircraft positions are specified in latitude/longitude or Euclidean coordinates. If the ownship has not been set, then this value is undefined.
Implements larcfm::GenericBands.
double larcfm::KinematicMultiBands::lastTimeToAltitudeManeuver | ( | const TrafficState & | ac | ) |
Return last time to altitude maneuver, in seconds, for ownship with respect to traffic aircraft ac. Return NaN if the ownship is not in conflict with aircraft ac within lookahead time. Return negative infinity if there is no time to maneuver.
double larcfm::KinematicMultiBands::lastTimeToGroundSpeedManeuver | ( | const TrafficState & | ac | ) |
Return last time to ground speed maneuver, in seconds, for ownship with respect to traffic aircraft ac. Return NaN if the ownship is not in conflict with aircraft ac within lookahead time. Return negative infinity if there is no time to maneuver.
double larcfm::KinematicMultiBands::lastTimeToTrackManeuver | ( | const TrafficState & | ac | ) |
Return last time to track maneuver, in seconds, for ownship with respect to traffic aircraft ac. Return NaN if the ownship is not in conflict with aircraft ac within lookahead time. Return negative infinity if there is no time to maneuver.
double larcfm::KinematicMultiBands::lastTimeToVerticalSpeedManeuver | ( | const TrafficState & | ac | ) |
Return last time to vertical speed maneuver, in seconds, for ownship with respect to traffic aircraft ac. Return NaN if the ownship is not in conflict with aircraft ac within lookahead time. Return negative infinity if there is no time to maneuver.
std::vector< TrafficState > const & larcfm::KinematicMultiBands::peripheralAltitudeAircraft | ( | int | alert_level | ) |
std::vector< TrafficState > const & larcfm::KinematicMultiBands::peripheralGroundSpeedAircraft | ( | int | alert_level | ) |
std::vector< TrafficState > const & larcfm::KinematicMultiBands::peripheralTrackAircraft | ( | int | alert_level | ) |
std::vector< TrafficState > const & larcfm::KinematicMultiBands::peripheralVerticalSpeedAircraft | ( | int | alert_level | ) |
bool larcfm::KinematicMultiBands::preferredAltitudeDirection | ( | ) |
Compute preferred altitude direction, for conflict alert level, based on resolution that is closer to current altitude. True: Climb, False: Descend.
bool larcfm::KinematicMultiBands::preferredAltitudeDirection | ( | int | alert_level | ) |
Compute preferred altitude direction, for given alert level, based on resolution that is closer to current altitude. True: Climb, False: Descend.
bool larcfm::KinematicMultiBands::preferredGroundSpeedDirection | ( | ) |
Compute preferred ground speed direction, for conflict alert level, based on resolution that is closer to current ground speed. True: Increase speed, False: Decrease speed.
bool larcfm::KinematicMultiBands::preferredGroundSpeedDirection | ( | int | alert_level | ) |
Compute preferred ground speed direction, for given alert level, based on resolution that is closer to current ground speed. True: Increase speed, False: Decrease speed.
bool larcfm::KinematicMultiBands::preferredTrackDirection | ( | ) |
Compute preferred track direction, for conflict alert level, based on resolution that is closer to current track. True: Right. False: Left.
bool larcfm::KinematicMultiBands::preferredTrackDirection | ( | int | alert_level | ) |
Compute preferred track direction, for given alert level, based on resolution that is closer to current track. True: Right. False: Left.
bool larcfm::KinematicMultiBands::preferredVerticalSpeedDirection | ( | ) |
Compute preferred vertical speed direction, for conflict alert level, based on resolution that is closer to current vertical speed. True: Increase speed, False: Decrease speed.
bool larcfm::KinematicMultiBands::preferredVerticalSpeedDirection | ( | int | alert_level | ) |
Compute preferred vertical speed direction, for given alert level, based on resolution that is closer to current vertical speed. True: Increase speed, False: Decrease speed.
BandsRegion::Region larcfm::KinematicMultiBands::regionOfAltitude | ( | double | alt | ) |
alt | [m] |
BandsRegion::Region larcfm::KinematicMultiBands::regionOfAltitude | ( | double | alt, |
const std::string & | u | ||
) |
alt | [u] |
u | Units |
BandsRegion::Region larcfm::KinematicMultiBands::regionOfGroundSpeed | ( | double | gs | ) |
gs | [m/s] |
|
virtual |
gs | [u] |
u | Units |
Implements larcfm::GenericBands.
BandsRegion::Region larcfm::KinematicMultiBands::regionOfTrack | ( | double | trk | ) |
trk | [rad] |
|
virtual |
trk | [u] |
u | Units |
Implements larcfm::GenericBands.
BandsRegion::Region larcfm::KinematicMultiBands::regionOfVerticalSpeed | ( | double | vs | ) |
vs | [m/s] |
|
virtual |
vs | [u] |
u | Units |
Implements larcfm::GenericBands.
void larcfm::KinematicMultiBands::setAlertor | ( | const AlertLevels & | alertor | ) |
Set alert thresholds
void larcfm::KinematicMultiBands::setAltitudeStep | ( | double | val | ) |
Sets step size for altitude bands to value in internal units [m]
void larcfm::KinematicMultiBands::setAltitudeStep | ( | double | val, |
const std::string & | u | ||
) |
Sets step size for altitude bands to value in specified units [u].
void larcfm::KinematicMultiBands::setBankAngle | ( | double | val | ) |
Sets bank angle for track bands to value in internal units [rad]. As a side effect, this method resets the turn rate.
void larcfm::KinematicMultiBands::setBankAngle | ( | double | val, |
const std::string & | u | ||
) |
Sets bank angle for track bands to value in specified units [u]. As a side effect, this method resets the turn rate.
void larcfm::KinematicMultiBands::setBelowAboveAltitude | ( | double | below, |
double | above | ||
) |
Set below/above altitude, relative to ownship's altitude, for bands computations. Altitude are specified in internal units [m]. Below and above are expected to be non-negative values.
void larcfm::KinematicMultiBands::setBelowAboveAltitude | ( | double | below, |
double | above, | ||
const std::string & | u | ||
) |
Set below/above altitude, relative to ownship's altitude, for bands computations. Altitudes are specified in given units [u]. Below and above are expected to be non-negative values.
void larcfm::KinematicMultiBands::setBelowAboveGroundSpeed | ( | double | below, |
double | above | ||
) |
Set below/above ground speed, relative to ownship's ground speed, for bands computations. Ground speeds are specified in internal units [m/s]. Below and above are expected to be non-negative values.
void larcfm::KinematicMultiBands::setBelowAboveGroundSpeed | ( | double | below, |
double | above, | ||
const std::string & | u | ||
) |
Set below/above ground speed, relative to ownship's ground speed, for bands computations. Ground speeds are specified in given units [u]. Below and above are expected to be non-negative values.
void larcfm::KinematicMultiBands::setBelowAboveVerticalSpeed | ( | double | below, |
double | above | ||
) |
Set below/above vertical speed, relative to ownship's vertical speed, for bands computations. Vertical speeds are specified in internal units [m/s]. Below and above are expected to be non-negative values.
void larcfm::KinematicMultiBands::setBelowAboveVerticalSpeed | ( | double | below, |
double | above, | ||
const std::string & | u | ||
) |
Set below/above vertical speed, relative to ownship's vertical speed, for bands computations. Vertical speeds are specified in given units [u]. Below and above are expected to be non-negative values.
void larcfm::KinematicMultiBands::setCollisionAvoidanceBands | ( | bool | flag | ) |
Enable/disable collision avoidance bands.
void larcfm::KinematicMultiBands::setCollisionAvoidanceBandsFactor | ( | double | val | ) |
void larcfm::KinematicMultiBands::setConflictCriteria | ( | bool | flag | ) |
Enable/disable repulsive criteria for conflict bands.
void larcfm::KinematicMultiBands::setGroundSpeedStep | ( | double | val | ) |
Sets step size for ground speed bands to value in internal units [m/s].
void larcfm::KinematicMultiBands::setGroundSpeedStep | ( | double | val, |
const std::string & | u | ||
) |
Sets step size for ground speed bands to value in specified units [u].
void larcfm::KinematicMultiBands::setHorizontalAcceleration | ( | double | val | ) |
Sets horizontal acceleration for ground speed bands to value in internal units [m/s^2].
void larcfm::KinematicMultiBands::setHorizontalAcceleration | ( | double | val, |
const std::string & | u | ||
) |
Sets horizontal acceleration for ground speed bands to value in specified units [u].
void larcfm::KinematicMultiBands::setHorizontalNMAC | ( | double | val | ) |
Set horizontal NMAC distance to value in internal units [m].
void larcfm::KinematicMultiBands::setHorizontalNMAC | ( | double | val, |
const std::string & | u | ||
) |
Set horizontal NMAC distance to value in specified units [u].
void larcfm::KinematicMultiBands::setKinematicBandsParameters | ( | const KinematicBandsParameters & | parameters | ) |
Set bands parameters
void larcfm::KinematicMultiBands::setLeftTrack | ( | double | val | ) |
Set left track to value in internal units [rad]. Value is expected to be in [0 - pi]
void larcfm::KinematicMultiBands::setLeftTrack | ( | double | val, |
const std::string & | u | ||
) |
Set left track to value in specified units [u]. Value is expected to be in [0 - pi]
|
virtual |
Sets lookahead time in seconds.
Reimplemented in larcfm::KinematicBands.
|
virtual |
Sets lookahead time in specified units [u].
Implements larcfm::GenericBands.
void larcfm::KinematicMultiBands::setMaxAltitude | ( | double | val | ) |
Sets maximum altitude for altitude bands to value in internal units [m]
void larcfm::KinematicMultiBands::setMaxAltitude | ( | double | val, |
const std::string & | u | ||
) |
Sets maximum altitude for altitude bands to value in specified units [u].
void larcfm::KinematicMultiBands::setMaxGroundSpeed | ( | double | val | ) |
Sets maximum ground speed for ground speed bands to value in internal units [m/s].
|
virtual |
Sets maximum ground speed for ground speed bands to value in specified units [u].
Implements larcfm::GenericBands.
void larcfm::KinematicMultiBands::setMaxVerticalSpeed | ( | double | val | ) |
Sets maximum vertical speed for vertical speed bands to value in internal units [m/s].
|
virtual |
Sets maximum vertical speed for vertical speed bands to value in specified units [u].
Implements larcfm::GenericBands.
void larcfm::KinematicMultiBands::setMinAltitude | ( | double | val | ) |
Sets minimum altitude for altitude bands to value in internal units [m]
void larcfm::KinematicMultiBands::setMinAltitude | ( | double | val, |
const std::string & | u | ||
) |
Sets minimum altitude for altitude bands to value in specified units [u].
void larcfm::KinematicMultiBands::setMinGroundSpeed | ( | double | val | ) |
Sets minimum ground speed for ground speed bands to value in internal units [m/s].
void larcfm::KinematicMultiBands::setMinGroundSpeed | ( | double | val, |
const std::string & | u | ||
) |
Sets minimum ground speed for ground speed bands to value in specified units [u].
void larcfm::KinematicMultiBands::setMinHorizontalRecovery | ( | double | val | ) |
Sets minimum horizontal separation for recovery bands in internal units [m].
void larcfm::KinematicMultiBands::setMinHorizontalRecovery | ( | double | val, |
const std::string & | u | ||
) |
Set minimum horizontal separation for recovery bands in specified units [u].
void larcfm::KinematicMultiBands::setMinMaxTrack | ( | double | min, |
double | max | ||
) |
Set absolute min/max tracks for bands computations. Tracks are specified in internal units [rad]. Values are expected to be in [0 - 2pi]
void larcfm::KinematicMultiBands::setMinMaxTrack | ( | double | min, |
double | max, | ||
const std::string & | u | ||
) |
Set absolute min/max tracks for bands computations. Tracks are specified in given units [u]. Values are expected to be in [0 - 2pi] [u]
void larcfm::KinematicMultiBands::setMinVerticalRecovery | ( | double | val | ) |
Sets minimum vertical separation for recovery bands in internal units [m].
void larcfm::KinematicMultiBands::setMinVerticalRecovery | ( | double | val, |
const std::string & | u | ||
) |
Set minimum vertical separation for recovery bands in units
void larcfm::KinematicMultiBands::setMinVerticalSpeed | ( | double | val | ) |
Sets minimum vertical speed for vertical speed bands to value in internal units [m/s].
void larcfm::KinematicMultiBands::setMinVerticalSpeed | ( | double | val, |
const std::string & | u | ||
) |
Sets minimum vertical speed for vertical speed bands to value in specified units [u].
void larcfm::KinematicMultiBands::setMostUrgentAircraft | ( | const std::string & | id | ) |
Set most urgent aircraft by identifier.
void larcfm::KinematicMultiBands::setMostUrgentAircraft | ( | const TrafficState & | ac | ) |
Set most urgent aircraft.
|
virtual |
Specify the ownship's position and velocity. Once the ownship is set, any existing 'band' information is cleared. This also sets the coordinate frame for this object.
s | ownship position |
v | ownship velocity |
Implements larcfm::GenericStateBands.
void larcfm::KinematicMultiBands::setRecoveryAltitudeBands | ( | bool | flag | ) |
Sets recovery bands flag for altitude bands to specified value.
void larcfm::KinematicMultiBands::setRecoveryBands | ( | bool | flag | ) |
Sets recovery bands flag for track, ground speed, and vertical speed bands to specified value.
void larcfm::KinematicMultiBands::setRecoveryCriteria | ( | bool | flag | ) |
Enable/disable repulsive criteria for recovery bands.
void larcfm::KinematicMultiBands::setRecoveryGroundSpeedBands | ( | bool | flag | ) |
Sets recovery bands flag for ground speed bands to specified value.
void larcfm::KinematicMultiBands::setRecoveryStabilityTime | ( | double | t | ) |
Sets recovery stability time in seconds. Recovery bands are computed at time of first green plus this time.
void larcfm::KinematicMultiBands::setRecoveryStabilityTime | ( | double | t, |
const std::string & | u | ||
) |
Sets recovery stability time in specified units. Recovery bands are computed at time of first green plus this time.
void larcfm::KinematicMultiBands::setRecoveryTrackBands | ( | bool | flag | ) |
Sets recovery bands flag for track bands to specified value.
void larcfm::KinematicMultiBands::setRecoveryVerticalSpeedBands | ( | bool | flag | ) |
Sets recovery bands flag for vertical speed bands to specified value.
void larcfm::KinematicMultiBands::setRepulsiveCriteria | ( | bool | flag | ) |
Enable/disable repulsive criteria for conflict and recovery bands.
void larcfm::KinematicMultiBands::setRightTrack | ( | double | val | ) |
Set right track to value in internal units [rad]. Value is expected to be in [0 - pi]
void larcfm::KinematicMultiBands::setRightTrack | ( | double | val, |
const std::string & | u | ||
) |
Set right track to value in specified units [u]. Value is expected to be in [0 - pi]
void larcfm::KinematicMultiBands::setTrackStep | ( | double | val | ) |
Sets step size for track bands in internal units [rad].
void larcfm::KinematicMultiBands::setTrackStep | ( | double | val, |
const std::string & | u | ||
) |
Sets step size for track bands in specified units [u].
void larcfm::KinematicMultiBands::setTurnRate | ( | double | val | ) |
Sets turn rate for track bands to value in internal units [rad/s]. As a side effect, this method resets the bank angle.
void larcfm::KinematicMultiBands::setTurnRate | ( | double | val, |
const std::string & | u | ||
) |
Sets turn rate for track bands to value in specified units [u]. As a side effect, this method resets the bank angle.
void larcfm::KinematicMultiBands::setVerticalAcceleration | ( | double | val | ) |
Sets the constant vertical acceleration for vertical speed and altitude bands to value in internal units [m/s^2]
void larcfm::KinematicMultiBands::setVerticalAcceleration | ( | double | val, |
const std::string & | u | ||
) |
Sets the constant vertical acceleration for vertical speed and altitude bands to value in specified units [u].
void larcfm::KinematicMultiBands::setVerticalNMAC | ( | double | val | ) |
Set vertical NMAC distance to value in internal units [m].
void larcfm::KinematicMultiBands::setVerticalNMAC | ( | double | val, |
const std::string & | u | ||
) |
Set vertical NMAC distance to value in specified units [u].
void larcfm::KinematicMultiBands::setVerticalRate | ( | double | val | ) |
Sets vertical rate for altitude bands to value in internal units [m/s]
void larcfm::KinematicMultiBands::setVerticalRate | ( | double | val, |
const std::string & | u | ||
) |
Sets vertical rate for altitude bands to value in specified units [u].
void larcfm::KinematicMultiBands::setVerticalSpeedStep | ( | double | val | ) |
Sets step size for vertical speed bands to value in internal units [m/s].
void larcfm::KinematicMultiBands::setVerticalSpeedStep | ( | double | val, |
const std::string & | u | ||
) |
Sets step size for vertical speed bands to value in specified units [u].
Interval const & larcfm::KinematicMultiBands::timeIntervalOfViolation | ( | int | alert_level | ) |
Return time interval of violation for given alert level Requires: 1 <= alert_level <= alertor.mostSevereAlertLevel()
double larcfm::KinematicMultiBands::timeToAltitudeRecovery | ( | ) |
double larcfm::KinematicMultiBands::timeToGroundSpeedRecovery | ( | ) |
double larcfm::KinematicMultiBands::timeToTrackRecovery | ( | ) |
double larcfm::KinematicMultiBands::timeToVerticalSpeedRecovery | ( | ) |
|
virtual |
Return a string representing this object.
Implements larcfm::GenericBands.
Interval larcfm::KinematicMultiBands::track | ( | int | i | ) |
i | index |
|
virtual |
i | index |
u | units |
Implements larcfm::GenericBands.
|
virtual |
Implements larcfm::GenericBands.
int larcfm::KinematicMultiBands::trackRangeOf | ( | double | trk | ) |
trk | [rad] |
int larcfm::KinematicMultiBands::trackRangeOf | ( | double | trk, |
const std::string & | u | ||
) |
trk | [u] |
u | Units |
|
virtual |
i | index |
Implements larcfm::GenericBands.
double larcfm::KinematicMultiBands::trackResolution | ( | bool | dir | ) |
Compute track resolution maneuver for conflict alert level. @parameter dir is right (true)/left (false) of ownship current track
double larcfm::KinematicMultiBands::trackResolution | ( | bool | dir, |
const std::string & | u | ||
) |
Compute track resolution maneuver for conflict alert level. @parameter dir is right (true)/left (false) of ownship current track @parameter u units
double larcfm::KinematicMultiBands::trackResolution | ( | bool | dir, |
int | alert_level | ||
) |
Compute track resolution maneuver for given alert level. @parameter dir is right (true)/left (false) of ownship current track
double larcfm::KinematicMultiBands::trackResolution | ( | bool | dir, |
int | alert_level, | ||
const std::string & | u | ||
) |
Compute track resolution maneuver for conflict alert level. @parameter dir is right (true)/left (false) of ownship current track @parameter u units
Interval larcfm::KinematicMultiBands::verticalSpeed | ( | int | i | ) |
i | index |
|
virtual |
i | index |
u | units |
Implements larcfm::GenericBands.
|
virtual |
Implements larcfm::GenericBands.
int larcfm::KinematicMultiBands::verticalSpeedRangeOf | ( | double | vs | ) |
vs | [m/s] |
int larcfm::KinematicMultiBands::verticalSpeedRangeOf | ( | double | vs, |
const std::string & | u | ||
) |
vs | [u] |
u | Units |
|
virtual |
i | index |
Implements larcfm::GenericBands.
double larcfm::KinematicMultiBands::verticalSpeedResolution | ( | bool | dir | ) |
Compute vertical speed resolution maneuver for conflict alert level. @parameter dir is up (true)/down (false) of ownship current vertical speed
double larcfm::KinematicMultiBands::verticalSpeedResolution | ( | bool | dir, |
const std::string & | u | ||
) |
Compute vertical speed resolution maneuver for conflict alert level. @parameter dir is up (true)/down (false) of ownship current vertical speed @parameter u units
double larcfm::KinematicMultiBands::verticalSpeedResolution | ( | bool | dir, |
int | alert_level | ||
) |
Compute vertical speed resolution maneuver for given alert level. @parameter dir is up (true)/down (false) of ownship current vertical speed
double larcfm::KinematicMultiBands::verticalSpeedResolution | ( | bool | dir, |
int | alert_level, | ||
const std::string & | u | ||
) |
Compute vertical speed resolution maneuver for given alert level. @parameter dir is up (true)/down (false) of ownship current vertical speed @parameter u units