一种针对凸形障航物确定船舶航行局部最优路径的方法与流程

文档序号:13915851阅读:209来源:国知局
一种针对凸形障航物确定船舶航行局部最优路径的方法与流程
本发明提供一种针对凸形障航物确定船舶航行局部最优路径的方法,属于船舶航路安全航行
技术领域

背景技术
:随着航海需求的不断增加,船舶航路规划技术日益受到人们的关注。船舶航路规划包括全局航路规划和局部航路规划,依据静态的地理信息(岛、礁等)和动态的气象信息(风、浪、流等),结合船体状态及其运动性能,兼顾经济性和安全性,从起始点到目标点规划出一条以用时最少、距离最短、最省燃料或者按时到达为优化目标的航线。船舶航路规划技术中的A*算法是在Dijkstra算法的基础上引入启发式函数得到的,所以经典的A*算法实际上是改进的Dijkstra算法。虽然经典的A*算法已经得到了改进,但其仍然有不足之处,例如在网格地图规划航路过程中,采用经典的A*算法时,需将每个航路点相邻所有可行航路点都遍历一遍,当网格地图中的航路点数量很大时,经典的A*算法寻找最优路径的计算量将急剧增加,导致寻找最优路径的效率降低。本方法提出一种可行的确定局部最优路径的方法,可以在航路规划中优化设计出遭遇凸形障航物时的航行路线。技术实现要素:本发明的目的在于提供一种针对凸形障航物确定船舶航行局部最优路径的方法,可以将本发明的方法植入到船舶航路规划系统中,更加高效地为航海人员提供满足实际需求的局部最优路径,使船舶在整个航段的航行兼顾经济性和安全性。本发明的实现过程:结合任务信息明确航行的起始点、目标点以及区域;将航行区域内的凸形障航物生成禁航区;采用经纬线将航行区域生成网格地图;计算航路规划技术(A*算法)的各基本要素;用直线把起始点和目标点连接起来,测算该连线与正北方向的夹角;将该夹角作为启发信息引入到航路规划技术(A*算法)中去求取局部最优路径。假设以航行时间为优化目标,本发明的航路规划方法具体实现包括以下几个步骤:步骤1:结合任务信息明确航行的起始点和目标点并依据起始点SP和目标点EP确定航行区域(经度:λS1~λE1,纬度:)。步骤2:将航行区域内的凸形障航物(包括静态障航物和动态障航物)生成禁航区。步骤3:采用p度*q度(单位经度*单位纬度)的经纬线将航行区域网格化,生成网格地图。共得到tc*tk(横向网格数*竖向网格数)个网格,每个网格的中心均为航路点,网格地图为一个有向网络图,可以表示为:G=(N,A)其中G是有向网络图,N是航路点的集合,A是有向弧的集合。按由下而上以及从左至右的顺序为航路点编号(n=1,2,3,...,tc*tk)。对于本航行区域,设航路点编号为No,航路点的经纬度可由其编号求得:其中λ是经度,是纬度。弧表示从航路点i航行到航路点j,每个有向弧都有一个相对应的距离,有向弧距离的计算采用大圆航法距离计算公式:其中,L是航路点i和航路点j之间的大圆航距离,R是地球半径,是航路点i所在位置的纬度,是航路点j所在位置的纬度,λ1是航路点i所在位置的经度,λ2是航路点j所在位置的经度。由于航行区域边界的限制,航行区域角落的航路点仅有3个出度和3个入度,航行区域边界的航路点仅有5个出度和5个入度,其余每个航路点均有8个出度和8个入度,按顺时针方向,每个航路点的8个出度与正北方向的夹角依次为:000°,045°,090°,135°,180°,225°,270°,315°编号为No的航路点,其各个方向相邻航路点的编号取值如下:No+1,No+(tk+1),No+tk,No+(tk-1),No-1,No-(tk+1),No-tk,No-(tk-1)步骤4:计算航路规划技术(A*算法)的各基本要素:权值矩阵、估价函数、Open表以及Closed表。以下为各要素计算方法:(1)计算权值矩阵,根据前苏联中央海上研究所(SovietCentralMaritimeResearchInstitute)提出的经验公式来计算船舶的实际航行速度,该经验公式为:V=Vo-(0.745h-0.257qh)(1.0-1.35*10-6DVo)其中,V是船舶的实际航行速度,Vo是船舶在静水中的速度,h是航行区域的波高,q是船舶航行方向与波向之间的夹角,D是船舶的实际载重。当船舶载重在5000吨到25000吨,速度在9节至20节时,根据上式计算得到的速度误差将非常小。航路点之间的距离采用大圆航距离,因此由权值计算公式:可得到权值矩阵,其中,W为权值。(2)计算估价函数。估价函数用于评价一个航路点被选做路径点的概率,其利用航路点自身与起始点位置关系去启发算法搜索较合理的路径,估价函数形式如下:F(n)=G(n)+H(n)其中,F(n)表示为从起始点到第n个航路点的估价值,G(n)表示为从起始点沿着产生的路径移动到当前航路点n的权值,H(n)表示为从当前航路点n移动到目标点的权值;估价函数中H(n)的权值一般参考曼哈顿距离法进行计算,曼哈顿距离指的是两航路点之间水平距离与竖直距离之和,故估价函数中H(n)的权值等于两航路点的曼哈顿距离除以速度。(3)确定Open表和Closed表。Open表用来存放未搜索的航路点,Closed表用来记录已搜索过的航路点以及障航物所覆盖的航路点。步骤5:用直线把起始点和目标点连接起来,测算该连线与正北方向的夹角。夹角α:当(λe-λs)>0且则θ=0°,ω=1;当(λe-λs)>0且则θ=180°,ω=-1;当(λe-λs)<0且则θ=180°,ω=1;当(λe-λs)<0且则θ=360°,ω=-1;其中,λe是目标点所在位置的经度,λs是起始点所在位置的经度,是目标点所在位置的纬度,是起始点所在位置的纬度,θ和ω为常数。步骤6:将夹角α作为启发信息引入到航路规划技术(A*算法)中去求取局部最优路径:(1)把起始点添加到Open表中。(2)重复如下工作:(a)寻找Open表中F值最低的航路点,将F值最低的航路点作为当前航路点。(b)将当前航路点从Open表中移出,放入Closed表中。(c)依次判断根据启发信息保留的5个搜索出度方向所指向的5个航路点,(c1)若该航路点已经在Closed表中,则不考虑该航路点;(c2)若该航路点不在Open表中,则将该航路点添加到Open表,并将当前航路点作为该航路点的父亲航路点以及记录该航路点的F、G和H值;(c3)若该航路点已经在Open表中,当经过当前航路点到达该航路点的G值小于原来不经过当前航路点到达该航路点的G值,则将当前航路点作为该航路点的父亲航路点并重新计算该航路点的F、G和H值,反之,则该航路点的F、G和H值保持不变。(d)停止搜索:若目标点已添加到Closed表,则确定局部最优路径;若目标点没有添加到Closed表,而Open表已为空,则局部最优路径不存在。采用计算机仿真实验验证本发明的效果。本发明的优点在于:(1)针对传统航路规划技术(A*算法)将网格地图中所有航路点遍历一遍造成效率低下的问题,在局部最优路径存在的情况下,本发明能找到局部最优路径,且明显减少了地图中需要遍历的航路点数;(2)与其他航路规划技术相比,本发明考虑了目标点与起始点的相对位置,更有利于确定局部最优路径;(3)与其他航路规划技术相比,本发明由于没有对凸形障航物进行简化、合并等理想化处理,解决了对于不同凸形障航物地图所规划出路径的鲁棒性不足的问题。附图说明图1为一种针对凸形障航物确定船舶航行局部最优路径的方法流程图;图2为起始点到目标点连线与正北方向夹角计算示意图;图3中(a)为航路点的8个搜索出度示意图和(b)为航路点的8个搜索入度示意图;图4为针对4种凸形障航物确定船舶航行局部最优路径的方法仿真示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。实施例1如图1至如图4所示,假设以航行时间为优化目标,本发明的具体实现包括以下几个步骤:步骤1:如图2所示,首先结合任务信息明确航行的起始点SP(121.5°E,27.5°N)和目标点EP(125.5°E,29.5°N),并依据起始点SP和目标点EP确定航行区域(经度:120°E~126°E,纬度:25°N~31°N)。步骤2:将航行区域内的凸形障航物(包括静态障航物和动态障航物)生成禁航区。步骤3:如图2所示,采用1度*1度规格的经纬线将航行区域网格化,生成网格地图。共得到36个网格(网格线为实线),每个网格的中心均为航路点(虚线是为了说明航路点的位置,每个网格中虚线的交点即为航路点),网格地图为一个有向网络图,可以表示为:G=(N,A)(1)其中G是有向网络图,N是航路点的集合,A是有向弧的集合。如图2,按由下而上以及从左至右的顺序为航路点编号(n=1,2,3,...,36)。对于本航行区域,设航路点编号为No,航路点的经纬度可由其编号求得:其中λ是经度,是纬度,(2)式中的为向下取整符号,(3)式中的mod是求余符号。即航路点1的经纬度为(120.5°E,25.5°N),…,航路点36的经纬度为(125.5°E,30.5°N)。弧表示从航路点i航行到航路点j,每个有向弧都有一个相对应的距离,有向弧距离的计算采用大圆航法距离计算公式:其中,L是航路点i和航路点j之间的大圆航距离,R是地球半径,是航路点i所在位置的纬度,是航路点j所在位置的纬度,λ1是航路点i所在位置的经度,λ2是航路点j所在位置的经度。由于航行区域边界的限制,航行区域角落的航路点仅有3个出度和3个入度,航行区域边界的航路点仅有5个出度和5个入度,如图3,其余每个航路点均有8个出度和8个入度,按顺时针方向,每个航路点的8个出度与正北方向的夹角依次为:000°,045°,090°,135°,180°,225°,270°,315°对于本航行区域的网格地图,编号为No的航路点,其各个方向相邻航路点的编号取值如下:No+1,No+7,No+6,No+5,No-1,No-7,No-6,No-5步骤4:计算航路规划技术(A*算法)的各基本要素:权值矩阵、估价函数、Open表以及Closed表。以下为各要素计算方法:(1)计算权值矩阵,假设执行本次航行任务船舶的主要参数如附表1:附表1船舶主要参数表类型(TYPE)油船船长(LOA)196米载重(DWT)12000吨船速(SPEED)18节根据前苏联中央海上研究所(SovietCentralMaritimeResearchInstitute)提出的经验公式来计算船舶的实际航行速度,该经验公式为:V=Vo-(0.745h-0.257qh)(1.0-1.35*10-6DVo)(5)其中,V是船舶的实际航行速度,Vo是船舶在静水中的速度,h是航行区域的波高,q是船舶航行方向与波向之间的夹角,D是船舶的实际载重。当船舶载重在5000吨到25000吨,速度在9节至20节时,根据(5)式计算得到的速度误差将非常小,由附表1可知,本次航行使用的船舶可以采用(5)式进行实际航行速度的计算。航路点之间的距离采用(4)式计算得到的大圆航距离,因此由权值计算公式:可得到权值矩阵,其中,W为权值。(2)计算估价函数。估价函数用于评价一个航路点被选做路径点的概率,其利用航路点自身与起始点位置关系去启发算法搜索较合理的路径,估价函数形式如下:F(n)=G(n)+H(n)(7)其中,F(n)表示为从起始点到第n个航路点的估价值,G(n)表示为从起始点沿着产生的路径移动到当前航路点n的权值,H(n)表示为从当前航路点n移动到目标点的权值;估价函数中H(n)的权值一般参考曼哈顿距离法进行计算,曼哈顿距离指的是两航路点之间水平距离与竖直距离之和,以图1中起始点SP和目标点EP之间的曼哈顿距离SM为例,设每两个水平或竖直航路点之间的大圆航距离为M,水平网格移动数为XM,竖直网格移动数YM,则:故估价函数中H(n)的权值等于两航路点的曼哈顿距离除以速度。(3)确定Open表和Closed表。Open表用来存放未搜索的航路点,Closed表用来记录已搜索过的航路点以及障航物所覆盖的航路点。步骤5:用直线把起始点和目标点连接起来,测算该连线与正北方向的夹角。如图2,夹角α:当(λe-λs)>0且则θ=0°,ω=1;当(λe-λs)>0且则θ=180°,ω=-1;当(λe-λs)<0且则θ=180°,ω=1;当(λe-λs)<0且则θ=360°,ω=-1;其中,λe是目标点所在位置的经度,λs是起始点所在位置的经度,是目标点所在位置的纬度,是起始点所在位置的纬度,θ和ω为常数。由起始点和目标点的经纬度可得α:结合附表2,根据该夹角α确定需要保留的5个搜索出度方向为:000T,045T,090T,135T,315T则每个航路点的搜索出度方向均为这5个出度方向。附表2夹角α与搜索出度方向的关系汇总表α保留的5个搜索出度方向舍弃的3个搜索出度方向[337.5°,360°)∪[0°,22.5°)000T,045T,090T,270T,315T135T,180T,225T[22.5°,67.5°)000T,045T,090T,135T,315T180T,225T,270T[67.5°,112.5°)000T,045T,090T,135T,180T225T,270T,315T[112.5°,157.5°)045T,090T,135T,180T,225T270T,315T,000T[157.5°,202.5°)090T,135T,180T,225T,270T000T,045T,315T[202.5°,247.5°)135T,180T,225T,270T,315T000T,045T,090T[247.5°,292.5°)180T,225T,270T,315T,000T045T,090T,135T[292.5°,337.5°)225T,270T,315T,000T,045T090T,135T,180T步骤6:将夹角α作为启发信息引入到航路规划技术(A*算法)中去求取局部最优路径:(1)把起始点添加到Open表中。(2)重复如下工作:(a)寻找Open表中F值最低的航路点,将F值最低的航路点作为当前航路点。(b)将当前航路点从Open表中移出,放入Closed表中。(c)依次判断根据启发信息保留的5个搜索出度方向所指向的5个航路点,(c1)若该航路点已经在Closed表中,则不考虑该航路点;(c2)若该航路点不在Open表中,则将该航路点添加到Open表,并将当前航路点作为该航路点的父亲航路点以及记录该航路点的F、G和H值;(c3)若该航路点已经在Open表中,当经过当前航路点到达该航路点的G值小于原来不经过当前航路点到达该航路点的G值,则将当前航路点作为该航路点的父亲航路点并重新计算该航路点的F、G和H值,反之,则该航路点的F、G和H值保持不变。(d)停止搜索:若目标点已添加到Closed表,则确定局部最优路径;若目标点没有添加到Closed表,而Open表已为空,则局部最优路径不存在。若局部最优路径存在,则局部最优路径的确定方法:从目标点,沿着每一个航路点的父亲航路点移动,直到回到起始点,所经过的航路点集合即为局部最优路径。采用计算机仿真实验验证本发明的效果:(1)仿真平台硬件仿真平台:Intel(R)Core(TM)i5-3210MCPU@2.50GHz&4.00GBRAM&Windows7软件仿真平台:Dev-C++(2)仿真内容在图4中,对于地图(a),(b),(c),(d)中的四种凸形障航物,在同等条件下,采用上述步骤,分别用经典的A*算法和本发明的方法从起始点SP(121.5°E,27.5°N)到目标点EP(125.5°E,29.5°N)规划出局部最优路径,并统计在航路规划的过程中搜索过的航路点数。(3)仿真结果及分析如附表3所示,对于地图(a),(b),(c),(d)中的四种凸形障航物都存在局部最优路径,经典的A*算法和本发明的方法均能够寻找到局部最优路径。与经典的A*算法相比,在航路规划时,本发明的方法使航路点搜索数量减少了约30%,故本发明的方法是可行且高效的。附表3计算机仿真实验结果表上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明技术方案的基础上,本领域技术人员不需要付出创造性的劳动即可做出的各种修改或变形仍在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1