无人机及其飞行轨迹的生成方法、计算机可读存储介质与流程

文档序号:19736600发布日期:2020-01-18 04:33阅读:590来源:国知局
无人机及其飞行轨迹的生成方法、计算机可读存储介质与流程

本发明涉及无人机避障规划技术领域,具体涉及一种无人机及其飞行轨迹的生成方法、计算机可读存储介质。



背景技术:

现代无人机在执行一些特定任务时具有一定的自主飞行功能,并且越来越注重机体自身飞行的安全性。无人机在自主飞行过程中——例如循迹飞行或者目标跟踪飞行——需要避开障碍物以保证安全。

无人机避开障碍物的一种直观做法是对无人机在未来一段时间内的可能轨迹,逐一进行检测,去掉那些与障碍物碰撞的轨迹。显然,对无人机未来一段时间内所有可能轨迹进行穷举是不可能的,但对这些可能轨迹中的某些进行采样和判定却是可行的。

无人机未来一段时间内可能的飞行轨迹可以通过对无人机当前运动状态在一段时间内进行积分运算获得。但是,由于无人机机载计算性能的限制,这种无人机飞行轨迹的生产方法需要进行大量的积分运算,无法在短时间内快速地生成飞行轨迹,从而拖慢无人机的整个避障规划过程。



技术实现要素:

有鉴于此,本发明实施例提供了一种无人机及其飞行轨迹的生成方法、计算机可读存储介质,以解决无人机在避障规划过程中的飞行轨迹生成速度慢的技术问题。

根据第一方面,本发明实施例提供了一种飞行轨迹的生成方法,应用于无人机,所述方法包括:

根据无人机的运动状态及预设的离线飞行轨迹库中每条飞行轨迹与无人机运动状态的对应关系建立轨迹库索引;预设的离线飞行轨迹库是根据无人机的历史运动状态所建立的;以无人机的当前运动状态作为查询键值,根据所述轨迹库索引在离线飞行轨迹库遍历查找无人机当前运动状态对应的飞行轨迹集合。

在一些实施例中,根据无人机的历史运动状态建立离线飞行轨迹库的过程,包括:对无人机的初始运动状态进行离散采样得到飞行轨迹特征集合;计算飞行轨迹特征集合中的各个初始运动状态在预设时长内的积分,得到离线飞行轨迹库。

在一些实施例中,所述对无人机的初始运动状态进行离散采样得到飞行轨迹特征集合,包括:在第一约束范围内对无人机的初始运动状态进行离散采样,获得无人机的初始运动状态集合;根据无人机的初始运动状态集合中的各个初始运动状态在第二约束范围内对加加速度进行离散采样,得到飞行轨迹特征集合。

在一些实施例中,所述计算飞行轨迹特征集合中的各个初始运动状态在预设时长内的积分得到离线飞行轨迹库,包括:判断飞行轨迹特征集合中的各个初始运动状态是否在第一约束范围内;若飞行轨迹特征集合中的各个初始运动状态在第一约束范围内,则对各个初始运动状态在预设时长内进行积分,得到无人机的离线飞行轨迹库;若飞行轨迹特征集合中的各个初始运动状态不在第一约束范围内,则对加加速度进行调整,再根据调整后的加加速度计算各个初始运动状态在预设时长内的积分,得到无人机的离线飞行轨迹库。

在一些实施例中,所述对加加速度进行调整,再根据调整后的加加速度计算各个初始运动状态在预设时长内的积分,得到无人机的离线飞行轨迹库,包括:若|at-1|>amax;则令j=–amax,直到|at-1|<amax,并且再令j=0,经过上述处理后,再计算各个初始运动状态在预设时长内的积分,得到无人机在预设时长内的离线飞行轨迹库;若|vt-1|>vmax;如果a=0,则令j=–jmax*v/||v||,否则令j=-jmax*a/||a||,经过上述处理后,再计算各个初始运动状态在预设时长内的积分,得到无人机在预设时长内的离线飞行轨迹库;其中,v表示无人机的速度,t表示时间,a表示无人机的加速度,j表示无人机的加加速度,vmax表示无人机的速度最大值,amax表示无人机的加速度最大值,jmax表示无人机的加加速度最大值。

在一些实施例中,所述根据无人机的运动状态及预设的离线飞行轨迹库中每条飞行轨迹与无人机运动状态的对应关系建立轨迹库索引,包括:将离线飞行轨迹库中每条飞行轨迹对应的无人机的多维运动状态作为索引键值;采用近似最近邻算法对无人机的多维运动状态进行特征匹配;根据特征匹配结果,在离线飞行轨迹库中确立每条飞行轨迹与索引键值的对应关系。

在一些实施例中,所述以无人机的当前运动状态作为查询键值,根据所述轨迹库索引在离线飞行轨迹库遍历查找无人机当前运动状态对应的飞行轨迹集合,包括:预先加载部分飞行轨迹库到无人机的内存中;以无人机的当前运动状态作为查询键值,在无人机的内存中的部分飞行轨迹库进行遍历查询,若查询键值在部分飞行轨迹库中,则根据查询键值对应的飞行轨迹,输出无人机当前运动状态在预设时长内的全部飞行轨迹的集合;若查询键值不在部分飞行轨迹库中,则从外部加载离线飞行轨迹库到无人机的内存中。

在一些实施例中,所述预先加载部分飞行轨迹库到无人机的内存中,包括:根据无人机的当前运动状态和一段时长后的运动状态,建立查询键值集合;计算查询键值集合中的各个运动状态在一段时长内的积分,得到部分飞行轨迹库并加载到无人机的内存中;遍历查询键值集合,根据所述轨迹库索引查询无人机当前运动状态对应的飞行轨迹是否在无人机的内存中,若查询结果为否,则将对应的飞机轨迹加载到无人机的内存中。

在一些实施例中,若所述遍历查询键值集合,根据所述轨迹库索引查询无人机当前运动状态对应的飞行轨迹是否在无人机的内存中的查询结果为否,则将相应的查询键值插入到查询键值集合中,作为飞行轨迹存在于无人机内存中的记录。

根据第二方面,本发明实施例提供了一种无人机,包括存储器、处理器以及储存在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的飞行轨迹的生成方法。

根据第三方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如上所述的飞行轨迹的生成方法。

本发明实施例所具备的有益效果是,将飞行轨迹生成过程中比较耗时的运算过程离线处理,建立离线飞行轨迹库,再通过快速的索引算法,将无人机的当前运动状态与离线飞行轨迹库中可达的飞行轨迹相对应,可以在短时间内快速地生成无人机在未来预设时长内的飞行轨迹,从而大大加速了无人机在线避障规划时的执行速度。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的飞行轨迹的生成方法的一种实现流程图;

图2为本发明实施例提供的建立离线飞行轨迹库的实现方法流程图;

图3为本发明实施例提供的建立轨迹库索引的实现方法流程图;

图4为本发明实施例提供的实现无人机当前飞行轨迹查询的实现方法流程图;

图5为本发明实施例提供的预先加载部分飞行轨迹库的实现方法流程图;

图6为本发明实施例提供的无人机的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种飞行轨迹的生成方法,该方法具体应用在无人机的自主避障飞行中,如图1所示,该飞行轨迹的生成方法主要包括以下步骤:

步骤s10,根据无人机的历史运动状态建立离线飞行轨迹库。

其中,离线飞行轨迹库可以是在离线的情况下一次生成一个大型的离线飞行轨迹库,在具体应用过程中只需要根据无人机实际的最大飞行速度和飞行加速度将部分对应的离线飞机轨迹库加载到无人机的内存中即可,这个大型的离线飞行轨迹库可供多台不同性能的无人机分别调用其中的轨迹库数据。需要说明的是,离线飞行轨迹库的建立过程只建立在无人机初次的飞行避障规划中,在无人机第二次及以后或其他无人机的飞行避障规划中,可以直接调用该离线飞行轨迹库,也就是说,在一些飞行轨迹的生产方法中,步骤s10建立离线飞行轨迹库的过程不是必须的。

具体的,步骤s10中离线飞行轨迹库的建立过程,如图2所示,包括如下步骤:

步骤s11,对无人机的初始运动状态进行离散采样得到飞行轨迹特征集合。

具体的,给无人机设定初始速度为v0和初始加速度a0,通过对加加速度(jerk)进行采样,可以计算未来预设时长t内的飞行轨迹,如果设定的初始速度和初始加速度不同,就可以得到生成不同的飞行轨迹库。因此,对无人机的初始飞行速度和初始飞行加速度在约束范围{(﹣vmax,vmax),(﹣amax,amax)}进行离散采样,可以得到一个获得无人机的初始运动状态集合s={(v1,a1)|v1∈|-vmax,vmax|,a1∈|-amax,amax}},对于无人机的初始状态集合s中的每个初始运动状态si,使用不同的加加速度进行离散采样,可以得到不同的轨迹。所以,对加加速度j以步长sj对约束范围[–jmax,jmax]进行离散采样,得到飞行轨迹特征集合tr={(vi,ai,ji)|vi∈[-vmax,vmax],ai∈[amax,amax],ji∈[jmax,jmax]。

步骤s12,计算飞行轨迹特征集合中的各个初始运动状态在预设时长内的积分,得到离线飞行轨迹库。

具体的,对比每个飞行轨迹特征集合中的各个初始运动状态,可以通过运动学公式对各个初始运动状态在预设时长t内进行积分,从而得到未来预设时长t时间内无人机可能的飞行轨迹,这些飞行轨迹组合在一起形成离线飞行轨迹库。具体的积分过程如下:

at=at-1+jδt;

vt=vt-1+at-1δt+1/2jδt2

pt=pt-1+vt-1δt+1/2aδt2+1/6at-1δt3

其中,v表示无人机的速度,t表示时间,a表示无人机的加速度,j表示无人机的加加速度,p表示无人机的飞行轨迹。

在积分过程中,在由于无人机实际的飞行速度、加速度有机械上的约束,这里需要对上述积分过程做额外的处理,处理方法如下:

第一种情况:判断飞行轨迹特征集合中的各个初始运动状态(v,a)是否在第一约束范围内[﹣vmax,vmax],[﹣amax,amax]内;若飞行轨迹特征集合中的各个初始运动状态(v,a)均在第一约束范围内,则以上述的积分公式对各个初始运动状态(v,a)在预设时长t内进行积分,得到无人机在预设时长t内的离线飞行轨迹库;

第二种情况:若飞行轨迹特征集合中的各个初始运动状态(v,a)不在第一约束范围[﹣vmax,vmax],[﹣amax,amax]内,且|at-1|>amax;令j=–amax,直到|at-1|<amax,并且再令j=0,经过上述处理后,再计算各个初始运动状态(v,a)在预设时长t内的积分,得到无人机在预设时长t内的离线飞行轨迹库;

第三种情况:若飞行轨迹特征集合中的各个初始运动状态(v,a)不在第一约束范围[﹣vmax,vmax],[﹣amax,amax]内,且|vt-1|>vmax;如果a=0,则令j=–jmax*v/||v||,否则令j=-jmax*a/||a||,经过上述处理后,再计算各个初始运动状态(v,a)在预设时长t内的积分,得到无人机在预设时长t内的离线飞行轨迹库。

其中,vmax表示无人机的速度最大值,amax表示无人机的加速度最大值,jmax表示无人机的加加速度最大值。

通过上述积分处理方法,可以建立一个离散的无人机飞行轨迹特征集合,以及集合中每个元素对应的可能轨迹。此处应当理解的是,上述建立离线飞行轨迹库的方法是对加加速度进行采样,在一些实施例中,还可以对加加加速度甚至更高阶导数的进行采样,虽然这样可以获得更全面的积分数据,但这样无疑会增大建立离线轨迹库的运算量以及后续建立轨迹库索引的难度,因此采用对加加速度进行采样获取无人机飞行轨迹的方式是最优的一种实施方式。在另外一些实施例中,如果仅仅需要无人机飞行中的部分数据,例如仅仅需要位置信息时,则可以不对速度和加速度进行积分。

步骤s20,根据无人机的运动状态及预设的离线飞行轨迹库中每条飞行轨迹与无人机运动状态的对应关系建立轨迹库索引。

其中,轨迹库索引是根据预设的离线飞行轨迹库中每条飞行轨迹与无人机历史运动状态之间的对应关系建立的。

通过步骤s10建立的离线飞行轨迹库具有大量的飞行轨迹,如果直接对无人机运动状态集合进行逐个的查询去找当前无人机运动状态对应的飞行轨迹,会非常慢。为了加速查找过程,现在对每个轨迹建立索引,以便无人机在飞行过程中能够快速查找到恰当的轨迹,以便后续飞行避障规划中的评估计算。

具体的,步骤s20中建立轨迹库索引的过程,如图3所示,包括如下步骤:

步骤s21,将离线飞行轨迹库中每条飞行轨迹对应的无人机的多维运动状态作为索引键值。具体的,使用每条轨迹对应的无人机运动状态(v,a)作为索引键值,三维空间上的无人机运动状态的维度有六维,即(vx,vy,vz,ax,ay,az)。

步骤s22,采用近似最近邻算法对无人机的多维运动状态进行特征匹配。在本发明实施例中具体采用flann(fastlibraryforapproximatenearestneighbors)库实现特征匹配,flann库是目前最完整的(近似)最近邻开源库。不但实现了一系列查找算法,还包含了一种自动选取最快算法的机制。在一个度量空间x给定一组点p=p1,p2,…,pn,这些点必须通过以下方式进行预处理,给第一个新的查询点q属于x,快速在p中找到距离q最近的点,即最近邻搜索。flann库是一个开源库,详细的使用方式可以从flann库的官方网站上找到,这里不再赘述。

步骤s23,根据特征匹配结果,在离线飞行轨迹库中确立每条飞行轨迹与索引键值的对应关系。具体的,这种对应关系是一种以对多的对应关系,即无人机的运动状态可以对应离线飞行轨迹中的多条飞行轨迹。

步骤s30,以无人机的当前运动状态作为查询键值,根据所述轨迹库索引在离线飞行轨迹库遍历查找无人机当前运动状态对应的飞行轨迹集合。

具体的,在离线情况下建立好无人机运行状态和飞行轨迹的对应索引关系之后,可以根据无人机的当前运动状态,通过轨迹库索引关系在离线飞行轨迹库中快速查找到对应可达的飞行轨迹集合,可以在短时间内快速地生成无人机在未来预设时长内的飞行轨迹集合,解决了无人机的当前运动状态和离线飞行轨迹相结合的问题。与现有技术中根据无人机当前运动状态进行积分生成无人机在未来预设时长内的飞行轨迹集合的方式相比,大大缩短了无人机飞行轨迹的生成时间,可以提高无人机在线避障规划时的执行速度,从而提高无人机自主飞行时的安全性。

在实际应用中,在执行步骤s30前,为了方便无人机能在短时间内快速地查找到对应的飞行轨迹集合,需要将离线飞行轨迹库预先加载到无人机的内存中。但是,受到无人机机载计算资源和存储资源的约束,通常情况下无人机无法将整个离线飞行轨迹库全部加载进无人机的内存中,因此,本发明的一种优选实施方式设计了一种预先加载部分轨迹库的方法,使大型的轨迹库也能在无人机上实时使用。步骤s30的具体过程如图4所示,具体包括如下步骤:

步骤s31,预先加载部分飞行轨迹库到无人机的内存中。具体的,根据无人机的当前运动状态,计算出再一段时长δt内无人机运动状态的改变幅度,根据改变幅度,将对应的部分离线飞行轨迹库加载到无人机的内存中。

步骤s32,以无人机的当前运动状态作为查询键值,在无人机的内存中的部分飞行轨迹库进行遍历查询;若查询键值在部分飞行轨迹库中执行步骤s33,若查询键值不在部分飞行轨迹库中执行步骤s34。

步骤s33,根据查询键值对应的飞行轨迹,输出无人机当前运动状态在预设时长内的全部飞行轨迹的集合。

步骤s34,从外部加载离线飞行轨迹库到无人机的内存中。

这种先通过加载部分飞行轨迹库到无人机内存中的方式,先将与无人机的当前运动状态对应的部分飞行轨迹库加载到无人机的内存中。当以无人机的当前运动状态作为查询键值,在无人机的内存中的部分飞行轨迹库能够找到对应的飞行轨迹时,直接根据查询键值对应的飞行轨迹,输出无人机当前运动状态在预设时长内的全部飞行轨迹的集合;当部分飞行轨迹库中无法找到对应的飞行轨迹时,再从外部存储的离线飞行轨迹库中调用对应的飞行轨迹到无人机的内存中;这种预先加载部分飞行轨迹库到无人机的内存中和根据实际情况需要从外部存储中加载离线飞行轨迹库相结合的方法,克服了无人机存储资源和计算资源的限制。

其中,步骤s31的具体操作过程,如图5所示,具体包括如下步骤:

步骤s311,根据无人机的当前运动状态和一段时长后的运动状态,建立查询键值集合。具体的,根据无人机的当前运动状态,计算出再一段时长δt内无人机运动状态的改变幅度,根据改变幅度,建立查询键值集合。

步骤s312,计算查询键值集合中的各个运动状态在一段时长内的积分,得到部分飞行轨迹库并加载到无人机的内存中。具体的积分得到部分飞行轨迹库的方法与步骤s10中的方法相同,此处不再赘述。

步骤s313,遍历查询键值集合,根据所述轨迹库索引查询无人机当前运动状态对应的飞行轨迹是否在无人机的内存中,若查询结果为否,则将对应的飞机轨迹加载到无人机的内存中。

在步骤s313中,若遍历查询键值集合、根据所述轨迹库索引查询无人机当前运动状态对应的飞行轨迹是否在无人机的内存中的查询结果为否,则将相应的查询键值插入到查询键值集合中,作为飞行轨迹存在于无人机内存中的记录。

在本发明实施例提供的飞行轨迹的生成方法在生成无人机当前运动状态对应的飞行轨迹集合之后,将全部的飞行轨迹输入到后续的无人机避障规划模块中,无人机避障规划模块根据飞行任务选择其中一条轨迹作为未来执行的飞行轨迹。

综上所述,本发明实施例所提供的飞行轨迹的生成方法,将飞行轨迹生成过程中比较耗时的运算过程离线处理,建立离线飞行轨迹库,再通过快速的索引算法,将无人机的当前运动状态与离线飞行轨迹库中可达的飞行轨迹相对应,可以在短时间内快速地生成无人机在未来预设时长内的飞行轨迹,从而大大加速了无人机在线避障规划时的执行速度。

本发明实施例还提供了一种无人机,如图6所示,该无人机可以包括但不限于处理器51和存储器52,其中处理器51和存储器52可以通过总线或者其他方式连接,图6中以通过总线连接为例。

处理器51可以为中央处理器(centralprocessingunit,cpu)。处理器51还可以为其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。

存储器52作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的飞行轨迹的生成方法对应的程序指令/模块。处理器51通过运行存储在存储器52中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的飞行轨迹的生成方法。

存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器51所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至处理器51。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个模块存储在所述存储器52中,当被所述处理器51执行时,执行如图1-图5所示实施例中的飞行轨迹的生成方法。

上述无人机具体细节可以对应参阅图1-图5所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。

本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。

虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1