王亚波,张 可,赵恩娇
(1.武汉第二船舶设计研究所, 武汉 430060;2.哈尔滨工程大学, 哈尔滨 150001)
随着海洋装置技术的发展,无人水下航行器(unmanned underwatervehicle,UUV)在民用和军事领域上发挥着巨大的作用。在军事上UUV可以独立执行作战任务,例如鱼雷具有自主航行和制导的能力,可以攻击敌方的潜艇或者军舰等高价值目标。民用方面,可以在海底资源探测、水下搜救以及海底目标识别上等具有广阔的应用。UUV在水下航行过程中通过环境感知系统获取水下环境信息,避碰系统接收感知系统获取的数据来规划一条避碰路径,提高了UUV的生存能力[1-2]。由于水下环境比较复杂,如果UUV在执行任务的过程中发生了碰撞,会增加执行任务成本。因此,对UUV的避碰系统展开研究具有重要的工程意义。随着信息化和智能化的发展,在UUV的避碰系统中引入智能化算法成为未来的发展方向。
本文首先介绍了UUV的避碰系统的基本组成和国内外研究现状,重点分析了UUV的环境感知技术和避碰智能算法,最后对UUV的避碰系统发展方向作出了展望。
无人水下航行器智能避碰系统的原理图如图1所示。环境信息感知系统利用传感器采集周围环境的障碍物信息,把采集信息传入避碰系统中,由避碰系统给出相应的执行指令,最后由操纵系统完成相应的动作。
图1 无人水下航行器避碰原理图Fig.1 Schematic diagram of collision avoidance for UUV
在避碰系统中,根据最近会遇距离(distance to closet point of approach,DCPA)的大小来判断航行器是否存在碰撞危险,根据到达最近会遇点的时间(time to closet point of approach,TCPA)来估计危险程度[3]。根据DCPA和TCPA等因素可以判断无人水下航行器的危险程度。因此,研究无人水下航行器的碰撞危险度是无人水下航行器避碰系统的发展方向。
无人水下航行器的避碰问题是一种动态规划问题,由于没有水下环境的先验知识,只能依靠传感器系统采集水下环境信息。通过避碰算法来对周围环境进行感知的方法相比全局路径规划更具有实用性[4]。传统的避碰规划包括图像化方法和快速步进法。这2种方法都存在一定的不足,由于水下环境比较复杂,航行器感知存在局限性,使得图像法很难完成避碰任务,针对这一问题,Stentz[5]提出了D*算法,在求解过程中更新避碰成本的参数,解决了复杂环境的避碰问题。Feerguson[6]提出了filed D*算法,采取均变分辨率网格来描述航行环境,降低了算法计算量,但是该方式的代价函数是线性的,所以适应性比较差。文献[7]在Feerguson的filed D*算法基础上提出了非线性的代价函数,并将算法应用在解决了强海流的动态环境中的避碰问题。Philippsen等[8]将Fast Marching(FM)算法用于避碰问题中,FM算法可以实现主动路径规划,具有较高的可靠性,但是存在计算时间长等问题[9]。针对FM计算量大问题,Peter等[10]提出了A*算法,考虑了海流和航行器转弯半径,有效提取了二维连续路径,提高了规划的时间。
目前智能避碰算法主要有模糊控制算法、粒子群算法和改进人工势场算法。模糊控制算法具有良好的鲁棒性,但是模糊规则的设计依赖于环境和航行器的特性,导致其泛化能力差。文献[11]采用自适应梯度神经模糊算法推理系统解决了无人水下航行器的避碰问题。粒子群算法(particle swarm optimization,PSO)具有搜索速度快和搜索能力强的特点[12]。为提高系统的收敛性能,潘洪悦[13]在粒子群算法中引入遗传算法的种群共享极值策略。严浙平[14]提出了将路径点导航和PSO相结合的方法,加快了避碰系统的收敛速度,缩短了航行器避碰的时间。
避碰系统可以利用智能算法实现在水下复杂环境下的路径动态规划。其中,无人水下航行器对周围环境的感知是实现避碰系统的基础。无人水下航行器获取周围环境信息越准确,避开障碍物的成功率越高。下一节将叙述当前主流的环境信息感知技术。
环境感知是指通过传感器获取航行器的姿态和周围环境信息,再由通信设备传给控制系统做出决策指令的过程。
环境感知技术包括主动感知和被动感知。被动感知是航行器利用自身携带的传感器被动接收周围环境信息。主动感知则是基于雷达和声呐传感器通过发射信号、收集和处理信号的方式来主动获取周围环境信息的感知方法。
雷达是无人水下航行器中环境感知系统的重要组成部分。雷达扫描的结果不仅可以转化为图像,而且扫描结果不受外界环境的影响,可以精确估计出障碍物的位置。本小节将重点介绍激光雷达、毫米波雷达和航海雷达技术。
2.2.1基于激光雷达的环境感知技术
激光雷达可以获得更准确的目标信息并具有抗干扰能力强等优点。刘冰洋[15]在无人船上搭载激光雷达解决了获取河底地形难的问题。郑又能[16]针对水面波纹会对目标识别产生误差的问题,提出一种将相机和三维激光雷达数据融合的目标检测方法。赵玉梁[17]利用点云梯度分割方法对栏格地图法进行补充,提出了复杂水域环境下的目标识别方法。
三维激光雷达通过多条旋转扫描能够有效得到障碍物的大体特征,并且测量精度比传统雷达高。但是光信号受环境影响很大,面对恶劣天气下三维激光雷达探测效果不佳。
2.2.2基于毫米波雷达的环境感知技术
毫米波雷达是通过发射毫米波段的电磁波来获取环境信息,且比激光雷达更具有穿透力,更容易检测到有效目标且具有全天候的工作能力[18]。林雨田[19]针对静态目标识别使用毫米波雷达会存在目标缺失的问题,使用高斯马尔科夫模型对毫米波雷达检测结果进行标签数据,然后结合高斯聚类方法对目标的标签数据进行预测,提高了对静态目标的精度。
在汽车领域中毫米波雷达应用最为广泛,由于海域环境比较复杂,毫米波的探测性能也会受到限制。无人水下航行器使用毫米波探测周围信息时,需提高毫米波雷达的可靠性。
2.2.3基于航海雷达的环境感知技术
航海雷达是雷达中应用最为广泛的一种,技术已经非常成熟。在无人水下航行器中用来定位、探测障碍物和对目标的跟踪。李立刚等[20]针对海上大型目标,航海雷达容易误判为多个海上分散目标的问题,提出了一种基于图像轮廓特征的航海雷达的目标修正方法。面对不同大型目标的同一轮廓,可以进行准确地描述。吴鹏等[21]为了提高对水面上小型目标的感知能力,将航海雷达与光电吊舱结合起来进行协同感知,提高了对目标的探测与识别的能力。胡智焕等[22]利用航海雷达在动态的海洋环境下进行实时获取周围障碍物的位置信息,无人艇的碰撞系统根据障碍物的位置信息快速做出响应,最终快速计算出一条无障碍的路径。在传统的雷达跟踪方法中会受到海波的干扰,获取的位置信息会带有噪声,进而导致数据存在误差。高朋举[23]引入NLM算法对航海雷达获取的图像信息进行降噪处理,得到了精度更高的海冰密集度参数。
激光雷达搜索能力强,但其搜索性能会受到环境的影响。面对烟雾环境,毫米波雷达具有更好的穿透力,广泛应用于汽车领域。而航海雷达是雷达技术应用中最成熟的一种。面对水下复杂环境,可以结合不同雷达的优势,从而提高雷达对周围环境感知的精度。避碰系统在获取周围环境信息之后会产生相应的动作指令,使无人水下航行器完成避障。因此,下一节将叙述智能避碰算法。
随着无人水下航行器的智能化发展,通过引入智能算法来解决传统无人水下航行器的避碰问题。本节将介绍模糊控制、粒子算法和改进人工势场等智能算法在无人水下航行器避碰问题中的应用。
由于水下环境比较复杂,系统的参数很难用线性的方程,准确地描述出来,因此,引入模糊控制方法。模糊控制是一种不依赖于被控对象的非线性控制系统,适合引入无人水下航行器的避碰系统。该方法是通过模糊化接口使输入值变成模糊变量并传入推理机中,推理机结合数据库和规则库得到输出的模糊值,最后通过解模糊接口得到最终的结果。模糊算法的原理如图2所示。
图2 模糊算法原理Fig.2 Principles of fuzzy algorithms
模糊控制算法的改进主要在模糊分类和模糊推理这两部分。①模糊分类,选取合适的隶属函数可以提高模糊控制算法的性能,是解决智能避碰问题的关键。Hasega-wa[24]用三角形和梯形隶属函数来表示模糊变量,实现了输入值的模糊化。Hara[25]在Hasega-wa的基础上加入了船员的主观感受影响,提高了模糊变量分类的准确性。②模糊推理,L.P.Perera在智能避碰系统中采用模糊最大优先算法(fuzzy maximum first,FMF)[26]。G.K.Park通过结合其他智能算法,在避碰模糊推理算法中引入案例推理(case based reasoning,CBR)[27]。
基于模糊控制的无人水下航行器智能避碰方法中的控制量需要以模糊集合为基础,其优点是解决推理过程中非确定性问题,但是需要根据经验法来提前设定参数。因此模糊控制的自适应性还有待提高。
PSO算法是一种寻找最优解的过程,而无人水下航行器的避碰问题也可以被看作成一种寻找路径最优解的过程。粒子算法流程如图3所示。
图3 粒子算法原理图Fig.3 Schematic diagram of particle algorithm
在无人水下航行器中,引入PSO粒子算法可以简化避碰系统,基于PSO算法的避碰系统主要流程分为:① 初始化航行器的位置以及粒子算法的参数;② 根据初始信息对航行器进行路径规划;③ 评估本航行器与障碍物的避碰风险,若存在避碰风险则重新进行路径规划来进行避障,若没有避碰风险则继续航行;④ 判断航行器是否到达目的地,若没有到达目的地则继续航行,若到达目的地则流程结束。具体流程图如图4所示。由图4可知,粒子算法寻优能力的好坏决定了避碰系统性能的好坏。为了提高PSO算法的寻优能力,许诺[28]进行动态调整PSO算法的惯性权重和认知参数,提高了算法的局部搜索能力。Sun[29]把粒子算法和量子力学理论相结合,提出了一种新的离子算法(quantum behavior particle swarm optimization,QPSO)。姚琪[30]研究了粒子净化的方式和QPSO的原理,提出了一种自适应强的粒子分类净化QPSO算法。郭兴海[31]针对海流环境不稳定的避碰问题,引入了混沌图机制和动态权重机制。大大提高了QPSO算法的搜索能力和计算速度。
图4 基于PSO的无人水下航行器避障系统流程图Fig.4 Flow chart of obstacle avoid system for UUV based on PSO
以上方法均是通过对PSO算法改进来提高算法的寻优能力。由于粒子算法在寻优的过程中并未考虑航行器避障系统可靠性以及路径平滑性问题,从而会导致航行器的航行成本增加。倪生科[32]考虑了航行器的路径长度、可靠性以及平滑度等因素,结合了非线性规划的方法,提出了一种混合的遗传算法,考虑到避碰问题中路径最优的问题。除了使用其他智能算法改善航行器路径可靠性和平滑性之外,可以借鉴粒子算法与滑模控制理论来提高系统的可靠性和抗干扰能力。李沁颖[33]利用粒子优化算法获得滑模控制器的最优参数,实现联网车队系统的可靠性以及车队系统的鲁棒性。陈志梅[34]将粒子算法和滑模控制相结合,利用粒子算法优化滑模控制趋近律系数,实现了系统状态消除抖振现象并且快速到达滑模面,改善系统动态性能和鲁棒性。因此,针对PSO算法对航行器进行避碰存在的规划路径是否最优、可靠性以及平滑性等问题,可以设计一个滑模控制器,采用粒子算法对滑模控制参数进行优化,提高航行器避障系统的鲁棒性以及规划路径的平滑性。
在无人水下航行器避碰系统中,引入改进人工势场法的思想是把无人水下航行器的运动被看作是在人造引力场中运动。在航行的过程中,周围的障碍物对航行器产生“斥力”,而最终目的地对无人水下航行器产生“引力”,当航行器航行路线上存在障碍物时,会收到引力场和斥力场的叠加,最终产生一个使航行器避开障碍物的合力。
当目的地对无人水下航行器的引力与障碍物对无人水下航行的斥力相等时,航行器所受合力等于零,此时航行器陷入极小值就无法航行出障碍物区域,改进人工势场法就会陷入局部最优解。假如障碍物在目的地附近的话,航行器则永远不能到达目的地。因此,需要考虑如何设计“引力场”和“斥力场”函数来避免控制系统陷入局部最优解的问题。马小轩[35]通过设置距离法和子目标点法来改进传统人工势场法,解决了系统容易陷入局部最小值和目标不可达问题。郭凯红[36]改进斥力场和引力场函数的参数,解决了无人水下航行器局部路径规划问题。张强[37]提出用滑移区来代替障碍物产生的斥力场方法,并制定一系列滑移规则包括(滑移区判断、滑移区方向判别和参数的选取)。最后在固定海流的环境下实现水下自主航行器的路径规划。为了提高航行器按照规划路径进行航行的精度,施立煜[38]利用人工势场法对船舶进行路径规划,将反步思想和积分滑模控制相结合,实现船舶对期望路径的有效跟踪并在船舶航行过程中实现了避障。韩丽君[39]利用滤波反步法实现了AUV轨迹跟踪精度的优化。李娟[40]采用滤波反步法设计控制器,使UUV跟踪期望路径。
在无人水下航行器的避碰系统中引入改进人工势场法,并结合滤波反步法设计控制器使航行器来跟踪期望路径,提高了无人水下航行器按照规划路径航行的精度。改进人工势场法使系统结构清晰,规划出来的路径比其他智能算法更平滑。但是改进人工势场法的缺陷还是很明显,目前解决陷入局部极小值的方法就是对“引力”和“斥力”函数进行改进,或与其他智能算法进行结合。
UUV的环境感知和路径规划在避碰系统中占重要地位,本文着重介绍了无人水下航行器智能避碰系统中的环境感知系统和智能避碰方法。通过总结和分析发现,在实际的海底环境下,存在涡流和强烈海波的复杂环境,传统的传感器很难准确描述出环境信息,进而导致传统的路径规划算法很难抵消这些强干扰对系统的影响。为了解决上述问题,可以引入学习能力更强的深度强化学习算法(deep reinforcement learning,DRL),DRL的原理如图5所示。可以解决当环境感知系统不能准确获取环境信息时而导致UUV很难规划路径的问题。例如,DRL算法具有做出自主决策的能力,可以实现对UUV航行环境的理解并做出最优决策。并通过设计回报函数来提高DRL的计算速度,提高搜索效率,缩短系统的收敛时间。随着人工智能算法的不断更新,未来有望解决UUV环境先验知识不足情况下的避碰问题。因此,在UUV避碰系统中应用新一代人工智能算法是未来的主要发展方向。
图5 基于深度强化学习的路径规划Fig.5 Path planning based on deep reinforcement learning