APP下载

复杂开放水域下智能船舶路径规划与避障方法

2022-08-11杨琪森王慎执桑金楠王朝飞宋士吉

计算机集成制造系统 2022年7期
关键词:障碍物航行决策

杨琪森,王慎执,桑金楠,王朝飞,黄 高,吴 澄,宋士吉

(清华大学 自动化系,北京 100084)

0 引言

自《中国制造2025》[1]颁布以来,我国智能制造技术发展的步伐明显加快,“十四五规划”进一步将智能制造和绿色制造确定为我国制造业优化升级的重点方向。现阶段,我国船舶行业面临大而不强的局面,与造船业国际先进水平仍然存在明显差距。无论是从供给侧结构性改革来看,还是从抢占未来发展制高点来看,智能化都是我国船舶制造和航运领域实现高质量发展的必由之路。智能驾驶是智能船舶的一项核心技术,通过自动感知、自动计算处理等技术,辅助人工或自主实施决策,执行船舶航行任务。智能驾驶技术可以显著减少每艘船舶的平均在船人数,充分节省人员成本,并有效减少由于人为疏忽所导致的安全事故等[2]。在技术更加成熟的情况下,甚至可以实现无人驾驶、自主航行。无人驾驶船舶除了具有降低人工成本、节能降耗、减少事故等优点外,还可以在复杂的水况下执行高难度、高危险性的任务,如海防巡逻、极险科考、监控搜救等,在军事、科考、救援等领域有着巨大的应用价值。

船舶智能驾驶系统主要分为环境及航行态势感知、认知计算及决策和船只航行控制等主要子系统,其中认知计算及决策子系统是目前船舶智能驾驶系统相关研究的重点,而路径规划和避障是该子系统构建与开发中的核心问题[3]。路径规划问题是针对船舶的当前位置与目标位置,在一定的限制条件下(如考虑已知的航行禁区和障碍等),结合外界环境与船舶自身情况,达到航行路径上相应指标(如航程、资源消耗量、时间等)或综合指标的最优化或相对优化[4]。避障问题则是在航行过程中,对于传感系统实时检测到的未知动态环境中的障碍物进行躲避,并进行局部路径及船只行为的调整与规划[5]。总体而言,智能船舶路径规划和避障的目标可定义为:根据已知的环境和航行状态信息以及实时探测到的动态信息[6],在与他船、动态及静态障碍、航行禁区等保证安全距离的情况下,做出相应的航行决策,在最短时间、或最短路程、或最低能耗、或最优化某一指标、或最优化综合指标的情况下从当前区域到达目标区域。

目前,智能船舶的路径规划与避障主要分为传统方法和智能化方法两大类[7]。传统方法一般指确定性方法,旨在通过分析船只在每个决策时刻所获取的融合信息,在决策层面给出一个由人为制定规则的、可以自动执行的确定性的完备解。传统方法的核心在于人为的根据问题场景所制定的决策规则,其关键因素包括算法框架与实现框架。常见的算法框架包括昆虫算法(BUG)、快速探索随机数算法(Rapid-exploration Random Tree, RRT)、确定搜索、规划、布线、模糊决策等,实现框架包括决策树、树或图搜索等方法。根据算法框架来分,传统方法主要分为两种路线:①不借助全局信息,实时与环境交互进行决策;②利用全局信息预先进行路径规划,再进入实际场景直接执行或微调。因为船舶避障的最优路径受很多重要因素的影响,如航行环境条件、国际海上避碰规则等,其中大多是定性的抽象因素,很难用确定的数理方法来量化,而航行过程中又常常会遇到突发的障碍等情况,很难通过人为制定的规则做到完全合理的覆盖,所以确定性方法具有明显的局限性。

智能化方法是指随机搜索算法、深度学习和强化学习这类方法,它们通过在预先计算得到的无碰撞区域进行优化,或者直接在优化目标中考虑碰撞约束来实现动作的实时决策。相较确定性方法,智能化方法对于处理抽象和定性的影响因素具有较好的效果,更加适用于船舶的路径规划与避障系统。近年来,深度学习和强化学习相关理论与技术的进步给智能化方法的发展提供了新的空间[8]。深度学习具有强大的数据分析和知识感知能力,可以从大量的多模态信息中获取有用的知识。强化学习不需要先验知识,通过智能体与环境的交互,以最大化累计收益为目标,学习最优策略。深度强化学习结合深度学习的感知能力与强化学习的决策能力,在复杂动态环境下的路径规划与实时避障方面取得了一系列成就[9-10]。对比于传统方法在复杂环境中的局限性,深度强化学习方法展现出了更高的实时性与决策能力。基于深度强化学习的方法可以通过黑箱的模式完成由多信道信息端到决策行为结果端的映射,而不需要通过人为制定的规则来分别进行多信道信息融合与基于融合信息的决策分析,且这类方法在理论上可以包含任何的确定性决策分支,给船舶决策的完备性和安全性带来更加坚实的保障。

结合理论与实际场景分析,本文将船舶航运中的路径规划与实时避障环境进行数学建模,抽象成为算法模型,并引入了强化学习理论和方法。在仿真实验中,针对不同的环境复杂度,本文分析、验证并比较了传统方法和智能化方法的可行性、有效性和优劣性。实验显示,深度强化学习方法在不同场景下均展现出超越传统方法的优秀决策能力。

1 研究进展

1.1 船舶的路径规划和避障的传统方法

确定性算法中成熟的解决方案出现于20世纪90年代。确定性算法的一般逻辑为:在已知全局信息或相当充足的局部信息的情况下,根据实际需求,人为制定路径及选择避碰的策略,设计出能够自动执行避碰的算法。上世纪九十年代至本世纪前十年为这类算法研究的热点时期和成果集中产出时期。参考引言中对传统类方法的描述及关键词提取,基于搜索、规划等传统类算法的部分文献回顾如表1所示。

表1 传统型方法文献回顾表

传统方法中,相关的典型代表如LIJIMA等[11]的工作,在系统中采用宽度优先搜索方法对避碰路径进行选择和规划,评估每一路径分支的逐次逼近条件:碰撞危险、最短轨迹、最小舵角和与国际海上避碰规则一致,避碰路径以10 s为间隔进行评价,按照目标的优先级进行处理并假设目标船保持在检测时的方位上。该系统作为船舶的避碰导航工具,在设计时没有考虑航行环境的影响。同一时期,CHURKIN等[12]尝试采用连续和离散的研究方法建立避碰路径规划策略的数学模型。连续的方法采用线性规划使偏航变化率的价值函数最小化;而离散的方法通过离散化路径以及在每个顶点采用分支定界法评估路径的最优,最终确定解决方案。由于连续方法的计算复杂性较高,在多船会遇情景下不可行,且两种方法都没有考虑环境条件的影响。随后,HWANG等[13]运用模糊集合理论建立知识库系统来评价船舶碰撞危险并确定避碰策略,算法中解空间采用船舶附近的圆形领域来确定,满足了船舶避碰的空间需求。与以前的知识库系统类似,这个系统只是在每个阶段处理目标船,并在避碰策略上给出建议,而在整个交通情景下最终的结果并不是最优的;CHANG等[14]提出一种采用迷宫布线算法在栅格图上计算避碰路径的模型。该模型采用离散化的圆形船舶领域来构建障碍物空间,目标船领域和本船根据各自的船速行进,若本船占用的单元同时被目标船领域侵占,这个单元可视为不通的区域,本船只允许在其他区域通过,最后采用迷宫布线算法,在解空间中确定出一条最短避碰航行路径。其不足之处是未考虑国际海上避碰规则和航行环境条件。对此,SZLAPCYNSKI等[15]对文献[14]的迷宫布线方法进行了改进,加入了对转向惩罚、时变禁区和本船减速能力等因素的考虑。但由于未考虑航行环境条件以及只能处理本船减速问题,其最终计算的路径仍然不是最优的。

但在很多情况下,受限于探测能力和水域的复杂性,智能船舶在路径规划与避障的过程中也需要高度或完全应激的方法,如BUG方法[16]等。BUG方法由于规则简单、完全应激、不需要依赖过多全局信息而可以较好地完成局部路径规划与避障的特性,在很多路径规划与避障的应用场景下有着不错的效果[17]。

1.2 强化学习及其在路径规划和避障上的应用

强化学习通过智能体(agent)与环境(environment)交互,在不断试错中获得反馈并调整策略(policy),最终实现累计收益(reward)最大化。强化学习的算法可以分为三大类[18]:基于值(value-based)的算法、基于策略(policy-based)的算法和两者混合的算法。基于值的方法以时序差分法(Temporal Difference, TD[19])、Q学习(Q-Learning[20])、状态动作收益算法(State-Action-Reward-State-Action, SARSA[21])、Dyna[22]为代表,根据值函数的大小选择动作,适用于离散动作空间。基于策略的算法以策略梯度(policy gradient)[23]、模仿学习(imitation learning)[24]为代表,更新策略参数来选择动作,适用于高维或连续动作空间。两者混合的算法以演员—评价者(actor-critic)[25]为代表,能同时实现处理连续动作和单步更新,进一步提升算法效率。

深度学习具有强大的感知能力,在高维数据的处理方面展现出了明显的优势。用深度神经网络来近似强化学习中的值函数、策略或者模型[26],从而有效结合深度学习的感知能力和强化学习的决策能力。深度强化学习在游戏、机器人、自然语言处理等领域已经取得了很多突破性成就,如深度Q网络(Deep Q-Network, DQN)[27]和阿尔法围棋(AlphaGo)[28]。

王珂等[29]在深度强化学习训练的基础上加入景深约束,优化了状态空间的搜索与采集,提高了机器人路径规划的训练速率;凌涛[30]以机器人视觉图像为输入,利用卷积神经网络评估机器人的运动状态,结合值函数建立决策,从而获取最优避障路径;李文韬等[31]改进了深度确定性策略梯度(Deep Deterministic Policy Gradient, DDPG)算法的损失函数并引入丢弃(dropout)机制,在无人驾驶汽车的避障任务上获得了更高的平均奖励;王文玺等[32]在强化学习过程中融入历史信息,提升了机器人在庞大状态空间和动态变化环境下路径规划任务的学习效率。为解决复杂环境下的无数据训练问题,薛均晓等[33]在深度强化学习中加入预测模型,在航母甲板的路径规划仿真实验中,准确率、路径长度、收敛速度、平均奖励值和稳定性等指标均达到了较高的水平。

1.3 基于强化学习的船舶路径规划和避障问题

本文延续利用深度强化学习进行路径规划与避障的思路,在智能船舶领域进行了探索和研究。不同于以往的研究工作,本文首先将船舶的航运任务进行马尔可夫决策过程建模,结合实际海图与海上避碰规则,在动作空间、智能体状态、收益函数等设计上进行了多种尝试,最终完成智能船舶海上航运任务的仿真平台搭建。本文进一步引入深度强化学习理论与算法,讨论了不同的强化学习算法在智能船舶航运任务中的表现差异。最后,与传统方法进行分析比对,实验验证了强化学习在智能船舶路径规划与避障方面的可行性与有效性。

2 问题定义

为方便分析与研究,本文将船舶路径规划与避障问题进行简化和具体化,将目标定义为:船舶从起点出发,在保证航行安全和遵守航行规则的情况下,以最短时间到达终点。

船舶路径规划与避障问题涉及的主要要素包括:船舶、海域、障碍物、起点与终点。如图1所示为本文构造的仿真平台中各个要素的示意图。

(1)船舶 即算法控制的主体,通常搭载探测器,如声纳、雷达等,能够在航行方向上探测一定角度和一定距离内的区域(如图1中虚线)。根据《1972年国际海上避碰规则》,船舶在航行时必须保持安全航速,因此仿真平台对船舶的最大航速vmax进行了限制。此外,由于大型船舶在航行中可能难以急转弯,平台对船舶每次转向的角度θturn也做了限制。vmax和θturn均为可调节的参数。

(2)海域 即船舶能够航行的最大范围。一旦船舶驶出该最大范围即视为航行失败。在仿真平台中,为了防止船舶航行进入其他海域,海域边界同样被视为障碍物。

(3)障碍物 即船舶在航行中需要避碰的对象。一般分为移动障碍物和固定障碍物,移动障碍物包括但不限于冰山、其他船舶等,固定障碍物包括但不限于岛礁等。根据《1972年国际海上避碰规则》,船舶在航行中需要保持安全距离,因此平台设置了船舶与障碍物的最小间距参数dsafe,若船舶与障碍物的距离小于该最小间距即视为航行失败。此外,为展示算法的泛化性,仿真平台提供多种移动障碍物和固定障碍物的搭配模式,且每轮仿真障碍物的初始位置都是随机的。

(4)起点与终点 即船舶航行的起点和终点。由于障碍物的初始位置在每轮仿真中都是随机的,仿真中可以采用固定起点和终点位置的方式。这种策略不会削弱算法的泛化能力,因为船舶与障碍物的相对位置依然是多样且变化的。此外,由于船舶航行的目的地通常为大型港口,在仿真中,只要船舶行驶到港口一定范围内(入港距离参数darrive),即认为航行成功。

另外,仿真平台在抽象海上航行环境时,对实际环境做了一些简化。例如,仿真平台将其他船舶也视作障碍物的一种,忽略了其他船舶和障碍物在运动方式上的区别。此外,本文暂不考虑气候、海浪以及洋流方向等随机因素对船舶航行的影响。

3 基于规则的船舶路径规划与避障

3.1 基于规则方法的需求分析

在传统场景中,船舶路径规划与避障问题的一般解决方案是:考虑实际情况下的环境及需求信息,使用人为制定的规则来完成船舶的路径判定,或具体到船舶本身的运行行为。规则的制定依据包括应激性决策、人工势场、图搜索等方法。考虑本文中的应用场景:该场景下智能船舶所明确的全局信息仅包括起点与终点,在出发前并不清楚整个活动海域中的可通行区域与障碍,且需要躲避的障碍物和船只均为可运动的,因此所制定的船舶在路径规划与避障过程中的运行规则需满足对全局信息的依赖度较低;且船舶感知探索的结果在每个时刻均为小范围的动态更新,因此需要相当高的应激性;同时考虑到船舶运行中较大的惯性,实现的规则中应该带有一定的预测性。综合分析可知,该场景需要高度应激、带有预测性的完备局部实时决策方法。因此,在传统基于规则的方法中,本文选择BUG系列方法作为该场景的应用研究对象。

3.2 BUG系列方法

BUG算法的原理来自于昆虫爬行的运动决策策略。BUG算法的基本规则是:在没有障碍阻挡警告的情况下,沿直线向目标运动,而在有障碍碰撞危险的区域内,沿着障碍物的边界实施绕行。BUG系列方法中不同算法的区别主要就在直线运动状态与绕行状态的互相切换条件上。

BUG系列方法中,最常用的有BUG1和BUG2两种。BUG1算法的基本规则是:每次绕开障碍之后,选择相对障碍物的安全区域内,距离目标位置最近点到目标位置的连线,作为进入直线运动状态之后的轨迹;而BUG2算法的基本规则是:未遇到障碍时,运动的直线路径是出发位置到目标位置的连线。二者对比,BUG1算法更加保守安全,而BUG2更容易获得较短的路径。此外,更改进入直线运动状态或避障状态的判定条件可以获得BUG算法的其他变种,如加入预判信息可以引入正切昆虫(Tangent BUG)规则。

4 基于强化学习的船舶路径规划与避障

基于规则的方法虽然能够在一定程度上解决船舶海上航行的路径规划和避障问题,但是其通常依赖于先验知识以及人工设计的规则,算法的鲁棒性和泛化性可能会受到影响[18]。基于上述考虑,本文提出使用强化学习算法解决船舶路径规划与避障问题。

强化学习算法通常是针对马尔可夫决策过程的优化算法。为了能够在仿真平台上应用强化学习算法,本章首先介绍将仿真平台的环境抽象建模成马尔可夫决策过程,并对其中的关键要素进行分析设计的方法。然后简要介绍实验应用的两种强化学习算法:柔性演员—评价者(Soft Actor-Critic, SAC)算法[35]和近端策略优化(Proximal Policy Optimization, PPO)算法[36]。两者都是目前效果最好的强化学习算法之一,但是在实现方式上有所不同。

4.1 环境的数学抽象及建模

马尔可夫决策过程主要包括以下几个组成部分:观察、动作、奖励和状态转移。本文建模的马尔科夫决策过程为部分观察的马尔可夫决策过程,即认为船舶在每个时刻都只能获取环境的部分信息。因此,本文用“观察”这一术语,以区分完全观察的马尔可夫决策过程中的“状态”。

本节首先介绍部分观察的马尔可夫模型理论基础;然后详细介绍本研究对马尔可夫决策过程中观察、动作和奖励进行的设计与建模。

4.1.1 部分观察的马尔可夫模型

部分观察的马尔可夫决策过程可以用八元组(S,A,O,T,d0,E,r,γ)描述[34]。其中:S为状态空间,A为动作空间,O为观察空间,分别表示所有的状态、动作或者观察组成的集合;T(st+1|st,a)描述了环境中状态转移的条件概率;d0为环境的初始状态分布;E(ot|st)定义了在状态st下可以观测到的观察ot的条件分布;r(st,at,st+1)为奖励函数,定义了智能体能从一次状态转移(在状态st采取动作at后到新状态st+1)中能够获得的奖励,若奖励与st+1无关,也可以表示为r(st,at);γ为折扣因子。

策略是强化学习算法优化的对象,通常记为π(at|ot),表示在观察到ot的条件下选取动作at的分布。策略优化的目标是最大化期望累积回报。期望累积回报通常记作J(π),表示采用策略π时累积回报的期望,

(1)

式中:τ=(s0,a0,r0,s1,a1,r1,…,sH-1,aH-1,rH-1)表示一条轨迹;H为轨迹的长度;pπ(τ)为执行策略π时采样到的轨迹分布,

(2)

强化学习算法的最终目标是找到最优策略π*,满足:

π*=argmaxπJ(π)。

(3)

在本文的船舶海上航行的场景中,由于环境的复杂性和可行策略的多样性,强化学习算法实际上很难通过优化得到理论上的最优策略π*。但下文介绍的奖励函数的设置方法和强化学习的优化算法将给出可行的方法来逼近最优策略π*,从而使船舶尽可能快地到达目的地。

4.1.2 观察与动作

(1)观察 即船舶在航行的某一时刻能够观察到的所有信息。仿真环境中船舶在航行中可以观察到的信息包括:探测器读数、离目的地距离、与目的地夹角的正弦值和余弦值、船舶行驶角度以及船舶行驶速度。在马尔可夫决策过程中,船舶每一个时刻接收到的观察为以上信息拼接成的观察向量,所有可能的观察向量组成观察空间。

(2)动作 即船舶在某一时刻能够采用的操作。仿真环境中船舶可以采取的操作包括加速、减速、左转0.2弧度、右转0.2弧度以及保持运动状态不变。在本文构建的马尔可夫决策模型中,分别用aup,adown,aleft,aright,aremain表示上述5种动作,{aup,adown,aleft,aright,aremain}也是该马尔可夫决策过程的动作空间。

4.1.3 奖励函数

奖励是人们运用先验知识设计的激励机制,其目的是鼓励强化学习算法朝着人们期望的方向学习。本文设计了两种奖励函数,分别为稀疏奖励和势能引导奖励。下面将介绍这两种奖励的具体设计。

稀疏奖励为一种相对简单的奖励方式。当船舶到达目的地(即航行成功)时,给予+1.5的奖励;当船舶超出海域范围或者撞上障碍物(即航行失败)时,给予-1.5的奖励;航行途中每单位时间给予-0.001的奖励,以鼓励船舶尽快到达目的地。

稀疏奖励

(4)

由式(4)可以看出,若强化学习算法寻求最大化累积回报,则需要控制船舶用尽可能短的时间到达终点。具体地,若船舶经过T个单位时间到达目的地,则累积回报为(1.5-0.001T);若船舶经过T个单位时间后航行失败,则累积回报为(-1.5-0.001T)。由于环境中限制船舶航行的最大单位时间数为1 000,若航行成功,则累积回报的范围为[0.5,1.5];若航行失败,则累积回报的范围为[-2.5,-1.5]。

虽然稀疏奖励简单且符合直觉,但是由于关于航行成功或失败的信息需要等到一次航行结束后才能得到,这种完全依据航行结果给出的奖励会过于稀疏。在一些需要长远规划的任务中,稀疏奖励通常会因为在轨迹中途缺乏引导,使得智能体无法学习到如何达成目标[38]。

为解决上述问题,本文设计了另一种奖励,即势能引导奖励。势能引导奖励在航行成功或失败时给予的奖励与稀疏奖励一致,但在其余时刻,势能引导奖励通过引入两个势能函数(即距离势能函数Φdist(d)和角度势能函数Φangle(θ)为船舶航行提供额外的激励。具体地,距离势能函数Φdist(d)的表达式如下:

Φdist(d)=-αd。

(5)

式中:d为船舶与终点之间的距离;α为常数。由式(5)可以推导出船舶在执行一个动作后的距离势能变化

ΔΦdist=-α(d2-d1)。

(6)

式中:d1和d2分别为执行动作前后船舶距终点的距离。

角度势能函数Φangle(θ)的表达式如下:

Φangle(θ)=-βθ。

(7)

式中:θ为船舶行驶方向和船舶至终点连线之间的夹角;β为常数。由式(7)可知,在执行一个动作后的角度势能变化

ΔΦangle=-β(θ2-θ1)。

(8)

θ1和θ2分别为执行动作前后船舶行驶方向和船舶至终点连线的夹角。

在船舶航行途中,势能引导奖励rΦ为ΔΦdist与ΔΦangle的组合,即:

rΦ=ΔΦdist+ΔΦangle,

(9)

=-[α(d2-d1)+β(θ2-θ1)]。

(10)

从式(9)和式(10)可以看出,势能引导奖励在稀疏奖励的基础上,通过在行驶途中给予船舶奖励,以鼓励船舶朝着距终点距离更小、或者行驶方向与船舶至终点的直线方向夹角更小的方向优化。

势能引导奖励

(11)

4.2 SAC算法

SAC(soft actor-critic)算法是目前表现最好的异策略(off-policy)强化学习算法之一。不同于式(1)中定义的最大化目标J(π),SAC算法在最大化目标中加入了信息熵H(π(·|st)),形成了新的最大化目标J′(π):

αH(π(·|st)))]。

(12)

式中第二项即为添加的熵项,其中α为常数。根据信息熵的定义,状态st下选择的动作分布越分散,熵项H(π(·|st))越大。因此,加入信息熵可以鼓励算法同时探索多种最优的策略,而不仅拘泥于某一种(局部)最优策略[35]。

4.3 PPO算法

近端策略优化( Proximal Policy Optimization, PPO)算法是目前表现最好的同策略(on-policy)强化学习算法之一。该算法主要基于信赖域策略优化(Trust Region Policy Optimization, TRPO)算法[37]改进而成。TRPO算法中最大化目标LCLIP(θ)定义为:

(13)

PPO算法的贡献之一是提出了一种截断式的最大化目标LCLIP(θ),

(14)

式中:ε为一个较小的常数;clip(·)为截断函数,其在式(14)中的作用为将rt(θ)截断在[1-ε,1+ε]的范围内。截断式最大化目标的意义在于可以惩罚过度偏离旧策略πθold的策略πθ,使得πθ在训练中不会出现过于激进的更新[37]。

5 船舶海上航行仿真实验与结果分析

本文在大量不同的仿真环境设置中测验了3种基于规则的算法(BUG1,BUG2和Tangent BUG)与两种强化学习算法(SAC和PPO)的表现。下面将首先介绍船舶海上航行的仿真实验设置,然后展示实验结果,最后基于实验结果给出分析结论。

5.1 仿真实验设置

本文的仿真平台使用Pymunk作为物理引擎,并用Pygame作为渲染工具。强化学习算法基于Pytorch深度学习框架和Tianshou开源代码库实现。

如表2所示,仿真平台针对障碍物数量与障碍物是否移动这两个变量,设计了4种不同难度的仿真场景。在实验中,算法的超参数对于环境的难度变化不敏感,因此对于4种难度的环境,算法的超参数保持一致。每轮仿真中,障碍物的初始位置和大小都是在一定范围内随机生成,以充分测试算法在不同场景下的鲁棒性。为了消除随机因素的影响,下文的实验数据均为重复仿真100次的结果。

表2 仿真环境不同难度设置

为了公正准确地评价算法的效果,本文选取成功率和航行时间步作为实验的评价指标。成功率是指100次重复实验中成功到达目的地的仿真次数占总仿真次数的比例;航行时间步是指在100次重复仿真中,所有成功航行的仿真到达终点所耗单位时间步数的平均值。由上述定义可知,成功率越高,算法航行的安全性越高;航行时间步越短,算法航行的效率越高。

5.2 算法实现细节

5.2.1 基于规则的算法实现细节

基于规则的算法采用决策树的方式实现。本文采用的BUG相关算法框架采用了深度为4,叶节点数为12的决策树系统。选取依据为,一般情况下,决策树的深度取决于决策依据的层次,在本文的船舶航行路径规划及实时避障的任务中,需要关注的要素包括终点、障碍物和自身运动情况3个维度。考虑到一般的平面刚体的运动表示理论,这里的船舶运动情况可以用速度大小和航向角两个值来进行描述,因此,这里BUG算法的决策树深度4,即每个分支有不多于4层的决策系统,每一层的决策依据分别为终点距离判定、障碍物探测判定、航向判定和速度判定,以上关键参数的调节可以实现BUG系列中的不同种方法。决策树的叶节点数即为分支数,考虑一般系统的部署规则,每个决策节点优先采用2个分支的方法,即决策树会表现为一个完全二叉树,此时叶节点数为16。考虑到临近终点的情况,由于靠港位置确定,可以进行剪枝简化,不需额外判断障碍物,因此这个子树只需2层,计算叶节点总数量为8+4=12。本文采取的具体参数如表3所示。

表3 基于规则的算法参数

续表3

5.2.2 强化学习算法实现细节

下面将分别详细介绍SAC算法和PPO算法的实现细节。

SAC算法的策略网络(actor)和两个评价网络(critic)均为包含两个128神经元隐藏层的全连接神经网络。训练时,策略网络采用的学习率为1×10-4,评价网络采用的学习率为1×10-3。为提高样本采样效率,SAC算法使用了可以储存20 000条状态转移数据的回放缓存(replay buffer),每步训练时从中取出128条数据,并且每10步训练更新一次回放缓存。折扣因子γ=0.95。总训练过程包含200代(epoch),每一代包含10 000步训练。

PPO算法的策略网络和评价网络均为包含68个神经元隐藏层的全连接网络。训练时,策略网络和评价网络均采用1×10-3的学习率。不同于SAC算法,PPO算法没有使用回放缓存,但在每次更新网络前,需要与环境交互收集20条轨迹的状态转移数据,每步训练从中取出64条转移数据。折扣因子γ=0.99。总训练过程包含200代,每一代包含50 000步训练。

5.3 基于规则的算法仿真结果

如表4所示为不同难度的仿真场景下,BUG1、BUG2和Tangent BUG三种基于规则的算法的表现。

表4 基于规则的算法仿真实验结果

由仿真结果可以看出,Tangent BUG算法在安全性方面表现出了显著优势;在效率方面,BUG2算法明显高于另外两种算法。

然而,随着仿真环境的难度逐渐增大,3种算法的成功率均出现较大幅度的下滑,说明基于规则的方法鲁棒性较差,对于环境条件较为敏感。

此外,3种算法在各个环境难度下的成功率普遍偏低,某些场景下甚至低于50%,远远达不到安全航行的要求。

5.4 强化学习算法仿真结果

以SAC算法为例,仿真实验中的具体迭代步骤如下所示。

算法1强化学习SAC算法伪代码。

初始化策略参数θ,Q函数参数φ1,φ2

初始化空的回放缓存D

初始化目标Q函数参数:φtarg,1←φ1,φtarg,2←φ2

for每次迭代 do

for 每个环境步 do

观察到状态st

选择动作a~πθ(·|st)

观察到下一个状态s′、奖励r及完成信号d(d=1表示完成,d=0表示未完成)

若s′是终止状态,则重置状态

end for

for 每次梯度更新 do

从D中随机采样一批转移数据,记作B={(s,a,r,s′,d)}

更新目标网络:φtarg,i←ρφtarg,i+(1-ρ)φi,i=1,2

end for

end for

如表5所示为在不同难度的仿真场景和不同的奖励函数下,SAC和PPO这两种强化学习算法的表现。

表5 强化学习算法仿真实验结果

续表5

由仿真结果可以看出,对于SAC和PPO算法来说,势能引导奖励下的表现均明显优于稀疏奖励下的表现。尤其是在难度较大的难度3和难度4下,两种算法在势能引导奖励下的表现比在稀疏奖励下更加鲁棒。这说明势能引导奖励可能具有在探索阶段引导策略向终点前进的效果。

在相同的奖励和难度下,PPO算法的成功率也普遍高于SAC算法。特别是在稀疏奖励下,PPO算法的表现要远优于SAC算法。可以推测PPO算法具有比SAC算法更强的长远规划能力。

此外,从表4和表5的对比可以看出,强化学习算法在各个难度下的成功率一般要高于基于规则的算法,并且前者的航行时间步通常要远低于后者。值得注意的是,在势能引导奖励下的强化学习算法对于较难的场景比各种基于规则的算法都更加鲁棒。以上的观察表明,在船舶海上航行的任务下,强化学习算法相比于基于规则的方法,具有安全性高、航行时间短,且在较难的场景下表现更加稳定等优点。

6 结束语

相较于传统确定性算法,深度强化学习方法不依赖于人为设定的规则,直接将避碰约束加入奖励函数中,通过试错学习优化策略,应对复杂环境与高维输入的能力更强。本研究通过随机初始化障碍物位置,搭建了一个适用性强的路径规划与避障环境,并将船舶的位置与航行状态抽象建模成马尔可夫决策过程。引入深度强化学习方法,并根据任务的特性设计了势能引导奖励,显著优于稀疏奖励下的决策性能。深度强化学习方法在仿真实验中表现出了更为可靠、高效、稳定的规划与避障能力,特别是在复杂动态环境下,显著优于传统方法。未来深度强化学习方法应用于智能船舶路径规划与避障任务的探究,需要考虑更多的海上航行不确定因素,并进一步部署于实际硬件设备开展验证优化,以推动深度强化学习在该领域的实际应用。

猜你喜欢

障碍物航行决策
为可持续决策提供依据
到慧骃国的航行
海洋美景
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
赶飞机
决策为什么失误了
诸葛亮隆中决策
潜艇
一次胆大包天的航行