15 #include "nav2_mppi_controller/tools/parameters_handler.hpp"
21 const rclcpp_lifecycle::LifecycleNode::WeakPtr & parent)
24 auto node = node_.lock();
25 node_name_ = node->get_name();
26 logger_ = node->get_logger();
31 auto node = node_.lock();
32 if (on_set_param_handler_ && node) {
33 node->remove_on_set_parameters_callback(on_set_param_handler_.get());
35 on_set_param_handler_.reset();
40 auto node = node_.lock();
41 on_set_param_handler_ = node->add_on_set_parameters_callback(
44 std::placeholders::_1));
47 get_param(verbose_,
"verbose",
false);
50 rcl_interfaces::msg::SetParametersResult
52 std::vector<rclcpp::Parameter> parameters)
54 rcl_interfaces::msg::SetParametersResult result;
55 std::lock_guard<std::mutex> lock(parameters_change_mutex_);
57 for (
auto & pre_cb : pre_callbacks_) {
61 for (
auto & param : parameters) {
62 const std::string & param_name = param.get_name();
64 if (
auto callback = get_param_callbacks_.find(param_name);
65 callback != get_param_callbacks_.end())
67 callback->second(param);
69 RCLCPP_WARN(logger_,
"Parameter %s not found", param_name.c_str());
73 for (
auto & post_cb : post_callbacks_) {
77 result.successful =
true;
rcl_interfaces::msg::SetParametersResult dynamicParamsCallback(std::vector< rclcpp::Parameter > parameters)
Dynamic parameter callback.
auto getParamGetter(const std::string &ns)
Get an object to retreive parameters.
void start()
Starts processing dynamic parameter changes.
ParametersHandler()=default
Constructor for mppi::ParametersHandler.
~ParametersHandler()
Destructor for mppi::ParametersHandler.