DUNE: Uniform Navigational Environment
2.5.1
|
Public Member Functions | |
Task (const std::string &name, Tasks::Context &ctx) | |
void | onUpdateParameters (void) |
void | onActivation (void) |
void | onDeactivation (void) |
void | onRemoteActions (const IMC::RemoteActions *msg) |
void | onConnectionTimeout (void) |
void | consume (const IMC::EstimatedState *msg) |
void | activateTorqueControl (void) |
void | deactivateTorqueControl (void) |
void | actuate (void) |
Public Member Functions inherited from DUNE::Control::BasicRemoteOperation | |
BasicRemoteOperation (const std::string &name, Tasks::Context &ctx) | |
virtual | ~BasicRemoteOperation (void) |
void | consume (const IMC::RemoteActions *message) |
void | consume (const IMC::RemoteActionsRequest *message) |
void | consume (const IMC::ControlLoops *message) |
Public Member Functions inherited from DUNE::Tasks::Periodic | |
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 |
Public Member Functions inherited from DUNE::Tasks::Task | |
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 |
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 |
Public Member Functions inherited from DUNE::Tasks::AbstractTask | |
AbstractTask (void) | |
virtual | ~AbstractTask (void) |
Public Member Functions inherited from DUNE::Concurrency::Thread | |
Thread (void) | |
virtual | ~Thread (void) |
int | getProcessorUsage (void) |
Public Member Functions inherited from DUNE::Concurrency::Runnable | |
Runnable (void) | |
virtual | ~Runnable (void) |
void | start (void) |
void | stop (void) |
void | join (void) |
void | stopAndJoin (void) |
void | setPriority (Scheduler::Policy policy, unsigned priority) |
State | getState (void) |
bool | isCreated (void) |
bool | isStopping (void) |
bool | isRunning (void) |
bool | isStarting (void) |
bool | isDead (void) |
Public Attributes | |
float | m_hrate |
float | m_thrust |
int | m_acceleration |
float | m_verfin |
float | m_horfin |
bool | m_torque_control |
Counter< float > | m_last_estate |
Arguments | m_args |
bool | m_analog_thrust |
Additional Inherited Members | |
Public Types inherited from DUNE::Concurrency::Runnable | |
enum | State { StateStarting, StateRunning, StateStopping, StateDead, StateUnknown } |
Protected Member Functions inherited from DUNE::Control::BasicRemoteOperation | |
void | addActionButton (const std::string &action) |
void | addActionAxis (const std::string &action) |
void | setConnectionTimeout (const float tout) |
virtual void | onRemoteActions (const IMC::RemoteActions *message) |
virtual void | onConnectionResumed (void) |
virtual void | onResourceInitialization (void) |
void | enableControlLoops (uint32_t mask) |
void | disableControlLoops (uint32_t mask) |
Protected Member Functions inherited from DUNE::Tasks::Task | |
const char * | getEntityLabel (void) const |
void | setEntityLabel (const std::string &label) |
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) |
unsigned int | resolveEntity (const std::string &label) const |
std::string | resolveEntity (unsigned int id) const |
bool | stopping (void) |
bool | isActive (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 > | |
void | bind (T *task_obj, const std::vector< std::string > &list) |
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 void | onEntityReservation (void) |
virtual void | onEntityResolution (void) |
virtual void | onReportEntityState (void) |
virtual void | onResourceAcquisition (void) |
virtual void | onResourceRelease (void) |
virtual void | onRequestActivation (void) |
virtual void | onRequestDeactivation (void) |
Protected Member Functions inherited from DUNE::Concurrency::Thread | |
void | startImpl (void) |
void | stopImpl (void) |
void | joinImpl (void) |
void | setPriorityImpl (Scheduler::Policy policy, unsigned priority) |
Protected Attributes inherited from DUNE::Tasks::Task | |
Context & | m_ctx |
|
inline |
References DUNE::Control::BasicRemoteOperation::addActionAxis(), DUNE::Control::BasicRemoteOperation::addActionButton(), DUNE::Tasks::Parameter::defaultValue(), Control::AUV::RemoteOperation::Arguments::disable_analog_thrust, Control::AUV::RemoteOperation::Arguments::estate_tout, Control::AUV::RemoteOperation::Arguments::force_torque_control, Control::AUV::RemoteOperation::Arguments::horfin_pos, m_args, Control::AUV::RemoteOperation::Arguments::max_hrate, Control::AUV::RemoteOperation::Arguments::max_thrust, DUNE::Tasks::Task::param(), and Control::AUV::RemoteOperation::Arguments::pitch_ref.
|
inline |
Activate direct torque control.
References DUNE::Control::BasicRemoteOperation::disableControlLoops(), DUNE::Control::BasicRemoteOperation::enableControlLoops(), Control::AUV::RemoteOperation::Arguments::horfin_pos, m_args, m_horfin, m_torque_control, and m_verfin.
Referenced by actuate().
|
inlinevirtual |
Compute and dispatch control commands.
Reimplemented from DUNE::Control::BasicRemoteOperation.
References activateTorqueControl(), DUNE::Tasks::Task::debug(), DUNE::Tasks::Task::dispatch(), Control::AUV::RemoteOperation::Arguments::force_torque_control, m_acceleration, m_args, m_horfin, m_hrate, m_last_estate, m_thrust, m_torque_control, m_verfin, Control::AUV::RemoteOperation::Arguments::max_thrust, DUNE::Time::Counter< T >::overflow(), and Control::AUV::RemoteOperation::Arguments::pitch_ref.
Referenced by onActivation(), and onConnectionTimeout().
|
inline |
References m_last_estate, and DUNE::Time::Counter< T >::reset().
|
inline |
Deactivate direct torque control.
References DUNE::Control::BasicRemoteOperation::disableControlLoops(), DUNE::Control::BasicRemoteOperation::enableControlLoops(), m_hrate, and m_torque_control.
Referenced by onUpdateParameters().
|
inlinevirtual |
Called when the task starts/resumes normal execution.
Reimplemented from DUNE::Tasks::Task.
References actuate(), DUNE::Control::BasicRemoteOperation::enableControlLoops(), Control::AUV::RemoteOperation::Arguments::horfin_pos, m_acceleration, m_args, m_horfin, m_hrate, m_thrust, m_torque_control, and m_verfin.
|
inlinevirtual |
Reimplemented from DUNE::Control::BasicRemoteOperation.
|
inlinevirtual |
Called when the task stops normal execution and enters an idleness state.
Reimplemented from DUNE::Tasks::Task.
References m_acceleration, m_horfin, m_hrate, m_thrust, and m_verfin.
|
inline |
|
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 deactivateTorqueControl(), DUNE::Tasks::Task::debug(), Control::AUV::RemoteOperation::Arguments::estate_tout, Control::AUV::RemoteOperation::Arguments::force_torque_control, Control::AUV::RemoteOperation::Arguments::horfin_pos, m_args, m_last_estate, m_torque_control, Control::AUV::RemoteOperation::Arguments::max_hrate, Control::AUV::RemoteOperation::Arguments::max_thrust, DUNE::Tasks::Task::paramChanged(), Control::AUV::RemoteOperation::Arguments::pitch_ref, and DUNE::Time::Counter< T >::setTop().
int Control::AUV::RemoteOperation::Task::m_acceleration |
Acceleration.
Referenced by actuate(), onActivation(), onDeactivation(), and onRemoteActions().
bool Control::AUV::RemoteOperation::Task::m_analog_thrust |
The analog axis is being used for thrust.
Referenced by onRemoteActions().
Arguments Control::AUV::RemoteOperation::Task::m_args |
Task arguments.
Referenced by activateTorqueControl(), actuate(), onActivation(), onRemoteActions(), onUpdateParameters(), and Task().
float Control::AUV::RemoteOperation::Task::m_horfin |
Position of the horizontal fins. (for torque control)
Referenced by activateTorqueControl(), actuate(), onActivation(), and onDeactivation().
float Control::AUV::RemoteOperation::Task::m_hrate |
Heading rate reference.
Referenced by actuate(), deactivateTorqueControl(), onActivation(), onConnectionTimeout(), onDeactivation(), and onRemoteActions().
Counter<float> Control::AUV::RemoteOperation::Task::m_last_estate |
Last received EstimatedState.
Referenced by actuate(), consume(), and onUpdateParameters().
float Control::AUV::RemoteOperation::Task::m_thrust |
Forward thrust reference.
Referenced by actuate(), onActivation(), onConnectionTimeout(), onDeactivation(), and onRemoteActions().
bool Control::AUV::RemoteOperation::Task::m_torque_control |
Control the fins directly.
Referenced by activateTorqueControl(), actuate(), deactivateTorqueControl(), onActivation(), onRemoteActions(), and onUpdateParameters().
float Control::AUV::RemoteOperation::Task::m_verfin |
Position of the vertical fins. (for torque control)
Referenced by activateTorqueControl(), actuate(), onActivation(), onConnectionTimeout(), onDeactivation(), and onRemoteActions().