动态参数配置
机器人在很多情况下需要不停的调整参数使得机器人的性能达到最优的状态(比如机器人的PID参数整定),而通过launch文件中加载yaml文件的方式调试参数需要不停的重启程序,导致调试效率极低,这里就需要用到动态参数配置功能。
创建cfg文件
首先,要实现动态参数配置,需要将待配置参数以特定格式写入.cfg文件。这里我们新建一个功能包。
$ cd ros_ws/src
$ catkin_create_pkg dynamic_tutorial rospy roscpp dynamic_reconfigure
$ cd dynamic_tutorial
$ mkdir cfg
在cfg文件夹中添加tutorial.cfg
tutorial.cfg
#!/usr/bin/env python
PACKAGE = "dynamic_tutorial"
from dynamic_reconfigure.parameter_generator_catkin import *
gen = ParameterGenerator()
#add(name,type, level,description, default, min,max)
gen.add("vel_x", double_t, 0, "linear velocity of the robot",0,-0.5,0.5)
gen.add("vel_z", double_t, 0, "rotation velocity of the robot", 0 ,-2.0,2.0)
gen.add("stop"