DUNE: Uniform Navigational Environment
2020.01.0
|
Class to control circular behavior.
Public Member Functions | |
Circular (const IMC::Loiter *maneuver, Maneuvers::Maneuver *task, float min_radius) | |
Circular (Maneuvers::Maneuver *task, double lat, double lon, float radius, float z, uint8_t z_units, float speed, uint8_t speed_units, uint8_t direction) | |
void | onPathControlState (const IMC::PathControlState *pcs) |
bool | isLoitering (void) const |
Public Member Functions inherited from DUNE::Maneuvers::AbstractLoiter | |
AbstractLoiter (Maneuvers::Maneuver *task) | |
virtual | ~AbstractLoiter (void) |
virtual void | onEstimatedState (const IMC::EstimatedState *msg) |
Additional Inherited Members | |
Protected Attributes inherited from DUNE::Maneuvers::AbstractLoiter | |
Maneuvers::Maneuver * | m_task |
DUNE::Maneuvers::Circular::Circular | ( | const IMC::Loiter * | maneuver, |
Maneuvers::Maneuver * | task, | ||
float | min_radius | ||
) |
Default constructor.
[in] | maneuver | pointer to loiter maneuver |
[in] | task | pointer to task object (debug and inf) |
[in] | min_radius | minimum radius to consider in maneuver |
References DUNE::IMC::Loiter::direction, DUNE::IMC::Loiter::lat, DUNE::IMC::Loiter::lon, DUNE::IMC::Loiter::radius, DUNE::IMC::Loiter::speed, DUNE::IMC::Loiter::speed_units, DUNE::Math::trimValueMod(), DUNE::IMC::Loiter::z, and DUNE::IMC::Loiter::z_units.
DUNE::Maneuvers::Circular::Circular | ( | Maneuvers::Maneuver * | task, |
double | lat, | ||
double | lon, | ||
float | radius, | ||
float | z, | ||
uint8_t | z_units, | ||
float | speed, | ||
uint8_t | speed_units, | ||
uint8_t | direction | ||
) |
Default constructor.
[in] | task | pointer to task object (debug and inf) |
[in] | lat | latitude of maneuver |
[in] | lon | longitude of maneuver |
[in] | radius | circular radius |
[in] | z | zed reference for this maneuver |
[in] | z_units | units of the zed reference |
[in] | speed | speed reference for maneuver |
[in] | speed_units | speed units of the reference |
[in] | direction | loiter direction according to IMC::Loiter |
References DUNE::IMC::CL_PATH, DUNE::IMC::DesiredPath::end_lat, DUNE::IMC::DesiredPath::end_lon, DUNE::IMC::DesiredPath::end_z, DUNE::IMC::DesiredPath::end_z_units, DUNE::IMC::DesiredPath::FL_CCLOCKW, DUNE::IMC::DesiredPath::flags, DUNE::IMC::Loiter::LD_CCLOCKW, DUNE::IMC::DesiredPath::lradius, DUNE::IMC::DesiredPath::speed, and DUNE::IMC::DesiredPath::speed_units.
|
virtual |
Check if loitering.
Implements DUNE::Maneuvers::AbstractLoiter.
|
virtual |
Update behavior with path control state.
[in] | pcs | pointer to PathControlState message |
Reimplemented from DUNE::Maneuvers::AbstractLoiter.
References DUNE::IMC::PathControlState::FL_LOITERING, and DUNE::IMC::PathControlState::flags.