![]() |
DUNE: Uniform Navigational Environment
2019.02.0
|
Class to control station keeping behavior.
Public Member Functions | |
| StationKeep (const IMC::StationKeeping *maneuver, Maneuvers::Maneuver *task, float min_radius) | |
| StationKeep (Maneuvers::Maneuver *task, double lat, double lon, float radius, float z, uint8_t z_units, float speed, uint8_t speed_units) | |
| void | update (const IMC::EstimatedState *state) |
| void | updatePathControl (const IMC::PathControlState *pcs) |
| bool | isInside (void) const |
| bool | isMoving (void) const |
| DUNE::Maneuvers::StationKeep::StationKeep | ( | const IMC::StationKeeping * | maneuver, |
| Maneuvers::Maneuver * | task, | ||
| float | min_radius | ||
| ) |
Default constructor.
| [in] | maneuver | pointer to rows maneuver |
| [in] | task | pointer to task object (debug and inf) |
| [in] | min_radius | minimum radius to consider in maneuver |
References DUNE::IMC::StationKeeping::lat, DUNE::IMC::StationKeeping::lon, DUNE::IMC::StationKeeping::radius, DUNE::IMC::StationKeeping::speed, DUNE::IMC::StationKeeping::speed_units, DUNE::Math::trimValueMod(), DUNE::IMC::StationKeeping::z, and DUNE::IMC::StationKeeping::z_units.
| DUNE::Maneuvers::StationKeep::StationKeep | ( | Maneuvers::Maneuver * | task, |
| double | lat, | ||
| double | lon, | ||
| float | radius, | ||
| float | z, | ||
| uint8_t | z_units, | ||
| float | speed, | ||
| uint8_t | speed_units | ||
| ) |
Default constructor.
| [in] | task | pointer to task object (debug and inf) |
| [in] | lat | latitude of maneuver |
| [in] | lon | longitude of maneuver |
| [in] | radius | station keeping 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 |
References DUNE::IMC::DesiredPath::end_lat, DUNE::IMC::DesiredPath::end_lon, DUNE::IMC::DesiredPath::end_z, DUNE::IMC::DesiredPath::end_z_units, DUNE::IMC::DesiredPath::speed, and DUNE::IMC::DesiredPath::speed_units.
| bool DUNE::Maneuvers::StationKeep::isInside | ( | void | ) | const |
Check if vehicle is inside boundary.
| bool DUNE::Maneuvers::StationKeep::isMoving | ( | void | ) | const |
Check if vehicle is moving.
| void DUNE::Maneuvers::StationKeep::update | ( | const IMC::EstimatedState * | state | ) |
Update behavior.
| [in] | state | pointer to EstimatedState message |
| void DUNE::Maneuvers::StationKeep::updatePathControl | ( | const IMC::PathControlState * | pcs | ) |
Update behavior with path control state.
| [in] | pcs | pointer to PathControlState message |
References DUNE::IMC::PathControlState::FL_NEAR, DUNE::IMC::PathControlState::flags, DUNE::Math::norm(), DUNE::IMC::PathControlState::x, and DUNE::IMC::PathControlState::y.
