Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
mbf_abstract_nav::AbstractRecoveryExecution Class Reference

The AbstractRecoveryExecution class loads and binds the recovery behavior plugin. It contains a thread running the plugin, executing the recovery behavior. An internal state is saved and will be pulled by the server, which controls the recovery behavior execution. Due to a state change it wakes up all threads connected to the condition variable. More...

#include <abstract_recovery_execution.h>

Inheritance diagram for mbf_abstract_nav::AbstractRecoveryExecution:
Inheritance graph
[legend]

List of all members.

Public Types

typedef boost::shared_ptr
< AbstractRecoveryExecution
Ptr
enum  RecoveryState {
  INITIALIZED, STARTED, RECOVERING, WRONG_NAME,
  RECOVERY_DONE, CANCELED, STOPPED, INTERNAL_ERROR
}
 internal state. More...

Public Member Functions

 AbstractRecoveryExecution (const std::string name, const mbf_abstract_core::AbstractRecovery::Ptr recovery_ptr, const TFPtr &tf_listener_ptr, const MoveBaseFlexConfig &config, boost::function< void()> setup_fn, boost::function< void()> cleanup_fn)
 Constructor.
virtual bool cancel ()
 Cancel the planner execution. This calls the cancel method of the planner plugin. This could be useful if the computation takes too much time.
AbstractRecoveryExecution::RecoveryState getState ()
 Returns the current state, thread-safe communication.
bool isPatienceExceeded ()
 Checks whether the patience was exceeded.
void reconfigure (const MoveBaseFlexConfig &config)
 Reconfigures the current configuration and reloads all parameters. This method is called from a dynamic reconfigure tool.
virtual ~AbstractRecoveryExecution ()
 Destructor.

Protected Member Functions

virtual void run ()
 Main execution method which will be executed by the recovery execution thread_.

Protected Attributes

mbf_abstract_core::AbstractRecovery::Ptr behavior_
 the current loaded recovery behavior
const TFPtr tf_listener_ptr_
 shared pointer to common TransformListener

Private Member Functions

void setState (RecoveryState state)
 Sets the current internal state. This method is thread communication safe.

Private Attributes

boost::mutex conf_mtx_
 dynamic reconfigure and start time mutexes to mutually exclude read/write configuration
ros::Duration patience_
 recovery behavior allowed time
ros::Time start_time_
 recovery behavior start time
RecoveryState state_
 current internal state
boost::mutex state_mtx_
 mutex to handle safe thread communication for the current state
boost::mutex time_mtx_

Detailed Description

The AbstractRecoveryExecution class loads and binds the recovery behavior plugin. It contains a thread running the plugin, executing the recovery behavior. An internal state is saved and will be pulled by the server, which controls the recovery behavior execution. Due to a state change it wakes up all threads connected to the condition variable.

Definition at line 76 of file abstract_recovery_execution.h.


Member Typedef Documentation

Definition at line 80 of file abstract_recovery_execution.h.


Member Enumeration Documentation

internal state.

Enumerator:
INITIALIZED 

The recovery execution has been initialized.

STARTED 

The recovery execution thread has been started.

RECOVERING 

The recovery behavior plugin is running.

WRONG_NAME 

The given name could not be associated with a load behavior.

RECOVERY_DONE 

The recovery behavior execution is done.

CANCELED 

The recovery execution was canceled.

STOPPED 

The recovery execution has been stopped.

INTERNAL_ERROR 

An internal error occurred.

Definition at line 115 of file abstract_recovery_execution.h.


Constructor & Destructor Documentation

mbf_abstract_nav::AbstractRecoveryExecution::AbstractRecoveryExecution ( const std::string  name,
const mbf_abstract_core::AbstractRecovery::Ptr  recovery_ptr,
const TFPtr tf_listener_ptr,
const MoveBaseFlexConfig &  config,
boost::function< void()>  setup_fn,
boost::function< void()>  cleanup_fn 
)

Constructor.

Parameters:
conditionThread sleep condition variable, to wake up connected threads
tf_listener_ptrShared pointer to a common tf listener

Definition at line 50 of file abstract_recovery_execution.cpp.

Destructor.

Definition at line 64 of file abstract_recovery_execution.cpp.


Member Function Documentation

Cancel the planner execution. This calls the cancel method of the planner plugin. This could be useful if the computation takes too much time.

Returns:
true, if the planner plugin tries / tried to cancel the planning step.

Implements mbf_abstract_nav::AbstractExecutionBase.

Definition at line 94 of file abstract_recovery_execution.cpp.

Returns the current state, thread-safe communication.

Returns:
current internal state

Definition at line 88 of file abstract_recovery_execution.cpp.

Checks whether the patience was exceeded.

Returns:
true, if the patience duration was exceeded.

Definition at line 107 of file abstract_recovery_execution.cpp.

void mbf_abstract_nav::AbstractRecoveryExecution::reconfigure ( const MoveBaseFlexConfig &  config)

Reconfigures the current configuration and reloads all parameters. This method is called from a dynamic reconfigure tool.

Parameters:
configCurrent MoveBaseFlexConfig object. See the MoveBaseFlex.cfg definition.

Definition at line 69 of file abstract_recovery_execution.cpp.

void mbf_abstract_nav::AbstractRecoveryExecution::run ( ) [protected, virtual]

Main execution method which will be executed by the recovery execution thread_.

Implements mbf_abstract_nav::AbstractExecutionBase.

Definition at line 115 of file abstract_recovery_execution.cpp.

Sets the current internal state. This method is thread communication safe.

Parameters:
stateThe state to set.

Definition at line 81 of file abstract_recovery_execution.cpp.


Member Data Documentation

the current loaded recovery behavior

Definition at line 148 of file abstract_recovery_execution.h.

dynamic reconfigure and start time mutexes to mutually exclude read/write configuration

Definition at line 165 of file abstract_recovery_execution.h.

recovery behavior allowed time

Definition at line 169 of file abstract_recovery_execution.h.

recovery behavior start time

Definition at line 172 of file abstract_recovery_execution.h.

current internal state

Definition at line 175 of file abstract_recovery_execution.h.

mutex to handle safe thread communication for the current state

Definition at line 162 of file abstract_recovery_execution.h.

shared pointer to common TransformListener

Definition at line 151 of file abstract_recovery_execution.h.

Definition at line 166 of file abstract_recovery_execution.h.


The documentation for this class was generated from the following files:


mbf_abstract_nav
Author(s): Sebastian Pütz
autogenerated on Mon Jun 17 2019 20:11:35