DUNE: Uniform Navigational Environment  2017.01.0
DUNE::Maneuvers::Circular Class Reference

Detailed Description

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::Maneuverm_task
 

Constructor & Destructor Documentation

DUNE::Maneuvers::Circular::Circular ( const IMC::Loiter maneuver,
Maneuvers::Maneuver task,
float  min_radius 
)

Default constructor.

Parameters
[in]maneuverpointer to loiter maneuver
[in]taskpointer to task object (debug and inf)
[in]min_radiusminimum 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.

Parameters
[in]taskpointer to task object (debug and inf)
[in]latlatitude of maneuver
[in]lonlongitude of maneuver
[in]radiuscircular radius
[in]zzed reference for this maneuver
[in]z_unitsunits of the zed reference
[in]speedspeed reference for maneuver
[in]speed_unitsspeed units of the reference
[in]directionloiter direction according to IMC::Loiter

Member Function Documentation

bool DUNE::Maneuvers::Circular::isLoitering ( void  ) const
virtual

Check if loitering.

Returns
true if loitering, false otherwise

Implements DUNE::Maneuvers::AbstractLoiter.

void DUNE::Maneuvers::Circular::onPathControlState ( const IMC::PathControlState pcs)
virtual

Update behavior with path control state.

Parameters
[in]pcspointer to PathControlState message

Reimplemented from DUNE::Maneuvers::AbstractLoiter.

References DUNE::IMC::PathControlState::FL_LOITERING, and DUNE::IMC::PathControlState::flags.

Collaboration diagram for DUNE::Maneuvers::Circular:
Collaboration graph