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)
inline
void Maneuver::FollowReference::UAV::Task::consume ( const IMC::Reference *  msg)
inline

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
https://!whale.fe.up.pt/imc/doc/trunk/Maneuvering.html#follow-reference-maneuver
Parameters
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)
inline

References m_estate.

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

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