15 #ifndef NAV2_CONTROLLER__PLUGINS__SIMPLE_PROGRESS_CHECKER_HPP_
16 #define NAV2_CONTROLLER__PLUGINS__SIMPLE_PROGRESS_CHECKER_HPP_
20 #include "rclcpp/rclcpp.hpp"
21 #include "nav2_ros_common/lifecycle_node.hpp"
22 #include "nav2_core/progress_checker.hpp"
23 #include "geometry_msgs/msg/pose_stamped.hpp"
24 #include "geometry_msgs/msg/pose.hpp"
26 namespace nav2_controller
38 const nav2::LifecycleNode::WeakPtr & parent,
39 const std::string & plugin_name)
override;
40 bool check(geometry_msgs::msg::PoseStamped & current_pose)
override;
41 void reset()
override;
56 static double pose_distance(
57 const geometry_msgs::msg::Pose &,
58 const geometry_msgs::msg::Pose &);
60 rclcpp::Clock::SharedPtr clock_;
63 rclcpp::Duration time_allowance_{0, 0};
65 geometry_msgs::msg::Pose baseline_pose_;
66 rclcpp::Time baseline_time_;
68 bool baseline_pose_set_{
false};
70 rclcpp::node_interfaces::OnSetParametersCallbackHandle::SharedPtr dyn_params_handler_;
71 std::string plugin_name_;
77 rcl_interfaces::msg::SetParametersResult
This plugin is used to check the position of the robot to make sure that it is actually progressing t...
bool check(geometry_msgs::msg::PoseStamped ¤t_pose) override
Checks if the robot has moved compare to previous pose.
rcl_interfaces::msg::SetParametersResult dynamicParametersCallback(std::vector< rclcpp::Parameter > parameters)
Callback executed when a parameter change is detected.
void resetBaselinePose(const geometry_msgs::msg::Pose &pose)
Resets baseline pose with the current pose of the robot.
void initialize(const nav2::LifecycleNode::WeakPtr &parent, const std::string &plugin_name) override
Initialize parameters for ProgressChecker.
bool isRobotMovedEnough(const geometry_msgs::msg::Pose &pose)
Calculates robots movement from baseline pose.
void reset() override
Reset class state upon calling.
This class defines the plugin interface used to check the position of the robot to make sure that it ...