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

网站建设公司需要icp证/关键字搜索软件

网站建设公司需要icp证,关键字搜索软件,提升学历补贴政策,仿织梦长沙网站公司目录 通信过程新建参数服务器包编写测试文件修改cmakelist:搭配launch文件启动测试及结果 通信过程 1.Talker 设置参数 Talker 通过 RPC 向参数服务器发送参数(包括参数名与参数值),ROS Master 将参数保存到参数列表中。 2.Listener 获取参数 Listener 通过 RPC 向…

目录

  • 通信过程
  • 新建参数服务器包
  • 编写测试文件
  • 修改cmakelist:
  • 搭配launch文件
  • 启动测试及结果

通信过程

1.Talker 设置参数
Talker 通过 RPC 向参数服务器发送参数(包括参数名与参数值),ROS Master 将参数保存到参数列表中。

2.Listener 获取参数
Listener 通过 RPC 向参数服务器发送参数查找请求,请求中包含要查找的参数名。

3.ROS Master 向 Listener 发送参数值
ROS Master 根据步骤2请求提供的参数名查找参数值,并将查询结果通过 RPC 发送给 Listener。

参数可使用数据类型:

32-bit integersbooleansstringsdoublesiso8601 dateslistsbase64-encoded binary data

新建参数服务器包

catkin_create_pkg paramservice std_msgs rospy roscpp

编写测试文件

#include "ros/ros.h"
#include <vector>
#include <map>
int main(int argc, char *argv[])
{//使得中文可以生效setlocale(LC_ALL,"");ros::init(argc,argv,"set_update_param");std::vector<std::string> stus;stus.push_back("这是元素1");stus.push_back("这是元素2");std::map<std::string,std::string> friends;friends["key"] = "value";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);// getParam 函数int param_int_value;double param_double_value;bool param_bool_value;std::string param_string_value;std::vector<std::string> param_stus;std::map<std::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());}//  首次调用getCached,这里会订阅参数值,通过缓存获取数据,当数据变化时,将通知节点自动更新ros::param::getCached("param_int",param_int_value);ROS_INFO("通过缓存获取数据:%d",param_int_value);//输出所有的变量名std::vector<std::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());//删除相关的参数bool r2 = ros::param::del("param_int");ROS_INFO("param 删除结果:%d",r2);return 0;}

修改cmakelist:

add_executable(${PROJECT_NAME}_node src/paramservice.cpp)
target_link_libraries(${PROJECT_NAME}_node${catkin_LIBRARIES}
)

搭配launch文件

<launch><node name="myservice" pkg="service" type="service_node" output="screen"/>
</launch>

启动测试及结果

roslaunch paramservice start.launch

[ INFO] [1723529188.541091451]: getParam获取的结果:20000,3.14,Hello Param,0
[ INFO] [1723529188.541155371]: stus 元素:这是元素1
[ INFO] [1723529188.541178505]: stus 元素:这是元素2
[ INFO] [1723529188.541192963]: map 元素:key = value
[ INFO] [1723529188.542024132]: 通过缓存获取数据:20000
[ INFO] [1723529188.542419343]: 名称解析name = /run_id
[ INFO] [1723529188.542439561]: 名称解析name = /roslaunch/uris/host_yisu_64fc150f8284e__34167
[ INFO] [1723529188.542458326]: 名称解析name = /roslaunch/uris/host_yisu_64fc150f8284e__41769
[ INFO] [1723529188.542474146]: 名称解析name = /roslaunch/uris/host_yisu_64fc150f8284e__45931
[ INFO] [1723529188.542489685]: 名称解析name = /roslaunch/uris/host_yisu_64fc150f8284e__45545
[ INFO] [1723529188.542505965]: 名称解析name = /roslaunch/uris/host_yisu_64fc150f8284e__44877
[ INFO] [1723529188.542524019]: 名称解析name = /roslaunch/uris/host_yisu_64fc150f8284e__42835
[ INFO] [1723529188.542541943]: 名称解析name = /roslaunch/uris/host_yisu_64fc150f8284e__46297
[ INFO] [1723529188.542559517]: 名称解析name = /roslaunch/uris/host_yisu_64fc150f8284e__41351
[ INFO] [1723529188.542576629]: 名称解析name = /roslaunch/uris/host_yisu_64fc150f8284e__43881
[ INFO] [1723529188.542594843]: 名称解析name = /roslaunch/uris/host_yisu_64fc150f8284e__43899
[ INFO] [1723529188.542612596]: 名称解析name = /roslaunch/uris/host_yisu_64fc150f8284e__34115
[ INFO] [1723529188.542630069]: 名称解析name = /roslaunch/uris/host_yisu_64fc150f8284e__39145
[ INFO] [1723529188.542647101]: 名称解析name = /roslaunch/uris/host_yisu_64fc150f8284e__43455
[ INFO] [1723529188.542664524]: 名称解析name = /roslaunch/uris/host_yisu_64fc150f8284e__33051
[ INFO] [1723529188.542682467]: 名称解析name = /roslaunch/uris/host_yisu_64fc150f8284e__35169
[ INFO] [1723529188.542700181]: 名称解析name = /roslaunch/uris/host_yisu_64fc150f8284e__46493
[ INFO] [1723529188.542718104]: 名称解析name = /roslaunch/uris/host_yisu_64fc150f8284e__39659
[ INFO] [1723529188.542735557]: 名称解析name = /rosversion
[ INFO] [1723529188.542753210]: 名称解析name = /rosdistro
[ INFO] [1723529188.542771264]: 名称解析name = /param_double
[ INFO] [1723529188.542789378]: 名称解析name = /param_string
[ INFO] [1723529188.542806159]: 名称解析name = /param_bool
[ INFO] [1723529188.542823351]: 名称解析name = /param_vector
[ INFO] [1723529188.542840955]: 名称解析name = /param_map/key
[ INFO] [1723529188.542858317]: 名称解析name = /param_int
[ INFO] [1723529188.542878054]: ----------------------------
[ INFO] [1723529188.543220015]: 存在 param_int 吗? 1
[ INFO] [1723529188.543525068]: 存在 param_intttt 吗? 0
[ INFO] [1723529188.543831122]: 搜索键:/param_int
[ INFO] [1723529188.544247053]: param 删除结果:1

相关文章:

【自动驾驶】ROS中参数服务器通信(c++)

目录 通信过程新建参数服务器包编写测试文件修改cmakelist:搭配launch文件启动测试及结果 通信过程 1.Talker 设置参数 Talker 通过 RPC 向参数服务器发送参数(包括参数名与参数值)&#xff0c;ROS Master 将参数保存到参数列表中。 2.Listener 获取参数 Listener 通过 RPC 向…...

零基础5分钟上手亚马逊云科技核心云开发知识 - 网络基础

简介&#xff1a; 欢迎来到小李哥全新亚马逊云科技AWS云计算知识学习系列&#xff0c;适用于任何无云计算或者亚马逊云科技技术背景的开发者&#xff0c;通过这篇文章大家零基础5分钟就能完全学会亚马逊云科技一个经典的服务开发架构方案。 我会每天介绍一个基于亚马逊云科技…...

Unity Recttransform操作

1、拉伸铺满 RectTransform rect GetComponent<RectTransform>();rect.anchorMin Vector2.zero;rect.anchorMax Vector2.one;rect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, Screen.width);rect.SetSizeWithCurrentAnchors(RectTransform.Axis.Verti…...

MIT线性代数P5

置换矩阵 置换矩阵是行重新排列的单位矩阵。 置换矩阵用P表示&#xff0c; 性质&#xff1a; n阶置换矩阵共有n!个...

patroni+etcd开启SSL认证(三个节点证书一致 使用openssl命令)

瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台&#xff1a;Linux x86-64 Red Hat Enterprise Linux 7 版本&#xff1a;14 文档用途 本文主要介绍Patroni架构中如何开启etcd的ssl证书认证。 详细信息 一、前提说明 patroni版本&#xff1a;3.0.2 etcd版本&#x…...

Eureka入门指南:微服务注册与发现的基础概念

Eureka入门指南&#xff1a;微服务注册与发现的基础概念 引言 随着微服务架构的普及&#xff0c;微服务之间的高效通信和管理成为了开发和运维的核心挑战之一。为了解决服务发现和管理问题&#xff0c;Netflix推出了Eureka&#xff0c;一个功能强大的服务注册和发现工具。Eur…...

Linux:动态库和静态库

静态库与动态库 A&#xff1a;静态库&#xff08;.a&#xff09;&#xff1a;程序在编译链接的时候把库的代码链接到可执行文件中。程序运行的时候将不再需要静态库。 B&#xff1a;动态库&#xff08;.so&#xff09;&#xff1a;程序在运行的时候才去链接动态库的代码&#…...

8.13网络编程

笔记 多点通信 一、套接字属性 套接字属性的获取和设置 #include <sys/types.h> /* See NOTES */#include <sys/socket.h>int getsockopt(int sockfd, int level, int optname,void *optval, socklen_t *optlen);int setsockopt(int sockfd, int level…...

蚂蚁AL1 15.6T 创新科技的新典范

● 哈希率&#xff1a;算力达到15.6T&#xff08;相当于15600G&#xff09;&#xff0c;即每秒能够进行15.6万亿次哈希计算&#xff0c;在同类产品中算力较为出色&#xff0c;能提高WA掘效率。 ● 功耗&#xff1a;功耗为3510W&#xff0c;虽然数值看似不低&#xff0c;但结合其…...

2024年【汽车驾驶员(技师)】考试报名及汽车驾驶员(技师)试题及解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 汽车驾驶员&#xff08;技师&#xff09;考试报名参考答案及汽车驾驶员&#xff08;技师&#xff09;考试试题解析是安全生产模拟考试一点通题库老师及汽车驾驶员&#xff08;技师&#xff09;操作证已考过的学员汇总…...

2024年【甘肃省安全员C证】报名考试及甘肃省安全员C证考试总结

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 甘肃省安全员C证报名考试参考答案及甘肃省安全员C证考试试题解析是安全生产模拟考试一点通题库老师及甘肃省安全员C证操作证已考过的学员汇总&#xff0c;相对有效帮助甘肃省安全员C证考试总结学员顺利通过考试。 1、…...

RabbitMQ 双机系统偶尔丢失消息问题排查

实话说起来&#xff0c;这个问题&#xff0c;实际是一个非常低级的错误导致的&#xff0c;算不得什么高深的技术问题。但是在排查的过程中&#xff0c;却是费了好大的功夫&#xff0c;死了不少脑细胞。所以也值得记录一下&#xff0c;算作给大家提个醒&#xff0c;或许可以帮大…...

Python 环境搭建指南 超详细

Python是由荷兰⼈吉多范罗苏姆&#xff08;Guido von Rossum&#xff0c;后⾯都称呼他为Guido&#xff09;发明的⼀种编程语言 1. 1989年圣诞节&#xff1a;Guido开始写Python语⾔的编译器。2. 1991年2⽉&#xff1a;第⼀个Python解释器诞⽣&#xff0c;它是⽤C语⾔实现的&…...

使用三菱PLC源码进行PLC读取写入操作

安装 MX Component 。 我的安装地址在&#xff1a; 打开 utl 文件夹下的 Communication Settings Utility 执行。 配置PLC 添加当前需要配置的PLC 注意 logical station Namber 就是程序里需要对接的逻辑站点编号 5.配置选择对应的COM操作选择对应的cpu型型号&#xff0c;…...

使用Nvm切换nodeJs高版本之后,使用npm install一闪而过

先说现象,最近又有几个项目接手,其中有一个使用NVM切换至高版本node后,出现如下症状; 没有任何提示,然后翻看文件目录,node_modules目录没有创建,同时在全局 npm config set prefix 设置的目录下 多了一个 pgn的快捷,指向项目目录。 使用百度或者chart-gtp,搜索到的答案…...

【Kubernetes】k8s集群安全机制

目录 一.认证 1.k8s集群内的三种认证方式 2.k8s集群内的认证说明 2.1.需要被认证的访问类型 2.2.安全性说明 2.3.证书颁发的方式 2.4.kubeconfig 2.5.Service Account 2.6.Secret 与 SA 的关系 二.鉴权 1.鉴权的方式 2.RBAC的角色与角色绑定 2.1.RBAC的角色 2.2…...

嵌入式学习---DAY24:进程--二

一、exec函数族----启动一个新程序 用fork创建子进程后执行的是和父进程相同的程序&#xff08;但有可能执行不同的代码分支&#xff09;&#xff0c; 子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时&#xff0c;该进程的 用户空间代码和数据完全被…...

Diffusion Model相关论文解析之(二)DENOISING DIFFUSION IMPLICIT MODELS

目录 1、摘要2、创新点3、主要公式4、自己的理解&#xff0c;对错不确定 1、摘要 ‌Denoising Diffusion Implicit Models (DDIM)‌是一种扩散模型的改进版本&#xff0c;旨在加速采样过程并提高采样速度。DDIM通过引入非马尔可夫扩散过程&#xff0c;相对于传统的去噪扩散概率…...

【STM32嵌入式系统设计与开发拓展】——14_定时器之输入捕获

参考哔站&#xff1a;链接: 铁头山羊 一、微控制器的高级定时与控制功能集合 1、时基单元 2、输入捕获 3、输出比较 4、从模式控制器 5、高级定时器的输出控制 二、问题集合 1、什么是定时器 定时器是一种专门负责定时功能的片上外设GPI0AFI0EXTIUSART RCC I2C) 2、定时器…...

docker swarm如何让两个副本分别跑在两台不同的主机上

虽然 docker swarm 支持自动扩容部署&#xff0c;但是为了服务的稳定性、可靠性&#xff0c;有的时候甲方巴巴会要求一定要服务分散部署在不同的服务器上。 使用默认的部署方式&#xff0c;虽然副本为 N&#xff0c;但是部署的 N 个服务可能落在同一台服务器上。 在 Docker Swa…...

GPT助手的训练流程四个主要阶段( GPT Assistant training pipeline )

GPT助手的训练流程四个主要阶段&#xff08; GPT Assistant training pipeline &#xff09; flyfish 四个阶段 预训练&#xff08;pre-training&#xff09; 监督微调&#xff08;supervised fine tuning, SFT&#xff09; 奖励建模&#xff08;reward modeling&#xff09…...

网络如何发送一个数据包

网络如何发送一个数据包 网络消息发送就是点一点屏幕。 骚瑞&#xff0c;这一点都不好笑。&#xff08;小品就是我的本质惹&#xff09; 之前我就是会被这个问题搞的不安宁。是怎么知道对方的IP地址的呢&#xff1f;怎么知道对方的MAC呢&#xff1f;世界上计算机有那么多&…...

【Harmony OS 4.0】向上滑动加载案例

// 自定义class类对象类型 class Article {public id: numberpublic title: stringpublic content: stringconstructor(id: number, title: string, content: string) {this.id idthis.title titlethis.content content} }// 子组件 Component struct ArticleComponent {Pro…...

SQL基础教程(八)SQL高级处理

※食用指南&#xff1a;文章内容为《SQL基础教程》系列学习笔记&#xff0c;该书对新手入门非常友好&#xff0c;循序渐进&#xff0c;浅显易懂&#xff0c;本人主要用来补全学习MySQL中未涉及的部分&#xff0c;便于刷题和做项目。 官方电子书&#xff1a;《SQL基础教程》第2…...

[论文笔记] Data-Juicer: A One-Stop Data Processing System for Large Language Models

https://arxiv.org/pdf/2309.02033 GitHub - modelscope/data-juicer: A one-stop data processing system to make data higher-quality, juicier, and more digestible for (multimodal) LLMs! 🍎 🍋 🌽 ➡️ ➡️🍸 🍹 🍷为大模型提供更高质量、更丰富、更易”…...

期末速成复习资料——操作系统

体型&#xff1a;选择20判断10填空10*2简答4*5计算2*10 第一章 在一个计算机系统中&#xff0c;通常都含有多种硬件和软件资源。归纳起来可将这些资源分为四类&#xff1a;处理机、存储器、I/O设备以及文件&#xff08;数据和程序&#xff09;。相应地&#xff0c;OS的主要功能…...

Android之Service与IntentService区别

目录 Service特点使用场景示例 IntentService特点使用场景示例 区别总结线程管理&#xff1a;生命周期&#xff1a;使用场景&#xff1a;自动停止&#xff1a; 总结 在Android开发中&#xff0c;Service是一个可以在后台执行长时间运行操作的组件。主要有两种类型的Service&…...

【MySQL】表的设计

系列文章目录 第一章 数据库基础 第二章 数据库基本操作 第三章数据库约束 文章目录 系列文章目录前言一、表的设计二、表的关系总结 前言 在前文中&#xff0c;我们学会了基本的CRUD操作&#xff0c;对数据库中的数据进行约束以提高数据库的准确性。接下来介绍的表的设计就是…...

NC 用两个栈实现队列

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 描述 用两个栈来实…...

用后端实现一个简单的登录模块2 前端页面

该模块能做到的功能&#xff1a; 1阶&#xff1a;输入账号和密码&#xff0c;输入正确即可返回登录成功的信息&#xff0c;反之则登录失败 2阶&#xff1a;有简单的前端页面&#xff0c;有登录成功和失败的弹窗&#xff0c;还有登录成功的主页面 3阶&#xff1a;前端页面的注…...