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 (status() == BT::NodeStatus::IDLE) {
37 setStatus(BT::NodeStatus::RUNNING);
40 const BT::NodeStatus child_state = child_node_->executeTick();
42 switch (child_state) {
43 case BT::NodeStatus::RUNNING:
44 return BT::NodeStatus::RUNNING;
46 case BT::NodeStatus::SUCCESS:
48 return BT::NodeStatus::SUCCESS;
50 case BT::NodeStatus::FAILURE:
52 return BT::NodeStatus::FAILURE;
56 return BT::NodeStatus::FAILURE;
60 return BT::NodeStatus::FAILURE;
65 #include "behaviortree_cpp_v3/bt_factory.h"
66 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.