41 #include <rclcpp/rclcpp.hpp>
42 #include <rclcpp_action/rclcpp_action.hpp>
44 #include <moveit_msgs/action/local_planner.hpp>
45 #include <moveit_msgs/action/global_planner.hpp>
46 #include <moveit_msgs/action/hybrid_planner.hpp>
50 #include <pluginlib/class_loader.hpp>
67 if (long_callback_thread_.joinable())
69 long_callback_thread_.join();
79 return std::static_pointer_cast<HybridPlanningManager>(Node::shared_from_this());
98 std::shared_ptr<rclcpp_action::ServerGoalHandle<moveit_msgs::
action::HybridPlanner>> goal_handle);
126 rclcpp::TimerBase::SharedPtr timer_;
132 std::atomic<
bool> stop_hybrid_planning_;
135 std::shared_ptr<rclcpp_action::ServerGoalHandle<moveit_msgs::
action::HybridPlanner>> hybrid_planning_goal_handle_;
138 std::shared_ptr<moveit_msgs::
action::HybridPlanner_Feedback> hybrid_planning_progess_;
141 rclcpp_action::Client<moveit_msgs::
action::LocalPlanner>::SharedPtr local_planner_action_client_;
142 rclcpp_action::Client<moveit_msgs::
action::GlobalPlanner>::SharedPtr global_planner_action_client_;
145 rclcpp_action::Server<moveit_msgs::
action::HybridPlanner>::SharedPtr hybrid_planning_request_server_;
148 rclcpp::Subscription<moveit_msgs::msg::MotionPlanResponse>::SharedPtr global_solution_sub_;
151 std::thread long_callback_thread_;
154 rclcpp::CallbackGroup::SharedPtr cb_group_;
~HybridPlanningManager() override
Destructor.
HybridPlanningManager(const rclcpp::NodeOptions &options)
Constructor.
void cancelHybridManagerGoals() noexcept
std::shared_ptr< HybridPlanningManager > shared_from_this()
void sendHybridPlanningResponse(bool success)
void executeHybridPlannerGoal(std::shared_ptr< rclcpp_action::ServerGoalHandle< moveit_msgs::action::HybridPlanner >> goal_handle)
bool sendLocalPlannerAction()
bool sendGlobalPlannerAction()