掌桥专利:专业的专利平台
掌桥专利
首页

轨迹数据传输方法、扫地机、设备及存储介质

文献发布时间:2024-01-17 01:19:37


轨迹数据传输方法、扫地机、设备及存储介质

技术领域

本申请属于家电技术领域,具体地,涉及一种轨迹数据传输方法、扫地机、智能设备及存储介质。

背景技术

随着物联网平台的兴起,智能家电运行时,例如扫地机器人需要基于互联网平台进行清洁地图数据的传输和绘制。对于轨迹和地图的传输,目前主要有两种方案:第一是轨迹和地图的增量数据传输;第二是每次都传输当前轨迹和地图的全量数据。前者的数据传输方案需要的数据量最小,但是会出现其中某一轨迹的增量包丢失后,导致后续轨迹地图数据无法解析展示的问题,或者在丢包后通过重传的机制解决这个问题,但是也降低了传输速度和效率。后者的全量轨迹地图数据传输方案,虽然不会出现因为某个增量包丢失而导致解析异常的问题,但由于每次都是全量传输会导致数据量增加,传输效率低的问题。

发明内容

本发明提出了一种轨迹数据传输方法、系统、装置及存储介质,至少在一定程度上解决上述技术问题中的技术问题之一。

根据本申请实施例的第一个方面,提供了一种轨迹数据传输方法,应用于发送端,包括以下步骤:

根据全量轨迹数据以及当前轨迹数据得到当前增量数据包;

根据当前增量数据包得到当前冗余包;

将当前增量数据包以及当前冗余包发送给客户端。

在本申请一些实施方式中,根据当前增量数据包得到当前冗余包,具体包括:

将当前增量数据包的多个增量数据包的二进制数据,进行异或叠加运算,得到当前冗余包的二进制数据。

在本申请一些实施方式中,根据全量轨迹数据以及当前轨迹数据得到当前增量数据包之前,还包括:

获取全量轨迹数据;

根据全量轨迹数据得到全量关键帧,并发送给客户端。

在本申请一些实施方式中,根据全量轨迹数据以及当前轨迹数据得到当前增量数据包,具体包括:根据全量关键帧以及当前轨迹数据得到当前增量数据包。

根据本申请实施例的第二个方面,提供了一种轨迹数据传输方法,应用于接收端,具体包括以下步骤:

接收扫地机发送的当前增量数据包以及当前冗余包;

判断当前增量数据包是否丢失增量包;

若是,则根据当前冗余包计算得到丢失的增量包。

在本申请一些实施方式中,判断当前增量数据包是否丢失增量包,具体包括:

判断当前增量数据包是否丢失一个增量包;

若是,则将当前冗余包的二进制数据以及当前增量数据包的多个增量数据包的二进制数据,进行异或叠加运算,得到丢失的增量包的二进制数据。

根据本申请实施例的第三个方面,提供了一种扫地机,具体包括:

轨迹增量数据模块:用于根据全量轨迹数据以及当前轨迹数据得到当前增量数据包;

冗余包模块:用于根据当前增量数据包得到当前冗余包;

数据传输模块:用于将当前增量数据包以及当前冗余包发送给客户端。

根据本申请实施例的第四个方面,提供了一种客户端,具体包括:

数据接收模块:用于接收扫地机发送的当前增量数据包以及当前冗余包;

丢失判断模块:用于判断当前增量数据包是否丢失增量包;

丢失增量包找回模块:用于在丢失增量包时,根据当前冗余包计算得到丢失的增量包。

根据本申请实施例的第四个方面,提供了一种轨迹数据传输设备,包括:存储器:用于存储可执行指令;以及处理器:用于与存储器连接以执行可执行指令从而完成轨迹数据传输方法。

根据本申请实施例的第五个方面,提供了一种计算机可读存储介质,其上存储有计算机程序;计算机程序被处理器执行以实现轨迹数据传输方法。

本申请实施例中的轨迹数据传输方法、系统、装置及存储介质,应用于发送端包括以下步骤:根据全量轨迹数据以及当前轨迹数据得到当前增量数据包;根据当前增量数据包得到当前冗余包;将当前增量数据包以及当前冗余包发送给客户端。本申请在进行轨迹和地图增量传输时,同时将增量数据包对应的冗余包一起发送出去,若发现数据包丢包,可根据冗余包计算得到丢失的数据包,不需要重新重传数据包,大大减少了数据阻塞问题以及传输效率低的问题。因此,本申请一定程度上减少了传输过程中丢包重传的问题,提高了网络传输效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1中示出了根据本申请轨迹数据传输方法的原理示意图;

图2中示出了根据本申请实施例应用于发送端的轨迹数据传输方法的步骤流程图;

图3中示出了根据本申请实施例应用于发送端的另一种轨迹数据传输方法的步骤流程图;

图4中示出了根据本申请实施例应用于接收端的轨迹数据传输方法的步骤流程图;

图5示出了根据本申请实施例的扫地机的结构示意图;

图6示出了根据本申请实施例的客户端的结构示意图;

图7中示出了根据本申请实施例的轨迹数据传输设备结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

在实现本申请的过程中,发明人在发现在扫地机器人等机器设备进行轨迹和地图的传输时,若采用轨迹和地图的增量数据传输的方案,虽然需要的数据量最小,但会出现其中某一轨迹的增量包丢失后,导致后续轨迹地图数据无法解析展示的问题,或者在丢包后通过重传的机制解决这个问题,但是也降低了传输速度和效率。若采用全量轨迹地图数据传输方案,虽然不会出现因为某个增量包丢失而导致解析异常的问题,但由于每次都是全量传输会导致数据量增加,会出现传输效率低的问题。

综上可知,全量传输方案会导致传输数据量大的问题,增量传输的方案,减少了大量的传输数据,却对网络传输的稳定性要求很高,虽然能通过丢包重传的机制提高网络稳定性,但重传的机制必然会阻塞后续包的传输,在网络不稳定的情况下,导致传输效率的明显降低。

因此,针对丢包重传引起的效率降低,本申请提出了利用校验算法的方式,在不发生重传的情况下,数据接收端自主恢复丢失数据的方案。避免丢包重传的发生,并提高网络不稳定情况下网络传输效率。

具体的,本申请采用轨迹和地图的增量数据传输的方案,在传输的增量数据包时,同时传输增量数据包的冗余包,若发现数据包丢包,可根据冗余包计算得到丢失的数据包,不需要重新重传数据包,大大减少了数据阻塞问题以及传输效率低的问题。

同时,利用校验算法可通过增加冗余包的方式,使接收端在丢失部分数据的情况下,基于数学运算恢复完整数据。

优选地,本申请在轨迹数据传输时,在部分采用全量轨迹地图数据传输方案基础上,采用轨迹和地图的增量数据传输的方案,可在传输实时的增量数据包时,同时传输增量数据包的冗余包,若发现数据包丢包,可根据冗余包计算得到丢失的数据包。兼具了数据传输准确性以及传输效率;在保证数据传输效率基础上,减少了增量包丢失造成的解析异常和数据不准确的问题。

本申请在轨迹数据传输时利用校验算法优化轨迹或地图网络增量数据,一定程度上减少了传输过程中丢包重传的问题,提高了网络传输效率。

为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

实施例1

图1中示出了根据本申请轨迹数据传输方法的原理示意图。

如图1所示,扫地机作为发送端,在扫地机运行期间需要不间断将轨迹传输至接收端的客户端,扫地机清扫时,传输轨迹大致分为如下几个步骤:

步骤1:扫地机清扫启动后,将全量的轨迹数据的全量关键帧发送至接收者。后续的增量数据包基于最初的全量关键帧的增量数据进行计算得到。

步骤2:扫地机运行时,通过计时器定时不间断的获取扫地机当前的轨迹数据,基于全量关键帧以及当前的轨迹数据计算出增量数据包,并发送增量数据包至接收者。

步骤3:增量数据包发送同时,或者发送完成后,发送当前所有增量数据包对应的一个冗余包。

接收者的客户端可通过这个冗余包,计算出增量数据包丢失的单个数据包,恢复完整的轨迹数据。

具体实施时,扫地机在清扫过程中通过发送:全量轨迹数据的全量关键帧、N个增量数据包以及1个冗余包的形式,实现传输轨迹地图数据。其中,每增加N个增量数据包增加一个冗余包。

冗余包的计算公式具体为:

P=D1 xor D2 xor D3····xor D(n);

其中,D1、D2、D3…(n)为N个增量数据包的二进制数据,P为冗余包的二进制数据。通过冗余包的计算公式将当前增量数据包的多个增量数据包的二进制数据,进行异或叠加运算,得到当前冗余包的二进制数据。

相应的,接收者收到增量数据包后,判断数据包的数量,如果丢失了一个增量包,通过数学运算恢复丢失的数据。

假设丢失了增量数据包D(n),则增量数据包D(n)的计算公式为:

D(n)=P xor D1 xor D2 xor D3····xor D(n-1)。

通过增量数据包D(n)的计算公式将当前冗余包的二进制数据以及当前增量数据包的多个增量数据包的二进制数据,进行异或叠加运算,得到丢失的增量包的二进制数据。

最后,通过利用校验算法,二进制数据异或叠加得到增加的冗余包,避免了网络不稳定时增量数据包丢包重传。可以显著提高轨迹和地图在弱网环境下的展示效果。

最后,通过方案一循环以上步骤1、2和3,扫地机将运行期间的轨迹数据传输至接收端的客户端。或者,通过方案二循环以上步骤2和3,将运行期间的轨迹数据传输至接收端的客户端。

方案一采用轨迹和地图的增量数据传输的方案,在传输的增量数据包时,同时传输增量数据包的冗余包,若发现数据包丢包,可根据冗余包计算得到丢失的数据包,不需要重新重传数据包,大大减少了数据阻塞问题以及传输效率低的问题。

方案二在部分采用全量轨迹地图数据传输方案基础上,采用轨迹和地图的增量数据传输的方案,可在传输实时的增量数据包时,同时传输增量数据包的冗余包,若发现数据包丢包,可根据冗余包计算得到丢失的数据包。兼具了数据传输准确性以及传输效率;在保证数据传输效率基础上,减少了增量包丢失造成的解析异常和数据不准确的问题。

图2中示出了根据本申请实施例的一种轨迹数据传输方法的步骤流程图。

如图2所示,本实施例的轨迹数据传输方法,应用于扫地机,包括以下步骤:

步骤101:根据全量轨迹数据以及当前轨迹数据得到当前增量数据包。

步骤102:根据当前增量数据包得到当前冗余包。

具体包括:将当前增量数据包的多个增量数据包的二进制数据,进行异或叠加运算,得到当前冗余包的二进制数据。

步骤103:将当前增量数据包以及当前冗余包发送给客户端。

最后循环以上步骤101-103,扫地机将运行期间的轨迹数据传输至接收端的客户端。实现了在传输增量数据包时,同时传输增量数据包的冗余包,若发现数据包丢包,可根据冗余包计算得到丢失的数据包,不需要重新重传数据包,大大减少了数据阻塞问题以及传输效率低的问题。

图3中示出了根据本申请实施例的另一种轨迹数据传输方法的步骤流程图。

如图3所示,优选方案中,根据全量轨迹数据以及当前轨迹数据得到当前增量数据包之前,还包括:

步骤104:获取全量轨迹数据;

步骤105:根据全量轨迹数据得到全量关键帧,并发送给客户端。

此时,根据全量轨迹数据以及当前轨迹数据得到当前增量数据包,具体包括:根据全量关键帧以及当前轨迹数据得到当前增量数据包。

最后循环以上步骤101-105,扫地机将运行期间的轨迹数据传输至接收端的客户端。实现了采用轨迹和地图的增量数据传输的方案,可在传输的增量数据包时,同时传输增量数据包的冗余包,若发现数据包丢包,可根据冗余包计算得到丢失的数据包。兼具了数据传输准确性以及传输效率;在保证数据传输效率基础上,减少了增量包丢失造成的解析异常和数据不准确的问题。

采用本申请实施例中的轨迹数据传输方法,应用于发送端包括以下步骤:根据全量轨迹数据以及当前轨迹数据得到当前增量数据包;根据当前增量数据包得到当前冗余包;将当前增量数据包以及当前冗余包发送给客户端。本申请在进行轨迹和地图增量传输时,同时将增量数据包对应的冗余包一起发送出去,若发现数据包丢包,可根据冗余包计算得到丢失的数据包,不需要重新重传数据包,大大减少了数据阻塞问题以及传输效率低的问题。因此,本申请一定程度上减少了传输过程中丢包重传的问题,提高了网络传输效率。

实施例2

本实施例2提供了一种轨迹数据传输方法,对于本实施例的轨迹数据传输方法中未披露的细节,请参照实施例1中的轨迹数据传输方法的具体实施内容。

图4中示出了根据本申请实施例应用于接收端的轨迹数据传输方法的步骤流程图。

如图4所示,提供了一种轨迹数据传输方法,应用于接收端,具体包括以下步骤:

步骤201:接收扫地机发送的当前增量数据包以及当前冗余包;

步骤202:判断当前增量数据包是否丢失增量包;

步骤203:若是,则根据当前冗余包计算得到丢失的增量包。

具体实施时,判断当前增量数据包是否丢失一个增量包;若是,则将当前冗余包的二进制数据以及当前增量数据包的多个增量数据包的二进制数据,进行异或叠加运算,得到丢失的增量包的二进制数据。

采用本申请实施例中的轨迹数据传输方法,应用于接收端包括以下步骤:接收扫地机发送的当前增量数据包以及当前冗余包;判断当前增量数据包是否丢失增量包;若是,则根据当前冗余包计算得到丢失的增量包。本申请在进行轨迹和地图增量传输时,同时接收增量数据包以及对应的冗余包,若发现数据包丢包,可根据冗余包计算得到丢失的数据包,不需要重新重传数据包,大大减少了数据阻塞问题以及传输效率低的问题。因此,本申请一定程度上减少了传输过程中丢包重传的问题,提高了网络传输效率。

实施例3

本实施例提供了一种扫地机,对于本实施例的扫地机中未披露的细节,请参照其它实施例中的轨迹数据传输方法的具体实施内容。

图5示出了根据本申请实施例的扫地机的结构示意图。

如图5所示,本实施例提供的一种扫地机,具体包括轨迹增量数据模块10、冗余包模块20以及数据传输模块30。

具体的,

轨迹增量数据模块10:用于根据全量轨迹数据以及当前轨迹数据得到当前增量数据包。

冗余包模块20:用于根据当前增量数据包得到当前冗余包。

具体包括:将当前增量数据包的多个增量数据包的二进制数据,进行异或叠加运算,得到当前冗余包的二进制数据。

数据传输模块30:用于将当前增量数据包以及当前冗余包发送给客户端。

最后扫地机将运行期间的轨迹数据传输至接收端的客户端。实现了在传输的增量数据包时,同时传输增量数据包的冗余包,若发现数据包丢包,可根据冗余包计算得到丢失的数据包,不需要重新重传数据包,大大减少了数据阻塞问题以及传输效率低的问题。

优选方案中,根据全量轨迹数据以及当前轨迹数据得到当前增量数据包之前,还包括全量轨迹数据模块:用于获取全量轨迹数据,以及根据全量轨迹数据得到全量关键帧,并发送给客户端。

此时,轨迹增量数据模块10具体用于:根据全量关键帧以及当前轨迹数据得到当前增量数据包。

采用本申请实施例中的扫地机,轨迹增量数据模块10根据全量轨迹数据以及当前轨迹数据得到当前增量数据包;冗余包模块20根据当前增量数据包得到当前冗余包;数据传输模块30将当前增量数据包以及当前冗余包发送给客户端。本申请在进行轨迹和地图增量传输时,同时将增量数据包对应的冗余包一起发送出去,若发现数据包丢包,可根据冗余包计算得到丢失的数据包,不需要重新重传数据包,大大减少了数据阻塞问题以及传输效率低的问题。因此,本申请一定程度上减少了传输过程中丢包重传的问题,提高了网络传输效率。

实施例4

本实施例提供了一种客户端,对于本实施例的客户端中未披露的细节,请参照其它实施例中的轨迹数据传输方法的具体实施内容。

图6示出了根据本申请实施例的客户端的结构示意图。

如图6所示,本实施例提供的一种客户端,具体包括数据接收模块40、丢失判断模块50以及丢失增量包找回模块60。

具体的,

数据接收模块40:用于接收扫地机发送的当前增量数据包以及当前冗余包。

丢失判断模块50:用于判断当前增量数据包是否丢失增量包。

丢失增量包找回模块60:用于在丢失增量包时,根据当前冗余包计算得到丢失的增量包。

具体实施时,判断当前增量数据包是否丢失一个增量包;若是,则将当前冗余包的二进制数据以及当前增量数据包的多个增量数据包的二进制数据,进行异或叠加运算,得到丢失的增量包的二进制数据。

采用本申请实施例中的客户端,数据接收模块40接收扫地机发送的当前增量数据包以及当前冗余包;丢失判断模块50判断当前增量数据包是否丢失增量包;丢失增量包找回模块60用于在丢失增量包时,根据当前冗余包计算得到丢失的增量包。本申请在进行轨迹和地图增量传输时,同时接收增量数据包以及对应的冗余包,若发现数据包丢包,可根据冗余包计算得到丢失的数据包,不需要重新重传数据包,大大减少了数据阻塞问题以及传输效率低的问题。因此,本申请一定程度上减少了传输过程中丢包重传的问题,提高了网络传输效率。

实施例5

本实施例提供了一种轨迹数据传输设备,对于本实施例的轨迹数据传输设备中未披露的细节,请参照其它实施例中的轨迹数据传输方法或系统具体的实施内容。

图7中示出了根据本申请实施例的轨迹数据传输设备400的结构示意图。

如图7所示,轨迹数据传输设备400,包括:

存储器402:用于存储可执行指令;以及

处理器401:用于与存储器402连接以执行可执行指令从而完成运动矢量预测方法。

本领域技术人员可以理解,示意图7仅仅是轨迹数据传输设备400的示例,并不构成对轨迹数据传输设备400的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如轨迹数据传输设备400还可以包括输入输出设备、网络接入设备、总线等。

所称处理器401(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器401也可以是任何常规的处理器等,处理器401是轨迹数据传输设备400的控制中心,利用各种接口和线路连接整个轨迹数据传输设备400的各个部分。

存储器402可用于存储计算机可读指令,处理器401通过运行或执行存储在存储器402内的计算机可读指令或模块,以及调用存储在存储器402内的数据,实现轨迹数据传输设备400的各种功能。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据轨迹数据传输设备400使用所创建的数据等。此外,存储器402可以包括硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)或其他非易失性/易失性存储器件。

轨迹数据传输设备400集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。

实施例6

本实施例提供了一种计算机可读存储介质,其上存储有计算机程序;计算机程序被处理器执行以实现其他实施例中的轨迹数据传输方法。

本申请实施例中的轨迹数据传输设备及计算机存储介质,应用于发送端时包括以下步骤:根据全量轨迹数据以及当前轨迹数据得到当前增量数据包;根据当前增量数据包得到当前冗余包;将当前增量数据包以及当前冗余包发送给客户端。本申请在进行轨迹和地图增量传输时,同时将增量数据包对应的冗余包一起发送出去,若发现数据包丢包,可根据冗余包计算得到丢失的数据包,不需要重新重传数据包,大大减少了数据阻塞问题以及传输效率低的问题。

因此,本申请一定程度上减少了传输过程中丢包重传的问题,提高了网络传输效率。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

技术分类

06120116130600