Classes | Public Member Functions | Protected Attributes | List of all members
BT::CoroActionNode Class Reference

The CoroActionNode class is an ideal candidate for asynchronous actions which need to communicate with a service provider using an asynch request/reply interface (being a notable example ActionLib in ROS, MoveIt clients or move_base clients). More...

#include <action_node.h>

Inheritance diagram for BT::CoroActionNode:
Inheritance graph
[legend]

Classes

struct  Pimpl
 

Public Member Functions

 CoroActionNode (const std::string &name, const NodeParameters &parameters=NodeParameters())
 
virtual NodeStatus executeTick () overridefinal
 The method that will be executed to invoke tick(); and setStatus();. More...
 
void halt () override
 
void setStatusRunningAndYield ()
 
virtual ~CoroActionNode () override
 
- Public Member Functions inherited from BT::ActionNodeBase
 ActionNodeBase (const std::string &name, const NodeParameters &parameters=NodeParameters())
 
virtual NodeType type () const overridefinal
 
 ~ActionNodeBase () override=default
 
- Public Member Functions inherited from BT::LeafNode
 LeafNode (const std::string &name, const NodeParameters &parameters)
 
virtual ~LeafNode () override=default
 
- Public Member Functions inherited from BT::TreeNode
const Blackboard::Ptrblackboard () const
 
template<typename T >
BT::optional< T > getParam (const std::string &key) const
 
template<typename T >
bool getParam (const std::string &key, T &destination) const
 
const NodeParametersinitializationParameters () const
 
bool isHalted () const
 
const std::string & name () const
 
const std::string & registrationName () const
 registrationName is the ID used by BehaviorTreeFactory to create an instance. More...
 
void setBlackboard (const Blackboard::Ptr &bb)
 
void setStatus (NodeStatus new_status)
 
NodeStatus status () const
 
StatusChangeSubscriber subscribeToStatusChange (StatusChangeCallback callback)
 subscribeToStatusChange is used to attach a callback to a status change. When StatusChangeSubscriber goes out of scope (it is a shared_ptr) the callback is unsubscribed automatically. More...
 
 TreeNode (const std::string &name, const NodeParameters &parameters)
 TreeNode main constructor. More...
 
uint16_t UID () const
 
BT::NodeStatus waitValidStatus ()
 
virtual ~TreeNode ()=default
 

Protected Attributes

std::unique_ptr< Pimpl_p
 

Additional Inherited Members

- Public Types inherited from BT::TreeNode
typedef std::shared_ptr< TreeNodePtr
 
using StatusChangeCallback = StatusChangeSignal::CallableFunction
 
using StatusChangeSignal = Signal< TimePoint, const TreeNode &, NodeStatus, NodeStatus >
 
using StatusChangeSubscriber = StatusChangeSignal::Subscriber
 
- Static Public Member Functions inherited from BT::TreeNode
static bool isBlackboardPattern (StringView str)
 
- Protected Member Functions inherited from BT::TreeNode
void initializeOnce ()
 
void setRegistrationName (const std::string &registration_name)
 registrationName() is set by the BehaviorTreeFactory More...
 
virtual BT::NodeStatus tick ()=0
 Method to be implemented by the user. More...
 

Detailed Description

The CoroActionNode class is an ideal candidate for asynchronous actions which need to communicate with a service provider using an asynch request/reply interface (being a notable example ActionLib in ROS, MoveIt clients or move_base clients).

It is up to the user to decide when to suspend execution of the behaviorTree invoking the method setStatusRunningAndYield().

Definition at line 158 of file action_node.h.

Constructor & Destructor Documentation

BT::CoroActionNode::CoroActionNode ( const std::string &  name,
const NodeParameters parameters = NodeParameters() 
)

Definition at line 128 of file action_node.cpp.

BT::CoroActionNode::~CoroActionNode ( )
overridevirtual

Definition at line 135 of file action_node.cpp.

Member Function Documentation

NodeStatus BT::CoroActionNode::executeTick ( )
finaloverridevirtual

The method that will be executed to invoke tick(); and setStatus();.

Reimplemented from BT::ActionNodeBase.

Definition at line 146 of file action_node.cpp.

void BT::CoroActionNode::halt ( )
overridevirtual

You may want to override this method. But still, call remember to call this implementation too.

Example:

void MyAction::halt()
{
    // do your stuff here
    CoroActionNode::halt();
}

Implements BT::TreeNode.

Definition at line 167 of file action_node.cpp.

void BT::CoroActionNode::setStatusRunningAndYield ( )

When you want to return RUNNING and temporary "pause" the Action, use this method.

Definition at line 140 of file action_node.cpp.

Member Data Documentation

std::unique_ptr<Pimpl> BT::CoroActionNode::_p
protected

Definition at line 188 of file action_node.h.


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


behaviortree_cpp
Author(s): Michele Colledanchise, Davide Faconti
autogenerated on Sun Feb 3 2019 03:14:33