【问题标题】:Use dynamic reconfiguration to set the parameter value in ROS使用动态重新配置设置ROS中的参数值
【发布时间】:2014-02-28 05:06:56
【问题描述】:

我是 ROS 新手,我想使用动态重新配置技术来设置参数 (rectangle_height)。

通过互联网,我遇到了以下方法,但它不起作用。

问题:当我运行 rqt_reconfigure 时,我的节点 (visual_analysis) 不是可视的,因此我无法更改参数。

-在我的Includes中,我包含了以下内容:

#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; 
}

【问题讨论】:

    标签: ros


    【解决方案1】:

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

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

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

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

    您可以关注tutorial 了解更多详情。

    【讨论】:

      猜你喜欢
      • 2013-05-21
      • 2016-07-29
      • 2020-07-14
      • 2011-11-03
      • 1970-01-01
      • 1970-01-01
      • 2010-10-18
      • 1970-01-01
      • 2015-05-26
      相关资源
      最近更新 更多