System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及机器人,尤其涉及基于心跳并发机制的机器人通信方法、系统及介质。
技术介绍
1、当前环境下,巡逻机器人主要工作在环境较为恶劣的地方或者在大范围空旷需要执行重复性巡逻任务的场所。比如一些大型地下停车场,巡检机器人在停车场进行巡逻,若在机器人的巡逻路径之上,部分区域的网络状态较差时,容易导致机器人因为网络问题发生定位丢失。
2、对于特种巡检机器人,现有技术主要通过设计独有的通信协议来解决由于网络问题导致的定位失败。其中,专利号为cn201510991328.9提供的基于心跳协议的数据采集与监控系统的切换方法,提出了在scada系统中利用心跳协议进行网络监测的方法,从而完成相关的调控功能。
3、然而,在利用心跳协议进行网络监测,如果巡检机器人所处的状态只是网络不好,并不是完全断开时,该机制存在误判断为断开的可能性,无法解决因为网络延迟或者响应时间过长造成连接短暂中断而出现的问题,无法维持短暂中断时机器人和服务器之间的通信,容错性较低。
技术实现思路
1、本专利技术实施例提供了一种基于心跳并发机制的机器人通信方法、系统及介质,以解决现有技术因连接短暂中断产生的机器人和服务器之间的通信问题。
2、一种基于心跳并发机制的机器人通信方法,所述方法包括:
3、机器人在预设场所巡逻时,采集当前的位置信号;
4、机器人根据所述位置信息判断即将进入或已进入网络波动区域时,启动与服务器之间的通信监测程序;
5、在启动通信监
6、服务器接收所述心跳数据包,根据所述心跳数据包采用心跳并发机制进行通信,以对并发请求进行限流控制。
7、可选地,所述机器人根据所述位置信息判断即将进入或已进入网络波动区域时,启动与服务器之间的通信监测程序包括:
8、获取预先划分的网络波动区域的坐标信息集;
9、将所述位置信息与所述坐标信息集进行匹配;
10、当所述匹配结果满足预设条件时,则认为机器人即将进入或已进入网络波动区域时,启动与服务器之间的通信监测程序。
11、可选地,所述服务器接收所述心跳数据包,根据所述心跳数据包采用心跳并发机制进行通信包括:
12、当接收到心跳数据包时,将所述心跳数据包存入队列的尾部,并更新计数器的计数值;
13、按照预设的流出速率对队列中的心跳数据包进行处理。
14、可选地,所述将所述心跳数据包存入队列的尾部,并更新计数器的计数值包括:
15、判断队列中的心跳数据包的当前数量是否超过预设的漏桶容量;
16、若是,则丢弃所述心跳数据包,直至所述当前数量小于预设的漏桶容量;
17、若否,则将接收到的心跳数据包存入队列的尾部,并更新计数器的计数值。
18、可选地,所述按照预设的流出速率对队列中的心跳数据包进行处理包括:
19、按照预设的时间间隔触发处理任务;
20、从队列头部取出预设数量的心跳数据包进行处理,并更新计数器的计数值。
21、可选地,所述从队列头部取出预设数量的心跳数据包进行处理包括:
22、初始化所述时间间隔对应的心跳数据包处理结果集,所述心跳数据包处理结果集包括已处理心跳数据包的相关性标识符和响应结果;
23、对于每一个心跳数据包,获取所述心跳数据包对应的相关性标识符;
24、将所述相关性标识符与所述心跳数据包处理结果集中的相关性标识符进行匹配;
25、若所述相关性标识符与所述心跳数据包处理结果集中的相关性标识符一致,则对所述相关性标识符的响应次数加1;
26、若所述相关性标识符不存在于所述心跳数据包处理结果集中,则将所述相关性标识符存入心跳数据包处理结果集,并初始化所述相关性标识符对应的响应次数为1。
27、可选地,所述当接收到心跳数据包时,将所述心跳数据包存入队列的尾部之前,还包括:
28、获取心跳数据包的相关性标识符;
29、将所述相关性标识符与心跳数据包处理结果集进行匹配;
30、若所述相关性标识符与所述心跳数据包处理结果集中的一个相关性标识符相同,则获取所述相关性标识符对应的响应次数;
31、若所述响应次数达到预设的次数阈值时,获取所述心跳数据包的响应结果进行返回,不对所述心跳数据包进行入队操作。
32、一种基于心跳并发机制的机器人通信系统,所述系统包括至少一个机器人和服务器;
33、所述机器人用于在预设场所巡逻时,采集当前的位置信号;根据所述位置信息判断即将进入或已进入网络波动区域时,启动与服务器之间的通信监测程序;在启动通信监测程序后,向服务器发送心跳数据包;
34、所述服务器用于接收所述心跳数据包,根据所述心跳数据包采用心跳并发机制进行通信,以对并发请求进行限流控制。
35、可选地,所述服务器包括:
36、接收模块,用于当接收到心跳数据包时,将所述心跳数据包存入队列的尾部,并更新计数器的计数值;
37、处理模块,用于按照预设的流出速率对队列中的心跳数据包进行处理。
38、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于心跳并发机制的机器人通信方法中机器人或服务器的功能。
39、本专利技术实施例通过机器人在预设场所巡逻时,采集当前的位置信号;由机器人根据所述位置信息判断即将进入或已进入网络波动区域时,启动与服务器之间的通信监测程序;在启动通信监测程序后,机器人向服务器发送心跳数据包;服务器接收所述心跳数据包,根据所述心跳数据包采用心跳并发机制进行通信,以对并发请求进行限流控制,从而解决了因连接短暂中断产生的机器人和服务器之间的通信问题,能够维持机器人在恶劣环境中与服务器的通信,加大了机器人在网络欠佳情况下的容错能力,且提高了通信的可靠性以及服务器对信息处理的效率。
本文档来自技高网...【技术保护点】
1.一种基于心跳并发机制的机器人通信方法,其特征在于,包括:
2.如权利要求1所述的基于心跳并发机制的机器人通信方法,其特征在于,所述机器人根据所述位置信息判断即将进入或已进入网络波动区域时,启动与服务器之间的通信监测程序包括:
3.如权利要求1所述的基于心跳并发机制的机器人通信方法,其特征在于,所述服务器接收所述心跳数据包,根据所述心跳数据包采用心跳并发机制进行通信包括:
4.如权利要求3所述的基于心跳并发机制的机器人通信方法,其特征在于,所述将所述心跳数据包存入队列的尾部,并更新计数器的计数值包括:
5.如权利要求3所述的基于心跳并发机制的机器人通信方法,其特征在于,所述按照预设的流出速率对队列中的心跳数据包进行处理包括:
6.如权利要求5所述的基于心跳并发机制的机器人通信方法,其特征在于,所述从队列头部取出预设数量的心跳数据包进行处理包括:
7.如权利要求6所述的基于心跳并发机制的机器人通信方法,其特征在于,所述当接收到心跳数据包时,将所述心跳数据包存入队列的尾部之前,还包括:
8.一种基于
9.如权利要求8所述的基于心跳并发机制的机器人通信系统,其特征在于,所述服务器包括:
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于心跳并发机制的机器人通信方法中机器人或服务器的功能。
...【技术特征摘要】
1.一种基于心跳并发机制的机器人通信方法,其特征在于,包括:
2.如权利要求1所述的基于心跳并发机制的机器人通信方法,其特征在于,所述机器人根据所述位置信息判断即将进入或已进入网络波动区域时,启动与服务器之间的通信监测程序包括:
3.如权利要求1所述的基于心跳并发机制的机器人通信方法,其特征在于,所述服务器接收所述心跳数据包,根据所述心跳数据包采用心跳并发机制进行通信包括:
4.如权利要求3所述的基于心跳并发机制的机器人通信方法,其特征在于,所述将所述心跳数据包存入队列的尾部,并更新计数器的计数值包括:
5.如权利要求3所述的基于心跳并发机制的机器人通信方法,其特征在于,所述按照预设的流出速率对队列中的心跳数据包进行处理包括:
<...【专利技术属性】
技术研发人员:钟旭,柏林,刘彪,舒海燕,袁添厦,祝涛剑,沈创芸,王恒华,方映峰,
申请(专利权)人:广州高新兴机器人有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。