15 #ifndef NAV2_CONTROLLER__PLUGINS__POSE_PROGRESS_CHECKER_HPP_
16 #define NAV2_CONTROLLER__PLUGINS__POSE_PROGRESS_CHECKER_HPP_
20 #include "rclcpp/rclcpp.hpp"
21 #include "nav2_controller/plugins/simple_progress_checker.hpp"
22 #include "nav2_ros_common/lifecycle_node.hpp"
24 namespace nav2_controller
51 const nav2::LifecycleNode::WeakPtr & parent,
52 const std::string & plugin_name)
override;
59 bool check(geometry_msgs::msg::PoseStamped & current_pose)
override;
76 const geometry_msgs::msg::Pose &,
77 const geometry_msgs::msg::Pose &);
79 double required_movement_angle_;
83 rclcpp::node_interfaces::PostSetParametersCallbackHandle::SharedPtr post_set_params_handler_;
84 rclcpp::node_interfaces::OnSetParametersCallbackHandle::SharedPtr on_set_params_handler_;
85 std::string plugin_name_;
86 nav2::LifecycleNode::WeakPtr node_;
87 rclcpp::Logger logger_{rclcpp::get_logger(
"pose_progress_checker")};
98 const std::vector<rclcpp::Parameter> & parameters);
This plugin is used to check the position and the angle of the robot to make sure that it is actually...
PoseProgressChecker()=default
Construct a new Pose Progress Checker object.
static double poseAngleDistance(const geometry_msgs::msg::Pose &, const geometry_msgs::msg::Pose &)
Calculates angle difference between two poses.
rcl_interfaces::msg::SetParametersResult validateParameterUpdatesCallback(const std::vector< rclcpp::Parameter > ¶meters)
Validate incoming parameter updates before applying them. This callback is triggered when one or more...
bool isRobotMovedEnough(const geometry_msgs::msg::Pose &pose)
Calculates robots movement from baseline pose.
~PoseProgressChecker()
Destroy the Pose Progress Checker object.
void updateParametersCallback(const std::vector< rclcpp::Parameter > ¶meters)
Apply parameter updates after validation This callback is executed when parameters have been successf...
void initialize(const nav2::LifecycleNode::WeakPtr &parent, const std::string &plugin_name) override
Initialize the goal checker.
bool check(geometry_msgs::msg::PoseStamped ¤t_pose) override
Checks if the robot has moved compare to previous.
This plugin is used to check the position of the robot to make sure that it is actually progressing t...