NodeHandle 部分
int res1 = nh.param("nh_int", 100);
参数:参数名称、默认参数值
功能:从服务器从返回参数值,如果参数名称不可获取,则返回默认参数值
nh.setParam("nh_int", 10);
参数:参数名称、设定参数值
功能:向参数服务器设置一个值,值的数据类型由第二个参数的数据类型自动重载
int res1 = nh.param("nh_int", 100);
参数:参数名称、默认返回值
功能:向服务器查询参数是否存在,存在返回真实参数值,不存在返回函数默认值
nh.getParam("nh_int", nh_int_value);
参数:参数名称、保存参数值的变量
功能:存在返回true,且赋值给变量,不存在返回false,且不赋值
nh.getParamCached("nh_int", nh_int_value);
参数:同上
功能:同上,函数中有cached字样,提高变量获取效率
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());
}
nh.searchParam("nh_int", key);
参数:参数名称、保存搜索结果的变量
功能:搜索键,将搜索结果保存到变量中
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);