DUNE: Uniform Navigational Environment  2022.04.1
Navigation::General::LBL::Task Struct Reference

Public Member Functions

 Task (const std::string &name, Tasks::Context &ctx)
 
void onUpdateParameters (void)
 
void onResourceInitialization (void)
 
void onResourceRelease (void)
 
void consume (const IMC::EstimatedState *msg)
 
void consume (const IMC::EulerAngles *msg)
 
void consume (const IMC::GpsFix *msg)
 
void consume (const IMC::LblConfig *msg)
 
void consume (const IMC::LblRange *msg)
 
void setup (void)
 
void startFilter (const IMC::GpsFix *msg)
 
void reset (unsigned index)
 
void setState (unsigned index)
 
void onMain (void)
 

Public Attributes

double m_last_n
 
double m_last_e
 
float m_last_depth
 
double m_yaw
 
DUNE::Navigation::Ranging m_ranging
 
IMC::GpsFix * m_origin
 
IMC::LblEstimate * m_estimate [DUNE::Navigation::c_max_transponders]
 
uint16_t m_gps_val_bits
 
Time::Counter< double > m_time_without_gps
 
std::vector< MovingAverage< double > > m_north_avg
 
std::vector< MovingAverage< double > > m_east_avg
 
KalmanFilter m_kal
 
Arguments m_args
 

Constructor & Destructor Documentation

◆ Task()

Member Function Documentation

◆ consume() [1/5]

void Navigation::General::LBL::Task::consume ( const IMC::EstimatedState *  msg)
inline

◆ consume() [2/5]

void Navigation::General::LBL::Task::consume ( const IMC::EulerAngles *  msg)
inline

◆ consume() [3/5]

void Navigation::General::LBL::Task::consume ( const IMC::GpsFix *  msg)
inline

◆ consume() [4/5]

void Navigation::General::LBL::Task::consume ( const IMC::LblConfig *  msg)
inline

◆ consume() [5/5]

◆ onMain()

void Navigation::General::LBL::Task::onMain ( void  )
inline

◆ onResourceInitialization()

void Navigation::General::LBL::Task::onResourceInitialization ( void  )
inline

◆ onResourceRelease()

void Navigation::General::LBL::Task::onResourceRelease ( void  )
inline

◆ onUpdateParameters()

void Navigation::General::LBL::Task::onUpdateParameters ( void  )
inline

◆ reset()

void Navigation::General::LBL::Task::reset ( unsigned  index)
inline

Reset moving averages and Kalman state.

Parameters
[in]indexstate index.

◆ setState()

void Navigation::General::LBL::Task::setState ( unsigned  index)
inline

Reset moving averages and Kalman state.

Parameters
[in]indexstate index.

References DUNE::Navigation::Ranging::getLocation().

◆ setup()

◆ startFilter()

void Navigation::General::LBL::Task::startFilter ( const IMC::GpsFix *  msg)
inline

Start filtering.

Parameters
[in]msgGPS fix to serve as navigation origin.

References DUNE::Navigation::Ranging::getSize(), and DUNE::Navigation::Ranging::updateOrigin().

Member Data Documentation

◆ m_args

Arguments Navigation::General::LBL::Task::m_args

Task arguments.

◆ m_east_avg

std::vector<MovingAverage<double> > Navigation::General::LBL::Task::m_east_avg

East (NED) displacement.

◆ m_estimate

IMC::LblEstimate* Navigation::General::LBL::Task::m_estimate[DUNE::Navigation::c_max_transponders]

LBL position estimates.

◆ m_gps_val_bits

uint16_t Navigation::General::LBL::Task::m_gps_val_bits

GPS validity bits.

◆ m_kal

KalmanFilter Navigation::General::LBL::Task::m_kal

Kalman Filter matrices.

◆ m_last_depth

float Navigation::General::LBL::Task::m_last_depth

Last Vehicle Depth value (m).

◆ m_last_e

double Navigation::General::LBL::Task::m_last_e

Last East reference displacement.

◆ m_last_n

double Navigation::General::LBL::Task::m_last_n

Last North reference displacement.

◆ m_north_avg

std::vector<MovingAverage<double> > Navigation::General::LBL::Task::m_north_avg

North (NED) displacement.

◆ m_origin

IMC::GpsFix* Navigation::General::LBL::Task::m_origin

Navigation origin.

◆ m_ranging

DUNE::Navigation::Ranging Navigation::General::LBL::Task::m_ranging

LBL beacon information.

◆ m_time_without_gps

Time::Counter<double> Navigation::General::LBL::Task::m_time_without_gps

Time without GPS sensor readings deadline.

◆ m_yaw

double Navigation::General::LBL::Task::m_yaw

Vehicle heading.

Collaboration diagram for Navigation::General::LBL::Task:
Collaboration graph