ICAROUS
All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Modules Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
larcfm::KinematicAltBands Class Reference
Inheritance diagram for larcfm::KinematicAltBands:
larcfm::KinematicRealBands larcfm::KinematicIntegerBands

Public Member Functions

 KinematicAltBands (const KinematicBandsParameters &parameters)
 
 KinematicAltBands (const KinematicAltBands &b)
 
bool instantaneous_bands () const
 
double get_vertical_rate () const
 
void set_vertical_rate (double val)
 
double get_vertical_accel () const
 
void set_vertical_accel (double val)
 
double own_val (const TrafficState &ownship) const
 
double time_step (const TrafficState &ownship) const
 
std::pair< Vect3, Velocitytrajectory (const TrafficState &ownship, double time, bool dir) const
 
void none_bands (IntervalSet &noneset, Detection3D *conflict_det, Detection3D *recovery_det, const TrafficState &repac, int epsh, int epsv, double B, double T, const TrafficState &ownship, const std::vector< TrafficState > &traffic)
 
bool any_red (Detection3D *conflict_det, Detection3D *recovery_det, const TrafficState &repac, int epsh, int epsv, double B, double T, const TrafficState &ownship, const std::vector< TrafficState > &traffic)
 
bool all_red (Detection3D *conflict_det, Detection3D *recovery_det, const TrafficState &repac, int epsh, int epsv, double B, double T, const TrafficState &ownship, const std::vector< TrafficState > &traffic)
 
double resolution (Detection3D *conflict_det, Detection3D *recovery_det, const TrafficState &repac, int epsh, int epsv, double B, double T, const TrafficState &ownship, const std::vector< TrafficState > &traffic, bool dir)
 
- Public Member Functions inherited from larcfm::KinematicRealBands
 KinematicRealBands (double min, double max, bool rel, double mod, double step, bool recovery)
 
 KinematicRealBands (double min, double max, double step, bool recovery)
 
 KinematicRealBands (const KinematicRealBands &b)
 
double get_min () const
 
double get_max () const
 
bool get_rel () const
 
double get_mod () const
 
double get_step () const
 
bool get_recovery () const
 
void set_min (double val)
 
void set_max (double val)
 
void set_rel (bool val)
 
void set_mod (double val)
 
void set_step (double val)
 
void set_recovery (bool flag)
 
double min_val (const TrafficState &ownship) const
 
double min_rel (const TrafficState &ownship) const
 
double max_val (const TrafficState &ownship) const
 
double max_rel (const TrafficState &ownship) const
 
bool check_input (const KinematicBandsCore &core)
 
bool kinematic_conflict (KinematicBandsCore &core, const TrafficState &ac, Detection3D *detector, double alerting_time)
 
int length (KinematicBandsCore &core)
 
Interval interval (KinematicBandsCore &core, int i)
 
BandsRegion::Region region (KinematicBandsCore &core, int i)
 
int rangeOf (KinematicBandsCore &core, double val)
 
void reset ()
 
void force_compute (KinematicBandsCore &core)
 
std::vector< TrafficState > const & peripheralAircraft (KinematicBandsCore &core, int alert_level)
 
double timeToRecovery (KinematicBandsCore &core)
 
std::vector< BandsRange > const & ranges (KinematicBandsCore &core)
 
double compute_resolution (KinematicBandsCore &core, int alert_level, bool dir)
 
bool preferred_direction (KinematicBandsCore &core, int alert_level)
 
double last_time_to_maneuver (KinematicBandsCore &core, const TrafficState &ac)
 
void toIntervalSet (IntervalSet &noneset, const std::vector< Integerval > &l, double scal, double add, double min, double max)
 
bool all_green (Detection3D *conflict_det, Detection3D *recovery_det, const TrafficState &repac, int epsh, int epsv, double B, double T, const TrafficState &ownship, const std::vector< TrafficState > &traffic)
 
bool any_green (Detection3D *conflict_det, Detection3D *recovery_det, const TrafficState &repac, int epsh, int epsv, double B, double T, const TrafficState &ownship, const std::vector< TrafficState > &traffic)
 
std::string toString () const
 
std::string toPVS (int prec) const
 
- Public Member Functions inherited from larcfm::KinematicIntegerBands
bool no_conflict (Detection3D *conflict_det, Detection3D *recovery_det, double B, double T, double B2, double T2, bool trajdir, double tsk, const TrafficState &ownship, const std::vector< TrafficState > &traffic) const
 
void kinematic_bands_combine (std::vector< Integerval > &l, Detection3D *conflict_det, Detection3D *recovery_det, double tstep, double B, double T, double B2, double T2, int maxl, int maxr, const TrafficState &ownship, const std::vector< TrafficState > &traffic, const TrafficState &repac, int epsh, int epsv) const
 
bool any_los_aircraft (Detection3D *det, bool trajdir, double tsk, const TrafficState &ownship, const std::vector< TrafficState > &traffic) const
 
int first_green (Detection3D *conflict_det, Detection3D *recovery_det, double tstep, double B, double T, double B2, double T2, bool trajdir, int max, const TrafficState &ownship, const std::vector< TrafficState > &traffic, const TrafficState &repac, int epsh, int epsv) const
 
bool all_int_red (Detection3D *conflict_det, Detection3D *recovery_det, double tstep, double B, double T, double B2, double T2, int maxl, int maxr, const TrafficState &ownship, const std::vector< TrafficState > &traffic, const TrafficState &repac, int epsh, int epsv, int dir) const
 
bool any_conflict_aircraft (Detection3D *det, double B, double T, bool trajdir, double tsk, const TrafficState &ownship, const std::vector< TrafficState > &traffic) const
 
void instantaneous_bands_combine (std::vector< Integerval > &l, Detection3D *conflict_det, Detection3D *recovery_det, double B, double T, double B2, double T2, int maxl, int maxr, const TrafficState &ownship, const std::vector< TrafficState > &traffic, const TrafficState &repac, int epsh, int epsv)
 
bool red_band_exist (Detection3D *conflict_det, Detection3D *recovery_det, double tstep, double B, double T, double B2, double T2, bool trajdir, int max, const TrafficState &ownship, const std::vector< TrafficState > &traffic, const TrafficState &repac, int epsh, int epsv) const
 
bool any_int_red (Detection3D *conflict_det, Detection3D *recovery_det, double tstep, double B, double T, double B2, double T2, int maxl, int maxr, const TrafficState &ownship, const std::vector< TrafficState > &traffic, const TrafficState &repac, int epsh, int epsv, int dir) const
 
bool all_instantaneous_red (Detection3D *conflict_det, Detection3D *recovery_det, double B, double T, double B2, double T2, int maxl, int maxr, const TrafficState &ownship, const std::vector< TrafficState > &traffic, const TrafficState &repac, int epsh, int epsv, int dir)
 
bool any_instantaneous_red (Detection3D *conflict_det, Detection3D *recovery_det, double B, double T, double B2, double T2, int maxl, int maxr, const TrafficState &ownship, const std::vector< TrafficState > &traffic, const TrafficState &repac, int epsh, int epsv, int dir)
 

Private Member Functions

bool conflict_free_traj_step (Detection3D *conflict_det, Detection3D *recovery_det, double B, double T, double B2, double T2, const TrafficState &ownship, const std::vector< TrafficState > &traffic) const
 
void alt_bands_generic (std::vector< Integerval > &l, Detection3D *conflict_det, Detection3D *recovery_det, double B, double T, double B2, double T2, const TrafficState &ownship, const std::vector< TrafficState > &traffic)
 
int first_nat (int mini, int maxi, bool dir, Detection3D *conflict_det, Detection3D *recovery_det, double B, double T, double B2, double T2, const TrafficState &ownship, const std::vector< TrafficState > &traffic, bool green)
 
int first_band_alt_generic (Detection3D *conflict_det, Detection3D *recovery_det, double B, double T, double B2, double T2, const TrafficState &ownship, const std::vector< TrafficState > &traffic, bool dir, bool green)
 

Private Attributes

double vertical_rate_
 
double vertical_accel_
 

Additional Inherited Members

- Static Public Member Functions inherited from larcfm::KinematicIntegerBands
static void append_intband (std::vector< Integerval > &l, std::vector< Integerval > &r)
 
static void neg (std::vector< Integerval > &l)
 
- Protected Attributes inherited from larcfm::KinematicIntegerBands
int j_step_
 

Member Function Documentation

◆ all_red()

bool larcfm::KinematicAltBands::all_red ( Detection3D conflict_det,
Detection3D recovery_det,
const TrafficState repac,
int  epsh,
int  epsv,
double  B,
double  T,
const TrafficState ownship,
const std::vector< TrafficState > &  traffic 
)
virtual

Reimplemented from larcfm::KinematicRealBands.

◆ any_red()

bool larcfm::KinematicAltBands::any_red ( Detection3D conflict_det,
Detection3D recovery_det,
const TrafficState repac,
int  epsh,
int  epsv,
double  B,
double  T,
const TrafficState ownship,
const std::vector< TrafficState > &  traffic 
)
virtual

Reimplemented from larcfm::KinematicRealBands.

◆ instantaneous_bands()

bool larcfm::KinematicAltBands::instantaneous_bands ( ) const
virtual

◆ none_bands()

void larcfm::KinematicAltBands::none_bands ( IntervalSet noneset,
Detection3D conflict_det,
Detection3D recovery_det,
const TrafficState repac,
int  epsh,
int  epsv,
double  B,
double  T,
const TrafficState ownship,
const std::vector< TrafficState > &  traffic 
)
virtual

Reimplemented from larcfm::KinematicRealBands.

◆ own_val()

double larcfm::KinematicAltBands::own_val ( const TrafficState ownship) const
virtual

◆ resolution()

double larcfm::KinematicAltBands::resolution ( Detection3D conflict_det,
Detection3D recovery_det,
const TrafficState repac,
int  epsh,
int  epsv,
double  B,
double  T,
const TrafficState ownship,
const std::vector< TrafficState > &  traffic,
bool  dir 
)
virtual

This function returns a resolution maneuver that is valid from B to T. It returns NaN if there is no conflict and +/- infinity, depending on dir, if there are no resolutions. The value dir=false is down and dir=true is up.

Reimplemented from larcfm::KinematicRealBands.

◆ time_step()

double larcfm::KinematicAltBands::time_step ( const TrafficState ownship) const
virtual

◆ trajectory()

std::pair< Vect3, Velocity > larcfm::KinematicAltBands::trajectory ( const TrafficState ownship,
double  time,
bool  dir 
) const
virtual

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