人工智能技术在船舶领域中的应用综述∗
2021-11-11虎曹
殷 虎曹 旭
(1.海装驻武汉地区第三军事代表室 武汉 430205)(2.武汉第二船舶设计研究所 武汉 430205)
1 引言
船舶在航行过程中会面临多元场景下的决策与控制,航行过程中电力系统、动力系统、导航系统、通信系统等产生的海量数据包含着船舶很多的特征信息,对于船员来说人工提取这些特征信息难度过大,人工智能技术可以实现船舶的智能化决策与控制。人工智能算法通过对这些数据中包含的信息进行挖掘和分析,从而优化决策过程。从保证船舶运行安全性的角度来说,人工智能技术可以优化船舶结构设计提高船舶的抗风浪等级,在航行过程中可以依靠人工智能技术和自动识别系统(AIS)数据检测出行为异常的船只并对其路径进行预测,同时结合自身船舶的运动特性规划出避障路线。从航行经济性的角度来说,人工智能技术既可以对时变的船舶动力系统建模以优化能源消耗,也可以根据当前的海况、吃水等情况优化船舶操作以降低船舶的航行成本。
2 人工智能技术在船舶路径规划中的应用
船舶的运动规划问题可以形式化为多约束下的多目标优化问题,且动态环境下的路径搜索是典型的NP难问题,船舶运动规划的多约束性质主要表现是进行规划时,需要同时考虑船舶自身的机动约束(最小转弯半径、最大/小加速度、最大爬升角度等)、环境约束(动/静态障碍物)、任务约束(如必经航点、时间约束等)、海洋水文环境(内波、跃层、透明度等)等约束条件,需要根据应用场景分析必要约束将其进一步以等式/不等式约束或惩罚项等数学形式进行表达。多目标性质主要体现是进行规划时需要根据任务需求等选择多种合理的优化目标,如路径最短、时间成本最小、隐蔽性最高、路径平滑度最好、转弯次数最少、深度变化频率最低等,然后将选择好的优化目标用合适的变量进行衡量,设计出抽象化的优化目标函数。通过约束条件和优化目标的数学化,将路径规划问题抽象成了一个多约束条件下的多目标优化问题。目前,解决此类问题的人工智能算法包括智能优化算法、深度学习算法、强化学习算法、迁移学习算法以及其他智能算法。
2.1 智能优化算法
船舶路径规划这类多约束条件下的多目标优化问题的求解是建立在规划空间栅格化的基础上的,即对规划可行区间进行等栅格划分,以栅格离散点作为路径点集的可选集合。求解时主要包括两种思路,一种是直接求解多目标优化问题,最终的可行路径以Pareto解集的形式给出,然后根据一定的规则选取最适合当前场景的路径。另一种思路是将多目标优化问题根据各种优化目标的重要程度给以不同的权重,然后对各目标数值归一化后结合权值转化为单目标优化问题进行求解,加权方式一般有乘和形式和指积形式两种。对于后者中的加权系数的设置可以选择事先利用仿真手段针对不同场景进行离线设置在线选择的策略,也可以根据专家知识设计相应的推理系统结合环境态势与任务需求等先决条件推理出相应的系数组合。
传统的优化算法难以应对这种时空复杂度高、不确定性大、约束性强、优化目标多的问题,而基于生物启发的智能优化算法为上述问题的求解提供了新思路。典型的智能优化算法如图1所示,主要包括进化计算、群体智能、仿人智能、物理现象模拟等几大类。其中应用较多的算法主要有遗传算法、蚁群算法、粒子群算法等。
以蚁群算法为例,在三维水下环境中的规划结果如图2所示,图3给出了在优化迭代过程(即路径搜索过程)最佳个体适应度(即优化目标函数值)的变化趋势。
图2 蚁群路径规划路线
图3 最佳个体适应度变化曲线
基于模糊推理的方法也有广泛的应用。Perera提出了一种结合国际海事组织规则和避碰规则的模糊逻辑决策系统,并将该系统用于航行过程中的避障控制[2]。Pietrzykowski提出了一种基于模糊逻辑的航行决策方法,用于保证船舶在航行中能够有效避障[3]。Chien-Min采用 Visual studio软件生成国际航行避碰规则知识库,并提出了一种模糊监测系统用于航行中的避障控制,在需要避障的时候该系统会直接给出一个优化舵角以控制船舶避开障碍物[4]。Perera提出了一种船舶防碰撞系统,该系统中的决策/行动过程由一个基于模糊逻辑的并行决策(PDM)模块组成,该模块的决策由一个基于贝叶斯网络的模块制定连续的行动,这些决策以顺序动作执行,可以解决存在多艘目标船舶下的避障问题[5]。
智能优化算法可以有效地解决复杂水下环境中的路径搜索问题,但是也存在收敛速度慢、易陷入局部最小值等问题。针对前者针对性的算法改进可以一定程度地加快算法收敛速度,且在离线规划中这种速度较慢的收敛性能也是可以接受的。而从实际应用的角度来看,局部极小值问题并不会对船舶的航行过程造成十分严重的影响,对于航行问题而言,局部最优路径也是可以接受的,因为其路径搜索主要目标并不是实现某项性能指标的绝对最优,而是可以在尽可能地保证该项性能指标最优/次优的前提下完成一次航行任务。总之,智能优化算法在实际的水下三维环境中的路径搜索问题中有很大的应用潜力。
2.2 深度学习算法
近年来,深度学习相关研究与应用十分火热,相较于传统的机器学习方法最大的优势在于能够根据数据自主地对特征进行学习与提取。在运动规划中涉及环境等要素的特征提取问题,因此深度学习在其中的应用优势是显而易见的。深度学习中的端到端模式在处理运动规划问题时,算法直接处理传感器采集到的环境信息,进一步生成执行空间的动作,跳过了三维重建、SLAM等步骤,极大地简化了自主航行架构的设计[6]。
为了实现船舶异常行为预警,Perera利用神经网络提出了一种基于AIS实时数据和历史数据的无监督学习方法[7]。Vespe提出了一种无监督和增量学习的方法用来检测船舶的动作模式,为更上一层的决策行为提供信息[8]。针对AIS数据量大的问题,Douglas-Peucker(DP)算法可以用来压缩AIS数据,提取ASI信息中的路径特征值[9~10]。Xinli提出了一种本体模型对交通场景进行建模,通过隐马尔可夫模型对驾驶行为进行学习,该方法可以有效地结合先验知识并能够适应不同的交通场景[11]。针对路径预测的问题,张树凯提出了一种基于大数据驱动的海上航路推断方法[12]。Yuanqiao提出了一种结合DBSCAN和神经网络的方法,该方法可以处理海量的AIS数据并自动生成航迹[13]。文献[14]设计了基于蚁群算法的静态规划算法和面向典型场景的动态规划策略作为教师系统,以前置声呐的探测结果为输入、以UUV航行角度、速度为输出,构建了含有用于网络训练的84350份学习数据的样本集。由于RNN在序列信息处理方面的优越性,设计了181维输入、2维输出的LSTM-RNN网络用于上述样本的训练,通过教师系统中的规划结果对网络进行训练,以此使得构建的深度网络具有实时在线的规划能力。
2.3 强化学习算法
船舶的实时在线运动规划问题可以形式化为一个决策问题[15],即根据传感器或者外部信息确定的当前环境、自身状态来决定下一时刻船舶的系列动作。另一方面如前所述,面对未知环境时船舶很少有与环境相关的先验知识,水下的运动规划问题有很强的不确定性,因而要求其具有较强的对这种不确定性的自适应能力,能够借助传感器实时感知信息进行在线规划。强化学习为这类问题的求解提供了思路。
强化学习是让智能体与所处的环境不停地进行交互与试错,通过不断地积累经验,最终使智能体选择奖励最大值对应的动作去执行任务,图4为强化学习的基本原理框图[16]。
图4 强化学习原理
在强化学习运动规划系统中,策略、价值函数、奖励函数、环境模型是其组成部分,策略表征了从状态和动作间的映射关系,价值函数表示从当前状态转移至目标状态过程中累积回报的数学期望,奖励函数是环境所反馈的强化信号,用来评价动作策略的好坏。
根据环境转移概率将基本强化学习方法分为基于模型和无模型的强化学习两类(如图5所示),前者可以通过求解Bellman方程来直接求解,状态转移概率和回报函数模型未知时,需要自主学习训练获取最大奖励。基于模型算法中的动态规划算法和时间差分方法中的Q-learning算法是典型的强化学习方法[17]。
图5 基本强化学习算法分类
文献[16]中考虑到与目标点的距离和碰撞判断设计了奖励函数,将船舶运动进行了简化,分为八种运动状态,采用贪心算法作为动作选择策略设计了基于强化学习的运动规划算法,通过1600多次的迭代学习取得了稳定的规划结果。基于同样的思想,文献[17]提出了引入具有记忆功能的记忆迹的改进Q-learning算法QMT算法和基于Sarsa算法的改进的同步策略SMT算法,并将其应用于单智能体和双智能体中,在仿真环境中取得了令人满意的结果。Haiqing结合船员驾驶经验,国际避碰规则和船舶操纵性提出了一种基于强化学习理论的避障控制算法,并用三条船模验证了算法的有效性[18]。Guo将deep deterministic policy gradient方法和人工势场方法相结合应用于船舶路径规划,该方法在利用AIS数据训练并可以有效处理航行规则下的位置环境路径规划问题[19]。
2.4 迁移学习
基于深度/强化学习的规划算法可以通过模型的学习有效解决某些特定场景下的运动规划问题,但是由于水下的动态复杂环境与船舶任务的多样性,船舶面对的场景是多种多样的,事先详尽的对水下应用场景进行枚举与数据的采集的工作是难以完成的。同时由于模型训练时间成本较高,为每一种场景都设计特定的模型进行训练是不切实际的,而在特定场景中训练得到的模型往往难以直接应用到特征差异比较显著的场景中,输出的控制指令会较大概率的导致事故的发生。但是,从人类自身的角度出发,在实际驾驶时并不需要对每种场景都进行行为学习/训练,更多的是“举一反三”,即抓住新场景中的主要特征信息与特定场景之间的相似性,结合先验知识或驾驶经验从而实现新场景下的运动规划。
图6 迁移学习基本原理
图7所示为一种基于对抗判别网络的避障算法的算法框架[6],其中强化学习算法部分以深度图作为输入,由三层卷积神经网络(CNN)进行特征提取,五层全连接层根据CNN提取出的特征信息进行决策,输出定义的相关动作的Q值。从源域到目标域所迁移的知识具体指的就是源域的决策网络部分,关键问题就是如何通过调整目标域的CNN参数以适应源域的决策网络。算法框架中涉及的生成对抗网络(GAN)采用的是“零和博弈”的思想,即生成器要通过噪声模拟生成尽可能相似于原始数据分布的数据,增加判别器的误差,而判别器则尽可能地减少这种误差。基于对抗判别网络的方法主要是通过特征提取网络分别提取源域和目标域的特征,并且用判别器来判别特征的所在域,通过判别器的输出来学习目标域的特征提取网络,以此缩小目标域和源域特征空间的距离,以实现复用源域的决策部分网络完成目标域相关任务的目的。最后分别在ROS/Gazebo仿真环境下和无人机平台中进行了算法验证,实验证明在保证避障成功率的同时迁移学习的引入将网络训练时间缩短了40多倍。
图7 基于对抗判别网络的避障算法的算法框架
2.5 其他智能算法
在船舶的智能化实现时,需要根据多模态感知信息进一步提取出有效信息以进行合理的决策规划及控制,关于传感器的种类及配置方案没有唯一解,这给实际的系统部署带来挑战。李德毅院士团队针对无人车自动驾驶平台设计了以“驾驶脑”为核心的技术架构[20],降低了传感器数量、类型、安装位置的变化对整个架构的影响,保证了智能决策与感知(传感器)模块之间的低耦合,使得基于以驾驶脑为核心的技术架构可以在不同传感器配置的智能驾驶车辆平台上进行移植。
自主化、智能化的水下潜器是无人系统的典型代表。如前所述,无人系统需要实时在线进行动态的目标检测、跟踪、语音指令识别、多模态信息融合、优化决策、轨迹规划、运动控制等一系列复杂行为,企图通过一种通用的算法或模型有效地解决问题是不切实际的。清华大学研究团队以自动驾驶自行车为对象,提出了用于图像处理与目标检测的卷积神经网络(CNN)、用于语音命令识别的脉冲神经网络(SNN)、用于目标跟踪的连续吸引子神经网络(CANN)、用于姿态平衡与方向保持的多层感知器(MLP)、用于网络集成与决策的基于SNN的神经状态机等通用人工智能(AGI)算法解决方案,其可分为以人工神经网络(ANN)为代表的面向计算机科学的机器学习算法和以脉冲神经网络(SNN)为代表的面向神经科学的生物启发式算法两大类[21]。
这两类算法是AGI的主要实现方式,其在神经元结构上有一定的相似性,但是在具体的信息表示、计算思想、记忆组织等方面存在较大差异,因而其硬件实现方式是截然不同的,但是前述无人系统对实现方式提出了新的需求。基于对AGI系统需求深入分析的基础上,清华大学研究团队提出了“天机芯”架构,采用众核(many-core)、可重构、能够混合编码的流水线数据流技术,打通了ANN与SNN之间的界限,在单一芯片中实现了多种异构神经网络的跨范式并行协同运算,保证了其间的无缝通信。
3 人工智能技术在船舶运动控制中的应用
随着智能技术的发展,无人化是船舶未来发展的趋势。作为船舶航行的直接控制环节,自主操纵系统是实现船舶智能航行的基石,是船舶自主航行上层算法高效执行的保障。船舶自主操纵控制器的设计有很多特有的难点。船舶自主操纵系统设计的难点主要有三点:1)多变的海洋环境,对船舶自主操纵系统的鲁棒性有较高的要求;2)复杂的船舶运动数学模型意味着船舶自主操纵系统需要具备一定的自适应能力;3)控制器之间的耦合要求船舶自主操纵系统的各个子控制器之间需要协调配合,才能够达到更好的控制效果。
对于船舶的运动控制,传统的控制方法是以不变应万变的鲁棒控制策略,一成不变的控制策略在保证船舶控制的鲁棒性的同时通常难以兼顾控制效率,因此很难达到对船舶航向、航速高效控制的要求。随着人工智能技术的发展以及硬件设施的不断完善,以变应变的自适应控制策略得到发展,控制器的智能化设计成为了研究者们研究的焦点。为了达到这一目标,各种新型的智能控制算法相继应用到了船舶航行控制中。较为典型的新型控制算法有反步法控制,变结构控制,神经网络控制,模糊逻辑控制,专家控制等[22]。模糊逻辑控制和神经网络控制是其中使用较为广泛的方法。
3.1 模糊控制技术
模糊控制是基于模糊数学的基本思想和理论的控制方法,最早由美国人Zadeh于1965年提出。不需要建立被控对象的精确数学模型的特点使得模糊控制理论可以应用于较为复杂的系统之中。模糊控制器主要包含模糊化、规则库、模糊推理、解模糊四个部分。
模糊控制器核心在于规则库的选取与建立。模糊规则不宜过少,否则难以完整描述较为复杂的系统;也不宜过多,否则控制器容易在切换点之间不停抖动,造成抖振。模糊控制在船舶控制领域的应用可以追溯到1977年Amerongen等[23]设计的船舶航向控制器,其结构是典型的模糊控制器的结构,由模糊化,模糊推理,解模糊化三个部分构成。另外,为了防止舵的抖动过于频繁,在模糊推理的过程中还加入了滤波器来抑制频繁操舵。该系统实现了对船舶的初步控制,但是不具备自学习自适应能力。后续应用于船舶的模糊控制器大多以此为框架,向自学习自适应的方向发展以适应复杂的外部环境和船舶数学模型。1982年,在原有工作的基础上Amerongen[24]基于模型参考自适应控制理论设计了控制器,将自适应理论引入了设计中,在扰动较小的情况下取得了较好的效果。Jeffery等[25]则将模型参考自适应理论与模糊控制理论结合,设计出了船舶航向的模型参考模糊自适应控制器。使用模糊控制器作为基础,并用模糊逆模型对控制量进行只是应矫正。
除了直接使用模糊控制理论设计控制器外,模糊理论还常常作为被控对象的自适应模型,用于观测被控对象的状态,与基于模型的控制方法搭配进行控制器设计,其中以T-S模型使用较为广泛。Huang[26]等基于T-S 模糊模型,设计了模糊模型预测控制器,解决了非线性模型预测控制器(NMPC)计算量大,容易陷入局部最小值等问题。该控制器分为两层,上层用于判定总误差是否达标,下层则使用模糊模型预测控制算法对各个子系统进行控制。Killian等[27]的工作则更进一步,将总体模型分解为若干个并行的T-S模型,分别进行模型预测控制器设计后,通过合作环得到最终的控制量。这种方法对船舶这种多输入多输出(MIMO)系统控制器的设计具有一定的指导意义。
3.2 神经网络控制技术
大脑每个神经元的结构和功能都较为单一,但是大量神经元通过叠加组合却可以展现出相当复杂的行为模式。人工神经网络模型(ANN)最早由Warren McCulloch 和 Walter Pitts[28]于 1943 年 提出。其设计的思想是通过一系列简单运算的复合引入若干待调整参数,然后通过改变局部参数(权重、连接方式、运算符等)对系统拟合,最终实现对复杂系统的模拟。
人工神经网络的本质是一个拟合函数,在控制器的设计中,既可以用于拟合被控对象,作为控制器的参考模型;又可以用于拟合舵手的行为,直接作为控制器。神经网络强大的拟合能力和自适应能力使其很适合用于模拟人的行为,用于控制器的智能设计中。许多研究者[30~31]采用神经网络模型,对传统控制器的行为特征进行学习,并借助神经网络强大的泛化能力,达到青出于蓝胜于蓝的效果。Perera制造了一个船载决策系统原型机,该系统可以在恶劣海况下通过传感器实时数据训练神经网络,并通过神经网络预测船舶在当前海况和载荷、航向角和速度以供船长进行决策[32]。与离线训练方法相比,在线的训练算法通常具备更好的自适应能力。孙松涛等[33]使用PID控制在线训练CMAC神经网络,当CMAC性能指标较差时,采用PID控制器主导控制;当CMAC性能指标小于临界值,则切换为CMAC神经网络进行控制。对深潜器动力定位系统进行的仿真实验证明了算法的有效性。R.Amin[34]等为无人水下艇NPSAUV设计了多层感知器结构的神经网络控制器。针对神经网络离线训练时间较长,自适应能力较弱的问题,首先对控制器在平衡点附近进行离线训练,然后使用基于逆模型的在线训练方法对控制器进行在线训练。这种方法不仅缩短了离线训练的时间,同时由于在线训练模块的存在,也提高了船舶的自适应能力。
在子控制器设计完成之后,如何让各个子控制器协调配合是另一个关键问题。在船舶平稳航行,参数变化不大的情况下,由航行参数变化带来的数学模型变化可以视作扰动,予以忽略,由各个子控制器自行解决;但在船舶剧烈加速减速、大角度变向等情况下,航行参数变化带来的模型参数变化会对控制器的控制效果造成较大的影响。与外界的环境扰动不同,由航行状态变化带来的运动模型变化是可以预知的。这时,就需要各个子控制器通过协同配合来提升控制效果。各子控制器的协调配合通常可以视作一个多目标多约束的智能优化问题。
3.3 多控制器协同策略
一套船舶自主航行控制系统通常由多个子控制器组成。而这些子控制器之间常常存在耦合。在耦合较小的时候,可以将耦合视为扰动,不进行特殊处理;但是在船舶大变向,大变速的情况下,控制器之间的耦合通常无法忽略,此时就需要一个决策模块对各个控制器进行协同调节,防止各个子控制器之间出现1+1<2的情况。
多控制器协同可以归纳为一个多目标多约束的智能优化问题。由于多目标优化问题具有多个性能指标,这些性能指标通常来说都是相互耦合的,提升一个性能指标要以牺牲其他性能指标为代价,因此一般并不存在最优解,解以解集的形式存在,这样的解集也被称为非劣解或Pareto解。从诸多非劣解中找出一个较为满意的解并将其转为指令下达给子系统是协调模块的首要任务。船舶控制的执行周期较短,因此需要一种快速高效的决策方法,将多目标问题转化为单目标问题,以保障控制器的实时性与鲁棒性。智能化算法可以根据工作条件与外界环境自适应调节各个子控制器的控制策略,受到了研究者的欢迎。Huang[26]等将控制器分为两层,上层对误差进行监督,如果不符合则将总误差作为扰动下发给各个子控制器。这一策略较为简单,但只是权宜之计。当系统间耦合较大时,难以保障在每个控制周期的时限内都一定能够给出最优解。Stewart[35]等提出了一种合作控制策略,保障了每个控制周期都可以得出次优解,并且证明这种合作控制策略在系统存在耦合时优于单一控制器的控制效果。
4 人工智能在船舶能耗决策中的应用
Petersen将非线性ANN模型运用到船舶燃油消耗预测上,并在长达两个月的航行试验中对燃油消耗量进行实时预测[36]。Beşikçi建立了基于ANN网络的船舶燃油预测模型,该模型利用船舶航速、发动机转速、船舶姿态、货物量和外界海况预测船舶燃油消耗,并利用燃油消耗预测值对发动机的节能操作提供决策信息[37]。Perera提出了一个基于大数据框架的船舶效果预测系统,不同的机器学习算法分别被用在系统的数据前处理和后处理过程中以实现大量传感器数据采集、数据压缩、数据恢复等功能,最后使用数据回归的方式对不同海况下的航行效果进行预测[38]。Jun建立了一种高斯过程元模型以预测船舶在不同操作场景下的燃油消耗,该模型在预测燃油消耗的过程中不仅考虑了船舶本身的状态同时也考虑了外界海况等因素[39]。Christos比较了支持向量机(SVM),随机森林回归(RFR),极端树回归(ETR),人工神经网络(ANN)等方法在船舶主机燃油消耗的预测效果,上述方法均可以在不同的装载情况、天气情况、速度、航行距离和吃水条件下较为准确地预测燃油消耗量[36]。
5 结语
船舶领域覆盖国防军事、科学研究、民生工业等诸多方面,其先进性和智能一定程度上反映了当前的科学技术水平。自2016年工业和信息化部设立“智能船舶1.0专项”以来,我国智能船舶的设计、制造、运维、管理步入正轨,应用人工智能技术的船舶相比于传统船舶的优势显而易见。随着处理器性能提升、人工智能算法的突破、数据量的增长,人工智能技术的应用将会越来越广泛。现阶段人工智能技术在飞机和汽车的无人驾驶技术等领域已经得到成功运用,未来其在船舶的智能技术和控制技术中的逐步成熟将彻底改变人类的航海格局。