无人机控制方法、装置、计算机设备和存储介质转让专利

申请号 : CN202310593352.1

文献号 : CN116301060B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈良贵王亚一

申请人 : 武汉天眼智达科技有限公司

摘要 :

本申请涉及一种无人机控制方法、装置、计算机设备和存储介质。所述方法包括:接收待控无人机的航行任务;对航行任务进行解析,得到多个航点对应的机头角度;针对多个航点中的当前航点,根据当前航点对应的机头角度与下一航点对应的机头角度,确定当前航点与下一航点间的机头角度夹角;根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向;根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行。采用本方法能够提高无人机的控制效率。

权利要求 :

1.一种无人机控制方法,其特征在于,所述方法包括:

接收待控无人机的航行任务;

对所述航行任务进行解析,得到多个航点对应的机头角度;

针对多个航点中的当前航点,根据所述当前航点对应的机头角度与下一航点对应的机头角度,确定所述当前航点与下一航点间的机头角度夹角;在所述当前航点的机头角度为正值且所述下一航点的机头角度为负值,或者,所述当前航点的机头角度为负值且所述下一航点的机头角度为正值的情况下,获取所述下一航点的机头角度和所述当前航点的机头角度之间的差值绝对值,判断所述差值绝对值是否大于平角角度,得到第二判断结果,在所述第二判断结果指示所述差值绝对值大于平角角度,且所述下一航点的机头角度大于所述当前航点的机头角度的情况下,确定所述当前航点对应的转动方向为逆时针,且所述当前航点对应的转动角度为周角角度与所述机头角度夹角的差值;在所述第二判断结果指示所述差值绝对值大于平角角度,且所述下一航点的机头角度小于所述当前航点的机头角度的情况下,确定所述当前航点对应的转动方向为顺时针,且所述当前航点对应的转动角度为周角角度与所述机头角度夹角的差值;在所述第二判断结果指示所述差值绝对值小于平角角度,且所述下一航点的机头角度大于所述当前航点的机头角度的情况下,确定所述当前航点对应的转动方向为顺时针,且所述当前航点对应的转动角度为所述机头角度夹角;在所述第二判断结果指示所述差值绝对值小于平角角度,且所述下一航点的机头角度小于所述当前航点的机头角度的情况下,确定所述当前航点对应的转动方向为逆时针,且所述当前航点对应的转动角度为所述机头角度夹角;

根据各航点对应的转动角度、转动方向以及机头角度,控制所述待控无人机飞行。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

在所述当前航点的机头角度与所述下一航点的机头角度同为正值,或者所述当前航点的机头角度与所述下一航点的机头角度同为负值的情况下,判断所述下一航点的机头角度是否大于所述当前航点的机头角度,得到第一判断结果,根据所述第一判断结果和所述机头角度夹角,确定所述当前航点对应的转动角度以及转动方向;所述正值是以正北为0度,0度至180度的范围;所述负值是以正北为0度,0度至‑180度的范围。

3.根据权利要求2所述的方法,其特征在于,所述根据所述第一判断结果和所述机头角度夹角,确定所述当前航点对应的转动角度以及转动方向,包括:在所述第一判断结果指示所述下一航点的机头角度大于所述当前航点的机头角度的情况下,确定所述当前航点对应的转动方向为顺时针,且所述当前航点对应的转动角度为所述机头角度夹角;

在所述第一判断结果指示所述下一航点的机头角度小于所述当前航点的机头角度的情况下,确定所述当前航点对应的转动方向为逆时针,且所述当前航点对应的转动角度为所述机头角度夹角。

4.根据权利要求1所述的方法,其特征在于,所述根据各航点对应的转动角度、转动方向以及机头角度,控制所述待控无人机飞行,包括:根据所述航行任务,确定各航点对应的飞行顺序;

控制所述待控无人机根据首航点对应的机头角度飞行至所述首航点,并控制所述待控无人机的机头,按照所述首航点对应的转动方向转动对应的转动角度,以控制所述待控无人机飞行至第二航点;

针对所述第二航点和末航点之间的每个航点,控制所述待控无人机的机头,按照所述当前航点对应的转动方向转动对应的转动角度,以控制所述待控无人机飞行至下一航点,直到飞行至所述末航点。

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

根据所述航行任务,确定返航路径和返航终点;

在所述待控无人机飞行至所述末航点的情况下,按照所述返航路径飞行至所述返航终点。

6.一种无人机控制装置,其特征在于,所述装置包括:

接收模块,用于接收待控无人机的航行任务;

解析模块,用于对所述航行任务进行解析,得到多个航点对应的机头角度;

确定模块,用于针对多个航点中的当前航点,根据所述当前航点对应的机头角度与下一航点对应的机头角度,确定所述当前航点与下一航点间的机头角度夹角;在所述当前航点的机头角度为正值且所述下一航点的机头角度为负值,或者,所述当前航点的机头角度为负值且所述下一航点的机头角度为正值的情况下,获取所述下一航点的机头角度和所述当前航点的机头角度之间的差值绝对值,判断所述差值绝对值是否大于平角角度,得到第二判断结果,在所述第二判断结果指示所述差值绝对值大于平角角度,且所述下一航点的机头角度大于所述当前航点的机头角度的情况下,确定所述当前航点对应的转动方向为逆时针,且所述当前航点对应的转动角度为周角角度与所述机头角度夹角的差值;在所述第二判断结果指示所述差值绝对值大于平角角度,且所述下一航点的机头角度小于所述当前航点的机头角度的情况下,确定所述当前航点对应的转动方向为顺时针,且所述当前航点对应的转动角度为周角角度与所述机头角度夹角的差值;在所述第二判断结果指示所述差值绝对值小于平角角度,且所述下一航点的机头角度大于所述当前航点的机头角度的情况下,确定所述当前航点对应的转动方向为顺时针,且所述当前航点对应的转动角度为所述机头角度夹角;在所述第二判断结果指示所述差值绝对值小于平角角度,且所述下一航点的机头角度小于所述当前航点的机头角度的情况下,确定所述当前航点对应的转动方向为逆时针,且所述当前航点对应的转动角度为所述机头角度夹角;

控制模块,用于根据各航点对应的转动角度、转动方向以及机头角度,控制所述待控无人机飞行。

7.根据权利要求6所述的装置,其特征在于,所述确定模块还用于在所述当前航点的机头角度与所述下一航点的机头角度同为正值,或者所述当前航点的机头角度与所述下一航点的机头角度同为负值的情况下,判断所述下一航点的机头角度是否大于所述当前航点的机头角度,得到第一判断结果,根据所述第一判断结果和所述机头角度夹角,确定所述当前航点对应的转动角度以及转动方向;所述正值是以正北为0度,0度至180度的范围;所述负值是以正北为0度,0度至‑180度的范围。

8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。

说明书 :

无人机控制方法、装置、计算机设备和存储介质

技术领域

[0001] 本申请涉及飞行器控制技术领域,特别是涉及一种无人机控制方法、装置、计算机设备和存储介质。

背景技术

[0002] 随着电力行业的蓬勃发展,使用无人机来执行电力巡检任务的地市越来越多。通过无人机执行电力巡检任务,大大提升了电力巡检效率,节省了人工和时间成本。
[0003] 现有的无人机控制方法中,无人机按照预设的航行路线执行电力巡检任务。然而,无人机从当前航点到下一航点有几率出现大幅度转向情况。例如:从当前角度逆时针转动30度即可到达下一航点指定航向,结果却出现顺时针转动330度才到达下一航点指定航向,多转了300度,造成了大幅度转向问题的出现。因此,现有的无人机控制方法存在无人机控制效率低的问题。

发明内容

[0004] 基于此,有必要针对上述技术问题,提供一种能够提高无人机控制效率的无人机控制方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0005] 第一方面,本申请提供了一种无人机控制方法。所述方法包括:
[0006] 接收待控无人机的航行任务;
[0007] 对航行任务进行解析,得到多个航点对应的机头角度;
[0008] 针对多个航点中的当前航点,根据当前航点对应的机头角度与下一航点对应的机头角度,确定当前航点与下一航点间的机头角度夹角;根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向;
[0009] 根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行。
[0010] 在其中一个实施例中,根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向,包括:
[0011] 在当前航点的机头角度与下一航点的机头角度同为正值,或者当前航点的机头角度与下一航点的机头角度同为负值的情况下,判断下一航点的机头角度是否大于当前航点的机头角度,得到第一判断结果,根据第一判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向;正值是以正北为0度,0度至180度的范围;负值是以正北为0度,0度至‑180度的范围;
[0012] 在当前航点的机头角度为正值且下一航点的机头角度为负值,或者,当前航点的机头角度为负值且下一航点的机头角度为正值的情况下,获取下一航点的机头角度和当前航点的机头角度之间的差值绝对值,判断差值绝对值是否大于平角角度,得到第二判断结果,根据第二判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向。
[0013] 在其中一个实施例中,根据第一判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向,包括:
[0014] 在第一判断结果指示下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为机头角度夹角;
[0015] 在第一判断结果指示下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为机头角度夹角。
[0016] 在其中一个实施例中,根据第二判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向,包括:
[0017] 在第二判断结果指示差值绝对值大于平角角度,且下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为周角角度与机头角度夹角的差值;
[0018] 在第二判断结果指示差值绝对值大于平角角度,且下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为周角角度与机头角度夹角的差值;
[0019] 在第二判断结果指示差值绝对值小于平角角度,且下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为机头角度夹角;
[0020] 在第二判断结果指示差值绝对值小于平角角度,且下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为机头角度夹角。
[0021] 在其中一个实施例中,根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行,包括:
[0022] 根据航行任务,确定各航点对应的飞行顺序;
[0023] 控制待控无人机根据首航点对应的机头角度飞行至首航点,并控制待控无人机的机头,按照首航点对应的转动方向转动对应的转动角度,以控制待控无人机飞行至第二航点;
[0024] 针对第二航点和末航点之间的每个航点,控制待控无人机的机头,按照当前航点对应的转动方向转动对应的转动角度,以控制待控无人机飞行至下一航点,直到飞行至末航点。
[0025] 在其中一个实施例中,无人机控制方法还包括:
[0026] 根据航行任务,确定返航路径和返航终点;
[0027] 在待控无人机飞行至末航点的情况下,按照返航路径飞行至返航终点。
[0028] 第二方面,本申请还提供了一种无人机控制装置。所述装置包括:
[0029] 接收模块,用于接收待控无人机的航行任务;
[0030] 解析模块,用于对航行任务进行解析,得到多个航点对应的机头角度;
[0031] 确定模块,用于针对多个航点中的当前航点,根据当前航点对应的机头角度与下一航点对应的机头角度,确定当前航点与下一航点间的机头角度夹角;根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向;
[0032] 控制模块,用于根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行。
[0033] 第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0034] 接收待控无人机的航行任务;
[0035] 对航行任务进行解析,得到多个航点对应的机头角度;
[0036] 针对多个航点中的当前航点,根据当前航点对应的机头角度与下一航点对应的机头角度,确定当前航点与下一航点间的机头角度夹角;根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向;
[0037] 根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行。
[0038] 第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0039] 接收待控无人机的航行任务;
[0040] 对航行任务进行解析,得到多个航点对应的机头角度;
[0041] 针对多个航点中的当前航点,根据当前航点对应的机头角度与下一航点对应的机头角度,确定当前航点与下一航点间的机头角度夹角;根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向;
[0042] 根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行。
[0043] 第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0044] 接收待控无人机的航行任务;
[0045] 对航行任务进行解析,得到多个航点对应的机头角度;
[0046] 针对多个航点中的当前航点,根据当前航点对应的机头角度与下一航点对应的机头角度,确定当前航点与下一航点间的机头角度夹角;根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向;
[0047] 根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行。
[0048] 上述无人机控制方法、装置、计算机设备、存储介质和计算机程序产品,通过接收待控无人机的航行任务,对航行任务进行解析,得到多个航点对应的机头角度,针对多个航点中的当前航点,根据当前航点对应的机头角度与下一航点对应的机头角度,确定当前航点与下一航点间的机头角度夹角,根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向,根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行。这种通过航行任务中各航点的机头角度以及机头角度夹角,确定出各航点机头的转动方向和转动角度的方法,能够避免出现机头大幅度转向的情况,提高了无人机的控制效率。

附图说明

[0049] 图1为一个实施例中无人机控制方法的应用环境图;
[0050] 图2为一个实施例中无人机控制方法的流程示意图;
[0051] 图3为一个实施例中正值和负值的示意图;
[0052] 图4为一个实施例中无人机控制方法的总体流程示意图;
[0053] 图5为一个实施例中无人机控制装置的结构框图;
[0054] 图6为一个实施例中计算机设备的内部结构图。

具体实施方式

[0055] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0056] 本申请实施例提供的无人机控制方法,可以应用于如图1所示的应用环境中。其中,控制器102与待控无人机104进行通信。控制器102接收待控无人机104的航行任务;对航行任务进行解析,得到多个航点对应的机头角度;针对多个航点中的当前航点,根据当前航点对应的机头角度与下一航点对应的机头角度,确定当前航点与下一航点间的机头角度夹角;根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向;根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机104飞行。其中,控制器102可以为无人机遥控设备。终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
[0057] 在一个实施例中,如图2所示,提供了一种无人机控制方法,以该方法应用于图1中的控制器102为例进行说明,包括以下步骤:
[0058] 步骤202,接收待控无人机的航行任务。
[0059] 其中,待控无人机是利用控制器控制的不载人飞机。控制器可以为无线电遥控设备。
[0060] 航行任务指的是包括多种航向参数的航行任务文件。航行任务用于指示无人机按照航行任务中的多种航向参数自动飞行,并完成航行任务。航向参数包括航向角度、云台角度、经度、纬度、高度以及飞行动作等。在一些实施例中,航行任务可以是电力巡检场景下的航行任务,还可以是其他场景下的航行任务。
[0061] 控制器接收待控无人机的航行任务,根据航行任务控制待控无人机飞行,以完成航行任务。
[0062] 步骤204,对航行任务进行解析,得到多个航点对应的机头角度。
[0063] 其中,机头角度指的是待控无人机机头方向与正北方向的夹角。
[0064] 控制器对航行任务进行解析,得到多个航点对应的航向参数。航向参数的类型包括机头角度。控制器根据保存航行任务的文件类型,确定解析方法。例如,保存航行任务的文件类型为KML(Keyhole Markup Language,标记语言)类型,相应地可以采用DOM(Document Object Model,文档对象模型)解析器进行解析,得到多个航点对应的机头角度。例如,保存航行任务的文件类型为JSON(JavaScript ObjectNotation,JavaScript对象简谱,一种轻量级的数据交换格式)类型,相应的可以采用JSON解析器进行解析,得到多个航点对应的机头角度。
[0065] 步骤206,针对多个航点中的当前航点,根据当前航点对应的机头角度与下一航点对应的机头角度,确定当前航点与下一航点间的机头角度夹角;根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向。
[0066] 其中,航行任务中包括多个航点的航向参数。控制器根据解析出的多个航点的航向参数的顺序,确定每个航点的执行顺序。
[0067] 当前航点是执行顺序中多个航点中的任一当前航点,下一航点是执行顺序中当前航点的下一航点。控制器将当前航点对应的机头角度与下一航点对应的机头角度做差,得到的差值的绝对值作为当前航点与下一航点间的机头角度夹角。
[0068] 转动角度指的是待控无人机从当前航点飞行到下一航点时,机头的转动角度。转动方向指的是待控无人机从当前航点飞行到下一航点时,机头的转动方向。转动方向包括顺时针、逆时针或者不转动中的任一种。
[0069] 控制器根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向。通常情况下,待控无人机按照当前航点的机头角度与下一航点的机头角度,从当前航点自动飞行至下一航点,存在一定概率出现大幅度转向。而控制器根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定出当前航点对应的转动角度以及转动方向,有利于避免无人机大幅度转向问题的出现,提高来无人机的控制效率。
[0070] 步骤208,根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行。
[0071] 其中,控制器控制待控无人机在各航点按照对应的转动角度、转动方向以及机头角度飞行,能够避免大幅度转向问题的出现,提高待控无人机的控制效率。
[0072] 上述无人机控制方法中,通过接收待控无人机的航行任务,对航行任务进行解析,得到多个航点对应的机头角度,针对多个航点中的当前航点,根据当前航点对应的机头角度与下一航点对应的机头角度,确定当前航点与下一航点间的机头角度夹角,根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向,根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行。这种通过航行任务中各航点的机头角度以及机头角度夹角,确定出各航点机头的转动方向和转动角度的方法,能够避免出现机头大幅度转向的情况,提高了无人机的控制效率。
[0073] 在一个实施例中,根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向,包括:在当前航点的机头角度与下一航点的机头角度同为正值,或者当前航点的机头角度与下一航点的机头角度同为负值的情况下,判断下一航点的机头角度是否大于当前航点的机头角度,得到第一判断结果,根据第一判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向;正值是以正北为0度,0度至180度的范围;负值是以正北为0度,0度至‑180度的范围;在当前航点的机头角度为正值且下一航点的机头角度为负值,或者,当前航点的机头角度为负值且下一航点的机头角度为正值的情况下,获取下一航点的机头角度和当前航点的机头角度之间的差值绝对值,判断差值绝对值是否大于平角角度,得到第二判断结果,根据第二判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向。
[0074] 其中,控制器确定当前航点的机头角度与下一航点的机头角度是正值还是负值。如图3所示为正值和负值的示意图。正值是以正北方向为0度,0度至180度的角度范围,负值是以正北方向为0度,0度至‑180度的角度范围。控制器将大于0度的当前航点的机头角度确定为正值。同样地,将大于0度的下一航点的机头角度确定为正值。控制器将小于0度的当前航点的机头角度确定为负值。同样地,将小于0度的下一航点的机头角度确定为负值。
[0075] 在当前航点的机头角度与下一航点的机头角度同为正值,或者当前航点的机头角度与下一航点的机头角度同为负值的情况下,控制器判断下一航点的机头角度是否大于当前航点的机头角度,得到第一判断结果。第一判断结果用于指示下一航点的机头角度是否大于当前航点的机头角度。控制器根据第一判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向。
[0076] 在当前航点的机头角度为正值且下一航点的机头角度为负值,或者,当前航点的机头角度为负值且下一航点的机头角度为正值的情况下,控制器将下一航点的机头角度和当前航点的机头角度做差,得到的差值取绝对值。再将得到的差值的绝对值,作为下一航点的机头角度和当前航点的机头角度之间的差值绝对值。控制器将差值绝对值与平角角度进行比较,判断差值绝对值是否大于平角角度,得到第二判断结果。第二判断结果用于指示差值绝对值是否大于平角角度。控制器根据第二判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向。
[0077] 本实施例中,通过在当前航点的机头角度、下一航点的机头角度分别为正值或者为负值的不同情况,采用不同的判断逻辑,根据下一航点的机头角度与当前航点的机头角度的大小,以及机头角度之间的差值绝对值来确定当前航点对应的转动角度和转动方向,有利于避免待控无人机在飞行时出现大幅度转向的问题,提高无人机的控制效率。
[0078] 在一个实施例中,根据第一判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向,包括:在第一判断结果指示下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为机头角度夹角;在第一判断结果指示下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为机头角度夹角。
[0079] 其中,在第一判断结果指示下一航点的机头角度大于当前航点的机头角度的情况下,控制器确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为机头角度夹角。例如,下一航点的机头角度为30度,当前航点的机头角度为10度,机头角度夹角为20度,则当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为20度。
[0080] 在第一判断结果指示下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为机头角度夹角。例如,下一航点的机头角度为‑30度,当前航点的机头角度为‑10度,机头角度夹角为20度,则当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为20度。
[0081] 在第一判断结果指示下一航点的机头角度等于当前航点的机头角度的情况下,确定当前航点对应的转动方向为不转动,且当前航点对应的转动角度为0度。
[0082] 本实施例中,通过在第一判断结果指示下一航点的机头角度大于当前航点的机头角度时,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为机头角度夹角。在第一判断结果指示下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为机头角度夹角。能够保证在下一航点的机头角度以及当前航点的机头角度同为正值或者同为负值的情况下,根据下一航点的机头角度与当前航点的机头角度的大小情况,确定出当前航点对应的转动方向以及转动角度,避免无人机机头大幅度转向的出现,提高无人机的控制效率。
[0083] 在一个实施例中,根据第二判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向,包括:在第二判断结果指示差值绝对值大于平角角度,且下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为周角角度与机头角度夹角的差值;在第二判断结果指示差值绝对值大于平角角度,且下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为周角角度与机头角度夹角的差值;在第二判断结果指示差值绝对值小于平角角度,且下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为机头角度夹角;在第二判断结果指示差值绝对值小于平角角度,且下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为机头角度夹角。
[0084] 其中,在第二判断结果指示差值绝对值大于平角角度,且下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为周角角度与机头角度夹角的差值。例如,下一航点的机头角度为170度,当前航点的机头角度为‑40度,机头角度夹角为210度,则当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为150度。
[0085] 在第二判断结果指示差值绝对值小于平角角度,且下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为机头角度夹角。例如,下一航点的机头角度为70度,当前航点的机头角度为‑40度,机头角度夹角为110度,则当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为110度。
[0086] 在第二判断结果指示差值绝对值小于平角角度,且下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为机头角度夹角。例如,下一航点的机头角度为‑40度,当前航点的机头角度为10度,机头角度夹角为50度,则当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为50度。
[0087] 在第二判断结果指示差值绝对值等于平角角度的情况下,确定当前航点对应的转动方向为顺时针或者逆时针中的任一种,且当前航点对应的转动角度为平角角度。
[0088] 本实施例中,通过在第二判断结果指示差值绝对值大于平角角度或者指示差值绝对值小于平角角度的不同情况,确定对应的转动角度和转动方向,能够避免待控无人机在飞行到相应的航点时出现大幅度转向的问题,提高无人机的控制效率。
[0089] 在一个实施例中,根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行,包括:根据航行任务,确定各航点对应的飞行顺序;控制待控无人机根据首航点对应的机头角度飞行至首航点,并控制待控无人机的机头,按照首航点对应的转动方向转动对应的转动角度,以控制待控无人机飞行至第二航点;针对第二航点和末航点之间的每个航点,控制待控无人机的机头,按照当前航点对应的转动方向转动对应的转动角度,以控制待控无人机飞行至下一航点,直到飞行至末航点。
[0090] 其中,控制器对航行任务解析,将解析出的各航点对应的航向参数的顺序,作为各航点对应的飞行顺序。在一些实施例中,控制器对航向任务解析,解析出的各航点对应的航向参数中还包括各航点的飞行顺序标识,控制器根据各航点对应的飞行顺序标识,确定各航点对应的飞行顺序。首航点、末航点分别指的是飞行顺序中的第一个航点以及最后一个航点。
[0091] 控制器控制待控无人机按照首航点对应的机头角度飞行至首航点。控制待控无人机的机头按照首航点对应的转动方向转动对应的转动角度,以控制待控无人机飞行至第二航点,能够保证待控无人机从首航点飞行至第二航点时,机头角度与航行任务中解析出的机头角度一致,且避免了无人机的大幅度转向问题。
[0092] 针对第二航点和末航点之间的每个航点,控制器控制待控无人机的机头按照当前航点对应的转动方向转动对应的转动角度,以控制待控无人机飞行至下一航点,直至飞行至末航点。能够保证待控无人机从当前航点飞行至下一航点时,机头角度与航行任务中解析出的机头角度一致,且避免了无人机的大幅度转向问题。
[0093] 本实施例中,通过航行任务,确定各航点对应的飞行顺序,待控无人机按照首航点对应的机头角度飞行至首航点,并按照首航点对应的转动角度和转动方向飞行至第二航点,在第二航点和末航点的飞行过程中,待控无人机按照各航点对应的转动角度和转动方向,依次飞行,一直飞行至航行任务中的末航点,完成航行任务。按照确定出的转动角度和转动方向进行转动,能够避免无人机出现大幅度转动的问题,提高待控无人机的控制效率。
[0094] 在一个实施例中,无人机控制方法还包括:根据航行任务,确定返航路径和返航终点;在待控无人机飞行至末航点的情况下,按照返航路径飞行至返航终点。
[0095] 其中,控制器对航行任务进行解析,得到返航路径以及返航终点。返航路径是由各个返航点组成的路径。每个返航点的航向参数包括机头角度、云台角度、经度、纬度以及高度。返航终点是返航路径中最后一个返航点。返航终点可以为待控无人机的飞行起点,还可以为其他位置点。在待控无人机飞行至航行任务的末航点的情况下,控制待控无人机按照返航路径飞行至返航终点。
[0096] 本实施例中,通过解析航行任务,得到返航路径和返航终点,从而在待控无人机飞行至末航点的情况下,按照返航路径飞行至返航终点。能够保证待控无人机完成航行任务的情况下,自动返航至返航终点,提高无人机的控制效率。
[0097] 为详细说明本方案中无人机控制方法及效果,下面以一个最详细实施例进行说明:
[0098] 针对无人机执行电力巡检的航行任务场景,控制器为无人机的无线电遥控设备。如图4所示为无人机控制方法的总体流程示意图。控制器接收待控无人机的航行任务。对航行任务进行解析,得到多个航点对应的机头角度。针对多个航点中的当前航点,根据当前航点对应的机头角度与下一航点对应的机头角度,确定当前航点与下一航点间的机头角度夹角。根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向。
[0099] 具体地,在当前航点的机头角度与下一航点的机头角度同为正值,或者当前航点的机头角度与下一航点的机头角度同为负值的情况下,判断下一航点的机头角度是否大于当前航点的机头角度,得到第一判断结果,在第一判断结果指示下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为机头角度夹角。在第一判断结果指示下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为机头角度夹角。其中,正值是以正北为0度,0度至180度的范围;负值是以正北为0度,0度至‑180度的范围。
[0100] 在当前航点的机头角度为正值且下一航点的机头角度为负值,或者,当前航点的机头角度为负值且下一航点的机头角度为正值的情况下,获取下一航点的机头角度和当前航点的机头角度之间的差值绝对值,判断差值绝对值是否大于平角角度,得到第二判断结果,在第二判断结果指示差值绝对值大于平角角度,且下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为周角角度与机头角度夹角的差值。在第二判断结果指示差值绝对值大于平角角度,且下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为周角角度与机头角度夹角的差值。在第二判断结果指示差值绝对值小于平角角度,且下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为机头角度夹角。在第二判断结果指示差值绝对值小于平角角度,且下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为机头角度夹角。
[0101] 根据航行任务,确定各航点对应的飞行顺序。控制待控无人机根据首航点对应的机头角度飞行至首航点,并控制待控无人机的机头,按照首航点对应的转动方向转动对应的转动角度,以控制待控无人机飞行至第二航点。针对第二航点和末航点之间的每个航点,控制待控无人机的机头,按照当前航点对应的转动方向转动对应的转动角度,以控制待控无人机飞行至下一航点,直到飞行至末航点。根据航行任务,确定返航路径和返航终点。在待控无人机飞行至末航点的情况下,按照返航路径飞行至返航终点。
[0102] 上述无人机控制方法,通过接收待控无人机的航行任务,对航行任务进行解析,得到多个航点对应的机头角度,针对多个航点中的当前航点,根据当前航点对应的机头角度与下一航点对应的机头角度,确定当前航点与下一航点间的机头角度夹角,根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向,根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行。这种通过航行任务中各航点的机头角度以及机头角度夹角,确定出各航点机头的转动方向和转动角度的方法,能够避免出现机头大幅度转向的情况,提高了无人机的控制效率。
[0103] 应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0104] 基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的无人机控制方法的无人机控制装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个无人机控制装置实施例中的具体限定可以参见上文中对于无人机控制方法的限定,在此不再赘述。
[0105] 在一个实施例中,如图5所示,提供了一种无人机控制装置100,包括:接收模块120、解析模块140、确定模块160和控制模块180,其中:
[0106] 接收模块120,用于接收待控无人机的航行任务。
[0107] 解析模块140,用于对航行任务进行解析,得到多个航点对应的机头角度。
[0108] 确定模块160,用于针对多个航点中的当前航点,根据当前航点对应的机头角度与下一航点对应的机头角度,确定当前航点与下一航点间的机头角度夹角;根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向。
[0109] 控制模块180,用于根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行。
[0110] 上述无人机控制装置,通过接收待控无人机的航行任务,对航行任务进行解析,得到多个航点对应的机头角度,针对多个航点中的当前航点,根据当前航点对应的机头角度与下一航点对应的机头角度,确定当前航点与下一航点间的机头角度夹角,根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向,根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行。这种通过航行任务中各航点的机头角度以及机头角度夹角,确定出各航点机头的转动方向和转动角度的方法,能够避免出现机头大幅度转向的情况,提高了无人机的控制效率。
[0111] 在一个实施例中,根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向,确定模块160还用于:在当前航点的机头角度与下一航点的机头角度同为正值,或者当前航点的机头角度与下一航点的机头角度同为负值的情况下,判断下一航点的机头角度是否大于当前航点的机头角度,得到第一判断结果,根据第一判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向;正值是以正北为0度,0度至180度的范围;负值是以正北为0度,0度至‑180度的范围;在当前航点的机头角度为正值且下一航点的机头角度为负值,或者,当前航点的机头角度为负值且下一航点的机头角度为正值的情况下,获取下一航点的机头角度和当前航点的机头角度之间的差值绝对值,判断差值绝对值是否大于平角角度,得到第二判断结果,根据第二判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向。
[0112] 在一个实施例中,根据第一判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向,确定模块160还用于:在第一判断结果指示下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为机头角度夹角;在第一判断结果指示下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为机头角度夹角。
[0113] 在一个实施例中,根据第二判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向,确定模块160还用于:在第二判断结果指示差值绝对值大于平角角度,且下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为周角角度与机头角度夹角的差值;在第二判断结果指示差值绝对值大于平角角度,且下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为周角角度与机头角度夹角的差值;在第二判断结果指示差值绝对值小于平角角度,且下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为机头角度夹角;在第二判断结果指示差值绝对值小于平角角度,且下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为机头角度夹角。
[0114] 在一个实施例中,根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行,控制模块180还用于:根据航行任务,确定各航点对应的飞行顺序;控制待控无人机根据首航点对应的机头角度飞行至首航点,并控制待控无人机的机头,按照首航点对应的转动方向转动对应的转动角度,以控制待控无人机飞行至第二航点;针对第二航点和末航点之间的每个航点,控制待控无人机的机头,按照当前航点对应的转动方向转动对应的转动角度,以控制待控无人机飞行至下一航点,直到飞行至末航点。
[0115] 在一个实施例中,无人机控制装置还包括返航模块,返航模块用于:根据航行任务,确定返航路径和返航终点;在待控无人机飞行至末航点的情况下,按照返航路径飞行至返航终点。
[0116] 上述无人机控制装置中的各模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各模块对应的操作。
[0117] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种无人机控制方法。
[0118] 本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0119] 在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0120] 接收待控无人机的航行任务;对航行任务进行解析,得到多个航点对应的机头角度;针对多个航点中的当前航点,根据当前航点对应的机头角度与下一航点对应的机头角度,确定当前航点与下一航点间的机头角度夹角;根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向;根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行。
[0121] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0122] 在当前航点的机头角度与下一航点的机头角度同为正值,或者当前航点的机头角度与下一航点的机头角度同为负值的情况下,判断下一航点的机头角度是否大于当前航点的机头角度,得到第一判断结果,根据第一判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向;正值是以正北为0度,0度至180度的范围;负值是以正北为0度,0度至‑180度的范围;在当前航点的机头角度为正值且下一航点的机头角度为负值,或者,当前航点的机头角度为负值且下一航点的机头角度为正值的情况下,获取下一航点的机头角度和当前航点的机头角度之间的差值绝对值,判断差值绝对值是否大于平角角度,得到第二判断结果,根据第二判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向。
[0123] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0124] 在第一判断结果指示下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为机头角度夹角;在第一判断结果指示下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为机头角度夹角。
[0125] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0126] 在第二判断结果指示差值绝对值大于平角角度,且下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为周角角度与机头角度夹角的差值;在第二判断结果指示差值绝对值大于平角角度,且下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为周角角度与机头角度夹角的差值;在第二判断结果指示差值绝对值小于平角角度,且下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为机头角度夹角;在第二判断结果指示差值绝对值小于平角角度,且下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为机头角度夹角。
[0127] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0128] 根据航行任务,确定各航点对应的飞行顺序;控制待控无人机根据首航点对应的机头角度飞行至首航点,并控制待控无人机的机头,按照首航点对应的转动方向转动对应的转动角度,以控制待控无人机飞行至第二航点;针对第二航点和末航点之间的每个航点,控制待控无人机的机头,按照当前航点对应的转动方向转动对应的转动角度,以控制待控无人机飞行至下一航点,直到飞行至末航点。
[0129] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0130] 根据航行任务,确定返航路径和返航终点;在待控无人机飞行至末航点的情况下,按照返航路径飞行至返航终点。
[0131] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0132] 接收待控无人机的航行任务;对航行任务进行解析,得到多个航点对应的机头角度;针对多个航点中的当前航点,根据当前航点对应的机头角度与下一航点对应的机头角度,确定当前航点与下一航点间的机头角度夹角;根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向;根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行。
[0133] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0134] 在当前航点的机头角度与下一航点的机头角度同为正值,或者当前航点的机头角度与下一航点的机头角度同为负值的情况下,判断下一航点的机头角度是否大于当前航点的机头角度,得到第一判断结果,根据第一判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向;正值是以正北为0度,0度至180度的范围;负值是以正北为0度,0度至‑180度的范围;在当前航点的机头角度为正值且下一航点的机头角度为负值,或者,当前航点的机头角度为负值且下一航点的机头角度为正值的情况下,获取下一航点的机头角度和当前航点的机头角度之间的差值绝对值,判断差值绝对值是否大于平角角度,得到第二判断结果,根据第二判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向。
[0135] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0136] 在第一判断结果指示下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为机头角度夹角;在第一判断结果指示下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为机头角度夹角。
[0137] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0138] 在第二判断结果指示差值绝对值大于平角角度,且下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为周角角度与机头角度夹角的差值;在第二判断结果指示差值绝对值大于平角角度,且下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为周角角度与机头角度夹角的差值;在第二判断结果指示差值绝对值小于平角角度,且下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为机头角度夹角;在第二判断结果指示差值绝对值小于平角角度,且下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为机头角度夹角。
[0139] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0140] 根据航行任务,确定各航点对应的飞行顺序;控制待控无人机根据首航点对应的机头角度飞行至首航点,并控制待控无人机的机头,按照首航点对应的转动方向转动对应的转动角度,以控制待控无人机飞行至第二航点;针对第二航点和末航点之间的每个航点,控制待控无人机的机头,按照当前航点对应的转动方向转动对应的转动角度,以控制待控无人机飞行至下一航点,直到飞行至末航点。
[0141] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0142] 根据航行任务,确定返航路径和返航终点;在待控无人机飞行至末航点的情况下,按照返航路径飞行至返航终点。
[0143] 在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0144] 接收待控无人机的航行任务;对航行任务进行解析,得到多个航点对应的机头角度;针对多个航点中的当前航点,根据当前航点对应的机头角度与下一航点对应的机头角度,确定当前航点与下一航点间的机头角度夹角;根据机头角度夹角、当前航点的机头角度与下一航点的机头角度,确定当前航点对应的转动角度以及转动方向;根据各航点对应的转动角度、转动方向以及机头角度,控制待控无人机飞行。
[0145] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0146] 在当前航点的机头角度与下一航点的机头角度同为正值,或者当前航点的机头角度与下一航点的机头角度同为负值的情况下,判断下一航点的机头角度是否大于当前航点的机头角度,得到第一判断结果,根据第一判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向;正值是以正北为0度,0度至180度的范围;负值是以正北为0度,0度至‑180度的范围;在当前航点的机头角度为正值且下一航点的机头角度为负值,或者,当前航点的机头角度为负值且下一航点的机头角度为正值的情况下,获取下一航点的机头角度和当前航点的机头角度之间的差值绝对值,判断差值绝对值是否大于平角角度,得到第二判断结果,根据第二判断结果和机头角度夹角,确定当前航点对应的转动角度以及转动方向。
[0147] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0148] 在第一判断结果指示下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为机头角度夹角;在第一判断结果指示下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为机头角度夹角。
[0149] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0150] 在第二判断结果指示差值绝对值大于平角角度,且下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为周角角度与机头角度夹角的差值;在第二判断结果指示差值绝对值大于平角角度,且下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为周角角度与机头角度夹角的差值;在第二判断结果指示差值绝对值小于平角角度,且下一航点的机头角度大于当前航点的机头角度的情况下,确定当前航点对应的转动方向为顺时针,且当前航点对应的转动角度为机头角度夹角;在第二判断结果指示差值绝对值小于平角角度,且下一航点的机头角度小于当前航点的机头角度的情况下,确定当前航点对应的转动方向为逆时针,且当前航点对应的转动角度为机头角度夹角。
[0151] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0152] 根据航行任务,确定各航点对应的飞行顺序;控制待控无人机根据首航点对应的机头角度飞行至首航点,并控制待控无人机的机头,按照首航点对应的转动方向转动对应的转动角度,以控制待控无人机飞行至第二航点;针对第二航点和末航点之间的每个航点,控制待控无人机的机头,按照当前航点对应的转动方向转动对应的转动角度,以控制待控无人机飞行至下一航点,直到飞行至末航点。
[0153] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0154] 根据航行任务,确定返航路径和返航终点;在待控无人机飞行至末航点的情况下,按照返航路径飞行至返航终点。
[0155] 需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0156] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read‑Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random AccessMemory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0157] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0158] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。