15 #ifndef NAV2_BEHAVIOR_TREE__PLUGINS__CONTROL__ROUND_ROBIN_NODE_HPP_
16 #define NAV2_BEHAVIOR_TREE__PLUGINS__CONTROL__ROUND_ROBIN_NODE_HPP_
20 #include "behaviortree_cpp/control_node.h"
21 #include "behaviortree_cpp/bt_factory.h"
23 namespace nav2_behavior_tree
73 RoundRobinNode(
const std::string & name,
const BT::NodeConfiguration & config);
79 BT::NodeStatus
tick()
override;
93 BT::InputPort<bool>(
"wrap_around",
false,
94 "Enable wrap-around to first child after last child fails")
99 unsigned int current_child_idx_{0};
100 unsigned int num_failed_children_{0};
101 bool wrap_around_{
false};
Type of sequence node that ticks children in a round-robin fashion.
void halt() override
The other (optional) override required by a BT action to reset node state.
static BT::PortsList providedPorts()
Creates list of BT ports.
BT::NodeStatus tick() override
The main override required by a BT action.
RoundRobinNode(const std::string &name)
A constructor for nav2_behavior_tree::RoundRobinNode.