DUNE: Uniform Navigational Environment
2019.02.0
|
Public Member Functions | |
SlopeData (unsigned fsamples, float min_range, float safe_pitch, float slope_hyst) | |
~SlopeData (void) | |
void | reset (void) |
bool | onDistance (const IMC::Distance *msg, const IMC::EstimatedState &state, IMC::ControlParcel &cparcel) |
float | updateSlopeTop (const IMC::EstimatedState &state) |
float | getFRange (void) |
float | getSlope (void) const |
float | getDistanceToSlope (void) const |
bool | isRangeLow (float pitch=0.0) |
bool | isTooSteep (void) |
bool | isTopCleared (void) const |
bool | isSurface (const IMC::EstimatedState &state) |
bool | isSlopeIncreasing (void) |
void | renderSlopeInvalid (void) |
|
inline |
Constructor.
[in] | fsamples | number of samples for forward range moving average |
[in] | min_range | minimum admissible forward range for bottom tracking |
[in] | safe_pitch | max admissible pitch angle to perform bottom tracking |
[in] | slope_hyst | slope angle hysteresis value for safeness detection |
|
inline |
Deconstructor.
References DUNE::Memory::clear().
|
inline |
Get distance to slope top.
|
inline |
Get forward range.
|
inline |
Get current slope angle.
|
inline |
Test if forward range is too low.
[in] | pitch | current pitch angle |
|
inline |
Test if slope is increasing.
|
inline |
Test if forward range could be the surface.
[in] | state | EstimatedState info |
References DUNE::IMC::EstimatedState::depth, and DUNE::IMC::EstimatedState::theta.
|
inline |
Test if slope is too steep.
|
inline |
Test if top is no longer an issue check if distance to slope top is increasing of if distance to slope top is very short.
|
inline |
Consume a Distance message.
[in] | msg | sonar distance message |
[in] | state | estimatedstate message |
[in] | cparcel | control parcel message |
References DUNE::IMC::Distance::beam_config, DUNE::IMC::Distance::DV_VALID, DUNE::IMC::Message::getSourceEntity(), DUNE::IMC::Distance::location, DUNE::IMC::Distance::validity, and DUNE::IMC::Distance::value.
Referenced by DUNE::Control::BottomTracker::onDistance().
|
inline |
Flag slope top as invalid.
|
inline |
Reset the object.
References DUNE::Memory::clear().
Referenced by DUNE::Control::BottomTracker::reset().
|
inline |
Update slope top.
[in] | state | estimatedstate message |