一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

消息的传输方法、装置、机器人以及存储介质与流程

2022-08-17 05:38:11 来源:中国专利 TAG:


1.本发明涉及无线通信领域,尤其涉及一种消息的传输方法、装置、机器人以及存储介质。


背景技术:

2.近年来,随着人工智能以及智能设备的发展,机器人在各个领域中广泛应用,在多台地面同时执行任务的机器人有时候需要相互进行通信,以实现数据消息的交互。
3.现有技术中,机器人之间可以通过下面的方式进行通信:第一种方式,每个机器人通过与无线路由器建立连接进行组网,在需要传输消息时通过无线路由器实现;第二种方式,每个机器人与云端管理后台建立连接进行组网,机器人在需要通信时,通过云端管理后台进行消息转发。
4.然后,上述的几种方式的方案,机器人之间的通信严重依赖环境网络,在环境网络中断或者信号较差时,导致机器人之间不能进行消息传输,或者传输时延过长的问题。


技术实现要素:

5.本发明实施例提供一种消息的传输方法、装置、机器人以及存储介质,用于解决现有技术中机器人之间的通信严重依赖环境网络,在环境网络中断或者信号较差时,导致机器人之间不能进行消息传输,或者传输时延过长的问题。
6.第一方面,本发明实施例提供一种消息的传输方法,应用于机器人,所述方法包括:
7.获取待传输的消息以及与所述机器人建立点对点通信连接的机器人列表;
8.根据所述机器人列表中每个目标机器人的标识,将所述消息通过点对点通信发送给所述机器人列表中的目标机器人。
9.在一种具体的实现方式中,所述机器人与所述机器人列表中的每个目标机器人的通信模式,服务集标识,无线信道以及无线密码相同。
10.在一种具体的实现方式中,所述方法还包括:
11.针对所述机器人列表中的每个目标机器人,根据所述目标机器人的dds心跳信号,确定所述目标机器人与所述机器人之间的距离是否超出预设的点对点通信距离;
12.若所述目标机器人与所述机器人之间的距离超出所述点对点通信距离,则断开与所述目标机器人的连接,并在所述机器人列表中将所述目标机器人标记为断开状态。
13.在一种具体的实现方式中,所述获取待传输消息以及与所述机器人建立点对点通信连接的机器人列表之前,所述方法还包括:
14.在检测到其他机器人的dds心跳信号之后,根据服务集标识以及静态ip地址与所述其他机器人建立点对点通信连接,并将所述其他机器人加入机器人列表中作为目标机器人。
15.在一种具体的实现方式中,所述方法还包括:
16.获取所述机器人的订阅信息,所述订阅信息中包括预先订阅的主题类型;
17.根据所述订阅消息接收与所述机器人建立点对点通信的目标机器人发送的消息。
18.在一种具体的实现方式中,所述根据所述订阅消息接收与所述机器人建立点对点通信的目标机器人发送的消息,包括:
19.若与所述机器人建立点对点通信的目标机器人发送的消息的主题类型与所述订阅信息中的主题类型一致,则接收所述其他机器人发送的所述消息。
20.第二方面,本发明实施例提供一种消息的传输装置,包括:
21.处理模块,用于获取待传输的消息以及与所述消息的传输装置建立点对点通信连接的机器人列表;
22.通信模块,用于根据所述机器人列表中每个目标机器人的标识,将所述消息通过点对点通信发送给所述机器人列表中的目标机器人。
23.在一种具体的实现方式中,所述消息的传输装置与所述机器人列表中的每个目标机器人的通信模式,服务集标识,无线信道以及无线密码相同。
24.在一种具体的实现方式中,所述处理模块还用于:
25.所述针对所述机器人列表中的每个目标机器人,根据所述目标机器人的dds心跳信号,确定所述目标机器人与所述机器人之间的距离是否超出预设的点对点通信距离;
26.所述通信模块还用于若所述目标机器人与所述机器人之间的距离超出所述点对点通信距离,则断开与所述目标机器人的连接;
27.所述处理模块还用于在所述机器人列表中将所述目标机器人标记为断开状态。
28.在一种具体的实现方式中,所述装置还包括:
29.检测模块,用于实时检测dds心跳信号;
30.所述通信模块还用于在检测到其他机器人的dds心跳信号之后,根据服务集标识以及静态ip地址与所述其他机器人建立点对点通信连接,并将所述其他机器人加入机器人列表中作为目标机器人。
31.在一种具体的实现方式中,所述处理模块还用于获取所述机器人的订阅信息,所述订阅信息中包括预先订阅的主题类型;
32.所述通信模块还用于根据所述订阅消息接收与所述机器人建立点对点通信的目标机器人发送的消息。
33.在一种具体的实现方式中,所述通信模块具体用于:
34.若与所述机器人建立点对点通信的目标机器人发送的消息的主题类型与所述订阅信息中的主题类型一致,则接收所述其他机器人发送的所述消息。
35.第三方面,本发明实施例提供一种机器人,包括:
36.处理器,存储器,以及通信装置;
37.所述存储器用于存储所述处理器的可执行指令;
38.其中,所述处理器配置为经由执行所述可执行指令来执行第一方面任一项所述的消息的传输方法。
39.第四方面,本发明实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述的消息的传输方法。
40.第五方面,本发明实施例提供一种计算机程序产品,包括计算机程序,所述计算机
程序被处理器执行时用于实现第一方面任一项所述的消息的传输方法。
41.本发明实施例提供的消息的传输方法、装置、机器人以及存储介质,机器人与机器人之间建立点对点通信连接,在需要发送消息的时候,将消息向处于连接状态的所有其他机器人进行组播发送,接收端的机器人可以根据自己订阅的主题类型对消息进行接收,这种消息的传输方式不需要依赖于环境中的网络情况,在没有网络的情况下也可以通过点对点实现通信,保证消息有效的传输,并且不需要中转设备,可有效减小传输时延。
附图说明
42.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
43.图1为本发明提供的消息的传输方法的场景示意图;
44.图2为本发明提供的消息的传输方法实施例一的流程图;
45.图3为本发明提供的消息的传输方法实施例二的流程图;
46.图4是本发明提供的消息的传输装置实施例一的结构示意图;
47.图5是本发明提供的消息的传输装置实施例二的结构示意图;
48.图6为本发明提供的一种机器人实施例的结构示意图。
具体实施方式
49.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在根据本实施例的启示下作出的所有其他实施例,都属于本发明保护的范围。
50.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
51.基于背景技术中的方案可知,目前的机器人之间的通信方式,通过路由器或者云端后台进行消息转发,机器人连接无线路由器进行通信,对网络环境依赖严重;而由云端后台进行消息转发来实现机器人间的通信,通信延迟较大。另外,通过云端后台转发,对于机器人间直接通信而言增加了没有必要的环节且通信不够灵活。
52.针对上述存在的问题,本发明提供一种通过点对点通信,实现机器人之间的消息传输的技术方案,机器人之间直接进行通信,不需要依赖网络无线接入点,或者路由器等建立网络连接,且不需要云端服务、
53.针对上述问题,发明人在研究机器人之间的通信时发现,大多数的需要通信的机
器人均处于距离较近的场合,例如在场馆内,机场,商场或者一栋楼等这种不需要远程进行通信的场合,考虑可以通过无线网卡的ad-hoc技术组网,无线网卡之间可以直接建立通信连接进行通信,符合机器人之间的直接通信的需求,不需要其他网络设备进行协助。并且机器人之间建立网络连接之后,与传统的客户端服务器架构不同,机器人之间的通信是对等的,所以需要一种无中心的通信方式,用于实现机器人之间的相互通信,基于此,发明人发现可以通过分布式实时数据分发服务(data distribution service,dds)中间件实现。
54.图1为本发明提供的消息的传输方法的场景示意图,如图1所示,该消息的传输场景中可以包括多个机器人,图中以3个机器人的场景为例,在机器人之间的距离在点对点通信距离范围内,则机器人之间可以两两建立点对点通信。
55.在该场景中的每个机器人在出厂时需要进行无线网卡的配置,即需要将通信模式配置为点对点通信(ad-hoc),并且这些机器人需要配置相同的服务集标识(service set identifier,ssid),相同的无线信道和相同的无线密码。
56.同时,要建立通信的每台机器人设置有同一网段的不同的静态网际互联协议(internet protocol,ip)地址,该ip地址用于在建立连接之后发送消息。
57.在完成了上述配置之后,机器人在移动过程中,行驶到了有效通信距离的范围内,则可自动建立网络连接,在机器人之间的距离超过有效通信距离后,断开网络连接。
58.在一种具体实施方式中,每个机器人中运行一个dds节点,节点的名称各不相同,可以作为机器人唯一的编号标识,dds的心跳可以用于发现附近的机器人,或者确认机器人之间的距离是否已经超出了有效通信距离。
59.在本方案中,该机器人可以是运送机器人、客服机器人、机房巡检机器人等等智能机器人,对此本方案不做限制。
60.图2为本发明提供的消息的传输方法实施例一的流程图,如图2所示,在上述包括多个可以点对点通信的机器人的场景中,每个机器人既可以作为发送端机器人,也可以作为接收端机器人,该消息的传输方法具体包括以下步骤:
61.发送端的机器人:
62.s101:获取待传输的消息以及与机器人建立点对点通信连接的机器人列表。
63.在本步骤中,发送端的机器人根据用户的操作或者预先配置规则,或者在其他满足消息传输条件时候,需要向其他的机器人传输消息时,首先生成待传输的消息。并且,发送端的机器人还需要接收端的机器人列表,也就是多个接收该消息的目标机器人。
64.在该方案中,该机器人列表中可以包括至少一个目标机器人,该目标机器人与当前作为发送端的机器人建立了点对点通信连接,且目前是连接状态。
65.在一种具体实施方式中,发送端机器人在获取机器人列表之前,首先机器人之间需要建立点对点通信连接,针对任意的两个机器人,在检测到其他机器人的dds心跳信号之后,根据服务集标识以及静态ip地址与所述其他机器人建立点对点通信连接,并将其他机器人加入机器人列表中作为目标机器人。也就是说,在每个机器人的本地,都维护这一个机器人列表,该机器人列表中包括一个或者一个以上的与当前机器人建立了点对点通信的机器人的标识,该标识可以是该机器人的任一唯一标识,例如,每个机器人中的dds节点名称,对此本方案不做限制。
66.该方案中,应理解,能够建立本方案中的点对点通信连接的多个机器人的通信模
式,服务集标识,无线信道以及无线密码均是相同的,且该通信模式均为ad-hoc。也就是说当前作为发送端的机器人和机器人列表中的每个机器人的通信模式均为点对点通信模式,且都设置了相同的服务集标识,相同的无线信道,和相同的无线密码。
67.在该方案的具体实现中,为了能够实现机器人之间的通信连接建立,需要预先为每台机器人设置在同一网络频段的不同的静态ip地址,该静态ip地址用于在建立通信连接以及消息的传输过程中区别不同的机器人。
68.在完成了上述配置之后,当任意两台机器人行驶到有效通信距离内(例如:可以设置为10米-50米,或者到100米的范围),会自动建立点对点通信连接,且在每个机器人本地维护连接的其他机器人的列表。
69.s102:根据机器人列表中每个目标机器人的标识,将消息通过点对点通信发送给机器人列表中的目标机器人。
70.在本步骤中,作为发送端的机器人在获取到机器人列表之后,根据机器人列表中每个目标机器人的标识,将消息分别发送给目前与当前机器人在连接状态的所有的目标机器人,该过程实际上是一个组播过程,可以基于不同的目标机器人不同的静态ip实现组播。
71.接收端的机器人:
72.s103:获取机器人的订阅信息。
73.在本步骤中,对于接收端的机器人来说,接收端的机器人可以接收到连接的任何机器人发送的消息,对于同一个机器人来说,如果同时和两个或者两个以上的其他机器人建立了点对点通信连接,那么该两个或者两个以上的其他机器人发送的组播消息该机器人均能够收到,在收到之后可以基于发端的静态ip地址确定是哪台机器人发送的消息。
74.在一种具体实现方式中,对于接收端的机器人来说,并不是所有的消息都是需要的,实际需要的消息类型根据应用场合可人工进行配置,也就说用户可以根据消息配置每台机器人需要的消息的类型。
75.即对于机器人来说,可以根据用户的操作对接收的消息进行订阅,生成订阅信息在本地进行存储。该订阅信息中包括预先订阅的主题类型,例如:任务信息,电量信息等类型,对此本方案不做限制。
76.s104:根据订阅消息接收与机器人建立点对点通信的目标机器人发送的消息。
77.在本步骤中,接收端的机器人在确定了订阅信息之后,根据订阅信息中当前订阅的消息的主题类型,接收其他机器人发送的消息。
78.具体的,若该接收端的机器人建立点对点通信的目标机器人发送的消息的主题类型与所述订阅信息中的主题类型一致,则接收所述其他机器人发送的所述消息。
79.也就是说,接收端的机器人在获取到订阅消息的主题类型之后,只有在发送端发送的消息的主题类型与本机器人订阅的主题类型一致的时候,才进行消息接收,否则不进行消息接收。
80.在该方案中,机器人可以创建和订阅通信消息的主题类型,机器人发送的消息具有主题类型,订阅了该主题类型的消息的其他机器人则可以收到该主题类型的消息。
81.在一种具体实现中,机器人可以自定义主题消息的格式,例如:消息中可以包括消息接收方,消息发送方,消息主题内容,或者还可以包括主题类型。对于接收端的机器人来说,则可以根据主题类型判断是否接收该消息,并在接收后进行后续处理。
82.本实施例提供的消息的传输方法,机器人与机器人之间建立点对点通信连接,在需要发送消息的时候,将消息向处于连接状态的所有其他机器人进行组播发送,接收端的机器人可以根据自己订阅的主题类型对消息进行接收,这种消息的传输方式不需要依赖于环境中的网络情况,在没有网络的情况下也可以通过点对点实现通信,保证消息有效的传输,并且不需要中转设备,可有效减小传输时延。
83.图3为本发明提供的消息的传输方法实施例二的流程图,如图3所示,在上述实施例的基础上,该消息的传输方法还包括以下步骤:
84.s201:针对机器人列表中的每个目标机器人,根据目标机器人的dds心跳信号,确定目标机器人与机器人之间的距离是否超出预设的点对点通信距离。
85.s202:若目标机器人与机器人之间的距离超出点对点通信距离,则断开与目标机器人的连接,并在机器人列表中将目标机器人标记为断开状态。
86.在上述两个步骤中,两个独立的机器人在未建立通信连接之前,互相无法知晓对方,因此要建立通信首先需要一定的发现机制。在本方案中,该发现机制通过在每个机器人中设置dds节点实现。
87.该dds节点可以以一定的间隔周期性的发送心跳信号,对于任意一个机器人来说,若接收到其他机器人发送的心跳信号,则确定发现存在其他的可通信的机器人,则可以继续完成通信连接的建立。相应的,在检测不到心跳信号,或者通过心跳信号确定距离已经超过了可以进行点对点通信的有效距离之外,则断开与该机器人的连接。同时可以在本地维持的机器人列表中,将断开了连接的机器人设置为断开状态,后续发送消息时不能够再发送给该断开状态的机器人。
88.在该方案的具体实现中,根据dds心跳信号确定机器人之间距离的方式至少有以下两种:
89.第一,若能够检测到其他机器人的dds心跳信号,则确定该机器人在与本机器人的有效通信距离范围内,若检测不到其他机器人的dds心跳信号,则断开连接。
90.第二,在检测到其他机器人的dds心跳信号之后,根据dds心跳信号计算当前机器人与该机器人之间的距离,然后根据该距离与预设的有效通信距离之间进行比较,若该距离小于有效通信距离,则与该机器人建立点对点通信连接或者保持点对点通信连接,若该距离大于有效通信距离,则断开与该机器人之间的连接。
91.本实施例提供的消息的传输方法,通过检测dds心跳信号的方式,建立机器人之间的点对点通信,并依据同样的方式确定是否继续连接,在通过dds心跳信号检测到与机器人之间的距离超出了有效通信距离之后断开连接,通过这种方式可以在机器人之间实现务中心的对等消息传输,该传输方式不需要依赖于当前的网络环境,不需要路由器,服务器等中间设备的转发,有效提高了传输的效率和可靠性。
92.图4是本发明提供的消息的传输装置实施例一的结构示意图;如图4所示,该消息的传输装置10包括:
93.处理模块11,用于获取待传输的消息以及与所述消息的传输装置建立点对点通信连接的机器人列表;
94.通信模块12,用于根据所述机器人列表中每个目标机器人的标识,将所述消息通过点对点通信发送给所述机器人列表中的目标机器人。
95.在一种具体的实施方式中,所述消息的传输装置10与所述机器人列表中的每个目标机器人的通信模式,服务集标识,无线信道以及无线密码相同。
96.在一种具体的实施方式中,所述处理模块11还用于:
97.所述针对所述机器人列表中的每个目标机器人,根据所述目标机器人的dds心跳信号,确定所述目标机器人与所述机器人之间的距离是否超出预设的点对点通信距离;
98.所述通信模块12还用于若所述目标机器人与所述机器人之间的距离超出所述点对点通信距离,则断开与所述目标机器人的连接;
99.所述处理模块11还用于在所述机器人列表中将所述目标机器人标记为断开状态。
100.上述任一实施例提供的消息的传输装置用于执行前述任一方法实施例中的机器人的方案,其实现原理和技术效果类似,通过不同的消息传输装置之间建立点对点通信连接,在需要发送消息的时候,将消息向处于连接状态的所有其他装置进行组播发送,接收端的装置可以根据自己订阅的主题类型对消息进行接收,这种消息的传输方式不需要依赖于环境中的网络情况,在没有网络的情况下也可以通过点对点实现通信,保证消息有效的传输,并且不需要中转设备,可有效减小传输时延。
101.图5是本发明提供的消息的传输装置实施例二的结构示意图;如图5所示,在上述实施例的基础上,该消息的传输装置10还包括:
102.检测模块13,用于实时检测dds心跳信号;
103.所述通信模块12还用于在检测到其他机器人的dds心跳信号之后,根据服务集标识以及静态ip地址与所述其他机器人建立点对点通信连接,并将所述其他机器人加入机器人列表中作为目标机器人。
104.在一种具体的实施方式中,所述处理模块11还用于获取所述机器人的订阅信息,所述订阅信息中包括预先订阅的主题类型;
105.所述通信模块12还用于根据所述订阅消息接收与所述机器人建立点对点通信的目标机器人发送的消息。
106.在一种具体的实施方式中,所述通信模块12具体用于:
107.若与所述机器人建立点对点通信的目标机器人发送的消息的主题类型与所述订阅信息中的主题类型一致,则接收所述其他机器人发送的所述消息。
108.上述任一实施例提供的消息的传输装置,用于执行前述任一方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
109.图6为本发明提供的一种机器人实施例的结构示意图。如图6所示,该机器人20包括:
110.处理器21,存储器22,以及通信装置23;
111.所述存储器22用于存储所述处理器21的可执行指令;
112.其中,所述处理器21配置为经由执行所述可执行指令来执行前述任一方法实施例中的消息的传输方法。
113.可选地,存储器22既可以是独立的,也可以跟处理器21集成在一起。
114.当所述存储器22是独立于处理器21之外的器件时,所述机器人还可以包括:
115.总线24,用于将上述器件连接起来。
116.该机器人用于执行前述任一方法实施例提供的消息的传输方法,其实现原理和技
术效果类似,在此不再赘述。
117.本发明实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一实施例提供的消息的传输方法。
118.本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现前述任一方法实施例提供的消息的传输方法。
119.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
120.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献