15 #ifndef NAV2_CORE__SMOOTHER_HPP_
16 #define NAV2_CORE__SMOOTHER_HPP_
21 #include "nav2_costmap_2d/costmap_subscriber.hpp"
22 #include "nav2_costmap_2d/footprint_subscriber.hpp"
23 #include "tf2_ros/buffer.h"
24 #include "tf2_ros/transform_listener.h"
25 #include "rclcpp/rclcpp.hpp"
26 #include "rclcpp_lifecycle/lifecycle_node.hpp"
27 #include "pluginlib/class_loader.hpp"
28 #include "nav_msgs/msg/path.hpp"
41 using Ptr = std::shared_ptr<nav2_core::Smoother>;
48 virtual void configure(
49 const rclcpp_lifecycle::LifecycleNode::WeakPtr &,
50 std::string name, std::shared_ptr<tf2_ros::Buffer>,
51 std::shared_ptr<nav2_costmap_2d::CostmapSubscriber>,
52 std::shared_ptr<nav2_costmap_2d::FootprintSubscriber>) = 0;
77 nav_msgs::msg::Path & path,
78 const rclcpp::Duration & max_time) = 0;
smoother interface that acts as a virtual base class for all smoother plugins
virtual void deactivate()=0
Method to deactivate smoother and any threads involved in execution.
virtual void activate()=0
Method to activate smoother and any threads involved in execution.
virtual void cleanup()=0
Method to cleanup resources.
virtual ~Smoother()
Virtual destructor.
virtual bool smooth(nav_msgs::msg::Path &path, const rclcpp::Duration &max_time)=0
Method to smooth given path.