发明内容
本发明提供了一种无人艇岛礁区航线实时优化方法,以解决现有技术中对无人艇岛礁区航线规划时未考虑潮汐涨落对岛礁区可航路径的影响,而带来的航行优化准确性低的问题。
本发明提供了一种无人艇岛礁区航线实时优化方法,包括如下步骤:
步骤1:初始化参数:设定无人艇吃水深度、左满舵角度、右满舵角度、最大航速、航行目的地、航线优化间隔时间、航行海域潮汐表;
步骤2:岛礁区一次建模:对前方岛礁区进行凸多边形化处理,将前方岛礁区转化为岛礁区的几何多边形;
步骤3:几何多边形重构:根据航行海域潮汐表、坡度比以及无人艇吃水深度,计算岛礁区的几何多边形各顶点的外扩距离并对几何多边形进行外扩,得到新的几何多边形;
步骤4:航线规划:根据新的几何多边形、无人艇实时位置、无人艇吃水深度、左满舵角度、右满舵角度、最大航速、航行目的地规划无人艇航线,完成航线规划过程;
步骤5:循环控制:根据航线优化间隔时间重复执行步骤3至步骤5。
进一步地,所述步骤2中通过Graham算法对前方岛礁区进行凸多边形化处理。
进一步地,对前方岛礁区进行凸多边形化处理后对边数大于4条的几何多边形进行二次特征点选取,并应用Graham算法进行二次扫描得到简化多边形,降低几何多边形边数。
进一步地,所述步骤3构建新几何多边形的具体步骤如下:
步骤31:计算岛礁区的几何多边形各顶点的平均潮位面外扩距离;
步骤32:在所述步骤31的平均潮位面外扩距离上,根据航行海区潮汐涨落时间和幅度、无人艇吃水深度,对平均潮位面外扩距离进行增加或减少的修正,完成对几何多边形范围进行外扩。
进一步地,所述步骤31中,平均潮位面外扩距离的计算公式如下:
其中,R为平均潮位面外扩距离;H为最高潮位面与最低潮位面的高度差;k为坡度比;
所述步骤32中,当在落潮周期时,对平均潮位面外扩距离进行增加,具体公式如下:
其中,D为几何多边形外扩距离;R为步骤31中获取的平均潮位面外扩距离;ψ为顶点落潮系数;k为岛礁坡度比;ti为顶点落潮持续时间;P为无人艇吃水深度;H为最高潮位面与最低潮位面的高度差;Ti为落潮周期时长;
当在涨潮周期时,对平均潮位面外扩距离进行减少,具体公式如下:
其中,D为几何多边形外扩距离;R为步骤31中获取的平均潮位面外扩距离;
为顶点涨潮系数;k为岛礁坡度比;t
j为顶点涨潮持续时间;P为无人艇吃水深度;H为最高潮位面与最低潮位面的高度差;Tj为涨潮周期时长。
进一步地,所述步骤4中航线规划的具体步骤如下:
步骤41:在新新几何多边形基础上使用Maklink图法获取由Maklink线、岛礁区无向网络图构成的岛屿区航行海域环境模型;
步骤42:获取无人艇实时位置坐标,结合无人艇吃水深度、左满舵角度、右满舵角度、最大航速、航行目的地通过Dijkstra算法进行无人艇航线规划,再通过遗传算法对规划的航线路径点进行调整得到无人艇实时航线。
进一步地,所述步骤41的具体步骤如下:
步骤411:在新新几何多边形基础上,将相邻岛礁区顶点互相连线并做岛礁区顶点与边界线的垂线;
步骤412:删除步骤411中穿过岛礁区的连线;
步骤413:在步骤412的基础上删除连线与岛礁区顶点夹角大于等于180°的连线;
步骤414:步骤413中余留下的连线为Maklink线,调整Maklink线密度,删除相近的Maklink线;
步骤415:取每条Maklink线中点,将相邻中点相连构成无向网络图,构成岛屿区航行海域环境模型;
所述步骤42的具体步骤如下:
步骤421:通过船载GPS获取无人艇实时位置坐标,结合无人艇吃水深度、左满舵角度、右满舵角度、最大航速、航行目的地通过Dijkstra算法进行无人艇航线规划;
步骤422:对Maklink线上的点位坐标编码,设置遗传算法的染色体;点位坐标编码公式如下:
vx(ki)=xi1+Ki(xi2-xi1) Ki∈[0,1]
vy(ki)=yi1+Ki(yi2-yi1)
其中,vx(ki)为第i条Maklink线上任一点ki的横坐标,vy(ki)为点ki纵坐标;(xi1,yi1)、(yi1,yi2)为第i条Maklink线段的两端点坐标;Ki为编号为i的Maklink线上的路径点对应的位置参数,一组值K={K1,K2,...,Kn}构成一条染色体;
步骤423:通过适度函数筛选遗传算法中的优良个体,具体公式如下:
其中,di为相邻路径点间的距离。
步骤424:通过轮盘赌算法进行遗传选择操作,交叉操作选择单点交叉方式,变异操作采用单点随机变异的方式,对被选择染色体的非首尾位置外的任一点位基因进行随机变异,采用先交叉后变异的策略,完成无人艇实时航线规划。
进一步地,所述航线优化间隔时间选取范围为5分钟至15分钟。
本发明的有益效果:
本发明提出一种将潮汐涨落考虑在内的对岛礁区的几何多边形建模进行修正外扩的方法,可以通过控制外扩圆半径的大小控制岛礁区对应的几何多边形外形及覆盖范围,与Graham算法结合可以有效对潮汐涨落岛礁区外形动态建模。本发明使用的无人艇航行海区环境模型动态重构方法占用运算资源小,环境模型随无人艇位置移动变动较小,建模速度快,可操作性强。本发明使用遗传算法优化航线,航线在满足避碰岛礁的同时航程较短,既安全又经济。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种无人艇岛礁区航线实时优化方法,包括如下步骤:
步骤S1:初始化参数:设定无人艇吃水深度、左满舵角度、右满舵角度、最大航速、航行目的地、航线优化间隔时间、航行海域潮汐表;
航线优化间隔时间最优选取范围在5至15分钟,时间太长海况变化太大会影响航线安全,间隔时间过短会使无人艇航向角度频繁微调,影响航向的稳定性,降低舵机使用寿命。
步骤S2:岛礁区一次建模:对前方岛礁区进行凸多边形化处理,将前方岛礁区转化为岛礁区的几何多边形;
步骤S2中通过Graham算法对前方岛礁区进行凸多边形化处理,Graham算法主要通过在岛礁区边缘处选取若干特征点,然后利用Graham算法扫描特征点集,画出岛礁区凸包多边形。对前方岛礁区进行凸多边形化处理后对边数大于4条的几何多边形进行二次特征点选取,并应用Graham算法进行二次扫描得到简化多边形,降低几何多边形边数,从而降低后续步骤构建的复杂度。
步骤S3:几何多边形重构:根据航行海域潮汐表、坡度比以及无人艇吃水深度,计算岛礁区的几何多边形各顶点的外扩距离并对几何多边形进行外扩,得到新的几何多边形;具体步骤如下:
步骤S31:计算岛礁区的几何多边形各顶点的平均潮位面外扩距离R,计算公式如下:
其中,R为平均潮位面外扩距离;H为最高潮位面与最低潮位面的高度差;k为坡度比;
步骤S32:在所述步骤S31的平均潮位面外扩距离上,根据航行海区潮汐涨落时间和幅度、无人艇吃水深度,
当在落潮周期时,对平均潮位面外扩距离进行增加,具体公式如下:
其中,D为几何多边形外扩距离;R为步骤S31中获取的平均潮位面外扩距离;ψ为顶点落潮系数;k为岛礁坡度比;ti为顶点落潮持续时间;P为无人艇吃水深度;H为最高潮位面与最低潮位面的高度差;Ti为落潮周期时长;
当在涨潮周期时,对平均潮位面外扩距离进行减少,具体公式如下:
其中,D为几何多边形外扩距离;R为步骤S31中获取的平均潮位面外扩距离;
为顶点涨潮系数;k为岛礁坡度比;t
j为顶点涨潮持续时间;P为无人艇吃水深度;H为最高潮位面与最低潮位面的高度差;Tj为涨潮周期时长。
根据潮汐涨落、岛礁坡度比对已经获取的平均潮位面外扩距离进行增加或减少,可以使得岛礁区转变的几何多边形覆盖面积更加准确,为后续航线规划提供更加准确的岛礁区情况。
步骤S42:获取无人艇实时位置坐标,结合无人艇吃水深度、左满舵角度、右满舵角度、最大航速、航行目的地通过Dijkstra算法进行无人艇航线规划,再通过遗传算法对规划的航线路径点进行调整得到无人艇实时航线。
步骤S411至步骤S415是在新新几何多边形基础上使用Maklink图法获取由Maklink线、岛礁区无向网络图构成的岛屿区航行海域环境模型的具体步骤:
步骤S411:在新新几何多边形基础上,将相邻岛礁区顶点互相连线并做岛礁区顶点与边界线的垂线;
步骤S412:判断所有连线是否穿过岛礁区,删除步骤411中穿过岛礁区的连线;
步骤S413:在步骤412的基础上判断连线与岛礁区顶点形成的两个夹角是否全部小于180°,保留两个夹角均小于180°的连线,删除连线与岛礁区顶点夹角大于等于180°的连线;
步骤S414:步骤413中余留下的连线为Maklink线,调整Maklink线密度,删除相近的Maklink线;
步骤S415:取每条Maklink线中点,将相邻中点相连构成无向网络图,构成岛屿区航行海域环境模型;
步骤S421至步骤S424是获取无人艇实时位置坐标,结合无人艇吃水深度、左满舵角度、右满舵角度、最大航速、航行目的地通过Dijkstra算法进行无人艇航线规划,再通过遗传算法对规划的航线路径点进行调整得到无人艇实时航线的具体步骤:
步骤S421:通过船载GPS获取无人艇实时位置坐标,结合无人艇吃水深度、左满舵角度、右满舵角度、最大航速、航行目的地通过Dijkstra算法进行无人艇航线规划;
步骤S422:对Maklink线上的点位坐标编码,设置遗传算法的染色体;点位坐标编码公式如下:
vx(ki)=xi1+Ki(xi2-xi1) Ki∈[0,1]
vy(ki)=yi1+Ki(yi2-yi1)
其中,vx(ki)为第i条Maklink线上任一点ki的横坐标,vy(ki)为点ki纵坐标;(xi1,yi1)、(yi1,yi2)为第i条Maklink线段的两端点坐标;Ki为编号为i的Maklink线上的路径点对应的位置参数,一组值K={K1,K2,...,Kn}构成一条染色体;
步骤S423:通过适度函数筛选遗传算法中的优良个体,具体公式如下:
其中,di为相邻路径点间的距离;
步骤S424:通过轮盘赌算法进行遗传选择操作,交叉操作选择单点交叉方式,变异操作采用单点随机变异的方式,对被选择染色体的非首尾位置外的任一点位基因进行随机变异,采用先交叉后变异的策略,完成无人艇实时航线规划;
步骤S5:根据航线优化间隔时间重复执行步骤S2至步骤S5,重新规划一次航线,增加航线规划的实时性,提高航线的准确性。
如图2所示,此时为落潮周期,图中A、B、C、D为岛礁区的几何多边形的4个顶点,A、B两处首先迎来落潮,落潮潮水流向由C指向B。Da、Db、Dc、Dd分别为A、B、C、D四个顶点的对平均潮位面外扩距离的修正距离,A’、B’、C’、D’四个顶点构成的几何多边形为根据潮汐涨落对之前获取的平均潮位面外扩距离进行修正后得到的几何多边形。以A点为例,图中测得岛礁区坡度为0.01,检索潮汐表显示,岛礁A点在11:00到达最高潮位点252cm,在17:00到达低潮位点22cm,则可以计算出潮差H=230cm,落潮周期时长Ti=360min,计算出落潮系数ψ=0.6389cm/min,根据公式(1)平均潮位面外扩距离R=115m,此航行无人艇吃水深度为1m,航行起始点处时间为13:00,A点已经持续涨潮2小时,根据公式(2)可以计算出此时的Da=291.67m。同样的方法可以计算其余所有岛礁顶点的外扩距离Db、Dc、Dd。
图3为步骤41及其具体步骤所述的无人艇航行海域环境建模示意图。该海域共有岛礁区4片,设置无人艇起始点坐标为S(20km,160km),终点坐标为T(160km,50km),此时为落潮周期,落潮潮水流向为沿Y轴正方向,通过环境建模后形成4个黑色岛礁区多边形和21条Maklink线,黑色实线为无向网络图。图中v1,v2,…v21为无向网络图的节点。
如图4为步骤42及其具体步骤所示的经过Dijkstra算法初次规划和遗传优化后生成两条航线,黑色粗实线为Dijkstra算法规划航线,该航线长度为280.46km。黑色点划线为使用遗传算法优化后的最优航线,长度缩短到193.62km。可见,经过遗传算法优化后的航线航程明显缩短,结果对比如下表1所示:
Dijkstra算法规划航线长度 |
遗传算法优化航线长度 |
无人艇航线缩短长度 |
280.46km |
193.62km |
86.84km |
表1
如图5所示为经过航线优化间隔时间后重新规划航线的示意图。此时无人艇航行至坐标(75.37km,92.39km)位置处,此刻为涨潮周期,潮水流向为沿Y轴正方向。无人艇已经驶过位于图3中左上角的岛礁区,此时航行海域范围内岛礁区为3个。图中黑色点划线为上一周期内规划的最优航线,长度为99.92km;从S点至T点的黑色细实线为涨潮后重构最优航线,长度为为97.03km。通过对比可以发现,涨潮后重构航线较初始化航线缩短2.89km。结果对比如下表2所示:
前一阶段最优航线长度 |
涨潮后重构最优航线长度 |
无人艇航线缩短长度 |
99.92km |
97.03km |
2.89km |
表2
从表1、表2中可以看出,经过遗传算法优化后的无人艇航线长度发生变化。所规划航线会随无人艇位置和潮汐的变化进行实时调整优化,保证岛礁区无人艇的安全高效航行。
综上,本发明从无人艇在考虑潮汐涨落环境下的航线实时优化角度出发,提出了一种考虑潮汐涨落的无人艇岛礁区航线实时优化方法,包括考虑无人艇吃水深度、左满舵角度、右满舵角度、最大航速、航行目的地、循环时间参数等条件,在潮汐涨落海洋环境下使用Graham算法和Maklink构图法进行岛礁区动态建模,使用Dijkstra算法航线规划并应用遗传算法对路径点进行优化,最终以一种循环完成航线的实时重构。本发明可用于无人艇在潮汐涨落岛礁区航行的航线实时规划,建模方法高效航线规划速度快,可使无人艇在岛礁区安全高效航行。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。