动态调整机制

params.cfg文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env python

PACKAGE = "yocs_velocity_smoother"

from dynamic_reconfigure.parameter_generator_catkin import *

gen = ParameterGenerator()

gen.add("speed_lim_v", double_t, 0, "Maximum linear velocity", 1.0, 0.0, 100.0)
gen.add("speed_lim_w", double_t, 0, "Maximum angular velocity", 5.0, 0.0, 100.0)
gen.add("accel_lim_v", double_t, 0,
"Maximum linear acceleration", 0.5, 0.0, 100.0)
gen.add("accel_lim_w", double_t, 0,
"Maximum angular acceleration", 2.5, 0.0, 100.0)
gen.add("decel_factor", double_t, 0,
"Deceleration to acceleration ratio", 1.0, 0.0, 10.0)
# Second arg is node name it will run in (doc purposes only), third is generated filename prefix
exit(gen.generate(PACKAGE, "velocity_smoother_configure", "params"))

这是一个基于python的模块,首先创建一个ParameterGenerator对象,然后调用其add()函数将参数添加到参数列表中。add()的参数含义分别是:参数名,参数类型,级别,描述,缺省值,最小值,最大值。

ddynamic_reconfigure声称不使用cfg文件就能动态调整参数,但是并不好用,我运行示例没有出现想要的效果。目前只发现在编译realsense驱动时候有使用,网上没发现其他应用,可以不研究。