NodeHandle 部分

  1. int res1 = nh.param("nh_int", 100);

参数:参数名称、默认参数值

功能:从服务器从返回参数值,如果参数名称不可获取,则返回默认参数值

  1. nh.setParam("nh_int", 10);

参数:参数名称、设定参数值

功能:向参数服务器设置一个值,值的数据类型由第二个参数的数据类型自动重载

  1. int res1 = nh.param("nh_int", 100);

参数:参数名称、默认返回值

功能:向服务器查询参数是否存在,存在返回真实参数值,不存在返回函数默认值

  1. nh.getParam("nh_int", nh_int_value);

参数:参数名称、保存参数值的变量

功能:存在返回true,且赋值给变量,不存在返回false,且不赋值

  1. nh.getParamCached("nh_int", nh_int_value);

参数:同上

功能:同上,函数中有cached字样,提高变量获取效率

  1. nh.getParamNames(std::vector<std::string>);

参数:vector变量

功能:获取所有的键,并存储在参数vector中

// getParamNames()
std::vector<std::string> param_names1;
nh.getParamNames(param_names1);
for (auto &&name :param_names1)
{
ROS_INFO("名称解析 name = %s", name.c_str());
}
  1. nh.searchParam("nh_int", key);

参数:参数名称、保存搜索结果的变量

功能:搜索键,将搜索结果保存到变量中

  1. ROS_INFO("存在 nh_int 吗? %d", nh.hasParam("nh_int"));

参数:参数名称

功能:是否包含某个键,存在返回 true,否则返回 false

ros::param部分

与 NodeHandle 类似

int res3 = ros::param::param("param_int", 20);

ros::param::set("param_int", 20);

ros::param::get("param_int", param_int_value);

ros::param::getCached("param_int", param_int_value);

ros::param::getParamNames(param_names2);

ROS_INFO("存在 param_int 吗? %d", ros::param::has("param_int"));

ros::param::search("param_int", key);