ICAROUS
All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Modules Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
TargetTracker Class Reference

TargetTracker.

#include <TargetTracker.hpp>

Public Member Functions

 TargetTracker (std::string callsign, std::string configFile)
 Construct a new Target Tracker object. More...
 
void ReadParamFromFile (std::string configFile)
 Read parameters from file. More...
 
void SetHomePosition (larcfm::Position &home)
 Set the Home Position object. More...
 
void SetGateThresholds (double p, double v)
 Set the chi2 gating thresholds. More...
 
void UpdatePredictions (double time)
 Update track predictions for given time. More...
 
void SetModelUncertainty (double sigmaP[6], double sigmaV[6])
 Set the Model Uncertainty. More...
 
void InputCurrentState (double time, larcfm::Position &pos, larcfm::Velocity &vel, double sigmaP[6], double sigmaV[6])
 Input ownship information. More...
 
void InputMeasurement (measurement &traffic)
 Input measurement data. More...
 
int GetTotalTraffic ()
 Get the total traffic. More...
 
measurement GetIntruderData (int i)
 Get intruder. More...
 
measurement GetData (int i)
 Get track data at given index. More...
 

Private Member Functions

int CheckValidationGate (measurement &data)
 Check if mahalanobis distance criteria is satisfied. More...
 
void UpdateEstimate (measurement &prediction, measurement &value, bool onlyPrediction=false, double time=0)
 Perform filter updates. More...
 

Private Attributes

std::string callsign
 ownship callsign
 
std::ofstream logFile
 tracker log file
 
bool log
 log enable status
 
double timeout
 track timeout
 
double modelUncertaintyP [6]
 position uncertainty associated with prediction model
 
double modelUncertaintyV [6]
 velocity uncertainty associated with velocity model
 
double pThreshold
 chi2 threshold for mahalanobis distance - position error
 
double vThreshold
 chi2 threshold for mahalanobis distance - velocity error
 
larcfm::Position homePos
 initial position - use to produce NED projections
 
measurement currentState
 current state of ownship
 
std::vector< measurementtracks
 tracked measurements
 
larcfm::EuclideanProjection proj
 projection
 
int totalTracks
 total tracks
 
double prevLogTime
 previous log time
 

Constructor & Destructor Documentation

◆ TargetTracker()

TargetTracker::TargetTracker ( std::string  callsign,
std::string  configFile 
)
Parameters
callsign
configFile

Member Function Documentation

◆ CheckValidationGate()

int TargetTracker::CheckValidationGate ( measurement data)
private
Parameters
datainput measurement
Returns
int index of track the input data is associated with. -1 if no associations are found

◆ GetData()

measurement TargetTracker::GetData ( int  i)
Parameters
istarts with 0. 0th index is ownship
Returns
measurement

◆ GetIntruderData()

measurement TargetTracker::GetIntruderData ( int  i)
Parameters
istarts with 0. 0th index is first traffic track
Returns
measurement

◆ GetTotalTraffic()

int TargetTracker::GetTotalTraffic ( )
Returns
int

◆ InputCurrentState()

void TargetTracker::InputCurrentState ( double  time,
larcfm::Position pos,
larcfm::Velocity vel,
double  sigmaP[6],
double  sigmaV[6] 
)
Parameters
time
pos
vel
sigmaPcovariances for xx,yy,zz,xy,xz,yz
sigmaVcovariances for xx,yy,zz,xy,xz,yz

◆ InputMeasurement()

void TargetTracker::InputMeasurement ( measurement traffic)
Parameters
traffic

◆ ReadParamFromFile()

void TargetTracker::ReadParamFromFile ( std::string  configFile)
Parameters
configFile

◆ SetGateThresholds()

void TargetTracker::SetGateThresholds ( double  p,
double  v 
)
Parameters
pposition error threshold
vvelocity error threshold

◆ SetHomePosition()

void TargetTracker::SetHomePosition ( larcfm::Position home)
Parameters
home

◆ SetModelUncertainty()

void TargetTracker::SetModelUncertainty ( double  sigmaP[6],
double  sigmaV[6] 
)
Parameters
sigmaPxx,yy,zz,xy,xz,yz
sigmaVxx,yy,zz,xy,xz,yz

◆ UpdateEstimate()

void TargetTracker::UpdateEstimate ( measurement prediction,
measurement value,
bool  onlyPrediction = false,
double  time = 0 
)
private
Parameters
predictionprevious know measurement
valuenew measurement to fuse into update
onlyPredictionperform only prediction
timetime to be used for updatess if not available in the measurement

◆ UpdatePredictions()

void TargetTracker::UpdatePredictions ( double  time)
Parameters
time

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