基于布谷鸟算法改进人工势场法的四旋翼编队避障方法技术

技术编号:30972236 阅读:26 留言:0更新日期:2021-11-25 20:54
本发明专利技术公开了一种基于布谷鸟算法改进人工势场法的四旋翼编队避障方法,该方法在传统人工势场法的基础上改进斥力函数,在斥力函数中引入目标点到障碍物的距离,使得当终点附近存在障碍物时四旋翼也可到达终点,从而解决终点不可达性问题。此外,通过障碍物膨胀法,围绕障碍物划分一定的安全裕量,避免四旋翼发生碰撞,确保四旋翼安全避开障碍物。当机器人陷入局部极小值时,或者处于狭窄环境中时,可以通过布谷鸟算法规划路径,本发明专利技术对布谷鸟算法进行了改进,通过差分进化的可变步长的布谷鸟算法,提高了人工势场算法路径规划的适应性,解决了布谷鸟算法存在的问题,使得规划路径更优、节点更少、迭代次数更少。迭代次数更少。迭代次数更少。

【技术实现步骤摘要】
基于布谷鸟算法改进人工势场法的四旋翼编队避障方法


[0001]本专利技术属于四旋翼
,特别是一种基于布谷鸟算法改进人工势场法的四旋翼编队避障方法。

技术介绍

[0002]随着现代技术的飞速发展,传感器、微电子以及通信等关键技术不断革新,无人机因其机动性好、控制结构简单的优点在各行各业取得了极为广泛的应用。
[0003]随着任务复杂度的提升,四旋翼飞行器编队的必要性愈发显著。由于室内环境下缺少GPS信号,高精度的室内定位系统开发技术难度高。目前已有研究在四旋翼编队飞行中引入了运动捕捉系统VICON,开发出四旋翼无人机室内编队控制系统。
[0004]人工势场法计算简单、实时性高,并且规划出来的路径一般是平滑且安全的,常被应用于机器人路径规划的避障中。但其本身存在缺点,包括目标不可达问题、振荡问题、局部极值问题。人工势场法是一种利用虚拟力在已知环境中进行路径规划的算法,因其运算速度快和高效简单而广泛应用。该算法将环境中障碍物与禁止进入的区域设为斥力点;将终点与可以进入的区域设为引力点。因此人工势场法存在以下问题:其一,当无人机受到来自斥力和引力的合力为0时,即斥力引力大小相同、方向相反时,无人机会停止运动,此时陷入了局部极小点。人工势场法很容易陷入这种局部极小点,在实际过程中,当障碍物、目标点和无人机处于同一直线时,无人机接近障碍物的过程中由于斥力不断增加、引力不断减小,因此很可能会出现斥力与引力大小相同、方向相反的情况,此时人工势场法将不再有效。其二,理论上当无人机到达目标点附近时引力与斥力都会很小,此时若忽略障碍物的斥力则无人机在到达目标点时引力刚好为0。然而,在实际应用中,目标点附近一般总是存在障碍物,当无人机接近目标点时,引力减小相比于斥力可忽略不计,此时无人机会向斥力方向运动,从而在目标点附近不断振荡循环而无法到达目标点。
[0005]有的研究提出建立在改进人工势场模型上的基于遗传算法的最优路径搜索方法。通过人工势场法生成路径,再通过遗传算法评价各条路径的优劣程度,进而搜索出最优路径。从而解决人工势场法中由于局部最优解产生的死锁问题。但是遗传算法的局部搜索能力较差,耗时较长。
[0006]还有的研究采用改进蚁群和人工势场法相结合的混合路径规划。通过粒子群参数优化的改进蚁群算法求解全局路径规划,但是收敛速度较慢、优化效率低;在求解局部路径规划时,通过引入目标距离相关函数改进的斥力函数,解决不可达性问题。
[0007]布谷鸟搜索算法是一种新兴启发式群智能算法,因其给定参数较少、算法易实现以及全局寻优能力强的优点而广泛使用。然而,布谷鸟算法应用于人工势场算法中因其本身存在的收敛精度不高、局部搜索结果不优的缺陷而出现不理想的情况。在人工势场算法中使用布谷鸟算法将放大其局部搜索能力弱的缺点,这样规划出的路径虽然能较好解决人工势场法的缺陷,但存在波折多、路径长、节点多等缺点。

技术实现思路

[0008]本专利技术的目的在于针对上述现有技术存在的问题,提供一种基于布谷鸟算法改进人工势场法的四旋翼编队避障方法。
[0009]实现本专利技术目的的技术解决方案为:一种基于布谷鸟算法改进人工势场法的四旋翼编队避障方法,所述方法包括以下步骤:
[0010]步骤1,确定主机四旋翼的当前位置、目标位置、环境中障碍物的位置及大小,建立环境模型,并初始化人工势场法的参数;
[0011]步骤2,利用斥力函数和引力函数分别计算障碍物对主机四旋翼的斥力以及目标点对主机四旋翼的引力,同时计算斥力和引力的角度;
[0012]步骤3,基于步骤2的结果,计算斥力和引力的合力,并计算与主机四旋翼距离最近的障碍物的距离;
[0013]步骤4,判断步骤3中的合力是否为0,若否,则跳转至步骤5,否则判断是否到达目标点,若到达目标点则结束,否则跳转至步骤6;
[0014]步骤5,判断步骤3中所述的与主机四旋翼距离最近的障碍物的距离是否小于预设阈值,若是,则跳转至步骤6,否则跳转至步骤7;
[0015]步骤6,采用布谷鸟算法计算主机四旋翼下一步位置的最优解,之后利用差分进化算法进行循环迭代,直至摆脱局部极小值点且主机四旋翼与距离最近的障碍物的距离大于预设阈值,结束迭代,更新合力方向与步长;
[0016]步骤7,在合力作用下,主机四旋翼按照预设步长运动到下一步的位置;
[0017]步骤8,判断所述下一步的位置是否满足转角约束条件,若不满足,跳转至步骤6,重新规划下一步的位置,否则跳转至步骤9;
[0018]步骤9,判断是否到达目标点,若到达目标点则跳转至步骤10,否则跳转至步骤2;
[0019]步骤10,由上述步骤生成主机的规划飞行轨迹,之后基于飞行编队确定从机的飞行轨迹。
[0020]进一步地,步骤2中所述斥力函数为:
[0021][0022]式中,m为斥力系数,ρ(q)为四旋翼q到障碍物的距离,ρ
G
为四旋翼q到目标点的距离,ρ0为斥力作用范围,n为任意正实数。
[0023]进一步地,步骤1还包括:在环境模型中,采用障碍物膨胀法在障碍物边上设置安全裕量。
[0024]一种基于布谷鸟算法改进人工势场法的四旋翼编队避障系统,所述系统包括依次执行的:
[0025]初始化模块,用于确定主机四旋翼的当前位置、目标位置、环境中障碍物的位置及大小,建立环境模型,并初始化人工势场法的参数;
[0026]第一计算模块,用于利用斥力函数和引力函数分别计算障碍物对主机四旋翼的斥力以及目标点对主机四旋翼的引力,同时计算斥力和引力的角度;
[0027]第二计算模块,用于基于第一计算模块的结果,计算斥力和引力的合力,并计算与
主机四旋翼距离最近的障碍物的距离;
[0028]第一判断模块,用于判断第二计算模块中的合力是否为0,若否,则跳转至第二判断模块,否则判断是否到达目标点,若到达目标点则结束,否则跳转至求解模块;
[0029]第二判断模块,用于判断所述与主机四旋翼距离最近的障碍物的距离是否小于预设阈值,若是,则跳转至求解模块,否则跳转至运动模块;
[0030]求解模块,用于采用布谷鸟算法计算主机四旋翼下一步位置的最优解,之后利用差分进化算法进行循环迭代,直至摆脱局部极小值点或者主机四旋翼与距离最近的障碍物的距离大于预设阈值,结束迭代,更新合力方向与步长;
[0031]运动模块,用于在合力作用下,使主机四旋翼按照预设步长运动到下一步的位置;
[0032]第三判断模块,用于判断所述下一步的位置是否满足转角约束条件,若不满足,跳转至求解模块,重新规划下一步的位置,否则跳转至第四判断模块;
[0033]第四判断模块,判断是否到达目标点,若到达目标点则跳转至轨迹生成模块,否则跳转至第一计算模块;
[0034]轨迹生成模块,用于基于上述模块的结果生成主机的规划飞行轨迹,之后基于飞行编队确定从机的飞行轨迹。
[0035]本专利技术与现有技术相比,其显著优点为:1)本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于布谷鸟算法改进人工势场法的四旋翼编队避障方法,其特征在于,所述方法包括以下步骤:步骤1,确定主机四旋翼的当前位置、目标位置、环境中障碍物的位置及大小,建立环境模型,并初始化人工势场法的参数;步骤2,利用斥力函数和引力函数分别计算障碍物对主机四旋翼的斥力以及目标点对主机四旋翼的引力,同时计算斥力和引力的角度;步骤3,基于步骤2的结果,计算斥力和引力的合力,并计算与主机四旋翼距离最近的障碍物的距离;步骤4,判断步骤3中的合力是否为0,若否,则跳转至步骤5,否则判断是否到达目标点,若到达目标点则结束,否则跳转至步骤6;步骤5,判断步骤3中所述的与主机四旋翼距离最近的障碍物的距离是否小于预设阈值,若是,则跳转至步骤6,否则跳转至步骤7;步骤6,采用布谷鸟算法计算主机四旋翼下一步位置的最优解,之后利用差分进化算法进行循环迭代,直至摆脱局部极小值点且主机四旋翼与距离最近的障碍物的距离大于预设阈值,结束迭代,更新合力方向与步长;步骤7,在合力作用下,主机四旋翼按照预设步长运动到下一步的位置;步骤8,判断所述下一步的位置是否满足转角约束条件,若不满足,跳转至步骤6,重新规划下一步的位置,否则跳转至步骤9;步骤9,判断是否到达目标点,若到达目标点则跳转至步骤10,否则跳转至步骤2;步骤10,由上述步骤生成主机的规划飞行轨迹,之后基于飞行编队确定从机的飞行轨迹。2.根据权利要求1所述的基于布谷鸟算法改进人工势场法的四旋翼编队避障方法,其特征在于,步骤2中所述斥力函数为:式中,m为斥力系数,ρ(q)为四旋翼q到障碍物的距离,ρ
G
为四旋翼q到目标点的距离,ρ0为斥力作用范围,n为任意正实数。3.根据权利要求1所述的基于布谷鸟算法改进人工势场法的四旋翼编队避障方法,其特征在于,步骤6中所述布谷鸟算法具体包括以下步骤:步骤6
‑1‑
1,初始化n个寄主的鸟巢:在解空间内随机选择n个解,作为寄主的鸟巢,即初始解;步骤6
‑1‑
2,随机取一个布谷鸟,通过莱维飞行产生一个解,该解生成过程中采用可变步长;步长l的计算公式如下:其中,
式中,β为莱维飞行的预设参数;步骤6
‑1‑
3,评估解的质量,即计算适应度函数的值;步骤6
‑1‑
4,根据适应度函数找到最优解并记录下来;步骤6
‑1‑
5,根据发现概率舍弃一个鸟巢,并建立新鸟巢;步骤6
‑1‑
6,列出当前最佳的鸟巢,跳转步骤6
‑1‑
2,继续迭代,直到达到迭代上限;步骤6
‑1‑
7,输出最佳鸟巢中的解即主机四旋翼下一步位置;步骤6
‑1‑
8,判断是否摆脱局部极小值点或者主机四旋翼与距离最近的障碍物的距离是否大于预设阈值,若满足,则结束,否则跳转步骤6
‑1‑
1。4.根据权利要求1或3所述的基于布谷鸟算法改进人工势场法的四旋翼编队避障方法,其特征在于,步骤6中所述利用差分进化算法进行循环迭代具体包括以下步骤:步骤6
‑2‑
1,初始化差分进化算法相关变量以及种群大小和染色体长度,与布谷鸟算法所得的最佳鸟巢匹配;步骤6
‑2‑
2,计算自适应变异因子,按如下公式:式中,gen为当前进化代数,G为进化代数,F0为初始化变异因子;步骤6
‑2‑
3,按如下公式:v
i
=x
r1
+F
·
(x
r2

x

【专利技术属性】
技术研发人员:曹越朱彦瑾王辉烨蔡晨晓
申请(专利权)人:南京理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1