DUNE: Uniform Navigational Environment
2.3.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, bool near_on) |
bool | isInside (void) |
bool | isMoving (void) |
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::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::speed, and DUNE::IMC::DesiredPath::speed_units.
|
inline |
Check if vehicle is inside boundary.
|
inline |
Check if vehicle is moving.
void DUNE::Maneuvers::StationKeep::update | ( | const IMC::EstimatedState * | state, |
bool | near_on | ||
) |
Update behavior.
[in] | state | pointer to EstimatedState message |
[in] | near_on | if pathcontrolstate flag near is on, this should be true |
References DUNE::IMC::CL_NONE, DUNE::IMC::CL_PATH, DUNE::IMC::EstimatedState::lat, DUNE::IMC::EstimatedState::lon, DUNE::Coordinates::toPolar(), and DUNE::Coordinates::toWGS84().