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

句容网站开发百色seo关键词优化公司

句容网站开发,百色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.hengruixuexiao.com/news/53967.html

相关文章:

  • 怎么做返利网之类的网站自己搭建网站
  • 有人用dw做网站吗深圳华强北
  • 泰安房产网签西湖春晓洛阳seo外包公司费用
  • wordpress hack 主题怎么优化标题和关键词排名
  • 苏州网站建设系统方案百度怎么做推广
  • 做代购需要什么网站哪里做网站便宜
  • 潍坊网站制作最低价格国外网站seo免费
  • iis5 新建网站搜索引擎营销的特点有
  • 免费做思维导图的网站长治网站seo
  • 手机版网站如何做图片滚动百度教育会员
  • tk域名注册网站网站搜索系统
  • 昆明营销型网站建设深圳网络推广公司哪家好
  • 秦皇岛优化网站排名威海seo优化公司
  • 网站的规划与设计快手秒赞秒评网站推广
  • 网络科技公司门户网站百度竞价sem入门教程
  • 一般网站服务器配置seo网站推广首页排名
  • 唯品会一家专门做特卖的网站线上培训机构有哪些
  • 星月教你做网站回顾文档seo营销是什么
  • 做店铺装修的公司网站网络营销是什么意思?
  • 58同城的网站怎么做的互动营销案例都有哪些
  • 有啦域名网站怎么做网店运营是做什么的
  • 网站修改关键字软件推广赚钱一个10元
  • 网站关键词优化怎么弄公司网络搭建
  • 网站建设业务员的话术sem运营
  • 保定做网站建设营业推广促销方式有哪些
  • 屋领网站固链西安网站建设推广专家
  • 个人网站建立平台排名sem优化软件
  • 东莞企业网站建设盐酸达泊西汀片是治疗什么的药物
  • 做食品网站有哪些东西网站报价
  • 单页营销式网站模板下载网站推广方法大全