DUNE: Uniform Navigational Environment  2016.05.0
Maneuver::FollowReference::AUV::Task Struct Reference

Public Member Functions

 Task (const std::string &name, Tasks::Context &ctx)
void consume (const IMC::FollowReference *msg)
uint8_t pathDifferences (const IMC::DesiredPath *msg1, const IMC::DesiredPath *msg2)
bool sameReference (const IMC::Reference *msg1, const IMC::Reference *msg2)
void consume (const IMC::Reference *msg)
void consume (const IMC::EstimatedState *msg)
void onPathControlState (const IMC::PathControlState *pcs)
IMC::SpeedUnits parseSpeedUnitsStr (std::string sunits_str)
IMC::ZUnits parseZUnitsStr (std::string zunits_str)
void guide (const IMC::PathControlState *pcs, IMC::Reference *ref, const IMC::EstimatedState *state)
void enableMovement (bool enable)
- Public Member Functions inherited from DUNE::IMC::Message
 Message (void)
virtual ~Message (void)
virtual Messageclone (void) const =0
virtual void clear (void)=0
virtual int validate (void) const =0
virtual const char * getName (void) const =0
virtual uint16_t getId (void) const =0
double setTimeStamp (double ts)
double setTimeStamp (void)
double getTimeStamp (void) const
uint16_t getSource (void) const
void setSource (uint16_t src)
uint8_t getSourceEntity (void) const
void setSourceEntity (uint8_t src_ent)
uint16_t getDestination (void) const
void setDestination (uint16_t dst)
uint8_t getDestinationEntity (void) const
void setDestinationEntity (uint8_t dst_ent)
virtual uint16_t getSubId (void) const
virtual void setSubId (uint16_t subid)
virtual fp64_t getValueFP (void) const
virtual void setValueFP (fp64_t val)
unsigned getSerializationSize (void) const
unsigned getPayloadSerializationSize (void) const
virtual unsigned getFixedSerializationSize (void) const
virtual unsigned getVariableSerializationSize (void) const
void toJSON (std::ostream &os) const
void toText (std::ostream &os) const
virtual uint8_t * serializeFields (uint8_t *bfr) const =0
virtual uint16_t deserializeFields (const uint8_t *bfr, uint16_t len)=0
virtual uint16_t reverseDeserializeFields (const uint8_t *bfr, uint16_t len)=0
virtual void fieldsToJSON (std::ostream &os, unsigned indent_level) const
bool operator== (const Message &other) const
bool operator!= (const Message &other) const

Public Attributes

IMC::FollowReference m_spec
IMC::Reference m_cur_ref
IMC::Reference m_last_ref
IMC::EstimatedState m_estate
IMC::PathControlState m_pcs
IMC::FollowRefState m_fref_state
bool m_got_reference
bool m_moving
double m_last_ref_time
Arguments m_args
IMC::DesiredPath m_last_desired_path
bool m_path_sent

Static Public Attributes

static const uint8_t Z_CHANGED
static const uint8_t SPEED_CHANGED
static const uint8_t LOC_CHANGED
static const uint8_t RADIUS_CHANGED

Additional Inherited Members

- Protected Member Functions inherited from DUNE::IMC::Message
virtual void setTimeStampNested (double value)
virtual void setSourceNested (uint16_t value)
virtual void setSourceEntityNested (uint8_t value)
virtual void setDestinationNested (uint16_t value)
virtual void setDestinationEntityNested (uint8_t value)
virtual bool fieldsEqual (const Message &other) const
- Protected Attributes inherited from DUNE::IMC::Message
Header m_header

Constructor & Destructor Documentation

Member Function Documentation

void Maneuver::FollowReference::AUV::Task::consume ( const IMC::FollowReference *  msg)
void Maneuver::FollowReference::AUV::Task::consume ( const IMC::Reference *  msg)

Consume Reference messages and generate DesiredPath messages accordingly Whenever a new Reference is received from a valid source, a new desired_path gets commanded to the vehicle.

See Also
msgthe Reference message to be processed

References guide(), m_cur_ref, m_estate, m_fref_state, m_got_reference, m_last_ref, m_last_ref_time, m_pcs, and m_spec.

void Maneuver::FollowReference::AUV::Task::consume ( const IMC::EstimatedState *  msg)
void Maneuver::FollowReference::AUV::Task::enableMovement ( bool  enable)

Function for enabling and disabling the control loops.

References m_last_desired_path, m_moving, and m_path_sent.

void Maneuver::FollowReference::AUV::Task::guide ( const IMC::PathControlState *  pcs,
IMC::Reference *  ref,
const IMC::EstimatedState *  state 
void Maneuver::FollowReference::AUV::Task::onPathControlState ( const IMC::PathControlState *  pcs)

References m_pcs.

IMC::SpeedUnits Maneuver::FollowReference::AUV::Task::parseSpeedUnitsStr ( std::string  sunits_str)
IMC::ZUnits Maneuver::FollowReference::AUV::Task::parseZUnitsStr ( std::string  zunits_str)
uint8_t Maneuver::FollowReference::AUV::Task::pathDifferences ( const IMC::DesiredPath *  msg1,
const IMC::DesiredPath *  msg2 
bool Maneuver::FollowReference::AUV::Task::sameReference ( const IMC::Reference *  msg1,
const IMC::Reference *  msg2 

Referenced by guide().

Member Data Documentation

const uint8_t Maneuver::FollowReference::AUV::Task::LOC_CHANGED

Referenced by pathDifferences().

Arguments Maneuver::FollowReference::AUV::Task::m_args

Task arguments.

Referenced by guide(), and Task().

IMC::Reference Maneuver::FollowReference::AUV::Task::m_cur_ref

Store latest received reference.

Referenced by consume().

IMC::EstimatedState Maneuver::FollowReference::AUV::Task::m_estate

Estimated state.

Referenced by consume().

IMC::FollowRefState Maneuver::FollowReference::AUV::Task::m_fref_state


Referenced by consume(), and guide().

bool Maneuver::FollowReference::AUV::Task::m_got_reference

Did we get a reference already?

Referenced by consume(), and Task().

IMC::DesiredPath Maneuver::FollowReference::AUV::Task::m_last_desired_path

Referenced by consume(), and enableMovement().

IMC::Reference Maneuver::FollowReference::AUV::Task::m_last_ref

Referenced by consume(), and guide().

double Maneuver::FollowReference::AUV::Task::m_last_ref_time

Store last timestamp when reference was received.

Referenced by consume(), and Task().

bool Maneuver::FollowReference::AUV::Task::m_moving

Are we moving or idle (floating)

Referenced by consume(), enableMovement(), and Task().

bool Maneuver::FollowReference::AUV::Task::m_path_sent

Referenced by consume(), enableMovement(), and Task().

IMC::PathControlState Maneuver::FollowReference::AUV::Task::m_pcs

Path Control state.

Referenced by consume(), and onPathControlState().

IMC::FollowReference Maneuver::FollowReference::AUV::Task::m_spec

Store maneuver specification.

Referenced by consume().

const uint8_t Maneuver::FollowReference::AUV::Task::RADIUS_CHANGED

Referenced by pathDifferences().

const uint8_t Maneuver::FollowReference::AUV::Task::SPEED_CHANGED

Referenced by pathDifferences().

const uint8_t Maneuver::FollowReference::AUV::Task::Z_CHANGED

Referenced by pathDifferences().

Collaboration diagram for Maneuver::FollowReference::AUV::Task:
Collaboration graph