![]() |
DUNE: Uniform Navigational Environment
2024.09.0
|
Public Member Functions | |
Task (const std::string &name, Tasks::Context &ctx) | |
void | onUpdateParameters (void) |
void | onResourceAcquisition (void) |
void | onResourceRelease (void) |
void | onResourceInitialization (void) |
void | consume (const IMC::GpsFix *msg) |
void | consume (const IMC::Heartbeat *msg) |
void | consume (const IMC::VehicleMedium *msg) |
void | consume (const IMC::EstimatedState *msg) |
void | consume (const IMC::PlanGeneration *msg) |
void | consume (const IMC::PlanControl *msg) |
void | consume (const IMC::Rpm *msg) |
void | checkDislodgeResult (const IMC::PlanControl *msg) |
void | getFinishDepth (const IMC::PlanControl *msg) |
void | failedStartPlan (void) |
void | dispatchDislodge (void) |
bool | mainConditions (void) |
bool | ascentCondition (void) |
void | setState (AssistState state) |
void | onIdle (void) |
void | onCheckStuck (void) |
void | onStartDislodge (void) |
void | task (void) |
![]() | |
Periodic (const std::string &name, Context &ctx) | |
virtual | ~Periodic (void) |
void | setFrequency (double freq) |
double | getFrequency (void) const |
double | getRunTime (void) const |
unsigned | getRunCount (void) const |
![]() | |
Task (const std::string &name, Context &context) | |
virtual | ~Task (void) |
const char * | getName (void) const |
const char * | getSystemName (void) const |
unsigned int | getSystemId (void) const |
unsigned int | getEntityId (void) const |
unsigned int | resolveEntity (const std::string &label) const |
std::string | resolveEntity (unsigned int id) const |
DebugLevel | getDebugLevel (void) const |
uint16_t | getActivationTime (void) const |
uint16_t | getDeactivationTime (void) const |
unsigned int | resolveSystemName (const std::string &name) const |
const char * | resolveSystemId (unsigned int id) const |
void | loadConfig (void) |
void | setPriority (unsigned int value) |
unsigned int | getPriority (void) const |
void | inf (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void | war (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void | err (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void | cri (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void void | debug (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void void void | trace (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void void void void | spew (const char *format,...) DUNE_PRINTF_FORMAT(2 |
void void void void void void void void | dispatch (IMC::Message *msg, unsigned int flags=0) |
void | dispatch (IMC::Message &msg, unsigned int flags=0) |
void | dispatchReply (const IMC::Message &original, IMC::Message &msg, unsigned int flags=0) |
void | receive (const IMC::Message *msg) |
void | reserveEntities (void) |
void | resolveEntities (void) |
void | acquireResources (void) |
void | releaseResources (void) |
void | initializeResources (void) |
void | updateParameters (bool act_deact=true) |
void | writeParamsXML (std::ostream &os) const |
const char * | getEntityLabel (void) const |
void | setEntityLabel (const std::string &label) |
![]() | |
AbstractTask (void) | |
virtual | ~AbstractTask (void) |
![]() | |
Thread (void) | |
virtual | ~Thread (void) |
int | getProcessorUsage (void) |
![]() | |
Runnable (void) | |
virtual | ~Runnable (void) |
void | start (void) |
void | stop (void) |
void | join (void) |
void | stopAndJoin (void) |
void | setPriority (Scheduler::Policy policy, unsigned priority) |
unsigned | getPriority (void) |
State | getState (void) |
bool | isCreated (void) |
bool | isStopping (void) |
bool | isRunning (void) |
bool | isStarting (void) |
bool | isDead (void) |
Public Attributes | |
float | m_vz |
float | m_depth |
uint8_t | m_medium |
VerticalMonitor * | m_vmon |
AssistState | m_astate |
Time::Counter< float > | m_dtimer |
Time::Counter< float > | m_ltimer |
float | m_finish_depth |
bool | m_gps |
bool | m_first_fix |
float | m_dislodge_rpm |
bool | m_motor |
Arguments | m_args |
Additional Inherited Members | |
![]() | |
enum | State { StateStarting, StateRunning, StateStopping, StateDead, StateUnknown } |
![]() | |
void | setEntityState (IMC::EntityState::StateEnum state, Status::Code code) |
void | setEntityState (IMC::EntityState::StateEnum state, const std::string &description) |
IMC::EntityState::StateEnum | getEntityState (void) const |
unsigned int | reserveEntity (const std::string &label) |
template<typename E > | |
E * | reserveEntity (const std::string &label) |
Entities::BasicEntity * | getLocalEntity (const std::string &label) |
bool | stopping (void) |
bool | isActive (void) const |
bool | isActivating (void) const |
bool | isDeactivating (void) const |
void | waitForMessages (double timeout) |
void | consumeMessages (void) |
template<typename T > | |
Parameter & | param (const std::string &name, T &var) |
template<typename Y , typename T > | |
Parameter & | param (const std::string &name, T &var) |
template<typename T > | |
bool | paramChanged (T &var) |
void | paramActive (Parameter::Scope def_scope, Parameter::Visibility def_visibility, bool def_value=false) |
void | setParamSectionEditor (const std::string &name) |
template<typename M , typename T > | |
void | bind (T *task_obj, void(T::*consumer)(const M *)=&T::consume) |
template<typename T > | |
void | bind (T *task_obj, const std::vector< uint32_t > &list) |
template<typename T , typename M > | |
void | bind (T *task_obj, const std::vector< uint32_t > &list, void(T::*consumer)(const M *)=&T::consume) |
template<typename T > | |
void | bind (T *task_obj, const std::vector< std::string > &list) |
void | bind (unsigned int message_id, AbstractConsumer *consumer) |
void | requestActivation (void) |
void | requestDeactivation (void) |
void | activate (void) |
void | activationFailed (const std::string &reason) |
void | deactivate (void) |
void | deactivationFailed (const std::string &reason) |
virtual bool | onWriteParamsXML (std::ostream &os) const |
virtual void | onEntityReservation (void) |
virtual void | onEntityResolution (void) |
virtual void | onReportEntityState (void) |
virtual void | onRequestActivation (void) |
virtual void | onRequestDeactivation (void) |
virtual void | onActivation (void) |
virtual void | onDeactivation (void) |
virtual void | onQueryEntityParameters (const IMC::QueryEntityParameters *msg) |
virtual void | onSetEntityParameters (const IMC::SetEntityParameters *msg) |
virtual void | onPushEntityParameters (const IMC::PushEntityParameters *msg) |
virtual void | onPopEntityParameters (const IMC::PopEntityParameters *msg) |
![]() | |
void | startImpl (void) |
void | stopImpl (void) |
void | joinImpl (void) |
void | setPriorityImpl (Scheduler::Policy policy, unsigned priority) |
unsigned | getPriorityImpl (void) |
![]() | |
Context & | m_ctx |
std::vector< Entities::BasicEntity * > | m_entities |
|
inline |
|
inline |
Test if the ascent rate condition hold.
|
inline |
Check if the received PlanControl message reports to a successful Dislodge plan request.
[in] | msg | pointer to PlanControl message |
References Supervisors::AUV::Assist::Arguments::plan_id, Supervisors::AUV::Assist::ST_CHECK_STUCK, and Supervisors::AUV::Assist::ST_IDLE.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Dispatch the dislodge plan.
References Supervisors::AUV::Assist::Arguments::plan_id.
|
inline |
Signal that the start of the dislodge plan has failed.
References Supervisors::AUV::Assist::Arguments::plan_id.
|
inline |
Check if the received PlanControl message reports to a plan that has just finished.
If so, save the depth at which the plan ended
[in] | msg | pointer to PlanControl message |
|
inline |
Test the main conditions to consider throwing a dislodge plan.
References Supervisors::AUV::Assist::Arguments::depth_threshold.
|
inline |
Routine to run when on checkstuck state.
References Supervisors::AUV::Assist::ST_IDLE, and Supervisors::AUV::Assist::ST_START_DISLODGE.
|
inline |
Routine to run when on idle state.
References Supervisors::AUV::Assist::ST_CHECK_STUCK.
|
inlinevirtual |
Called when the task is instructed to acquire resources whose configuration is defined by run-time parameters.
Reimplemented from DUNE::Tasks::Task.
References Supervisors::AUV::Assist::Arguments::min_ascent_rate.
|
inlinevirtual |
Called when the task is instructed to initialize resources acquired previously or whose initialization depends on run-time parameters.
Reimplemented from DUNE::Tasks::Task.
|
inlinevirtual |
Called when the task is instructed to release resources.
Derived classes that override this function must not assume that any resource was previously acquired. This function must be implemented in such a way that it can be called at any time.
Reimplemented from DUNE::Tasks::Task.
|
inline |
Routine to run when on startdislodge state.
References Supervisors::AUV::Assist::ST_CHECK_STUCK.
|
inlinevirtual |
Called when the task is instructed to update its run-time parameters.
Derived classes that need to compute auxiliary values based on run-time parameters should override this function.
Reimplemented from DUNE::Tasks::Task.
References Supervisors::AUV::Assist::Arguments::trigger_time.
|
inline |
Set the state machine's current state.
[in] | state | target state to which the machine should transition |
References Supervisors::AUV::Assist::ST_CHECK_STUCK, Supervisors::AUV::Assist::ST_IDLE, Supervisors::AUV::Assist::ST_START_DISLODGE, and Supervisors::AUV::Assist::Arguments::trigger_time.
|
inlinevirtual |
The task to be executed on each cycle.
Implements DUNE::Tasks::Periodic.
References Supervisors::AUV::Assist::ST_CHECK_STUCK, Supervisors::AUV::Assist::ST_IDLE, Supervisors::AUV::Assist::ST_START_DISLODGE, and Supervisors::AUV::Assist::ST_WAIT_DISLODGE.
AssistState Supervisors::AUV::Assist::Task::m_astate |
Task's state.
float Supervisors::AUV::Assist::Task::m_depth |
Current depth.
float Supervisors::AUV::Assist::Task::m_dislodge_rpm |
RPM value for dislodging the vehicle.
Time::Counter<float> Supervisors::AUV::Assist::Task::m_dtimer |
Timer for triggering the dislodge.
float Supervisors::AUV::Assist::Task::m_finish_depth |
Finish depth of the running plan.
bool Supervisors::AUV::Assist::Task::m_first_fix |
Requires a valid initial GPS fix.
bool Supervisors::AUV::Assist::Task::m_gps |
Valid GPS signal.
Time::Counter<float> Supervisors::AUV::Assist::Task::m_ltimer |
Lost communications timer.
uint8_t Supervisors::AUV::Assist::Task::m_medium |
Current Medium.
bool Supervisors::AUV::Assist::Task::m_motor |
Current motor status.
VerticalMonitor* Supervisors::AUV::Assist::Task::m_vmon |
Rate of ascent.
float Supervisors::AUV::Assist::Task::m_vz |
Vertical speed (z)