基于人工势场的进化算法的飞行物航迹规划方法与流程

文档序号:15139357发布日期:2018-08-10 19:42阅读:151来源:国知局

本发明涉及飞行物自主避险技术领域,具体涉及一种基于人工势场的进化算法的飞行物航迹规划方法。



背景技术:

基于进化算法的路径规划在无人机的航迹规划中通常比其他方法更灵活和有效。一方面,算法具有非常强大的全局搜索能力,增强效率;另一方面,算法本身不需要耗费时间去构建空间,可以避免陷入局部最优。独立航迹点微分进化算法是进化算法的一种变形,将传统的微分进化算法由整条航迹进化改进为航迹点进化,提高了进化效率。

航迹点独立进化算法,是新型微分进化算法。在无人机航迹规划问题时,大多数常用的目标和约束函数是将航迹点独立看待的。由于规划出的无障碍路径的实际注意点就是几何问题,由航迹点产生的点、线和角度,可以直接地分解进化这些函数,那么新的约束函数可以在改进原函数的基础上获得。在这种情况下,高质量的航迹点可以提高整个备选路径的质量。如图1所示,为现有的航迹点进化方法的实现流程图:具体地说,在第j条路径上的航迹点按升序排序进化,即第(i+1)个航迹点将在第i个之后进化,i=2,3,…nw-1。对于第j条路径上的第i个航迹点,对于它的后代是由所有之前迭代而得到的航迹上第i个航迹点进化得到的,i=2,3,…nw-1j=2,3,…np。通过这种方式,可以明显的改善目前第i个航迹点的质量。产生新的后代后,它被要求与上一代竞争,表现更好的航迹点将会留下来。为了评估航迹点,一系列源于微分算法常用函数新的评价函数被引用过来。每一个航迹点的交叉变异操作是由进化算法的变形微分算法来完成。在每一次迭代中执行一次。理想情况下,其可在任时候执行,记为n,n越大航迹点获得的信息量就越大,可以使用和产生更好质量的航迹点。然而,n的大小具有两面性,信息量越大计算量也就变大。

然而,现有的航迹规划方法中,所采用的进化算法大多的改进方式,都是以航迹点与航迹点之间的直线连线为基础。当在为一个无人机设计路径时,很多重要的因素需要被考虑进去,比如无人机的可操作性,任务空间的环境,安全性和路径的成本。这些因素即在目标方程中被找到,或者在路径必须遵守的约束方程中找到。但是,航迹点与航迹点直接相连的方法,对于航迹的平滑性影响很大。航迹点越多路径越平滑。但是航迹点数量增多,计算量也在增大。



技术实现要素:

为解决现有技术存在的不足,提供一种不增加计算量而使飞行物航迹变平滑的方法,本发明提供了一种基于人工势场的进化算法的飞行物航迹规划方法,包括如下步骤:

步骤s1:初始化多个航迹点,并在多个航迹点的基础上初始化np条航迹线,每条航迹线上具有相同数量的nw个航迹点;

步骤s2:初始化第一个迭代周期的每条航迹线第一个航迹点的交叉操作的自适应参数μcrj,1(1)及变异操作的自适应参数μfj,1(1);并初始化第一个迭代周期中cr和f的理想值scr(1)和sf(1);其中,j代表每个航迹点,其值介于2至np;

步骤s3:自适应生成每条航迹线第一个航迹点的cr值和f值;

步骤s4:从当前迭代周期t中的所有航迹点中,选择前q%好的航迹点对应的航迹线,并从这些航迹线中随机选取一条同时,再随机选取两条航迹线其中,属于三条不同的航迹线;

步骤s5:根据下述公式,对之外的所有航迹线上的所有航迹点生成一个潜在航迹点

其中,i代表航迹点,其值介于2至nw;j代表航迹线,其值介于2至np;分别代表航迹线上对应的航迹点;每条航迹线上,各航迹点的μcrj,i(t)及对应的f值随航迹点的不同也进行相应更新;

步骤s6:生成mrand=randint(1,3),构建一个中间航迹点

对于m∈(1,3),如果满足m=mrand或rand(0,1)<cr中的任一项,则否则

其中,mrand=randint(1,3)表示从1、2或3中随机选择一个数值,rand(0,1)<cr表示从0到1之间随机选择一个数值;m表示航迹点在xyz轴坐标上的适应值;

步骤s7:根据下述规则,确定下一次迭代周期中相应航迹线上的航迹点:

如果

否则

之后,cr→scr(t),f→sf(t)

cr→scr(t),f→sf(t)表示记录成功进化后cr和f的值,并从中得到cr和f的理想值scr(t)及sf(t);

步骤s8:根据下述公式,计算下一个迭代周期的每个航迹点交叉操作的自适应参数μcri(t+1)及变异操作的自适应参数μfi(t+1):

μcrj,i(t+1)=(1-c)μcrj,i(t)+c﹒meana[scr(t)];

μfj,i(t+1)=(1-c)μfj,i(t)+c﹒meanl[sf(t)];

并且,自适应生成下一个迭代周期各航迹点的cr值和f值;

其中,meana[scr(t)]和meanl[sf(t)]分别表示上一个迭代周期中,多个cr的理想值的平均值,以及多个f的理想值的平均值;

步骤s9:重复步骤s4至步骤s9,依次完成所有迭代周期的航迹点及航迹线更新,以从最终的航迹线中选择最佳航线;

步骤s10:在每条航迹线的相邻航迹点之间均匀划分多个间隔点。

其中,所述步骤s3中,cr值和f值的生成方法分别为:

cr=rand(μcri,d);

f=rand(μfi,d);

其中,rand(μcri,d)表示在多个μcri服从高斯分布,且其标准偏差为d的情况下随机生成cr值;rand(μfi,d)表示在多个μfi服从柯西分布,且其标准偏差为d的情况下随机生成f值。

其中,所述步骤s7的中,函数的计算公式为:

其中,分别表示航迹点或航迹点在三个坐标轴上的分量;分别表示航迹点在三个坐标轴上的分量;分别表示航迹点在三个坐标轴上的分量。

其中,所述步骤s10中,航迹点间的间隔点的坐标轴计算公式为:

其中,分别表示航迹点的三维坐标分量,分别表示航迹点的三维坐标分量,nd表示航迹点与航迹点之间的间隔点总数;

分别表示航迹点与航迹点之间第n个间隔点的三维坐标分量;

分别代表第nd个间隔点受到的力在x轴及y轴上的分量;

分别代表航迹点受到的力在x轴及y轴上的分量;

分别代表航迹点受到的力在x轴及y轴上的分量。

其中,的确定方法为:

其中,为第nd个间隔点受到的力,θ为第nd个间隔点受到的力与x轴的夹角;

的确定方法为:

其中,为航迹点受到的力,θ为航迹点受到的力与x轴的夹角;

的确定方法为:

其中,为航迹点受到的力,θ为航迹点受到的力与x轴的夹角。

其中,的确定方法为:

ftotal(x)=fatt(x)+frep(x);

其中,x表示航迹点或这两个航迹点之间的第nd个间隔点;

fatt(x)为该点的吸引力,frep(x)为该点的斥力。

其中,所述fatt(x)的确定方法为:

fatt(x)=-▽uatt(x)=-▽katt(x)|x-xq|;

其中,uatt(x)表示对应的x点的吸引力势场,katt(x)为对应的x点的势场系数,|x-xq|为对应的x点与目标点的直线距离;▽uatt(x)和▽katt(x)分别代表x点的吸引力势场和势场系数的微积分。

其中,所述frep(x)的确定方法为:

若|x-x0|≤ρ0,则

若|x-x0|>ρ0,则

frep(x)=-▽urep(x)=0;

其中,urep(x)表示对应的x点的斥力势场,ρ0为禁飞的安全距离,|x-x0|为对应的x点与障碍物x0之间的直线距离;

▽urep(x)x点的斥力势场的微积分。

其中,所述步骤s10中,在寻找最佳航线时,同时需要考虑飞行物的最小被击落风险、最小被雷达发现的风险、最小的飞行高度、最大转向点、坡度限制、区域航迹点的限制以及航迹点的约束。

其中,

其中,如果dis≤rkmax,则

否则,

其中,m表示导弹的数目,dis表示间隔点与导弹的距离,rkmax表示飞行物被击落的风险概率。

其中,

其中,如果dis≤rdmax,则

否则,

其中,m表示雷达的数目,dis表示间隔点与雷达的距离,rdmax表示飞行物最小被发现概率。

其中,最大转向点的寻找公式为:

本发明提供的基于人工势场的进化算法的飞行物航迹规划方法,通过分别进化航迹点,可以更好地利用指导进化,得到更高的质量航迹点。经过实际能力验证,在复杂的山地场景中,本发明在有效性和效率上均较现有的独立航迹点进化算法具有明显优势。

附图说明

图1:现有的航迹点进化方法的实现流程图;

图2:本发明中多个航迹点之间的二维路径示意图;

图3:本发明的场景仿真图;

图4:现有的航迹点独立进化的微分算法的仿真图;

图5:本发明的基于人工势场法引导的独立航迹点进化算法的仿真图。

附图标记说明

10航迹点

20间隔点

30障碍物

具体实施方式

为了对本发明的技术方案及有益效果有更进一步的了解,下面结合附图详细说明本发明的技术方案及其产生的有益效果。

一、技术方案

如何将提出的算法在进化算法中选择进化,在现有的方法中,再生、选择与表示相互是独立的,直接地说,任何再生策略都可以被用来去进化,本发明中,采用进化算法的变形——微分算法,去进化航迹点。微分进化有着与进化算法相同的框架结构,本发明中,通过不同的交叉操作,创造出实验向量,具体的,通过增加两个不同权重的向量到第三个中去交叉。

本发明提供的基于人工势场的进化算法的飞行物航迹规划方法,包括如下步骤:

步骤s1:初始化多个航迹点,并在多个航迹点的基础上初始化np条航迹线,每条航迹线上具有相同数量的nw个航迹点。

步骤s2:初始化第一个迭代周期的每个航迹点更新cr值的的自适应参数μcrj,1(1)及更新f值的自适应参数μfj,1(1),即交叉操作及变异操作的自适应参数;并初始化cr和f的理想值scr(1)和sf(1);其中,j代表每个航迹点,其值介于2至np;

步骤s3:根据下述公式自适应生成cr值和f值:

cr=rand(μcri,d);

f=rand(μfi,d);

其中,rand(μcri,d)表示在多个μcri服从高斯分布,且其标准偏差为d的情况下随机生成cr值;rand(μfi,d)表示在多个μfi服从柯西分布,且其标准偏差为d的情况下随机生成f值。

步骤s4:从当前迭代周期t中的所有航迹点中,选择前q%好的航迹点对应的航迹线,并从这些航迹线中随机选取一条同时,再随机选取两条航迹线其中,属于三条不同的航迹线。

也即,是从前q%的优秀路径中选择出来的,q值从5-20中选择,严格来说,被选择出的航迹线可能不是航迹点产生后代最好的参考,这是因为称为的良好行为在路径不同于j路径行为良好的航迹点。但在早起的搜索阶段,候选路径非常多样化,虽然航迹点和到的质量不能被认证,但至少在良好的位置。这个阶段可以被视为粗调,随着优化的继续,航迹点的位置将逐渐收敛,候选人路径将彼此接近。在这个阶段,这些信息可以用来微调的航迹点,种突变的结构逐步驱动找到最优航迹。

步骤s5:根据下述公式,对之外的所有航迹线上的所有航迹点生成一个潜在航迹点

其中,i代表航迹点,其值介于2至nw;j代表航迹线,其值介于2至np;分别代表航迹线上对应的航迹点。

步骤s6:生成mrand=randint(1,3),构建一个中间航迹点

对于m∈(1,3),如果满足m=mrand或rand(0,1)<cr中的任一项,则否则

步骤s7:根据下述规则,确定下一次迭代周期中相应航迹线上的航迹点:

如果

否则并且,cr→scri(t),f→sfi(t)

cr→scr(t),f→sf(t)表示记录成功进化后cr和f的值,并从中得到cr和f的理想值scr(t)及sf(t);比较函数的确定公式如下:

其中,分别表示航迹点或航迹点在三个坐标轴上的分量;分别表示航迹点在三个坐标轴上的分量;分别表示航迹点在三个坐标轴上的分量。

也即,通过步骤s6到步骤s8的交叉操作、评估排名,使先前路径和后代路标进行竞争,留下更好的航迹点。scri(t)及sfi(t)记录成功繁殖的cr和f值,保证后代表现比上一代好。

步骤s8:根据下述公式,计算下一个迭代周期的每个航迹点交叉操作的自适应参数μcri(t+1)及变异操作的自适应参数μfi(t+1):

μcrj,i(t+1)=(1-c)μcrj,i(t)+c﹒meana[scr(t)];

μfj,i(t+1)=(1-c)μfj,i(t)+c﹒meanl[sf(t)];

更新完后,下一个迭代周期的cr值和f值会自适应生成;

发明人研究发现,c值的范围在0.05至0.2之间内,效果明显,在本发明中,c值可以设为0.1。

步骤s9:重复步骤s4至步骤s9,依次完成所有迭代周期的航迹点及航迹线更新,以从最终的航迹线中选择最佳航线。

步骤s10:在每条航迹线的相邻航迹点之间均匀划分多个间隔点。

步骤s10为本发明的核心点,按照人工势场的理论,将各个航迹点之间的线段均匀分成多段,从而在不增加计算量的情况下使所规划的路径更平滑;

航迹点间的间隔点的坐标轴计算公式为:

其中,分别表示航迹点的三维坐标分量,分别表示航迹点的三维坐标分量,nd表示航迹点与航迹点之间的间隔点总数;

分别表示航迹点与航迹点之间第n个间隔点的三维坐标分量;

分别代表第nd个间隔点受到的力在x轴及y轴上的分量;

分别代表航迹点受到的力在x轴及y轴上的分量;

分别代表航迹点受到的力在x轴及y轴上的分量。

其中,

为第nd个间隔点受到的力,θ为第nd个间隔点受到的力与x轴的夹角。

其中,

为航迹点受到的力,θ为航迹点受到的力与x轴的夹角。

其中,

为航迹点受到的力,θ为航迹点受到的力与x轴的夹角。

的确定方法为:

ftotal(x)=fatt(x)+frep(x);

其中,x表示航迹点或这两个航迹点之间的第nd个间隔点;

fatt(x)为该点的吸引力,frep(x)为该点的斥力。

所述fatt(x)的确定方法为:

fatt(x)=-▽uatt(x)=-▽katt(x)|x-xq|;

其中,uatt(x)表示对应的x点的吸引力势场,katt(x)为对应的x点的势场系数,|x-xq|为对应的x点与目标点的直线距离。▽uatt(x)和▽katt(x)分别代表x点的吸引力势场和势场系数的微积分。

所述frep(x)的确定方法为:

若|x-x0|≤ρ0,则

若|x-x0|>ρ0,则

frep(x)=-▽urep(x)=0;

其中,urep(x)表示对应的x点的斥力势场,ρ0为禁飞的安全距离,|x-x0|为对应的x点与障碍物x0之间的直线距离。▽urep(x)x点的斥力势场的微积分。

图2为本发明中多个航迹点之间的二维路径示意图,如图所示,发明人设置每两个航迹点10之间的间隔点20数量为2,相对于没有间隔点20的航迹线,在考虑到间隔点20的情况下,航迹线更加平滑,可以完美避开障碍物30,而且当间隔点20加入的越多,航迹越平滑。

在寻找最佳航线时,同时需要考虑飞行物的最小被击落风险、最小被雷达发现的风险、最小的飞行高度、最大转向点、坡度限制、区域航迹点的限制以及航迹点的约束。

具体的,

其中,如果dis≤rkmax,则

否则,

其中,m表示导弹的数目,dis表示间隔点与导弹的距离,rkmax表示飞行物被击落的风险概率。

其中,如果dis≤rdmax,则

否则,

其中,m表示雷达的数目,dis表示间隔点与雷达的距离,rdmax表示飞行物最小被发现概率。请补充。

最大转向点的寻找公式为:

二、仿真分析

1、场景描述

在无人机路径规划的场景描述中,没有广泛被人接受的基准。因此,发明人设计了如上图3的模拟场景与不同数量的障碍物进行仿真。具体来说,场景由三个关键部分组成即:地形、障碍和开始以及目的地。这里的地形是著名的散兵坑的平优化问题的变形,方程为:

参数a和c是用来地形的改变格局。采用这种地形的原因是出现的场景非常崎岖,高的部分可以成像为在现实中的“山”路径规划的空间设置在有限的空间内(10*10*2000)障碍是危险的区域,甚至禁止无人机的飞行。

方程中的i,j再说明下,有必要的,请按照前文的思路,在完善x、a及c时,把航迹线j、航迹点i和迭代周期t都完善,更好理解,如果上述方程中的i和j表示的不是航迹点及航迹线,请换别的符号表示,以免混淆。

2、仿真结果

下表中,算法n为现有的航迹点独立进化算法,z代表本发明所使用的基于人工势场法引导的独立航迹点进化算法。t为时间,s为航迹顺滑度,l为距离,nm为航迹点数目,sr为对话成功率。由下表可得,本发明所使用的基于人工势场法引导的独立航迹点,相比较现有技术的进化算法,航迹点使用量小,用时短,而且航迹平滑度要比独立航迹点进化算法高。

表1两个规划的具体参数

由图4和表1可以得到,在航迹点独立进化的微分算法中,最少需要20个航迹点,才可以完成航迹规划。并且在图4中,航迹并不平滑。我们知道在高速飞行的无人机中,飞一个折线角并不容操控。而在由人工势场法引导的航迹点独立进化算法中,如图5所示,无人机航迹规划不仅完成速度快,并且只需要5个航迹点就可以完成规划,人工势场法引导航迹的方法在减少航迹点方面起了很重要的作用。航迹点具有两面性。航迹点越多路径越平滑,准确性越高。但是计算量会变大,效率会降低。由图5和表1我们可以得到,由人工势场法引导的航迹点独立进化算法中,路径更加平滑,收敛速度快,并且时间短。是一种非常有效的航迹规划方法。

综上,本发明提供的无人机航迹规划方法,通过分别进化航迹点,可以更好地利用指导进化,得到更高的质量航迹点。经过实际能力验证,在复杂的山地场景中,本发明在有效性和效率上均较现有的独立航迹点进化算法具有明显优势。

虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明的保护范围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对上述实施例进行各种变动与修改仍属本发明所保护的范围,因此本发明的保护范围以权利要求书所界定的为准。

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