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

哈尔滨高端品牌网站建设国外旅游哪几个网站做攻略好

哈尔滨高端品牌网站建设,国外旅游哪几个网站做攻略好,iis网站301重定向,慈溪企业网站seo服务通信也是ROS中一种极其常用的通信模式,服务通信是基于请求响应模式的,是一种应答机制。也即: 一个节点A向另一个节点B发送请求,B接收处理请求并产生响应结果返回给A,用于偶然的、对时时性有要求、有一定逻辑处理需求的数据传输…

        服务通信也是ROS中一种极其常用的通信模式,服务通信是基于请求响应模式的,是一种应答机制。也即: 一个节点A向另一个节点B发送请求,B接收处理请求并产生响应结果返回给A,用于偶然的、对时时性有要求、有一定逻辑处理需求的数据传输场景。

2.1 服务通信理论模型

        服务通信较之于话题通信更简单些,理论模型如下图所示,该模型中涉及到三个角色:

        ROS master(管理者)

        Server(服务端)

        Client(客户端)

        ROS Master 负责保管 Server 和 Client 注册的信息,并匹配话题相同的Server与Client ,帮助 Server与Client 建立连接,连接建立后,Client 发送请求信息,Server 返回响应信息。

0)Server注册Server 启动后,会通过RPC在ROS Master中注册自身信息,其中包含提供的服务的名称。ROS Master会将节点的注册信息加入到注册表中。1)Client注册Client 启动后,也会通过RPC在ROS Master中注册自身信息,包含需要请求的服务的名称。ROS Master会将节点的注册信息加入到注册表中。2)ROS Master实现信息匹配ROS Master 会根据注册表中的信息匹配Server和Client,并通过RPC向Client发送Server的TCP地址信息。3)Client发送请求Client 根据步骤2响应的信息,使用TCP与Server建立网络连接,并发送请求数据。4)Server发送响应Server接收、解析请求的数据,并产生响应结果返回给Client。注意:1.客户端请求被处理时,需要保证服务器已经启动;2.服务端和客户端都可以存在多个。

 2.2 服务通信自定义srv

2.2.1 定义srv文件

        服务通信中,数据分成两部分,请求与响应,在 srv 文件中请求和响应使用---分割,具体实现如下:

        功能包下新建 srv 目录,添加 xxx.srv 文件,内容:

客户端请求时发送的两个数字
int32 num1
int32 num2
---
服务器响应发送的数据
int32 sum

 2.2.2 编辑配置文件

        package.xml中添加编译依赖与执行依赖

<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>

        CMakeLists.txt编辑 srv 相关配置  

find_package(catkin REQUIRED COMPONENTSroscpprospystd_msgsmessage_generation)
需要加入 message_generation,必须有 std_msgs

配置 msg 源文件
add_message_files(FILESPerson.srv)

生成消息时依赖于 std_msgs
generate_messages(DEPENDENCIESstd_msgs)

执行时依赖
catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES demo02_talker_listenerCATKIN_DEPENDS roscpp rospy std_msgs message_runtime
#  DEPENDS system_lib)
注意: 官网没有在 catkin_package 中配置 message_runtime,经测试配置也可以

2.2.3 编译

编译后的中间文件查看:C++ 需要调用的中间文件(.../工作空间/devel/include/包名/xxx.h)Python 需要调用的中间文件(.../工作空间/devel/lib/python3/dist-packages/包名/srv)
后续调用相关 srv 时,是从这些中间文件调用的

2.3 服务通信自定义srv调用(C++)

        vscode配置:将前面生成的 head 文件路径配置进 c_cpp_properties.json 的 includepath属性;

 

 2.4 服务通信自定义srv调用(Python)

        vscode配置:将前面生成的 python 文件路径配置进 settings.json的extraPaths的属性;

http://www.yayakq.cn/news/45904/

相关文章:

  • 12306网站建设 实际深圳龙华区地图
  • 合肥网站建设方案优化湖北专业的网瘾戒除学校有哪些
  • 做网站小代码大全做企业评价的有哪些网站
  • 宝安网站建设制作期货融网站建设
  • 招商银行和建设银行网站功能对比网推公司招聘
  • 广西和住房城乡建设厅网站首页郑州seo优化大师
  • 优秀企业网站市场策划方案
  • 网站建设市场调研wordpress 账号 有效期
  • 高端制作网站找哪个公司46设计网站官网
  • 重庆建设网站的公司咋样做班级主页网站
  • 商城网站内容模块有哪些godaddy的wordpress主机
  • 做网站的html框架有高并发 高访问量网站开发
  • 电子商城网站建设价格wordpress wp()
  • 有口碑的大连网站建设网站服务器搭建与管理
  • 中国老区建设促进会网站沈阳营销型网站制作
  • 比特币做空网站风云榜百度
  • 校园官方网站建设怀化营销策划网络推广渠道
  • 淮南网站优化wordpress置顶文章失效
  • 会员型网站投资公司注册条件和要求
  • 东莞品牌网站建设服务wordpress装修网插件
  • 商店网站在线设计网络营销推广方式有哪些
  • 贵州专业建网站小笨鸟跨境电商平台
  • 网站开发成都网站开发 私活
  • 图书馆建设网站需要哪些费用网页开发界面设计
  • 成都极客联盟网站建设公司装饰行业做网站
  • 四川游戏seo整站优化wordpress文件权限
  • 长沙有效的可以看的网站宁波公司注册代理公司
  • 企业信息公开网站录播教育系统网站建设费用
  • 上海定制网站建设公司哪家好临沂网站公司哪家好
  • vps上创建网站哪些网站的网站怎么做的