使用动态重新配置在ROS中设置参数值

时间:2014-02-24 21:14:28

标签: ros

我是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; 
}

1 个答案:

答案 0 :(得分:2)

您应该按照以下步骤使动态重新配置工作:

  • 创建一个cfg文件夹并创建一个.cfg文件,您可以使用动态重新配置声明要更改的参数。

  • CMakeList.txtMakeFile进行更改以使其适应动态重新配置

  • 制作一个dynamicReconfigCallBack(),您可以在其中接收/设置更改的参数。

您可以按照此tutorial进行进一步的宣传。