王程博,张新宇,张加伟,刘硕
1 大连海事大学 航海动态仿真与控制交通行业重点实验室,辽宁 大连 116026
2 大连海事大学 航海学院,辽宁 大连 116026
随着人工智能和无人驾驶技术的快速发展,无人驾驶船舶成为海上智能交通的重要研究领域。当前,航运业正处于从自动化、信息化时代向智能化时代过渡的阶段。随着船联网建设的不断完善,以及云计算、大数据在航运领域的逐步应用,构建智能化的航运系统已成为未来几年甚至十几年内可能实现的目标。无人驾驶船舶集成了众多先进技术,包括智能航行(智能识别和智能决策)、岸基支持、船舶运维、船岸通信、船舶设计与制造、能效、集成测试等。智能决策层在整个无人驾驶船舶系统中扮演着“副驾驶”的角色,需要解决的问题是在已知无人驾驶船舶系统所处环境的信息基础上,决定船舶的航行策略。目前,国内外关于无人驾驶船舶行为决策的研究较少,但在无人驾驶汽车和移动机器人等其他领域内行为决策方法的研究已取得较好成果。
自上世纪70年代以来,在各种智能技术的推动下,移动机器人相关技术的研究获得了飞跃式发展,涌现出了许多移动机器人行为决策的方法,包括速度矢量可行度方法、多目标决策方法(Multi-Criteria Decision-making Method,MCDM)、马尔科夫决策方法(Markov Decision-making Pro⁃cess,MDP)、贝叶斯网络决策方法、模糊决策方法和产生式规则决策方法等。其中,赵忆文和谈大龙[1]提出了基于速度矢量可行度的自主移动机器人多行为综合决策方法,并取得了更合理的行为综合结果。张晓东等[2]通过解决物资转运线路规划、时间计算、作业排序和资源配班4个主要问题,设计了用于舰船物资转运方案的计算机辅助决策方法。王斌明[3]提出了一种结合神经网络和模糊神经网络的机器人智能决策方法,在提高多级信息识别准确率的基础上,完成了机器人智能避障操作。Tanaka等[4]描述了一种用于移动机器人导航的新型粗糙地形可穿越性分析和行为生成方法,利用参考姿态跟踪的控制方法实现移动机器人的智能导航。陈雪梅等[5]采用粗糙集提取驾驶员换道行为的决策规则,以达到有效进行无人驾驶避碰的决策。杜明博[6]通过研究人类在各种交通场景下的驾驶行为决策过程,构建了一种基于决策树的驾驶行为决策模型,并在“智能先锋Ⅱ”无人驾驶车辆平台上验证了智能决策模型的有效性。田赓[7]在获取有经验的驾驶员决策信息的基础上,深入研究了人为换道的决策机理,并建立了有效决策模型,实现了车辆准确换道决策。Temizer等[8]将无人机避碰问题视为MDP过程,实现了无人机避碰的智能决策。Furda和Vlacic[9]针对自主式城市车辆的实时决策问题,建立了MCDM模型,验证了该模型在新领域的适用性。Li等[10]使用Q学习算法,通过一系列模拟驾驶场景,学习优化策略,建立了基于强化学习的智能超车决策模型。Zheng等[11]建立了基于MDP方法的车辆决策模型,使用近似强化学习方法来改善MDP决策模型的性能。
国内外学者对智能决策的理论、模型和实现方法等进行了许多探索和研究,但在无人驾驶船舶智能避碰决策领域的研究和应用尚处于起步阶段。鉴于此,本文将首先对无人驾驶船舶智能行为决策算法的设计进行分析,探讨无人驾驶船舶智能决策所面临的问题。然后,通过构建适用于无人驾驶船舶的深度强化学习(Deep Reinforce⁃ment Learning,DRL)和设定惩罚函数,建立无人驾驶船舶避障的智能决策模型。最后,分别在不同障碍环境下对基于DRL的无人驾驶船舶智能避碰决策模型进行仿真,以验证模型的有效性和算法的适用性。
相比于车辆在陆地道路上的行驶,无人驾驶船舶航行的海洋环境更复杂、多变,在避碰智能决策方面面临如下2个难点。
1)海洋环境复杂、多变。
首先,在海洋环境下,风、流、涌、浪等的时变性较强,极大地影响了船舶航行安全。其次,近海水域有较强的结构化通航特征,分道通航种类较多且助航信息量大,例如,灯浮、灯标、航道建筑物、航行信号灯和不守规则的小型渔船等外部环境因素。因此,无人驾驶船舶避碰智能决策的设计需要考虑多源信息的约束,并能从中提取有效信息。
2)无人驾驶船舶的终极目标是最大限度地实现“拟人化”。
在有人驾驶船舶的操纵过程中,驾驶员会将人、船、航线视为一个整体,在海上交通规则、驾驶经验及意图的指导下进行反应式驾驶,通过值函数求解决策模型中的最优策略,使无人驾驶船舶状态对行为映射中的回报最大;在避碰智能决策设计上,无人驾驶船舶需要借鉴有人驾驶船舶的操作人员处理复杂交通场景的决策过程,合理学习其驾驶经验及规则中的模糊定义,在操作过程中智能化地实现“拟人化”决策。
针对无人驾驶船舶智能决策所面临的问题,结合海上交通规则,智能决策应满足以下准则:
1)自主规划能力。
针对识别的目标和障碍物,在现有电子海图上应能合理规划最优避碰路线、避让时间和恢复原始航线的时间。
2)实时性。
因海洋环境的不可预测性,智能决策系统必须能实时针对环境变化调整航态。
3)航向稳定性和航向保持。
除执行转弯、追越、避障等动作外,应能保持航向,不能有较大的偏航。若受到扰动而偏航,应在扰动消失后自行恢复航线航行。
4)航速控制。
在正常航态下,一般应在最大和最小航速限制范围内航行。在智能决策过程中,通常应能纵向调整航速以避障;在特定海域内,可根据当地规则控制航速;在紧急情况或意外发生时,可实现紧急制动。
5)避碰操作。
在航行中,应具有避碰能力,所采取的行动包括横向转向和纵向加减速、停船等动作。
无人驾驶船舶需实时获取航行状态信息,通过提取状态信息,学习有人驾驶的历史操作行为以进行智能决策。状态信息包括:当前自身状态、无人驾驶船舶历史决策行为、周边障碍物信息和当地交通规则等。在上述信息的基础上,则可做出智能决策。经过深入研究,本文选择DRL作为智能决策模型。
智能决策系统选取深度学习采样数据样本并提取共同特征值,选取强化学习训练数据,学习驾驶员历史操纵行为。强化学习的数学本质在离散时间内可以视为MDP决策过程,并且由五元组(S,A,Pa,Ra,γ)定义。其中:S为无人驾驶船舶所处的有限状态空间(状态集);A为无人驾驶船舶的行为决策空间,即在任意状态下的所有行为或动作a空间的集合,例如,左舵、右舵、加速、减速、跟船和停船等;Pa(s,s)=P(s′|s,a),P为条件概率,表示无人驾驶船舶在状态s和动作a下到达下一个状态s′的概率,Ra(s,s′)为激励函数,表示无人驾驶船舶在动作a情况下,从状态s到下一个状态s′所得到的激励;γ∈(0,1),为激励衰减因子,在下一时刻t的激励便按此因子衰减[12-13]。
在上述的MDP定义下,无人驾驶船舶的智能决策需要解决的问题可以正式描述为寻找一个最优“策略”,记为π:S→A。图1所示为DRL算法原理图。在任意给定的状态s下,策略会决定产生一个对应的行为a=π(s)。当策略确定后,整个MDP决策行为被视为一个Markov链,如图2所示。无人驾驶船舶智能决策的目标就是找到At,At+1,At+2,At+3,…,At+n,以使回报Gt最大,如式(1)所示,即找到无人驾驶船舶从状态到行为动作的映射,以使回报Gt最大。
式中,动作at是由策略π产生的,a=π(s)。
最优策略π*通常由动态编程的方法求解。假设转移矩阵P和激励分布R已知,最优策略π*的求解通常都是基于不断计算和存储如式(2)所示基于船舶状态s的数组[14]:
式中,Pπ(t)为在t时刻选择最佳策略时的概率密度;E表示期望。
行为状态值函数Qπ(s,a)属于实数,将决定智能决策系统的控制策略,并可反映未来奖励的预测[15]。
当无人驾驶船舶在状态st下采取具体的行动at时,将会获得即时奖励r(st,at)。
决策激励函数是无人驾驶船舶智能决策系统中最为关键的部分,可以间接地指定要解决的任务目标。在设计激励函数时,需要尽可能考虑以下因素[16-17]:
1)到达目的地。
鼓励无人驾驶船舶按照既定的路由寻径航线航行到目的地,越接近目的地,处罚就会越小,因此距离项设置为负值。
式中:λdistance为距离对激励函数的影响权重;(x,y)为无人驾驶船舶船位;(xgoal,ygoal)为目的地位置。
2)偏离航线。
在航行至目的地途中,均应按照既定的路由寻径航线航行,即若选择的动作a=π(s)有可能使船舶偏离既定航线,则应给予相应的惩罚。
式中:λoffcourse为偏离航线对激励函数的影响权重;Doffcourse为偏离航线的距离。
3)安全性和避碰。
在MDP模型中,将无人驾驶船舶的周边划分为有限状态空间方格,远离有可能碰撞的方格应得到奖励,接近碰撞时,则应加大惩罚。
式中,λcollisions为碰撞对激励函数的影响权重;Nobs为当前阶段需要避让的障碍物数量;∨为符号“或”;(xobsi,yobsi)为障碍物位置,下标i表示障碍物数量,i=1,…,N;Z0为船舶航行安全会遇距离[18],一般取
船舶安全会遇距离与船舶尺度(船长L)有关,船型越大,需要的安全会遇距离就越大。
将采集到的状态信息作为决策模块的输入,探索和挖掘驾驶员历史操纵行为,通过DRL学习在未知环境中的最优航行策略。无人驾驶船舶可以收集当前船舶的航行状态信息,并评估障碍物是否在安全会遇距离内。根据这些信息和激励函数,进行大量的自我测试,完成智能决策避碰的任务,最终到达目的地。基于DRL的无人驾驶船舶智能避碰决策算法如下。
1)数据采集。
在状态s0下随机采取搜索行为,样本训练周期为T,D为样本数据集。
每个样本数据集D应包括以下数据:当前状态s、行为a、激励r、采取行为的下一状态s′、终止条件I。
2)需求参数。包括值函数中的迭代参数ω、状态集S、搜索行为的随机概率P(s′,r|s,a)、激励衰减因子γ。
3)运算过程。
本节以案例仿真实验来验证基于DRL的无人驾驶船舶智能避碰决策模型的有效性。在所有实验中,船舶使用相同的动力学参数。仿真环境为Matlab 2016a,借助其强大的计算能力和绘图功能完成本文工作。模型仿真程序流程如图3所示。
无人驾驶船舶智能避碰决策框架由2个部分组成:趋向目标和避障。当环境中不存在障碍物或障碍物不在安全会遇距离内时,无人驾驶船舶将调整方向朝转向点航行;当障碍物出现在安全会遇距离内时,无人驾驶船舶利用Q学习策略进行避障,可选动作包括左转和右转。当实际Q值与期望Q′值的误差小于参数ω时(||Q′-Q<ω),迭代结束。首先,对参数进行设置:学习率α=0.5,激励衰减因子γ=0.8,迭代参数ω=0.02,船速vr=18 kn,动态障碍物速度v0=18 kn。
本文设置了3个静态障碍物,经过50次训练后实验,发现无人驾驶船舶虽然能成功规避障碍物,但是并非最优策略。在进行100次训练后实验,发现无人驾驶船舶智能避碰决策效果比50次训练的效果好。由此可见,无人驾驶船舶智能避碰决策模型训练次数越多,所得到的策略则越优,这进一步表明模型中基本奖励功能的改进是必要的。无人驾驶船舶智能避碰效果如图4所示。图中,黑色实心方框表示静态障碍物,虚心小圆圈表示无人驾驶船舶。
本研究通过设定无人驾驶船舶和动态障碍物的位置进行智能避碰决策训练,无人驾驶船舶和动态障碍物的速度均设置为18 kn。首次实验时,无人驾驶船舶在航行一段步长后与障碍物同时进入彼此的船舶领域内,经过100次训练后,无人驾驶船舶识别出动态障碍物处于本船右前方,判断出本船为让路船,并采取向右转向绕过动态障碍物后方,最终成功规避动态障碍物后到达目标点。图5所示为无人驾驶船舶避让轨迹图。图中,黑色圆圈表示无人驾驶船舶轨迹,红色圆圈表示动态障碍物轨迹,Start0表示动态障碍物的起始点。图5(b)中,本船和动态障碍物的轨迹交叉表示是本船避让后穿过动态障碍物后方的历史轨迹。
通过分析上述2组实验可以看出,实验初期,由于无人驾驶船舶对未知环境的交互不足,最终智能避碰决策失误导致陷入冲突或策略并非最优。多次训练后,无人驾驶船舶通过强化学习与环境交互和经验累积,完成了对未知环境的自适应,最终取得相对较好的避碰决策。
通过将深度学习与强化学习结合,提出了一种基于DRL的无人驾驶船舶智能避碰决策方法,使无人驾驶船舶在无环境先验知识的情况下,通过与环境的交互,提高学习能力,进行智能避碰决策和路径规划。在不同障碍环境下的仿真实验结果表明,本文所提无人驾驶船舶智能避碰决策系统具有较强的自学习能力,可通过在线学习,顺利完成在未知环境下的自适应避障,证明了本文智能决策模型的有效性。在今后的研究中,可以不断增加未知环境的复杂度来改进算法,以训练和提高智能避碰决策模型的自适应能力,使其更好地应用于实际状态空间中。