动态参数设置(dynamic reconfigure):就是动态地调整、设置正在运行的节点的参数值,通过动态重配置,可以更加高效地开发和测试节点,特别是机器人硬件调试的时候,使用动态重配置参数是一个很不错的选择.
设置动态参数的语句:
rosrun rqt_reconfigure rqt_reconfigure
但是打开之后是空白的,其中里面的点需要自己设计,设计步骤如下:
1、创建工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ..
catkin_make
初始化工作空间其实就是生成一个CMakeLists.txt 文件,会出现
Creating symlink “/home/cez/catkin_ws/src/CMakeLists.txt” pointing to “/opt/ros/kinetic/share/catkin/cmake/toplevel.cmake”
正常现象
2、创建功能包
cd ~/catkin_ws/src
catkin_create_pkg custom_dynamic_reconfigure roscpp rospy std_msgs dynamic_reconfigure
cd ..
catkin_make
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
3、在功能包添加动态重配置文件(.cfg)
roscd custom_dynamic_reconfigure
mkdir cfg && cd cfg
gedit Tutorials.cfg
在文件中添加一下代码
#!/usr/bin/env python
# coding=UTF-8
PACKAGE = "dynamic_reconfigure"
from dynamic_reconfigure.parameter_generator_catkin import *
gen = ParameterGenerator() #创建一个参数生成器对象
#gen.add(参数名称, 参数类型, 位掩码, 参数描述, 默认值, 最小值, 最大值)
gen.add( "int_param", int_t, 0, "An Integer parameter", 50, 0, 100)
gen.add( "double_param", double_t, 0, "A double parameter", .5,