一种基于麻雀搜索算法的无人机航迹规划方法

文档序号:30076562发布日期:2022-05-18 03:26阅读:775来源:国知局
一种基于麻雀搜索算法的无人机航迹规划方法

1.本发明涉及无人机迹规划技术领域,特别是涉及一种基于麻雀搜索算法的无人机航迹规划方法。


背景技术:

2.无人机常常需要在空中执行复杂的任务并且会部署在人工操作困难的地区进行特殊作业,如监视、空投货物等。当无人机进入复杂的环境中,人类在操控无人机执行指定任务之前,必须要对其飞行的航迹进行合理有效的规划,得到可以参考的航迹后,才能让无人机按照这条参考路径飞行并确保最终顺利完成各项艰巨的任务,足见拥有一个好的航迹规划在执行复杂任务时是非常重要的。三维路径规划可以定义为np问题,其主要目的是对出发点到目标点之间的路径进行优化。在此过程中需要处理多个约束条件,如无人机自身的性能约束、威胁约束和环境约束等等。为了使得规划出的航迹满足实际可飞的要求,还必须对航迹进行平滑处理。综上所述,三维无人机的航迹优化问题可以被认为是一个多约束优化问题。
3.目前,对于无人机航迹优化的问题,现有文献中已经有许多的方法,下面主要针对群智能优化算法在该领域的应用展开论述。有学者针对多无人机航迹规划问题,提出了一种基于粒子群(pso)优化的实时航迹规划算法;还有一些学者提出了基于蚁群算法(aco)的无人机路径规划方法。一些近几年提出的新的群智能优化算法也被应用在了无人机路径规划上。也有人提出了改进的布谷鸟搜索算法并将其应用在无人机路径规划中;还有一些专家为了在更短的时间内更精确地解决路径规划问题,对萤火虫算法(gso)进行了改进,提出了几种改进方法,并且在快速高效地规划出路径的同时还考虑了一些约束条件,比如转弯角度和轨迹平滑度;也有专家针对求解三维无人机路径规划问题,提出了将染色体和基因的概念引入到原始的狼群搜索(wps)算法中去并且对原始的wps算法进行了改进,加入了遗传算法中的交叉算子和变异算子。仿真结果表明,改进的wps算法性能要优于原始的wps算法和遗传算法(ga)。除此之外,像蝙蝠算法(ba)、人工蜂群(abc)算法、灰狼优化(gwo)算法等也都成功的应用在无人机航迹规划上。但上述这些算法各自都存在一些局限性,需要通过对群智能优化算法进一步挖掘。


技术实现要素:

4.本发明所要解决的技术问题是提供一种基于麻雀搜索算法的无人机航迹规划方法,能够通过麻雀搜索算法寻找到无人机航迹的最优路径。
5.本发明解决其技术问题所采用的技术方案是:提供一种基于麻雀搜索算法的无人机航迹规划方法,包括:
6.步骤(1):对无人机航迹规划进行建模,得到总的代价函数;
7.步骤(2):通过麻雀搜索算法对所述总的代价函数进行优化;
8.步骤(3):得到无人机航迹规划的最优路径。
9.所述步骤(1)中的总的代价函数的公式为:f(x)=w1l
path
+w2h
height
+w3j
turn
,其中,f(x)表示总的代价函数,l
path
表示航迹长度函数,h
height
表示飞行高度函数,j
turn
表示转角代价函数,w1表示航迹长度函数的权值,w2表示飞行高度函数的权值,w3表示转角代价函数的权值。
10.所述航迹长度函数l
path
的公式为:其中,li表示第i个航路点和第i+1个航路点之间的距离且li=||g(i+1)-g(i)||2,g(i)表示第i个航路点的坐标,g(i+1)表示第i+1个航路点的坐标;
11.所述飞行高度函数h
height
的公式为:其中,z(i)表示第i个航路点的高度;
12.所述转角代价函数j
turn
的公式为:其中,φ表示最大转角,θ表示当前转角,ai表示第i段航路段向量,||表示矢量符号。
13.步骤(21):初始化麻雀种群,包括:设置最大迭代次数、发现者数量、加入者数量、警戒者比例和安全阈值参数;
14.步骤(22):根据所述总的代价函数计算每个麻雀的适应度值,并对每个麻雀的适应度值进行排序,得到适应度值排序结果,其中,所述适应度值排序结果包括当前适应度最优值和当前适应度最差值;
15.步骤(23):更新发现者的位置、加入者的位置,并根据所述适应度值排序结果更新警戒者的位置;
16.步骤(24):获取更新后的麻雀种群的最优值,若更新后的麻雀种群的最优值优于上一次迭代值,则更新最优值,否则不更新;
17.步骤(25):判断当前迭代次数是否达到最大迭代次数,若达到最大迭代次数,则输出结果;否则返回步骤(23),迭代次数加1。
18.所述步骤(21)中的麻雀种群的公式为:其中,x为优化变量构成的位置向量,d为优化问题中变量的维数,n为麻雀的数量。
19.所述步骤(22)中的据所述总的代价函数计算每个麻雀的适应度值,公式为:其中,f表示适应度值。
20.所述步骤(23)中发现者的位置更新公式为:其中,t表示当前迭代数,j=1,2,3,...,d;iter
max
表示最大的迭代次数;x
ij
表示第i个麻雀在第j维中的位置信息;α∈(0,1];r2表示预警值且r2∈[0,1],st表示安全值且st∈[0.5,1];q表示服从正态分布的随机数;l表示1
×
d维的第一矩阵,第一矩阵内每个元素全部为1。
[0021]
所述步骤(23)中加入者的位置更新公式为:其中,x
p
表示当前发现者所占据的最优位置,x
worst
表示当前全局最差的位置,a表示1
×
d维的第二矩阵,第二矩阵中每个元素随机赋值为1或-1,并且a
+
=a
t
(aa
t
)-1

[0022]
所述步骤(23)中警戒者的位置更新公式为:其中,x
best
表示当前的全局最优位置;β表示步长控制参数;k∈[-1,1],fi表示当前麻雀个体的适应度值;fg表示当前全局最佳的适应度值;fw表示当前全局最差的适应度值;ε表示常数。
[0023]
所述步骤(21)中警戒者比例为麻雀数量的10%~20%。
[0024]
有益效果
[0025]
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明将麻雀搜索算法首次应用于由航迹长度函数、飞行高度函数、转角代价函数进行加权组成的总的代价函数,对其进行寻优并将最终得到的最佳航线进行平滑处理进而达到实际可飞的要求,再对求取结果进行分析与总结,从而表明本发明可以成功地解决三维无人机航迹优化问题;本发明的麻雀搜索算法在复杂的、具有挑战性的搜索空间中具有良好的性能,并在避免局部最优和收敛性方面具有很强的竞争力;本发明的麻雀搜索算法具有更高的求解精度,更快的收敛速度,在搜索过程中由有较强的全局寻优能力,有效避免搜索陷入局部最优解的情况;本发明的麻雀搜索算法具有一定的优势和应用价值,并且这一新型的群智能优化算法完全可以为不同研究领域的优化问题中的最优设计提供一种全新的解决方案。
附图说明
[0026]
图1是本发明实施方式的麻雀搜索算法流程图;
[0027]
图2是本发明实施方式的地形仿真示意图;
[0028]
图3是本发明实施方式的环境建模效果仿真示意图;
[0029]
图4是本发明实施方式的航迹规划示意图;
[0030]
图5是本发明实施方式的二维航迹规划效果示意图;
[0031]
图6是本发明实施方式的麻雀搜索算法的收敛曲线示意图。
具体实施方式
[0032]
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本技术所附权利要求书所限定的范围。
[0033]
本发明的实施方式涉及一种基于麻雀搜索算法的无人机航迹规划方法,在详细介绍本发明之前,先介绍一下本实施方式实现无人机航迹优化的核心算法,即麻雀搜索算法(sparrow search algorithm,ssa),如图1所示,具体如下:
[0034]
步骤1:定义待优化的目标函数f(x)以及相应的优化变量范围;
[0035]
步骤2:初始化麻雀种群,设置最大迭代次数、发现者数量、加入者(追随者)数量、警戒者比例以及安全阈值参数;
[0036]
步骤3:根据待优化的目标函数f(x)计算每个麻雀的适应度值,对适应度值进行排序,选出适应度值中的当前最优值和当前最差值;
[0037]
步骤4:更新发现者的位置、加入者的位置,根据当前最优值和当前最差值更新警戒者位置;
[0038]
步骤5:获取更新后的麻雀种群的最优值,若更新后的最优值比上一次迭代的最优值好,则更新最优值,否则不更新;
[0039]
步骤6:判断当前迭代次数是否达到最大迭代次数,若达到最大迭代次数则输出结果,否则返回步骤4,迭代次数加1。
[0040]
麻雀搜索算法,在模拟实验中,需要使用虚拟麻雀进行食物的寻找,由n只麻雀组成的种群可表示为如下形式:
[0041][0042]
其中,d为待优化问题变量的维数,n为麻雀的数量,x为优化变量构成的向量。
[0043]
步骤3中,根据待优化的目标函数f(x)计算每个麻雀的适应度值,所有麻雀的适应度值可以表示为如下形式:
[0044][0045]
其中,f表示适应度值。
[0046]
在麻雀搜索算法中,具有较好适应度值的发现者在搜索过程中会优先获取食物。
此外,因为发现者负责为整个麻雀种群寻找食物并为所有加入者提供觅食的方向。因此,发现者可以获得比加入者更大的觅食搜索范围。在每次迭代的过程中,发现者的位置更新描述如下:
[0047][0048]
其中,t表示当前迭代数,j=1,2,3,...,d;iter
max
是一个常数,表示最大的迭代次数。x
ij
表示第i个麻雀在第j维中的位置信息;α∈(0,1]是一个随机数;r2表示预警值且r2∈[0,1],st表示安全值且st∈[0.5,1];q是服从正态分布的随机数;l表示一个1
×
d维的第一矩阵,第一矩阵内每个元素全部为1。
[0049]
当r2<st时,这意味着此时的觅食环境周围没有捕食者,发现者可以执行广泛的搜索操作。如果r2≥st,这表示种群中的一些麻雀已经发现了捕食者,并向种群中其它麻雀发出了警报,此时所有麻雀都需要迅速飞到其它安全的地方进行觅食。
[0050]
进一步地,步骤4中,一些加入者会时刻监视着发现者。一旦它们察觉到发现者已经找到了更好的食物,它们会立即离开现在的位置去争夺食物。如果它们赢了,它们可以立即获得该发现者的食物。加入者的位置更新描述如下:
[0051][0052]
其中,x
p
是目前发现者所占据的最优位置,x
worst
则表示当前全局最差的位置;a表示一个1
×
d维的第二矩阵,第二矩阵中每个元素随机赋值为1或-1,并且a
+
=a
t
(aa
t
)-1
;当i>n/2时,这表明,适应度值较低的第i个加入者没有获得食物,处于十分饥饿的状态,此时需要飞往其它地方觅食,以获得更多的能量。
[0053]
本实施方式中,假设这些意识到危险的麻雀(即警戒者)占总数量的10%到20%。这些麻雀的初始位置是在种群中随机产生的。其数学表达式可以表示为如下形式:
[0054][0055]
其中,x
best
是当前的全局最优位置。β作为步长控制参数,是服从均值为0,方差为1的正态分布的随机数;k∈[-1,1]是一个随机数,fi则是当前麻雀个体的适应度值;fg和fw分别是当前全局最佳和最差的适应度值;ε是最小的常数,以避免分母出现零。
[0056]
为简单起见,当fi>fg表示此时的麻雀正处于种群的边缘,极其容易受到捕食者的攻击。x
best
表示这个位置的麻雀是种群中最好的位置也是十分安全的;当fi=fg时,这表明处于种群中间的麻雀意识到了危险,需要靠近其它的麻雀以此尽量减少它们被捕食的风险。k表示麻雀移动的方向同时也是步长控制参数。
[0057]
本实施方式将麻雀搜索算法应用于无人机航迹规划领域,具体如下:
[0058]
(一)无人机飞行环境建模
[0059]
环境模型的建立是考验无人机是否可以圆满完成人类所赋予各项任务的基础和前提,其中第一步便是如何描述规划空间中的障碍物。首先本实施方式将采取函数模拟法模拟地貌特征,其函数表达式为:
[0060][0061]
其中,(x,y)为地形上某点投影在水平面上的点坐标,z则为对应点坐标(x,y)的高度,式中δ1,δ2,δ3,δ4,δ5,δ6,δ7是常系数,想要得到不同的地貌特征可以通过改变其常系数的大小,以上建模是作为环境模型的基准地形信息。但为了得到障碍区域,还需要增加山峰模型,这样就可以模拟像山峰、丘陵等障碍地理信息。山峰模型的数学表达式为:
[0062][0063]
其中,hi表示第i座山峰的高度,(x
oi
,y
oi
)则表示第i座山峰的中心坐标位置,ai和bi分别是第i座山峰沿x轴和y轴方向的坡度。由上述两个表达式,可以得到如下表达式:
[0064]
z(x,y)=max[z(x,y),h(x,y)]
[0065]
根据z(x,y)可以得到地形仿真,详见图2。
[0066]
无人机在躲避障碍物的同时也会经常遇到具有威胁飞行安全的区域,称之为威胁区域。这些威胁区域可以是敌人的雷达和防空导弹系统的探测威胁区域,也可以是一些其它的威胁,一旦无人机进入这些区域很有可能会被击落或者坠毁。为了简化模型,本实施方式采用若干圆柱形区域表示威胁区域,其半径的大小决定威胁区域的覆盖范围。每一个圆柱体的中心位置是对无人机构成最大威胁的地方并向外依次减弱。综上所述,可以建模出如图3的效果仿真图,图3中若干个柱形体(即白色区域)便是威胁区域。
[0067]
(二)无人机航迹规划建模
[0068]
在环境建模的基础上,无人机航迹规划需要考虑到在执行复杂任务的过程中自身性能约束要求,合理的设计航迹评价函数才能使得麻雀搜索算法得出的最后结果符合要求,并保证规划出的航迹是有效的。考虑到实际环境中,无人机需要不断适应变化的环境。所以在无人机路径规划过程中,最优路径会显得比较复杂,并包含许多不同的特征。基于实际的情况,本实施方式采用较为复杂的航迹评价函数进行无人机路径规划。影响无人机性能的指标主要包括航迹长度、飞行高度、最小步长、转角代价、最大爬升角等。
[0069]
搜索最佳路径通常与搜索最短路径是密不可分的。在无人机航迹规划过程中,航迹的长度对于大多数航迹规划任务来说也是非常重要的。众所周知,较短的路线可以节省更多的燃料和更多的时间并且发现未知威胁的几率会更低。一般把路径定义为无人机从起始点到终点所飞行路程的值,设一条完整的航线有n个节点,其中第i个航路点和第i+1个航路点之间的距离表示为li,这两个航路点的坐标分别表示为(xi,yi,zi),(x
i+1
,y
i+1
,z
i+1
),并分别记作g(i)和g(i+1)。航迹需要满足如下条件:
[0070][0071]
一般情况下,为了利用地形覆盖自身位置,无人机应尽可能降低高度这可以帮助
自身避免一些未知雷达等威胁。但是太低的飞行高度同样会加大无人机同山体和地面的撞击几率,因此设定稳定的飞行高度是非常重要的。飞行高度不应该有太大的变化,稳定的飞行高度可以减少控制系统的负担,节省更多的燃料。为了使无人机飞行更加安全,本实施方式使用的飞行高度模型如下:
[0072][0073]
其中,h
height
为高度的标准差代价函数,z(i)表示第i个航路点的高度;表示z(i)的平均值。
[0074]
无人机的可操作性也受到其转角代价函数的限制。通常,在飞行过程中无人机的转角应不大于其预先设定的最大转角,转角的大小会影响其飞行的稳定性。本实施方式中,设定最大转角为φ,当前转角为θ并且ai是第i段航路段向量。转角代价如下:
[0075][0076]
其中,|a|代表矢量a的长度。
[0077]
通过对以上三个方面建立了无人机航迹规划的代价函数,可以得出本实施方式的航迹评价函数如下:
[0078]
f(x)=j
cost
=w1l
path
+w2h
height
+w3j
turn
[0079]
其中,j
cost
是总的代价函数(相当于目标函数f(x)),w1、w2、w3表示每个代价函数各自对应的权值,且满足如下条件:
[0080][0081]
通过对总的代价函数进行有效地处理,可以得到由线段组成的航迹。不可否认的是得到的路径往往是仅在理论上可行,但为了实际可飞,有必要对航迹进行平滑处理。路径平滑可以考虑多种方法,比如b样条曲线法、圆弧段串联法、滤波法等。其中b样条曲线法是目前比较常用的航迹平滑方法因为它具有整体全局优化、几何不变性、连续性、对称性、递推性、保凸性、可微性等特点。因此本实施方式采用插值的方式调用b样条曲线函数,对已获得的航迹进行平滑处理实现实际可飞的目的。
[0082]
(三)基于麻雀搜索算法的航迹优化
[0083]
(1)算法流程
[0084]
在上述的研究中,通过对航迹长度函数、飞行高度函数、转角代价函数进行数学建模最终得出了总的代价函数,进而将问题转化成求解总的代价评估函数最优化问题。以下将通过麻雀搜索算法来构造出相应的求解思路并给出算法优化流程,进而实现对三维无人机航迹的优化。
[0085]
本实施方式的麻雀搜索算法具有收敛速度快、稳定性好、全局搜索能力强等特点。结合麻雀搜索算法的特点,针对三维无人机,本实施方式给出了具体实现流程,如下所述:
[0086]
第一步:参数初始化。对所需参数进行初始化,如最大迭代次数、麻雀搜索算法中安全阈值的设置、航迹评价函数中权重和无人机自身约束条件中最大转角的设定等。
[0087]
第二步:初始化种群,如设定麻雀种群中发现者的数量、意识到危险的麻雀所占种群的比例。
[0088]
第三步:设置无人机的起飞点及目标点、威胁区域的位置并记录当前的环境信息。
[0089]
第四步:运用本实施方式提出的算法对总的代价函数j
cost
进行优化与更新,并通过航路点搜索确定候选路径。
[0090]
第五步:更新路径。如果当前航迹点好于之前,则重新构建出新的航路点以此得出最佳路径。
[0091]
第六步:判断是否达到终止条件,如果没有就跳转到第四步;否则继续下一步操作。
[0092]
第七步:直到收敛或者达到最大迭代次数则算法结束,并得到最优的航迹路线。
[0093]
(2)实验参数设置
[0094]
无人机飞行区域空间的长、宽、高分别为180
×
180
×
10,单位为km。可以看出这是一个非常大的规划空间,很适合模拟3d的场景。无人机的起始点坐标为(5,90,1.14),目标点坐标为(150,50,1.54),抽象场景如图4所示,其中,四个威胁区域中心的平面坐标和半径如表1所示,并且最大转角φ=90
°
,w1、w2、w3分别为0.5、0.3、0.2。
[0095]
表1威胁区域中心的平面坐标和半径
[0096][0097]
在本实施方式所提麻雀搜索算法中,种群大小设置为n=50,最大迭代次数为200,安全阈值st=0.8,发现者占种群规模的20%,意识到危险的麻雀数量sd=5。实验环境:本实施方式仿真实验在3.40ghz的英特尔i7处理器和4gb内存电脑上的matlab 2014a中进行。
[0098]
(3)测试与分析
[0099]
在这一部分中,本实施方式在具有挑战性的环境下进行了一系列实验,来验证所提出的麻雀搜索算法在三维无人机航迹规划中的性能。首先,对三维无人机路径规划中的航迹评价函数进行了优化,然后,得到了最优的代价评估函数值和最佳的航迹路线。最后,为了进一步验证该算法的稳定性和有效性,本实施方式独立运行30次求可行路径长度的平均值、标准差。
[0100]
首先,本实施方式测试验证了麻雀搜索算法对求解三维无人机航迹优化问题的有效性,从图4中可以看出,从出发点(图4中的小圆形)到目标点(图4中的小三角形),麻雀搜索算法规划出的航迹(图4中的白色线条)避开了所有的山体障碍和威胁区(图4中的柱状体),经过平滑处理后的路线符合实际且转折角度也不大。
[0101]
与此同时,从图6可以看到,麻雀搜索算法的收敛曲线在初始阶段(约20-55代)迅
速降低。然后,随着迭代次数的增加,成本函数值最终收敛到82.5。不难看出其最佳成本函数值取得了比较理想的值,能够缩短无人机飞行距离并以最短时间内到达执行任务目标点。从收敛速度来看,麻雀搜索算法在该问题上是一种有效的优化方法,具有较强的全局探索性,在多次迭代过程中,发现该算法跳出了局部最优解,并具有开发的能力,能够为无人机航迹优化提供一个很好的解决方案。其次,图5中更加直观的表示了ssa二维航迹规划效果图,从中可以看出规划的路线能够远离威胁区域并可以保证无人机在飞行过程中不会穿越威胁区域而造成不必要的损失,这不但提高了无人机飞行的隐蔽性,而且还能大大降低被一些未知雷达发现的机率,其安全性得到进一步的保障。此外,为了验证麻雀搜索算法在该应用上的稳定性,本实施方式进行了30次独立重复实验,结果如表2所示。
[0102]
表2麻雀搜索算法30次独立重复实验(航迹长度)
[0103][0104]
最后,通过对表2中的仿真结果分析,可知本实施方式提出的麻雀搜索算法在30次独立重复实验中搜索到的航迹长度的平均值为162.8338,标准差为3.9894,最优值为152.5622,最差值为169.2978。由标准差可以得出由麻雀搜索算法进行航迹规划实验得到的结果差异性较小,验证了该算法在实际应用中的稳定性和有效性。
[0105]
由此可见,本发明将麻雀搜索算法应用于三维无人机航迹优化问题上具有一定的优势和竞争力,也为无人机在真实复杂环境下的全局航迹提供合理的参考。总之,麻雀搜索算法在求解三维无人机航迹优化问题时有助于:a)为该类问题求解提供一种全新的算法思路;b)显著提高工作效率并找到一条有效的最短路径;c)更加全面的论证了麻雀搜索算法具有一定的优势和应用能力,值得更加深入的研究。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1