|
Nav2 Navigation Stack - lyrical
lyrical
ROS 2 Navigation Stack
|
This plugin is used to check the position and the angle of the robot to make sure that it is actually progressing or rotating towards a goal. More...
#include <nav2_controller/include/nav2_controller/plugins/pose_progress_checker.hpp>


Public Member Functions | |
| PoseProgressChecker ()=default | |
| Construct a new Pose Progress Checker object. | |
| ~PoseProgressChecker () | |
| Destroy the Pose Progress Checker object. | |
| void | initialize (const nav2::LifecycleNode::WeakPtr &parent, const std::string &plugin_name) override |
| Initialize the goal checker. More... | |
| bool | check (geometry_msgs::msg::PoseStamped ¤t_pose) override |
| Checks if the robot has moved compare to previous. More... | |
Public Member Functions inherited from nav2_controller::SimpleProgressChecker | |
| SimpleProgressChecker ()=default | |
| Construct a new Simple Progress Checker object. | |
| ~SimpleProgressChecker () | |
| Destroy the Simple Progress Checker object. | |
| void | initialize (const nav2::LifecycleNode::WeakPtr &parent, const std::string &plugin_name) override |
| Initialize the goal checker. More... | |
| bool | check (geometry_msgs::msg::PoseStamped ¤t_pose) override |
| Checks if the robot has moved compare to previous. More... | |
| void | reset () override |
| Reset the progress checker state. | |
Protected Member Functions | |
| bool | isRobotMovedEnough (const geometry_msgs::msg::Pose &pose) |
| Calculates robots movement from baseline pose. More... | |
| 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 parameters are about to be updated. It checks the validity of parameter values and rejects updates that would lead to invalid or inconsistent configurations. More... | |
| void | updateParametersCallback (const std::vector< rclcpp::Parameter > ¶meters) |
| Apply parameter updates after validation This callback is executed when parameters have been successfully updated. It updates the internal configuration of the node with the new parameter values. More... | |
Protected Member Functions inherited from nav2_controller::SimpleProgressChecker | |
| bool | isRobotMovedEnough (const geometry_msgs::msg::Pose &pose) |
| Calculates robots movement from baseline pose. More... | |
| void | resetBaselinePose (const geometry_msgs::msg::Pose &pose) |
| Resets baseline pose with the current pose of the robot. More... | |
| 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 parameters are about to be updated. It checks the validity of parameter values and rejects updates that would lead to invalid or inconsistent configurations. More... | |
| void | updateParametersCallback (const std::vector< rclcpp::Parameter > ¶meters) |
| Apply parameter updates after validation This callback is executed when parameters have been successfully updated. It updates the internal configuration of the node with the new parameter values. More... | |
Static Protected Member Functions | |
| static double | poseAngleDistance (const geometry_msgs::msg::Pose &, const geometry_msgs::msg::Pose &) |
| Calculates angle difference between two poses. More... | |
Static Protected Member Functions inherited from nav2_controller::SimpleProgressChecker | |
| static double | pose_distance (const geometry_msgs::msg::Pose &, const geometry_msgs::msg::Pose &) |
| Calculates distance between two poses. More... | |
Protected Attributes | |
| double | required_movement_angle_ |
| std::mutex | mutex_ |
| rclcpp::node_interfaces::PostSetParametersCallbackHandle::SharedPtr | post_set_params_handler_ |
| rclcpp::node_interfaces::OnSetParametersCallbackHandle::SharedPtr | on_set_params_handler_ |
| std::string | plugin_name_ |
| nav2::LifecycleNode::WeakPtr | node_ |
| rclcpp::Logger | logger_ {rclcpp::get_logger("pose_progress_checker")} |
Protected Attributes inherited from nav2_controller::SimpleProgressChecker | |
| nav2::LifecycleNode::WeakPtr | node_ |
| rclcpp::Clock::SharedPtr | clock_ |
| rclcpp::Logger | logger_ {rclcpp::get_logger("simple_progress_checker")} |
| double | radius_ |
| rclcpp::Duration | time_allowance_ {0, 0} |
| geometry_msgs::msg::Pose | baseline_pose_ |
| rclcpp::Time | baseline_time_ |
| bool | baseline_pose_set_ {false} |
| std::mutex | mutex_ |
| rclcpp::node_interfaces::PostSetParametersCallbackHandle::SharedPtr | post_set_params_handler_ |
| rclcpp::node_interfaces::OnSetParametersCallbackHandle::SharedPtr | on_set_params_handler_ |
| std::string | plugin_name_ |
Additional Inherited Members | |
Public Types inherited from nav2_core::ProgressChecker | |
| typedef std::shared_ptr< nav2_core::ProgressChecker > | Ptr |
This plugin is used to check the position and the angle of the robot to make sure that it is actually progressing or rotating towards a goal.
Definition at line 32 of file pose_progress_checker.hpp.
|
overridevirtual |
Checks if the robot has moved compare to previous.
| current_pose | Current pose of the robot |
Implements nav2_core::ProgressChecker.
Definition at line 71 of file pose_progress_checker.cpp.
References isRobotMovedEnough(), and nav2_controller::SimpleProgressChecker::resetBaselinePose().

|
overridevirtual |
Initialize the goal checker.
| parent | Weak pointer to the lifecycle node |
| plugin_name | Name of the plugin |
Implements nav2_core::ProgressChecker.
Definition at line 47 of file pose_progress_checker.cpp.
References nav2_controller::SimpleProgressChecker::initialize(), updateParametersCallback(), and validateParameterUpdatesCallback().

|
protected |
Calculates robots movement from baseline pose.
| pose | Current pose of the robot |
Definition at line 83 of file pose_progress_checker.cpp.
References nav2_controller::SimpleProgressChecker::pose_distance(), and poseAngleDistance().
Referenced by check().


|
staticprotected |
Calculates angle difference between two poses.
| pose1 | First pose |
| pose2 | Second pose |
Definition at line 89 of file pose_progress_checker.cpp.
Referenced by isRobotMovedEnough().

|
protected |
Apply parameter updates after validation This callback is executed when parameters have been successfully updated. It updates the internal configuration of the node with the new parameter values.
| parameters | List of parameters that have been updated. |
Definition at line 124 of file pose_progress_checker.cpp.
Referenced by initialize().

|
protected |
Validate incoming parameter updates before applying them. This callback is triggered when one or more parameters are about to be updated. It checks the validity of parameter values and rejects updates that would lead to invalid or inconsistent configurations.
| parameters | List of parameters that are being updated. |
Definition at line 99 of file pose_progress_checker.cpp.
Referenced by initialize().
