![]() |
DUNE: Uniform Navigational Environment
2016.05.0
|
Base abstract class for trajectory following (IMC::FollowTrajectory maneuver).
Classes | |
| struct | TPoint |
Public Member Functions | |
| FollowTrajectory (const std::string &name, Tasks::Context &ctx) | |
| virtual | ~FollowTrajectory (void) |
| virtual void | onUpdateParameters (void) |
| void | consume (const IMC::FollowTrajectory *msg) |
| virtual bool | canInit (const IMC::FollowTrajectory *msg)=0 |
| void | consume (const IMC::EstimatedState *msg) |
| virtual void | step (const IMC::EstimatedState &state)=0 |
| void | consume (const IMC::PathControlState *pcs) |
| virtual void | onPathCompletion (void)=0 |
| void | onPathControlState (const IMC::PathControlState *pcs) |
| void | onManeuverDeactivation (void) |
| virtual void | onReset (void) |
| const TPoint & | point (int t_index) const |
| size_t | trajectory_points (void) const |
| double | controlPeriod (void) const |
| bool | isApproaching (void) const |
| void | desiredPath (const TPoint &start, const TPoint &end) |
| void | desiredSpeed (double value, uint8_t units) |
Public Member Functions inherited from DUNE::IMC::Message | |
| Message (void) | |
| virtual | ~Message (void) |
| virtual Message * | clone (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 |
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 |
| DUNE::Maneuvers::FollowTrajectory::FollowTrajectory | ( | const std::string & | name, |
| Tasks::Context & | ctx | ||
| ) |
Constructor.
| name | name. |
| ctx | context. |
|
virtual |
Destructor.
|
pure virtual |
Method invoked on maneuver startup.
By default the base class implementation does nothing.
| msg | maneuver message |
| void DUNE::Maneuvers::FollowTrajectory::consume | ( | const IMC::FollowTrajectory * | msg | ) |
Consumer for IMC::FollowTrajectory message.
| msg | maneuver message |
References DUNE::IMC::CL_PATH, DUNE::IMC::FollowTrajectory::lat, DUNE::IMC::FollowTrajectory::lon, DUNE::IMC::FollowTrajectory::speed, DUNE::IMC::FollowTrajectory::speed_units, DUNE::IMC::FollowTrajectory::z, and DUNE::IMC::FollowTrajectory::z_units.
| void DUNE::Maneuvers::FollowTrajectory::consume | ( | const IMC::EstimatedState * | msg | ) |
Consumer for IMC::EstimatedState message.
| msg | message |
References DUNE::IMC::Message::getTimeStamp().
| void DUNE::Maneuvers::FollowTrajectory::consume | ( | const IMC::PathControlState * | pcs | ) |
Consumer for IMC::PathControlState message.
| pcs | path control state message |
|
inline |
Get control step period.
| void DUNE::Maneuvers::FollowTrajectory::desiredSpeed | ( | double | value, |
| uint8_t | units | ||
| ) |
Set the desired speed.
References DUNE::IMC::FollowTrajectory::speed, DUNE::IMC::DesiredSpeed::speed_units, and DUNE::IMC::DesiredSpeed::value.
|
inline |
Check if maneuver is still in approach stage (i.e.
moving to the initial point).
| void DUNE::Maneuvers::FollowTrajectory::onManeuverDeactivation | ( | void | ) |
Method called upon maneuver deactivation.
|
pure virtual |
Abstract method called upon path completion.
This will not be called in approach stage (see isApproaching()).
| void DUNE::Maneuvers::FollowTrajectory::onPathControlState | ( | const IMC::PathControlState * | pcs | ) |
Inherited from Maneuver class.
| pcs | path control state message |
References DUNE::IMC::PathControlState::FL_NEAR, and DUNE::IMC::PathControlState::flags.
|
inlinevirtual |
Method invoked on maneuver reset.
By default the base class implementation does nothing.
|
virtual |
|
inline |
Get a point in the trajectory.
| t_index | index of point |
|
pure virtual |
Abstract method invoked for trajectory control.
This will be invoked periodically according to the control step period (see controlPeriod()) after the initial approach stage has concluded (see isApproaching()).
|
inline |
Get number of points in the trajetory.
