|
Nav2 Navigation Stack - kilted
kilted
ROS 2 Navigation Stack
|
Handles getting parameters and dynamic parameter changes. More...
#include <nav2_mppi_controller/include/nav2_mppi_controller/tools/parameters_handler.hpp>

Public Types | |
| using | get_param_func_t = void(const rclcpp::Parameter ¶m, rcl_interfaces::msg::SetParametersResult &result) |
| using | post_callback_t = void() |
| using | pre_callback_t = void() |
Public Member Functions | |
| ParametersHandler ()=default | |
| Constructor for mppi::ParametersHandler. | |
| ParametersHandler (const rclcpp_lifecycle::LifecycleNode::WeakPtr &parent, std::string &name) | |
| Constructor for mppi::ParametersHandler. More... | |
| ~ParametersHandler () | |
| Destructor for mppi::ParametersHandler. | |
| void | start () |
| Starts processing dynamic parameter changes. | |
| rcl_interfaces::msg::SetParametersResult | dynamicParamsCallback (std::vector< rclcpp::Parameter > parameters) |
| Dynamic parameter callback. More... | |
| auto | getParamGetter (const std::string &ns) |
| Get an object to retrieve parameters. More... | |
| template<typename T > | |
| void | addPostCallback (T &&callback) |
| Set a callback to process after parameter changes. More... | |
| template<typename T > | |
| void | addPreCallback (T &&callback) |
| Set a callback to process before parameter changes. More... | |
| template<typename T > | |
| void | setParamCallback (T &setting, const std::string &name, ParameterType param_type=ParameterType::Dynamic) |
| Set a parameter to a dynamic parameter callback. More... | |
| std::mutex * | getLock () |
| Get mutex lock for changing parameters. More... | |
| template<typename T > | |
| void | addParamCallback (const std::string &name, T &&callback) |
| register a function to be called when setting a parameter More... | |
Protected Member Functions | |
| template<typename SettingT , typename ParamT > | |
| void | getParam (SettingT &setting, const std::string &name, ParamT default_value, ParameterType param_type=ParameterType::Dynamic) |
| Gets parameter. More... | |
| template<typename ParamT , typename SettingT , typename NodeT > | |
| void | setParam (SettingT &setting, const std::string &name, NodeT node) const |
| Set a parameter. More... | |
Static Protected Member Functions | |
| template<typename T > | |
| static auto | as (const rclcpp::Parameter ¶meter) |
| Converts parameter type to real types. More... | |
Handles getting parameters and dynamic parameter changes.
Definition at line 41 of file parameters_handler.hpp.
|
explicit |
Constructor for mppi::ParametersHandler.
| parent | Weak ptr to node |
Definition at line 20 of file parameters_handler.cpp.
| void mppi::ParametersHandler::addParamCallback | ( | const std::string & | name, |
| T && | callback | ||
| ) |
register a function to be called when setting a parameter
The callback function is expected to behave as follows. Successful parameter changes should not interfere with the result parameter. Unsuccessful parameter changes should set the result.successful = false The result.reason should have "\n" appended if not empty before appending the reason that setting THIS parameter has failed.
| name | Name of parameter |
| callback | Parameter callback |
Definition at line 193 of file parameters_handler.hpp.
Referenced by mppi::critics::CostCritic::initialize().

| void mppi::ParametersHandler::addPostCallback | ( | T && | callback | ) |
Set a callback to process after parameter changes.
| callback | Callback function |
Definition at line 199 of file parameters_handler.hpp.
Referenced by mppi::Optimizer::getParams().

| void mppi::ParametersHandler::addPreCallback | ( | T && | callback | ) |
Set a callback to process before parameter changes.
| callback | Callback function |
Definition at line 205 of file parameters_handler.hpp.
|
staticprotected |
Converts parameter type to real types.
| parameter | Parameter to convert into real type |
Definition at line 270 of file parameters_handler.hpp.
| rcl_interfaces::msg::SetParametersResult mppi::ParametersHandler::dynamicParamsCallback | ( | std::vector< rclcpp::Parameter > | parameters | ) |
Dynamic parameter callback.
| parameter | Parameter changes to process |
Definition at line 53 of file parameters_handler.cpp.
Referenced by start().

|
inline |
Get mutex lock for changing parameters.
Definition at line 113 of file parameters_handler.hpp.
|
protected |
Gets parameter.
| setting | Return Parameter type |
| name | Parameter name |
| default_value | Default parameter value |
| param_type | Type of parameter (dynamic or static) |
Definition at line 211 of file parameters_handler.hpp.
References setParamCallback().

|
inline |
Get an object to retrieve parameters.
| ns | Namespace to get parameters within |
Definition at line 181 of file parameters_handler.hpp.
Referenced by mppi::AckermannMotionModel::AckermannMotionModel(), mppi::CriticManager::getParams(), mppi::Optimizer::getParams(), mppi::critics::ConstraintCritic::initialize(), mppi::critics::CostCritic::initialize(), mppi::critics::GoalAngleCritic::initialize(), mppi::critics::GoalCritic::initialize(), mppi::critics::ObstaclesCritic::initialize(), mppi::critics::PathAlignCritic::initialize(), mppi::critics::PathAngleCritic::initialize(), mppi::critics::PathFollowCritic::initialize(), mppi::critics::PreferForwardCritic::initialize(), mppi::critics::TwirlingCritic::initialize(), mppi::critics::VelocityDeadbandCritic::initialize(), mppi::NoiseGenerator::initialize(), mppi::PathHandler::initialize(), mppi::TrajectoryVisualizer::on_configure(), mppi::critics::CriticFunction::on_configure(), and start().

|
protected |
Set a parameter.
Definition at line 226 of file parameters_handler.hpp.
| void mppi::ParametersHandler::setParamCallback | ( | T & | setting, |
| const std::string & | name, | ||
| ParameterType | param_type = ParameterType::Dynamic |
||
| ) |
Set a parameter to a dynamic parameter callback.
| setting | Parameter |
| name | Name of parameter |
| param_type | Type of parameter (dynamic or static) |
Definition at line 235 of file parameters_handler.hpp.
Referenced by getParam().
