15 #ifndef NAV2_CONTROLLER__PARAMETER_HANDLER_HPP_
16 #define NAV2_CONTROLLER__PARAMETER_HANDLER_HPP_
24 #include "rclcpp/duration.hpp"
25 #include "rclcpp/logger.hpp"
26 #include "rclcpp/parameter.hpp"
27 #include "nav2_ros_common/lifecycle_node.hpp"
28 #include "nav2_util/parameter_handler.hpp"
29 #include "nav2_ros_common/node_utils.hpp"
31 namespace nav2_controller
36 double controller_frequency;
37 double min_x_velocity_threshold;
38 double min_y_velocity_threshold;
39 double min_theta_velocity_threshold;
40 std::string speed_limit_topic;
41 double failure_tolerance;
42 bool use_realtime_priority;
43 bool publish_zero_velocity;
44 rclcpp::Duration costmap_update_timeout{0, 0};
45 double transform_staleness_threshold{0.0};
46 std::string odom_topic;
49 std::vector<std::string> progress_checker_ids;
50 std::vector<std::string> progress_checker_types;
51 std::vector<std::string> goal_checker_ids;
52 std::vector<std::string> goal_checker_types;
53 std::vector<std::string> controller_ids;
54 std::vector<std::string> controller_types;
55 std::vector<std::string> path_handler_ids;
56 std::vector<std::string> path_handler_types;
70 const nav2::LifecycleNode::SharedPtr & node,
71 const rclcpp::Logger & logger);
83 const std::vector<rclcpp::Parameter> & parameters)
override;
93 const std::vector<std::string> default_progress_checker_ids_{
"progress_checker"};
94 const std::vector<std::string> default_progress_checker_types_{
95 "nav2_controller::SimpleProgressChecker"};
96 const std::vector<std::string> default_goal_checker_ids_{
"goal_checker"};
97 const std::vector<std::string> default_goal_checker_types_{
"nav2_controller::SimpleGoalChecker"};
98 const std::vector<std::string> default_controller_ids_{
"FollowPath"};
99 const std::vector<std::string> default_controller_types_{
"nav2_mppi_controller::MPPIController"};
100 const std::vector<std::string> default_path_handler_ids_{
"PathHandler"};
101 const std::vector<std::string> default_path_handler_types_{
102 "nav2_controller::FeasiblePathHandler"};
Handles parameters and dynamic parameters for Controller Server.
rcl_interfaces::msg::SetParametersResult validateParameterUpdatesCallback(const std::vector< rclcpp::Parameter > ¶meters) override
Validate incoming parameter updates before applying them. This callback is triggered when one or more...
void updateParametersCallback(const std::vector< rclcpp::Parameter > ¶meters) override
Apply parameter updates after validation This callback is executed when parameters have been successf...
ParameterHandler(const nav2::LifecycleNode::SharedPtr &node, const rclcpp::Logger &logger)
Constructor for nav2_controller::ParameterHandler.