15 #ifndef NAV2_BEHAVIOR_TREE__PLUGINS__ACTION__REMOVE_PASSED_GOALS_ACTION_HPP_
16 #define NAV2_BEHAVIOR_TREE__PLUGINS__ACTION__REMOVE_PASSED_GOALS_ACTION_HPP_
22 #include "behaviortree_cpp/json_export.h"
23 #include "geometry_msgs/msg/pose_stamped.hpp"
24 #include "nav2_util/geometry_utils.hpp"
25 #include "nav2_util/robot_utils.hpp"
26 #include "behaviortree_cpp/action_node.h"
27 #include "nav2_behavior_tree/bt_utils.hpp"
28 #include "nav2_behavior_tree/json_utils.hpp"
30 namespace nav2_behavior_tree
42 typedef std::vector<geometry_msgs::msg::PoseStamped> Goals;
45 const std::string & xml_tag_name,
46 const BT::NodeConfiguration & conf);
53 static BT::PortsList providedPorts()
56 BT::InputPort<Goals>(
"input_goals",
"Original goals to remove viapoints from"),
57 BT::OutputPort<Goals>(
"output_goals",
"Goals with passed viapoints removed"),
58 BT::InputPort<double>(
"radius", 0.5,
"radius to goal for it to be considered for removal"),
59 BT::InputPort<std::string>(
"global_frame",
"Global frame"),
60 BT::InputPort<std::string>(
"robot_base_frame",
"Robot base frame"),
65 void halt()
override {}
66 BT::NodeStatus tick()
override;
68 double viapoint_achieved_radius_;
69 double transform_tolerance_;
70 std::shared_ptr<tf2_ros::Buffer> tf_;
71 std::string robot_base_frame_;
void initialize()
Function to read parameters and initialize class variables.