18 #include "nav2_behavior_tree/plugins/decorator/single_trigger_node.hpp"
20 namespace nav2_behavior_tree
24 const std::string & name,
25 const BT::NodeConfiguration & conf)
26 : BT::DecoratorNode(name, conf),
31 BT::NodeStatus SingleTrigger::tick()
33 if (!BT::isStatusActive(status())) {
37 setStatus(BT::NodeStatus::RUNNING);
40 const BT::NodeStatus child_state = child_node_->executeTick();
42 switch (child_state) {
43 case BT::NodeStatus::SKIPPED:
44 case BT::NodeStatus::RUNNING:
47 case BT::NodeStatus::FAILURE:
48 case BT::NodeStatus::SUCCESS:
54 return BT::NodeStatus::FAILURE;
58 return BT::NodeStatus::FAILURE;
63 #include "behaviortree_cpp/bt_factory.h"
64 BT_REGISTER_NODES(factory)
A BT::DecoratorNode that triggers its child only once and returns FAILURE for every succeeding tick.
SingleTrigger(const std::string &name, const BT::NodeConfiguration &conf)
A constructor for nav2_behavior_tree::SingleTrigger.