DUNE: Uniform Navigational Environment  2019.02.0
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

Member Function Documentation

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

References m_kal, and m_last_depth.

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

References m_yaw.

void Navigation::General::LBL::Task::consume ( const IMC::GpsFix *  msg)
inline
void Navigation::General::LBL::Task::consume ( const IMC::LblConfig *  msg)
inline
void Navigation::General::LBL::Task::onMain ( void  )
inline
void Navigation::General::LBL::Task::onResourceInitialization ( void  )
inline
void Navigation::General::LBL::Task::onResourceRelease ( void  )
inline

References m_estimate, and m_origin.

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

Reset moving averages and Kalman state.

Parameters
[in]indexstate index.

References m_east_avg, m_north_avg, and setState().

Referenced by consume().

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

Reset moving averages and Kalman state.

Parameters
[in]indexstate index.

References DUNE::Navigation::Ranging::getLocation(), m_kal, and m_ranging.

Referenced by reset(), and setup().

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(), m_last_e, m_last_n, m_origin, m_ranging, setup(), and DUNE::Navigation::Ranging::updateOrigin().

Referenced by consume().

Member Data Documentation

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

Task arguments.

Referenced by consume(), onUpdateParameters(), setup(), and Task().

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

East (NED) displacement.

Referenced by consume(), reset(), and setup().

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

LBL position estimates.

Referenced by consume(), onResourceRelease(), and Task().

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

GPS validity bits.

Referenced by consume(), and Task().

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

Kalman Filter matrices.

Referenced by consume(), setState(), and setup().

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

Last Vehicle Depth value (m).

Referenced by consume(), and Task().

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

Last East reference displacement.

Referenced by consume(), startFilter(), and Task().

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

Last North reference displacement.

Referenced by consume(), startFilter(), and Task().

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

North (NED) displacement.

Referenced by consume(), reset(), and setup().

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

Navigation origin.

Referenced by consume(), onResourceRelease(), and startFilter().

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

LBL beacon information.

Referenced by consume(), setState(), setup(), and startFilter().

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

Time without GPS sensor readings deadline.

Referenced by consume(), and onUpdateParameters().

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

Vehicle heading.

Referenced by consume(), and Task().

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