一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

飞行路径规划方法、装置、飞行器及存储介质与流程

2022-06-05 20:25:24 来源:中国专利 TAG:


1.本公开涉及飞行器技术领域,具体涉及一种飞行路径规划方法、装置、飞行器及存储介质。


背景技术:

2.目前在航拍、农业、植保、微型自拍、快递运输、灾难救援、观察野生动物、监控传染病、测绘、新闻报道、电力巡检、救灾、影视拍摄等领域无人驾驶飞行器起到了重要作用,但是随着任务复杂度不断提高,路径规划变得至关重要。
3.现有路径规划方法均是利用最优化或是启发式算法进行规划的,这些方式在处理计算过程中只能逐一运行计算,路径规划耗时久。


技术实现要素:

4.本公开实施例的目的是提供一种飞行路径规划方法、装置、飞行器及存储介质,以至少解决现有飞行器飞行路径规划耗时久的问题。
5.本公开的技术方案如下:
6.根据本公开实施例的第一方面,提供一种飞行路径规划方法,包括:获取飞行申请空域、飞行起点和飞行终点;根据预设算法确定从飞行起点到飞行终点的多条子路径段,其中,多条子路径段中每条子路径段的起点和终点均在申请空域的禁飞区之外,多条子路径段依次连接组成飞行起点到飞行终点的完整路径,且多条子路径段中每条子路径段的长度均小于预设长度;根据多条子路径段,确定从飞行起点到飞行终点的目标飞行路径。
7.进一步地,根据预设算法确定从飞行起点到飞行终点的多条子路径段,包括:根据预设方式确定飞行起点与飞行终点之间满足预设条件的至少一个第一位置点;迭代执行以下步骤:基于预设方式确定飞行起点与飞行终点之间每相邻两个第二位置点之间满足预设条件的目标位置点,直至每相邻两个位置点之间的距离小于预设距离;第二位置点包括第一位置点、飞行起点、飞行终点;根据每相邻两个第二位置点确定多条子路径段。
8.进一步地,根据预设方式确定飞行起点与飞行终点之间满足预设条件的目标位置点,具体包括:确定飞行起点与飞行终点的中点;判断中点是否在禁飞区之内;基于中点在禁飞区之外,确定中点为目标位置点。
9.进一步地,在判断中点是否在禁飞区之内之后,方法还包括:基于中点在禁飞区之内,在申请空域内平移中点至禁飞区之外,得到第二位置点。
10.进一步地,根据多条子路径段,确定从飞行起点到飞行终点的目标飞行路径,包括:利用最短路径问题算法对多条子路径段中每条子路径段进行修正,得到多条修正子路径段;依次连接多条修正子路径段,得到从飞行起点到飞行终点的目标飞行路径。
11.进一步地,根据预设算法确定从飞行起点到飞行终点的多条子路径段之前,方法还包括:获取空域限区;根据空域限区更新申请空域的禁飞区。
12.进一步地,根据预设算法确定从飞行起点到飞行终点的多条子路径段之前,方法
还包括:获取已有飞行路径;根据已有飞行路径更新申请空域的禁飞区。
13.根据本公开实施例的第二方面,提供一种飞行路径规划装置,该装置可以包括:获取模块,用于获取飞行申请空域、飞行起点和飞行终点;子路径段划分模块,用于根据预设算法确定从飞行起点到飞行终点的多条子路径段,其中,多条子路径段中每条子路径段的起点和终点均在申请空域的禁飞区之外,多条子路径段依次连接组成飞行起点到飞行终点的完整路径,且多条子路径段中每条子路径段的长度均小于预设长度;路径规划模块,用于根据多条子路径段,确定从飞行起点到飞行终点的目标飞行路径。
14.根据本公开实施例的第四方面,提供一种电子设备,该电子设备可以包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现如第一方面的任一项实施例中所示的飞行路径规划方法。
15.根据本公开实施例的第四方面,提供一种存储介质,当存储介质中的指令由信息处理装置或者服务器的处理器执行时,以使信息处理装置或者服务器实现以实现如第一方面的任一项实施例中所示的飞行路径规划方法。
16.本公开的实施例提供的技术方案至少带来以下有益效果:
17.本公开实施例通过将起点和终点之间的飞行路径分成多个子路径,从而可以实现多个子路径并行规划避障,大大提高路径规划的工作效率,从而解决了现有技术飞行器的飞行路径规划耗时久的问题。
18.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限值本公开。
附图说明
19.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
20.图1是根据一示例性实施例示出的飞行路径规划方法流程示意图;
21.图2是根据一示例性实施例示出的无人机飞行路径规划方法流程示意图;
22.图3是根据一示例性实施例示出的子路径生成流程示意图;
23.图4是根据一示例性实施例示出的飞行器结构示意图;
24.图5是根据一示例性实施例示出的飞行器硬件结构示意图。
具体实施方式
25.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
26.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
27.如图1所示,在本公开实施例的第一方面,提供一种飞行路径规划方法,其特征在
于,包括:
28.步骤100:获取飞行申请空域、飞行起点和飞行终点;
29.步骤200:根据预设算法确定从飞行起点到飞行终点的多条子路径段,其中,多条子路径段中每条子路径段的起点和终点均在申请空域的禁飞区之外,多条子路径段依次连接组成飞行起点到飞行终点的完整路径,且多条子路径段中每条子路径段的长度均小于预设长度;
30.步骤300:根据多条子路径段,确定从飞行起点到飞行终点的目标飞行路径。
31.上述实施例方法通过将起点和终点之间的飞行路径分成多个子路径,从而可以实现多个子路径并行规划避障,大大提高路径规划的工作效率,从而解决了现有技术飞行器的飞行路径规划耗时久的问题。
32.在本技术一些可选实施例中,根据预设算法确定从飞行起点到飞行终点的多条子路径段,包括:
33.根据预设方式确定飞行起点与飞行终点之间满足预设条件的至少一个第一位置点;
34.迭代执行以下步骤:基于预设方式确定飞行起点与飞行终点之间每相邻两个第二位置点之间满足预设条件的目标位置点,直至每相邻两个位置点之间的距离小于预设距离;第二位置点包括第一位置点、飞行起点、飞行终点;
35.根据每相邻两个第二位置点确定多条子路径段。
36.在本技术一些可选实施例中,根据预设方式确定飞行起点与飞行终点之间满足预设条件的目标位置点,具体包括:
37.确定飞行起点与飞行终点的中点;
38.判断中点是否在禁飞区之内;
39.基于中点在禁飞区之外,确定中点为目标位置点。
40.在本技术一些可选实施例中,在判断中点是否在禁飞区之内之后,方法还包括:
41.基于中点在禁飞区之内,在申请空域内平移中点至禁飞区之外,得到第二位置点。
42.在本技术一些可选实施例中,根据多条子路径段,确定从飞行起点到飞行终点的目标飞行路径,包括:
43.利用最短路径问题算法对多条子路径段中每条子路径段进行修正,得到多条修正子路径段;
44.依次连接多条修正子路径段,得到从飞行起点到飞行终点的目标飞行路径。
45.在本技术一些可选实施例中,根据预设算法确定从飞行起点到飞行终点的多条子路径段之前,方法还包括:
46.获取空域限区;
47.根据空域限区更新申请空域的禁飞区。
48.在本技术一些可选实施例中,根据预设算法确定从飞行起点到飞行终点的多条子路径段之前,方法还包括:
49.获取已有飞行路径;
50.根据已有飞行路径更新申请空域的禁飞区。
51.根据本公开实施例的第二方面,提供一种飞行路径规划装置,该装置可以包括:
52.获取模块,用于获取飞行申请空域、飞行起点和飞行终点;
53.子路径段划分模块,用于根据预设算法确定从飞行起点到飞行终点的多条子路径段,其中,多条子路径段中每条子路径段的起点和终点均在申请空域的禁飞区之外,多条子路径段依次连接组成飞行起点到飞行终点的完整路径,且多条子路径段中每条子路径段的长度均小于预设长度;
54.路径规划模块,用于根据多条子路径段,确定从飞行起点到飞行终点的目标飞行路径。
55.在本技术一具体实施例中,对无人机进行路径规划,首先介绍一下飞行路径规划装置的数据存储设计,由于对无人机集群的路径规划需要考虑障碍物、禁飞区约束,以及无人机之间的路径不冲突,故需要设计空域限制表、空域申请表、飞行路径表。具体设计如下:
56.表1空域限制表
[0057][0058]
如表1空域限制表所示,该表存储建筑障碍物、禁飞区、危险区等无人机禁止飞行的区域信息,其中状态为0表示有效,为-1表示无效,状态初始值为0,一旦改为-1表示该记录失效,不能重新改为0。
[0059]
表2空域申请表
[0060][0061][0062]
如表2空域申请表所示,该表存储无人机执行飞行任务所申请的区域信息,其中状态为0表示有效,为-1表示无效,状态初始值为0,一旦改为-1表示该记录失效,不能重新改为0。限制空域字段存储申请空域中包含的所有限制空域id,如果该字段为空表示该申请空域无限制空域,由于禁飞区可能发生新增或变动,该字段需要进行日常维护。另外,可以对申请空域范围进行调整,但要保证申请空域的独立性,即两个申请空域之间不存在交集。
[0063]
表3飞行路径表
[0064][0065][0066]
如表3飞行路径表所示,该表存储无人机的飞行路径信息,其中状态为0表示有效,为-1表示无效,状态初始值为0,一旦改为-1表示该记录失效,不能重新改为0,飞行路径与申请空域具有强关联性,若飞行路径对应的申请空域失效,该飞行路径也自动失效。飞行路径字段使用经纬高所组成的元组的若干个点来表示无人机飞行的路径。每条飞行路径对应唯一的申请空域id。
[0067]
以上的数据存储设计仅包含必不可少的信息,在实际中可根据需要添加其他信息,其数据格式也可以不同,只要保证逻辑一致即可。
[0068]
如图2所示,具体的,无人机飞行路径规划方法,包括:
[0069]
1)输入申请空域、起始点、终点。
[0070]
2)通过申请空域的空域限制信息得出其禁飞区。
[0071]
3)基于已存在的飞行路径更新禁飞区。
[0072]
4)将申请空域、禁飞区数据转化为三维坐标系。
[0073]
5)通过算法生成起始点到终点的多条子路径。
[0074]
6)使用ma-espo算法对所有的子路径进行修正。
[0075]
7)输出飞行路径。
[0076]
下面对于每一步骤进行详细介绍
[0077]
1、输入申请空域、起始点、终点
[0078]
在规划飞行路径之前需要输入申请空域、起始点、终点,其中申请空域信息应该事先录入到系统中。
[0079]
2、通过申请空域的空域限制信息得出其禁飞区
[0080]
根据申请空域表的限制空域字段到空域限制表中去查找限制空域id,得到对应的限制空域范围,如该申请空域对应多个限制空域id,需要查找出所有的限制空域范围。
[0081]
3、基于已存在的飞行路径更新禁飞区
[0082]
根据该申请空域的id在飞行路径表中查找申请空域id,得到该申请空域已存在的所有飞行路径。
[0083]
4、将申请空域、禁飞区数据转化为三维坐标系
[0084]
申请空域、禁飞区数据转化为三维坐标系,取起始点为原点,第2步的禁飞区域转化为三维坐标系的区域,第3步已存在的飞行路径的点转化为三维坐标系下的点。
[0085]
5、通过算法生成起始点到终点的多条子路径
[0086]
图3为子路径生成的流程,具体步骤如下:
[0087]
(1)输入起始点、终点坐标。
[0088]
(2)计算起始点、终点之间的中点坐标。
[0089]
(3)判断中点是否在禁飞区内,判断规则为:该点在禁飞空域内、该点与禁飞空域的边界距离小于一个阈值a、该点与已存在路径的距离小于一个阈值a,符合其中之一则该点在禁飞区内,然后进入(4)步,否则跳到(5)步。
[0090]
(4)将中点沿经纬度平移一段距离,平移逻辑为:当点在禁飞空域内或点与禁飞空域的边界距离小于一个阈值a时,将该点沿离其最近的边界向禁飞空域以外的方向的经度或纬度平移至与边界距离等于阈值a为止;当点与已存在路径的距离小于一个阈值a时,将该点沿与该路径距离更远方向的经度或纬度平移至与路径的距离等于阈值a为止。如存在多避开对象需多次平移,直到避开所有对象为止。
[0091]
(5)将不需平移或平移后的中点坐标,与起始点坐标、终点坐标保存为两条子路径,其中一条起始点为原起始点,终点为本次计算的中点;另一条起始点为本次计算的中点,终点为原终点。
[0092]
(6)将生成子路径的起始点、终点坐标代入(1)~(5)步循环计算生成新的子路径,直到所有子路径的长度小于等于一个阈值b为止,保存所有的子路径。
[0093]
6、使用ma-espo算法对所有的子路径进行修正
[0094]
将上一步生成的所有子路径按照坐标轴取截距,每条子路径得到各自的子空间,子空间互不相交且相邻接,子空间的坐标值与原坐标系保持一致。然后需要用ma-espo算法对所有的子路径进行修正,ma-espo是基于栅格的欧氏障碍空间的最短路径问题算法,需要将子空间转换为三维栅格点集空间,它是一长方体结构i
×j×
k,即i列、j行、k层,其每一栅格单元为一单位立方体。每个子空间基于各自的坐标值进行转换,栅格点集空间计算结果值可转换回原子空间。
[0095]
下面介绍一下在(2n 1)
×
(2n 1)
×
(2n 1)模板下距离传播的规律:该模板存储了(2n 1)
×
(2n 1)
×
(2n 1)邻域栅格空间内,栅格之间的尺度基底,即栅格距离,便于栅格的距离计算;(0,0,0)为(2n 1)
×
(2n 1)
×
(2n 1)邻域中的坐标原点,δ
ijk
表示点(i,j,k)距
(0,0,0)的距离偏移量,以d
ijk
表示(i,j,k)距起始点的最小距离,则由(i,j,k)点传播距至(0,0,0)点时d
000
的距离为d
ijk
δ
ijk
,考虑到每个点周围的(2n 1)
×
(2n 1)
×
(2n 1)邻域情况,实际上,空间中每个点的实际距离值是由其领域(2n 1)
3-1个点的距离值经比较、计算而来。因此,d
000
=min(d
ijk
δ
ijk
),(-n《=i《=n,-n《=j《=n,-n《=k《=n)。
[0096]
ma-espo算法的实现过程如下:
[0097]
1)初始化(2n 1)
×
(2n 1)
×
(2n 1)模板;
[0098]
2)初始化空间所有的结点:由高到低,从前至后,从左至右依次扫描整个空间,每个结点的值转换入datainfo_3d结构中,遇到起始点,设其距离值power为0,其他点的距离值power为一足够大的整数;
[0099]
3)由高到低,从前至后,从左至右依次扫描空间各结点的datainfo_3d,对每一个结点(x,y,z),考察其周围(2n 1)
×
(2n 1)
×
(2n 1)邻域结构,对模板中的每一个(i,j,k)(-n《=i《=n,-n《=j《=n,-n《=k《=n),若结点(x,y,z)至点(x i,y j,z k)的路径不存在障碍标识,则赋值newd=d
x i,y j,z k
δ
ijk
,比较newd与当前的距离值d
x,y,z
,若newd《d
x,y,z
则记录(x i,y j,z k)的坐标,并更新当前点的d
x,y,z
为newd:
[0100]
datainfo_3d[x][y][z].x=x i;
[0101]
datainfo_3d[x][y][z].y=y j;
[0102]
datainfo_3d[x][y][z].z=z k;
[0103]
datainfo_3d[x][y][z].power=newd;
[0104]
4)由低到高,从后至前,从右至左逆序扫描空间各结点的datainfo_3d,对结点数据的比较和计算类同3);
[0105]
5)若3)中或4)中有某个结点的值被修改过,则跳转到3),再次扫描空间数据,直至空间的数据点的距离值不再发生改变为止。
[0106]
由于在ma-espo算法计算过程中,对于空间中的每个点,在以其为中心的(2n 1)
×
(2n 1)
×
(2n 1)邻域中,其传播的来源点已被记录,因此,最后可由终点逆向回溯到起始点,从而得到起始点到终点的最短路径。
[0107]
7、输出飞行路径
[0108]
先将各个子路径的点转换到原三维坐标系,再将所有路径的结点坐标转换为经纬高度,作为输出值保存到飞行路径表中。
[0109]
上述具体实施例提出关于空域限制表、空域申请表、飞行路径表的数据存储设计,该设计对无人机路径规划有重要作用:
[0110]
第一,空域申请表指定了无人机的飞行范围,同时由于申请空域之间不存在交集,保证了不同申请空域之间的飞行路径不相交,保证了无人机飞行的安全;
[0111]
第二,空域限制表指定了无人机的禁飞区,飞行路径表存储了申请空域已规划的飞行路径,在规划路径时可根据相应限制条件进行避障;
[0112]
第三,空域限制表、空域申请表中的区域都设置为规则区域,在规划路径过程中有利于距离判断,简化计算的复杂度。
[0113]
并且上述实施例根据路径的起始点、终点生成其子路径的算法,通过该算法将原起始点和终点之间划分为若干条子路径,再利用ma-espo算法对各个子路径的起始点和终点计算其最短路径,这样做有两点好处:
[0114]
第一,将原本需要在一个大的空间区域进行栅格划分计算的问题转化为在若干个小的子空间进行栅格划分计算,事实上,即使所有子空间加起来也远小于原空间,这样大大减小了ma-espo算法的计算量,提高计算效率;
[0115]
第二,由于各个子路径所在的子空间互不相交、彼此独立,因此可以对各个子路径并行采用ma-espo算法进行计算,从而进一步提高整个路径计算的整体效率。
[0116]
相对于人工打点的方式,上述实施例方法极大程度上节约了人力成本,把大量工作交给系统完成,同时避免了人工操作可能发生失误的风险,另外,可以把系统的工作放在空闲时段例如夜间进行,从而进一步提高了工作效率。
[0117]
相对于单纯使用路径算法针对单一无人机的路径规划,上述实施例通过将数据存储技术与算法相结合的方式,实现了对大规模无人机集群飞行路径的规划,另一方面通过子路径的算法大大提高原路径算法的工作效率,随着无人机技术的不断发展,无人机越来越多地用于各种行业应用,该方法对无人机未来的发展进步有重要意义。
[0118]
上述方法的数据存储设计及子路径算法有利于提升系统的并行性,一方面因为申请空域不相交,故可以在不同申请空域同时规划多条路径;另一方面由于子路径的相互独立性,也可以同时对所有子路径进行规划。
[0119]
可选的,如图4所示,本技术实施例还提供一种飞行器400,包括处理器401,存储器402,存储在存储器402上并可在所述处理器401上运行的程序或指令,该程序或指令被处理器401执行时实现上述时空数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0120]
图5为实现本技术实施例的一种飞行器的硬件结构示意图。
[0121]
该飞行器500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、以及处理器510等部件。
[0122]
本领域技术人员可以理解,飞行器500还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图5中示出的飞行器结构并不构成对飞行器的限定,飞行器可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
[0123]
应理解的是,本技术实施例中,输入单元504可以包括图形处理器(graphics processing unit,gpu)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元506可包括显示面板5061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板5061。用户输入单元507包括触控面板5071以及其他输入设备5072。触控面板5071,也称为触摸屏。触控面板5075可包括触摸检测装置和触摸控制器两个部分。其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器509可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
[0124]
本技术实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述时空数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0125]
其中,所述处理器为上述实施例中所述的飞行器中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
[0126]
本技术实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述时空数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0127]
应理解,本技术实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
[0128]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
[0129]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
[0130]
上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献