一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于改进粒子群算法的船舶自动避碰方法与流程

2021-10-24 08:49:00 来源:中国专利 TAG:
1.本发明涉及人工智能
技术领域
:,具体而言,主要涉及一种基于改进粒子群算法的船舶自动避碰方法。
背景技术
::2.从上世纪70年代开始,关于船舶避碰的研究受到了国内外航运界学者们的高度重视。“1996年国际海上避碰会议”也提出“关于船舶自动避碰决策系统的研究”是今后十年乃至二十年船舶安全领域研究的主攻方向之一。3.20世纪80年代,国际上船舶避碰领域的专家开始着手于船舶避碰系统的研究。英国利物浦工业大学提出了一种咨询式避碰专家系统,该系统能够实时推荐船舶避碰决策方案,以供船舶驾驶人员参考。但是对于较为复杂的多船会遇局面,系统无法给出相应的避碰决策方案。日本东京商船大学开发了一种全自动的船舶避碰决策系统,并且装载在实验船“汐路丸”号上,该系统能够自动提供避碰决策,并且控制船舶的车和舵。虽然明显优于英国利物浦工业大学提出的咨询式决策系统,但是该系统也存在着自身的缺点。在船舶碰撞危险度的计算上,该系统采用的是围绕本船的圆形的船舶领域,使得计算出来的船舶碰撞危险度误差较大。而且,该系统也无法满足多船会遇态势下的船舶避碰决策问题。21世纪以来,英国南安普顿大学在传统导弹制导原理基础上,提出了一种两船避碰的决策方法。该方法旨在躲避目标而不是捕获目标,根据目标船的方位,与本船的距离以及相对运动线的变化做出避碰决策。该方法为船舶避碰决策研究提供了一种新思路,但是没有充分考虑《国际海上避碰规则》的要求以及船员的习惯做法等。4.相对于两船避让,多船避让的形式更加复杂,避让过程中的不确定性和复杂性程度更高。然而避碰规则并没有对多船会遇态势下的船舶避让操纵给出指导性意见,这也给对多船避碰决策的研究带来了一定难度。在进行船舶避让操作时,需要对船舶之间的会遇态势进行划分、建立转向数学模型、计算船舶碰撞危险度、确定重点避让船舶等。因此,对这个问题作进一步的工作具有重要的研究价值以及现实意义。本发明就在此背景下确定,对多船会遇态势下的船舶自动避碰决策进行研究,确保船舶在海上的安全航行。技术实现要素:5.根据上述提出传统粒子群算法在船舶自动避碰应用中无法判断避让责任和紧迫局面的技术问题,本发明提供一种基于改进粒子群算法的船舶自动避碰方法。本发明采用改进粒子群算法引导船舶进行自动避碰,使得船舶在采取避让措施的过程中能够更加严格地遵守《避碰规则》的要求。6.本发明采用的技术手段如下:7.一种基于改进粒子群算法的船舶自动避碰方法,包括如下步骤:8.s1、获取周围环境信息以及周围其他船舶的信息,并计算最短会遇距离dcpa、最小会遇时间tcpa和船舶碰撞危险度cri;9.s2、根据计算的最短会遇距离dcpa、最小会遇时间tcpa和船舶碰撞危险度cri判断船舶是否存在碰撞危险;若不存在碰撞危险,则船舶不采取避碰措施,保向保速航行;若存在碰撞危险,则运用改进粒子群算法,获得避碰路径,船舶根据避碰路径进行航行。10.进一步地,所述步骤s1的具体实现过程如下:11.s11、计算最短会遇距离dcpa和最小会遇时间tcpa,计算公式如下:12.dcpa=dsin(r‑t‑π)13.tcpa=dcos(r‑t‑π)/vr14.其中,d表示两船之间的距离,r表示两船相对速度方向,t表示其他船舶的真方位,vr表示相对速度大小;15.s13、计算船舶碰撞危险度cri,计算公式如下:[0016][0017]其中,d1为船舶安全会遇距离,d2为船舶安全通过距离;[0018]s14、基于最小会遇时间tcpa,得到隶属度函数;具体如下:[0019]当所述最小会遇时间tcpa大于0时,隶属度函数如下:[0020][0021]当所述最小会遇时间tcpa小于等于0时,隶属度函数如下:[0022][0023]其中,dlma为本船的最晚施舵距离,dcpadlma为最晚施舵点处的dcpa值;[0024]所述船舶碰撞危险度cri的隶属度函数,如下所示:[0025][0026]进一步地,所述步骤s2中运用改进粒子群算法,输入初始参数后,获得避碰路径,船舶根据避碰路径进行航行,具体实现过程如下:[0027]s21、设定粒子群算法的各个参数,并随机初始化粒子的位置和速度;[0028]s22、设计船舶避碰目标函数,并根据设计的船舶避碰目标函数计算各粒子的适应度值;[0029]s23、根据全局最优点动态调节惯性权重;[0030]s24、根据设定的杂交概率选取一定数目的粒子,将其放入杂交池,通过杂交池中粒子的两两杂交,产生相同数目的子代粒子个体;[0031]s25、重新计算粒子的适应度值,直到算法满足终止条件时,停止搜索过程并输出结果。[0032]进一步地,所述步骤s21的具体实现过程如下:[0033]假设粒子群算法中的粒子i以一定的速度在d维空间上飞行,每个粒子所处的位置为xi={xi1,xi2,...,xin},每个粒子当前的速度为vi={vi1,vi2,...,vin},在每次迭代过程中,粒子将通过本身搜索到的最好解pid(t)以及整个种群搜索到的最优解pgd(t)来不断更新;其中,pid(t)为个体极值,pgd(t)为全局极值,则粒子的速度和位置更新公式如下:[0034]vid(t 1)=ωvid(t) c1r1(t)[pid(t)‑xid(t)] c2r2(t)[pgd(t)‑xid(t)][0035]xid(t 1)=xid(t) vid(t 1)[0036]其中,vid(t 1)和xid(t 1)表示第i个粒子在t 1次迭代中在d维空间上速度和位置;c1和c2表示学习因子,也称为加速常数;r1和r2表示[0,1]范围内的均匀随机数,用于增加粒子飞行的随机性;此外,为避免粒子速度过大,设置速度上限,即当vid(t 1)>vmax时,vid(t 1)=vmax;vid(t 1)<‑vmax时,vid(t 1)=‑vmax。[0037]进一步地,所述步骤s22的具体实现过程如下:[0038]s221、设计船舶碰撞危险度的目标函数,如下:[0039]f1(x)=maxcri(v0,c0,v1,c1,tr,d)[0040]其中,v0表示我船的初始航速,c0表示我船的初始航向,v1表示它船的初始航速;c1表示它船的初始航向,tr表示相对方位,d表示两船之间的距离;[0041]s222、设计航程损失的目标函数,如下:[0042][0043]其中,n为转向点个数,xi,yi为船舶在原航线上的位置,xi′,yi′为转向点位置;[0044]s223、设计避碰规则的目标函数,如下:[0045][0046]其中,tr表示相对方位;[0047]s224、设计避让时机的目标函数,如下:[0048][0049]其中,目标函数f1(x)和f2(x)作为衡量船舶避碰过程中安全性和经济性的指标,起主导作用;目标函数f3(x)和f4(x)作为判断船舶是否为让路船和确定避让时机的指标,起约束作用;[0050]s225、设计船舶避碰决策总的目标函数,如下:[0051]f(x)=δ1f1(x) δ2f2(x)δ1 δ2=1[0052][0053]其中,目标函数值越小时,船舶的避碰效果越好;δ1表示目标函数f1(x)的权重值,δ2表示目标函数f2(x)的权重值。[0054]进一步地,所述步骤s23的具体实现过程如下:[0055]采用的非线性动态惯性权重系数公式如下:[0056][0057]其中,fmin=min(fi);fi表示粒子实时的目标函数值,favg和fmin分别表示当前所有粒子目标函数的平均值和最小值。[0058]进一步地,所述步骤s24的具体实现过程如下:[0059]以pso算法作为主体框架,在每次的迭代过程中,首先选取指定数量的粒子进入杂交池内,并赋予这些粒子一个随机的且与函数的目标函数值没有关系的概率,即杂交概率;根据设定的杂交概率对粒子进行杂交操作,产生同等数量的子代粒子n,用子代粒子n替代父代个体m的过程中,粒子整体的数量保持不变,子代粒子位置和父代粒子位置进行交叉,得到:[0060]x1k 1=rand·x1k (1‑rand)x2k[0061]x2k 1=rand·x2k (1‑rand)x1k[0062]其中,xi(i=1,2)是d维搜索空间的位置变量,x1k 1和x2k 1表示新产生的子代两个粒子的位置,rand为均匀分布在[0,1]之间的随机变量,子代粒子的速度更新公式为:[0063][0064][0065]其中,v1k 1和v2k 1分别代表子代两个粒子的速度,利用杂交后产生的新速度代替父代粒子的速度,完成种群中粒子的位置和速度的更新。[0066]进一步地,所述步骤s25的具体实现过程如下:[0067]s251、初始化种群中粒子的位置和速度、惯性权重最大值和最小值以及迭代次数;[0068]s252、计算出每个粒子的适应度值,将粒子的适应度值和位置储存在个体极值中,将最优适应度值和个体最优位置储存在全局极值中;[0069]s253、根据全局最优点动态调节惯性权重;[0070]s254、更新粒子的位置和速度;[0071]s255、根据设定的杂交概率选取一定数目的粒子,将其放入杂交池,通过池中粒子的两两杂交,产生相同数目的子代粒子个体;[0072]s256、对粒子的适应度值进行重新计算,并将其与粒子最好位置的适应度值比较,如果两者相近,则用当前值作为粒子最好位置,比较所有的个体极值pid(t)和全局极值pgd(t),更新全局极值pgd(t);[0073]s257、当算法满足终止条件时,停止搜索过程并输出结果,否则,返回至步骤s253继续进行搜索。[0074]较现有技术相比,本发明具有以下优点:[0075]1、本发明提供的基于改进粒子群算法的船舶自动避碰方法,解决了传统粒子群算法在船舶自动避碰应用中容易陷入局部最优的问题,能够有效增强粒子群算法的全局寻优能力,提升粒子群算法的收敛速度,并且运用动态惯性权重以及遗传算法中的杂交方法,有效的解决多船自动避碰决策问题。[0076]2、本发明提供的基于改进粒子群算法的船舶自动避碰方法,采用改进粒子群算法引导船舶进行自动避碰,将船舶会遇态势判断机制和船舶碰撞危险度引入到船舶避碰目标函数的构建中,使得采取避让措施的过程中能够更加严格地符合船舶安全性、航行经济性的要求。[0077]基于上述理由本发明可在人工智能等领域广泛推广。附图说明[0078]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。[0079]图1为本发明方法流程图。[0080]图2为本发明实施例提供的互见中船舶会遇态势划分示意图。[0081]图3为本发明实施例提供的船舶相对运动示意图。[0082]图4本发明实施例提供的粒子位置更新图。[0083]图5为发明实施例提供的一种实验结果仿真曲线。[0084]图6为本发明实施例提供的另一种实验结果仿真曲线。[0085]图7为本发明实施例提供的另一种实验结果仿真曲线。[0086]图8为本发明实施例提供的另一种实验结果仿真曲线。具体实施方式[0087]为了使本
技术领域
:的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。[0088]需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,不限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。[0089]如图1示,本发明提供了一种基于改进粒子群算法的船舶自动避碰方法,包括如下步骤:[0090]s1、获取周围环境信息以及周围其他船舶的信息,并计算最短会遇距离dcpa、最小会遇时间tcpa和船舶碰撞危险度cri;[0091]s2、根据计算的最短会遇距离dcpa、最小会遇时间tcpa和船舶碰撞危险度cri判断船舶是否存在碰撞危险;若不存在碰撞危险,则船舶不采取避碰措施,保向保速航行;若存在碰撞危险,则运用改进粒子群算法,获得避碰路径,船舶根据避碰路径进行航行。[0092]具体实施时,作为本发明优选的实施方式,所述步骤s1的具体实现过程如下:[0093]s11、计算最短会遇距离dcpa和最小会遇时间tcpa,计算公式如下:[0094]dcpa=dsin(r‑t‑π)[0095]tcpa=dcos(r‑t‑π)/vr[0096]其中,d表示两船之间的距离,r表示两船相对速度方向,t表示其他船舶的真方位,vr表示相对速度大小;[0097]s13、计算船舶碰撞危险度cri,计算公式如下:[0098][0099]其中,d1为船舶安全会遇距离,根据goodwin的船舶领域模型计算,d2为船舶安全通过距离;[0100]s14、基于最小会遇时间tcpa,得到隶属度函数;具体如下:[0101]当所述最小会遇时间tcpa大于0时,隶属度函数如下:[0102][0103]当所述最小会遇时间tcpa小于等于0时,隶属度函数如下:[0104][0105]其中,dlma为本船的最晚施舵距离,dcpadlma为最晚施舵点处的dcpa值;[0106]所述船舶碰撞危险度cri的隶属度函数,如下所示:[0107][0108]具体实施时,作为本发明优选的实施方式,所述步骤s2中运用改进粒子群算法,输入初始参数后,获得避碰路径,船舶根据避碰路径进行航行的具体实现过程如下:[0109]s21、设定粒子群算法的各个参数,并随机初始化粒子的位置和速度;如图2所示,为根据船舶相对方位划分的船舶会遇态势;[0110]所述步骤s21的具体实现过程如下:[0111]假设粒子群算法中的粒子i以一定的速度在d维空间上飞行,每个粒子所处的位置为xi={xi1,xi2,...,xin},每个粒子当前的速度为vi={vi1,vi2,...,vin},在每次迭代过程中,粒子将通过本身搜索到的最好解pid(t)以及整个种群搜索到的最优解pgd(t)来不断更新;其中,pid(t)为个体极值,pgd(t)为全局极值,则粒子的速度和位置更新公式如下:[0112]vid(t 1)=ωvid(t) c1r1(t)[pid(t)‑xid(t)] c2r2(t)[pgd(t)‑xid(t)][0113]xid(t 1)=xid(t) vid(t 1)[0114]其中,vid(t 1)和xid(t 1)表示第i个粒子在t 1次迭代中在d维空间上速度和位置;c1和c2表示学习因子,也称为加速常数;r1和r2表示[0,1]范围内的均匀随机数,用于增加粒子飞行的随机性;此外,为避免粒子速度过大,设置速度上限,即当vid(t 1)>vmax时,vid(t 1)=vmax;vid(t 1)<‑vmax时,vid(t 1)=‑vmax。[0115]s22、设计船舶避碰目标函数,并根据设计的船舶避碰目标函数计算各粒子的适应度值;[0116]所述步骤s22的具体实现过程如下:[0117]s221、设计船舶碰撞危险度的目标函数,如下:[0118]f1(x)=maxcri(v0,c0,v1,c1,tr,d)[0119]其中,v0表示我船的初始航速,c0表示我船的初始航向,v1表示它船的初始航速;c1表示它船的初始航向,tr表示相对方位,d表示两船之间的距离;[0120]s222、设计航程损失的目标函数,如下:[0121][0122]其中,n为转向点个数,xi,yi为船舶在原航线上的位置,xi′,yi′为转向点位置。[0123]s223、设计避碰规则的目标函数,如下:[0124][0125]其中,tr表示相对方位;[0126]s224、设计避让时机的目标函数,如下:[0127][0128]其中,目标函数f1(x),f2(x)作为衡量船舶避碰过程中安全性和经济性的指标,起主导作用;目标函数f3(x)和f4(x)作为判断船舶是否为让路船和确定避让时机的指标,起约束作用;[0129]s225、设计船舶避碰决策总的目标函数,如下:[0130]f(x)=δ1f1(x) δ2f2(x)δ1 δ2=1[0131][0132]其中,目标函数值越小时,船舶的避碰效果越好;δ1表示目标函数f1(x)的权重值,δ2表示目标函数f2(x)的权重值;[0133]s23、根据全局最优点动态调节惯性权重;[0134]所述步骤s23的具体实现过程如下:[0135]采用的非线性动态惯性权重系数公式如下:[0136][0137]其中,fmin=min(fi);fi表示粒子实时的目标函数值,favg和fmin分别表示当前所有粒子目标函数的平均值和最小值。可以看出,惯性权重随着粒子目标函数值的改变而改变,能够有效的平衡算法的全局和局部的搜索能力。[0138]s24、根据设定的杂交概率选取一定数目的粒子,将其放入杂交池,通过杂交池中粒子的两两杂交,产生相同数目的子代粒子个体;[0139]所述步骤s24的具体实现过程如下:[0140]以pso算法作为主体框架,在每次的迭代过程中,首先选取指定数量的粒子进入杂交池内,并赋予这些粒子一个随机的且与函数的目标函数值没有关系的概率,即杂交概率;根据设定的杂交概率对粒子进行杂交操作,产生同等数量的子代粒子n,用子代粒子n替代父代个体m的过程中,粒子整体的数量保持不变,子代粒子位置和父代粒子位置进行交叉,得到:[0141]x1k 1=rand·x1k (1‑rand)x2k[0142]x2k 1=rand·x2k (1‑rand)x1k[0143]其中,xi(i=1,2)是d维搜索空间的位置变量,x1k 1和x2k 1表示新产生的子代两个粒子的位置,rand为均匀分布在[0,1]之间的随机变量,子代粒子的速度更新公式为:[0144][0145][0146]其中,v1k 1和v2k 1分别代表子代两个粒子的速度,利用杂交后产生的新速度代替父代粒子的速度,完成种群中粒子的位置和速度的更新。通过杂交操作可以产生新的粒子个体,有效增强了粒子种群的多样性,提高了算法跳出局部最优的能力和搜索精度。[0147]s25、重新计算粒子的适应度值,直到算法满足终止条件时,停止搜索过程并输出结果。[0148]所述步骤s25的具体实现过程如下:[0149]s251、初始化种群中粒子的位置和速度、惯性权重最大值和最小值以及迭代次数;[0150]s252、计算出每个粒子的适应度值,将粒子的适应度值和位置储存在个体极值中,将最优适应度值和个体最优位置储存在全局极值中;粒子的适应度值的计算公式如下:[0151]vid(t 1)=ωvid(t) c1r1(t)[pid(t)‑xid(t)] c2r2(t)[pgd(t)‑xid(t)][0152]xid(t 1)=xid(t) vid(t 1)[0153]s253、根据全局最优点动态调节惯性权重;采用非线性动态惯性权重系数调节惯性权重,公式如下:[0154][0155]s254、更新粒子的位置和速度,公式如下:[0156]x1k 1=rand·x1k (1‑rand)x2k[0157]x2k 1=rand·x2k (1‑rand)x1k[0158][0159][0160]s255、根据设定的杂交概率选取一定数目的粒子,将其放入杂交池,通过池中粒子的两两杂交,产生相同数目的子代粒子个体;[0161]s256、对粒子的适应度值进行重新计算,并将其与粒子最好位置的适应度值比较,如果两者相近,则用当前值作为粒子最好位置,比较所有的个体极值pid(t)和全局极值pgd(t),更新全局极值pgd(t);[0162]s257、当算法满足终止条件时,停止搜索过程并输出结果,否则,返回至步骤s253继续进行搜索。[0163]为了验证本发明方案的有效性,本实施例利用matlab进行计算机仿真研究,船舶参数如下所示:[0164]迭代次数u=100,种群大小n=100,学习因子c1=2,c2=2。船舶避碰决策目标函数f(x)中,f1(x),f2(x)的权重值分别为δ1=0.6,δ2=0.2。标准粒子群算法中,惯性权重ω=0.6。改进粒子群算法中,惯性权重ωmax=0.9,ωmin=0.3,杂交概率bc=0.5,杂交池大小bs=0.1。[0165]我船的初始航速v0=16kn,初始航向c0=45°,三种局面仿真实验的初始输入如表1所示。[0166]表1三船会遇时目标船信息表[0167]tab.1targetshipinformationtablewhenthreeshipsmeet[0168][0169]实验结果如图5‑8所示,图5中,改进粒子群算法在迭代15次左右时趋于稳定,搜索速度较快。在采取避碰行动过程中,船舶距离最近目标船的安全通过距离为1.5海里左右,既符合避碰规则中对“宽的要求”,同时又能保证船舶避碰过程中对经济性的要求。[0170]图6中,改进粒子群算法在迭代5次左右时趋于稳定,搜索速度较快。在采取避碰行动过程中,船舶距离最近目标船的安全通过距离为1.5海里左右,既符合避碰规则中对“宽的要求”,同时又能满足船舶避碰过程中对经济性的要求。[0171]图7中,改进粒子群算法在迭代15次左右时趋于稳定,搜索速度较快。在采取避碰行动过程中,船舶距离最近目标船的安全通过距离为1.5海里左右,既符合避碰规则中对“宽的要求”,同时又能满足船舶避碰过程中对经济性的要求。[0172]图8中,改进粒子群算法在迭代3次左右时趋于稳定,搜索速度较快。在采取避碰行动过程中,船舶距离最近目标船的安全通过距离为1.5海里,既符合避碰规则中对“宽的要求”,同时又能满足船舶避碰过程中对经济性的要求。[0173]仿真结果表明改进后的粒子群算法寻优能力更强。同时,利用改进后的粒子群算法对多船会遇局面下的船舶自动避碰决策进行仿真实验,取得了良好的避碰效果。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜