[发明专利]一种基于遗传算法和粒子群算法的无人艇避碰方法有效
申请号: | 201910185335.8 | 申请日: | 2019-03-12 |
公开(公告)号: | CN109933067B | 公开(公告)日: | 2022-07-15 |
发明(设计)人: | 林孝工;刘叶叶;刘向波;王汝珣;杨荣浩;刘志宇;郭如鑫 | 申请(专利权)人: | 哈尔滨工程大学 |
主分类号: | G05D1/02 | 分类号: | G05D1/02 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150001 黑龙江省哈尔滨市南岗区*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 遗传 算法 粒子 无人 艇避碰 方法 | ||
1.一种基于遗传算法和粒子群算法的无人艇避碰方法,其特征在于,包括:
步骤一:无人艇避碰路径规划中相关参数及避碰约束规则的研究:根据无人艇航行的数学模型参数所涉及的无人艇位置、速度以及障碍物位置、速度,得到两者之间相对速度、相对位置、相对方位运动参数,通过总结无人艇与障碍物正面避障、追越避障、右弦交叉和左弦交叉避障四种不同碰撞情况,得到无人艇海上避碰约束规则以及空间碰撞危险度和时间碰撞危险度;
步骤二:基于遗传算法的水面无人艇规避静态障碍物的路径规划:通过上述的无人艇航行水域环境相关参数信息,对遗传算法的相关参数进行初始化,生成路径的最初种群,并进入遗传算法的迭代循环,计算适应度函数;根据得到的适应度函数值,通过轮盘赌方法选出下一代的染色体进行交叉、变异、修复操作优化种群,迭代完成后得到能够规避静态障碍物的最优路径;
步骤三:基于遗传算法与粒子群算法相结合的动态避碰路径规划:实时监测海洋环境周围是否存在动态障碍物,如果存在动态障碍物,判断无人艇与动态障碍物间的距离,计算出碰撞危险度,如果可能产生碰撞,判断动态障碍物的运动状态是否可测;如果可测,采用遗传算法避碰;如果不可测,则采用粒子群算法进行动态障碍物的规避;最后完成路径优化,输出可行的避碰路径复航;
所述步骤一中,令DCPA代表无人艇与障碍物最短相遇距离,TCPA代表最短相遇时间,所述空间碰撞危险度的计算方法为:
上式中,RT、αT表示无人艇与障碍物的相对距离、相对速度方向和障碍物的航向,
上式中,θT表示无人艇与障碍物航向的相对角度,d2=2×d1;
所述时间碰撞危险度的计算方法为:
上式中,且当TCPA>0时utT第二项取负号,反之取正号;
对DCPA和TCPA的计算结果进行分析研究,得出无人艇和移动物体间发生碰撞事故可能性的综合评价指标:
所述步骤二中,所述路径的最初种群为:
按照任务的需求以及无人艇的初始位置和目标点的相关信息生成原始的运动路径即每条染色体:
(xi1,yi1)→(xi2,yi2)→…→(xili,yili)
上式中,i代表无人艇航行的一条路径,i=0,1,2...n,n表示初始种群个数,并将染色体编码成实数类型,其中如果在无人艇初始位置和目标点之间并不存在障碍物体,则得出的原始路径一条光滑的最短路径,如果在无人艇初始位置和目标点之间存在障碍物体,这会在原始路径的基础上进行迭代更新产生多条新的路径,针对每条路径可以将其分为多段部分,分别对该条路径不同段部分进行计算分析,得出该条路径的相关信息,用delta表示任意条路径的划分段的长度值,kδ作为一个正的比例参数值,dnum表示该条路径被划分出的段的总数:
上式中,(xmax,ymax)和(xmin,ymin)是仿真窗口的坐标范围,s(xs,ys)和e(xe,ye)为无人艇的初始位置和目标点;
在经过上面的路径段数的计算划分后,将通过启发式遗传群体初始化的方法进行种群初始化,生成相应的染色基因,设最初的原始路径总共有n条,将第i条路径表示为Pi,设dnum=3,然后在第j段上随机任取两个点pi(2j-1)和pi(2j),j=1,2,3,则在这两个点的范围内任意生成占此点横坐标被局限在范围内,纵坐标局限于路径初始位置s(xs,ys)和目标点e(xe,ye)之间的,即然后按顺序地将pi(2j-1),,Pi(2j)相连,最终生成路径Pi:
得出可行路径集
其中,所述适应度函数为:
将个体适应度函数设置为Value(P*)=min[f1(P),f2(P),f3(P)]:
(1)代表路径的长度,第i条染色体的路径长度为:
上式中,mi是Pi路径里不可行的路径数目,C1为一合适的正数;
(2)表示路径的光滑性,当染色体的路径划分基因位点的个数大于2,水面无人艇的Pi路径平均拐角值:
其中,aij为pi(j-1)pij与pijpi(j+1)间的夹角,0≤aij≤π,j=2,…,li-1,mi和ki是aij里不小于的数目,即如果某一个拐角不小于时,则要对目标值进行惩罚计算,C2是一合适的正数,当li=2时,路径Pi为初始点至目标点的连线,Turning(Pi)=mi×C2;
(3)表示路径的安全性,如果路径Pi是可行的,danger(di)=1/di,其中di>0表示无人艇的航行路线距离静态障碍物的最小值;如果路径Pi是不可行的,danger(Pi)=mi×C3,mi为该路径个体的路径段与障碍物之间的距离小于安全距离的数量,C3则为一适当的正数;
所述步骤三中,所述基于遗传算法与粒子群算法相结合的动态避碰方法为:
将Δv分解成Δvo和Δvr,
假设在较短的时间内动态移动物体的速度vobs及方向变化不大,可不予考虑,即
dvobs=0,dβ=0
上式中,为vUSV、vobs间的夹角,Δγ必须满足下面条件限制:
通过相关的设备监测周围海洋环境的动态信息,如果发现动态的障碍物,判断动态障碍物的运动状态是否可测;如果可测,由于遗传算法适应于求解复杂的优化问题,能够求出优化问题的全局最优解,则进行基于遗传算法的动态避碰;如果不可测,由于粒子群算法具有相当快的逼近最优解的速度,可以有效的对系统的参数进行优化;则进行基于粒子群算法的动态避碰;
基于遗传算法的的避碰可以看成一个多条件下的目标优化问题:
f(ΔvUSV,Δα)是遗传算法中的适应度函数,求出的最优解既不会与已知静态障碍物碰撞,还需要符合无人艇海上避碰规则的约束,根据无人艇和动态障碍物的信息,算出它们之间的距离,DCPA和TCPA值,如果会发生碰撞的危险,则进行避碰处理,避碰处理可以通过改变航行方向实现:
上式中RT为无人艇与动态障碍物间的距离;θT为动态障碍物的相对方位;β为相对运动线的转角;为动态障碍物与水面无人艇的航速比;ΔC为避让的角度;
通过迭代法求得转向角ΔC:
通过相关的AIS雷达等设备时刻监测周围动态障碍物的运动状态,预测其运动走向,然后将目前无人艇所处的位置设为新的初始位置,以safeD的长度为路径段的距离得出一个子目标点,通过遗传算法的迭代优化,规划出一条能规避附近障碍物到达子目标点的路径,然后再以该子目标为新的初始位置,重复上述过程,成功到达指定的目标点完成任务;
在不可预测动态障碍物运动状态的避碰过程中,无人艇的每一次前进,都要有预判,利用极坐标,描述无人艇和动态障碍物的位置,无人艇的长度为r,移动半径为ρ,当前所在位置为(A1,B1),下一步目标点为(A2,B2),动态障碍物此时的位置为(C1,D1);当表示有障碍物在无人艇安全移动的范围内,此时需要进行基于粒子群算法避碰处理;
设定惯性权重最大值为ωmax,最小值为ωmin,学习因子分别为C1,C2,群体为D,最大迭代次数为Dmax,以当前点为原点,ρ为半径作极坐标,进行n等份,m个粒子,随机生成m×n的粒子群,以及位置X和速度V,设置当前最优位置形成初始种群t0;使Pbesti代表第i个粒子搜索到的最优值,Gbesti代表整个集群搜索到的最优值,计算初始种群的适应度值,对全局最优值Gbesti更新,其中适应度函数包括路径长度和安全度,最短路径长度的目标函数:
上式中,(xji,yji)为路径j上的i点坐标,(xji-1,yji-1)为路径j上(xji,yji)的一个点坐标,此时,无人艇路径规划预测的下一个点坐标(xjn,yjn),需要把此点和目标点(g1,g2)连接起来计算路径,整个路径长度函数为:
Y=Yfit1+Yfit2
安全度函数:
上式中,xk为障碍物的位置坐标;
综合以上,适应度函数:F=A×Y+B×OB(i),其中A,B两函数的加权因子,为大于等于零的任意实数,为了完全避碰,B<A,根据速度,位置迭代公式更新,生成新的粒子群t1,粒子群速度迭代公式为:
Vi,j(t+1)=ωVi,j(t)+c1r1(Pi,j(t)-xi,j(t))+c2r2(Pg,j(t)-xi,j(t))
ωk+1=ωmin+(ωk-ωmin)×((Kmax-k)/Kmax)n
上式中,r1,r2取大于0小于1的随机实数,Pi,j是粒子i迄今为止搜到的最优位置,Pg,f是全局最优位置,ωk为当前迭代所得的值,其初始值为ωmax,k表示当前迭代次数;Kmax代表最大迭代次数;
计算新种群t1的适应度值,若优于上一代则生成新种群t2,否则转换成直角坐标,循环迭代生成新的种群,直到找到最优的避碰路径。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910185335.8/1.html,转载请声明来源钻瓜专利网。