DUNE: Uniform Navigational Environment
2020.01.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.
Referenced by DUNE::Control::BottomTracker::onEstimatedState().
|
inline |
Get forward range.
Referenced by DUNE::Control::BottomTracker::onEstimatedState().
|
inline |
Get current slope angle.
Referenced by DUNE::Control::BottomTracker::onEstimatedState().
|
inline |
Test if forward range is too low.
[in] | pitch | current pitch angle |
Referenced by DUNE::Control::BottomTracker::onEstimatedState().
|
inline |
Test if slope is increasing.
Referenced by DUNE::Control::BottomTracker::onEstimatedState().
|
inline |
Test if forward range could be the surface.
[in] | state | EstimatedState info |
References DUNE::IMC::EstimatedState::depth, and DUNE::IMC::EstimatedState::theta.
Referenced by DUNE::Control::BottomTracker::onEstimatedState().
|
inline |
Test if slope is too steep.
Referenced by DUNE::Control::BottomTracker::onEstimatedState().
|
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.
Referenced by DUNE::Control::BottomTracker::onEstimatedState().
|
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.
References DUNE::IMC::EstimatedState::alt, DUNE::Memory::clear(), DUNE::Math::MovingAverage< T >::clear(), DUNE::Coordinates::WGS84::displace(), DUNE::Coordinates::WGS84::getNEBearingAndRange(), DUNE::IMC::ControlParcel::i, DUNE::Math::MovingAverage< T >::mean(), DUNE::IMC::ControlParcel::p, DUNE::IMC::EstimatedState::psi, DUNE::IMC::Message::setTimeStamp(), DUNE::IMC::EstimatedState::theta, DUNE::Coordinates::toWGS84(), and DUNE::Math::MovingAverage< T >::update().
Referenced by DUNE::Control::BottomTracker::onEstimatedState().
|
inline |
Reset the object.
References DUNE::Memory::clear().
Referenced by DUNE::Control::BottomTracker::reset().
|
inline |
Update slope top.
[in] | state | estimatedstate message |
Referenced by DUNE::Control::BottomTracker::onEstimatedState().