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>
Classes | |
struct | Pimpl |
Public Member Functions | |
CoroActionNode (const std::string &name, const NodeParameters ¶meters=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 ¶meters=NodeParameters()) | |
virtual NodeType | type () const overridefinal |
~ActionNodeBase () override=default | |
Public Member Functions inherited from BT::LeafNode | |
LeafNode (const std::string &name, const NodeParameters ¶meters) | |
virtual | ~LeafNode () override=default |
Public Member Functions inherited from BT::TreeNode | |
const Blackboard::Ptr & | blackboard () 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 NodeParameters & | initializationParameters () 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 ¶meters) | |
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< TreeNode > | Ptr |
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 ®istration_name) |
registrationName() is set by the BehaviorTreeFactory More... | |
virtual BT::NodeStatus | tick ()=0 |
Method to be implemented by the user. More... | |
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.
BT::CoroActionNode::CoroActionNode | ( | const std::string & | name, |
const NodeParameters & | parameters = NodeParameters() |
||
) |
Definition at line 128 of file action_node.cpp.
|
overridevirtual |
Definition at line 135 of file action_node.cpp.
|
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.
|
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.
|
protected |
Definition at line 188 of file action_node.h.