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

Public Member Functions

 Task (const std::string &name, Tasks::Context &ctx)
void consume (const IMC::FollowReference *msg)
void consume (const IMC::Reference *msg)
void consume (const IMC::EstimatedState *msg)
void onPathControlState (const IMC::PathControlState *pcs)
- 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
double m_last_ref_time
IMC::EstimatedState m_estate
IMC::PathControlState m_pcs
IMC::FollowRefState m_fref_state
Arguments m_args

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::UAV::Task::consume ( const IMC::FollowReference *  msg)
void Maneuver::FollowReference::UAV::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 m_cur_ref, m_fref_state, m_last_ref_time, and m_spec.

void Maneuver::FollowReference::UAV::Task::consume ( const IMC::EstimatedState *  msg)

References m_estate.

void Maneuver::FollowReference::UAV::Task::onPathControlState ( const IMC::PathControlState *  pcs)

References m_fref_state, and m_pcs.

Member Data Documentation

Arguments Maneuver::FollowReference::UAV::Task::m_args

Task arguments.

Referenced by consume(), and Task().

IMC::Reference Maneuver::FollowReference::UAV::Task::m_cur_ref

Store latest received reference and the one before that.

Referenced by consume().

IMC::EstimatedState Maneuver::FollowReference::UAV::Task::m_estate

Estimated state.

Referenced by consume().

IMC::FollowRefState Maneuver::FollowReference::UAV::Task::m_fref_state

FollowRefState, dispatch on arrival of Reference, FollowReference and EstimatedState.

— State WAIT signals not controllable, set when receives:

  • FollowReference
  • Reference with flag MANDONE TIMEOUT signals too long since last Reference, set when receives:
  • EstimatedState and has passed more time then specified in m_spec GOTO signals vehicle in transit, set when receives and proximity is far:
  • Reference LOITER signals vehicle has nothing more to do, set when receives and proximity is near:
  • Reference — Proximity PROX_XY_NEAR & PROX_XY_NEAR signals arrived, set when received:
  • PathControlState has flag near FAR signals far, set when received:
  • FollowReference
  • Reference with flag MANDONE
  • PathControlState without flag NEAR

Referenced by consume(), and onPathControlState().

double Maneuver::FollowReference::UAV::Task::m_last_ref_time

Store last timestamp when reference was received.

Referenced by consume(), and Task().

IMC::PathControlState Maneuver::FollowReference::UAV::Task::m_pcs

Path Control state.

Referenced by onPathControlState().

IMC::FollowReference Maneuver::FollowReference::UAV::Task::m_spec

Store maneuver specification.

Referenced by consume().

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