内河无人驾驶船舶驾驶行为决策模型研究*

2021-03-05 01:47张庆年
关键词:危险度内河障碍物

王 群 张庆年* 杨 杰 丛 喆 涂 敏

(武汉理工大学交通学院1) 武汉 430063) (武汉理工大学信息工程学院2) 武汉 430070)

0 引 言

无人驾驶船舶可利用高清视频、激光雷达和AIS系统等多维信息实现智能感知,利用机器学习方法实现智能驾驶行为决策,通过与环境的不断交互学习积累经验,模仿有人驾驶船舶船长驾驶经验积累的过程.船舶无人驾驶代表了未来发展的方向,可提高水上交通安全性[1-2].

在无人驾驶研究领域,与无人机、无人驾驶车辆相比,针对无人驾驶船舶的研究相对滞后[3].在无人驾驶车辆驾驶行为决策方面,熊璐等[4]对国内外无人驾驶车辆的驾驶行为决策系统的研究,发现现阶段无人驾驶车辆的行为决策主要有以有限状态机为代表的基于规则的驾驶行为决策和以各类机器学习为代表的基于学习算法的驾驶行为决策两大类;杜明博[5]结合驾驶员在复杂交通下的驾驶行为决策过程,提出了一种基于决策树的无人车行为决策方法;耿新力[6]采用本体论和马尔科夫理论构建了一种针对城区不确定环境下的无人车行为决策模型.Zheng等[7]提出了一种利用强化学习来解决复杂交通状态下的自动驾驶车辆驾驶行为决策模型.在无人驾驶飞行器驾驶行为决策方面,Ma等[8]利用深度卷积神经网络和强化学习来构建无人机的反应式避障行为决策模型,模仿人类进行驾驶决策行为;丁林静等[9]利用动态模糊Q学习模型来设计无人机的空战机动决策模型; Temize等[10]利用MDPPOMDP构建了无人机的避碰驾驶行为决策模型.通过以上无人驾驶车辆和无人驾驶飞行器的驾驶行为决策方法可知,机器学习应用居多.对于无人驾驶船舶驾驶行为决策来说,主要是要解决路线导航和障碍物避碰两方面的问题[11],研究较多的为海上无人船避碰决策,采用改进多目标算法[12]、决策树[13]、强化学习[14]和深度强化学习[15]等方法.总的来说,无人驾驶船舶驾驶行为决策方面的研究还处于起步阶段,但机器学习给予了无人驾驶船舶发展的技术支持,使其得以迅速发展.

目前,对船舶无人驾驶的研究主要存在以下两个问题:①对无人驾驶船舶行为决策研究较多的为开阔的海上水域,鲜有针对内河受限水域的研究;②在进行无人驾驶船舶避碰行为决策设计时没有考虑遵循《中华人民共和国内河避碰规则(2003修正版)》.文中通过构建内河船舶碰撞危险度函数来确定避碰时机,利用强化学习来构建无人驾驶船舶驾驶行为决策模型.

1 强化学习模型

引入资格迹的Q-Learning算法——Q(λ)算法来构建内河无人驾驶船舶行为决策模型,可加快模型的学习速度,缩短学习时间.资格迹的更新公式:

(1)

式中:γ为折扣因子;λ为资格迹衰减因子.

Q(λ)算法中Q值更新公式为

qt+1(si,aj)=qt(si,aj)+αδt+1et(si,aj)

(2)

(3)

式中:α为学习率.

2 构建内河无人驾驶船舶驾驶行为决策模型

2.1 碰撞危险度模型构建

内河船舶碰撞危险度直接影响无人驾驶船舶的驾驶行为决策.根据内河特点和专家经验,最终选取DCPA(无人船与障碍物最接近点距离)、TCPA(到达最接近点时间)、无人船与障碍物的距离D和内河航道尺寸R作为构建船舶碰撞危险度函数的四项指标,采用各指标的隶属度函数来表示船舶碰撞危险度.

1)DCPA影响船舶避碰最重要的因素之一,DCPA越小,船舶的碰撞危险度越大,UDCPA为DCPA的碰撞危险隶属度函数.

(4)

式中:d1为能安全驶过的最小距离;d2为安全会遇距离.

2)TCPA影响船舶避碰最重要的因素之一,表示船舶碰撞在时间上的紧迫程度,当TCPA较小时,存在碰撞的可能性较大.UTCPA为TCPA的碰撞危险隶属度函数.

(5)

式中:t1为无人船最晚进行避碰操作的时间;t2为障碍物与本船相对距离为D2时的航行时间.

3) 无人船与障碍物的距离D直接影响船舶避碰情况,当障碍物与本船的距离越近时,本船的碰撞危险度就越大.UD为无人船与障碍物距离D的碰撞危险隶属度函数.

(6)

式中:D1为最晚避让距离;D2为可采取避让措施距离.

4) 内河航道尺寸R内河水域较狭窄,船舶行驶时会受到航道宽度限制,当船舶离岸距离较小时,会受到水流和岸吸的作用,使得碰撞危险度增大.UR为内河航道尺寸R的碰撞危险隶属度函数.

(7)

式中:R为无人船距离内河航道边界的距离;R1为无人船距离航道边界的最小安全距离;R2为无人船与航道边界有足够的空间进行避碰操作的距离.

内河无人船碰撞危险度与以上四个因素有着密不可分的影响,但是对于不同的情况,四个因素对其影响有所不同,根据其影响程度赋予不同的权重.内河无人船碰撞危险度UCR的表达式为

UCR=w1UDCPA+w2UTCPA+w3UD+w4UR

(8)

式中:w1,w2,w3,w4分别为UDCPA,UTCPA,UD和UR在内河无人船碰撞危险度中所占的权重,权重之和为1.设置Ua(可根据实际情况进行调节),当内河无人船碰撞危险度UCR大于Ua时,无人船需要进行避碰操作.

2.2 避碰规则

内河无人驾驶船舶进行驾驶行为决策时,要完全遵守内河避碰规则.根据《中华人民共和国内河避碰规则(2003年修正本)》[17],在无人驾驶船舶避碰行为决策里加上基于避碰规则的先验知识,见图1.设定无人船位于O点处,以无人船的船艏向建立坐标系,将来船与本船的相对方位角θT划分为6个区域:A、B、C、D、E、F.在进行避碰决策时,综合考虑来船相对于无人船的相对方位θT和两船间的航向偏差角CT([0°,180°)),确定规则见表1.

图1 无人驾驶船舶会遇态势图

表1 内河无人驾驶船舶航行规则

无人船进行避碰行为决策时,一旦根据会遇态势确定了直航船和让路船,不管随后相对方位和航向偏差角发生什么变化都不再改变,直到让路船驶过让清.当确定本船为直航船时,一般不采取行动,若两船的碰撞危险度到紧迫局面而让路船还没有采取避碰措施,本船应采取相应的紧急避碰动作.

2.3 Q(λ)算法的驾驶行为决策模型构建

2.3.1状态空间输入

无人驾驶船舶通过传感器等探测技术和精确的定位系统,可以获得无人船自身和障碍物的信息,包括无人船的位置、航速、航向,障碍物的位置、航速和航向,目的地的位置等.

将无人船与障碍物间的距离D,无人船与障碍物的相对方位角θT,无人船与障碍物的航向偏差角CT,无人船航向和无人船与目的地连线的夹角φ作为状态空间的输入,需要将其进行离散处理.将无人船与障碍物之间的距离D划分为3种状态,当D>D2时,为状态S;当D15°.无人船航向和无人船与目的地连线的夹角φ分为7种状态,将φ在无人船与目的地连线方向正负90°以内时以30°为单位划分为6种状态,其他情况则划分为一种状态,共7种状态.

2.3.2动作空间输出

船舶进行行为决策的常见动作有右转舵、左转舵、加速、减速、停车、倒车等,为了保证无人船在航行过程中的速度稳定性和方向稳定性,在进行行为决策时,不能同时改变速度和方向,以小角度转向为主要的避碰方式.θ为无人船进行转向操作时的最小转向角,利用自动舵进行操作,规定向右转向为正,向左转向为负.动作集A为{±kθ},kθ≤30°,k=0,1,2….

2.3.3回报函数设计

回报函数由避碰和导向目的地这两部分组成.无人船处于安全状态时,决策行为以导向目的地为主,处于有碰撞危险状态时,决策行为以避碰为主.故回报函数为

r=μrc+(1-μ)rD

(9)

1) 避碰 采用内河无人船碰撞危险度的变化来定义避碰的回报函数,无人船的碰撞危险度变小,就给予一定的奖励;无人船的碰撞危险度变大,就给予一定的惩罚.当UDCPA,UTCPA,UD或UR各分碰撞危险度中有任一个的值为1,就给与一个较大的惩罚值.

(10)

2) 导向目的地 无人船接近目的地,给与一定的奖励,无人船远离目的地,给与一定的惩罚.L(t)为无人船与目的地在t时刻的距离.

(11)

当UCR(t)

2.3.4动作选择策略

一般Q学习算法采用的动作选择策略为ε-greedy算法,此算法是以概率1-ε来选择动作值函数最优的动作,以概率ε来随机选择其他动作.相对于传统的贪心算法,ε-greedy算法加强了对环境的探索能力,避免使算法陷入局部最优的困境中.

在本模型中,动作选择策略为:先采用ε-greedy算法选择动作ar,然后再判断所选动作是否符合规则,如果符合,则所选动作at=ar;如果不符合,则用ε-greedy算法重新选择动作ap,再进行判断是否符合规则,如果符合,则at=ap,若还不符合,则再用ε-greedy算法选择动作直到符合规则.

3 训练仿真

通过仿真实验来验证基于Q(λ)算法的内河无人驾驶船舶驾驶行为决策模型的有效性,利用python编程完成模型的训练和仿真任务.此模型中只考虑两船会遇场景行为决策情况,对于多船会遇场景行为决策没有进行讨论.在内河水域中,水域狭窄,两船对驶相遇和交叉相遇较为常见,进行仿真时只考虑了这两种场景.无人船从起始位置到达终止状态(无人船到达目的地或者无人船与障碍物碰撞)或者step达到最大值时,一个周期结束.当一个周期结束后,又重新开始新一轮的训练,直到Q值完全收敛,训练完成.经查阅资料,在天然和渠化河流一级航道中,3 000 t船舶代表船型中驳船长度为90.0 m、货船长度为110 m,故在此仿真中采用两者长度平均值,设置本船和障碍船的船长都为100 m.设置其它参数:折扣因子γ为0.9,资格迹衰减因子λ为0.9,学习率α为0.6.

3.1 对驶相遇

设置本船的起点为(100,100),目标点为(100,3 100),船首向为0°,速度为7.72 m/s,障碍船起点为(100,3 100),船艏向为180°,速度也为7.72 m/s.仿真结果见图2.

图2 对驶相遇场景仿真结果图

两船形成对驶相遇局面,虚线为无人驾驶船舶航迹,实线为障碍船航迹.对驶相遇场景中,两船均为让路船,在进行仿真实验中,障碍船的运动方向设置为固定的,无人驾驶船舶采用强化学习的方法进行为行决策,故只有无人驾驶船舶采取了避碰行动.由图2a)可知,在判断没有碰撞危险时,无人驾驶船舶的驾驶行为决策是沿着船艏向往目的地方向行驶.在113.99 s时,判断有碰撞危险,无人驾驶船舶进入避碰阶段,采取避碰措施,进行右转向,在198.12 s时碰撞危险解除,开始恢复原来的航向,在311.28 s时回到了原始航线,最终在428.1 s时到达目标点.由图2b)可知,从开始进入避碰阶段,无人驾驶船舶采取大角度右转向措施,并不断加大转向幅度,最终解除碰撞危险,恢复初始航向.结果表明无人驾驶船舶能够准确到达目的地,并遵守内河避碰规则.

3.2 交叉相遇

设置本船的起点为(100,200),目标点为(100,2 440),船艏向为0°,速度为7.72 m/s,障碍船起点为(700,2440),船艏向为210°,速度也为7.72 m/s.仿真结果见图3.

图3 交叉相遇场景仿真结果图

两船形成交叉相遇局面.由图3a)可知,无人驾驶船舶在88.41 s时采取了避碰措施,在160.43 s结束避碰并驶向目标点,在228.47 s时恢复了原来的航向,最终在311.74 s时到达目标点.由图3b)可知,无人驾驶船舶采取了右转向避碰措施,符合避碰规则,并在解除碰撞危险后,通过不断调整舵角恢复初始航向,最终成功达到目的地.

4 结 束 语

文中利用DCPA、TCPA、无人船与障碍物的距离D和内河航道尺寸R这四个指标的隶属度函数构建的内河船舶碰撞危险度函数,能够很好的确定无人驾驶船舶采取避碰行动的时机,包括开始避碰行动时机和结束避碰行动时机.无人驾驶船舶采取的驾驶行为决策遵守内河避碰规则,能够与有人驾驶船舶共同行驶在同一水域.通过python编程对两船对驶相遇和交叉相遇的场景进行仿真,仿真结果给出了无人驾驶船舶的船舶航迹图和无人驾驶船舶驾驶行为决策图,无人船能够遵守内河避碰规则进行避碰决策并准确到达目标点.

此模型的仿真结果比较理想,在后续的研究中,会将云计算与强化学习结合起来,提高模型的计算和储存能力,缩短模型的决策周期和精度.

猜你喜欢
危险度内河障碍物
不同危险度分级胃肠道间质瘤MRI影像学特征及诊断价值⋆
基于模糊集合理论的船舶碰撞危险度模型
数据挖掘技术在内河航道维护管理中的应用研究
高低翻越
赶飞机
如何提高内河船舶应急部署执行有效性
复杂水域船舶智能避碰专家系统设计
月亮为什么会有圆缺
从《清代内河水运史研究》中研究内河水运变革
内河水运之浙江模式