ROS——一文读懂:param参数
文章目录
- 获取参数
- 设置参数
- 删除参数
- 检查参数
- 搜索参数
获取参数
通过NodeHandle,有两种方式获取参数:
下面的例子,n是NodeHandle实例对象
- getParam()函数说明:
getParam函数可以进行重载,不过基本格式如下:
bool getParam (const std::string& key, parameter_type& output_value) const
key是参数名,命名方法参考
output_value用来保持参数的值
parameter_type类型包含bool, int, double, string, 或 特定的 XmlRpcValue 类型
XmlRpcValue类型包含所有类型,甚至是lists/maps
- eg1:
std::string s;
n.getParam("my_param", s);
getParam函数有一个布尔类型的返回值,可以通过它来表示是否获取参数成功
- eg2:
std::string s;
if (n.getParam("my_param", s))
{ROS_INFO("Got param: %s", s.c_str());
}
else
{ROS_ERROR("Failed to get param 'my_param'");
}
- param()函数说明:
param类似getParam,不同是:在没有获取到参数值的时候,可以设置默认值。
int i;
n.param("my_num", i, 42);
有时编译器需要字符串类型的提示。
std::string s;
n.param<std::string>("my_param", s, "default_value");
设置参数
- 通过setParam() 函数设置参数:
n.setParam("my_param", "hello there");
类似getParam,能取不同的值,如: bool, int, double, string, 和特定XmlRpcValue type
删除参数
- 通过 deleteParam() 函数删除参数:
n.deleteParam("my_param");
检查参数
- 这不是必需的,但有hasParam()可以实现检查
if (!n.hasParam("my_param"))
{ROS_INFO("No param named 'my_param'");
}
搜索参数
- 参数服务器允许你在你开始的工作空间或父工作空间进行搜索参数
- 例如:如果参数服务器存在/a/b的参数,你的NodeHandle在/a/c工作空间,searchParam()搜索b会得到/a/b. 如果/a/c/b参数增加,搜索就会得到/a/c/b参数。
- 测试代码:
std::string param_name;if (n.searchParam("b", param_name)){// Found parameter, can now query it using param_nameint i = 0;n.getParam(param_name, i);}else{ROS_INFO("No param 'b' found in an upward search");}
ROS——一文读懂:param参数相关推荐
- ROS——一文读懂:rosbag
rosbag的命令 rosbag简介 rosbag 既可以指命令行中数据包相关命令,也可以指 c++/python 的 rosbag 库.这里的 rosbag 是指前者. rosbag 主要用于记录. ...
- 一文读懂pg AGG聚集算子计划与执行(更新中)
一文读懂openGauss/pg AGG聚集算子计划与执行 Agg聚集算子与聚集操作(函数)基本概念 执行策略 聚集操作基本执行步骤与元数据 计划生成与数据结构 确定操作策略 关键数据结构 思考 基本 ...
- JVM(一)一文读懂Java编译全过程
一文读懂Java编译全过程 java代码首先要通过前端编译器编译成.class字节码文件,然后再按一定的规则加载到JVM(java 虚拟机)内运行,有三种运行方式,解释模式(javac).编译模式(C ...
- 一文读懂Faster RCNN
来源:信息网络工程研究中心本文约7500字,建议阅读10+分钟 本文从四个切入点为你介绍Faster R-CNN网络. 经过R-CNN和Fast RCNN的积淀,Ross B. Girshick在20 ...
- 一文读懂EfficientDet
一文读懂EfficientDet. 今年年初Google Brain团队在 CVPR 2020 上发布了 EfficientDet目标检测模型, EfficientDet是一系列可扩展的高效的目标检测 ...
- 一文读懂序列建模(deeplearning.ai)之序列模型与注意力机制
https://www.toutiao.com/a6663809864260649485/ 作者:Pulkit Sharma,2019年1月21日 翻译:陈之炎 校对:丁楠雅 本文约11000字,建议 ...
- 语言相关系数显著性_相关性分析在SPSS中的具体操作,一文读懂相关系数的含义及使用——【杏花开生物医药统计】...
相关性分析介绍 生物和医学统计中,相关分析属于流程前端的探索性分析,研究变量间关系及性质,其结果在为下一步采取何种方法做出指引,为数据挖掘之前的基础工作. 相关系数的选择 相关分析之前,需要先确认变量 ...
- 一文读懂大数据平台——写给大数据开发初学者的话!
一文读懂大数据平台--写给大数据开发初学者的话! 文|miao君 导读: 第一章:初识Hadoop 第二章:更高效的WordCount 第三章:把别处的数据搞到Hadoop上 第四章:把Hado ...
- 技术向:一文读懂卷积神经网络
技术向:一文读懂卷积神经网络 技术网络 36大数据(张雨石) · 2015-03-06 05:47 自今年七月份以来,一直在实验室负责卷积神经网络(Convolutional Neural Ne ...
最新文章
- Android 自定义光标样式
- 抢票软件原理_手机部应届生软件大赛 | SHOW MI YOUR CODE
- 比 Redis 快 5 倍的中间件,KeyDB
- 惠普图形计算机游戏,惠普发布Victus by HP 16 - 一款适合PC游戏新人的游戏笔记本...
- django-后台传图0912
- 小程序复制内容至剪贴板
- python3 文本处理_解决python3 写入中文文本查看为乱
- 关于STL allocator
- broker druid 查询_即时查询工具| Druid
- grpcio安装不了
- CAD软件查看.dwg、.dxf、.dwf、.jpeg、.jpg、.png、.gif等文件
- MacBook安装jdk1.8方便快捷稳定的方法
- 《NX-OS与Cisco Nexus交换技术:下一代数据中心架构(第2版)》一2.8 Cisco FabricPath...
- 如何写出一篇好的软文?软文撰写的一些注意事项!
- 【css的基础操作(css语言规范,字体,表格,类名)】
- 微信小程序——生命周期
- JS数组常用方法练习题
- shell脚本编程100例
- python爬取CSDN论坛
- 联想4t服务器硬盘,如何对大容量硬盘(例如4T硬盘)进行查看并分区
热门文章
- linux擦除nandflash分区,【Linux公开课】NAND Flash存储器分区、烧写流程图、格式化NAND Flash...
- POJO、PO、BO、DTO、VO的含义以及应用场景
- 2017互联网十大未解之谜,你能回答几个?
- 毕达哥拉斯的面包规矩
- VUE+element-ui微信充值支付
- mapreduce 模板代码
- 【山外智能车】【IAR】【编译问题】HardFault_Handler
- 洛谷 P1135奇怪的电梯
- 这所C9高校的8个CS院系,有你心仪的吗?
- Process ‘command ‘C:/Program Files/Java/jdk1.8.0_192/bin/java.exe‘‘ finished with non-zero exit valu