«上一篇
文章快速检索     高级检索
下一篇»
  哈尔滨工程大学学报  2018, Vol. 39 Issue (6): 998-1005  DOI: 10.11990/jheu.201711024
0

引用本文  

沈海青, 郭晨, 李铁山, 等. 考虑航行经验规则的无人船舶智能避碰导航方法[J]. 哈尔滨工程大学学报, 2018, 39(6): 998-1005. DOI: 10.11990/jheu.201711024.
SHEN Haiqing, GUO Chen, LI Tieshan, et al. An intelligent collision avoidance and navigation approach of unmanned surface vessel considering navigation experience and rules[J]. Journal of Harbin Engineering University, 2018, 39(6): 998-1005. DOI: 10.11990/jheu.201711024.

基金项目

国家自然科学基金项目(51579024,61374114);辽宁省教育厅重点实验室基础项目(LZ2015006);中央高校基本科研业务专项资金项目(3132016311,3132016313,3132017114)

通信作者

郭晨, E-mail:dmuguoc@126.com

作者简介

沈海青(1987-), 男, 博士研究生;
郭晨(1956-), 男, 教授, 博士生导师

文章历史

收稿日期:2017-11-07
网络出版日期:2018-03-27
考虑航行经验规则的无人船舶智能避碰导航方法
沈海青1, 郭晨1, 李铁山2, 余亚磊2    
1. 大连海事大学 船舶电气工程学院, 辽宁 大连 116026;
2. 大连海事大学 航海学院, 辽宁 大连 116026
摘要:针对无人船舶在海上复杂航行条件下的自动避碰问题,基于深度竞争Q学习算法及A*算法提出了一种考虑航行经验和避碰规则的无人船舶智能避碰导航方法。通过在强化学习避碰任务和A*局部动态导航的设计中融入船舶的操纵特性,缩减了模型训练和A*算法路径规划的时间,以及将避碰经验规则转化成动态的航行限制线以获得本船周围的全部可航区域,并从全局角度衡量本船的航行态势做出避碰决策,使得避碰决策符合国际海上避碰规则和避让经验的要求。在开阔水域和受限水域中完成的仿真结果表明该方法能够成功避让所有船舶和静态障碍物,具有重要的工程应用价值。
关键词深度竞争Q学习    A*算法    无人船舶    避碰导航    避碰规则    航行经验    
An intelligent collision avoidance and navigation approach of unmanned surface vessel considering navigation experience and rules
SHEN Haiqing1, GUO Chen1, LI Tieshan2, YU Yalei2    
1. College of Marine Electrical Engineering, Dalian Maritime University, Dalian 116026, China;
2. Navigation College, Dalian Maritime University, Dalian 116026, China
Abstract: In this study, an intelligent collision-avoiding navigation approach based on deep dueling Q-learning, A* algorithm, and navigation experience and rules was proposed for unmanned surface vessel under complex navigation conditions. By incorporating the vessel maneuverability into the design of the A* local dynamic navigation and the reinforcement learning task for avoiding collision, the time for model training and the A* algorithm path planning are reduced. By transforming the navigation experience and rules into the dynamic navigation limitation lines, the entire navigable area around an own-ship can be obtained. In addition, by considering the navigation situations of the own-ship from the global view, a collision avoidance decision is made, so as to make the decision conform to navigation experience and rules. Several simulations were conducted in open sea and restricted waters, and the results demonstrate that the proposed approach can successfully realize avoidance from all other ships and static obstacles; hence, it has an important engineering application value.
Key words: deep dueling Q-Learning    A* algorithm    unmanned surface vessel    collision avoidance and navigation    navigation rules    navigational experience    

研究实现高度自治的无人驾驶船舶是当前船舶工业的新目标。自主避碰及导航是保障无人船舶在复杂海上环境航行的关键技术,吸引了众多科研人员的观注。目前,在开阔水域中两船会遇避碰的研究已有较多成果而两船以上的多船会遇避碰则相对较少;在受限水域中有部分单船避障的研究但两船及以上且考虑避碰规则的避碰成果极少[1-9]。总体而言,当前船舶自动避碰研究的成果仍不完整,主要存在以下几个重要问题[2, 10]:1)未考虑国际海上避碰规则[11]和航行避让经验;2)仅适用于开阔水域,无法适用于受限水域;3)验证算法过程中假设他船保速保向一定遵守避碰规则,对他船违反航行规则的情况未处理;4)多船避碰研究主要根据碰撞危险的等级从高往低逐个避让他船或静态障碍物,避让当前对象时并未考虑其他对象,由此可能导致本船虽然安全避过当前对象,却又与另一对象形成紧迫局面;5)算法计算量大、无法实时给出避碰决策,仅能适用于一般辅助决策但无法应用于无人船舶的自主避碰航行。

随着深度学习技术的发展,人工智能技术取得了里程碑式的巨大进步[12],其中深度强化学习技术发挥了巨大的作用。所以针对当前自动避碰算法存在的以上不足,本文基于深度强化学习的深度竞争Q学习算法并利用深度多层感知神经网络和A*算法,结合船舶操纵特性并在考虑航行经验中的船舶Bumper模型、船舶域、PAD(predicted areas of danger), 以及海上避碰规则的基础上提出了一种适用于复杂航行条件的无人船舶自主智能避碰导航方法,并利用数值仿真通过在开阔水域和受限水域中的多个避碰测试实例验证该方法的有效性。

1 基于深度Q学习及经验规则的无人船舶避碰导航方法 1.1 船舶自动避碰的强化学习任务设计

深度竞争Q学习算法是深度Q学习算法在神经网络结构上优化的一种改进型算法,它可以选择性学习有价值的状态,而不会对任一状态都去学习每个动作产生的影响[13]。为利用深度竞争Q学习算法实现船舶避碰这一强化学习任务,首先需设计其状态变量、动作变量及回报函数。本船到周围船舶及障碍物的距离是操纵避碰中最直观且重要的衡量指标,所以设计如图 1所示的12条长度均为Rsensor的扫描线检测本船周围的航行环境,并将量得的距离值用以设计状态变量。于是利用最近连续5次的距离测量值作为系统的状态变量,从而形成标准的有限马尔可夫过程,如此即可用标准的强化学习方法处理此任务[12]

Download:
图 1 距离扫描线 Fig. 1 The detection lines for distance measurement

船舶通常在舵的控制下实现航向保持、向左或向右转,且不同船舶的舵效基本不同,为使算法通用,于是采用航向的变化量作为系统的动作at。动作集为{-Δψ, 0, Δψ}, Δψ>0, 其大小取决于训练时的设置。当获得航向偏转角后即可通过航向自动舵将其转成命令舵角。本文采用比例控制方法将航向差转化成命令舵角:如果at连续n次朝同一方向转,则$\delta {\rm{ = }}{P_{{\rm{autopilot}}}}\sum\limits_{i = t}^{t + n} {{a_i}} $,否则δ=Pautopilotat,其中Pautopilot为比例自动舵参数。

船舶周围的可航区域越大船舶显然越安全,且不同方位可航区域的重要程度也有所不同,所以设计如下的系统回报函数:

$ {r_e}\left( t \right) = \left\{ {\begin{array}{*{20}{c}} { - 500,\;\;\;\;{\rm{min}}({d_0},{d_1},{d_6}) < {D_H}\;{\rm{or}}\;\;\;\;\;\;\;\;\;\;\;\;\;}\\ {{\rm{min}}\left( {{d_2},{d_7}} \right) < {D_{SH}}\;{\rm{or}}}\\ {\;\;\;\;\;\;\;{\rm{min}}\left( {{d_3},{d_8}} \right) < {D_S} \cdot 2/\sqrt 3 \;{\rm{or}}}\\ {{\rm{min}}\left( {{d_4},{d_9}} \right) < {D_S}\;{\rm{or}}\;\;\;}\\ {\;\;\;\;\;{\rm{min}}\left( {{d_5},{d_{10}}} \right) < {D_S} \cdot \sqrt 2 \;{\rm{or}}}\\ {{d_{11}} < {D_S}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;}\\ {\sum\limits_{i = 0}^{11} {{w_i}{d_i}} ,\;\;{\rm{otherwise}}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;} \end{array}} \right. $ (1)

式中:DHDSHDS表示训练时船舶碰撞的阈值;di表示第i条扫描线的测量值;当产生碰撞时人为设定-500作为负回报,反之将所有测量值的权重和作为正回报;w0=1,w1=w6=0.9,w2=w7=0.8,w3=w8=0.7,w4=w9=0.6,w5=w10=0.5,w11=0.4。

1.2 航行避碰操纵策略及局部导航

船舶在海上通常沿着航路点航行,到达一个航路点后则开始驶向下一个航路点。当航行中的船舶遇到他船或其他障碍物时,若存在碰撞危险,则该船一般先进行避让待驶过让清后再恢复到原航线上。所以本文将航行分为“驶向目标”和“避让危险”两种状态,并利用船舶Bumper模型控制航行状态的切换,以及利用A*算法局部导航应对航行状态切换过程中可能导致船舶长时间无效航行或始终无法接近目标航路点的问题。

1.2.1 基于船舶Bumper模型的航行避碰操纵策略

船舶Bumper模型是通过分析统计船舶交通流数据得到的一种用于评估船舶碰撞风险的模型[14],其形状如图 2(a)所示。为便于计算并结合图 1的本船扫描线,本文将船舶Bumper简化成如图 2(b)所示,其中虚线间的夹角及索引编号与图 1相同。

Download:
图 2 船舶Bumper Fig. 2 Ship Bumper

当本船存在以下任一情形时,本船进入“避让危险”状态并利用船舶避碰模型进行避碰航行:

1) 当本船的扫描线在自身的Bumper(即原始Bumper)区域中检测到静态障碍物时,立即转成“避让危险”状态。因为此时本船存在极大碰撞危险,所以暂不考虑航行规则,并计算其安全系数SCobstacle=min(OSi/BSi), OSi表示第i条扫描线获得的测量距离,BSi图 2(b)中虚线的长度;

2) 若本船为直航船,当本船的原始Bumper与他船的原始Bumper重叠时,表示此时两船进入“紧迫局面”直航路也有义务采取避让措施。所以本船转成“避让危险”状态。

3) 若本船为让路船时,当本船与相应直航船的距离小于设定的阈值DPAD则计算直航船的让路Bumper(“让路Bumper”指在直航船原始Bumper的大小上放大Fgivewa倍后得到的Bumper);反之计算相对于直航船的PAD,若PAD不存在则仍计算直航船的Bumper。最后检测这些为直航船添加的规则限制线、PAD或让路Bumper是否与本船的原始Bumper重叠,一旦重叠表明此时两船存在碰撞危险,此时让路船有义务采取避让措施而直航船可继续保速保向行驶,所以本船转成“避让危险”状态。通过采用上述策略最终实现使本船先于直航船转入避碰状态实现避让直航船。

反之,当本船不存上述任一情况时,本船即为“驶向目标”状态并采取以下提出的最小夹角经验操纵策略航行:

1) 首先计算目标点舷角(即船艏向与目标点的最小夹角),然后暂定朝此夹角方向转向;

2) 以本船当前航向为基准向待转方向转20°计算预转航向,然后评估本船在预转航向是否安全(仍是“驶向目标”状态)。若是,则按航向偏转方向将最小夹角利用比例控制方法转成命令舵角使船舶驶向目标航路点;若不是,则保持航向不采取动作。

1.2.2 基于A*算法的船舶局部路径导航

若本船在“驶向目标”状态时仅仅采用上述最小夹角经验操纵策略,本船进行避让操纵后会存在以下两个不足:1)导致本船与目标航路点间存在静态障碍物,若为连续较长的岛屿,特别是U形障碍物,将导致船舶长时间无效航行或始终无法接近目标航路点。2)导致本船长时间沿着处于本船与目标航路点间的碍航船舶航行,便又会出现与上面同样的不利结果。为弥补以上两个不足,所以提出采用具有全局最优解、计算速度快且可考虑搜索空间限制等特点的启发式A*算法[15]进行动态局部导航,在考虑船舶操纵特性及避碰经验规则的基础上动态规划出临时航路点引导船舶驶向目标航路点。

A*算法通常是基于栅格化的地图进行路径规划,所以本文采用以下方案进行局部动态栅格化、A*路径规划和触发及取消A*寻路。

1) 局部动态栅格化法。

首先选取包含本船和目标航路点的正方形区域作为局部栅格化范围,取本船与目标航路点连线的中点为该正方形的中心,边长为本船和目标航路点间的垂向距离与纵向距离中的较大值加上4倍的DgridDgrid为栅格间隔,该值的设置需考虑船舶的船长及旋回操纵特性。然后根据情况考虑该范围内的以下对象作为栅格化目标:①所有静态障碍物; ②以本船为起算中心,两倍本船bbumper长度范围内的所有船舶(即船舶轮廓多边形);③以本船为起算中心,两倍本船bbumper长度范围内的所有让路船的长度等于让路船bbumper的普通限行艏向线;④本船扫描线范围内的所有直航船的长度为Rsensor的规则限行艏向线。最后用扫描线法以栅格间距Dgrid进行栅格化。

2) 考虑转向限制的A*路径规划。

考虑到船舶的欠驱动特性,于是对A*算法的8个搜索方向进行限制,只搜索船艏及其左前和右前这三个方向,若船舶任一侧紧挨的栅格是障碍时则不能朝该侧转向。这样不仅缩小了算法搜索空间从而减少求解时间,更重要的是保证规划得到的路径符合船舶操纵特性要求。按此要求限制搜索空间后就可按求解通常的A*算法一样进行路径规划。若未找到路径,则逐渐以上次正方形区域为基础往上下左右四个方向上增加Dgrid长度动态扩大栅格化范围。另外要求A*算法在一个独立的计算模块中并行求解,本船只有在寻得路径后才按局部导航路径点进行引导,否则还是按原计划航路点航行。从而可以完全保证整个避碰算法的有效性及实时性。

3) 触发及取消A*寻路的条件。

当船舶处于“驶向目标”状态且存在以下任一条件时则开始进行A*局部寻路(即路径规划): ①本船与目标航路点间存在静态障碍物或船舶;②目标航路点的方位角大于90°;③本船与目标航路点的连线穿过规则艏向线且本船的原始Bumper与让路船的寻路Bumper(“寻路Bumper”指在让路船原始Bumper放大FA*倍后得到的Bumper)出现重叠。另外需注意,在栅格化目标对象时静态障碍物、艏向线一直会考虑,但只有符合第一个条件时船舶轮廓才被考虑。本船按临时路径点引导航行时,若船舶位置超出了栅格化正方形范围或者与当前临时目标路径点的距离超出3倍Dgrid时都重新局部寻路。一旦本船不满足A*局部寻路条件时,则重新按原计划航路点航行。

1.3 加入避碰规则及经验知识

船舶在海上航行时,在安全条件允许的情况下应严格遵守国际海上避碰规则,还应根据本船及他船的操纵性、海况和能见度等情况,与他船或静态障碍物保持安全距离,避免发生碰撞危险。所以本方法利用避碰规则、船舶域、PAD、障碍物域控制本船的安全距离。对于某一来船,同一时刻仅考虑其船舶域或与其形成的PAD。当本船与他船的距离小于设定的阈值DPAD时,计算他船的船舶域;反之计算PAD, 若PAD不存在则仍计算船舶域。本方法首先统一将所有他船的船舶域或PAD、障碍物域及避碰规则都转换成航行限制线,然后用本船扫描线对限制线进行测量计算,最后将测量结果提供给强化学习避碰模型做避碰决策,从而使本方法不仅利用到避碰经验知识,而且满足避碰规则的要求。

1.3.1 避碰规则

在避碰规则[11]中定义了两船的对遇、追越和交叉会遇三种情况,并给出了相应的避碰操纵要求,如图 3所示。对于图 3(a)中的追越情形,让路船A需从直航船B的两侧通过,所以在船B的艉部增加长度为两倍abumper的限制线MN。对于图 3(b)中的对遇情形,船A和船B都应向右转向实现左对左行驶,所以分别在两船的船艏顺时针方向绘制一条长度为Rsensor且与船艏成5°的限制线MN。对于图 3(c)中的交叉会遇情形,让路船A需从直航船B的艉部通过。于是在船B的船艏且沿着船艏方向设计一条长度等于Rsensor的规则限制线MN。避碰规则规定一经确定为让路船,无论随后与直航船的方位发生任何变化一直是让路船,直到最后驶过让清为止。所以本文以让路船与直航船的距离大于设定的距离阈值Dgivewa且按规则要求某船不再认定为让路船时才确认为驶过让清。

Download:
图 3 会遇类型 Fig. 3 Encounter types
1.3.2 船舶域

船舶域由Goodwin提出并用于表征船舶的安全航行区域[16]。本船应处于他船的船舶域之外从而保证各船的航行安全。为简化计算,Smierzchalski等提出用如图 4所示的六边形来表示船舶域并给出如下计算方法[17]

$ \left\{ \begin{array}{l} {\rm{s}}{{\rm{d}}_1} = {D_{{\rm{CPA}}}}/2\\ {\rm{s}}{{\rm{d}}_2} = {T_{{\rm{CPA}}}} \cdot V + U\\ {\rm{s}}{{\rm{d}}_3} = B \cdot {V^{0.44}} + U\\ {\rm{s}}{{\rm{d}}_4} = {T_{{\rm{CPA}}}} \cdot V + U\\ {\rm{s}}{{\rm{d}}_5} = L \cdot {V^{1.26}} + 30 \cdot V + U\\ {\rm{s}}{{\rm{d}}_6} = {D_b}/2 \end{array} \right. $ (2)
Download:
图 4 船舶域 Fig. 4 Ship domain

式中:DCPATCPA分别是船舶的最小会遇距离和最小会遇时间;V=max(V0, VREL), V0为此船速度,VREL是他船与此船的相对速度;U是船位估算误差;Db是安全距离;LB分别是船的长和宽。图 4若本船处于狭窄航行区域时需较多考虑自身的航行空间及安全,降低考虑对他船船舶域的程度,所以他船的船舶域应适度缩小。另外航行中本船有可能进入他船的船舶域,为使扫描线的检测结果有效,需保证本船在他船的船舶域之外。所以基于以上两点原因需动态缩放船舶域的大小且进一步计算如下:

$ {D_j} = {\rm{s}}{{\rm{d}}_j} \cdot {F_{{\rm{resize}}}},j = 1,2, \ldots ,6 $ (3)

其中Fresize是动态缩放因子,且初值等于SCobstacle的平方。当本船处于他船的船舶域中时,Fresize逐次递减0.1直至本船处于他船的船舶域外。另外若他船是让路船,还需直至本船艏向线与他船艏向线的交点也处于让路船的船舶域外。

1.3.3 PAD

PAD用于预测两船的碰撞危险区,建立PAD的原理见图 5[18]。图中c=DCPA,若存在可能碰撞点PPC并求得点E1E2即可建立PAD, 计算方法见文献[19]。当本船的艏向线避开PAD, 即可防止两船碰撞。与船舶域一样PAD也需动态缩放,通过c=DCPA·Fresize实现,且缩放方法与调节船舶域相同。

Download:
图 5 PAD原理示意图 Fig. 5 PAD schematic diagram
1.3.4 障碍物域

为使船舶提前避让静态障碍物,也适时为其添加一个虚拟障碍物域。若本船与所有他船的最小距离大于2倍的本船船长时才设置障碍物域,否则不设置。障碍物域设置方法如下:以扫描线与静态障碍物的交点为圆心,ROD为半径作一个圆。为简化计算, 继续将圆简化成一个等边八边形,如图 6所示。其中ROD=ROD·FresizeROD等于DCPA与min(di)两者的较小值。Fresize的初值为1并与Fresize参数一样,需要动态递减0.25直至本船处于障碍物域外。

Download:
图 6 障碍物域 Fig. 6 Obstacle domain
2 船舶避碰仿真验证

本文提出的避碰算法在Windows系统上基于Keras深度学习库编程实现,其中A*路径规划在独立的进程中并行解算。

2.1 船舶的运动数学模型

为验证提出的自动避碰算法,本文采用三自由度运动且考虑舵机特性的Nomoto模型作为数值仿真的船舶动力学模型,其数学表达为

$ \left[ {\begin{array}{*{20}{c}} {\dot \psi }\\ {\dot r}\\ {\dot \delta } \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} r\\ {(K\delta - r)/T}\\ {({\delta _E} - \delta )/{T_E}} \end{array}} \right] $ (4)

式中:ψ为船舶航向,r是转艏速率,KT分别是增益及时间常数,δδE分别是实际舵角和命令舵角,TE为舵机时间常数。

为使训练的模型能应用于符合训练设计要求的不同船舶,以及减少计算量和训练时间,按如下方式设计船舶训练时的航向计算模型:

$ \psi = {\psi _{{\rm{last}}}} + {a_t} $ (5)

式中:at∈[-Δψ, 0, Δψ]为强化学习系统动作,Δψ=h·|rtrain|,h是计算间隔时间,rtrain为训练时的转艏速率, 其值的设置需参考船舶的最大转艏速率rmax

本文将使用表 1所示的三艘自航船模来验证所提出的无人船舶避碰导航算法,其中船Ⅰ、船Ⅱ分别是调查船和渔船而船Ⅲ是艘双桨双舵客船.

表 1 测试船舶主要参数 Tab.1 The characteristic parameters of tested ships
2.2 避碰模型训练方法

针对船舶自动避碰的强化学习任务,设计一个40 m×23 m的封闭矩形作为航行训练区域。首先在区域内设置一艘长宽与船Ⅲ相同的训练本船,其他参数为:随机的初始船位、速度为0.5 m/s、h=1 s、rtrain=10(°)/s、Rsensor=25 m。由于船舶惯性较大,若距离障碍物或他船太近时再转向将无法避免碰撞,所以训练的碰撞阈值应参考所控船舶的旋回直径,于是设DH=6 m,DSH=3 m,DS=1 m,如此设置阈值也将缩减训练时间。若训练本船发生碰撞则后退4 m继续开始;当本船超出边界则重新随机初始位置。然后增加一艘长宽为2.4 m、0.39 m且初始位置和航向随机的自航船,速度为1 m/s, 航向的变化量取[-π/12, π/12]内的随机值。若自航船撞上边界则反向行驶。如此即可模拟船舶遇到各种障碍物的情形。

另外,深度竞争Q学习算法的相关参数设置如下:经验回放集的大小为50 000;批量训练集的大小是150;γ=0.99;ε初值设为0.9,每帧递减10-6, 直至等于0.7;MLP神经网络的结构为[512, 512, (3, 1), 3],并利用Adam算法及Keras提供的默认参数进行训练,训练帧数为1 000 000帧。按此方法训练结束即可得到具有自由避碰能力的船舶强化学习避碰模型。

2.3 数值仿真

测试算法前首先设置以下避碰参数:DPAD等于3倍于本船与他船的船长之和;Dgivewa等于本船与他船的bbumper之和;Fgivewa=1.5;Pautopilot=1;FA*=2.5;Dgrid=3 m;其他参数设置见表 2中。另外避碰算法每隔0.1 s做避碰决策,仿真结果中标识船位的同步时间戳间隔为15 s。

表 2 测试船舶避碰参数 Tab.2 The avoiding collision parameters of tested ships
2.3.1 开阔水域避碰实例

为验证本文避碰算法做出的避碰决策符合海上避碰规则的要求,分别对以下会遇局面进行仿真。

1) 对遇局面。

两船的参数设置见表 3,仿真结果见图 7,可见两船都按照规则的要求向右转向实现左对左行驶。

表 3 对遇局面的船舶设置 Tab.3 Settings of ships in head-on case
Download:
图 7 对遇局面中两船的航行轨迹 Fig. 7 The trajectories of two ships in head-on case

2) 追越局面。

两船的参数设置如表 4所示,从仿真结果图 8可见船Ⅱ作为追越船按照规则的要求从被追越船的左舷追越而船Ⅰ作为直航船保持航向不变。

表 4 追越局面的船舶设置 Tab.4 Settings of ships in overtaking case
Download:
图 8 追越局面中两船的航行轨迹 Fig. 8 The trajectories of two ships in overtaking case

3) 两船交叉相遇局面。

两船的参数设置见表 5,并从仿真结果图 9可知,船Ⅱ在船Ⅰ的左舷作为让路船从船Ⅰ的船艉通过。船Ⅰ作为直航船保持航向朝目标航路点行驶。

表 5 交叉相遇局面的船舶设置 Tab.5 Settings of ships in crossing case
Download:
图 9 交叉相遇局面中两船的航行轨迹 Fig. 9 The trajectories of two ships in crossing case

另外为了验证本文避碰算法在本船作为直航船而让路船不让路情况下的避让能力,保持两船的相关参数不变但强制船Ⅰ保持航向不避让,最后图 10的仿真结果显示直航船船Ⅱ在达到紧迫局面时向右回旋成功避让并继续朝目标航路点行驶。可见本文的避碰算法依然能解决让路船不让路的情况。

Download:
图 10 让路船违反规则的测试结果 Fig. 10 The test results of give-way ship violated the rules

4) 三船交叉相遇局面。

船舶参数设置见表 6,仿真结果如图 11所示。

表 6 三艘船船交叉相遇局面的船舶设置 Tab.6 Settings of three ships in crossing case
Download:
图 11 交叉会遇局面中三艘船舶的航行轨迹 Fig. 11 The trajectories of three ships in crossing case

图 11可知每船相对另两船既是让路船又是直航船,所以每船都从各自的让路船船艉安全通过。

2.3.2 受限水域避碰及局部导航实例

为验证本算法在受限水域中的避障和局部导航能力,首先仍以训练时的矩形区域作为测试区域,并添加一个U形障碍物,另外设计A(16.0 m, 5.0 m),B(17.5 m, 17.5 m)和C(47.5 m, 20.0 m)三个计划航路点。规定船舶与航路点的距离小于3 m时认为已到达此航路点。其他设置和仿真结果分别见表 7图 12~15。从图 12中航行轨迹可知,两船在此复杂的受限水域中依然能遵守航行规则和经验并保持较大的安全距离成功到达目的地。图 13为船Ⅱ在将到达B航路点时,避碰算法为船Ⅱ进行决策的实时检测计算原理图。图 14是船Ⅱ重新转为“驶向目标”状态且她与目标航路点C间存在静态障碍物而触发的首次局部栅格化及A*寻路失败结果,其中虚线正方形表示网格,黑色圆点表示该网格存在障碍物不可通过。图 15为A*算法寻路成功的结果(小圆点和圆圈为局部导航路径点,圆圈为当前目标路径点),可见导航路径满足船舶转向受限的欠驱动特性。于是船Ⅱ沿着导航路径航行,当她与航路点C不再存在阻隔后又恢复以目标航路点C行驶,最终成功到达航路点C。综上可见本算法能很好的实现无人船舶在复杂受限水域中的自主避碰航行。

表 7 受限水域中船舶的设置 Tab.7 Settings of ships in the restricted waters
Download:
图 12 受限水域中两船的航行轨迹 Fig. 12 The trajectories of two ships in the restricted waters
Download:
图 13 避碰算法实时检测计算原理图 Fig. 13 The principle diagram of real-time detection and calculation in the collision avoidance algorithm
Download:
图 14 寻路失败结果 Fig. 14 The failed result for finding path
Download:
图 15 寻路成功结果 Fig. 15 The successful result for finding path
3 结论

1) 遵从国际海上避碰规则和航行经验的要求,且能同时适用于开阔水域和受限水域。

2) 通过全局衡量本船周围的航行态势给出避让操纵策略,没有避让船舶数量的限制,可根据不同的受控船舶及航行环境灵活设置物理意义明显且海上避让惯用的避碰参数。

参考文献
[1]
STATHEROS T, HOWELLS G, MAIER K M. Autonomous ship collision avoidance navigation concepts, technologies and techniques[J]. The journal of navigation, 2008, 61(1): 129-142. (0)
[2]
XUE Yanzhou, CLELLAND D, LEE B S, et al. Automatic simulation of ship navigation[J]. Ocean engineering, 2011, 38(17/18): 2290-2305. (0)
[3]
CAMPBELL S, NAEEM W. A rule-based heuristic method for COLREGS-compliant collision avoidance for an unmanned surface vehicle[J]. IFAC proceedings volumes, 2012, 45(27): 386-391. DOI:10.3182/20120919-3-IT-2046.00066 (0)
[4]
TANG Pingpeng, ZHANG Rubo, LIU Deli, et al. Local reactive obstacle avoidance approach for high-speed unmanned surface vehicle[J]. Ocean engineering, 2015, 106: 128-140. DOI:10.1016/j.oceaneng.2015.06.055 (0)
[5]
PERERA L P, CARVALHO J P, GUEDES S C. Intelligent ocean navigation and fuzzy-Bayesian decision/action formulation[J]. IEEE journal of oceanic engineering, 2012, 37(2): 204-219. DOI:10.1109/JOE.2012.2184949 (0)
[6]
李丽娜, 王俊玲, 陈国权. 船舶拟人智能避碰决策理论的集成机器学习策略[J]. 信息与控制, 2011, 40(3): 359-368.
LI Lina, WANG Junling, CHEN Guoquan. Integrated machine learning strategy of PIDVCA theory[J]. Information and control, 2011, 40(3): 359-368. (0)
[7]
刘德新, 吴兆麟, 贾传荧. 船舶智能避碰决策与控制系统研究综述[J]. 大连海事大学学报, 2003, 29(3): 52-56.
LIU Dexin, WU Zhaolin, JIA Chuanying. A summary of recent researches on ship's intelligent collision avoidance decision-making and controlling system[J]. Journal of Dalian maritime university, 2003, 29(3): 52-56. (0)
[8]
康与涛, 朱大奇, 陈伟炯. 船舶避碰路径规划研究综述[J]. 船海工程, 2013, 42(5): 141-145.
KANG Yutao, ZHU Daqi, CHEN Weijiong. Review of research on collision avoidance path planning for ships[J]. Ship & ocean engineering, 2013, 42(5): 141-145. (0)
[9]
ZHUO Yongqiang, HEARN G E. A ship based intelligent anti-collision decision-making support system utilizing trial manoeuvres[C]//Proceedings of 2008 Chinese Control and Decision Conference. Yantai, Shandong, China, 2008: 3982-3987. (0)
[10]
TAM C, BUCKNALL R, GREIG A. Review of collision avoidance and path planning methods for ships in close range encounters[J]. The journal of navigation, 2009, 62(3): 455-476. DOI:10.1017/S0373463308005134 (0)
[11]
IMO. Convention on the International Regulations for Preventing Collisions at Sea (COLREGs)[Z]. London: 1972. (0)
[12]
MNIH V, KAVUKCUOGLU K, SILVER D, et al. Human-level control through deep reinforcement learning[J]. Nature, 2015, 518(7540): 529-533. DOI:10.1038/nature14236 (0)
[13]
WANG Ziyu, SCHAUL T, HESSEL M, et al. Dueling network architectures for deep reinforcement learning[C]//Proceedings of the 33rd International Conference on Machine Learning. London, UK, 2015. (0)
[14]
HARA K. Proposal of maneuvering standard to avoid collision in congested sea area[J]. The journal of Japan institute of navigation, 1991, 85: 33-40. DOI:10.9749/jin.85.33 (0)
[15]
BANDI S, THALMANN D. Path finding for human motion in virtual environments[J]. Computational geometry, 2000, 15(1/2/3): 103-127. (0)
[16]
GOODWIN E M. A statistical study of ship domains[J]. The journal of navigation, 1975, 28(3): 328-344. DOI:10.1017/S0373463300041230 (0)
[17]
MIERZCHALSKI R. Ships' domains as collision risk at sea in the evolutionary method of trajectory planning[J]. Computer information and applications, 2004, 2: 117-125. (0)
[18]
BOLE A G, DINELEY B, WALL A. Radar and ARPA manual[M]. 2nd ed. London: Elsevier, 2005. (0)
[19]
王世远, 施智标. PAD及其局限性[J]. 上海海运学院学报, 1985(1): 15-24.
WANG Shiyuan, SHI Zhibiao. PAD and its limitation[J]. Journal of Shanghai maritime institute, 1985(1): 15-24. (0)