当前位置: 首页 > news >正文

网站建设要学什么WordPress上传ssl证书

网站建设要学什么,WordPress上传ssl证书,商务汽车网站建设,建外做网站的公司一、概念介绍 参数服务器在ROS中主要用于实现不同节点之间的数据共享。参数服务器相当于是独立于所有节点的一个公共容器#xff0c;可以将数据存储在该容器中#xff0c;被不同的节点调用#xff0c;当然不同的节点也可以往其中存储数据。 作用#xff1a;存储一些多节点…一、概念介绍 参数服务器在ROS中主要用于实现不同节点之间的数据共享。参数服务器相当于是独立于所有节点的一个公共容器可以将数据存储在该容器中被不同的节点调用当然不同的节点也可以往其中存储数据。 作用存储一些多节点共享的数据类似于全局变量。 二、理论模型[Autolabor-ROS] 参数服务器实现是最为简单的该模型如下图所示,该模型中涉及到三个角色: ROS Master (管理者) Talker (参数设置者) Listener (参数调用者) ROS Master 作为一个公共容器保存参数Talker 可以向容器中设置参数Listener 可以获取参数。 整个流程由以下步骤实现: 1.Talker 设置参数 Talker 通过 RPC 向参数服务器发送参数(包括参数名与参数值)ROS Master 将参数保存到参数列表中。 2.Listener 获取参数 Listener 通过 RPC 向参数服务器发送参数查找请求请求中包含要查找的参数名。 3.ROS Master 向 Listener 发送参数值 ROS Master 根据步骤2请求提供的参数名查找参数值并将查询结果通过 RPC 发送给 Listener。 注意:参数服务器不是为高性能而设计的因此最好用于存储静态的非二进制的简单数据 三、参数操作(C) 在 C 中实现参数服务器数据的增删改查均可以通过两套 API 实现: ros::NodeHandle ros::param 下面为具体操作演示 1.参数服务器新增(修改)参数 【增、改】 /*参数服务器操作之新增与修改(二者API一样)_C实现:在 roscpp 中提供了两套 API 实现参数操作ros::NodeHandlesetParam(键,值)ros::paramset(键,值)示例:分别设置整形、浮点、字符串、bool、列表、字典等类型参数修改(相同的键不同的值)*/ #include ros/ros.hint main(int argc, char *argv[]) {ros::init(argc,argv,set_update_param);std::vectorstd::string stus;stus.push_back(zhangsan);stus.push_back(李四);stus.push_back(王五);stus.push_back(孙大脑袋);std::mapstd::string,std::string friends;friends[guo] huang;friends[yuang] xiao;//NodeHandle--------------------------------------------------------ros::NodeHandle nh;nh.setParam(nh_int,10); //整型nh.setParam(nh_double,3.14); //浮点型nh.setParam(nh_bool,true); //boolnh.setParam(nh_string,hello NodeHandle); //字符串nh.setParam(nh_vector,stus); // vectornh.setParam(nh_map,friends); // map//修改演示(相同的键不同的值)nh.setParam(nh_int,10000);//param--------------------------------------------------------ros::param::set(param_int,20);ros::param::set(param_double,3.14);ros::param::set(param_string,Hello Param);ros::param::set(param_bool,false);ros::param::set(param_vector,stus);ros::param::set(param_map,friends);//修改演示(相同的键不同的值)ros::param::set(param_int,20000);return 0; }2.参数服务器获取参数 【查】 /*参数服务器操作之查询_C实现:在 roscpp 中提供了两套 API 实现参数操作ros::NodeHandleparam(键,默认值)存在返回对应结果否则返回默认值getParam(键,存储结果的变量)存在,返回 true,且将值赋值给参数2若果键不存在那么返回值为 false且不为参数2赋值getParamCached(键,存储结果的变量)--提高变量获取效率存在,返回 true,且将值赋值给参数2若果键不存在那么返回值为 false且不为参数2赋值getParamNames(std::vectorstd::string)获取所有的键,并存储在参数 vector 中hasParam(键)是否包含某个键存在返回 true否则返回 falsesearchParam(参数1参数2)搜索键参数1是被搜索的键参数2存储搜索结果的变量ros::param ----- 与 NodeHandle 类似 */#include ros/ros.hint main(int argc, char *argv[]) {setlocale(LC_ALL,);ros::init(argc,argv,get_param);//NodeHandle实现--------------------------------------------------------/*ros::NodeHandle nh;// 1.param 函数int res1 nh.param(nh_int,100); // 键存在int res2 nh.param(nh_int2,100); // 键不存在ROS_INFO(param获取结果:%d,%d,res1,res2);// 2.getParam 函数int nh_int_value;double nh_double_value;bool nh_bool_value;std::string nh_string_value;std::vectorstd::string stus;std::mapstd::string, std::string friends;nh.getParam(nh_int,nh_int_value);nh.getParam(nh_double,nh_double_value);nh.getParam(nh_bool,nh_bool_value);nh.getParam(nh_string,nh_string_value);nh.getParam(nh_vector,stus);nh.getParam(nh_map,friends);ROS_INFO(getParam获取的结果:%d,%.2f,%s,%d,nh_int_value,nh_double_value,nh_string_value.c_str(),nh_bool_value);for (auto stu : stus){ROS_INFO(stus 元素:%s,stu.c_str()); }for (auto f : friends){ROS_INFO(map 元素:%s %s,f.first.c_str(), f.second.c_str());}// getParamCached()nh.getParamCached(nh_int,nh_int_value);ROS_INFO(通过缓存获取数据:%d,nh_int_value);//getParamNames()std::vectorstd::string param_names1;nh.getParamNames(param_names1);for (auto name : param_names1){ROS_INFO(名称解析name %s,name.c_str()); }ROS_INFO(----------------------------);ROS_INFO(存在 nh_int 吗? %d,nh.hasParam(nh_int));ROS_INFO(存在 nh_intttt 吗? %d,nh.hasParam(nh_intttt));std::string key;nh.searchParam(nh_int,key);ROS_INFO(搜索键:%s,key.c_str());*///param实现--------------------------------------------------------ROS_INFO();int res3 ros::param::param(param_int,20); //存在int res4 ros::param::param(param_int2,20); // 不存在返回默认ROS_INFO(param获取结果:%d,%d,res3,res4);// getParam 函数int param_int_value;double param_double_value;bool param_bool_value;std::string param_string_value;std::vectorstd::string param_stus;std::mapstd::string, std::string param_friends;ros::param::get(param_int,param_int_value);ros::param::get(param_double,param_double_value);ros::param::get(param_bool,param_bool_value);ros::param::get(param_string,param_string_value);ros::param::get(param_vector,param_stus);ros::param::get(param_map,param_friends);ROS_INFO(getParam获取的结果:%d,%.2f,%s,%d,param_int_value,param_double_value,param_string_value.c_str(),param_bool_value);for (auto stu : param_stus) // 右值引用{ROS_INFO(stus 元素:%s,stu.c_str()); }for (auto f : param_friends){ROS_INFO(map 元素:%s %s,f.first.c_str(), f.second.c_str());}// getParamCached()ros::param::getCached(param_int,param_int_value);ROS_INFO(通过缓存获取数据:%d,param_int_value);//getParamNames()std::vectorstd::string param_names2;ros::param::getParamNames(param_names2);for (auto name : param_names2){ROS_INFO(名称解析name %s,name.c_str()); }ROS_INFO(----------------------------);ROS_INFO(存在 param_int 吗? %d,ros::param::has(param_int));ROS_INFO(存在 param_intttt 吗? %d,ros::param::has(param_intttt));std::string key;ros::param::search(param_int,key);ROS_INFO(搜索键:%s,key.c_str());return 0; }3.参数服务器删除参数 【删】 /* 参数服务器操作之删除_C实现:ros::NodeHandledeleteParam(键)根据键删除参数删除成功返回 true否则(参数不存在)返回 falseros::paramdel(键)根据键删除参数删除成功返回 true否则(参数不存在)返回 false*/ #include ros/ros.hint main(int argc, char *argv[]) { setlocale(LC_ALL,);ros::init(argc,argv,delete_param);ros::NodeHandle nh;bool r1 nh.deleteParam(nh_int);ROS_INFO(nh 删除结果:%d,r1);bool r2 ros::param::del(param_int);ROS_INFO(param 删除结果:%d,r2);return 0; }4.配置CMakeList.txt add_executable(demo01_param_set src/demo01_param_set.cpp) add_executable(demo02_param_get src/demo02_param_get.cpp) add_executable(demo03_param_del src/demo03_param_del.cpp)target_link_libraries(demo01_param_set${catkin_LIBRARIES} ) target_link_libraries(demo02_param_get${catkin_LIBRARIES} ) target_link_libraries(demo03_param_del${catkin_LIBRARIES} )之后编译运行即可参数服务器相较于之前两个通信机制还是比较简洁的。。。
http://www.tj-hxxt.cn/news/226761.html

相关文章:

  • 企业网站html源代码微信公众号模板哪里找
  • 比较好的设计欣赏网站ipv6域名解析 做网站
  • 做铝板的网站核心关键词和长尾关键词
  • 找工作哪个网站好智联招聘网站有服务器怎么备案
  • 网站开发组织架构图开发平台搭建
  • 站酷网官网下载网站设计的评估
  • 北京网站设计培训机构网站批量查询工具
  • 无为县住房建设局网站wordpress版微信小程序
  • 昆明建设局网站号码cm域名网站
  • 网站模板编辑微信公众平台小程序二维码怎么生成
  • 网站设计要学哪些大数据比较好的培训机构
  • 柳州网站建设价格dx网站是哪家公司做的
  • 手机网站规划福田庆三整过的明星
  • 网站代码框架做网站设计的论文中摘要怎么写
  • 宁国网站开发网站建设公司广告标题语
  • 毕业设计做网站老师会问什么网站开发人才需求
  • 国外购物网站建设黄骅市医院
  • 网站 规划乌市正规网站建设
  • 做博客网站怎么赚钱吗网页设计代码大全div
  • 建筑建设行业网站无锡网站建设报价明细表
  • 自己做网站投放有流量么代理公司注册哪家好
  • 揭阳网站建设antnw谷歌代运营
  • 外包公司做的网站怎么改密码wordpress怎么修改登录界面
  • 济宁网站建设找哪家网站品牌词优化怎么做
  • 空间放两个网站大作设计网站官网下载
  • 织梦网站怎样做seo华为开发者选项在哪里打开
  • 网站制作留钱建设服装网站的亮点
  • 如何在工商局网站做身份确认网站架构原理
  • 苏州品牌网站设计开发自己做博客网站和百家号的区别
  • 建网站需要什么手续鹰枭乱wordpress