地面站、无人机及地面站与无人机的通信***、方法
技术领域
本发明涉及无人机通信技术领域,尤其涉及一种地面站、无人机以及地面站与无人机的通信***、方法。
背景技术
在目前无人机领域中,往往利用地面站来向无人机发出控制指令,从而控制无人机。由于地面站中单一的应用已经不能满足现阶段对无人机的多方面控制,故无人机领域具有多台无人机进行编队工作,以及地面站中具有多个应用,多个应用能够控制无人机实现多种功能的需求。由于无人机与地面站之间的通信要求需要具有远距离通信、高实时性通信以及低丢包率通信等特点,因此,实现无人机和地面站之间的通信需要专用的通信硬件设备和通信协议。
在现有技术中,当多个独立的应用需要与多台无人机进行通讯时,需要多个应用依次占用地面站中的通信模块与无人机进行通信,即在一个应用占用通信模块完成与无人机的通信且退出通信模块的占用后,另一个应用才能占用通信模块与无人机进行通信,使得多个应用与多台无人机进行通信的复杂度过高,降低了多个应用与多台无人机之间的通信效率。
发明内容
本发明的目的在于提供一种地面站、无人机以及地面站与无人机的通信***、方法,用于降低多个应用与多台无人机进行通信的复杂度,提高多个应用与多台无人机之间的通信效率。
为了实现上述目的,本发明提供如下技术方案:
第一方面,本发明提供一种地面站,所述地面站包括第一通信模块以及与所述第一通信模块连接的事务调度模块,所述事务调度模块用于存储所述地面站中的应用生成的事务帧,还用于控制所述第一通信模块向目标无人机发送所述事务帧,获取所述第一通信模块接收到的数据帧,并将所述数据帧提供给所述地面站中的应用,所述应用用于操作所述目标无人机。
第二方面,本发明提供一种无人机,所述无人机包括第二通信模块和飞行控制器,所述第二通信模块用于接收地面站利用事务调度模块控制第一通信模块所发送的事务帧,所述事务帧由地面站中的应用生成,用于操作无人机;所述飞行控制器用于获取所述第二通信模块接收的事务帧,并控制无人机执行所述事务帧所指示的操作;所述飞行控制器还用于控制所述第二通信模块向地面站的第一通信模块返回数据帧,以便所述地面站利用事务调度模块控制所述第一通信模块接收该数据帧以及将该数据帧提供给所述地面站中的应用。
第三方面,本发明提供了一种地面站与无人机的通信***,包括地面站和至少一台无人机,所述地面站用于发送事务帧至目标无人机,所述事务帧由地面站中的应用生成,用于操作所述目标无人机;
所述无人机用于接收并获取所述地面站发送的事务帧,并执行所述事务帧所指示的操作;所述无人机还用于向所述地面站返回数据帧;
所述地面站还用于接收目标无人机返回的数据帧,并将所述数据帧提供给所述应用。
第四方面,本发明提供一种地面站与无人机的通信方法,所述地面站包括用于向所述无人机发送事务帧或接收所述无人机发送的数据帧的第一通信模块;所述地面站与无人机的通信方法包括:
建立实时事务调度池;
利用所述实时事务调度池存储所述地面站中的应用生成的事务帧,所述应用用于操作所述目标无人机;
利用所述实时事务调度池控制所述第一通信模块向目标无人机发送所述事务帧;
利用所述实时事务调度池获取所述第一通信模块接收到的数据帧,将所述数据帧提供给所述地面站中的应用。
第五方面,本发明提供了一种无人机与地面站的通信方法,所述无人机包括用于接收地面站发送的事务帧或向所述地面站发送数据帧的第二通信模块,所述地面站与无人机的通信方法包括:
获取所述第二通信模块接收的事务帧,所述事务帧由地面站中的应用生成,并由地面站利用实时事务调度池控制第一通信模块发送;
执行所述事务帧所指示的操作;
控制所述第二通信模块向所述地面站的第一通信模块返回数据帧,以便地面站利用实时事务调度池控制所述第一通信模块接收该数据帧以及将该数据帧提供给所述地面站中的应用。
第六方面,一种地面站与无人机的通信方法,所述地面站包括用于向所述无人机发送事务帧或接收所述无人机发送的数据帧的第一通信模块;所述地面站与无人机的通信方法包括:
所述地面站建立实时事务调度池;
所述地面站利用所述实时事务调度池控制所述第一通信模块发送事务帧至目标无人机,该事务帧由地面站中的应用生成,所述应用用于操作所述目标无人机;
所述无人机接收并获取所述地面站发送的事务帧,执行该事务帧所指示的操作;
所述无人机向所述地面站返回数据帧;
所述地面站利用所述实时事务调度池获取所述第一通信模块接收到的数据帧,将所述数据帧提供给所述地面站中的应用。
本发明提供的地面站、无人机及地面站与无人机的通信***和方法中,地面站通过事务调度模块或实时事务调度池控制第一通信模块向无人机发送事务帧或者通过事务调度模块获取第一通信模块从无人机接收到的数据帧,与现有技术中相比,在多个应用需要向多台无人机发送事务帧或获取数据帧时,本发明地面站中的事务调度模块或实时事务调度池存储地面站中应用的事务帧,事务调度模块或实时事务调度池占用第一通信模块,从而使多个应用利用事务调度模块或实时事务调度池来控制第一通信模块来发送事务帧或获取数据帧,也就是说,由事务调度模块或实时事务调度池可以控制第一通信模块发送任一应用的事务帧或获取任一应用的数据帧,从而保证事务调度模块或实时事务调度池将多个应用的事务帧有序的通过第一通信模块发送,或保证事务调度模块或实时事务调度池从第一通信模块有序的获取多个应用需要的数据帧,省去了应用占用第一通信模块后再退出的步骤,降低了多个应用与多台无人机进行通信的复杂度,从而提高多个应用与多台无人机之间的通信效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例一中地面站的结构示意图;
图2为本发明实施例二中地面站的结构示意图;
图3为本发明实施例三中地面站的结构示意图;
图4为本发明实施例三中地面站某一次发送事务帧之前的发送帧队列的示意图;
图5为本发明实施例三中地面站某一次发送事务帧之后的发送帧队列的示意图之一;
图6为本发明实施例三中地面站某一次发送事务帧之后的发送帧队列的示意图之二;
图7为本发明实施例四中地面站的结构示意图;
图8为本发明实施例五中无人机的结构示意图;
图9为本发明实施例七中地面站与无人机的通信***的结构示意图;
图10为本发明实施例九中地面站与无人机的通信方法的流程图;
图11为本发明实施例十中地面站与无人机的通信方法的流程图;
图12为本发明实施例十一中地面站与无人机的通信方法的流程图;
图13为本发明实施例十二中地面站与无人机的通信方法的流程图;
图14为本发明实施例十三中地面站与无人机的通信方法的流程图;
图15为本发明实施例十四中无人机与地面站的通信方法的流程图;
图16为本发明实施例十五中无人机与地面站的通信方法的流程图;
图17为本发明实施例十六中地面站与无人机的通信方法的流程图;
图18为本发明实施例十七中地面站与无人机的通信方法的流程图。
具体实施方式
为了进一步说明本发明实施例提供的地面站、无人机以及地面站与无人机的通信***、方法,下面结合说明书附图进行详细描述。
实施例一
请参阅图1,本发明实施例提供一种地面站11,地面站11是操作人员操控无人机的设备,可以为手持移动设备,也可以为固定安装设备,地面站11包括第一通信模块12和事务调度模块13,第一通信模块12与事务调度模块13连接,第一通信模块12用于向外发送事务帧或接收外部发送来的数据帧,事务调度模块13用于存储地面站11中的应用生成的事务帧,需要说明的是,每一个事务帧都对应了唯一的无人机,即每一个事务帧都是只发送到一台无人机,该无人机构成目标无人机。也就是说,目标无人机为与用户在应用中输入需进行控制的无人机。地面站11中存在多个应用,应用指能够执行某种功能的软件程序。每个应用均对应至少一种功能,能够对目标无人机进行操作,即应用用于操作目标无人机。事务调度模块13还用于控制第一通信模块12向目标无人机发送事务帧,需要说明的是,事务调度模块13独占第一通信模块12,地面站11中应用生成的事务帧均存储于事务调度模块13中,由事务调度模块13决定将哪一个事务帧通过第一通信模块12发送给对应的无人机,事务帧用于使目标无人机执行对应的操作指令;或者,事务调度模块13还用于获取第一通信模块12接收到的数据帧,将数据帧提供给地面站11中的应用,该数据帧由无人机向地面站发送,也就是说,事务调度模块13独占第一通信模块12,第一通信模块12只由事务调度模块13控制,无人机将数据帧发送给第一通信模块12,事务调度模块13从第一通信模块12中获取数据帧,再将数据帧提供给对应的应用,数据帧可以包括无人机的各类信息、数据,比如无人机标识号、无人机当前高度、无人机当前位置、运动状态。值得一提的是,帧是无人机与地面站11之间进行通信的最小数据单位。
从上述内容可以得知,地面站11中的应用不再是直接控制第一通信模块12发送事务帧或接收数据帧,而是由事务调度模块13对应用需发送的事务帧或需接收的数据帧进行管理和统筹,地面站11中的应用是通过事务调度模块13对需发送的事务帧或需接收的数据帧进行管理和统筹,事务调度模块13来控制第一通信模块12发送事务帧或者从第一通信模块12获取接收的数据帧,再将数据帧提供给地面站11中相应的应用。需要说明的是,事务调度模块13可以是地面站11中独立设置的一个模块,也可以集成在地面站11中任意一个模块中,但事务调度模块13的执行程序是独立运行的。
本发明提供的地面站11通过事务调度模块13控制第一通信模块12向无人机发送事务帧或者通过事务调度模块13获取第一通信模块12从无人机接收到的数据帧,与现有技术相比,在多个应用需要向多台无人机发送事务帧或获取数据帧时,本发明地面站11中的事务调度模块13存储地面站11中应用的事务帧,事务调度模块13占用第一通信模块12,从而使多个应用利用事务调度模块13来控制第一通信模块12来发送事务帧或获取数据帧,也就是说,由事务调度模块13可以控制第一通信模块12发送任一应用的事务帧或获取任一应用的数据帧,从而保证事务调度模块13将多个应用的事务帧有序的通过第一通信模块12发送,或保证事务调度模块13从第一通信模块12有序的获取多个应用需要的数据帧,省去了应用占用第一通信模块12后再退出的步骤,降低了多个应用与多台无人机进行通信的复杂度,从而提高多个应用与多台无人机之间的通信效率。
需要说明的是,现有技术中在通信中也常常使用套接字(Socket)来解决多进程占用通信模块引发通信堵塞的问题,但是,在地面站与无人机的通信中,会根据无人机所处的场景不同,需要地面站与无人机在不同的频段利用不同的通信速率来进行通信,在这样的情况下,若使用套接字实现地面站与无人机之间的通信,则在每一次频段变换或通信速率变换时,都需要重新适配TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/网络协议,增加了地面站中多个应用与无人机之间的通信的复杂度;而本申请的地面站11中,事务调度模块13仅调用硬件抽象层的接口,在每一次频段变换或通信速率变换时,不需要重新适配,就可以实现地面站11中多个应用与无人机之间的通信,从而降低了地面站11中多个应用与无人机之间的通信的复杂度,提高了地面站11中多个应用与无人机之间的通信效率。
实施例二
请参阅图2,由于地面站11中的应用均需要通过事务调度模块13与多台无人机建立通信链路,上述实施例中的事务调度模块13包括接收单元131、第一存储单元135、检测单元132、配对单元133和反馈单元134。接收单元131用于接收应用的配对请求,该配对请求是应用发送给事务调度模块13,要求事务调度模块13建立第一通信模块12与目标无人机之间的通信链路的请求。如果应用未控制过目标无人机,则应用将判定地面站11未与目标无人机成功建立过通信链路,此时应用无法操作目标无人机,也无法生成操作无人机的事务帧。第一存储单元135用于存储无人机的配置信息。检测单元132用于检测在第一存储单元135中是否存储有目标无人机的配置信息,目标无人机为与用户在应用中输入需进行控制的无人机。第一存储单元135未存储有目标无人机的配置信息表明在此之前第一通信模块12没有与目标无人机建立过通信链接,第一存储单元135存储有目标无人机的配置信息表明在此之前第一通信模块12曾与目标无人机建立过通信链接。配对单元133用于当第一存储单元135未存储有目标无人机的配置信息时,控制第一通信模块12向目标无人机发送双方配对请求,在配对成功后,即第一通信模块12接收到目标无人机的配置信息,将目标无人机的配置信息存储在第一存储单元135中,及向发出配对请求的应用反馈配对成功信息,在后续再次建立该目标无人机与第一通信模块12之间的通信链路时,可以直接利用已经存储在第一存储单元135中的该目标无人机的配置信息,值得一提的是,双方配对请求中包含地面站11的通信配置,用于向目标无人机请求目标无人机与地面站11的第一通信模块12进行配对。反馈单元134用于当第一存储单元135存储有目标无人机的配置信息时,向应用反馈配对成功信息,该应用为发出配对请求的应用。需要说明的是,无人机20的配置信息可以包括无人机标识号等具有标识作用的信息,地面站11的通信配置可以包括地面站标识号、地面站IP(InternetProtocol,网络协议)地址等具有标识作用的信息,还可以包括通信频率、通信通道等无人机20与第一通信模块12通信的配对成功需要的信息等。应用收到配对成功信息后,即可生成针对目标无人机的操作控件或者操作按钮等,以供用户对目标无人机进行操作。
在本实施例中,在应用通过事务调度模块13建立第一通信模块12与无人机的通信链路之后,应用才能够通过事务调度模块13向无人机发送事务帧,或者通过事务调度模块13获取第一通信模块12从无人机接收到的数据帧,即实现应用与无人机之间的通信,需要说明的是,应用与无人机之间的通信可以是单向通信,也可以是双向通信。对于已经存储在第一存储单元135中的无人机的配置信息来说,当应用下一次启动或者其它应用需要控制目标无人机时,可以利用已经存储的配置信息直接向应用反馈配对成功信息,使应用可生成针对目标无人机的操作控件或者操作按钮等,以供用户对目标无人机进行操作控制。在现有技术中,若通信***中具有M个应用与N台无人机,则实现M个应用通过控制通信模块控制N台无人机,需要进行M×N次配对(也就是说配对复杂度为M×N),即每一次应用通过控制通信模块与无人机建立通信链路时,均需要进行配对;而在本实施例中,由于第一存储单元135中存储有无人机的配置信息,即事务调度模块13已经与该无人机建立可用的通信链路,应用如有配对请求则无需再进行配对。比如,应用A在此前发出过对1号无人机的配对请求,在配对成功的情况下,1号无人机的配置信息存储在第一存储单元135中,当应用B发出对1号无人机的配对请求时,由于第一存储单元135存储有1号无人机的配置信息,因此,反馈单元134直接向应用B反馈配对成功信息,从而减少了应用B与1号无人机配对的过程。因此,本实施例能够减少配对的次数,从而使得M个应用通过事务调度模块13控制第一通信模块12与N台无人机建立通信链路时,将配对的复杂度降为N,从而减少了多个应用通过事务调度模块13控制第一通信模块12与多台无人机之间的配对次数,极大地简化了多个应用通过事务调度模块13控制第一通信模块12与多台无人机之间的配对过程。
实施例三
为了保证事务调度模块13能够控制第一通信模块12有序的发送事务帧,本实施例中的事务帧具有优先级,优先级可决定事务帧的发送顺序。请参阅图3,事务调度模块13包括优先级单元136,优先级单元136用于每隔一个事务帧提取周期,在事务帧中选取优先级最高的事务帧,控制第一通信模块12先向目标无人机发送优先级最高的事务帧,其中,优先级具体可以用数值表示,其表示方法具体可以为数值越大表明优先级越高,或者,数值越小表明优先级越高。比如,事务调度模块13存储有事务帧1、事务帧2和事务帧3,事务帧1、事务帧2和事务帧3组成了一个发送帧队列,该发送帧队列是一个线程同步的帧队列,优先级用数值表示,数值越小表明优先级越高,事务帧1的优先级数值为30,事务帧2的优先级数值为10,事务帧3的优先级数值为50,则事务调度模块13控制第一通信模块12向无人机先发送事务帧2,经过一个时钟周期后,再发送事务帧1,以此类推。
事务调度模块13中存储的事务帧组成了一个发送帧队列,地面站11中的应用能够根据用户的输入或者选择的指令向发送帧队列添加事务帧,事务调度模块13自身可以随机地向发送帧队列添加事务帧,新添加的事务帧添加至发送帧队列的最后。
具体的,事务帧包括读事务帧、写事务帧和实时事务帧,事务调度模块13还可以包括第二存储单元137和添加单元138,第二存储单元137用于存储事务帧;添加单元138用于向第二存储单元137中添加读事务帧。
其中,读事务帧表明需要读取某台无人机的信息和数据,比如读取1号无人机的飞行高度,读取2号无人机的坐标等,无人机接收到读事务帧后,会通过第一通信模块12反馈给事务调度模块13数据帧,由于地面站11的应用需要频繁的读取无人机的数据来刷新监控界面,所以读事务帧是频繁发送的一类事务帧,添加单元138可以具体用于定时向第二存储单元137中添加读事务帧;或者,当第二存储单元137中每存储p个事务帧时,向第二存储单元137中添加一个读事务帧,p为大于零的正整数,实现事务调度模块13控制第一通信模块12频繁地向无人机发送读事务帧。事务调度模块13还可以包括第三存储单元139和数据回应单元1310,无人机接收到地面站11的事务调度模块13控制第一通信模块12发出的读事务帧时,无人机会向地面站11的第一通信模块12发送数据帧;第三存储单元139用于存储通过第一通信模块12从无人机获取的数据帧;数据回应单元1310用于当应用向事务调度模块13请求无人机的数据帧时,将第三存储单元139中存储的最近一次从无人机获取的数据帧提供给应用,从而保证应用能够得到更及时、更准确的无人机的数据帧。由于事务调度模块13能够通过第一通信模块12较频繁获得无人机的数据帧,因此,事务调度模块13能够将M个应用与N台无人机之间读取数据帧的复杂度从现有技术的M×N降低至N;还需要说明的是,由于可能出现某台无人机与第一通信模块12断开通信链路的情况,为了防止无人机已经与第一通信模块12断开通信链路,但断开通信链路前通过第一通信模块12发送给事务调度模块13的数据帧还保留在事务调度模块13,使得操作人员误认为无人机与第一通信模块12的通信链路并未断开的情况发生,事务调度模块13中的数据帧存在的时长超过预设有效时长后,删除该数据帧。
写事务帧用于控制无人机执行某种操作,比如,设置让2号无人机起飞,设置1号无人机悬停等,在无人机成功接收并解析所述写事务帧后,向地面站11的第一通信模块12返回用于指示写事务帧成功接收并解析的反馈帧,由第一通信模块12将所述反馈帧传输给事务调度模块13。
实时事务帧用于控制无人机实时执行某种操作,实时事务帧往往是由物理按键、物理摇杆等物理操作装置生成的事务帧,为保证实时性无人机接收并解析实时事务帧指示后,不需要通过第一通信模块12反馈反馈帧给事务调度模块13;实时事务帧侧重于实时性,因此实时事务帧的优先级高于读事务帧的优先级和写事务帧的优先级,写事务帧的优先级高于读事务帧的优先级。
需要说明的是,为了避免一直发送优先级较高的事务帧,而使得先加入发送帧队列的优先级较低的事务帧一直处于等待状态而无法发出的情况,请参阅图3,事务调度模块13包括优先级更新单元1311,优先级更新单元1311用于在事务调度模块13中优先级最高的事务帧被发送后,提升事务调度模块13中其他事务帧的优先级,从而在调整过优先级的事务帧中选取优先级最高的事务帧先发送出去。当优先级用数值表示,且数值越大优先级越高时,提升优先级的方式可以是增大优先级的数值;当数值越小优先级越高时,提升优先级的方式可以是减小优先级的数值,比如,如图4、图5、图6所示,图4为某一次发送事务帧之前的发送帧队列,事务调度模块13中第二存储单元137存储有事务帧1、事务帧2和事务帧3,事务帧1、事务帧2和事务帧3组成了一个发送帧队列,优先级用数值表示,数值越小表明优先级越高,事务帧1的优先级数值为10,事务帧2的优先级数值为50,事务帧3的优先级数值为20,图5为某一次发送事务帧之后的发送帧队列之一,事务帧1已经被发送出去,事务帧2的优先级数值为40,事务帧3的优先级数值为10。如图6,图6为某一次发送事务帧之后的发送帧队列之二。如果此时事务帧4被存储,事务帧内容为3号机降落,优先级数值为15,则事务帧3会被优先发送,避免了在不改变优先级数值的情况下,当有优先级较高的事务帧加入时,优先级较低的一直无法发出的情况,从而保证事务帧发送的有序性和合理性。
实施例四
请参阅图7,由于无人机与地面站11之间一般采用无线通信,而无线通信的延迟时间往往是不确定的,可能出现以下冲突:应用A对1号机发出事务帧a,并等待1号无人机的回复;应用B对1号机发出事务帧b,并等待1号无人机的回复;经过若干毫秒延时后,第一通信模块12收到1号机的事务帧b回复,但误以为是事务帧a的回复,将该回复发送给应用A,从而进行错误的处理;再经过若干毫秒后,第一通信模块12收到1号机的事务帧a回复,但误以为是事务帧b的回复,将该回复发送给应用B,从而也进行错误的处理。为了防止将无人机发出的回复帧误发给不对应的应用,事务调度模块13包括发送控制单元1312,发送控制单元1312用于当控制第一通信模块12向目标无人机发送一个事务帧后,直至接收到与事务帧对应的回复帧时,或者直至超过预设时长后还未收到与事务帧对应的回复帧时,控制第一通信模块12将下一个事务帧发送至对应的目标无人机。所述回复帧用于指示无人机已经成功接收地面站发送的事务帧。比如,应用A通过事务调度模块13控制第一通信模块12向1号无人机发送了事务帧1后,直至收到1号无人机发送的回复帧后,事务调度模块13中发送控制单元1312才控制第一通信模块12发送下一个事务帧至下一个事务帧所对应的目标无人机;或者预设时长为150ms,应用A通过事务调度模块13控制第一通信模块12向1号无人机发送了事务帧1后,若经过150ms后还未收到1号无人机发送的回复帧,事务调度模块13中发送控制单元1312才控制第一通信模块12发送下一个事务帧至下一个事务帧所对应的目标无人机。从而避免了将无人机发出的回复帧误发给不对应的应用,保证了数据帧能够发给正确的应用。
实施例五
请参阅图8,本发明实施例提供了一种无人机20,无人机20包括第二通信模块21和飞行控制器22,第二通信模块21用于接收地面站11利用事务调度模块13控制第一通信模块12所发送的事务帧,所述事务帧由地面站11中的应用生成,用于操作无人机;飞行控制器22用于获取第二通信模块21接收的事务帧,并控制无人机20执行事务帧所指示的操作;飞行控制器22还用于控制第二通信模块21向地面站11的第一通信模块12返回数据帧,以便地面站11利用事务调度模块13控制第一通信模块12接收该数据帧以及将该数据帧提供给地面站11中的应用。
本发明提供的无人机20包括第二通信模块21和飞行控制器22,与现有技术中与多个应用占用地面站的通信模块进行通信的无人机相比,在多个应用需要向多台无人机发送事务帧或获取数据帧时,本发明中的无人机20通过飞行控制器22控制第二通信模块21接收地面站11利用事务调度模块13控制第一通信模块12发送的事务帧,飞行控制器22根据第二通信模块21接收的事务帧,控制无人机20执行事务帧指示的操作,还能够控制第二通信模块21向地面站11的第一通信模块12返回数据帧,以便地面站11利用事务调度模块13控制第一通信模块12接收该数据帧以及将该数据帧提供给地面站11中的应用,从而保证地面站11中应用能够通过事务调度模块13从第一通信模块12有序的获取需要的数据帧,省去了应用占用第一通信模块12后再退出的步骤,降低了多个应用与多台无人机进行通信的复杂度,从而提高多个应用与多台无人机之间的通信效率。
实施例六
进一步地,第二通信模块21还用于接收地面站11利用事务调度模块13中配对单元133控制第一通信模块12所发送的双方配对请求,双方配对请求包含地面站11的通信配置,用于请求无人机20与地面站11中的第一通信模块12进行配对;飞行控制器22还用于获取第二通信模块21接收的双方配对请求,存储双方配对请求中的地面站11的通信配置,并控制第二通信模块21向地面站的第一通信模块12返回无人机20的配置信息,以便地面站11利用事务调度模块13中配对单元133将无人机的配置信息存储在事务调度模块13的第一存储单元135中以及向地面站11中的应用反馈配对成功信息。
在上述实施例的基础上,飞行控制器22还用于在获取第二通信模块21接收的事务帧之后,控制第二通信模块21向地面站11的第一通信模块12返回回复帧,以便地面站11利用事务调度模块13控制第一通信模块12接收该回复帧以及控制第一通信模块12将下一个事务帧发送至下一个事务帧对应的目标无人机。回复帧用于通知地面站11之前的事务帧已经成功发送至无人机20,便于地面站11决定何时发送下一个事务帧。
需要说明的是,实施例五和实施例六中关于地面站11的相关说明部分请参见实施例一至实施例四,在此不再赘述。
实施例七
请参阅图9,本发明实施例提供了一种地面站与无人机的通信***10,地面站与无人机的通信***10包括地面站11与至少一台无人机20(图9中设定为三台无人机,分别为1号无人机、2号无人机和3号无人机),地面站11用于发送事务帧至目标无人机,所述事务帧由地面站11中的应用生成,用于操作所述目标无人机。每一个事务帧都有唯一对应的一台目标无人机,所以图9中,对于一个事务帧,目标无人机为1号无人机、2号无人机和3号无人机中的一台无人机。无人机20用于接收并获取地面站11发送的事务帧,并执行事务帧所指示的操作;无人机20还用于向地面站11返回数据帧。地面站11还用于接收目标无人机返回的数据帧,并将所述数据帧提供给所述应用。本实施例中的地面站11和无人机20均为实施例一至六中的地面站11和无人机20,具体说明内容请参照上述实施例,在此不再赘述。
本发明提供的地面站与无人机的通信***10中,地面站11通过事务调度模块13控制第一通信模块12向无人机发送事务帧或者通过事务调度模块13获取第一通信模块12从无人机接收到的数据帧,与现有技术相比,在多个应用需要向多台无人机发送事务帧或获取数据帧时,本发明地面站11中的事务调度模块13存储地面站11中应用的事务帧,事务调度模块13占用第一通信模块12,从而使多个应用利用事务调度模块13来控制第一通信模块12来发送事务帧或获取数据帧,也就是说,由事务调度模块13可以控制第一通信模块12发送任一应用的事务帧或获取任一应用的数据帧,从而保证事务调度模块13将多个应用的事务帧有序的通过第一通信模块12发送,或保证事务调度模块13从第一通信模块12有序的获取多个应用需要的数据帧,省去了应用占用第一通信模块12后再退出的步骤,降低了多个应用与多台无人机进行通信的复杂度,从而提高多个应用与多台无人机之间的通信效率。
需要说明的是,现有技术中在通信中也常常使用套接字(Socket)来解决多进程占用通信模块引发通信堵塞的问题,但是,在地面站与无人机的通信中,会根据无人机所处的场景不同,需要地面站与无人机在不同的频段利用不同的通信速率来进行通信,在这样的情况下,若使用套接字实现地面站与无人机之间的通信,则在每一次频段变换或通信速率变换时,都需要重新适配TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/网络协议,增加了地面站中多个应用与无人机之间的通信的复杂度;而本申请的地面站与无人机的通信***10中,事务调度模块13仅调用硬件抽象层的接口,在每一次频段变换或通信速率变换时,不需要重新适配,就可以实现地面站11中多个应用与无人机之间的通信,从而降低了地面站11中多个应用与无人机之间的通信的复杂度,提高了地面站11中多个应用与无人机之间的通信效率。
实施例八
在实施例七的基础上,由于在地面站11和无人机20之间相互传输事务帧、数据帧等之前,需要先建立地面站11与无人机20之间的通信链路,因此在地面站11发送事务帧至该事务帧所对应的目标无人机之前,地面站11还用于接收应用的配对请求,检测是否存储有目标无人机的配置信息,并在未存储有目标无人机的配置信息时,向目标无人机发送双方配对请求;无人机20还用于接收地面站发送的双方配对请求,存储所述双方配对请求中的地面站11的通信配置,并向地面站11返回无人机20的配置信息。地面站11还用于接收目标无人机返回的配置信息,存储所述配置信息,并向地面站11中的应用反馈配对成功信息。地面站11与无人机20能够互相利用对方的通信配置和配置信息,从而建立地面站11与无人机20之间的通信链路。
为了保证地面站11能够有序、及时、准确地向无人机20发送事务帧,无人机20还用于在接收地面站11发送的事务帧之后,向地面站11返回回复帧;在地面站11发送事务帧至该事务帧所对应的目标无人机之后,地面站11还用于接收目标无人机返回的回复帧,并控制第一通信模块12发送下一个事务帧至对应的目标无人机,即控制第一通信模块12发送下一个事务帧至下一个事务帧所对应的目标无人机。无人机20在接收到事务帧后向地面站11返回回复帧,使得地面站11能够控制发送下一个事务帧的时刻。
实施例九
请参考图10,本发明实施例提供一种地面站与无人机的通信方法,用于地面站,地面站包括用于向无人机发送事务帧或接收无人机发送的数据帧的第一通信模块,该地面站与无人机的通信方法包括:
步骤210,建立实时事务调度池(RealtimeTransactionSchedulePool);其中,实时事务调度池可以看作是一种用于统筹、管理地面站中的应用产生的事务帧与无人机发送的数据帧的应用,也可以说,实时事务调度池是应用、第一通信模块、无人机之间的中间接口。因此,实时事务调度池能够使地面站中的应用与具体通信方式隔离,在不同的通信方式中进行切换,具体通信方式可以是WiFi、蓝牙或普通2.4G射频通信等,在不同的无线收发设备,或者不同通信速率的设备之间进行切换时,实时事务调度池可以随之切换应用的访问流量和速率,而不需要修改应用的代码,从而实现良好的兼容性和可扩展性。实时事务调度池可以安装于上述实施例中的事务调度模块中。
步骤202,利用实时事务调度池存储地面站中的应用生成的事务帧,应用用于操作目标无人机。
步骤203,利用实时事务调度池控制第一通信模块向目标无人机发送所述事务帧。
步骤204,利用实时事务调度池获取第一通信模块从无人机接收到的数据帧,将该数据帧提供给地面站中的应用。
上述步骤201-步骤204的具体说明内容请参照实施例一至实施例四的内容,在此不再赘述。
本发明提供的地面站与无人机的通信方法中,通过实时事务调度池控制第一通信模块向无人机发送事务帧或者通过实时事务调度池获取第一通信模块从无人机接收到的数据帧,与现有技术中多个应用占用无人机的通信模块时,造成通信模块与无人机之间的通信链路堵塞的通信***和方法相比,在多个应用需要向多台无人机发送事务帧或获取数据帧时,本发明地面站中的实时事务调度池存储地面站中各个应用所生成的事务帧,实时事务调度池占用第一通信模块,从而使多个应用与第一通信模块分离,各个应用需利用实时事务调度池来控制第一通信模块来发送事务帧或获取数据帧,也就是说,由实时事务调度池可以控制第一通信模块发送任一应用的事务帧或获取任一应用的数据帧,从而保证实时事务调度池将多个应用的事务帧有序的通过第一通信模块发送,或保证实时事务调度池从第一通信模块有序的获取多个应用需要的数据帧,省去了应用占用第一通信模块后再退出的切换步骤,降低了多个应用与多台无人机进行通信的复杂度,从而提高多个应用与多台无人机之间的通信效率。
实施例十
请参考图11,在实施例五的基础上,在步骤202之前还可以增加步骤205-步骤208,具体内容如下:
步骤205,接收应用的配对请求;其中,配对请求用于请求控制实时事务调度池建立第一通信模块与目标无人机之间的通信链路。
步骤206,检测实时事务调度池中是否存储有目标无人机的配置信息。
步骤207,当实时事务调度池中未存储有目标无人机的配置信息时,控制第一通信模块向所述目标无人机发送双方配对请求,并在第一通信模块接收到目标无人机的配置信息后将目标无人机的配置信息存储在地面站的第一存储单元中及向应用反馈配对成功信息。
步骤208,当实时事务调度池中存储有目标无人机的配置信息时,向应用反馈配对成功信息。
上述步骤205-步骤208的具体说明内容请参照实施例一至实施例四的内容,在此不再赘述。
实施例十一
请参阅图12,事务帧具有优先级,上述实施例中的步骤203可以具体细化为步骤2031-步骤2033,具体内容如下:
步骤2031,每隔一个事务帧提取周期,利用实时事务调度池在事务帧中选取优先级最高的事务帧。
步骤2032,利用实时事务调度池控制第一通信模块向目标无人机发送优先级最高的事务帧。
步骤2033,提升实时事务调度池中其他事务帧的优先级。
需要说明的是,事务帧包括读事务帧、写事务帧和实时事务帧;实时事务帧的优先级高于读事务帧的优先级和写事务帧的优先级,写事务帧的优先级高于读事务帧的优先级。
上述步骤2031-步骤2033的具体说明内容请参照实施例一至实施例四的内容,在此不再赘述。
实施例十二
请参照图13,在上述实施例的基础上,地面站与无人机的通信方法还可以包括步骤209-步骤211,以保证地面站11的应用能够频繁的读取无人机的数据来刷新监控界面,具体内容如下:
步骤209,向实时事务调度池中添加读事务帧;具体的,向实时事务调度池中添加读事务帧可以包括以下两种方式:方式一,定时向实时事务调度池中添加读事务帧;方式二,当实时事务调度池中每存储p个事务帧时,向实时事务调度池中添加一个读事务帧,p为大于零的正整数。
步骤210,控制实时事务调度池从第一通信模块获取数据帧,并存储该数据帧。
步骤211,当应用向实时事务调度池请求无人机的数据帧时,将实时事务调度池通过第一通信模块最近一次从无人机获取的数据帧提供给应用。
上述步骤209-步骤211的具体说明内容请参照实施例一至实施例四的内容,在此不再赘述。
实施例十三
请参阅图14,在上述实施例的基础上,步骤203之后还可以增添步骤212或步骤213,具体内容如下:
步骤212,当实时事务调度池控制第一通信模块向目标无人机发送一个事务帧后,直至接收到与事务帧对应的回复帧时,控制第一通信模块将下一个事务帧发送至对应的目标无人机。
步骤213,当实时事务调度池控制第一通信模块向无人机发送一个事务帧后,直至超过预设时长后还未收到与事务帧对应的回复帧时,控制第一通信模块将下一个事务帧发送至对应的目标无人机。
上述步骤212或步骤213的具体说明内容请参照实施例一至实施例四的内容,在此不再赘述。
实施例十四
请参阅图15,本发明实施例提供一种无人机与地面站的通信方法,用于无人机,无人机包括用于接收地面站发送的事务帧或向所述地面站发送数据帧的第二通信模块,具体的,地面站与无人机的通信方法包括:
步骤301,获取所述第二通信模块接收的事务帧,所述事务帧由地面站中的应用生成,并由地面站利用实时事务调度池控制第一通信模块发送。
步骤302,执行事务帧所指示的操作。
步骤303,控制所述第二通信模块向所述地面站的第一通信模块返回数据帧,以便地面站利用实时事务调度池控制所述第一通信模块接收该数据帧以及将该数据帧提供给所述地面站中的应用。
上述步骤301至步骤303的具体说明内容请参照实施例五和实施例六的内容,在此不再赘述。
本发明提供的地面站与无人机的通信方法中,无人机控制无人机中的第二通信模块接收地面站发送的事务帧,并执行事务帧指示的操作,无人机还可以向地面站返回数据帧,与现有技术中与多个应用占用地面站的通信模块进行通信的无人机相比,在多个应用需要向多台无人机发送事务帧或获取数据帧时,本发明中的无人机控制第二通信模块接收地面站利用事务调度模块控制第一通信模块发送的事务帧,根据第二通信模块接收的事务帧,控制无人机执行事务帧指示的操作,还能够控制第二通信模块向地面站的第一通信模块返回数据帧,以便地面站利用事务调度模块控制第一通信模块接收该数据帧以及将该数据帧提供给地面站中的应用,从而保证地面站中应用能够通过事务调度模块从第一通信模块有序的获取需要的数据帧,省去了应用占用第一通信模块后再退出的步骤,降低了多个应用与多台无人机进行通信的复杂度,从而提高多个应用与多台无人机之间的通信效率。
实施例十五
请参阅图16,在实施例十四的基础上,可以在步骤301之前添加步骤305和步骤306,在步骤302之后添加步骤307,具体内容如下:
步骤305,获取第二通信模块接收的双方配对请求,所述双方配对请求由所述地面站利用实时事务调度池控制第一通信模块所发送。
步骤306,存储所述双方配对请求中地面站的通信配置,并控制所述第二通信模块向所述地面站的第一通信模块返回无人机的配置信息,以便地面站利用实时事务调度池存储无人机的配置信息以及向所述地面站中的应用反馈配对成功信息。
步骤307,控制所述第二通信模块向所述地面站的第一通信模块返回回复帧,以便所述地面站利用实时事务调度池控制所述第一通信模块接收该回复帧以及控制第一通信模块将下一个事务帧发送至对应的目标无人机。
上述步骤305至步骤307的具体说明内容请参照实施例五和实施例六的内容,在此不再赘述。
实施例十六
请参阅图17,本发明提供了一种地面站与无人机的通信方法,包括:
步骤401,地面站建立实时事务调度池。
步骤402,地面站利用所述实时事务调度池控制所述第一通信模块发送事务帧至目标无人机,该事务帧由地面站中的应用生成,用于操作所述目标无人机。
步骤403,无人机接收并获取所述地面站发送的事务帧,执行该事务帧所指示的操作。
步骤404,无人机向所述地面站返回数据帧。
步骤405,地面站利用所述实时事务调度池获取所述第一通信模块接收到的数据帧,将所述数据帧提供给所述地面站中的应用。
上述步骤401至步骤405的具体说明内容请参照前述实施例一至实施例十五的内容,在此不再赘述。
实施例十七
请参阅图18,在实施例十六的基础上,在步骤402之前还可以添加步骤409-步骤414,在步骤404之后还可以添加步骤步骤415和步骤416,具体内容如下:
步骤409,地面站接收应用的配对请求,配对请求用于请求控制实时事务调度池建立第一通信模块与目标无人机之间的通信链路。
步骤410,地面站检测实时事务调度池中是否存储有目标无人机的配置信息。
步骤411,当实时事务调度池中未存储有目标无人机的配置信息时,地面站利用实时事务调度池控制第一通信模块向目标无人机发送双方配对请求。
步骤412,无人机接收所述地面站发送的双方配对请求,存储所述双方配对请求中的地面站的通信配置。
步骤413,无人机向所述地面站返回无人机的配置信息。
步骤414,地面站利用实时事务调度池控制第一通信模块接收目标无人机返回的配置信息,并利用实时事务调度池存储所述目标无人机的配置信息及向应用反馈配对成功信息。
步骤415,无人机向所述地面站返回回复帧。
步骤416,地面站利用实时事务调度池控制第一通信模块接收无人机返回的回复帧,并利用实时事务调度池控制第一通信模块发送下一个事务帧至对应的目标无人机。
上述步骤409至步骤416的具体说明内容请参照前述实施例一至实施例十五的内容,在此不再赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,无人机的说明部分,也可以参见地面站的相关说明,地面站与无人机的通信***的说明部分,可以参见地面站以及无人机的相关说明;此外,对于地面站与无人机的通信方法的实施例而言,由于其基本相似于地面站以及无人机的实施例,所以描述得比较简单,相关之处参见地面站与以及无人机的实施例的部分说明即可。
在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。