参数增加/设置/修改 C++:
#include "ros/ros.h"
/*
参数服务器操作之新增与修改(二者API一样)_C++实现:
在 roscpp 中提供了两套 API 实现参数操作
ros::NodeHandle
setParam("键",值)
ros::param
set("键","值")
需求:首先设置机器人的共享参数,类型/半径(0.15m)
再修改半径(0.2m)
*/
int main(int argc, char *argv[])
{
// 初始化ROS节点
ros::init(argc,argv,"besproma_param_s");
// 创建节点句柄
ros::NodeHandle nh;
// 参数增
// 方案1
nh.setParam("type","xiaoHuang");
nh.setParam("radius",0.15);
// 方案2
ros::param::set("type_param","xiaobao");
ros::param::set("radius_param",0.15);
// 参数改
// 方案1
nh.setParam("radius",0.2);
//方案2
ros::param::set("radius_param",2.0);
return 0;
}
参数查C++:
#include "ros/ros.h"
/*
参数服务器操作之查询_C++实现:
在 roscpp 中提供了两套 API 实现参数操作
ros::NodeHandle
param(键,默认值)
存在,返回对应结果,否则返回默认值
getParam(键,存储结果的变量)
存在,返回 true,且将值赋值给参数2
若果键不存在,那么返回值为 false,且不为参数2赋值
getParamCached键,存储结果的变量)--提高变量获取效率
存在,返回 true,且将值赋值给参数2
若果键不存在,那么返回值为 false,且不为参数2赋值
getParamNames(std::vector<std::string>)
获取所有的键,并存储在参数 v