15 #ifndef NAV2_REGULATED_PURE_PURSUIT_CONTROLLER__PARAMETER_HANDLER_HPP_
16 #define NAV2_REGULATED_PURE_PURSUIT_CONTROLLER__PARAMETER_HANDLER_HPP_
24 #include "rclcpp/rclcpp.hpp"
25 #include "nav2_ros_common/lifecycle_node.hpp"
26 #include "nav2_util/odometry_utils.hpp"
27 #include "nav2_util/geometry_utils.hpp"
28 #include "nav2_ros_common/node_utils.hpp"
30 namespace nav2_regulated_pure_pursuit_controller
35 double desired_linear_vel, base_desired_linear_vel;
36 double lookahead_dist;
37 double rotate_to_heading_angular_vel;
38 double max_lookahead_dist;
39 double min_lookahead_dist;
40 double lookahead_time;
41 bool use_velocity_scaled_lookahead_dist;
42 double min_approach_linear_velocity;
43 double approach_velocity_scaling_dist;
44 double max_allowed_time_to_collision_up_to_carrot;
45 double min_distance_to_obstacle;
46 bool use_regulated_linear_velocity_scaling;
47 bool use_cost_regulated_linear_velocity_scaling;
48 double cost_scaling_dist;
49 double cost_scaling_gain;
50 double inflation_cost_scaling_factor;
51 double regulated_linear_scaling_min_radius;
52 double regulated_linear_scaling_min_speed;
53 bool use_fixed_curvature_lookahead;
54 double curvature_lookahead_dist;
55 bool use_rotate_to_heading;
56 double max_angular_accel;
57 bool use_cancel_deceleration;
58 double cancel_deceleration;
59 double rotate_to_heading_min_angle;
61 double max_robot_pose_search_dist;
62 bool interpolate_curvature_after_goal;
63 bool use_collision_detection;
64 double transform_tolerance;
79 nav2::LifecycleNode::SharedPtr node,
80 std::string & plugin_name,
81 rclcpp::Logger & logger,
const double costmap_size_x);
88 std::mutex & getMutex() {
return mutex_;}
103 nav2::LifecycleNode::WeakPtr node_;
122 rcl_interfaces::msg::SetParametersResult
127 rclcpp::node_interfaces::PostSetParametersCallbackHandle::SharedPtr post_set_params_handler_;
128 rclcpp::node_interfaces::OnSetParametersCallbackHandle::SharedPtr on_set_params_handler_;
130 std::string plugin_name_;
131 rclcpp::Logger logger_ {rclcpp::get_logger(
"RegulatedPurePursuitController")};
Handles parameters and dynamic parameters for RPP.
~ParameterHandler()
Destrructor for nav2_regulated_pure_pursuit_controller::ParameterHandler.
void activate()
Registers callbacks for dynamic parameter handling.
rcl_interfaces::msg::SetParametersResult validateParameterUpdatesCallback(std::vector< rclcpp::Parameter > parameters)
Validate incoming parameter updates before applying them. This callback is triggered when one or more...
ParameterHandler(nav2::LifecycleNode::SharedPtr node, std::string &plugin_name, rclcpp::Logger &logger, const double costmap_size_x)
Constructor for nav2_regulated_pure_pursuit_controller::ParameterHandler.
void deactivate()
Resets callbacks for dynamic parameter handling.
void updateParametersCallback(std::vector< rclcpp::Parameter > parameters)
Apply parameter updates after validation This callback is executed when parameters have been successf...