一种基于改进袋獾优化算法的无人机路径规划方法
文献发布时间:2023-06-19 19:27:02
技术领域
本发明涉及无人机路径规划技术领域,具体涉及一种基于改进袋獾优化算法的无人机路径规划方法。
背景技术
随着科学技术的不断发展,无人机已成为智能科技的焦点。近年来无人机技术飞速发展,并在辅助交通、环保测评、城市管理、电力巡检、灾难救援等方面广泛应用。路径规划作为无人机核心技术的重要组成部分,对无人机的正常运行起着不可或缺的作用。其目的是使无人机能够在飞行过程中有效避免树木、山脉、建筑物等威胁,并以最低成本获得可行路径。国内外学者针对这个问题,提出了各种算法来解决。有一些传统的算法比如:Dijkstra算法,A*算法,人工势场法等;由于传统路径规划算法存在时间复杂度高、易陷入局部最优等缺点,学者们逐渐开始关注元启发式算法。
元启发式算法是受自然启发的智能算法,其中一些算法是通过生物体的交互行为提出的。PSO是一种模拟鸟群行为的群智能算法,群中粒子之间的合作和竞争产生的群智能指导优化搜索。虽然粒子群算法具有个体数量少、计算简单和鲁棒性好的优点,但其收敛精度低,搜索易陷入局部最优。Dijkstra算法是一种典型的单源最短路径搜索算法。它从起点延伸到外层,直到到达目标点,即通过所有节点的前向遍历比较获得最短路径。虽然Dijkstra算法具有获得最短路径的高成功率和良好的鲁棒性,但当环境图的大小增加时,算法计算的节点数将增加,算法占用的内存空间将更大,这严重降低了计算效率。A*算法在Dijkstra算法中增加了一个启发式函数。通过评估节点的成本,可以获得下一个需要扩展的最佳节点,直到算法扩展到目标点。与Dijkstra算法相比,路径规划效率显著提高。A*算法由于其原理简单、易于实现、搜索效率高和能够找到最优解而得到广泛的研究和应用。然而,A*算法的缺点包括大地图计算时间长、转弯角度大和路径不平滑。袋獾优化算法是一种模拟袋獾觅食行为的启发式搜索算法,其特点是鲁棒性强,分布式计算能力强,易于与其他算法结合。然而,它的收敛速度较慢,很容易陷入局部最优。
发明内容
为了解决上述提出的群智能算法易陷入局部最优的共性问题,本发明提出了一种基于改进袋獾优化算法的无人机路径规划方法,能提高算法的收敛速度和收敛精度,使其更不易陷入局部最优;可以合理地规划出飞行轨迹,使无人机安全地到达目的地;能有效的解决上述的技术问题。
本发明通过以下的技术方案实现:
一种基于改进袋獾优化算法的无人机路径规划方法,包括步骤:S1、构建三维地图模型进行初始化;
S2、设置起点、终点及约束条件;
S3、基于改进袋獾算法进行初步的路径规划;改进袋獾优化算法的具体内容包括:
在袋獾算法中,对于每个袋獾,它所对应的腐肉位置,是以种群中其他袋獾在空间中的位置来假定的;第i个袋獾的腐肉位置为第m个袋獾的位置,m为1~N中的随机自然数,m与i相反,腐肉的位置用公式(5)表示;
a
式中:a
根据选择的腐肉,通过公式(6)计算袋獾的新位置;在袋獾的运动中,如果腐肉的适应度值较好,袋獾就会靠近腐肉,反之会远离;在计算出袋獾的新位置后,比较适应度值判断新位置是否取代旧位置;
式中:
袋獾的狩猎行为分为两个阶段;第一阶段,袋獾搜索空间找到猎物并攻击它;第二阶段,袋獾首先接近猎物,然后跟踪猎物并捕食它;
S4、根据算法得到的散点拟合成光滑曲线形成路径;
S5、多次迭代算法,寻找到最优路径并输出,根据最新的全局路径规划,到达目的地。
进一步的,步骤3所述的袋獾优化算法是模拟自然界中袋獾的进食行为而提出的一种元启发式算法;当袋獾觅食时,如果腐肉存在,袋獾则以腐肉为食;否则袋獾将寻找猎物,采取狩猎的方式获取食物;袋獾任意选择吃腐肉或者打猎作为自己的进食方式;每次迭代时,袋獾选择这两种方式中的一种进行更新,假设选择其中一种方法的概率为50%。
进一步的,步骤3所述第一个阶段的运动过程类似于吃腐肉的过程,假设第i个袋獾的猎物位置为第m个袋獾的位置,m为1~N中的随机自然数,m与i相反;
b
式中:b
根据选择的猎物,通过公式(9)计算袋獾的新位置;在袋獾的运动中,如果腐肉的适应度值较好,袋獾就会靠近腐肉,反之会远离;在计算出袋獾的新位置后,比较适应度值判断新位置是否取代旧位置;
/>
式中:
进一步的,步骤3所述的第二阶段,以袋獾的位置为中心,领域的半径就是袋獾跟踪猎物的范围,半径可以用公式(11)计算;通过余弦自适应权重策略,可以有效提高粒子在全局和局部的搜索效率;根据在这个范围内的跟踪过程,由公式(13)计算出袋獾的新位置,最后比较适应度值判断新位置是否取代旧位置;
式中:R是攻击范围半径,t是当前迭代次数,T是最大迭代次数,
将limit阈值设置为10;若某个袋獾在经历了10次迭代后仍未找到邻近更优的猎物,此时考虑已经陷入局部最优,则采用较大步长的方式随机生成新的猎物位置;位置公式如下:
式中:
进一步的,步骤1所述构建三维地图模型的具体方法为:
三维路径规划所需的环境信息需要从地形模型中提取,其数学模型如下:
式中:x,y为地形投影在平面上的横纵坐标;z为平面上点所对应的高度;a,b,c,d,e,f,g为常数,用来控制地形的特征;
地图中的障碍用指数函数形成山峰来进行描述,其数学模型可以表示为:
式中:n为地图中山峰的个数,(x
进一步的,步骤2所述设置约束条件的具体内容为:无人机在飞行过程中,为了避免与山峰碰撞,就需要对飞行高度进行约束,地形约束条件为:
z
式中:z
进一步的,步骤S4所述的根据算法得到的散点拟合成光滑曲线形成路径,具体的操作方式为:在起点和终点之间任意设置三个散点/控制点,将散点的(x,y,z)坐标分别看成参数t的函数值,并令参数t的范围为[0,1],分别代表第一个散点和最后一个散点,再利用spline函数可以实现三维散点的光滑连接,从而拟合得到光滑曲线,即三维路径;将三个散点看成一个整体,即一个粒子;将自由空间看成是每个粒子的可行域,即解空间;将山峰等视为障碍物,即约束条件;将三维路径的长度视为适应度函数;适应度函数表达式为:
式中:x,y,z分别是散点对应坐标的样条插值;故三维路径规划过程,就可以看成是众多粒子(三个散点)在解空间内寻找最优位置的过程。
有益效果
本发明提出的一种基于改进袋獾优化算法的无人机路径规划方法,与现有技术相比较,其具有以下有益效果:
(1)本技术方案在袋獾优化算法的基础上,结合自适应权重方式减少陷入局部最优的情况,还引入limit阈值思想,可以更好地平衡全局搜索和局部收敛。解决袋獾优化算法在路径规划上存在的收敛效率低、收敛速度慢、易于陷入局部最优等问题。
附图说明
图1是本发明的整体流程示意图。
图2是本发明的步骤S1中构建的三维地图模型图。
图3是本发明的对比例2中五种算法在Map1上规划的路径示意图。
图4是本发明的对比例2中五种算法在Map2的地形上规划的路径图。
图5是本发明的对比例2中五种算法在Map1上的适应度收敛曲线。
图6是本发明的对比例2中五种算法在Map2上的适应度收敛曲线。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1:
一种基于改进袋獾优化算法的无人机路径规划方法,包括步骤:S1、构建三维地图模型进行初始化;
三维路径规划所需的环境信息需要从地形模型中提取,其数学模型如下:
/>
式中:x,y为地形投影在平面上的横纵坐标;z为平面上点所对应的高度;a,b,c,d,e,f,g为常数,用来控制地形的特征;
地图中的障碍用指数函数形成山峰来进行描述,其数学模型可以表示为:
式中:n为地图中山峰的个数,(x
S2、设置起点、终点及约束条件;
无人机在飞行过程中,为了避免与山峰碰撞,就需要对飞行高度进行约束,地形约束条件为:
z
式中:z
S3、基于改进袋獾算法进行初步的路径规划;改进袋獾优化算法的具体内容包括:
所述的袋獾优化算法是模拟自然界中袋獾的进食行为而提出的一种元启发式算法;当袋獾觅食时,如果腐肉存在,袋獾则以腐肉为食;否则袋獾将寻找猎物,采取狩猎的方式获取食物;袋獾任意选择吃腐肉或者打猎作为自己的进食方式;每次迭代时,袋獾选择这两种方式中的一种进行更新,假设选择其中一种方法的概率为50%。
在袋獾算法中,对于每个袋獾,它所对应的腐肉位置,是以种群中其他袋獾在空间中的位置来假定的;第i个袋獾的腐肉位置为第m个袋獾的位置,m为1~N中的随机自然数,m与i相反,腐肉的位置用公式(5)表示;
a
式中:a
根据选择的腐肉,通过公式(6)计算袋獾的新位置;在袋獾的运动中,如果腐肉的适应度值较好,袋獾就会靠近腐肉,反之会远离;在计算出袋獾的新位置后,比较适应度值判断新位置是否取代旧位置;
式中:
袋獾的狩猎行为分为两个阶段;第一阶段,袋獾搜索空间找到猎物并攻击它;第二阶段,袋獾首先接近猎物,然后跟踪猎物并捕食它。
第一个阶段的运动过程类似于吃腐肉的过程,假设第i个袋獾的猎物位置为第m个袋獾的位置,m为1~N中的随机自然数,m与i相反;
b
式中:b
根据选择的猎物,通过公式(9)计算袋獾的新位置;在袋獾的运动中,如果腐肉的适应度值较好,袋獾就会靠近腐肉,反之会远离;在计算出袋獾的新位置后,比较适应度值判断新位置是否取代旧位置;
式中:
第二阶段,以袋獾的位置为中心,领域的半径就是袋獾跟踪猎物的范围,半径可以用公式(11)计算;通过余弦自适应权重策略,可以有效提高粒子在全局和局部的搜索效率;根据在这个范围内的跟踪过程,由公式(13)计算出袋獾的新位置,最后比较适应度值判断新位置是否取代旧位置;
式中:R是攻击范围半径,t是当前迭代次数,T是最大迭代次数,
将limit阈值设置为10;若某个袋獾在经历了10次迭代后仍未找到邻近更优的猎物,此时考虑已经陷入局部最优,则采用较大步长的方式随机生成新的猎物位置;位置公式如下:
式中:
S4、根据算法得到的散点拟合成光滑曲线形成路径;具体的操作方式为:在起点和终点之间任意设置三个散点/控制点,将散点的(x,y,z)坐标分别看成参数t的函数值,并令参数t的范围为[0,1],分别代表第一个散点和最后一个散点,再利用spline函数可以实现三维散点的光滑连接,从而拟合得到光滑曲线,即三维路径;将三个散点看成一个整体,即一个粒子;将自由空间看成是每个粒子的可行域,即解空间;将山峰等视为障碍物,即约束条件;将三维路径的长度视为适应度函数;适应度函数表达式为:
式中:x,y,z分别是散点对应坐标的样条插值;故三维路径规划过程,就可以看成是众多粒子(三个散点)在解空间内寻找最优位置的过程。
S5、多次迭代算法,寻找到最优路径并输出,根据最新的全局路径规划,到达目的地。
为验证改进袋獾优化算法(ITDO)的改进效果和路径规划效果,发明人通过6个测试函数进行仿真实验,详细内容见对比例1。本实验在MATLAB软件上进行仿真,分别在两种地形上进行测试,详细内容见对比例2。
对比例1:
对比例1中,F
表1测试函数
将ITDO算法与粒子群算法(PSO)、大白鲨算法(WSO)、樽海鞘群算法(SSA)、飞蛾扑火优化算法(MFO)和基础的袋獾优化算法(TDO)进行对比试验。设置种群数量为30,最大迭代次数为1000,其余参数如下表2所示。为了保证实验结果的科学性,在独立运行算法20次后,所得数据的平均值如表3所示。
表2算法参数
表3ITDO算法与其他算法比较
数据表明,在单峰函数中,ITDO算法所得的结果略优于其他算法,而在多峰函数中,ITDO算法的收敛精度明显更高。相比TDO算法,ITDO算法在测试中均得到最优的平均值与方差,这表明它的收敛性更好,鲁棒性更强。
对比例2:
为验证算法的路径规划效果,本实验在MATLAB软件上进行仿真,分别在两种地形上进行测试,地形参数设置如下表4。将其同PSO算法、人工鱼群算法(AFSA)、蚁群算法(ACA)和袋獾优化算法进行对比实验,设置种群数量为100,迭代次数为100,每个粒子包含三个位置pointNum=3,除此以外的参数设置如下表5所示。
表4地形参数设置
表5算法参数设置
图3为五种算法在Map1上所规划的路径,从图中可以看出(a)、(b)、(c)三条线路较为曲折,这是因为PSO、AFSA和ACA算法在路径规划中陷入局部最优,他们缺乏从局部寻优中跳出的能力。(d)路线较为光滑,但路径长度较长。(a)、(b)、(c)、(d)四条路线都是从山峰左边抵达终点,只有(e)路线是从右边经过,成功找到最优路径。
图4为五种算法在Map2的地形上规划的路径,从图中可以看出(b)、(c)两条线路较为曲折,该算法的局部探索能力较差。(a)、(d)两条路径较为平滑,但路径长度较长,飞行的代价更大。相比较前面四条路径,ITDO算法规划出的路径更短、更平滑。
在两张地图上,五种算法独立运行10次的数据分析如下表6所示。其中,Bestfitness表示最优适应度值,Mean表示适应度值的平均值,Std表示适应度值的方差。
表6不同算法的最优值、平均值、方差
数据表明,AFSA算法在地形较为简单的Map1上应用时,寻优规划较好,但在地形较为复杂的Map2上应用时,因其局部能力开发不足,寻优效率大为降低。ACA算法在两种地形的应用上效果都较差。PSO和TDO算法在两张地图中的寻优能力较为稳定,但找不到最优路径。而经过改进的ITDO算法,有最佳的最优适应度、平均值和方差,在两种不同的环境中皆能找寻到最优路径。
为了更直观的对比各算法的优化效率,图5和图6分别给出了五种算法在Map1和Map2上的适应度收敛曲线。
结果表明,ACA算法收敛效果最差,容易陷入局部最优;PSO算法收敛效率高,但收敛精度差;AFSA算法收敛速度较慢,但收敛精度较好;TDO算法收敛精度较差,而本算法在结合了自适应权重系数和limit阈值思想后,收敛速度更快,收敛精度更高,算法更不易陷入局部最优,规划出来的路径航迹最佳。
- 一种基于异质化鸽群优化算法的多无人机路径规划方法
- 一种基于改进金鹰优化算法的多配送中心多无人机核酸样品配送路径规划方法
- 一种基于鲸鱼优化算法的多无人机路径规划方法