DUNE: Uniform Navigational Environment
2019.02.1
|
Collisions task.
Public Member Functions | |
Task (const std::string &name, Tasks::Context &ctx) | |
void | onUpdateParameters (void) |
void | onResourceInitialization (void) |
void | onEntityResolution (void) |
void | onResourceRelease (void) |
void | consume (const IMC::Acceleration *msg) |
void | consume (const IMC::EstimatedState *msg) |
void | consume (const IMC::Brake *msg) |
void | consume (const IMC::Rpm *msg) |
void | consume (const IMC::VehicleMedium *msg) |
bool | ignore (void) |
void | collided (void) |
void | onMain (void) |
Public Attributes | |
MovingAverage< double > * | m_avg_x_innov |
MovingAverage< double > * | m_avg_z_innov |
MovingAverage< double > * | m_avg_x_abs |
MovingAverage< double > * | m_avg_z_abs |
Time::Counter< double > | m_twindow |
Time::Counter< double > | m_treport |
Time::Counter< double > | m_tground |
IMC::Collision | m_collision |
unsigned | m_device_eid |
float | m_depth |
bool | m_braking |
int | m_rpms |
std::string | m_report |
Arguments | m_args |
|
inline |
References Monitors::Collisions::Arguments::avg_samples_abs, Monitors::Collisions::Arguments::avg_samples_innov, Monitors::Collisions::Arguments::elabel_device, Monitors::Collisions::Arguments::frequency, Monitors::Collisions::Arguments::k_std, Monitors::Collisions::Arguments::max_x, Monitors::Collisions::Arguments::max_z, Monitors::Collisions::Arguments::min_depth, Monitors::Collisions::Arguments::min_std, and Monitors::Collisions::Arguments::t_error.
|
inline |
This routine is called when a collision is detected.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Check if the collision should be ignored.
References Monitors::Collisions::Arguments::min_depth.
|
inline |
References Monitors::Collisions::Arguments::elabel_device.
|
inline |
|
inline |
|
inline |
|
inline |
MovingAverage<double>* Monitors::Collisions::Task::m_avg_x_abs |
Accelerations along x-axis moving average for absolute limits threshold checking.
MovingAverage<double>* Monitors::Collisions::Task::m_avg_x_innov |
Accelerations along x-axis moving average for innovation limits threshold checking.
MovingAverage<double>* Monitors::Collisions::Task::m_avg_z_abs |
Accelerations along z-axis moving average for absolute limits threshold checking.
MovingAverage<double>* Monitors::Collisions::Task::m_avg_z_innov |
Accelerations along z-axis moving average for innovation limits threshold checking.
bool Monitors::Collisions::Task::m_braking |
True if braking.
IMC::Collision Monitors::Collisions::Task::m_collision |
Collision detected.
float Monitors::Collisions::Task::m_depth |
Depth value.
unsigned Monitors::Collisions::Task::m_device_eid |
Device entity id.
std::string Monitors::Collisions::Task::m_report |
Collision report.
int Monitors::Collisions::Task::m_rpms |
Motor's rpms.
Time::Counter<double> Monitors::Collisions::Task::m_tground |
Time to wait to check collisions once out of ground.
Time::Counter<double> Monitors::Collisions::Task::m_treport |
Collision message report period.
Time::Counter<double> Monitors::Collisions::Task::m_twindow |
Time window to remain in error mode after colliding.