|
Nav2 Navigation Stack - lyrical
lyrical
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 nav2::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 | validateParameterUpdatesCallback (const std::vector< rclcpp::Parameter > ¶meters) |
| Validate incoming parameter updates before applying them. This callback is triggered when one or more parameters are about to be updated. It checks the validity of parameter values and rejects updates that would lead to invalid or inconsistent configurations. More... | |
| void | updateParametersCallback (const std::vector< rclcpp::Parameter > ¶meters) |
| Apply parameter updates after validation This callback is executed when parameters have been successfully updated. It updates the internal configuration of the node with the new parameter values. 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 (const std::string &name, 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 > | |
| void | setParam (SettingT &setting, const std::string &name, nav2::LifecycleNode::SharedPtr 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 42 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 210 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 216 of file parameters_handler.hpp.
Referenced by mppi::Optimizer::getParams().

| void mppi::ParametersHandler::addPreCallback | ( | const std::string & | name, |
| T && | callback | ||
| ) |
Set a callback to process before parameter changes.
| callback | Callback function |
Definition at line 222 of file parameters_handler.hpp.
Referenced by mppi::Optimizer::getParams().

|
staticprotected |
Converts parameter type to real types.
| parameter | Parameter to convert into real type |
Definition at line 287 of file parameters_handler.hpp.
|
inline |
Get mutex lock for changing parameters.
Definition at line 125 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 228 of file parameters_handler.hpp.
References setParamCallback().

|
inline |
Get an object to retrieve parameters.
| ns | Namespace to get parameters within |
Definition at line 198 of file parameters_handler.hpp.
Referenced by 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::OptimalTrajectoryValidator::initialize(), mppi::NoiseGenerator::initialize(), mppi::AckermannMotionModel::initialize(), mppi::TrajectoryVisualizer::on_configure(), mppi::critics::CriticFunction::on_configure(), and start().

|
protected |
Set a parameter.
Definition at line 243 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 252 of file parameters_handler.hpp.
Referenced by getParam().

| void mppi::ParametersHandler::updateParametersCallback | ( | const std::vector< rclcpp::Parameter > & | parameters | ) |
Apply parameter updates after validation This callback is executed when parameters have been successfully updated. It updates the internal configuration of the node with the new parameter values.
| parameters | List of parameters that have been updated. |
Definition at line 93 of file parameters_handler.cpp.
Referenced by start().

| rcl_interfaces::msg::SetParametersResult mppi::ParametersHandler::validateParameterUpdatesCallback | ( | const std::vector< rclcpp::Parameter > & | parameters | ) |
Validate incoming parameter updates before applying them. This callback is triggered when one or more parameters are about to be updated. It checks the validity of parameter values and rejects updates that would lead to invalid or inconsistent configurations.
| parameters | List of parameters that are being updated. |
Definition at line 60 of file parameters_handler.cpp.
Referenced by start().
