ICAROUS
All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Modules Pages
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
larcfm::DaidalusParameters Class Reference
Inheritance diagram for larcfm::DaidalusParameters:
larcfm::ErrorReporter larcfm::ParameterAcceptor larcfm::ParameterProvider

Public Types

typedef std::map< std::string, std::vector< std::string > > aliasestype
 

Public Member Functions

int numberOfAlerters () const
 
const AlertergetAlerterAt (int i) const
 
int getAlerterIndex (const std::string &id) const
 
void clearAlerters ()
 
int addAlerter (const Alerter &alerter)
 
double getLookaheadTime () const
 
double getLookaheadTime (const std::string &u) const
 
double getLeftHorizontalDirection () const
 
double getLeftHorizontalDirection (const std::string &u) const
 
double getRightHorizontalDirection () const
 
double getRightHorizontalDirection (const std::string &u) const
 
double getMinHorizontalSpeed () const
 
double getMinHorizontalSpeed (const std::string &u) const
 
double getMaxHorizontalSpeed () const
 
double getMaxHorizontalSpeed (const std::string &u) const
 
double getMinVerticalSpeed () const
 
double getMinVerticalSpeed (const std::string &u) const
 
double getMaxVerticalSpeed () const
 
double getMaxVerticalSpeed (const std::string &u) const
 
double getMinAltitude () const
 
double getMinAltitude (const std::string &u) const
 
double getMaxAltitude () const
 
double getMaxAltitude (const std::string &u) const
 
double getBelowRelativeHorizontalSpeed () const
 
double getBelowRelativeHorizontalSpeed (const std::string &u) const
 
double getAboveRelativeHorizontalSpeed () const
 
double getAboveRelativeHorizontalSpeed (const std::string &u) const
 
double getBelowRelativeVerticalSpeed () const
 
double getBelowRelativeVerticalSpeed (const std::string &u) const
 
double getAboveRelativeVerticalSpeed () const
 
double getAboveRelativeVerticalSpeed (const std::string &u) const
 
double getBelowRelativeAltitude () const
 
double getBelowRelativeAltitude (const std::string &u) const
 
double getAboveRelativeAltitude () const
 
double getAboveRelativeAltitude (const std::string &u) const
 
double getHorizontalDirectionStep () const
 
double getHorizontalDirectionStep (const std::string &u) const
 
double getHorizontalSpeedStep () const
 
double getHorizontalSpeedStep (const std::string &u) const
 
double getVerticalSpeedStep () const
 
double getVerticalSpeedStep (const std::string &u) const
 
double getAltitudeStep () const
 
double getAltitudeStep (const std::string &u) const
 
double getHorizontalAcceleration () const
 
double getHorizontalAcceleration (const std::string &u) const
 
double getVerticalAcceleration () const
 
double getVerticalAcceleration (const std::string &u) const
 
double getTurnRate () const
 
double getTurnRate (const std::string &u) const
 
double getBankAngle () const
 
double getBankAngle (const std::string &u) const
 
double getVerticalRate () const
 
double getVerticalRate (const std::string &u) const
 
double getHorizontalNMAC () const
 
double getHorizontalNMAC (const std::string &u) const
 
double getVerticalNMAC () const
 
double getVerticalNMAC (const std::string &u) const
 
double getRecoveryStabilityTime () const
 
double getRecoveryStabilityTime (const std::string &u) const
 
double getHysteresisTime () const
 
double getHysteresisTime (const std::string &u) const
 
double getPersistenceTime () const
 
double getPersistenceTime (const std::string &u) const
 
bool isEnabledBandsPersistence () const
 
void setBandsPersistence (bool flag)
 
void enableBandsPersistence ()
 
void disableBandsPersistence ()
 
double getPersistencePreferredHorizontalDirectionResolution () const
 
double getPersistencePreferredHorizontalDirectionResolution (const std::string &u) const
 
double getPersistencePreferredHorizontalSpeedResolution () const
 
double getPersistencePreferredHorizontalSpeedResolution (const std::string &u) const
 
double getPersistencePreferredVerticalSpeedResolution () const
 
double getPersistencePreferredVerticalSpeedResolution (const std::string &u) const
 
double getPersistencePreferredAltitudeResolution () const
 
double getPersistencePreferredAltitudeResolution (const std::string &u) const
 
int getAlertingParameterM () const
 
int getAlertingParameterN () const
 
double getMinHorizontalRecovery () const
 
double getMinHorizontalRecovery (const std::string &u) const
 
double getMinVerticalRecovery () const
 
double getMinVerticalRecovery (const std::string &u) const
 
bool setLookaheadTime (double val)
 
bool setLookaheadTime (double val, const std::string &u)
 
bool setLeftHorizontalDirection (double val)
 
bool setLeftHorizontalDirection (double val, const std::string &u)
 
bool setRightHorizontalDirection (double val)
 
bool setRightHorizontalDirection (double val, const std::string &u)
 
bool setMinHorizontalSpeed (double val)
 
bool setMinHorizontalSpeed (double val, const std::string &u)
 
bool setMaxHorizontalSpeed (double val)
 
bool setMaxHorizontalSpeed (double val, const std::string &u)
 
bool setMinVerticalSpeed (double val)
 
bool setMinVerticalSpeed (double val, const std::string &u)
 
bool setMaxVerticalSpeed (double val)
 
bool setMaxVerticalSpeed (double val, const std::string &u)
 
bool setMinAltitude (double val)
 
bool setMinAltitude (double val, const std::string &u)
 
bool setMaxAltitude (double val)
 
bool setMaxAltitude (double val, const std::string &u)
 
void setBelowRelativeHorizontalSpeed (double val)
 
void setBelowRelativeHorizontalSpeed (double val, const std::string &u)
 
void setAboveRelativeHorizontalSpeed (double val)
 
void setAboveRelativeHorizontalSpeed (double val, const std::string &u)
 
void setBelowRelativeVerticalSpeed (double val)
 
void setBelowRelativeVerticalSpeed (double val, const std::string &u)
 
void setAboveRelativeVerticalSpeed (double val)
 
void setAboveRelativeVerticalSpeed (double val, const std::string &u)
 
void setBelowRelativeAltitude (double val)
 
void setBelowRelativeAltitude (double val, const std::string &u)
 
void setAboveRelativeAltitude (double val)
 
void setAboveRelativeAltitude (double val, const std::string &u)
 
void setBelowToMinRelativeHorizontalSpeed ()
 
void setAboveToMaxRelativeHorizontalSpeed ()
 
void setBelowToMinRelativeVerticalSpeed ()
 
void setAboveToMaxRelativeVerticalSpeed ()
 
void setBelowToMinRelativeAltitude ()
 
void setAboveToMaxRelativeAltitude ()
 
void disableRelativeHorizontalSpeedBands ()
 
void disableRelativeVerticalSpeedBands ()
 
void disableRelativeAltitude ()
 
bool setHorizontalDirectionStep (double val)
 
bool setHorizontalDirectionStep (double val, const std::string &u)
 
bool setHorizontalSpeedStep (double val)
 
bool setHorizontalSpeedStep (double val, const std::string &u)
 
bool setVerticalSpeedStep (double val)
 
bool setVerticalSpeedStep (double val, const std::string &u)
 
bool setAltitudeStep (double val)
 
bool setAltitudeStep (double val, const std::string &u)
 
bool setHorizontalAcceleration (double val)
 
bool setHorizontalAcceleration (double val, const std::string &u)
 
bool setVerticalAcceleration (double val)
 
bool setVerticalAcceleration (double val, const std::string &u)
 
bool setTurnRate (double val)
 
bool setTurnRate (double val, const std::string &u)
 
bool setBankAngle (double val)
 
bool setBankAngle (double val, const std::string &u)
 
bool setVerticalRate (double val)
 
bool setVerticalRate (double val, const std::string &u)
 
bool setHorizontalNMAC (double val)
 
bool setHorizontalNMAC (double val, const std::string &u)
 
bool setVerticalNMAC (double val)
 
bool setVerticalNMAC (double val, const std::string &u)
 
bool setRecoveryStabilityTime (double val)
 
bool setRecoveryStabilityTime (double val, const std::string &u)
 
bool setHysteresisTime (double val)
 
bool setHysteresisTime (double val, const std::string &u)
 
bool setPersistenceTime (double val)
 
bool setPersistenceTime (double val, const std::string &u)
 
bool setPersistencePreferredHorizontalDirectionResolution (double val)
 
bool setPersistencePreferredHorizontalDirectionResolution (double val, const std::string &u)
 
bool setPersistencePreferredHorizontalSpeedResolution (double val)
 
bool setPersistencePreferredHorizontalSpeedResolution (double val, const std::string &u)
 
bool setPersistencePreferredVerticalSpeedResolution (double val)
 
bool setPersistencePreferredVerticalSpeedResolution (double val, const std::string &u)
 
bool setPersistencePreferredAltitudeResolution (double val)
 
bool setPersistencePreferredAltitudeResolution (double val, const std::string &u)
 
bool setAlertingMofN (int m, int n)
 
bool setMinHorizontalRecovery (double val)
 
bool setMinHorizontalRecovery (double val, const std::string &u)
 
bool setMinVerticalRecovery (double val)
 
bool setMinVerticalRecovery (double val, const std::string &u)
 
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 ()
 
bool isEnabledRecoveryHorizontalDirectionBands () const
 
bool isEnabledRecoveryHorizontalSpeedBands () const
 
bool isEnabledRecoveryVerticalSpeedBands () const
 
bool isEnabledRecoveryAltitudeBands () const
 
void setRecoveryBands (bool flag)
 
void enableRecoveryBands ()
 
void disableRecoveryBands ()
 
void setRecoveryHorizontalDirectionBands (bool flag)
 
void setRecoveryHorizontalSpeedBands (bool flag)
 
void setRecoveryVerticalSpeedBands (bool flag)
 
void setRecoveryAltitudeBands (bool flag)
 
bool isEnabledCollisionAvoidanceBands () const
 
void setCollisionAvoidanceBands (bool flag)
 
void enableCollisionAvoidanceBands ()
 
void disableCollisionAvoidanceBands ()
 
double getCollisionAvoidanceBandsFactor () const
 
bool setCollisionAvoidanceBandsFactor (double val)
 
double getHorizontalPositionZScore () const
 
bool setHorizontalPositionZScore (double val)
 
double getHorizontalVelocityZScoreMin () const
 
bool setHorizontalVelocityZScoreMin (double val)
 
double getHorizontalVelocityZScoreMax () const
 
bool setHorizontalVelocityZScoreMax (double val)
 
double getHorizontalVelocityZDistance () const
 
bool setHorizontalVelocityZDistance (double val)
 
double getHorizontalVelocityZDistance (const std::string &u) const
 
bool setHorizontalVelocityZDistance (double val, const std::string &u)
 
double getVerticalPositionZScore () const
 
bool setVerticalPositionZScore (double val)
 
double getVerticalSpeedZScore () const
 
bool setVerticalSpeedZScore (double val)
 
double getHorizontalContourThreshold () const
 
double getHorizontalContourThreshold (const std::string &u) const
 
bool setHorizontalContourThreshold (double val)
 
bool setHorizontalContourThreshold (double val, const std::string &u)
 
int getDTALogic () const
 
void setDTALogic (int dta_logic)
 
const PositiongetDTAPosition () const
 
void setDTALatitude (double lat)
 
void setDTALatitude (double lat, const std::string &ulat)
 
void setDTALongitude (double lon)
 
void setDTALongitude (double lon, const std::string &ulon)
 
double getDTARadius () const
 
double getDTARadius (const std::string &u) const
 
void setDTARadius (double val)
 
void setDTARadius (double val, const std::string &u)
 
double getDTAHeight () const
 
double getDTAHeight (const std::string &u) const
 
void setDTAHeight (double val)
 
void setDTAHeight (double val, const std::string &u)
 
int getDTAAlerter () const
 
void setDTAAlerter (int alerter)
 
void setAlertingLogic (bool ownship_centric)
 
void setOwnshipCentricAlertingLogic ()
 
void setIntruderCentricAlertingLogic ()
 
bool isAlertingLogicOwnshipCentric () const
 
BandsRegion::Region getCorrectiveRegion () const
 
bool setCorrectiveRegion (BandsRegion::Region val)
 
int correctiveAlertLevel (int alerter_idx)
 
int maxAlertLevel () const
 
void setInstantaneousBands ()
 
void setKinematicBands (bool type)
 
void disableHysteresis ()
 
bool loadFromFile (const std::string &file)
 
bool saveToFile (const std::string &file)
 
std::string toString () const
 
std::string toPVS () const
 
ParameterData getParameters () const
 
void updateParameterData (ParameterData &parameters) const
 
bool setParameterData (const ParameterData &p)
 
void setParameters (const ParameterData &p)
 
std::string getUnitsOf (const std::string &key) const
 
bool hasError () const
 
bool hasMessage () const
 
std::string getMessage ()
 
std::string getMessageNoClear () const
 

Static Public Member Functions

static void setDefaultOutputPrecision (int precision, bool trailing_zeros=false)
 
static const aliasestype & getAliases ()
 

Static Public Attributes

static const std::string VERSION = "2.0.2"
 
static const INT64FM ALMOST_ = PRECISION5
 

Private Member Functions

void set_alerter_with_SUM_parameters (Alerter &alerter)
 
void set_alerters_with_SUM_parameters ()
 
bool set_turn_rate (double val)
 
bool set_bank_angle (double val)
 
bool set_alerting_parameterM (int m)
 
bool set_alerting_parameterN (int n)
 
void writeAlerterList (ParameterData &p) const
 
void readAlerterList (const std::vector< std::string > &alerter_list, const ParameterData &params)
 

Static Private Member Functions

static void init ()
 
static bool contains (const ParameterData &p, const std::string &key)
 
static std::string getUnit (const ParameterData &p, const std::string &key)
 
static double getValue (const ParameterData &p, const std::string &key)
 
static bool getBool (const ParameterData &p, const std::string &key)
 
static int getInt (const ParameterData &p, const std::string &key)
 
static std::string getString (const ParameterData &p, const std::string &key)
 
static std::vector< std::string > getListString (const ParameterData &p, const std::string &key)
 

Private Attributes

std::vector< Alerteralerters_
 
ErrorLog error
 
double lookahead_time_
 
double left_hdir_
 
double right_hdir_
 
double min_hs_
 
double max_hs_
 
double min_vs_
 
double max_vs_
 
double min_alt_
 
double max_alt_
 
double below_relative_hs_
 
double above_relative_hs_
 
double below_relative_vs_
 
double above_relative_vs_
 
double below_relative_alt_
 
double above_relative_alt_
 
double step_hdir_
 
double step_hs_
 
double step_vs_
 
double step_alt_
 
double horizontal_accel_
 
double vertical_accel_
 
double turn_rate_
 
double bank_angle_
 
double vertical_rate_
 
double min_horizontal_recovery_
 
double min_vertical_recovery_
 
bool recovery_hdir_
 
bool recovery_hs_
 
bool recovery_vs_
 
bool recovery_alt_
 
bool ca_bands_
 
double ca_factor_
 
double horizontal_nmac_
 
double vertical_nmac_
 
double recovery_stability_time_
 
double hysteresis_time_
 
double persistence_time_
 
bool bands_persistence_
 
double persistence_preferred_hdir_
 
double persistence_preferred_hs_
 
double persistence_preferred_vs_
 
double persistence_preferred_alt_
 
int alerting_m_
 
int alerting_n_
 
bool conflict_crit_
 
bool recovery_crit_
 
double h_pos_z_score_
 
double h_vel_z_score_min_
 
double h_vel_z_score_max_
 
double h_vel_z_distance_
 
double v_pos_z_score_
 
double v_vel_z_score_
 
double contour_thr_
 
int dta_logic_
 
double dta_latitude_
 
double dta_longitude_
 
double dta_radius_
 
double dta_height_
 
int dta_alerter_
 
bool ownship_centric_alerting_
 
BandsRegion::Region corrective_region_
 
std::map< std::string, std::string > units_
 

Static Private Attributes

static bool initialized = false
 

Member Function Documentation

◆ addAlerter()

int larcfm::DaidalusParameters::addAlerter ( const Alerter alerter)

Add alerter (if id of alerter already exists, replaces alerter with new one). Return index of added alerter

◆ correctiveAlertLevel()

int larcfm::DaidalusParameters::correctiveAlertLevel ( int  alerter_idx)
Parameters
alerter_idxIndice of an alerter (starting from 1)
Returns
corrective level of alerter at alerter_idx. The corrective level is the first alert level that has a region equal to or more severe than corrective_region. Return -1 if alerter_idx is out of range or if there is no corrective alert level for this alerter.

◆ disableBandsPersistence()

void larcfm::DaidalusParameters::disableBandsPersistence ( )

Disable bands persistence

◆ disableCollisionAvoidanceBands()

void larcfm::DaidalusParameters::disableCollisionAvoidanceBands ( )

Disable collision avoidance bands.

◆ disableConflictCriteria()

void larcfm::DaidalusParameters::disableConflictCriteria ( )

Disable repulsive criteria for conflict bands.

◆ disableRecoveryBands()

void larcfm::DaidalusParameters::disableRecoveryBands ( )

Disable all recovery bands for track, ground speed, vertical speed, and altitude.

◆ disableRecoveryCriteria()

void larcfm::DaidalusParameters::disableRecoveryCriteria ( )

Disable repulsive criteria for recovery bands.

◆ disableRepulsiveCriteria()

void larcfm::DaidalusParameters::disableRepulsiveCriteria ( )

Disable repulsive criteria for conflict and recovery bands.

◆ enableBandsPersistence()

void larcfm::DaidalusParameters::enableBandsPersistence ( )

Enable bands persistence

◆ enableCollisionAvoidanceBands()

void larcfm::DaidalusParameters::enableCollisionAvoidanceBands ( )

Enable collision avoidance bands.

◆ enableConflictCriteria()

void larcfm::DaidalusParameters::enableConflictCriteria ( )

Enable repulsive criteria for conflict bands.

◆ enableRecoveryBands()

void larcfm::DaidalusParameters::enableRecoveryBands ( )

Enable all recovery bands for track, ground speed, vertical speed, and altitude.

◆ enableRecoveryCriteria()

void larcfm::DaidalusParameters::enableRecoveryCriteria ( )

Enable repulsive criteria for recovery bands.

◆ enableRepulsiveCriteria()

void larcfm::DaidalusParameters::enableRepulsiveCriteria ( )

Enable repulsive criteria for conflict and recovery bands.

◆ getAlertingParameterM()

int larcfm::DaidalusParameters::getAlertingParameterM ( ) const
Returns
Alerting parameter m of "M of N" strategy

◆ getAlertingParameterN()

int larcfm::DaidalusParameters::getAlertingParameterN ( ) const
Returns
Alerting parameter m of "M of N" strategy
Alerting parameter n of "M of N" strategy

◆ getCollisionAvoidanceBandsFactor()

double larcfm::DaidalusParameters::getCollisionAvoidanceBandsFactor ( ) const
Returns
get factor for computing collision avoidance bands. Factor value is in (0,1]

◆ getCorrectiveRegion()

BandsRegion::Region larcfm::DaidalusParameters::getCorrectiveRegion ( ) const

Get corrective region for calculation of resolution maneuvers and bands saturation.

◆ getDTAAlerter()

int larcfm::DaidalusParameters::getDTAAlerter ( ) const

Get DAA Terminal Area (DTA) alerter

◆ getDTAHeight() [1/2]

double larcfm::DaidalusParameters::getDTAHeight ( ) const

Get DAA Terminal Area (DTA) height (internal units)

◆ getDTAHeight() [2/2]

double larcfm::DaidalusParameters::getDTAHeight ( const std::string &  u) const

Get DAA Terminal Area (DTA) height in given units

◆ getDTALogic()

int larcfm::DaidalusParameters::getDTALogic ( ) const

DTA Logic: 0: Disabled 1: Enabled special DTA maneuver guidance. Horizontal recovery is fully enabled, but vertical recovery blocks down resolutions when alert is higher than corrective. -1: Enabled special DTA maneuver guidance. Horizontal recovery is disabled, vertical recovery blocks down resolutions when raw alert is higher than corrective. NOTE: When DTA logic is enabled, DAIDALUS automatically switches to DTA alerter and to special maneuver guidance, when aircraft enters DTA volume (depending on ownship- vs intruder-centric logic).

◆ getDTAPosition()

const Position & larcfm::DaidalusParameters::getDTAPosition ( ) const

Get DAA Terminal Area (DTA) position (lat/lon)

◆ getDTARadius() [1/2]

double larcfm::DaidalusParameters::getDTARadius ( ) const

Get DAA Terminal Area (DTA) radius (internal units)

◆ getDTARadius() [2/2]

double larcfm::DaidalusParameters::getDTARadius ( const std::string &  u) const

Get DAA Terminal Area (DTA) radius in given units

◆ getHorizontalContourThreshold() [1/2]

double larcfm::DaidalusParameters::getHorizontalContourThreshold ( ) const

Get horizontal contour threshold, specified in internal units [rad] as an angle to the left/right of current aircraft direction. A value of 0 means only conflict contours. A value of pi means all contours.

◆ getHorizontalContourThreshold() [2/2]

double larcfm::DaidalusParameters::getHorizontalContourThreshold ( const std::string &  u) const

Get horizontal contour threshold, specified in given units [u] as an angle to the left/right of current aircraft direction. A value of 0 means only conflict contours. A value of pi means all contours.

◆ getHysteresisTime() [1/2]

double larcfm::DaidalusParameters::getHysteresisTime ( ) const
Returns
hysteresis time in seconds.

◆ getHysteresisTime() [2/2]

double larcfm::DaidalusParameters::getHysteresisTime ( const std::string &  u) const
Returns
hysteresis time in specified units [u]

◆ getLookaheadTime() [1/2]

double larcfm::DaidalusParameters::getLookaheadTime ( ) const
Returns
lookahead time in seconds.

◆ getLookaheadTime() [2/2]

double larcfm::DaidalusParameters::getLookaheadTime ( const std::string &  u) const
Returns
lookahead time in specified units [u].

◆ getMessage()

std::string larcfm::DaidalusParameters::getMessage ( )
virtual

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.

Returns
error and warning messages. If there are no messages, an empty string is returned.

Implements larcfm::ErrorReporter.

◆ getMessageNoClear()

std::string larcfm::DaidalusParameters::getMessageNoClear ( ) const
virtual

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.)

Returns
error and warning messages. If there are no messages, an empty string is returned.

Implements larcfm::ErrorReporter.

◆ getParameters()

ParameterData larcfm::DaidalusParameters::getParameters ( ) const
virtual

◆ hasError()

bool larcfm::DaidalusParameters::hasError ( ) const
virtual

Does this object have an error?

Returns
true if there is an error.

Implements larcfm::ErrorReporter.

◆ hasMessage()

bool larcfm::DaidalusParameters::hasMessage ( ) const
virtual

Does this object have an error or a warning?

Returns
true if there is an error or warning.

Implements larcfm::ErrorReporter.

◆ isAlertingLogicOwnshipCentric()

bool larcfm::DaidalusParameters::isAlertingLogicOwnshipCentric ( ) const
Returns
true if alerting/guidance logic is ownship centric.

◆ isEnabledBandsPersistence()

bool larcfm::DaidalusParameters::isEnabledBandsPersistence ( ) const
Returns
true if bands persistence is enabled

◆ isEnabledCollisionAvoidanceBands()

bool larcfm::DaidalusParameters::isEnabledCollisionAvoidanceBands ( ) const
Returns
true if collision avoidance bands are enabled.

◆ isEnabledConflictCriteria()

bool larcfm::DaidalusParameters::isEnabledConflictCriteria ( ) const
Returns
true if repulsive criteria is enabled for conflict bands.

◆ isEnabledRecoveryAltitudeBands()

bool larcfm::DaidalusParameters::isEnabledRecoveryAltitudeBands ( ) const
Returns
true if recovery bands for altitude bands is enabled.

◆ isEnabledRecoveryCriteria()

bool larcfm::DaidalusParameters::isEnabledRecoveryCriteria ( ) const
Returns
true if repulsive criteria is enabled for recovery bands.

◆ isEnabledRecoveryHorizontalDirectionBands()

bool larcfm::DaidalusParameters::isEnabledRecoveryHorizontalDirectionBands ( ) const
Returns
recovery bands flag for track bands.

◆ isEnabledRecoveryHorizontalSpeedBands()

bool larcfm::DaidalusParameters::isEnabledRecoveryHorizontalSpeedBands ( ) const
Returns
recovery bands flag for ground speed bands.

◆ isEnabledRecoveryVerticalSpeedBands()

bool larcfm::DaidalusParameters::isEnabledRecoveryVerticalSpeedBands ( ) const
Returns
true if recovery bands for vertical speed bands is enabled.

◆ loadFromFile()

bool larcfm::DaidalusParameters::loadFromFile ( const std::string &  file)

Load parameters from file.

◆ maxAlertLevel()

int larcfm::DaidalusParameters::maxAlertLevel ( ) const
Returns
maximum alert level for all alerters. Returns 0 if alerter list is empty.

◆ readAlerterList()

void larcfm::DaidalusParameters::readAlerterList ( const std::vector< std::string > &  alerter_list,
const ParameterData params 
)
private

This parses parameters involved with a list of Alerter objects, if properly specified. The list will be sorted by the instance identifiers.

Specifically this looks for parameters: alerterNameList : create Alerter objects for each item in the list XXX_* : parameters associated with Alerter with id "XXX"

The user still needs to assign these to the appropriate object(s). If no alternates are loaded, return the empty list.

If verbose is false (default true), suppress all status messages except exceptions

◆ saveToFile()

bool larcfm::DaidalusParameters::saveToFile ( const std::string &  file)

Write parameters to file.

◆ set_alerter_with_SUM_parameters()

void larcfm::DaidalusParameters::set_alerter_with_SUM_parameters ( Alerter alerter)
private

This method is needed because WCV_TAUMOD_SUM doesn't require the user to initialize SUM parameters, which may be specified globally.

◆ set_alerters_with_SUM_parameters()

void larcfm::DaidalusParameters::set_alerters_with_SUM_parameters ( )
private

This method is needed because WCV_TAUMOD_SUM doesn't require the user to initialize SUM parameters, which may be specified globally.

◆ set_alerting_parameterM()

bool larcfm::DaidalusParameters::set_alerting_parameterM ( int  m)
private

Set alerting parameter m of "M of N" strategy

◆ set_alerting_parameterN()

bool larcfm::DaidalusParameters::set_alerting_parameterN ( int  n)
private

Set alerting parameter n of "M of N" strategy

◆ setAlertingLogic()

void larcfm::DaidalusParameters::setAlertingLogic ( bool  ownship_centric)

Set alerting logic to the value indicated by ownship_centric. If ownship_centric is true, alerting and guidance logic will use the alerter in ownship. Alerter in every intruder will be disregarded. If ownship_centric is false, alerting and guidance logic will use the alerter in every intruder. Alerter in ownship will be disregarded.

◆ setAlertingMofN()

bool larcfm::DaidalusParameters::setAlertingMofN ( int  m,
int  n 
)

Set alerting parameters of M of N strategy

◆ setBandsPersistence()

void larcfm::DaidalusParameters::setBandsPersistence ( bool  flag)

Enable/disable bands persistence

◆ setCollisionAvoidanceBands()

void larcfm::DaidalusParameters::setCollisionAvoidanceBands ( bool  flag)

Enable/disable collision avoidance bands.

◆ setCollisionAvoidanceBandsFactor()

bool larcfm::DaidalusParameters::setCollisionAvoidanceBandsFactor ( double  val)
Returns
set factor for computing collision avoidance bands. Factor value is in (0,1]

◆ setConflictCriteria()

void larcfm::DaidalusParameters::setConflictCriteria ( bool  flag)

Enable/disable repulsive criteria for conflict bands.

◆ setCorrectiveRegion()

bool larcfm::DaidalusParameters::setCorrectiveRegion ( BandsRegion::Region  val)

Set corrective region for calculation of resolution maneuvers and bands saturation.

◆ setDefaultOutputPrecision()

void larcfm::DaidalusParameters::setDefaultOutputPrecision ( int  precision,
bool  trailing_zeros = false 
)
static

The following method set default output precision and enable/disable trailing zeros. It doesn't affect computations

The following method set default output precision and enable/disable trailing zeros. It doesn't affect computations.

◆ setDTAAlerter()

void larcfm::DaidalusParameters::setDTAAlerter ( int  alerter)

Set DAA Terminal Area (DTA) alerter

◆ setDTAHeight() [1/2]

void larcfm::DaidalusParameters::setDTAHeight ( double  val)

Set DAA Terminal Area (DTA) height (internal units)

◆ setDTAHeight() [2/2]

void larcfm::DaidalusParameters::setDTAHeight ( double  val,
const std::string &  u 
)

Set DAA Terminal Area (DTA) height in given units

◆ setDTALatitude() [1/2]

void larcfm::DaidalusParameters::setDTALatitude ( double  lat)

Set DAA Terminal Area (DTA) latitude (internal units)

◆ setDTALatitude() [2/2]

void larcfm::DaidalusParameters::setDTALatitude ( double  lat,
const std::string &  ulat 
)

Set DAA Terminal Area (DTA) latitude in given units

◆ setDTALogic()

void larcfm::DaidalusParameters::setDTALogic ( int  dta_logic)

DTA Logic: 0: Disabled 1: Enabled special DTA maneuver guidance. Horizontal recovery is fully enabled, but vertical recovery blocks down resolutions when alert is higher than corrective. -1: Enabled special DTA maneuver guidance. Horizontal recovery is disabled, vertical recovery blocks down resolutions when raw alert is higher than corrective. NOTE: When DTA logic is enabled, DAIDALUS automatically switches to DTA alerter and to special maneuver guidance, when aircraft enters DTA volume (depending on ownship- vs intruder-centric logic).

◆ setDTALongitude() [1/2]

void larcfm::DaidalusParameters::setDTALongitude ( double  lon)

Set DAA Terminal Area (DTA) longitude (internal units)

◆ setDTALongitude() [2/2]

void larcfm::DaidalusParameters::setDTALongitude ( double  lon,
const std::string &  ulon 
)

Set DAA Terminal Area (DTA) longitude in given units

◆ setDTARadius() [1/2]

void larcfm::DaidalusParameters::setDTARadius ( double  val)

Set DAA Terminal Area (DTA) radius (internal units)

◆ setDTARadius() [2/2]

void larcfm::DaidalusParameters::setDTARadius ( double  val,
const std::string &  u 
)

Set DAA Terminal Area (DTA) radius in given units

◆ setHorizontalContourThreshold() [1/2]

bool larcfm::DaidalusParameters::setHorizontalContourThreshold ( double  val)

Set horizontal contour threshold, specified in internal units [rad] [0 - pi] as an angle to the left/right of current aircraft direction. A value of 0 means only conflict contours. A value of pi means all contours.

◆ setHorizontalContourThreshold() [2/2]

bool larcfm::DaidalusParameters::setHorizontalContourThreshold ( double  val,
const std::string &  u 
)

Set horizontal contour threshold, specified in given units [u] [0 - pi] as an angle to the left/right of current aircraft direction. A value of 0 means only conflict contours. A value of pi means all contours.

◆ setInstantaneousBands()

void larcfm::DaidalusParameters::setInstantaneousBands ( )

Set instantaneous bands.

◆ setIntruderCentricAlertingLogic()

void larcfm::DaidalusParameters::setIntruderCentricAlertingLogic ( )

Set alerting and guidance logic to intruder-centric. Alerting and guidance logic will use the alerter in every intruder. Alerter in ownship will be disregarded.

◆ setKinematicBands()

void larcfm::DaidalusParameters::setKinematicBands ( bool  type)

Set kinematic bands. Set turn rate to 3 deg/s, when type is true; set turn rate to 1.5 deg/s when type is false;

◆ setOwnshipCentricAlertingLogic()

void larcfm::DaidalusParameters::setOwnshipCentricAlertingLogic ( )

Set alerting and guidance logic to ownship-centric. Alerting and guidance logic will use the alerter in ownship. Alerter in every intruder will be disregarded.

◆ setParameters()

void larcfm::DaidalusParameters::setParameters ( const ParameterData p)
virtual

◆ setRecoveryAltitudeBands()

void larcfm::DaidalusParameters::setRecoveryAltitudeBands ( bool  flag)

Sets recovery bands flag for altitude bands to value.

◆ setRecoveryBands()

void larcfm::DaidalusParameters::setRecoveryBands ( bool  flag)

Enable/disable recovery bands for track, ground speed, vertical speed, and altitude.

◆ setRecoveryCriteria()

void larcfm::DaidalusParameters::setRecoveryCriteria ( bool  flag)

Enable/disable repulsive criteria for recovery bands.

◆ setRecoveryHorizontalDirectionBands()

void larcfm::DaidalusParameters::setRecoveryHorizontalDirectionBands ( bool  flag)

Sets recovery bands flag for track bands to value.

◆ setRecoveryHorizontalSpeedBands()

void larcfm::DaidalusParameters::setRecoveryHorizontalSpeedBands ( bool  flag)

Sets recovery bands flag for ground speed bands to value.

◆ setRecoveryVerticalSpeedBands()

void larcfm::DaidalusParameters::setRecoveryVerticalSpeedBands ( bool  flag)

Sets recovery bands flag for vertical speed bands to value.

◆ setRepulsiveCriteria()

void larcfm::DaidalusParameters::setRepulsiveCriteria ( bool  flag)

Enable/disable repulsive criteria for conflict and recovery bands.

◆ updateParameterData()

void larcfm::DaidalusParameters::updateParameterData ( ParameterData parameters) const
virtual

◆ writeAlerterList()

void larcfm::DaidalusParameters::writeAlerterList ( ParameterData p) const
private

Return a ParameterData suitable to be read by readAlerterList() based on the supplied Alerter instances.

Parameters
alerterslist of Alerter instances
orderedtrue to modify identifiers to ensure they retain the input list's ordering when decoded, false will only modify identifiers if they are not unique This is a cosmetic alteration to allow for the string representation to have parameters grouped together.

Return a ParameterData suitable to be read by readAlerterList() based on the supplied Alerter instances. This is a cosmetic alteration to allow for the string representation to have parameters grouped together.

Member Data Documentation

◆ dta_logic_

int larcfm::DaidalusParameters::dta_logic_
private

DTA Logic: 0: Disabled 1: Enabled special DTA maneuver guidance. Horizontal recovery is fully enabled, but vertical recovery blocks down resolutions when alert is higher than corrective. -1: Enabled special DTA maneuver guidance. Horizontal recovery is disabled, vertical recovery blocks down resolutions when raw alert is higher than corrective. NOTE: When DTA logic is enabled, DAIDALUS automatically switches to DTA alerter and to special maneuver guidance, when aircraft enters DTA volume (depending on ownship- vs intruder-centric logic).

◆ VERSION

const std::string larcfm::DaidalusParameters::VERSION = "2.0.2"
static

DAIDALUS version


The documentation for this class was generated from the following files: