Nav2 Navigation Stack - rolling
main
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 | 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 > | |
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 197 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 203 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 209 of file parameters_handler.hpp.
|
staticprotected |
Converts parameter type to real types.
parameter | Parameter to convert into real type |
Definition at line 274 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 114 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 215 of file parameters_handler.hpp.
References setParamCallback().
|
inline |
Get an object to retrieve parameters.
ns | Namespace to get parameters within |
Definition at line 185 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::OptimalTrajectoryValidator::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 230 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 239 of file parameters_handler.hpp.
Referenced by getParam().