CN110955536A - 用于连接ros的通讯系统 - Google Patents
用于连接ros的通讯系统 Download PDFInfo
- Publication number
- CN110955536A CN110955536A CN201911162636.5A CN201911162636A CN110955536A CN 110955536 A CN110955536 A CN 110955536A CN 201911162636 A CN201911162636 A CN 201911162636A CN 110955536 A CN110955536 A CN 110955536A
- Authority
- CN
- China
- Prior art keywords
- data
- ros
- processing module
- control terminal
- robot
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 43
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 8
- 239000003550 marker Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
Abstract
本发明公开一种用于连接ROS的通讯系统,涉及通讯系统的技术领域,其包括建立通讯连接的机器人子系统和控制端子系统;机器人子系统安装于机器人上,控制端子系统安装于控制端;机器人子系统包括获取模块以及第一处理模块;获取模块用于获取ROS发布的话题并将话题发送至第一处理模块;第一处理模块接收话题,将话题转化为非ROS的系统可读取的第一数据,对第一数据添加标记以形成第二数据,将第二数据发送至控制端子系统;控制端子系统包括第二处理模块;第二处理模块将接收第二数据,根据第二数据解析出第一数据以及标记。本发明在与ROS进行通讯时减少了端口的开放数量并且不需要复杂的处理就可以从不同的机器人上接受相同的话题。
Description
技术领域
本发明涉及通讯系统的领域,具体涉及一种用于连接ROS的通讯系统。
背景技术
ROS(Robot Operating System)是一种机器人操作系统。ROS无法直接与其他系统进行通讯,其他操作系统与ROS进行通讯时,需要基于ROS进行,即采用ROS发布订阅的方式,通讯中的数据类型包括ROS通用数据格式以及自定义数据格式,并且自定义数据格式也需要封装为ROS数据格式方可进行通讯。所以为了对机器人的控制或数据传输等操作,通常采用的方法是在控制端安装一套ROS系统,即机器人中的ROS直接与控制端中的ROS进行通讯。这种方法虽然可以直接迅速的搭建起整套通讯系统,但实际应用时还存在如下问题:
1、多机器人与控制端通讯时,因各机器人具有相同的功能模块,会发布相同的话题,但是ROS系统通讯不允许相同的话题名,故需要扩展机器人时,需要对机器人的通讯进行特殊处理,扩展和维护的成本高。
2、ROS会自动分配不同端口发布订阅话题,若控制端直接通过ROS与机器人进行通讯时,需开放大量端口,存在安全性问题,而且机器人数量越多,端口开放的数量越多。
3、为进行通讯,需要在控制端上安装ROS,占用较多资源;
4、采用ROS本身是为了方便管理各功能模块及处理模块之间通讯的问题,若在控制端安装ROS,则会将整个控制端的系统绑定在ROS框架内。当ROS系统不能满足需求或其他原因更换框架时,需要对控制端进行重构,成本过高。
发明内容
为解决上述开放大量端口而存在安全性问题,并且ROS通讯不允许相同的话题名而必须要特殊化处理的问题。本发明的目的是提供一种用于连接ROS的通讯系统,其在与ROS进行通讯时减少了端口的开放数量并且不需要复杂的处理就可以从不同的机器人上接受相同的话题,其包括:建立通讯连接的机器人子系统和控制端子系统;机器人子系统安装于机器人上,控制端子系统安装于控制端;所述机器人子系统包括获取模块以及第一处理模块;所述获取模块用于获取ROS发布的话题并将所述话题发送至第一处理模块;所述第一处理模块接收所述话题,将所述话题转化为非ROS的系统可读取的第一数据,对所述第一数据添加标记以形成第二数据,将所述第二数据发送至控制端子系统;所述控制端子系统包括第二处理模块;所述第二处理模块将接收所述第二数据,根据所述第二数据解析出所述第一数据以及所述标记。
在一些优选实例中,所述标记包括话题相关信息和机器人相关信息,所述第一处理模块将所述话题相关信息和所述机器人相关信息记录在所述第一数据内。
在一些优选实例中,所述第一处理模块向所述第一数据内添加所述标记时,所述第一处理模块将所述第一数据与所述标记序列化,并将被序列化的所述标记插入到被序列化的所述第一数据的头部。
在一些优选实例中,所述第二处理模块解析所述第二数据时,所述第二处理模块将所述第二数据中被序列化的所述标记拆出,对被序列化的所述标记和被序列化的所述第一数据进行反序列化。
在一些优选实例中,所述第二处理模块反序列化所述第一数据和所述标记之后,根据所述标记建立数据结构以将所述标记和所述第一数据一体存储。
在一些优选实例中,所述控制端子系统基于Linux、Windows或Mac OS开发。
在一些优选实例中,所述机器人子系统和所述控制端子系统基于TCP连接。
在一些优选实例中,所述控制端包括服务器、个人PC、工作站、PAD或手机;或者服务器与个人PC、服务器与工作站、服务器与PAD或服务器与手机的组合。
本发明的有益效果为:
1)不同的ROS会发布的相同话题,但各话题携带了各自标记之后,根据标记就可以了解各话题之间的区别,所以不需要对话题做特殊处理,而且只需要开放少量端口进行数据传输即可。
2)第一处理模块对话题进行转化之后,一方面可以对话题进行增加、删除或压缩等操作改变数据量的大小,还可以将转化后的数据进行拆分,这样既能够解决数据量过大的问题,还能够解决数据流波动大的问题。
3)在控制端不需要安装ROS系统,减少了对资源的占用,而且减少了部署成本。
4)不需要将控制端的系统绑定在ROS框架内,具有扩展性好和便于维护的优点。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本发明一实施例的控制端与机器人的连接示意图。
图2是本发明一实施例的通讯系统的系统架构图。
附图标记说明:1、通讯系统;11、机器人子系统;111、获取模块;112、第一处理模块;12、控制端子系统;121、第二处理模块;2、机器人;3、控制器。
具体实施方式
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
以下参照附图结合一实施例进一步说明本发明。
参见图1和图2,本发明提供了一种用于连接ROS的通讯系统,其包括建立通讯连接的机器人子系统和控制端子系统。机器人子系统和控制端子系统基于TCP建立连接。机器人子系统安装在机器人内,控制端子系统安装在控制端内。
控制端可以是服务器、个人PC、工作站、PAD或手机,也可以是服务器与个人PC、服务器与工作站、服务器与PAD或服务器与手机的组合。为了方便存储数据,充分利用服务器的计算能力,本实施例中采用服务器与个人PC得组合方式,即控制端子系统安装于服务器,控制端子系统在服务器完成设定的工作内容后将数据通过网络传输至个人PC。
为了获取ROS的话题,机器人子系统基于Linux开发,但控制端子系统可采用Linux、Windows或Mac OS进行开发,在本实施例中,控制端子系统的开发平台为Ubuntu16.04。
机器人子系统包括获取模块和第一处理模块。获取模块是基于ROS官方发布的开发包进行编译,用于订阅ROS发布的话题并将话题发送至第一处理模块。第一处理模块接收话题后,将话题转化为非ROS的系统可读取的第一数据,转化的依据是控制端子系统的开发平台,即在本实施例中,第一处理模块将话题转化为Linux开发的程序可读取的数据。转化的方式是在依据ROS中的数据结构将数据序列化,再根据Linux系统的数据结构将被序列化的数据进行适应性的调整,后进行反序列化。转化后,第一处理模块对第一数据添加标记以形成第二数据,并将第二数据发送至控制端子系统。
标记包括话题相关信息以及机器人相关信息。
话题相关信息是指话题的内容是操作指令或某种类型的数据,数据的类型包括图片、文字、视频等等。通过了解话题相关信息,便可以知道话题的内容是某种操作指令或某种类型的数据。
机器人相关信息是指机器人自身所携带的特有信息,如机器人编号,硬件编号等。通过了解机器人相关信息,便可以知道话题的来源。
添加标记的具体方式是将标记和第一数据序列化,将被序列化的标记插入到被序列化的第一数据的头部。
第二处理模块接收第二数据后对第二数据进行解析。首先根据预先设定的规则对数据的头部进行拆除,即将第二数据中表示标记的单元拆除,然后全部进行反序列化,就可以得到标记和第一数据。
解析后,将标记和第一数据以特定的结构进行存储并发送至个人PC。服务器自身的系统仅进行存储读取和发送即可,并且依据Linux平台开发的控制端子系统不会将服务器绑定在ROS框架下,而且利用服务器较好的计算能力,控制端子系统可以快速的运行,被解析后的第二数据发送到个人PC后,个人PC上不仅没有存储压力,而且也减轻了计算压力,可以专注于对第一数据的解析。
当控制端需要与多个机器人建立连接时,在控制端安装了控制端子系统,多个机器人分别安装了机器人子系统。尽管各机器人的ROS的相同功能模块会发布相同的话题,但第一处理模块对话题进行了处理并添加了特定的标记,改变了基于ROS通讯的方式,而且使得控制端能够接受话题相同的数据,从而解决了ROS系统通讯不能使用相同的话题名的问题。进一步的,添加和读取标记的方式相对于在ROS框架下的复杂处理也更加简单。
因为在ROS框架下,所开放的端口数量是根据功能模块的数量以及每个功能模块内所包含的节点数量,所以实际运行时会开放大量端口。但是,控制端子系统接收数据时,由于数据的传输已经在非ROS的框架下,所以只需要开放少量的端口进行数据传输即可,避免了开放过多端口造成的安全性问题。所开放的端口数量基于数据类型的数量和数据的体量。
进一步的,因为第一处理模块将话题进行转化,所以数据可以进行添加、删除以及压缩等操作,使得数据量减少,而且可以拆分并分段传输以降低数据流的波动。
进一步的,在控制端不需要安装ROS系统,减少了对资源的占用,而且减少了部署成本。不需要将控制端的系统绑定在ROS框架内,具有扩展性好和便于维护的优点。
虽然已经参考优选实施例对本发明进行了描述,但在不脱离本发明的范围的情况下,可以对其进行各种改进并且可以用等效物替换其中的部件,尤其是,只要不存在结构冲突,各个实施例中所提到的各项技术特征均可以任意方式组合起来。本发明并不局限于文中公开的特定实施例,而是包括落入权利要求的范围内的所有技术方案。
此外,还需要说明的是,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本发明中的具体含义。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (8)
1.一种用于连接ROS的通讯系统,其特征在于,包括:建立通讯连接的机器人子系统和控制端子系统;机器人子系统安装于机器人上,控制端子系统安装于控制端;
所述机器人子系统包括获取模块以及第一处理模块;
所述获取模块用于获取ROS发布的话题并将所述话题发送至第一处理模块;
所述第一处理模块接收所述话题,将所述话题转化为非ROS的系统可读取的第一数据,对所述第一数据添加标记以形成第二数据,将所述第二数据发送至控制端子系统;
所述控制端子系统包括第二处理模块;所述第二处理模块将接收所述第二数据,根据所述第二数据解析出所述第一数据以及所述标记。
2.根据权利要求1所述的用于连接ROS的通讯系统,其特征在于:所述标记包括话题相关信息和机器人相关信息,所述第一处理模块将所述话题相关信息和所述机器人相关信息记录在所述第一数据内。
3.根据权利要求2所述的用于连接ROS的通讯系统,其特征在于:所述第一处理模块向所述第一数据内添加所述标记时,所述第一处理模块将所述第一数据与所述标记序列化,并将被序列化的所述标记插入到被序列化的所述第一数据的头部。
4.根据权利要求3所述的用于连接ROS的通讯系统,其特征在于:所述第二处理模块解析所述第二数据时,所述第二处理模块将所述第二数据中被序列化的所述标记拆出,对被序列化的所述标记和被序列化的所述第一数据进行反序列化。
5.根据权利要求4所述的用于连接ROS的通讯系统,其特征在于:所述第二处理模块反序列化所述第一数据和所述标记之后,根据所述标记建立数据结构以将所述标记和所述第一数据一体存储。
6.根据权利要求1所述的用于连接ROS的通讯系统,其特征在于:所述控制端子系统基于Linux、Windows或Mac OS开发。
7.根据权利要求1所述的用于连接ROS的通讯系统,其特征在于:所述机器人子系统和所述控制端子系统基于TCP连接。
8.根据权利要求1所述的用于连接ROS的通讯系统,其特征在于:所述控制端包括服务器、个人PC、工作站、PAD或手机;或者服务器与个人PC、服务器与工作站、服务器与PAD或服务器与手机的组合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911162636.5A CN110955536A (zh) | 2019-11-25 | 2019-11-25 | 用于连接ros的通讯系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911162636.5A CN110955536A (zh) | 2019-11-25 | 2019-11-25 | 用于连接ros的通讯系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110955536A true CN110955536A (zh) | 2020-04-03 |
Family
ID=69978355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911162636.5A Pending CN110955536A (zh) | 2019-11-25 | 2019-11-25 | 用于连接ros的通讯系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110955536A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111614741A (zh) * | 2020-05-11 | 2020-09-01 | 西北工业大学 | 一种基于ros系统的多机器人通讯方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176454A (zh) * | 2013-02-21 | 2013-06-26 | 深圳先进技术研究院 | 多机器人系统的集群方法和系统 |
US20160219089A1 (en) * | 2015-01-23 | 2016-07-28 | Ebay Inc. | Systems and methods for messaging and processing high volume data over networks |
CN107431664A (zh) * | 2015-01-23 | 2017-12-01 | 电子湾有限公司 | 处理大容量网络数据 |
WO2018160267A2 (en) * | 2017-02-16 | 2018-09-07 | Indiana University Research And Technology Corporation | Cloud based robotic control systems and methods |
CN108594670A (zh) * | 2018-01-10 | 2018-09-28 | 河海大学常州校区 | 一种机器人跨平台通信协议和控制方法 |
CN109826272A (zh) * | 2019-01-16 | 2019-05-31 | 大连理工大学 | 一种基于ros的智能矿用挖掘机系统 |
CN209149128U (zh) * | 2018-12-28 | 2019-07-23 | 上海机器人产业技术研究院有限公司 | 一种工业机器人数据自动化采集分析系统 |
CN209417574U (zh) * | 2019-04-02 | 2019-09-20 | 杭州安脉盛智能技术有限公司 | 工业机器人控制器数据智能采集系统 |
-
2019
- 2019-11-25 CN CN201911162636.5A patent/CN110955536A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176454A (zh) * | 2013-02-21 | 2013-06-26 | 深圳先进技术研究院 | 多机器人系统的集群方法和系统 |
US20160219089A1 (en) * | 2015-01-23 | 2016-07-28 | Ebay Inc. | Systems and methods for messaging and processing high volume data over networks |
CN107431664A (zh) * | 2015-01-23 | 2017-12-01 | 电子湾有限公司 | 处理大容量网络数据 |
WO2018160267A2 (en) * | 2017-02-16 | 2018-09-07 | Indiana University Research And Technology Corporation | Cloud based robotic control systems and methods |
CN108594670A (zh) * | 2018-01-10 | 2018-09-28 | 河海大学常州校区 | 一种机器人跨平台通信协议和控制方法 |
CN209149128U (zh) * | 2018-12-28 | 2019-07-23 | 上海机器人产业技术研究院有限公司 | 一种工业机器人数据自动化采集分析系统 |
CN109826272A (zh) * | 2019-01-16 | 2019-05-31 | 大连理工大学 | 一种基于ros的智能矿用挖掘机系统 |
CN209417574U (zh) * | 2019-04-02 | 2019-09-20 | 杭州安脉盛智能技术有限公司 | 工业机器人控制器数据智能采集系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111614741A (zh) * | 2020-05-11 | 2020-09-01 | 西北工业大学 | 一种基于ros系统的多机器人通讯方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102084625B (zh) | 用于将电气设备连接到网络上的通信模块以及方法 | |
CN101150451B (zh) | 一种网络设备单板状态监测系统及其监测方法 | |
CN102158482A (zh) | 基于json数据协议的客运信息通信方法及系统 | |
CN111464419B (zh) | 一种基于总线网络通信的数据传输控制方法 | |
CN110868278B (zh) | 一种轨道交通综合监控系统通信前置机双机冗余的方法 | |
CN1103955C (zh) | 处理打印数据的方法 | |
US20190296937A1 (en) | Central Data Store in Vehicle Electrical System | |
CN106656714A (zh) | 一种基于EtherCAT总线的通信协议方法及系统 | |
CN110290005A (zh) | 一种配置差异检测方法和装置 | |
CN112698939A (zh) | 一种atca架构核心网的操作维护方法及系统 | |
CN109861998A (zh) | 一种基于北斗短报文协议的插件式动态解析系统及方法 | |
CN110955536A (zh) | 用于连接ros的通讯系统 | |
KR20200030167A (ko) | 차량용 이더넷 제어기, 이를 포함하는 차량용 이더넷 네트워크 및 이를 이용한 can 통신 프로토콜과의 통신 방법 | |
CN101963933A (zh) | 仪器测试中适应多通信协议的仪器静态匹配方法 | |
CN105049239B (zh) | 接口连接关系的识别方法和系统 | |
CN100382513C (zh) | 通讯网络协议分析装置 | |
CN111367842A (zh) | 一种基于对象字典的多接口伺服驱动装置、方法及系统 | |
CN115550104A (zh) | Axi总线扩展方法、装置、电子设备及存储介质 | |
CN102739443B (zh) | Pon系统中olt通信模块及olt间通信实现方法 | |
US6115391A (en) | Method and apparatus for integrating multiple repeaters into a single collision domain | |
CN107306290A (zh) | 一种会话session共享方法及应用服务器 | |
CN102752806A (zh) | 一种准入控制方法及装置 | |
CN101699798A (zh) | 数据转发方法和业务单板 | |
CN106230989A (zh) | 将实时连续产生的定位数据同步到服务器的方法和系统 | |
CN112235411A (zh) | 基于ai的rpa流程控制端的服务器通信方法、装置、设备及介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200403 |
|
RJ01 | Rejection of invention patent application after publication |