本发明涉及通信,特别是涉及一种无人机系统及其数据通信方法、装置。
背景技术:
1、无人机又被称为无人驾驶飞机,是一种利用先进的电子芯片和无线遥控设备直接、间接控制飞行路径的飞行器。无人机具有体积小、使用方便、操作灵活等特点,对作业任务的环境要求非常低。随着无人机的发展和应用,引起了许多企业、科研机构的兴趣。无人机利用先进的物联网、gps、人工智能、机器学习等技术,可以实时采集任务环境数据,将这些数据发送给控制者,由控制者完成各类型应用操作。无人机已经在许多领域得到应用,军事领域包括侦察机或靶机,民用领域包括航空拍摄、农业植保、灾难救援、新闻报道、影视拍摄、电力巡检等多个方面,以下对部分领域进行相关介绍。
2、无人机在执行各种飞行任务过程中,需要和地面端进行频繁的数据传输交互,而保证数据传输的准确性,直接关系到无人机实际作业的可靠性。由此如何保证无人机和地面端进行准确的数据传输至关重要。
技术实现思路
1、本发明的目的是提供一种无人机系统的数据通信方法、装置以及一种无人机系统,能够在一定程度上提升无人机系统中机载端和地面端之间数据通讯的可靠性。
2、为解决上述技术问题,本发明提供一种无人机系统的数据通信方法,应用于服务端;其中,所述无人机系统包括相互通信连接的机载端和地面端,所述地面端和所述机载端中的一个为所述服务端,另一个为客户端,所述通信方法包括:
3、通过监听udp组播地址,接收所述客户端通过udp组播协议传输的数据包;其中,所述数据包为所述客户端进行kcp协议包装的数据;
4、利用kcp协议对所述数据包进行错误检查;
5、若所述数据包不存在错误,则向所述客户端反馈响应信息;
6、若所述数据包存在错误,则不向所述客户端反馈响应信息,以便所述客户端重新上传数据包。
7、可选地,利用kcp协议对所述数据包进行错误检查,包括:
8、若所述数据包存在数据丢包,则不向所述客户端反馈响应信息,并接收所述客户端重新上传的数据包;
9、若所述数据包存在数据乱序,则对所述数据包进行缓存,重新排序,并向所述客户端反馈响应信息。
10、可选地,所述服务端包括多个应用程序节点;
11、接收所述客户端通过udp组播协议传输的数据包,包括:
12、多个所述应用程序节点分别接收所述udp组播协议传输的所述数据包;
13、每个所述应用程序节点均将对应的应用标识与所述数据包中的应用标识进行对比;其中,所述数据包中的应用标识为所述客户端预先加入到所述数据包中的;
14、对应的应用标识和所述数据包中的应用标识一致的应用程序节点,执行利用kcp协议对所述数据包进行错误检查的操作。
15、可选地,接收所述客户端通过udp组播协议传输的数据包之前,还包括:
16、预先创建多个第一运算进程与所述客户端的多个第二运算进程之间一一对应的逻辑通信链路;其中,所述第二运算进程和对应的建立所述逻辑通信链路的所述第一运算进程之间对应同一个会话id;
17、在向所述客户端反馈响应信息之后,还包括:
18、根据所述数据包中的会话id,将所述数据包发送至所述会话id对应的第一运算进程进行数据处理;其中,所述数据包中的会话id为所述客户端根据输出所述数据包的第二运算进程设定的。
19、一种无人机系统的数据通信装置,应用于服务端;其中,所述无人机系统包括相互通信连接的机载端和地面端,所述地面端和所述机载端中的一个为所述服务端,另一个为客户端,所述数据通信装置包括:
20、数据过滤模块,用于通过监听udp组播地址,接收所述客户端通过udp组播协议传输的数据包;其中,所述数据包为所述客户端进行kcp协议包装的数据;
21、网络通信模块,用于利用kcp协议对所述数据包进行错误检查;若所述数据包不存在错误,则向所述客户端反馈响应信息;若所述数据包存在错误,则不向所述客户端反馈响应信息,以便所述客户端重新上传数据包。
22、可选地,所述网络通信模块具体用于若所述数据包存在数据丢包,则不向所述客户端反馈响应信息,并接收所述客户端重新上传的数据包;若所述数据包存在数据乱序,则对所述数据包进行缓存,重新排序,并向所述客户端反馈响应信息。
23、可选地,所述服务端包括多个应用程序节点;每个应用程序节点均包含有对应的所述数据过滤模块;
24、每个所述数据过滤模块分别用于接收所述udp组播协议传输的所述数据包;且分别将对应的应用程序的应用标识与所述数据包中的应用标识进行对比;当对比结果一致,则执行所述利用kcp协议对所述数据包进行错误检查的操作;其中,所述数据包中的应用标识为所述客户端预先加入到所述数据包中。
25、可选地,还包括会话管理模块,用于在接收所述客户端通过udp组播协议传输的数据包之前,预先创建多个第一运算进程与所述客户端的多个第二运算进程之间一一对应的逻辑通信链路;其中,所述第二运算进程和对应的建立所述逻辑通信链路的所述第一运算进程之间对应同一个会话id;
26、所述会话管理模块还用于在向所述客户端反馈响应信息之后,根据所述数据包中的会话id,将所述数据包发送至所述会话id对应的第一运算进程进行数据处理;其中,所述数据包中的会话id为所述客户端根据输出所述数据包的第二运算进程设定的。
27、一种无人机系统,包括:机载端、地面端、机载电台和地面电台;
28、其中,所述机载端和所述地面端之间通过所述机载电台和所述地面电台按照udp组播协议进行通信连接,以执行实现如上任一项所述无人机系统的数据通信方法的步骤。
29、可选地,还包括和所述机载端通信连接的无人机节点;多个和所述地面端通信连接的地面服务节点;
30、每个所述无人机节点和对应的一个所述地面服务节点之间通过所述地面端和所述机载端一一对应通信链路连接。
31、本发明所提供的一种无人机系统的数据通信方法、装置以及一种无人机系统,应用于服务端;其中,无人机系统包括相互通信连接的机载端和地面端,地面端和机载端中的一个为服务端,另一个为客户端,通信方法包括:通过监听udp组播地址,接收客户端通过udp组播协议传输的数据包;其中,数据包为客户端进行kcp协议包装的数据;利用kcp协议对数据包进行错误检查;若数据包不存在错误,则向客户端反馈响应信息;若数据包存在错误,则不向客户端反馈响应信息,以便客户端重新上传数据包。
32、本技术中为了保证无人机系统中的机载端和地面端之间进行无线通信传输过程中,数据传输的准确性,客户端先对需要传输的数据进行kcp协议的包装,从而使得数据包在通过udp组播协议由客户端发送至服务端之后,服务端可以利用kcp协议对数据包进行错误检查,从而在一定程度上解决了udp组播传输数据无法识别确定数据出错的问题,并使得客户端在数据包存在错误时重新上传数据包,从而在一定程度上保证机载端和地面端之间传输数据的准确性,有利于无人机系统的广泛应用。