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

视频分享网站怎么做怎么得到wordpress文章加图片

视频分享网站怎么做,怎么得到wordpress文章加图片,58同城承德网站建设,网站数据库建设access一、概念介绍 参数服务器在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.yingshimen.cn/news/23096/

相关文章:

  • 如何提高网站知名度长安seo排名优化培训
  • 网站建设程序代码做网站好的公司有哪些
  • 合肥建设工会网站wordpress 大战
  • 做网站图学动漫插画的培训机构
  • wordpress网站名当地做网站贵
  • 网站的外链是什么自己开网站能赚钱吗
  • 一流的锦州网站建设青岛找网站建设公司
  • 公司网站用什么开发软文案例500字
  • 网站怎么做邮箱建企业网站一般多少钱
  • 企业网站建设的目的有哪些尚品中国网站
  • 怎么对网站标注做记号三门峡网站建设公司
  • 衡水城乡建设局网站首页最佳网页制作软件
  • 做动态的网站的参考资料有哪些5G网站建设要多少个
  • 网站建设从零到精通.pdf广州建设监理协会网站
  • 中文响应式网站模板卓天商务跨境电商
  • 非法网站开发用adsl做网站备案
  • 网站的前期调研怎么做江苏发布最新消息
  • 网站开发的项目需求wordpress仿果壳
  • 电子商务网站建设与管理期末答案wordpress可以做商城吗
  • 互联网有多少网站163k地方门户网站系统
  • 网站开发行业知识新闻舟山的房子做民宿上什么网站
  • 粉色网站模板网站开发工具中的三剑客
  • 湖州建设培训入口网站广告商
  • 网站开发课表查询做物流网站的公司吗
  • 彩票网站建设安全度不会被禁止访问的浏览器
  • 谷歌网站推广好做吗网站快照长期不更新
  • 睢县做网站哪家好东营机关建设网站
  • 安卓开发网站开发wordpress自定义的注册
  • 厦门专业网站推广建站行业网站建设
  • 南京规划建设展览馆网站成都锦江建设局网站