CN109451023B - 一种ros消息发布注册的方法和系统 - Google Patents

一种ros消息发布注册的方法和系统 Download PDF

Info

Publication number
CN109451023B
CN109451023B CN201811350140.6A CN201811350140A CN109451023B CN 109451023 B CN109451023 B CN 109451023B CN 201811350140 A CN201811350140 A CN 201811350140A CN 109451023 B CN109451023 B CN 109451023B
Authority
CN
China
Prior art keywords
message
registering
publishing
registration
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811350140.6A
Other languages
English (en)
Other versions
CN109451023A (zh
Inventor
钱利强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Feitu Intelligent Control Technology Co ltd
Original Assignee
Jiangsu Feitu Intelligent Control Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu Feitu Intelligent Control Technology Co ltd filed Critical Jiangsu Feitu Intelligent Control Technology Co ltd
Priority to CN201811350140.6A priority Critical patent/CN109451023B/zh
Publication of CN109451023A publication Critical patent/CN109451023A/zh
Application granted granted Critical
Publication of CN109451023B publication Critical patent/CN109451023B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种ROS消息发布注册的方法和系统。该方法在当ROS节点发出消息发布注册请求时,首先查阅本地存储的第一消息发布注册配置文件,倘若第一消息发布注册配置文件中包含有该消息发布注册或发布请求时,直接返回完成,否则向节点管理器发送该消息发布注册或发布请求。当节点管理器初始化时通过本地代理查阅本地存储的第二消息发布注册配置文件,本地代理根据第二消息发布注册配置文件中包含的消息发布注册请求向本地的节点管理器发送消息发布注册请求,由此避免在系统初始化发布注册消息时由于网络问题导致发布注册消息失败的问题,同时也减少消息发布注册的网络传输开销。

Description

一种ROS消息发布注册的方法和系统
技术领域
本发明涉及ROS消息发布注册发布。
背景技术
ROS,Robotic Operation System,是一个机器人领域软件平台,是当前机器人领域事实上的标准,已经在很多机器人系统里得到了广泛应用。ROS提供了一种发布-订阅式的通信框架。具体来说,ROS系统由很多节点组成,其中有一个节点是节点管理器。当其中一个节点需要向其他节点发布数据时,该节点首先需要向节点管理器请求发布注册一个特定主题的消息,节点管理器接受发布注册请求后,该节点成为该主题消息的发布者。该节点发布该主题的消息时,该主题的消息被送入ROS消息池中。其他节点获取相应主题的消息时,首先需要向节点管理器请求订阅该主题的消息。订阅该主题消息的节点由此可以从ROS消息池中获得该主题的消息。这种发布-订阅式的通信框架将数据的产生者与数据的消费者分离,给用户带来了很大灵活性,因而也得到了广泛应用。
随着机器人的应用越来越广泛, ROS也在向更大范围扩展,很多采用ROS的节点开始通过无线通信与其他节点通信,比如无人机组网场景。在无人机组网场景的应用中,每个无人机相当于一个ROS节点。无人机之间由于无线通信的信道质量随着传输距离、干扰、遮挡的情况变化很大,通信质量比较差,无人机节点发起消息发布注册和订阅容易失败。另一方面,无人机某些的消息,比如携带摄像头无人机所发布的视频数据,可以预知为其他无人机订阅,这种可以预知为其他特定节点获取的消息称之为定向消息。这种定向消息实在不必通过在线消息发布注册订阅方式实现而浪费不必要的传输带宽。
发明内容
本发明所要解决的问题:网络通信质量差的情况下,消息发布注册容易发生失败,减少定向消息发布注册的传输带宽。
为解决上述问题,本发明采用的方案如下:
根据本发明的一种ROS消息发布注册的方法,该方法包括节点发布注册代理步骤和管理器发布注册代理步骤;
所述节点发布注册代理步骤:当ROS节点发出消息发布注册请求时,首先查阅本地存储的第一消息发布注册配置文件;倘若所述第一消息发布注册配置文件中包含有该消息发布注册请求时,直接返回完成消息发布注册,否则向节点管理器发送该消息发布注册请求;
所述管理器发布注册代理步骤:当节点管理器初始化时,查阅本地存储的第二消息发布注册配置文件,根据第二消息发布注册配置文件中包含的消息发布注册请求进行发布注册消息;
所述第二消息发布注册配置文件至少包含第一消息发布注册配置文件中的一个消息发布注册请求。
进一步,根据本发明的ROS消息发布注册的方法,所述节点发布注册代理步骤通过通过节点本地发布注册代理模块实现:当ROS节点发出消息发布注册请求时,消息发布注册请求被发送至所述节点本地发布注册代理模块;所述节点本地发布注册代理模块接收到本地ROS节点所发送的消息发布注册请求后,查阅本地存储的第一消息发布注册配置文件,倘若所述第一消息发布注册配置文件中包含有该消息发布注册请求时,直接向本地ROS节点返回完成消息发布注册,否则向节点管理器发送该消息发布注册请求。
进一步,根据本发明的ROS消息发布注册的方法,所述管理器发布注册代理步骤通过管理器本地发布注册代理模块实现;初始化时,所述管理器本地发布注册代理模块查阅本地存储的第二消息发布注册配置文件,根据第二消息发布注册配置文件中包含的消息发布注册请求向所述节点管理器发送消息发布注册请求。
根据本发明的一种ROS消息发布注册的系统,该系统包括节点本地发布注册代理模块和管理器本地发布注册代理模块;
所述节点本地发布注册代理模块用于:接收到本地ROS节点所发送的消息发布注册请求后,查阅本地存储的第一消息发布注册配置文件,倘若所述第一消息发布注册配置文件中包含有该消息发布注册请求时,直接向本地ROS节点返回完成消息发布注册,否则向节点管理器发送该消息发布注册请求;
所述管理器本地发布注册代理模块用于:初始化时,查阅本地存储的第二消息发布注册配置文件,根据第二消息发布注册配置文件中包含的消息发布注册请求向所述节点管理器发送消息发布注册请求;
所述第二消息发布注册配置文件至少包含第一消息发布注册配置文件中的一个消息发布注册请求。
本发明的技术效果如下:本发明通过将定向消息的发布者和主题写入配置文件,在向节点管理器进行消息发布注册时,直接通过本地代理查阅本地存储的配置文件,从而减少网络传输。
附图说明
图1是本发明实施例的整体结构示意图。
具体实施方式
下面结合附图对本发明做进一步详细说明。
如图1所示,本实施例是一种ROS消息发布注册的系统。该系统涉及消息发布者物理设备1和节点管理器物理设备2。该系统应用于前述的无人机组网系统中时,消息发布者物理设备1是一台无人机;节点管理器物理设备2可以是无人机,也可以是地面工作站。消息发布者物理设备1和节点管理器物理设备2中安装了ROS系统。在该ROS系统中,消息发布者物理设备1和节点管理器物理设备2均设置有ROS节点:ROS节点11和节点管理器21。也就是说,节点管理器物理设备2所设置的ROS节点为ROS master,ROS master也就是节点管理器。本实施例的ROS消息发布注册的系统除了包括上述的ROS节点11和节点管理器21之外,还包括节点本地发布注册代理模块12和管理器本地发布注册代理模块22。节点本地发布注册代理模块12和管理器本地发布注册代理模块22分别布置在消息发布者物理设备1和节点管理器物理设备2上。
当消息发布者物理设备1上的ROS节点11向节点管理器物理设备2上节点管理器21的请求消息发布注册时,并不直接向节点管理器21发出请求,而是首先向节点本地发布注册代理模块12发出消息发布注册请求。节点本地发布注册代理模块12接收到该消息发布注册请求时,查阅第一消息发布注册配置文件13,倘若第一消息发布注册配置文件13中包含有该消息发布注册请求时,直接向ROS节点11返回消息发布注册成功信息,倘若第一消息发布注册配置文件13不包含该消息发布注册请求时,节点本地发布注册代理模块12向节点管理器21发出该消息发布注册请求,然后将节点管理器21所返回的消息发布注册请求返回的结果返回给ROS节点11。第一消息发布注册配置文件13包含了若干定向消息发布者的消息发布注册请求。
节点管理器物理设备2上ROS系统初始化时,管理器本地发布注册代理模块22查阅本地存储的第二消息发布注册配置文件23,根据第二消息发布注册配置文件23中包含的消息发布注册请求向节点管理器21发出消息发布注册请求进行消息发布注册。
第一消息发布注册配置文件13和第二消息发布注册配置文件23均为人工编辑的配置文件。显而易见地,第二消息发布注册配置文件23通常包含了第一消息发布注册配置文件13所包含的消息发布注册请求。显而易见地,消息发布注册请求至少包括消息主题。另外,本领域技术人员理解,第一消息发布注册配置文件13所包含的消息发布注册请求可能与第二消息发布注册配置文件23所包含的消息发布注册请求内容有所差别。比如,第一消息发布注册配置文件13所包含的消息发布注册请求中,其发布者的信息可以隐含在ROS节点11的消息发布注册请求中,第一消息发布注册配置文件13所包含的消息发布注册请求仅需要列出消息主题即可。
此外,还需要指出的是,本实施例中,作为消息发布者的消息发布者物理设备1仅有一个,本领域技术人员理解,ROS系统中,消息发布者可以多个,相应地,消息发布者物理设备1可以有多个。另外,本领域技术人员理解,一个物理设备中可以配置多个ROS节点。具体到消息发布者物理设备1中,各个位于消息发布者物理设备1的ROS节点共享节点本地发布注册代理模块12,也就是,各个位于消息发布者物理设备1的ROS节点进行消息发布注册时,首先向节点本地发布注册代理模块12发出消息发布注册请求。对于节点管理器物理设备2包含多个ROS节点的情形时,其中一个ROS节点为节点管理器21,其他ROS节点为被节点管理器所管理的ROS节点。这些ROS节点进行消息发布注册时,同样可以向相应的节点本地发布注册代理模块发出消息发布注册请求。节点本地发布注册代理模块接收到该消息发布注册请求时,查阅第一消息发布注册配置文件13,倘若第一消息发布注册配置文件13中包含有该消息发布注册请求时,直接向这些ROS节点返回消息发布注册成功信息,倘若第一消息发布注册配置文件13不包含该消息发布注册请求时,节点本地发布注册代理模块向节点管理器发出该消息发布注册请求,然后将节点管理器21所返回的消息发布注册请求返回的结果返回给相应的ROS节点。
消息发布者物理设备1和节点管理器物理设备2通常不是同一个物理设备。显而易见地,消息发布者物理设备1中的节点本地发布注册代理模块12向节点管理器21发出消息发布注册请求需要通过网络传输数据。

Claims (4)

1.一种ROS消息发布注册的方法,其特征在于,该方法包括节点发布注册代理步骤和管理器发布注册代理步骤;
所述节点发布注册代理步骤:当ROS节点发出消息发布注册请求时,首先查阅本地存储的第一消息发布注册配置文件;倘若所述第一消息发布注册配置文件中包含有该消息发布注册请求时,直接返回完成消息发布注册,否则向节点管理器发送该消息发布注册请求;
所述管理器发布注册代理步骤:当节点管理器初始化时,查阅本地存储的第二消息发布注册配置文件,根据第二消息发布注册配置文件中包含的消息发布注册请求进行发布注册消息;
所述第二消息发布注册配置文件至少包含第一消息发布注册配置文件中的一个消息发布注册请求;
第一消息发布注册配置文件和第二消息发布注册配置文件均为人工编辑的配置文件。
2.如权利要求1所述的ROS消息发布注册的方法,其特征在于,所述节点发布注册代理步骤通过通过节点本地发布注册代理模块实现:当ROS节点发出消息发布注册请求时,消息发布注册请求被发送至所述节点本地发布注册代理模块;所述节点本地发布注册代理模块接收到本地ROS节点所发送的消息发布注册请求后,查阅本地存储的第一消息发布注册配置文件,倘若所述第一消息发布注册配置文件中包含有该消息发布注册请求时,直接向本地ROS节点返回完成消息发布注册,否则向节点管理器发送该消息发布注册请求。
3.如权利要求1所述的ROS消息发布注册的方法,其特征在于,所述管理器发布注册代理步骤通过管理器本地发布注册代理模块实现;初始化时,所述管理器本地发布注册代理模块查阅本地存储的第二消息发布注册配置文件,根据第二消息发布注册配置文件中包含的消息发布注册请求向所述节点管理器发送消息发布注册请求。
4.一种ROS消息发布注册的系统,其特征在于,该系统包括节点本地发布注册代理模块和管理器本地发布注册代理模块;
所述节点本地发布注册代理模块用于:接收到本地ROS节点所发送的消息发布注册请求后,查阅本地存储的第一消息发布注册配置文件,倘若所述第一消息发布注册配置文件中包含有该消息发布注册请求时,直接向本地ROS节点返回完成消息发布注册,否则向节点管理器发送该消息发布注册请求;
所述管理器本地发布注册代理模块用于:初始化时,查阅本地存储的第二消息发布注册配置文件,根据第二消息发布注册配置文件中包含的消息发布注册请求向所述节点管理器发送消息发布注册请求;
所述第二消息发布注册配置文件至少包含第一消息发布注册配置文件中的一个消息发布注册请求;
第一消息发布注册配置文件和第二消息发布注册配置文件均为人工编辑的配置文件。
CN201811350140.6A 2018-11-14 2018-11-14 一种ros消息发布注册的方法和系统 Active CN109451023B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811350140.6A CN109451023B (zh) 2018-11-14 2018-11-14 一种ros消息发布注册的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811350140.6A CN109451023B (zh) 2018-11-14 2018-11-14 一种ros消息发布注册的方法和系统

Publications (2)

Publication Number Publication Date
CN109451023A CN109451023A (zh) 2019-03-08
CN109451023B true CN109451023B (zh) 2021-08-03

Family

ID=65552241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811350140.6A Active CN109451023B (zh) 2018-11-14 2018-11-14 一种ros消息发布注册的方法和系统

Country Status (1)

Country Link
CN (1) CN109451023B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111698190B (zh) * 2019-03-12 2022-03-18 比亚迪股份有限公司 多机器人的通信方法、机器人及服务器端

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103107947A (zh) * 2011-11-14 2013-05-15 无锡南理工科技发展有限公司 一种面向内容发布/订阅的网络低负载、自配置路由器
CN103731757A (zh) * 2012-10-16 2014-04-16 北京四达时代软件技术股份有限公司 一种定向信息发布的方法及系统
CN104597908A (zh) * 2014-11-05 2015-05-06 安徽泽众安全科技有限公司 基于自主规划航线的机载定向广播装置
CN105933444A (zh) * 2016-06-27 2016-09-07 焦点科技股份有限公司 基于注册中心和缓存机制协同的服务发现方法
CN106452841A (zh) * 2016-09-13 2017-02-22 中国电子科技集团公司第三十二研究所 在机器人操作系统中使用传输服务质量的方法
CN107589752A (zh) * 2017-07-25 2018-01-16 天津大学 无人机与地面机器人协同编队实现方法及系统
US10116500B1 (en) * 2015-03-02 2018-10-30 The Mathworks, Inc. Exchanging information among system middleware and models

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103107947A (zh) * 2011-11-14 2013-05-15 无锡南理工科技发展有限公司 一种面向内容发布/订阅的网络低负载、自配置路由器
CN103731757A (zh) * 2012-10-16 2014-04-16 北京四达时代软件技术股份有限公司 一种定向信息发布的方法及系统
CN104597908A (zh) * 2014-11-05 2015-05-06 安徽泽众安全科技有限公司 基于自主规划航线的机载定向广播装置
US10116500B1 (en) * 2015-03-02 2018-10-30 The Mathworks, Inc. Exchanging information among system middleware and models
CN105933444A (zh) * 2016-06-27 2016-09-07 焦点科技股份有限公司 基于注册中心和缓存机制协同的服务发现方法
CN106452841A (zh) * 2016-09-13 2017-02-22 中国电子科技集团公司第三十二研究所 在机器人操作系统中使用传输服务质量的方法
CN107589752A (zh) * 2017-07-25 2018-01-16 天津大学 无人机与地面机器人协同编队实现方法及系统

Also Published As

Publication number Publication date
CN109451023A (zh) 2019-03-08

Similar Documents

Publication Publication Date Title
US10212236B2 (en) Information transmitting method and apparatus in robot operating system
CN111382115B (zh) 一种用于片上网络的路径创建方法、装置及电子设备
CN108174358B (zh) 飞行集群通讯方法、装置和系统
CN108833577B (zh) 基于边缘计算的数据通信优化系统及方法
US20120096136A1 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
CN110365643A (zh) 一种通信方法和装置
CN110868700A (zh) 车载边缘计算环境下基于可分裂任务的协作计算卸载方法
CN102594886B (zh) 浏览器与浏览器直通的方法、装置和通信系统
CN109451023B (zh) 一种ros消息发布注册的方法和系统
CA2397114A1 (en) Communications network
CN105592019A (zh) 双执行环境之间双向访问应用的方法
CN114466226B (zh) 带宽时长占比确定方法、装置、设备和计算机可读介质
CN111064788A (zh) 信号传输方法、机器人及计算机可读存储介质
CN109525660B (zh) 一种ros消息发布和订阅注册的方法和系统
US11158185B2 (en) Method and apparatus for controlling controllable device
CN107949004A (zh) 用于载人航天器的数据处理系统及方法
CN110381471B (zh) 为无人车确定最优基站的方法和装置
CN109525659B (zh) 一种ros消息订阅注册的方法和系统
CN109981778B (zh) 内容分发网络的服务实现方法、装置、设备及存储介质
CN116827854A (zh) 一种基于冗余信息反馈的车载通信系统及方法
CN110011891B (zh) 一种跨网络的业务处理方法和系统
CN108462657B (zh) 获取不同运营商的sdn网络的资源及信息的方法和设备
JP2006521061A (ja) 配信ポリシーツール
US10361967B2 (en) Communication system using audio video bridging
CN107895075B (zh) 一种开发机载总线通用仿真框架的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Qian Liqiang

Inventor before: Qian Liqiang

Inventor before: Xiong Fei

Inventor before: Wang Hai

Inventor before: Guo Xiao

Inventor before: Li Aijing

Inventor before: Chen Juan

Inventor before: Rong Fengjuan

Inventor before: Xu Zhengqin

GR01 Patent grant
GR01 Patent grant