Mr_matcher的细节2

网友投稿 237 2022-11-01


Mr_matcher的细节2

1.参数服务器

ROS参数服务器能保存数据类型包括:strings, integers, floats, booleans, lists, dictionaries, iso8601 dates, and base64-encoded data。Dictionaries则必需有字符串key值。

roscpp参数API能支持全部类型,多数情况容易使用的类型有:strings, integers, floats and booleans,使用其他类型参考XmlRpc::XmlRpcValue class

roscpp有两个版本的API接口:bare版和handle版。

bare版:在 ros::param 命令空间下。

handle版:通过ros::NodeHandle接口使用。

2.获取参数

从参数服务器获取值,每个版本都支持strings, integers, doubles, booleans 和XmlRpc::XmlRpcValue

返回 false代表参数不存在或不是正确的类型。

1)NodeHandle版本

ros::NodeHandle::getParam()

NodeHandle版本:参数相对于NodeHandle的命名空间进行解析。

ros::NodeHandle nh;std::string global_name, relative_name, default_param;if (nh.getParam("/global_name", global_name)){ ...}if (nh.getParam("relative_name", relative_name)){...}// Default value versionnh.param("default_param", default_param, "default_value");

3.设置参数

NodeHandle版本ros::NodeHandle::setParam()NodeHandle版本:参数相对于NodeHandle的命名空间进行解析ros::NodeHandle nh;nh.setParam("/global_param", 5);nh.setParam("relative_param", "my_string");nh.setParam("bool_param", false);

4.检查参数是否存在

handle版:ros::NodeHandle::hasParam()ros::NodeHandle nh;if (nh.hasParam("my_param")){ ...}

5.删除参数

handle版:ros::NodeHandle::deleteParam()

ros::NodeHandle nh;nh.deleteParam("my_param");

6.访问私有参数

handle版:创建的ros::NodeHandle实例,并提供私有的命名空间作为其命名空间ros::NodeHandle nh("~");std::string param;nh.getParam("private_name", param);

参考http://ncnynl.com/archives/201702/1295.html


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java 基于AQS实现自定义同步器的示例
下一篇:java多媒体文件编码、处理工具类
相关文章

 发表评论

暂时没有评论,来抢沙发吧~