15 #ifndef OPENNAV_FOLLOWING__PARAMETER_HANDLER_HPP_
16 #define OPENNAV_FOLLOWING__PARAMETER_HANDLER_HPP_
24 #include "rclcpp/rclcpp.hpp"
25 #include "nav2_util/lifecycle_node.hpp"
26 #include "nav2_util/node_utils.hpp"
28 namespace opennav_following
34 double controller_frequency;
36 double detection_timeout;
38 double rotate_to_object_timeout;
40 double static_object_timeout;
42 double linear_tolerance, angular_tolerance;
46 std::string base_frame;
48 std::string fixed_frame;
50 double desired_distance;
52 bool skip_orientation;
54 bool search_by_rotating;
58 double transform_tolerance;
60 std::string odom_topic;
62 bool use_collision_detection;
77 const nav2_util::LifecycleNode::SharedPtr & node,
78 const rclcpp::Logger & logger);
114 const std::vector<rclcpp::Parameter> & parameters);
116 nav2_util::LifecycleNode::WeakPtr node_;
119 rclcpp::Logger logger_;
120 rclcpp::node_interfaces::OnSetParametersCallbackHandle::SharedPtr dyn_params_handler_;
Handles parameters and dynamic parameters for Following Server.
Parameters * getParams()
Get a pointer to the internal parameter structure.
void deactivate()
Resets callbacks for dynamic parameter handling.
void activate()
Registers callbacks for dynamic parameter handling.
~ParameterHandler()=default
Destructor for opennav_following::ParameterHandler.
std::mutex & getMutex()
Get the internal mutex used for thread-safe parameter access.
rcl_interfaces::msg::SetParametersResult dynamicParametersCallback(const std::vector< rclcpp::Parameter > ¶meters)
Callback executed when a parameter change is detected.
ParameterHandler(const nav2_util::LifecycleNode::SharedPtr &node, const rclcpp::Logger &logger)
Constructor for opennav_following::ParameterHandler.