无人机及其地面站、数据传输方法与流程

文档序号:29037338发布日期:2022-02-25 19:23阅读:1523来源:国知局
无人机及其地面站、数据传输方法与流程

1.本公开涉及无人机技术领域,尤其涉及一种无人机及其地面站、数据传输方法。


背景技术:

2.无人驾驶飞机(简称无人机)可根据地面站的控制指令对目标对象进行拍摄,并将拍摄的视频等数据传输至地面站,使得地面站能够控制无人机实时地监控目标对象。
3.在上述过程中,地面站与无人机之间预先建立了通信链路,该通信链路包括上行传输链路和下行传输链路。其中,上行传输链路用于传输地面站的控制指令至无人机,下行传输链路用于传输无人机拍摄的视频等数据至地面站。
4.目前,为了确保数据的正确性,无人机在向地面站发送数据之后,会等待地面站反馈确认消息。具体地:地面站对无人机发送的数据进行校验,若校验通过,则通过上行传输链路向无人机发送确认消息,以使无人机继续发送下一数据。
5.然而,在无人机和地面站点对点协议(point-to-point protocol)中,上行传输链路的带宽资源是有限的,远小于下行传输链路的带宽资源,在下行传输链路中数据传输量大的时候,相应地确认消息(通常不包含有效数据)可能会占用上行传输链路的全部带宽资源,而造成地面站的控制指令(有效数据)反而无法发送至无人机。
6.由此可知,如何提高上行传输链路的利用率仍亟待解决。


技术实现要素:

7.为了解决上述技术问题,本公开的一个目的在于提供一种无人机及其地面站、数据传输方法。
8.其中,本公开所采用的技术方案为:
9.一种数据传输方法,应用于无人机的地面站,包括:接收所述无人机持续发送的数据包;针对接收到的数据包进行数据包序号连续性检测;如果检测到所述数据包对应的数据包序号不连续,则根据丢失数据包序号向所述无人机发起数据包重传请求。
10.一种数据传输方法,应用于无人机,包括:在持续发送数据包的过程中,接收数据包重传请求,所述数据包重传请求是地面站根据丢失数据包序号向所述无人机发起的;在发送缓冲区中,根据所述数据包重传请求中的丢失数据包序号进行丢失数据包查询;等待当前进行的数据包发送结束,将查询得到的数据包重传至所述地面站。
11.一种无人机的地面站,包括:数据包接收模块,用于接收所述无人机持续发送的数据包;数据包检测模块,用于针对接收到的数据包进行数据包序号连续性检测;请求重传模块,用于如果检测到所述数据包对应的数据包序号不连续,则根据丢失数据包序号向所述无人机发起数据包重传请求。一种无人机与地面站的数据传输方法,包括:地面站接收无人机持续发送的数据包;针对接收到的数据包进行数据包序号连续性检测;如果检测到所述数据包对应的数据包序号不连续,则根据丢失数据包序号向所述无人机发起数据包重传请求;所述无人机接收所述数据包重传请求;在发送缓冲区中,根据所述数据包重传请求中的
丢失数据包序号进行丢失数据包查询;等待当前进行的数据包发送结束,将查询得到的数据包重传至所述地面站。
12.一种无人机,包括:请求接收模块,用于在持续发送数据包的过程中,接收数据包重传请求,所述数据包重传请求是地面站根据丢失数据包序号向所述无人机发起的;数据包查询模块,用于在发送缓冲区中,根据所述数据包重传请求中的丢失数据包序号进行丢失数据包查询;数据包重传模块,用于等待当前进行的数据包发送结束,将查询得到的数据包重传至所述地面站。
13.一种无人机的地面站,包括:处理器及存储介质,所述存储介质上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的数据传输方法。
14.一种无人机,包括:处理器及存储介质,所述存储介质上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的数据传输方法。
15.与现有技术相比,本公开具有以下有益效果:
16.在无人机持续发送数据包的过程中,地面站对接收到的数据包进行数据包序号连续性检测,如果检测到数据包对应的数据包序号不连续,则根据丢失数据包序号向无人机发起数据包重传请求。
17.也就是说,地面站仅在检测到数据包对应的数据包序号不连续时,请求无人机重新发送丢失数据包序号对应的数据包,以此确保数据的正确性,在此过程中,上行传输链路中不再进行确认消息的传输,使得数据传输量大大减少,保证了上行传输链路的带宽资源能够被充分地应用到地面站的控制指令发送上,进而有效地提高了上行传输链路的利用率。
18.此外,无人机不必再等待地面站的确认消息而能够持续地进行数据包发送,不仅降低了数据传输延时,同时还有效地提高了下行传输链路的利用率。
19.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
20.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并于说明书一起用于解释本公开的原理。
21.图1是根据现有技术所涉及的数据传输时序图。
22.图2是根据现有技术所涉及的数据重传时序图。
23.图3是根据本公开所涉及的实施环境的示意图。
24.图4是根据一示例性实施例示出的一种地面站的硬件结构框图。
25.图5是根据一示例性实施例示出的一种数据传输方法的流程图。
26.图6是根据本公开所涉及的数据传输时序图。
27.图7是根据本公开所涉及的数据包重传请求丢失时序图。
28.图8是根据一示例性实施例示出的另一种数据传输方法的流程图。
29.图9是根据一示例性实施例示出的另一种数据传输方法的流程图。
30.图10是根据本公开所涉及的数据重传时序图。
31.图11是根据一示例性实施例示出的另一种数据传输方法的流程图。
32.图12是根据本公开所涉及的数据包清除时序图。
33.图13是根据本公开所涉及的数据包重传请求合并时序图。
34.图14是根据一示例性实施例示出的另一种数据传输方法的流程图。
35.图15是一应用场景中一种数据传输方法的具体实现示意图。
36.图16是根据一示例性实施例示出的一种地面站的框图。
37.图17是根据一示例性实施例示出的另一种无人机的框图。
38.图18是根据一示例性实施例示出的一种无人机与地面站的数据传输方法的流程图。
39.通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
40.这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
41.如前所述,地面站与无人机之间通过预先建立的通信链路实现二者之间的数据传输。其中,该通信链路包括上行传输链路和下行传输链路。上行传输链路用于至少传输地面站的控制指令至无人机,下行传输链路用于传输无人机拍摄的视频等数据至地面站。
42.由于通信链路具有无线传输信道的开放性特征,数据在传输过程中容易受到干扰,而引起数据丢失、误码等现象,进而导致地面站接收到的视频等数据无法形成图像或者形成图像中出现马赛克等情况。为此,无人机在发送数据后会等待地面站反馈确认消息(ack),以此保证数据的正确性,如图1所示。
43.如果无人机未接收到地面站的确认消息,则认为数据丢失,以此进行数据的重新发送,直至接收到地面站的确认消息,如图2所示。
44.综上所述,地面站针对每一数据都将进行确认,当视据传输量大的时候,会相应地产生大量的确认消息,而可能占用上行传输链路的全部带宽资源,进而导致控制指令无法到达无人机。
45.此外,无人机在发送数据之后需要先等待确认消息,方可再继续发送下一数据,在此过程中无人机不会发送任何数据,这不仅降低了下行传输链路的利用率,而且增加了数据传输延时。
46.基于此,现有技术中数据传输方法仍存在传输链路利用率较低的缺陷,为此,本公开中将提出一种数据传输方法,通过该数据传输方法替代地面站现有的确认机制,来保证数据的正确性,进而有效地提高传输链路的利用率,尤其是上行传输链路的利用率。
47.图3为上述数据传输方法所涉及的实施环境的示意图。该实施环境包括地面站100和无人机200。
48.其中,地面站100可以是手持遥控器、智能手机、计算机、笔记本电脑或者其它可用于远程遥控无人机200的电子设备等等。
49.地面站100向无人机200发送控制指令,以控制无人机按照控制指令对目标对象进行拍摄,并将拍摄的视频等数据传输至地面站100,以此实现地面站通过无人机200实时地监控目标对象。
50.图4是根据一示例性实施例示出的一种地面站100的硬件结构框图。需要说明的是,该地面站100只是一个适配于本公开的示例,不能认为是提供了对本公开的使用范围的任何限制。该地面站100也不能解释为需要依赖于或者必须具有图4中示出的示例性的地面站100中的一个或者多个组件。
51.该地面站100的硬件结构可因配置或者性能的不同而产生较大的差异,如图4所示,地面站100包括:电源110、接口130、至少一存储介质150、以及至少一中央处理器(cpu,central processing units)170。
52.其中,电源110用于为地面站100上的各硬件设备提供工作电压。
53.接口130包括至少一有线或无线网络接口131、至少一串并转换接口133、至少一输入输出接口135以及至少一usb接口137等,用于与外部设备通信。
54.存储介质150作为资源存储的载体,可以是随机存储介质、磁盘或者光盘等,其上所存储的资源包括操作系统151、应用程序153及数据155等,存储方式可以是短暂存储或者永久存储。其中,操作系统151用于管理与控制地面站100上的各硬件设备以及应用程序153,以实现中央处理器170对海量数据155的计算与处理,其可以是windows servertm、mac os xtm、unixtm、linuxtm、freebsdtm等。应用程序153是基于操作系统151之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图4中未示出),每个模块都可以分别包含有对地面站100的一系列操作指令。数据155可以是存储于磁盘中的照片、图片等等。
55.中央处理器170可以包括一个或多个以上的处理器,并设置为通过总线与存储介质150通信,用于运算与处理存储介质150中的海量数据155。
56.如上面所详细描述的,适用本公开的地面站100将通过中央处理器170读取存储介质150中存储的一系列操作指令的形式进行数据传输。
57.此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本公开,因此,实现本公开并不限于任何特定硬件电路、软件以及两者的组合。
58.请参阅图5,在一示例性实施例中,一种数据传输方法适用于图3所示实施环境的地面站100,该种数据传输方法可以由地面站100执行,可以包括以下步骤:
59.步骤310,接收无人机持续发送的数据包。
60.现有技术中,无人机在发送数据包之后需要先等待确认消息,方可再继续发送下一个数据包,在此过程中无人机不会发送任何数据包,这不仅降低了下行传输链路的利用率,而且增加了数据包的传输延时。
61.为此,本实施例中,地面站不再针对每一数据包都进行确认,也就是说,无人机不必等待地面站反馈的确认消息,而能够持续不断地发送数据包。
62.相应地,地面站将持续接收到无人机发送的数据包,如图6所示。
63.通过如此设置,无人机无需等待地面站反馈的确认消息,最大限度地利用了无线传输信道,提高了下行传输链路的利用率,同时降低了数据传输延时。
64.步骤330,针对接收到的数据包进行数据包序号连续性检测。
65.应当理解,数据传输过程中,数据以帧为单位进行传输,并且每一帧数据被拆分为
若干个数据包,以此降低数据传输延时。相应地,数据包是具有全局唯一且连续的数据包序号的。
66.在不存在丢包现象的情况下,地面站持续接收到的数据包所对应的数据包序号是连续不断的。
67.基于此,在接收到数据包之后,地面站将通过对接收到的数据包进行数据包序号连续性检测来判断数据传输过程中是否存在丢包现象。
68.如果检测到数据包对应的数据包序号连续,则返回至步骤310,继续接收下一个数据包。
69.如果检测到数据包对应的数据包序号不连续,则跳转进入步骤350。
70.步骤350,根据丢失数据包序号向无人机发起数据包重传请求。
71.举例来说,如图7所示,数据包序号为6的数据包在数据传输过程中丢失,此时,地面站在接收到数据包序号为7的数据包之后,通过对该数据包进行数据包序号连续性检测,发现数据包对应的数据包序号不连续,即在接收到数据包序号为5的数据包之后,实际应该接收到数据包序号为6的数据包并没有到达,则判定该数据包丢失,并确定丢失数据包序号为6。
72.相应地,地面站将根据丢失数据包序号6向无人机发起数据包重传请求,即请求无人机重新发送数据包序号为6的数据包,以此确保数据传输的完整性,进而保证视频数据的正确性,避免视频数据无法形成图像或者形成图像中出现马赛克等情况。
73.对于无人机而言,无人机对目标对象进行拍摄过程中,会不断产生新的数据包,考虑数据传输的延时性,无人机中将预先配置一发送缓冲区,以将待发送的数据包存储至发送缓冲区。其中,该发送缓冲区可以是物理内存、随机存储介质、磁盘或者光盘等等。
74.换而言之,地面站请求无人机重新传输的数据包将被存储在发送缓冲区中。
75.由此,无人机在接收到地面站根据丢失数据包序号发起的数据包重传请求时,将根据数据包重传请求中的丢失数据包序号在发送缓冲区中进行丢失数据包查询。即,在发送缓冲区中查询是否存在一数据包对应于丢失数据包序号。
76.以上述例子加以说明,无人机将在发送缓冲区中查询是否存在数据包序号为6的数据包,如果存在,便将查询得到的数据包重传至地面站。
77.通过如上所述的过程,实现了一种数据丢失重传策略,即地面站仅在丢包时才向无人机请求重传,而无需对每一数据包进行确认,由此大大降低了上行传输链路中确认消息的数据传输量,避免上行传输链路的带宽资源被无效数据占用,进而有效地提高了上行传输链路的利用率。
78.请参阅图8,在一示例性实施例中,步骤330之前,如上所述的方法还可以包括以下步骤:
79.步骤410,对数据包进行校验。
80.步骤430,将校验通过的数据包存储至接收缓冲区。
81.由于数据传输过程中存在误码现象,可能会导致数据包对应的数据包序号产生错误,可以理解,如果数据包序号本身有错误,则没有必要对该数据包序号的连续性进行检测。
82.为此,在对数据包进行数据包序号连续性检测之前,将首先针对该数据包进行校
验。
83.具体而言,首先对数据包进行有效性校验,例如,对数据包的误码等等进行校验,如果误码率高于阈值,则该数据包校验失败,该数据包被视为无效数据,相应地,地面站将丢弃该数据包。
84.其次,在该数据包校验成功时,该数据包即被视为有效数据,相应地,一方面,地面站将针对该数据包进行数据包序号连续性检测,即跳转进入步骤330,另一方面,地面站将该数据包存储至接收缓冲区,同时继续接收下一个数据包。
85.其中,接收缓冲区是预先配置于地面站中的,可以是物理内存、随机存储介质、磁盘或者光盘等等。
86.进一步地,如图8所示,如上所述的方法还可以包括以下步骤:
87.步骤450,对接收缓冲区中的数据包进行组帧处理。
88.如前所述,数据传输过程中,数据以帧为单位进行传输,并且每一帧数据被拆分为若干个数据包。
89.相应地,地面站在接收到一帧数据所包含的若干个数据包之后,将对该若干个数据包进行组帧处理。
90.具体地,由接收缓冲区中的数据包中提取得到一帧数据所需要的若干个数据包,将该若干个数据包重新组成一帧数据。
91.请参阅图9,在一示例性实施例中,步骤350之后,如上所述的方法还可以包括以下步骤:
92.步骤510,在满足预设重传条件时,判断是否接收到丢失数据包序号对应的数据包。
93.应当理解,在数据重传失败时将会再次进行数据重传,而为了提高数据传输效率,数据重传不会无限次进行,而是会预先设置一重传条件,即满足预设重传条件时才允许进行数据重传。
94.该预设重传条件可以是预设重传次数,例如,数据重传次数达到预设重传次数时将不再进行数据重传,也可以是预设重传时间,例如,预设重传时间内才允许进行数据重传。
95.由此,在满足预设重传条件时,地面站首先判断是否接收到丢失数据包序号对应的数据包,以进一步判断数据重传是否成功。
96.如果已接收到丢失数据包序号对应的数据包,则表示无人机所进行的数据重传成功,此时,地面站将停止向无人机发起数据包重传请求。
97.反之,如果未接收到丢失数据包序号对应的数据包,则表示无人机所进行的数据重传失败,此时,跳转进入步骤530,地面站将再次请求无人机进行数据重传。
98.步骤530,根据丢失数据包序号向无人机再次发起数据包重传请求。
99.举例来说,如图10所示,数据包序号为6的数据包所对应的数据包重传请求在数据传输过程中丢失,则无人机不会重新传输该数据包,相应地,地面站也无法接收到该数据包,此时,地面站判断到仍满足预设重传条件时,则向无人机再次发送该数据包对应的数据包重传请求。
100.通过上述实施例的配合,实现了有限次进行数据重传,既有利于保证数据的正确
性,还有利于提高数据传输效率。
101.请参阅图11,在一示例性实施例中,步骤350之后,如上所述的方法还可以包括以下步骤:
102.步骤610,接收无人机反馈的数据包丢失消息。
103.其中,数据包丢失消息指示无人机的发送缓冲区中不存在一数据包对应于丢失数据包序号。
104.如前所述,无人机在接收到地面站根据丢失数据包序号发起的数据包重传请求时,将根据数据包重传请求中的丢失数据包序号在发送缓冲区中进行丢失数据包查询。即,在发送缓冲区中查询是否存在一数据包对应于丢失数据包序号。
105.进一步地,由于发送缓冲区的存储空间有限,需要对发送缓冲区中的数据包进行清除。具体地:预先设置一缓存时间,即当发送缓冲区中数据包的缓存时间达到预设缓存时间,清除缓存时间达到预设缓存时间的数据包。
106.基于此,无人机在发送缓冲区中进行数据包查询时,可能出现丢失数据包序号对应数据包的缓存时间达到预设缓存时间而被清除。
107.如图12所示,无人机的发送缓冲区中不存在一数据包对应于丢失数据包序号6。相应地,无人机将生成一数据包丢失消息,并将该数据包丢失消息反馈至地面站。
108.对于地面站而言,在接收到无人机发送的数据包丢失消息之后,便获知丢失数据包序号6对应的数据包已经不存在。
109.一方面,停止向无人机请求重传丢失数据包序号6对应的数据包,即跳转至步骤630,停止发送包含了丢失数据包序号6的数据包重传请求至无人机。
110.另一方面,跳转至步骤650,针对该丢失数据包序号6对应的数据包进行丢包处理。
111.步骤630,根据数据包丢失消息停止发送数据包重传请求。
112.进一步地,如图11所示,如上所述的方法还可以包括以下步骤:
113.步骤650,对丢失了丢失数据包序号对应数据包的数据帧进行丢包处理,并根据该数据帧对应的帧号生成丢帧消息上报。
114.其中,丢包处理具体为:根据丢失数据包序号查找到对应数据包所在的数据帧,将该数据帧包含的所有数据包丢弃。
115.例如,帧号为1的数据帧包含数据包序号为1—4的数据包,帧号为2的数据帧包含数据包序号为5—8的数据包,假设丢失数据包序号为6,则将帧号为2的数据帧包含的其余数据包丢弃,即丢弃数据包序号为5、7、8的数据包。
116.在一示例性实施例中,步骤350或者步骤530之前,如上所述的方法还可以包括以下步骤:
117.判断是否存在若干个数据包重传请求。
118.如果存在,则合并若干个数据包重传请求,以将合并后的数据包重传请求发送至无人机。
119.如前所述,由于通信链路具有无线传输信道的开放性特征,数据在传输过程中容易受到干扰,而引起数据丢失、误码等现象。
120.也就是说,在数据传输过程中,不仅数据包可能丢失,请求重传数据包的数据包重传请求也可能丢失。由此,可能出现多个数据包都需要重新传输的现象。
121.举例来说,如图13所示,数据包序号为6的数据包丢失,请求重传该数据包的数据包重传请求也丢失,此时,无人机继续进行数据包的持续发送,假设数据包序号为7的数据包依然丢失,这就出现同时丢失两个数据包的情况,相应地,地面站将针对该丢失的两个数据包分别向无人机发送两个数据包重传请求。
122.可以理解,由于上行传输链路的带宽资源有限,如果数据包重传请求过多,仍然会降低上行传输链路的利用率。
123.因此,本实施例中,对若干个数据包重传请求进行合并处理,以利于提高上行传输链路的利用率,同时有效地减轻地面站的处理压力,有利于提高地面站的处理效率。
124.请参阅图14,在一示例性实施例中,一种数据传输方法适用于图3所示实施环境的无人机200,该种数据传输方法可以由无人机200执行,可以包括以下步骤:
125.步骤710,在持续发送数据包的过程中,接收数据包重传请求。数据包重传请求是地面站根据丢失数据包序号向无人机发起的。
126.步骤730,在发送缓冲区中,根据数据包重传请求中的丢失数据包序号进行丢失数据包查询。
127.步骤750,等待当前进行的数据包发送结束,将查询得到的数据包重传至地面站。
128.通过上述过程,无人机不必等待地面站反馈的确认消息而能够持续地发送数据包,以此提高了下行传输链路的利用率,并同时降低了数据传输延时。
129.在一示例性实施例中,步骤730之后,如上所述的方法还可以包括以下步骤:
130.如果发送缓冲区中未查询到丢失数据包序号对应的数据包,则向地面站反馈数据包丢失消息。
131.在一示例性实施例中,步骤如果发送缓冲区中未查询到丢失数据包序号对应的数据包,则向地面站反馈数据包丢失消息之前,如上所述的方法还可以包括以下步骤:
132.当发送缓冲区中数据包的缓存时间达到预设缓存时间,清除缓存时间达到预设缓存时间的数据包。
133.在上述实施例的作用下,实现了发送缓冲区的定时清除,有利于提高发送缓冲区的存储能力以及存储利用率。
134.图15是一应用场景中一种数据传输方法的具体实现示意图,现结合图3所示的实施环境以及图15所示的应用场景对本公开各实施例中数据传输过程加以描述。
135.无人机200在对目标对象实时拍摄时,将不断地产生新的数据包

,并存储至发送缓冲区等待发送至地面站100。
136.相应地,无人机200的发送模块将由该发送缓冲区中获取等待发送的数据包

,并将该数据包

持续地发送至地面站100。
137.对于地面站100而言,通过接收模块接收无人机200持续发送的数据包

,并针对接收到的数据包

进行有效性校验。
138.如果该数据包

校验通过,一方面,将校验通过的数据包

存储至接收缓冲区,并通过组帧模块进一步地由接收缓冲区中获取数据包

进行组帧处理。
139.另一方面,进一步地对该数据包

进行数据包序号连续性检测,如果检测到数据包

对应的数据包序号不连续,则向无人机200请求重新发送数据包


140.对于无人机200而言,发送模块接收到数据包重传请求

,并由该数据包重传请求

中提取得到丢失数据包序号


141.进一步地,根据丢失数据包序号

在发送缓冲区中进行丢失数据包查询,如果查询得到丢失数据包序号对应的数据包,则将该数据包重传至地面站100。
142.反之,如果查询不到丢失数据包序号对应的数据包,则生成一数据包丢失消息反馈至地面站100,以使地面站100获知无人机200的发送缓冲区中不存在一数据包对应于丢失数据包序号,进而停止数据包重传请求的发送。
143.在本公开各实施例中,地面站无需向无人机反馈确认消息,无人机也无需等待确认消息而持续地向地面站发送数据包,以此最大限度地利用了无线传输信道,有效地提高了传输链路的利用率,同时有效地降低了数据传输延时。
144.下述为本公开装置实施例,可以用于执行本公开所涉及的数据传输方法。对于本公开装置实施例中未披露的细节,请参照本公开所涉及的数据传输方法实施例。
145.请参阅图16,在一示例性实施例中,一种地面站800包括但不限于:数据包接收模块810、数据包检测模块830和请求重传模块850。
146.其中,数据包接收模块810用于接收无人机持续发送的数据包。
147.数据包检测模块830用于针对接收到的数据包进行数据包序号连续性检测。
148.请求重传模块850用于如果检测到数据包对应的数据包序号不连续,则根据丢失数据包序号向无人机发起数据包重传请求。
149.在一示例性实施例中,地面站800还包括但不限于:数据包校验模块和数据包存储模块。
150.其中,数据包校验模块用于对数据包进行校验。
151.数据包存储模块用于将校验通过的数据包存储至接收缓冲区。
152.进一步地,地面站800还包括但不限于:数据包组帧模块。
153.其中,数据包组帧模块用于对接收缓冲区中的数据包进行组帧处理。
154.在一示例性实施例中,地面站800还包括但不限于:判断模块。
155.其中,判断模块用于在预设重传时间内,判断是否接收到丢失数据包序号对应的数据包。
156.如果否,则通知请求重传模块850。
157.在一示例性实施例中,地面站800还包括但不限于:消息接收模块和停止重传模块。
158.其中,消息接收模块用于接收无人机反馈的数据包丢失消息。数据包丢失消息指示无人机的发送缓冲区中不存在一数据包对应于丢失数据包序号。
159.停止重传模块用于根据数据包丢失消息停止发送数据包重传请求。
160.进一步地,地面站800还包括但不限于:丢帧模块。
161.其中,丢帧模块用于对丢失了丢失数据包序号对应数据包的数据帧进行丢包处理,并根据该数据帧对应的帧号生成丢帧消息上报。
162.在一示例性实施例中,地面站800还包括但不限于:请求合并模块。
163.其中,请求合并模块用于判断是否存在若干个数据包重传请求。如果存在,则合并若干个数据包重传请求,以将合并后的数据包重传请求发送至无人机。
164.请参阅图17,在一示例性实施例中,一种无人机900包括但不限于:请求接收模块
910、数据包查询模块930和数据包重传模块950。
165.其中,请求接收模块910用于在持续发送数据包的过程中,接收数据包重传请求。数据包重传请求是地面站根据丢失数据包序号向无人机发起的。
166.数据包查询模块930用于在发送缓冲区中,根据数据包重传请求中的丢失数据包序号进行丢失数据包查询。
167.数据包重传模块950用于等待当前进行的数据包发送结束,将查询得到的数据包重传至地面站。
168.在一示例性实施例中,无人机900还包括但不限于:消息反馈模块。
169.其中,消息反馈模块用于如果发送缓冲区中未查询到丢失数据包序号对应的数据包,则向地面站反馈数据包丢失消息。
170.在一示例性实施例中,无人机900还包括但不限于:数据包清除模块。
171.其中,数据包清除模块用于当发送缓冲区中数据包的缓存时间达到预设缓存时间,清除缓存时间达到预设缓存时间的数据包。
172.需要说明的是,上述实施例所提供的地面站/无人机在进行数据重传处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即地面站/无人机的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。
173.另外,上述实施例所提供的地面站/无人机与数据传输方法的实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
174.请参阅图18,在一示例性实施例中,一种无人机与地面站的数据传输方法适用于图3所示实施环境中的地面站100和无人机200,可以包括以下步骤:
175.步骤1010,地面站接收无人机持续发送的数据包。
176.为了避免无人机在发送数据包之后需要先等待确认消息而导致数据包传输延时过大,进而造成下行传输链路的利用率较低,本实施例中,无人机不必等待地面站进行确认消息的反馈,而是能够持续不断地发送数据包。
177.相应地,对于地面站而言,地面站便可接收到无人机持续发送的数据包。
178.通过如此设置,最大限度地利用了无线传输信道,提高了下行传输链路的利用率,同时降低了数据传输延时。
179.步骤1030,针对接收到的数据包进行数据包序号连续性检测。
180.如前所述,在不存在丢包现象的情况下,地面站持续接收到的数据包所对应的数据包序号是连续不断的。
181.基于此,地面站便能够针对接收到的数据包进行数据包序号连续性检测来判断数据传输过程中是否存在丢包现象。
182.如果检测到数据包对应的数据包序号连续,则返回至步骤1010,继续接收无人机发送的下一个数据包。
183.反之,如果检测到数据包对应的数据包序号不连续,则跳转进入步骤1050。
184.步骤1050,根据丢失数据包序号向无人机发起数据包重传请求。
185.步骤1070,无人机接收数据包重传请求。
186.如果地面站检测到数据包对应的数据包序号不连续,表示数据传输过程中出现了丢包现象,此时,地面站将向无人机请求重传丢失数据包序号对应的数据包。
187.相应地,对于无人机而言,便能够接收到由地面站针对丢失数据包序号而发起的数据包重传请求。
188.步骤1090,在发送缓冲区中,根据数据包重传请求中的丢失数据包序号进行丢失数据包查询。
189.如前所述,无人机中将预先配置一发送缓冲区,以将待发送的数据包存储至发送缓冲区。换而言之,地面站请求重传的丢失数据包序号对应的数据包被存储在无人机预先配置的发送缓冲区中。
190.由此,无人机在进行数据包重传之前,首先在发送缓冲区中查询是否存在一数据包对应于丢失数据包序号。
191.如果存在,则跳转进入步骤1110,将查询得到的数据包重传至地面站,至此便完成了数据重传确保了数据的正确性。
192.反之,如果不存在,则无人机将生成一数据包丢失消息反馈至地面站,该数据包丢失消息被用于指示无人机的发送缓冲区中不存在丢失数据包序号对应的数据包,进而使得地面站获知请求重传的数据包已经不存在,便相应地停止向无人机继续发送数据包重传请求,同时针对丢失数据包序号对应的数据包进行丢包处理,例如,将原本应该包含该数据包的数据帧中的数据包全部丢弃。
193.步骤1110,等待当前进行的数据包发送结束,将查询得到的数据包重传至地面站。
194.在上述实施例所涉及的地面站与无人机的交互过程中,无人机不必等待地面站的确认消息而能够持续地发送数据包,相对于地面站而言,地面站能够持续地接收到无人机发送的数据包序号连续的数据包,并以此判断是否发生了数据包丢失,进而在数据包序号不连续时向无人机请求重新发送丢失数据包序号对应的数据包,不仅降低了数据传输延时,提高了下行传输链路的利用率,而且避免地面站利用上行传输链路进行确认消息的传输,进而提高了上行传输链路的利用率。
195.一种无人机的地面站,包括处理器及存储介质。
196.其中,存储介质上存储有计算机可读指令,计算机可读指令被处理器执行时实现如上所述应用于地面站的数据传输方法。
197.一种无人机,包括处理器及存储介质。
198.其中,存储介质上存储有计算机可读指令,计算机可读指令被处理器执行时实现如上所述应用于无人机的数据传输方法。
199.上述内容,仅为本公开的较佳示例性实施例,并非用于限制本公开的实施方案,本领域普通技术人员根据本公开的主要构思和精神,可以十分方便地进行相应的变通或修改,故本公开的保护范围应以权利要求书所要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1