基于遗传规划的无人机航迹规划系统及方法技术领域
本发明涉及的是一种路径规划和人工智能领域的技术,具体是一种基于遗传规划的无
人机航迹规划系统及方法。
背景技术
路径规划系统主要应用于无人机、机器人、水面舰艇、车辆等的路径规划问题中。路径
规划是按照一定的评价标准体系,寻找运动体从起始状态点到达目标状态点的满足特定约束的
路径。
航迹规划是路径规划的一种,比一般的路径规划更加困难复杂。由于飞行器的运动性能
复杂、任务环境复杂性,航迹规划系统需要综合考虑飞行器的机动性能、任务时间、地形环境、
敌控区域等因素。航迹规划系统涉及飞行力学、自动控制、导航、计算机图形学等多个领域。
航迹规划系统主要包括航迹规划算法、轨迹跟踪控制、虚拟现实技术等内容,其中核心是航迹
规划算法。目前应用于航迹规划的算法主要有A*算法、遗传算法、神经网络等,其中遗传算法
常用来作为航迹规划算法。但是由于环境空间巨大、约束条件繁多且耦合性强等情况,之前的
算法结果并没有很好地解决问题。
遗传算法是一种解决复杂优化问题的技术。遗传算法通过产生一组个体,使用进化算子
来提升性能。遗传算法使用染色体和其中的基因来表示运算符,通过突变和交叉来进化。在航
迹规划问题中,已有大量的工作使用遗传算法得到了不错的结果。但是传统的遗传算法在处理
多层次问题的时候有不足的地方,当应用于拟合问题时,多层次的结构无法预知。此外,遗传
算法缺乏动态性。无法表示很多计算机程序和数学问题,尤其是复杂的等式和不等式约束。在
航迹规划问题中,遗传算法作为航迹规划算法,其规划出的航迹对威胁边缘依赖性很强,无法
达到更高的要求。
经过对现有技术的检索发现,遗传规划在机器人路径规划和避障的探索中获得了广泛的
应用,如中国专利文献号CN103077425A,公开(公告)日2013.05.01,公开了一种自主水下机
器人的实时路径规划方法,是AUV实时避碰过程中根据在线地图进行在线、实时局部路径规划
的方法。该技术根据AUV路径点数目设定小种群个数,并初始化;对每个小种群进行免疫选择
后得到子群;将其中一个子群进行遗传操作,另一个进行细胞克隆;然后通过接种疫苗和抗体
聚类形成下一代小种群,判断其是否满足条件;如果满足则选出这些小种群的最优个体;从所
有最优个体组成的集合中选择最优个体最为规划路径。该技术涉及的AUV实时避碰是典型的局
部路径规划算法,容易陷入局部最优,算法稳定性较差,受抗体浓度影响较大。而且AUV缺乏
动态性,对于不等式约束依然缺乏解决方法。
发明内容
本发明针对现有技术存在的上述不足,提出一种基于遗传规划的无人机航迹规划系统
及方法,采用遗传规划算法作为航迹规划算法,通过对遗传规划算法的改进和创新,将其应用
于复杂多目标优化问题中,利用树状结构进行初始化、解码、选择繁殖等步骤,不断的优化航
迹。优化过程迅速,方法直观,不依赖于威胁的引导点。本发明能够提高规划出的航迹性能,
减少了运算时间,优化适应度,具有很好的可行性和鲁棒性。
本发明是通过以下技术方案实现的:
本发明涉及一种基于遗传规划的无人机航迹规划系统,包括:无人机模型模块、遗
传规划算法模块、无人机任务模块和现场信息模块,其中:无人机模型模块与遗传规划算
法模块相连并传输无人机模型参数信息,现场信息模块与遗传规划算法模块相连并传输现
场威胁与地图信息,无人机任务模块与遗传规划算法模块相连并传输无人机任务以及起始
点信息。
本发明涉及一种基于上述系统的遗传规划的航迹规划算法,通过无人机模型模块构建
树状结构的初始群体,遗传规划算法模块对每个个体进行解码和计算适应值,并且在群体
之间进行选择和繁殖操作,经过若干次迭代过程得到最优群体,最终由无人机任务模块从
最优群体中选择出最佳个体并进行解码,即得到遗传规划的最优航迹。
本发明具体包括如下步骤:
步骤A,无人机任务模块构建优化方程,具体为:
一般的多目标优化问题为: minV i = f i ( x ) , i = 1 , 2 , ... , N s . t . X = [ x 1 , x 2 , ... , x d ] , X ∈ R d g j ( X ) ≤ 0 , j = 1 , 2 , ... , J h k ( X ) = 0 , k = 1 , 2 , ... , K , ]]>其中:fi(x)为目标方
程,X是d维决策变量向量,gj(X)表示不等式约束,hk(X)表示等式约束。
针对路径规划问题,路径优化方程为:
minf(x)=(f1(x),f2(x),f3(x))T, f 1 ( x ) = Σ i = 1 n l i 2 , f 2 ( x ) = Σ i = 1 n h i 2 , f 3 ( x ) = Σ i = 1 n f TA i , ]]>其中:
f TA i ( x ) = β j K j / ( R j ) 4 , x ∈ T h r e a t . j C ( p ) + V i o l a t e , x ∉ T h r e a t . j , f 1 ( x ) = Σ i = 1 n l i 2 ]]>表示路径长度的代价函数,li为每段航迹
长度,其减小该函数意味着航迹更短更平滑。表示飞行高度的代价函数,其中hi
为飞行高度,需要保证大于最小的高度。表示所有威胁的评估值。为威胁x
影响j位置的评估值,βj,Kj是威胁系数,Rj是x和j之间的距离。
由于航迹规划问题的约束主要根据无人机的模型参数中的各类限制而来,比如油量、最
大最小偏转角、最大最小俯仰角等等,其中路径最大最小长度和飞行高度受现场地图的地形限
制,约束定义为: l max - l i ≥ 0 , i ∈ I l i - l min ≥ 0 , i ∈ I a i T a i + 1 | | a i | | · | | a i + 1 | | - cos ψ ≥ 0 , i ∈ I | z i - z i - 1 | | a i | - tan θ ≤ 0 , i ∈ I H i - H min ≥ 0 , i ∈ I , ]]>其中:前两个约束表示最大路径长
度lmax和最小路径长度lmin。第三个和第四个约束表示最大偏转角ψ和最大俯仰角θ。最后一个
约束Hmin为无人机飞行的最小高度。
上述方程描述为航迹规划优化问题。
步骤B,现场信息模块定义地形和威胁:由于航迹规划问题是基于具有许多威胁的特定
地形的,而威胁的参数有位置、半径和权重等。无人机从起始点出发到达终点,要求在威胁范
围之外。
步骤C,遗传规划算法模块创造运算符:遗传规划的运算符包含函数运算符和符号运算
符,基于上述航迹规划优化方程,针对航迹规划问题的特殊性,我们为函数运算符为:我们为
函数运算符为: F = I F - F O R W A R D - A V A I L A B L E I F - V E R T I C A L - A V A I L A B L E I F - F L A T - A V A I L A B L E , ]]>符号运算符为:
T = M o v e - F o r w a r d M o v e - V e r t i c a l M o v e - F l a t , ]]>其中:符号运算符为二叉树结构中的叶子节点,函数运算符为二叉
树结构中除了叶子节点的其他树干节点。函数运算符集中的三个运算符表示由遗传规划系统所
判断的是否可以直线前行、水平前进、竖直前进这三种判断情况,而三个符号运算符表示直线
前进、水平前进、竖直前进这三个无人机实际动作。
步骤D:初始化群体:选择群体大小为100,使用混合法进行初始群体生成。混合法综
合完全法和生长法的优点,初始个体在每个深度下所占比例为n=100/(maximum-1),其中
maximum表示定义的最大深度。由此得到100个个体的群体。
步骤E:解码和计算适应值:解码过程从树根遍历至树叶节点。通过判断函数节点是否
为正,迭代过程决定向左还是向右前进。当遇到一个树叶节点时,迭代过程停止。当路径到达
终点时,过程停止。适应值计算公式为:
步骤F:选择和繁殖:使用锦标赛选择法,在适应值计算之后,我们根据适应值对结果
进行快速排序。最开始的几个精英个体自动被选入下一代。此外随机选取一些个体作为幸存者
进入下一代。其他个体由交叉和变异产生。交叉操作随机选出两个个体e1和e2,每个个体随机
选择一个节点。n1,n2为这两个点,r1,r2为树的其余部分。产生的4个分裂的树交叉形成两个新
树n1+r2,n2+r1。选择其中较短的一棵树。新树进入下一代。突变操作包含两部分:突变和强
突变。强突变至少尝试两次,而突变只尝试一次。我们随机选择一个节点,用其他点来代替此
节点。交叉和突变操作带来了种群的多样性。
步骤G:终止迭代过程,选取最优个体。
所述的迭代过程优选次数为50次。
技术效果
与现有技术相比,本发明通过对遗传规划进行优化,然后使用遗传规划设计特殊的运算
符集来解决无人机航迹规划问题。在优化方程的启示和运算符的指导下,规划系统有效的规划
出可行的航迹,然后通过遗传规划的步骤,优化为更好的航迹。经过仿真实验,本发明与遗传
算法进行比较,得到的结果显示优化的遗传规划路径明显更优。
附图说明
图1为本发明方法流程图;
图2为本发明系统结构示意图;
图3为本发明地形和威胁示意图;
图中:威胁的范围为圆的大小,横轴为水平方向,竖轴为垂直方向,从起点(0,0)
至终点(1000,800);
图4为场景1对比示意图;
图中:浅色的为遗传规划航迹,深色的为遗传算法航迹;
图5为场景2对比示意图;
图中:浅色的为遗传规划航迹,深色的为遗传算法航迹;
图6为场景3对比示意图;
图中:浅色的为遗传规划航迹,深色的为遗传算法航迹;
图7为场景4对比示意图;
图中:浅色的为遗传规划航迹,深色的为遗传算法航迹。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,
给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例1
如图1所示,本实施例包括以下步骤:
步骤A,无人机任务模块构建优化方程;
步骤B,现场信息模块定义地形和威胁,如图3所示;
步骤C,遗传规划算法模块对初始信息预处理:使用原始的威胁和地图信息,利用地图
信息制作二维平面地图,在图中加入步骤B中标注的威胁位置和威胁半径;并由无人机模型模
块根据路径长度、飞行高度等代价函数,计算适应值函数中的参数。
步骤D,初始化群体:定义群体大小为100,设置每个深度数量为n=100/(maximum-1),
其中:maximum为设定的最大深度。定义GPLIB_Entity类,即个体类,生成的个体存入该类的
集合之中。
步骤E,解码和适应值:对每个个体在decode函数中进行解码,然后在CalculateFitness
函数中计算适应值,将结果存入GPLIB_Entity类中的route_fitness变量以及适应值数组中。
本实施例中优选设置迭代的次数为50,当代数小于50时,循环执行。
步骤F:选择和繁殖:
步骤F1:设定幸存者为15,按照适应值从小到大对个体排序,选取最优的3个个体进入
下一代,然后随机选取12个个体作为幸存者进入下一代。
步骤F2:变异:设定变异数量为50,35个为普通变异,15个为强变异。随机选择一
个节点位置,用同类其他运算符进行替换。得到50个变异个体进入下一代。变异概率为0.3。
步骤F3:交叉:设定交叉数量为35。随机选择两个个体,再分别随机选择节点位置。
将生成的子树进行替换。选择较短的个体进入下一代。交叉概率为0.9。
步骤F4:替换:用新产生的100个个体代替之前个体集合。
步骤G:判断迭代次数是否达到50,未达到则继续步骤4,达到50则结束迭代,选取
集合中的第一个个体,进行解码和计算适应值操作,得到的路径就是最优路径。
与现有技术相比,本实施例经测试得到的实验数据效果为:将上述步骤应用于图4-7的
四个场景中,与遗传算法得到的航迹进行比较,其中浅色的为遗传规划航迹,深色的为遗传算
法航迹。适应值对比为:图4:遗传规划:0.273772,遗传算法0.306801;图5:遗传规划:
0.294781,遗传算法0.307859;图6:遗传规划:0.324808,遗传算法0.337479;图7:遗传
规划:0.299144,遗传算法0.313265;在这四个场景下,无论是适应值还是航迹形态,遗传规
划均比遗传算法明显更优。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式
对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围
内的各个实现方案均受本发明之约束。