CN114895673A - 一种规则约束下基于深度强化学习的船舶避碰决策方法 - Google Patents
一种规则约束下基于深度强化学习的船舶避碰决策方法 Download PDFInfo
- Publication number
- CN114895673A CN114895673A CN202210446491.7A CN202210446491A CN114895673A CN 114895673 A CN114895673 A CN 114895673A CN 202210446491 A CN202210446491 A CN 202210446491A CN 114895673 A CN114895673 A CN 114895673A
- Authority
- CN
- China
- Prior art keywords
- ship
- collision avoidance
- meeting
- reward
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 230000002787 reinforcement Effects 0.000 title claims abstract description 31
- 230000006870 function Effects 0.000 claims abstract description 148
- 230000009471 action Effects 0.000 claims abstract description 101
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 37
- 238000012549 training Methods 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims description 30
- 230000003068 static effect Effects 0.000 claims description 23
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000004088 simulation Methods 0.000 abstract description 19
- 238000011156 evaluation Methods 0.000 abstract description 9
- 238000012360 testing method Methods 0.000 abstract description 7
- 238000010276 construction Methods 0.000 abstract description 5
- 239000003795 chemical substances by application Substances 0.000 description 159
- 230000002265 prevention Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 16
- 238000011160 research Methods 0.000 description 15
- 230000008859 change Effects 0.000 description 11
- 238000013461 design Methods 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000004888 barrier function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000033228 biological regulation Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 210000004205 output neuron Anatomy 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000003912 environmental pollution Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 210000002364 input neuron Anatomy 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/0206—Control of position or course in two dimensions specially adapted to water vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开一种规则约束下基于深度强化学习的船舶避碰决策方法。该方法考虑船舶操纵特性,引入MMG模型,通过该模型推断船舶实时的航行信息。然后设计了分场景、考虑驾驶经验的状态空间和动作空间定义方法,并提出了避碰决策网络构建和训练框架。此外,为了充分考虑规则,设计了一套分层的奖励函数组合,并将其用于后期决策网络的训练。随后通过引入DQN算法,构建了避碰决策网络训练模型,并经过大量的训练获得了可适用于不同场景的避碰决策网络。最后,为了验证所提方法的适用性,设计了多种仿真测试场景进行了综合性能评价。该方法能够使船舶在复杂环境下安全避碰,同时保证其符合规则和良好船艺的要求。
Description
技术领域
本发明涉及船舶避碰决策技术领域,具体为一种规则约束下基于深度强化学习的船舶避碰决策方法。
背景技术
近年来,由于理论和技术的发展,无人船的研究得到了极大的发展。与此同时,一些无人船已经被用于许多海事任务,包括环境监测、海洋运输、海岸调查和遥感等。然而随着无人船应用场景的不断复杂,无人船舶航行面对的风险也不断增加,使无人船发生海上事故的可能性也随之增加。而在各类海上事故中,船舶碰撞是最常见的事故类型,而且碰撞事故往往会造成严重的人员伤亡、巨大的财产损失和环境污染。因此,智能避碰技术已成为无人船研究中的一项核心技术。
当前,关于船舶智能避碰算法的研究已经有很多。例如,人工势场法、速度障碍算法、动态窗口法和启发式算法等在以往的研究中已经被广泛应用。同时,人工智能技术的进步,特别是强化学习,由于其在决策问题上的明显优势,为船舶避碰问题提供了一种新的解决思路。此外,在船舶避碰过程中,为了保持与其他船舶操作间的协调性,所有船舶都必须遵守《国际海上避碰规则》(以下简称“避碰规则”)和良好船艺的要求。因此,在实际航行情况下,避碰规则和良好船艺是避碰算法中需要考虑的重要因素。
由于强化学习方法具有良好的自学习能力,因此被广泛应用于解决复杂的顺序优化决策问题(Sutton和Barto,2017)。同时,强化学习方法对未知环境有极强的理解作用,在解决高度复杂的船舶避碰问题方面具有很大的潜力。此外,与现有的避碰方法相比,强化学习方法在抗干扰能力和决策时效性方面具有明显优势。
然而,大量现有的基于强化学习方法的船舶避碰研究多集中在模型的优化上,算法中缺乏对避碰规则和良好船艺的全面解释。更准确地说,这些研究采用了一套统一的奖励函数来评估不同会遇场景下智能体(船舶)的避让动作的回报值,而没有充分考虑到避碰规则对于不同会遇场景的避碰要求实际存在明显的差异性,这种差异性在奖励函数设置过程中也没有得到良好的体现。除此之外,当前基于强化学习的船舶避碰方法研究中,研究者往往会设置一个统一的决策网络,并利用一套奖励函数对该决策网络进行训练,训练完成后即将该网络作为所有会遇场景下的船舶避让决策网络。但如以上所述,由于避碰规则对不同会遇场景的避让要求存在差异性,因此这种利用统一的奖励函数来训练一个决策网络的船舶避碰决策框架并不能完全满足避碰规则对于不同会遇场景中的船舶避让要求。
发明内容
为克服上述现有技术的不足,本发明提供一种规则约束下基于深度强化学习的船舶避碰决策方法,用以解决上述至少一个技术问题。
本发明是通过以下技术方案予以实现的:
一种规则约束下基于深度强化学习的船舶避碰决策方法,包括:
识别会遇场景;
针对识别出的会遇场景,使用与该会遇场景对应的决策网络执行船舶避碰决策,其中,与该会遇场景对应的决策网络由该会遇场景所对应的奖励函数训练得到,且所述奖励函数是结合针对该会遇场景的避碰规则来设置;
输出应该执行的避碰动作。
上述技术方案通过划分不同的会遇类型提供了一个新的决策框架,提供了分层的奖励函数设置方法,并针对不同会遇场景定义了相应的奖励函数组合,充分考虑了船舶航行安全、避碰规则和良好船艺,从而为强化学习方法在船舶智能避碰中的实际应用奠定基础。
作为进一步的技术方案,根据避碰规则对不同会遇场景的动作约束情况,将所有的会遇场景划分为N种类型,并针对各个会遇类型设置对应的奖励函数,形成N种奖励函数;其中,每一奖励函数用于训练一决策网络。
上述技术方案对船舶典型会遇场景进行划分,针对不同会遇场景,考虑避碰规则的相应要求,针对性的设置奖励函数与网络结构,且每个场景中的奖励函数仅用于该场景决策网络训练。这种设计模式下训练的决策网络将会充分考虑不同会遇场景中避碰规则的特定要求,从而根据会遇场景的不同,制定出更加符合避碰规则的避让方案,算法的实用性也更强。
作为进一步的技术方案,所述方法进一步包括:构建船舶运动模型,用于建立船舶当前状态与下一时刻状态之间的转换关系。
上述船舶运动模型表述了船舶舵角变化与运动参数之间的对应关系。船舶操纵的舵角信息为模型的输入,模型的输出信息为船舶实时的运动参数(纵向速度v,横向速度u,首摇角速度r)。
作为进一步的技术方案,根据会遇场景的不同,定义三种状态空间,分别为多船会遇、两船会遇及静态障碍物避让场景中的状态空间;其中,多船会遇场景中的状态空间由4部分组成且包含22个元素,两船会遇场景中的状态空间由3部分组成且包含8个元素,静态障碍物避让场景中的状态空间由3部分组成且包含6个元素。
上述技术方案通过考虑不同会遇场景特点构建新的状态空间,并在其基础上进行不同会遇场景下的决策网络构建和训练。
作为进一步的技术方案,考虑海员在实际避碰中的操纵习惯,基于舵角构建离散的动作空间,该动作空间是一个范围在-35°到35°且包含11个元素的向量,其中每个元素均代表船舶在避让障碍物过程中备选的舵角。
上述技术方案中的这些元素的选择充分考虑了航海经验,因为驾驶员通常只在非常紧急的情况下才会选择执行左满舵或右满舵,而通常情况下驾驶员一般更趋向执行一个适中的舵角。
通过构建状态空间和动作空间,来构建一个状态与动作之间的映射关系,即当船舶从环境中观测到一个状态时,可以执行一个使未来回报最高的避碰动作。
作为进一步的技术方案,在船舶从环境中识别到会遇场景后,将船舶观测到的空间状态作为该会遇场景对应决策网络的输入,将动作空间中每个动作所对应的未来回报作为决策网络的输出;然后船舶选择对应未来回报最高的一个动作来执行。
作为进一步的技术方案,所述奖励函数分层设置,其中,第一层是基础层,基础层中定义的奖励函数考虑船舶避碰过程中的安全性、通用的操船经验及良好船艺,所有的船舶会遇场景都需要执行该基础层中的奖励函数;第二层是规则层,规则层中定义的奖励函数针对避碰规则对不同会遇场景的避让要求进行设计,该规则层中的奖励函数并不需要船舶全部去执行,仅需要按照实际的会遇场景选择相应的奖励函数进行执行;船舶最终获得的奖励函数值是基础层与规则层奖励函数的总和。
奖励是对船舶所执行动作的量化评价。船舶将根据其从环境中获得的奖励反馈不断优化其动作选择,并最终可以按照预期完成任务。上述技术方案使船舶在满足避碰规则的前提下,通过控制自身舵角变化来实现其与其他船舶之间的避碰,并尽可能少地偏离原航向。
上述技术方案通过分层的奖励函数来对船舶在不同会遇状态下的避让行为进行评价和约束,从而确保了船舶在确保航行安全的基础上,可以在不同会遇场景中严格遵守避碰规则的相应限制。
作为进一步的技术方案,基础层中定义的奖励函数包括目标奖励函数、前进奖励函数、碰撞奖励函数、舵角奖励函数和偏航奖励函数。
作为进一步的技术方案,规则层中定义的奖励函数包括直航船奖励函数、让路船奖励函数、对遇场景奖励函数、交叉会遇场景奖励函数和追越场景奖励函数。
作为进一步的技术方案,在分层奖励函数组合的基础上,引入DQN算法对决策网络进行训练。
与现有技术相比,本发明的有益效果在于:
(1)本发明旨在提供一种符合船舶避碰规则的智能避碰方法以保障无人船航行安全,并据此提出了一种基于深度强化学习的避碰决策框架。首先提出了一种考虑不同会遇场景特点的状态空间和避碰决策网络结构设计方法,并将其作为避碰框架的基础。然后,建立了一套分层的奖励函数来对船舶在不同会遇状态下的避让行为进行评价和约束,从而确保了船舶在确保航行安全的基础上,可以在不同会遇场景中严格遵守避碰规则的相应限制。在分层奖励函数组合的驱动下,进一步引入了DQN算法对所提出的避碰决策框架进行训练。在训练过程结束后,进行了多项仿真实验来评估决策框架的实用性。结果表明,该框架能够在不同的船舶会遇场景中有效地完成避碰任务。
(2)本发明充分考虑了不同会遇场景下规则对于船舶避让动作的要求,及船舶的操纵性特征,针对不同的会遇场景分别设计了相应的奖励函数组合,这种设计方法将会针对性更强的考虑到避碰规则对不同会遇场景避让动作的特殊要求,同时通过改进避碰决策网络的构建、训练和决策方法,使得决策网络能够根据会遇场景的不同,提供更为符合避碰规则的避让行动方案,解决了当前相关研究中单一奖励函数组合难以适应避碰规则针对不同会遇场景避让动作要求存在差异性的问题。
附图说明
图1为根据本发明实施例的避碰算法训练框架改进前后对比示意图。
图2为根据本发明实施例的避碰算法决策框架改进前后对比示意图。
图3为根据本发明实施例的大地坐标系与随船坐标系示意图。
图4为根据本发明实施例的深度强化学习算法在船舶避碰问题中的应用原理图。
图5为根据本发明实施例基于避碰规则的目标船划分及其状态空间确定示意图。
图6为根据本发明实施例不同会遇场景下状态空间定位方法示意图。
图7为根据本发明实施例船舶(智能体)的动作选择过程。
图8为根据本发明实施例的奖励函数构成及不同会遇场景下使用的奖励函数组合示意图。
图9为根据本发明实施例基于DQN算法的避碰算法框架图。
图10为根据本发明实施例具有7个会遇场景的避碰训练框架改进前后对比示意图。
图11为根据本发明实施例具有7个会遇场景的的避碰决策框架改进前后对比示意图。
图12为根据本发明实施例的每个片段奖励函数值随训练次数的变化示意图。
图13为根据本发明实施例的避让静态障碍物的仿真结果示意图。
图14为根据本发明实施例的两船避碰仿真结果示意图。
图15为根据本发明实施例的多船避碰仿真结果示意图。
图16为根据本发明实施例直航船需要采取行动场景下的两船避碰仿真结果示意图。
图17为根据本发明实施例的船舶航速在前进方向上的投影示意图。
具体实施方式
以下将结合附图对本发明各实施例的技术方案进行清楚、完整的描述,显然,所描述发实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
本发明在充分考虑避碰规则约束和船舶动态特征的前提下构建了一种基于深度强化学习的船舶避碰决策框架。同时利用深度DQN算法对神经网络进行训练。在提出的避碰算法框架中,根据避碰规则对于船舶避碰动作的不同要求,船舶会遇场景被划分成了不同的类型,每种会遇类型都定义了与其对应的决策网络结构和专属的奖励函数组合。此外,本发明还利用一条实船的数据对提出的避碰框架进行了验证。
总体而言,本发明提出了一个基于深度强化学习方法的船舶避碰决策框架,这个框架细致的考虑了不同会遇场景下避碰规则对于船舶避让动作的要求,而且还考虑了船舶的操纵性特征。其次在算法细节上,设计了一套分层的奖励函数,与以往相关研究相比,本发明没有使用统一的奖励函数组合,而是针对不同的会遇场景分别设计了相应的奖励函数组合,这种设计方法将会针对性更强的考虑到避碰规则对不同会遇场景避让动作的特殊要求。最后,本发明还提出了一套改进的避碰决策网络构建、训练和决策方法,使得决策网络能够根据会遇场景的不同,提供更为符合避碰规则的避让行动方案,如图1和图2所示,其中的n是一个有限的常数。本发明提出的避碰决策框架将解决当前相关研究中单一奖励函数组合难以适应避碰规则针对不同会遇场景避让动作要求存在差异性的问题。
为了描述船舶的运动,建立船舶运动坐标系,如图3所示。在图中,XOY坐标系为大地坐标系,xoy坐标系为随船坐标系。xoy坐标系的原点是“o”,也就是船舶的重心;“O”是XOY坐标系的原点;X0、Y0分别为船舶重心在X轴和Y轴上的投影;ψ表示船舶的航向,δ表示船舶的舵角。
船舶在XOY和xoy坐标系中的位置和速度可以通过公式(1)和公式(2)相互转换:
其中A为转换矩阵,[X,Y]和[x,y]分别为船舶在坐标系XOY和xoy中的坐标,[X0,Y0]为坐标系xoy的原点“o”在XOY坐标系中的坐标值。
船舶在航行过程中将受到巨大的水动力影响。为了准确地刻画船舶的运动轨迹,在船舶位置信息计算更新时,需要考虑船舶的水动力特征。由于船舶的垂向运动基本不对船舶的航行轨迹产生影响,因此本发明主要研究船舶在水平维度上的运动。设xoy坐标系中的纵向速度为v,横向速度为u,首摇角速度为r,运动模型采用MMG模型可表示为公式(4)。
m是船体的质量,mx和my是船体沿x轴的附加质量和沿y轴的附加质量。XH、YH、XP、YP、XR、YR分别为船体、螺旋桨和舵在x轴和y轴上受到的外力。IZZ和JZZ是绕z轴的转动惯量。NH和NR是围绕船体和舵在z轴上的偏航力矩。
该模型表述了船舶舵角变化与运动参数之间的对应关系。船舶操纵的舵角信息为模型的输入,模型的输出信息为船舶实时的运动参数(纵向速度v,横向速度u,首摇角速度r)。所以船舶在xoy坐标系中的位置及航向信息可以通过公式(5)实时的被计算出来。其中x(0),y(0)和ψ(0)为船舶在xoy坐标系中的初始位置和航向。结合公式(2)、公式(4)和公式(5)则可以实时的计算出船舶在XOY坐标系下的位置、航向和速度。
船舶运动模型建立了船舶当前状态与下一时刻状态之间的转换关系。因此,船舶避碰问题可以定义为一个序列决策问题,该问题可以用马尔科夫决策过程(MDP)进行建模。
如图4所示,船舶(智能体)从起始状态s0出发,然后在策略的πθ(a|s)指使下选择一个可以最大化未来回报G=Σ∞k=0γkrk+1的动作a0∈A(s0)。A(s0)是智能体处于状态s0时可以选择的动作集合,πθ(a|s)代表当st=s时at=a的概率,即当智能体的状态为s时,其选择执行动作a的概率,γ是折损系数,γ∈[0,1]。需要注意的是,这里用到的策略πθ(a|s)是一个ε贪心策略,这种策略平衡了开发与探索之间的关系。其中“开发”是指智能体选择执行一个可以最大化奖励值的动作,而“探索”是指智能体随机的执行一个可能选择的动作,这种“探索”策略的增加可以防止算法陷入局部最优。当智能体完成了动作的选择,智能体将执行这个动作并进入一个新的状态s1,同时从环境中获得一个奖励反馈值r1。然后策略πθ(a|s)中的参数θ将根据环境奖励值得到更新。随后,智能体将继续执行上面的过程,直到他达到终止状态sn。通过与环境的持续交互,智能体将收敛到一个目标策略。在收敛到这个目标策略之后,智能体在执行动作时将不在采用ε贪心策略,而是直接选择可以最大化奖励函数值的动作,即只使用“开发”的策略。
状态空间是智能体对环境的观测结果,也是智能体选择执行动作的依据。根据会遇场景的不同,本发明分别提出了三种状态空间的定义方法。
(1)多船会遇
根据避碰规则,随着来船方位的不同,避碰的两船之间共存在三种会遇态势:追越、对遇和交叉。对于来自不同方位的来船,本船(本发明中为智能体)的避让责任可以利用图5来表述。需要注意的是,这里用到的坐标系为xoy坐标系(随船坐标系),即这些方位都是相对于智能体本身而言的,坐标系的原点是智能体的重心,智能体的探测距离根据一般航海经验选择为6海里。根据避碰规则,智能体对于不同区域的来船有不同的避让责任和行动要求,当智能体附近存在多艘来船时,本发明将利用论文(Zhao and Roh,2019)中的方法,选择每个区域中距离本船最近来船的信息组成输入状态STM。STM定义如公式(6)所示:
STM=[dTi,βTi,ψTi,vTi] (6)
其中,dTi是智能体与各区域中最近来船的距离,βTi是智能体与各区域中最近来船的相对方位,ψTi是各区域中最近来船的航向,vTi是各区域中最近来船的航速,i代表各区域的索引号。需要注意的是,dTi和βTi两组参数是相对于随船坐标系的,而另外两组参数的值为相对于大地坐标系的值。另外,当上面划分的四个区域中某一区域中不存在来船,该区域中目标船参数的四个元素都将被赋值为0,从而使这个区域将不对未来动作的执行产生任何影响。
然而,除了动态的目标船以外,智能体在航行过程中也可能与静态障碍物会遇。由于避碰规则中并没有对船舶避让静态障碍物时的动作进行约束,即对于任何区域中与船舶构成碰撞危险的静态障碍物,船舶都可以采用任意最有利于避免碰撞的行为进行避让,而不会因为静态障碍物所在区域不同而对船舶避让动作的选择产生影响。因此本发明选择所有与智能体构成碰撞危险的静态障碍物中距智能体最近的障碍物的状态SOM作为算法的输入信息之一。SOM的定义如公式(7)所示。
SOM=[dO,βO] (7)
其中,dO是障碍物与智能体之间的距离,βO是障碍物相对智能体的方位。
除去以上定义的来船状态STM和静态障碍物状态SOM,智能体自身的状态SAM和终点状态SDM也将会影响最终智能体动作的执行。因此,SAM和SDM分别被定义为公式(8)和公式(9)。
SAM=[ψA,vA](8)
SDM=[dD,βD](9)
其中,ψA是智能体的航向,vA是智能体的航速,dD是智能体和终点之间的距离,βD是终点相对智能体的方位。
因此,多船会遇场景下的状态空间SM共由STM、SOM、SAM和SDM四个部分组成,共包含22个元素。
(2)两船会遇
两船会遇场景下的状态空间定义方法与多船会遇场景中的定义方法类似。然而,因为静态障碍物的存在可能会影响船舶对避碰规则的正常执行,而避碰规则中的具体条款主要为针对两船场景所制定的,为了智能体可以完全执行避碰规则的避碰要求,本发明在两船会遇场景下的状态空间定义过程中将不考虑静态障碍物的存在。当存在静态障碍物影响时,其状态空间的定义方法可参考多船会遇场景。因此,两船会遇场景下的状态空间ST共由三部分组成,分别为目标船状态STT,智能体状态SAT,和终点状态SDT。STT定义方式如公式(10)所示,SAT和SDT的定义方式与其在多船会遇场景中的定义方式相同。因此,两船会遇场景中的状态空间共包含8个元素。
STT=[dT,βT,ψT,vT](10)
其中,dT是智能体和目标船之间的距离,βT是来船对智能体的相对方位,ψT是来船的航向,vT是来船的航速。
(3)静态障碍物避让
在这个场景中,避碰规则将不会对船舶的避碰动作做出任何的限制,船舶在避碰过程中仅仅需要根据障碍物及准备到达的终点的信息采取有效的避让动作即可。因此,该场景中的状态空间SS共包括三个部分,分别为静态障碍物状态SOS,智能体状态SAS和终点状态SDS。这些状态的定义方式与其在多船会遇场景中所介绍的定义方式相同,因此,该场景对应的状态空间共包括6个元素。
总体而言,多船会遇场景中的状态空间由4部分组成,共包含22个元素。两船会遇场景及静态障碍物避让场景都由三部分组成,分别包含8个和6个元素。状态空间的定义方法概括为图6所示。需要注意的是,状态空间中所包含的航向和航速信息都为相对大地坐标系的取值,而距离和方位信息为相对智能体的信息,即为随船坐标系中的取值。这些定义的状态空间将被作为输入信息输入到避碰决策网络之中。
船舶在避碰的过程中,驾驶员可以通过改变航向或航速来实现对障碍物(包括动态的来船和静态的障碍物)的避让。但是,由于船舶受到巨大的惯性影响,改变航速的方法往往并不能立即获得明显的效果。因此驾驶员一般会选择保持航速不变而仅仅通过改变航向来完成船舶之间的避碰。因为驾驶员可以通过控制舵角来实现对船舶航向的调整,所以本发明将舵角作为动作空间,并通过考虑驾驶员的操纵习惯,构建了一个离散的动作空间A,具体定义方式见公式(11)。
A=[-35°,-20°,-15°,-10°,-5°,0°,5°,10°,15°,20°,35°] (11)
其中,A是一个范围在-35°到35°之间包含11个元素的向量,每个元素代表智能体在避让障碍物过程中可以选择的舵角。这些元素的选择充分考虑了航海经验,因为驾驶员通常只在非常紧急的情况下才会选择执行左满舵或右满舵,而通常情况下驾驶员一般更趋向执行一个适中的舵角。
本发明研究的目的是构建一个状态与动作之间的映射关系,即当智能体从环境中观测到一个状态时,智能体可以执行一个使未来回报最高的避碰动作。因此,决策网络的输入即为智能体观测到的状态S。然而需要注意的是,决策网络的输出并不是智能体将要执行的动作,而是动作空间中每个动作所对应的未来回报Q。智能体将选择对应未来回报最高的一个动作来执行,从观测状态输入到动作输出的过程如图7所示。因此,决策网络的输出神经元个数与动作空间中包含的元素个数相同。
奖励是对智能体所执行动作的量化评价。智能体将根据其从环境中获得的奖励反馈不断优化其动作选择,并最终可以按照预期完成任务。本研究旨在使智能体在满足避碰规则的前提下,通过控制自身舵角变化来实现其与其他船舶之间的避碰,并尽可能少地偏离原航向。
根据海上避碰规则,智能体对不同方位的来船舶具有不同的避碰责任,应该执行的避碰动作也不尽相同。因此,本发明构建了一组分层的奖励函数。其中,第一层是基础层,该层中定义的奖励函数将主要考虑智能体避碰过程中的安全性、通用的操船经验及良好船艺,所有的船舶会遇场景都需要执行该层中的奖励函数。第二层奖励函数定义为规则层,该层中定义的奖励函数将主要针对避碰规则对不同会遇场景的避让要求进行设计,该层中的奖励函数智能体并不需要全部去执行,仅需要按照实际的会遇场景选择相应的奖励函数进行执行。智能体最终获得的奖励函数值是基础层与规则层奖励函数的总和。
(1)基础层
基础层中定义的奖励函数的主要目的是驱动智能体可以在不同会遇场景中找到一条既安全又经济的避碰路径。即其只考虑避碰安全性与经济性两个方面的要求。该奖励函数层共包括5个奖励函数,分别为目标奖励函数Rgoal,前进奖励函数Radvance,碰撞奖励函数Rcollision,舵角奖励函数Rrudder和偏航奖励函数Ryaw。每个奖励函数的含义和表示如下。
目标奖励函数Rgoal的定义是为了引导智能体不断接近终点。该奖励函数可以被定义为公式(12):
其中,distancegoal_t是智能体在t时刻距离终点的距离,γ0,rgoal和λgoal都是常数。当智能体靠近终点时,奖励函数值Rgoal为正值,若智能体远离终点,则奖励函数值Rgoal为负值。当智能体与终点之间的距离distancegoal_t小于γ0时,则认为智能体已经到达终点,并获得一个很大的奖励值rgoal。
另外,为了驱使智能体前向行驶,智能体在前向方向上的速度投影必须为正值。因此,前进奖励函数Radvance可以被定义为公式(13)的形式:
其中,Radvance代表前进奖励函数值,radvance是一个常数,vadvance_t是t时刻智能体在前进方向上的速度投影。速度投影vadvance_t的计算方式见图17和表3。当vadvance_t是正值时,智能体将获得一个正的奖励函数,当vadvance_t是负值时,智能体将会获得一个很小的负值奖励。
碰撞奖励函数Rcollision对于激励智能体顺利避开障碍物具有十分重要的作用,其定义方式可以表示为公式(14):
其中,distanceobstacle_t是智能体和周围障碍物之间的最小距离,γ1和rcollision是常数。当distanceobstacle_t小于γ1时,智能体会获得一个很小的负值奖励,当distanceobstacle_t不小于γ1时,智能体将不获得任何的奖励。
此外,为了避免过大的偏航同时保持一定的舵效,驾驶员一般会选择一个适中的舵角来避让障碍物。因此,本发明还设计了舵角奖励函数和偏航奖励函数,具体的定义形式分别如公式(15)和公式(16)所示。
其中,rudder angle_t是智能体在t时刻执行的动作,rrudder,μ1和μ2是常数,Syaw_t是智能体在t时刻的偏航距离,该距离可以通过公式(17)进行计算,Syaw_max是可以容忍的最大的偏航距离。
Syaw=|∫v×sin(θ0-θ1)dt| (17)
其中,v是智能体的实时速度,θ0和θ1的计算方法见图17和表3。
表3 vadvance的计算
θ0是船舶的航向,可以从船舶的实时信息中获取。θ2是船舶速度方向和前进方向之间的夹角,该值为一个正值。
(2)规则层
避碰规则对船舶在不同会遇场景下的责任进行了解释,并对船舶在不同会遇场景下应采取的避碰行为进行了详细的规定。根据这些要求,当船舶所处的会遇场景不同时,船舶应实施的避让方案也有很大的差异。然而,在以往的研究中,在设计与避碰规则相关的奖励功能时,往往没有充分考虑不同避让责任和会遇场景下智能体动作评价的差异性。另外,船舶避碰与其他领域的避碰研究(机器人避碰、车辆避碰)最大的区别即体现在船舶避碰中需要在避碰规则的约束下执行避碰动作,所以对于避碰规则的执行情况将直接决定避碰算法的实用性。
本发明在规则层中针对海上避碰规则设计了一组带有差异化的奖励函数,在奖励函数的设计过程中同时考虑了不同避让责任及不同会遇场景中规则对于船舶避碰动作的约束。这些奖励函数总体可分为五个不同维度:直航船奖励函数、让路船奖励函数、对遇场景奖励函数、交叉会遇场景奖励函数和追越场景奖励函数。需要注意的是,智能体并不需要执行规则层中所有的奖励函数,而是会根据自身的避让责任和所处的会遇场景来执行相应的奖励函数。规则层中五个维度的奖励函数定义如下:
(1)直航船
通过分析避碰规则第17条对于直航船避碰责任的描述可以发现,直航船的避碰责任会随着会遇形势的发展而变化。在碰撞风险形成的初期,直航船不需要采取行动。而如果让路船没有及时采取措施,直航船则应采取有效的避让措施。由于避碰规则并没有对直航船在避碰阶段应该执行的动作做明确的限定,所以本发明使用基础层中的奖励函数来对直航船的行动进行评价,及主要考虑避碰的安全性和船舶驾驶经验。然而,由于规则中明确规定在交叉相遇局面中,直航船应该避免对位于其左侧的船舶采取左转的避碰动作。所以本发明在直航船奖励函数设计中仅对这种情况制定了奖励函数Rstand-on-crossing来约束直航船行为,其定义方式如公式(18)所示。
在直航船不需要行动的会遇场景中,直航船只需要保持其速度和航向,而不需要判断要执行的舵角,所以本发明对于直航船不需要执行动作的场景不单独定义奖励函数。
(2)让路船
根据避碰规则第16条,避碰规则对于让路船的操纵要求主要包括三个方面:“早”、“大”和“宽”。其中,“早”是指让路船应该尽快采取行动;“大”是指让路船采取的动作必须是大幅度的,容易被来船明显识别的;“宽”是指让路船在避碰过程中必须与目标船舶保持足够的距离。根据以上要求,本发明在让路船奖励函数设计时共制定了三个相应的奖励函数:Rgive-way1,Rgive-way2和Rgive-way3。
Rgive-way1=-rearly·Δt(19)
其中,rearly,rsubstantial和rclear是三个奖励因子,Δt是智能体从探测到碰撞风险到采取避让行动之间的时间间隔;是智能体的航向变化,是可被船员察觉到的最小航向改变量,是可接受的航向改变的阈值,均可以通过咨询经验丰富的船长来获得具体参数取值;DCPA是智能体和目标船之间的最近距离,Dcol是智能体和目标船之间应保持的最小安全距离,Dpre是智能体和目标船之间的预警距离,Dpre大于Dcol,两者均根据航海经验获得。
(3)对遇
根据避碰规则第14条,在对遇情况下,避碰规则对船舶应该执行的避让动作要求一共包含两个方面:“向右转向”和“从对方的左舷驶过”。因此,本发明在对遇奖励函数设计时共制定了两个相应的奖励函数:右转奖励函数Rhead-on1和左舷通过奖励函数Rhead-on2。
其中,rstarboard和rpass是常数,βCPA是两船达到最近会遇点时目标船相对智能体的方位。
(4)交叉相遇
根据避碰规则第15条,在交叉相遇场景中,避碰规则对船舶应执行的避让动作要求主要体现为避免穿越他船的船头。基于这个限制,本发明在交叉相遇奖励函数设计时主要制定了避免穿越来船船头的奖励函数Rcrossing。
其中,rcrossing是一个常数,αCPA是两船达到最近会遇点时目标船相对智能体的方位。
(5)追越
避碰规则第13条规定了追越船的避让责任,但对于追越船应该执行的避让动作并没有做明确的限制。因此在追越场景中,本发明不定义特定的奖励函数,而是直接使用基础层中的奖励函数来对智能体的行动进行约束,即只确保避让过程的安全经济性,而不对智能体执行的避让动作进行明确限制。
如上所述,在决策网络训练时,智能体并不需要执行以上所制定的所有的奖励函数,而是会根据自身的避让责任和所处的会遇场景,执行与之相对应的奖励函数。
根据自身的避让责任和会遇态势,本发明将智能体需要执行避让动作的场景划分为七类:其中智能体为避让责任的场景共有五个,分别为避让静态障碍物、多船避让、对遇、追越和交叉相遇;智能体为直航责任的场景共有两个,分别为智能体为直航船但需要采取行动、智能体为直航船但需要采取行动且与来船构成交叉相遇态势。以上七类场景中各自应执行的奖励函数组合如图8所示。需要注意的是,本发明仅对智能体需要采取避让行动的会遇场景进行了分类,而并未考虑智能体为直航船且不需要执行避让动作的场景。因为根据避碰规则,在这种会遇场景中,智能体只需要保持其自身的航速和航向,而不需要对其需要执行的动作进行专门的决策。此外,不同会遇场景的定量判断方式和直航船应开始执行避让动作的时刻点计算方法可以参考(He et al.,2017)等的成果。
本发明引入深度Q网络(DQN)算法对所设计的避碰算法进行训练。DQN算法于2013年提出,在其初始算法的基础上,后期研究中学者们又引入了目标网络的概念,提高了训练的稳定性。如图9所示,DQN算法共包括5个部分:环境、损失函数、评估网络、目标网络和经验回放。需要注意的是,评估网络和目标网络是两个结构完全相同的神经网络,但评估网络中的参数在智能体执行完一个动作,即从当前状态进入下一时刻状态之后就会更新一次,而目标网络中的参数只有智能体在完成一条完成的片段,即智能体到达终止状态时才会进行一次更新。与传统的强化学习方法相比,DQN算法可以应用于连续状态空间问题。此外,经验重放的引入提高了数据利用效率和算法的学习速度。为了考虑船舶的水动力特性,本发明在算法框架中增加了一个MMG模型,该模型可以帮助智能体准确的计算其在各个时刻的状态。
在每个训练步长中,评价网络将会根据智能体的当前状态S输出一个近似的动作价值向量Q(S,a;θ),然后通过利用公式(25)中所示的ε贪心策略选择一个当前状态下智能体要执行的动作a。
然后,智能体将执行动作a,并利用MMG模型计算得下一时刻的状态S′,同时获得环境反馈的奖励值r。随后,经验条(S,a,r,S′)将会被保存在经验回放模块内,同时智能体会从经验回放模块中随机取样一个包含ξ条经验的经验集合(Si,ai,ri,S′i),该经验集合将被用作评价网络参数更新的数据集。然后,目标网络根据采样的经验集输出一个动作价值向量,该向量将被作为实际动作价值,其计算过程如公式(26)所示。
Ui=ri+γmaxa Q(Si',a;θ') (26)
为了更新网络参数,采用均方误差来计算实际动作价值与近似动作价值之间的误差,并将其作为损失函数,如公式(27)所示。
通过利用公式(28)的随机梯度下降策略,可以对损失函数的值不断进行优化,并直至函数收敛至一个稳定值。
经过以上几个过程的处理,评价网络的参数将获得一次更新,智能体的状态也从当前状态S过度到下一时刻的状态S′。
当智能体完成了一个完整的轨迹片段,即智能体到达了终止状态,目标网络的参数将会被评价网络的参数覆盖,从而目标网络的参数也获得了一次更新,如公式(29)所示。
θ'=θ (29)
算法:基于DQN的避碰算法
改进框架的一个优点是在状态空间的定义中充分考虑了不同会遇场景的特点。提出了一种分场景的状态空间定义方法。该方法提高了算法的适用性,也为构建和训练针对不同会遇场景的不同网络结构奠定了基础。
改进框架的另一个优点是,算法根据避碰规则对不同会遇场景的动作约束情况,将所有的会遇场景划分为7种类型,并构建了针对各个会遇类型的奖励函数组合来对决策网络进行训练。需要注意的是,发明中针对7种不同的会遇类型,分别构建了7个决策网络,每个决策网络都利用与之对应的奖励函数组合完成训练。这样的设计充分考虑了避碰规则对于不同会遇场景的避碰要求,解决了以往使用一套奖励函数训练决策网络、单一决策网络执行避碰决策而产生的对于避碰规则考虑不充分的问题,保证了避碰动作的规则符合性。改进框架与传统基于强化学习的船舶避碰框架对比框图见图10。
一旦训练过程完成,避碰决策框架将得到7个分别适用于不同会遇类型的避碰决策网络。当进行避碰时,智能体将首先判断自身所处的会遇类型,然后选择相应的神经网络进行决策。改进框架中每个会遇类型对应的决策网络均使用与会遇类型相对应的奖励函数完成训练,与使用单一决策网络对所有会遇场景进行决策相比,改进框架制定的避让方案将更全面的考虑避碰规则对于不同会遇态势的避让约束。智能体的避碰决策过程如图11所示。
实施例
本实施例的目的是训练一个智能体,使其可以在不同的会遇场景下都能够执行安全且符合规则要求的避碰动作。本发明实施例中使用的深度神经网络使用Tensorflowv2.2.0进行构建和训练。这些网络均为具有两个隐含层的全连接网络,网络的输入神经元和输出神经元个数分别等于状态空间和动作空间中所包含的元素个数。网络训练时使用的优化器为Adam优化器,使用的激活函数为Relu激活函数。算法其他超参数的设置如表1所示。
表1算法的超参数设置
在训练过程中,智能体将通过MMG模型来计算其实时的状态信息,并根据其状态转化情况从环境中获得相对应的奖励反馈。本发明在实验过程中使用的MMG模型参数取自一艘实船的数据,其部分主要参数如表2所示。需要注意的是,为了降低运算量,在仿真实验过程中,智能体的状态每20s更新一次。
表2主要的船舶参数
为了对避碰框架中的神经网络进行有效的训练,每个决策网路都在其对应的会遇场景下进行了大量的训练。图12描述了复杂的多船会遇场景下的网络训练结果。在图12中,曲线描绘了每个片段奖励函数值的变化情况,图中的横坐标为训练次数,纵坐标为动态窗口为50的平均奖励函数值,网络训练过程中共持续了5000次。从图中可以发现,随着迭代次数的增加,平均奖励函数也不断增加,并最终收敛到一个稳定的值,即策略π也收敛到了最终策略。
为了验证所提出避碰框架的有效性,本发明利用PyCharm构建了各种复杂的仿真案例。其中包括避让静态障碍物场景、两船会遇场景、多船会遇场景及直航船需要采取行动的场景四个。需要注意的是,仿真实验中避让责任的确定、会遇场景的划分都是从智能体的角度出发。此外,为了提高运算速度,智能体的初始位置和终点都预先设定在了可以接受的范围之内。
(1)静态障碍物避让
在这个场景中,测试区域的中心设置了一个孤立的静态障碍物。测试区域的大小设置为6×6nmile,测试区域的下边界中点为智能体的起始位置点,测试区域上边界的中点为智能体航行任务的终点。当智能体到达终点周围半径为1000m的扇形区域时,则认为该智能体已完成任务。智能体的初始航向被设置为0°,即智能体若要到达终点,必须要经过障碍物所在的区域。智能体与障碍物之间需要保持的最小安全距离设置为1000m。
如图13所示的船舶轨迹,智能体在安全避开障碍物的同时找到一条通向目标区域的轨迹,其中1表示舵角,2表示航向,3表示距离。这条轨迹相对平滑,没有大幅度的航向变化。在仿真结果中,智能体在起始位置执行了一个明显的避让操作,使得其自身的航向不再与障碍物相交。在新航向航行一段时间后,为了控制偏航距离,智能体执行了一个向左的舵角,并逐渐回到其初始航向。随着智能体不断向目标区域接近,智能体又执行了一个左转的动作,并最终进入目标区域。从图13右侧的避让信息可以发现,智能体与终点之间的距离随时间的增加基本呈现线性减小的趋势。智能体与障碍物之间的距离经历了先减小后增大的过程。在整个航行过程中,智能体与障碍物之间的最小距离为2025m,出现在44×20s。根据分析,该距离略大于之前设置的最小安全距离阈值,一定程度上增加了智能体的偏航成本。但分析认为,这是因为若智能体与障碍物发生碰撞,那么智能体所获得的惩罚值将远大于偏航所产生的惩罚值。因此,为了保证航行安全,智能体在绕过障碍物时更倾向于保持一个相对较大的距离,这种现象在之后各场景的模拟实验中也存在。
(2)两船会遇场景
与避让静态障碍物不同,在避让动态目标船舶时,智能体执行的避让机动不仅应确保避碰的安全性,并且需要符合避碰规则的相关要求。本节共设置了三种典型的两船会遇场景,包括“对遇”、“追越”和“交叉相遇”。智能体和目标船分别从各自的起始位置出发,当避碰完成时,测试任务也将同时终止。根据航海经验,两艘船之间需要保持的最小安全距离设置为1海里。不同会遇场景的仿真结果如图14所示,其中1表示对遇,2表示追越,3表示交叉相遇。
在“对遇”场景中,一艘目标船以相反的航向接近智能体,目标船的航速与智能体相同。根据避碰规则,在“对遇”场景中,两艘船都是让路船。因此,当碰撞风险被检测到时,两船同时选择了向右转向,各自从对方的左舷通过。当碰撞风险消失时,两船最终又回到了自身的原航向。在实验结果中,两艘船都进行了较大幅度的机动,以确保自身的意图能够被另一艘船清楚地检测到,这符合避碰规则中对于让路船避让行动的要求。此外,在整个避让过程中两船之间都保持了足够的安全距离。
在“追越”场景中,目标船和智能体都向正北行驶,智能体从后面追越目标船。根据避碰规则的规定,在“追越”场景中,后面追越的船舶应该主动执行避碰动作,选择从目标船的左侧或右侧完成追越。在该仿真实验中,智能体选择了从目标船的右侧追越,并且在整个避让过程中都保证了预定义的安全距离1mile以上。由于追越过程中两船的相对速度较低,整个避碰过程的执行时间较长,但最终智能体会完成追越并返回初始航向。同时,智能体的转向过程变化平稳,没有急剧的航向变化,这与船舶的动态特性是一致的。
在“交叉相遇”场景中,目标船从智能船右舷正横前45°方向接近,其航速与智能体航速相同。根据避碰规则,在“交叉相遇”场景中,居左的船舶应给居右的船舶让路,若情况允许,让路船应该避免穿越直航船的船首。因此,在该实验场景中,智能体选择了向右转向的动作,并从来船的船尾驶过让清。在整个避让过程中,智能体和来船之间一直保持有足够的安全距离。当智能体与来船完成避让任务后又重新恢复到原来的航向之上。
(3)多船会遇场景
在该实验场景中,一个更为复杂的、涉及三艘船舶的实验场景被设置,智能体需要在考虑避碰规则和良好船艺的前提下完成对两艘来船的避让。实验场景中各艘船舶的初始位置和航向都是预先设定的,如果智能体不采取任何避让措施,那么碰撞将不可避免。智能体与来船之间的最小安全距离仍取经验值1海里。
图15为多船避碰场景的仿真结果,其中1表示舵角,2表示航向,3表示距离。在该实验场景中,两艘目标船被定义在智能体的右舷侧。对于多船会遇场景,避碰规则中并没有制定具体的避让动作约束,而仅要求船舶在进行避让时需要考虑良好船艺。根据图15所示的轨迹,在初始时刻智能体选择保持最初的航向,但随着与目标船1距离的减小,智能体执行了向右舷的舵角。由于智能体检测到目标船2的碰撞风险,它没有立即返回到原来的航向,而是选择在新的航向上继续航行。当碰撞风险完全消失后,智能体选择了一个左转的舵角,并返回到原来的航向。在执行避碰的过程中,智能体所执行的两个避碰动作的幅度都是较为适中的,并没有因为场景复杂而采用满舵的极端操作。在整个避让过程中,智能体最大的航向变化达73°,完全可以让目标船清晰的辨识出智能体的避让意图。同时,该智能体的航行轨迹非常平滑,这是因为算法模型中充分考虑了船舶的操纵性特征。此外,智能体选择向右侧转向,与目标船会左舷通过,也符合良好船艺的相关要求。智能体与两艘目标船之间的最小距离分别为3216米和3878米,均能满足安全性要求。
(4)直航船需采取行动的会遇场景
无人船在海上航行时将会受到大量的环境不确定性影响。有时,由于某些无法控制的原因,让路船并不能立即采取避让动作。从而使两船之间的距离越来越小,碰撞风险也越来越大。在这种情况下,避碰规则要求直航船应放弃直行的权利,并采取最有助于避免碰撞的行动来避免事故发生。为了验证避碰框架对该场景的有效性,本发明设置了一个如图16所示的交叉会遇场景,其中1表示舵角,2表示航向,3表示距离。
图16为该实验场景的避碰仿真结果。在初始时刻,智能体的左舷有一艘目标船驶来,根据避碰规则,局左的目标船为让路船,智能体需要保持初始航向和航速。然而,由于一些未知的原因,随着两船距离的不断靠近,目标船明显并没有按照避碰规则的要求及时采取避碰动作。因此,智能体决定通过其单独的机动来避免碰撞的发生。在仿真实验中,智能体首先执行了一个大幅度右转的动作,从而使两船之间的碰撞风险迅速得到缓解,同时这个大幅度的动作也使目标船清晰的识别出了智能体的避碰意图。另外根据避碰规则的规定,在这种交叉会遇场景中,若情况允许,直航船在执行避让动作时应避免向位于左舷的船舶采取向左转向的避让动作。从仿真实验结果中可以发现,智能体充分考虑了避碰规则的相关要求。此外智能体的航向变化十分平缓,没有出现大幅度的波动,并最终返回到原始航向。智能体与目标船之间的最小距离约为1949m,大于规定的阈值。
本发明提出了一种基于深度强化学习的避碰方法。为了考虑船舶操纵特性,引入了MMG模型,通过该模型可以推断船舶实时的航行信息。然后,设计了分场景、考虑驾驶经验的状态空间和动作空间定义方法,同时提出了一种新的避碰决策网络构建和训练框架。此外,为了充分考虑规则,设计了一套分层的奖励函数组合,并将其用于后期决策网络的训练。随后,通过引入DQN算法,构建了避碰决策网络训练模型,并经过大量的训练获得了可适用于不同场景的避碰决策网络。最后,为了验证所提方法的适用性,设计了多种仿真测试场景,并进行了综合性能评价。仿真结果表明,该方法能够使船舶在复杂环境下安全避碰,同时保证其符合避碰规则和良好船艺的要求。该方法为无人船避碰问题提供了一种新的解决思路。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案。
Claims (10)
1.一种规则约束下基于深度强化学习的船舶避碰决策方法,其特征在于,包括:
识别会遇场景;
针对识别出的会遇场景,使用与该会遇场景对应的决策网络执行船舶避碰决策,其中,与该会遇场景对应的决策网络由该会遇场景所对应的奖励函数训练得到,且所述奖励函数是结合针对该会遇场景的避碰规则来设置;
输出应该执行的避碰动作。
2.根据权利要求1所述一种规则约束下基于深度强化学习的船舶避碰决策方法,其特征在于,根据避碰规则对不同会遇场景的动作约束情况,将所有的会遇场景划分为N种类型,并针对各个会遇类型设置对应的奖励函数,形成N种奖励函数;其中,每一奖励函数用于训练一决策网络。
3.根据权利要求1所述一种规则约束下基于深度强化学习的船舶避碰决策方法,其特征在于,所述方法进一步包括:构建船舶运动模型,用于建立船舶当前状态与下一时刻状态之间的转换关系。
4.根据权利要求1所述一种规则约束下基于深度强化学习的船舶避碰决策方法,其特征在于,根据会遇场景的不同,定义三种状态空间,分别为多船会遇、两船会遇及静态障碍物避让场景中的状态空间;其中,多船会遇场景中的状态空间由4部分组成且包含22个元素,两船会遇场景中的状态空间由3部分组成且包含8个元素,静态障碍物避让场景中的状态空间由3部分组成且包含6个元素。
5.根据权利要求1所述一种规则约束下基于深度强化学习的船舶避碰决策方法,其特征在于,考虑海员在实际避碰中的操纵习惯,基于舵角构建离散的动作空间,该动作空间是一个范围在-35°到35°且包含11个元素的向量,其中每个元素均代表船舶在避让障碍物过程中备选的舵角。
6.根据权利要求4或5所述一种规则约束下基于深度强化学习的船舶避碰决策方法,其特征在于,在船舶从环境中识别到会遇场景后,将船舶观测到的空间状态作为该会遇场景对应决策网络的输入,将动作空间中每个动作所对应的未来回报作为决策网络的输出;然后船舶选择对应未来回报最高的一个动作来执行。
7.根据权利要求1所述一种规则约束下基于深度强化学习的船舶避碰决策方法,其特征在于,所述奖励函数分层设置,其中,第一层是基础层,基础层中定义的奖励函数考虑船舶避碰过程中的安全性、通用的操船经验及良好船艺,所有的船舶会遇场景都需要执行该基础层中的奖励函数;第二层是规则层,规则层中定义的奖励函数针对避碰规则对不同会遇场景的避让要求进行设计,该规则层中的奖励函数并不需要船舶全部去执行,仅需要按照实际的会遇场景选择相应的奖励函数进行执行;船舶最终获得的奖励函数值是基础层与规则层奖励函数的总和。
8.根据权利要求7所述一种规则约束下基于深度强化学习的船舶避碰决策方法,其特征在于,基础层中定义的奖励函数包括目标奖励函数、前进奖励函数、碰撞奖励函数、舵角奖励函数和偏航奖励函数。
9.根据权利要求7所述一种规则约束下基于深度强化学习的船舶避碰决策方法,其特征在于,规则层中定义的奖励函数包括直航船奖励函数、让路船奖励函数、对遇场景奖励函数、交叉会遇场景奖励函数和追越场景奖励函数。
10.根据权利要求7所述一种规则约束下基于深度强化学习的船舶避碰决策方法,其特征在于,在分层奖励函数组合的基础上,引入DQN算法对决策网络进行训练。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210446491.7A CN114895673A (zh) | 2022-04-26 | 2022-04-26 | 一种规则约束下基于深度强化学习的船舶避碰决策方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210446491.7A CN114895673A (zh) | 2022-04-26 | 2022-04-26 | 一种规则约束下基于深度强化学习的船舶避碰决策方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114895673A true CN114895673A (zh) | 2022-08-12 |
Family
ID=82720595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210446491.7A Pending CN114895673A (zh) | 2022-04-26 | 2022-04-26 | 一种规则约束下基于深度强化学习的船舶避碰决策方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114895673A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115410420A (zh) * | 2022-10-31 | 2022-11-29 | 河北东来工程技术服务有限公司 | 一种船舶安全航行管理方法和系统 |
CN116050136A (zh) * | 2023-01-28 | 2023-05-02 | 中国船级社 | 一种智能船舶测试场景库的生成方法、装置及设备 |
CN116382304A (zh) * | 2023-05-26 | 2023-07-04 | 国网江苏省电力有限公司南京供电分公司 | 基于dqn模型的多巡检机器人协同路径规划方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880549A (zh) * | 2020-09-14 | 2020-11-03 | 大连海事大学 | 面向无人船路径规划的深度强化学习奖励函数优化方法 |
WO2021082864A1 (zh) * | 2019-10-30 | 2021-05-06 | 武汉理工大学 | 一种基于深度强化学习的群无人艇智能避碰方法 |
CN113096446A (zh) * | 2021-03-30 | 2021-07-09 | 武汉理工大学 | 混合航行场景下的多船避碰决策方法、存储介质及处理器 |
-
2022
- 2022-04-26 CN CN202210446491.7A patent/CN114895673A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021082864A1 (zh) * | 2019-10-30 | 2021-05-06 | 武汉理工大学 | 一种基于深度强化学习的群无人艇智能避碰方法 |
CN111880549A (zh) * | 2020-09-14 | 2020-11-03 | 大连海事大学 | 面向无人船路径规划的深度强化学习奖励函数优化方法 |
CN113096446A (zh) * | 2021-03-30 | 2021-07-09 | 武汉理工大学 | 混合航行场景下的多船避碰决策方法、存储介质及处理器 |
Non-Patent Citations (2)
Title |
---|
刘克中等: "A COLREGs-compliant collision avoidance decision approach based on deep reinforcement learning", 《JOURNAL OF MARINE SCIENCE AND ENGINEERING》, 9 July 2022 (2022-07-09) * |
周双林;杨星;刘克中;熊勇;吴晓烈;刘炯炯;王伟强;: "规则约束下基于深度强化学习的船舶避碰方法", 中国航海, no. 03, 25 September 2020 (2020-09-25) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115410420A (zh) * | 2022-10-31 | 2022-11-29 | 河北东来工程技术服务有限公司 | 一种船舶安全航行管理方法和系统 |
CN115410420B (zh) * | 2022-10-31 | 2023-01-20 | 河北东来工程技术服务有限公司 | 一种船舶安全航行管理方法和系统 |
CN116050136A (zh) * | 2023-01-28 | 2023-05-02 | 中国船级社 | 一种智能船舶测试场景库的生成方法、装置及设备 |
CN116050136B (zh) * | 2023-01-28 | 2023-07-21 | 中国船级社 | 一种智能船舶测试场景库的生成方法、装置及设备 |
CN116382304A (zh) * | 2023-05-26 | 2023-07-04 | 国网江苏省电力有限公司南京供电分公司 | 基于dqn模型的多巡检机器人协同路径规划方法及系统 |
CN116382304B (zh) * | 2023-05-26 | 2023-09-15 | 国网江苏省电力有限公司南京供电分公司 | 基于dqn模型的多巡检机器人协同路径规划方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Svec et al. | Dynamics-aware target following for an autonomous surface vehicle operating under COLREGs in civilian traffic | |
CN114895673A (zh) | 一种规则约束下基于深度强化学习的船舶避碰决策方法 | |
Statheros et al. | Autonomous ship collision avoidance navigation concepts, technologies and techniques | |
CN113759939B (zh) | 一种受限水域智能航行方法及装置 | |
Guan et al. | Autonomous collision avoidance of unmanned surface vehicles based on improved A-star and dynamic window approach algorithms | |
CN113096446B (zh) | 混合航行场景下的多船避碰决策方法、存储介质及处理器 | |
Deraj et al. | Deep reinforcement learning based controller for ship navigation | |
Wang et al. | Cooperative collision avoidance for unmanned surface vehicles based on improved genetic algorithm | |
He et al. | Dynamic adaptive intelligent navigation decision making method for multi-object situation in open water | |
Li et al. | Distributed multi-objective algorithm for preventing multi-ship collisions at sea | |
Perera et al. | Possible COLREGs failures under digital helmsman of autonomous ships | |
CN116360434A (zh) | 基于改进的csac-apf算法的船舶路径规划方法 | |
Yang et al. | Parallel trajectory planning for shipborne Autonomous collision avoidance system | |
Sun et al. | Collision avoidance control for unmanned surface vehicle with COLREGs compliance | |
Zhao et al. | Decision-making for the autonomous navigation of USVs based on deep reinforcement learning under IALA maritime buoyage system | |
Wang et al. | A distributed model predictive control using virtual field force for multi-ship collision avoidance under COLREGs | |
Chen et al. | Tracking controller for ship manoeuvring in a shallow or confined fairway: Design, comparison and application | |
Wenming et al. | A dynamic collision avoidance solution scheme of unmanned surface vessels based on proactive velocity obstacle and set-based guidance | |
Waltz et al. | Spatial–temporal recurrent reinforcement learning for autonomous ships | |
Chen et al. | Controlling a cargo ship without human experience using deep Q-network | |
Yuan et al. | EMPMR berthing scheme: A novel event-triggered motion planning and motion replanning scheme for unmanned surface vessels | |
Yu et al. | Dynamic adaptive autonomous navigation decision-making method in traffic separation scheme waters: A case study for Chengshanjiao waters | |
Higo et al. | Development of trajectory-tracking maneuvering system for automatic berthing/unberthing based on double deep Q-network and experimental validation with an actual large ferry | |
Waltz et al. | 2-level reinforcement learning for ships on inland waterways | |
Cui et al. | Collision avoidance decision-making strategy for multiple USVs based on Deep Reinforcement Learning algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |