ROS动态参数加载

#include <ros/ros.h>
#include <dynamic_reconfigure/server.h>
#include <dynamic_tutorials/TutorialsConfig.h>

void callback(dynamic_tutorials::TutorialsConfig &config, uint32_t level)
 {
   ROS_INFO("Reconfigure Request: %d %f %s %s %d", 
            config.int_param, config.double_param, 
            config.str_param.c_str(), 
            config.bool_param?"True":"False", 
            config.size);
 }

int main(int argc, char **argv) 
{
    ros::init(argc, argv, "dynamic_tutorials_");

    dynamic_reconfigure::Server<dynamic_tutorials::TutorialsConfig> server;
    dynamic_reconfigure::Server<dynamic_tutorials::TutorialsConfig>::CallbackType f;

    f = boost::bind(&callback, _1, _2);
    server.setCallback(f);

    ROS_INFO("Spinning node");
    ros::spin();
    return 0;
}

在CMakeList.xml文件中加入:

 generate_dynamic_reconfigure_options
  (
    cfg/Tutorials.cfg
  )
add_executable(dynamic_reconfigure_node src/server.cpp)
add_dependencies(dynamic_reconfigure_node ${PROJECT_NAME}_gencfg)
target_link_libraries(dynamic_reconfigure_node ${catkin_LIBRARIES})

猜你喜欢

转载自blog.csdn.net/lxlong89940101/article/details/90716220
今日推荐