前言
ROS/ROS2动态参数配置以及如何设置回调
ROS使用
对于ROS,设置动态参数一般采用cfg文件来生成头文件
操作相对麻烦
demo.cfg参考
from dynamic_reconfigure.parameter_generator_catkin import *
gen = ParameterGenerator()
gen.add("demo_param", double_t, 0, "demo_param", 0, -100.0, 100.0);
exit(gen.generate("demo", "DemoNode", "Demo"))
最后generate函数的三个字符串,第一个应该是代码域名,最后一个加上Config,即为文件名,具体见代码
代码使用参考
#include "demo/DemoConfig.h"
std::shared_ptr<dynamic_reconfigure::Server<demo::DemoConfig>> dynamic_server_;
void initDynamicParams() {
dynamic_server_ = std::make_shared<dynamic_reconfigure::Server<demo::DemoConfig>>(*private_nh_);
// 初始化参数,可以不用
demo::DemoConfig initial_config = {};
dynamic_server_->updateConf