我是ROS新手,我想使用动态重新配置技术来设置参数(rectangle_height
)。
通过互联网,我遇到了以下方法,但它无法正常工作。
问题:当我运行rqt_reconfigure
时,我的节点(visual_analysis)不是可视的,所以我无法更改参数。
- 在我的包含中,我包含以下内容:
#include <dynamic_reconfigure/DoubleParameter.h>
#include <dynamic_reconfigure/Reconfigure.h>
#include <dynamic_reconfigure/Config.h>
- 在声明我的变量的 main()
中,我写了以下内容:
int main( )
{
double rectangle_height;
///////////////////Dynamic Reconfig
dynamic_reconfigure::ReconfigureRequest srv_req;
dynamic_reconfigure::ReconfigureResponse srv_resp;
dynamic_reconfigure::DoubleParameter double_param;
dynamic_reconfigure::Config conf;
//Entering values using Dynamic Reconfig
double_param.name = "kurtana_pitch_joint";
double_param.value = rectangle_height;
conf.doubles.push_back(double_param);
srv_req.config = conf;
ros::service::call("/visual_analysis/set_parameters", srv_req, srv_resp);
return 0;
}
答案 0 :(得分:2)
您应该按照以下步骤使动态重新配置工作:
创建一个cfg
文件夹并创建一个.cfg文件,您可以使用动态重新配置声明要更改的参数。
对CMakeList.txt
和MakeFile
进行更改以使其适应动态重新配置
制作一个dynamicReconfigCallBack()
,您可以在其中接收/设置更改的参数。
您可以按照此tutorial进行进一步的宣传。