侯玉乙,滕音文,孙宝龙
(大连船舶重工集团设计院船研所,辽宁 大连 116005)
无人水面艇简称无人艇,是一种小型水面智能平台,其智能系统包括通讯系统、运动控制系统和辅助无人艇安全航行的传感器系统[1]。随着通信、人工智能等技术的迅速发展和应用需求的强力推动,无人艇已进入快速发展时期,在水文研究、水面环境监测、海事服务等领域扮演着越来越重要的角色[2]。
当前,无人艇研究主要集中在路径规划算法方面,陈霄等[3]提出一种基于改进视线导引算法与自适应滑模航向控制算法的无人艇航迹跟踪控制算法,通过Matlab仿真实验与传统算法进行对比,验证了算法的有效性。陈卓等[4]提出采用进化势场模型完成无人艇的路径规划,在算法模型中引入路径评价方程和微分进化算法,仿真结果验证了算法的有效性。吴波等[5]研究了基于速度障碍法的无人艇自动避碰算法,克服了局部路径规划的局限性,仿真完成了复杂环境中的安全避障。无人艇路径规划问题是运动控制系统的重要组成部分,包括基于环境信息的全局路径规划和基于外部传感器的局部路径规划。基于环境信息的全局路径规划前人已经进行了大量研究[6-7],但在规划航线上难免会存在一些未知的静态障碍物,影响航行安全。无人艇要想实现自主航行,不仅要实现在全局规划航线上运动,同时还要能够及时避开规划航线上的未知障碍物,保证其安全航行。
无人艇运动控制系统由船载部分和岸基部分组成,如图1所示。船载部分包括的无人艇控制器是运动控制系统的核心部分,负责处理来自传感器、通讯模块和导航模块的数据,做出航行决策;传感器模块,负责感知无人艇周围环境信息,为模糊控制算法提供障碍物距离信息;导航模块,提供无人艇实时位置;船载无线数据传输模块将信息实时传输到地面站系统,供岸基人员监控、决策;动力模块接受控制器的输出指令,对螺旋桨和舵机进行控制。岸基部分主要包括接受无人艇上实时传输参数的岸基无线数据传输模块和地面站系统,地面站系统用于存储数据信息和实现无人艇状态参数显示,供岸基人员监控和进行数据分析。
图1 无人艇运动控制系统组成示意图
无人艇采用全局路径规划与局部路径规划相结合的方式完成自主航行。全局路径航行是指人在岸基根据地图信息设置好需要到达的航点,使无人艇沿着自动生成的路线航行;当在规划航线上遇到未知的静态障碍物时,无人艇通过自身携带的超声波传感器获取周围环境信息,当发现前方有威胁到自身航行安全的障碍物时,启动避障模块,使其绕开障碍物,顺利完成各航点的巡航任务。无人艇避障流程图如图2所示。在整个运动控制过程中,避障模块的优先级最高,即在航向过程中首先需保证无人艇的航行安全,其次是在设定航线上航行。
图2 避障流程图
模糊控制是控制理论和模糊数学结合得到的控制方法,通过规则实现系统控制,不依赖于精确数学模型,但也不是随机的,规则依赖于现有知识基础和专家经验。本文无人艇避障系统采用模糊控制算法,依据专家经验和避障规则制定算法控制规则。规则包括4个输入,分别为前方、左侧、右侧超声波测得的距离和罗盘测量的偏航角;2个输出,分别为舵角和航速。部分模糊控制规则如表1所示。
表1 模糊控制规则表
其中,近和远代表距障碍物远近信息;正、负和零表示无人艇航向与目标航向的夹角即偏航角,以右为正;右舵大表示操右舵,且为大舵角;左舵小表示操左舵,且为小舵角;快、慢表示航速。
规则采用“IF-THEN”的形式进行描述,例如:IF无人艇左方、右方无障碍物或距离障碍物较远,前方距离障碍物较近,且偏航角为正,THEN无人艇以右舵大舵角慢速航行。
隶属度函数是模糊控制的基础,隶属度函数构造是否合理将直接影响控制器的性能。隶属度函数主要包括三角形隶属度函数、梯形隶属度函数和高斯型隶属度函数[8]。本文依据专家经验,结合超声波传感器的测量距离和无人艇航速设计模糊控制算法的输入、输出范围和隶属度,选择三角形和梯形隶属度函数作为函数模型,通过MF编辑器来构建隶属函数,进行反复调试,最终得到了理想的结果,如图3所示。
图3 隶属度函数曲线
无人艇模糊控制算法包括4个输入和2个输出,输入分别为图3(a)、(b)、(c)所表示的前、左、右3个方向上的超声波测距传感器测量的距障碍物距离信息隶属度和图3(d)表示的偏航角隶属度;输出分别为图3(e)、(f)所表示的舵角和航速隶属度。由图3知,超声波测距传感器的论域为[0,800],因船的运动主要在船长方向,几乎不发生侧移,所以,对于前面的超声波传感器,当距障碍物的距离小于600 cm时,船舶开始进行避障;当距离小于200 cm时,视为距离障碍物很近,进行紧急避让;左右两路超声波,其主要作用是保障船舶在狭窄区域或转向时的安全,与障碍物距离大于400 cm时,均视为安全距离,小于100 cm时视为距障碍物较近。偏航角的论域为[-180,180],输出速度论域为[0,4],舵角输出大小根据实船操舵要求,舵角论域设为[-30,30]。
模糊控制算法避障仿真实验在Windows 7系统,MATLAB 2014a环境下进行。在16 m×8 m仿真环境设置若干障碍物,如图4所示,黑色实心圆即为障碍物位置信息,为了仿真过程中直观判断无人艇航行路线是否在安全区域;点划线圆绘出了无人船航行时距障碍物的安全范围,圆外即为安全区域,圆内属于危险区域。
图4 仿真环境
为了验证算法的可行性,分别设置3个起点和终点,基于模糊控制算法在环境中分别进行路径规划。起点1(0,0),终点1(16,8);起点2(0,0),终点2(16,6);起点3(0,2),终点3(16,8);路径仿真结果如图5所示。由图5可知,算法生成的路径可有效避开环境中的障碍物,且均在安全区域内,满足无人艇航行、避障要求,验证了算法的有效性。
图5 路径仿真图
针对当前无人艇智能航行中,如何更好地避开规划航线上的障碍物问题,本文提出在艇上安装超声波传感器的方式,获取航行过程中周围环境信息,采用基于专家经验的模糊控制算法,实现无人艇航行过程中有效避开规划航线上的障碍物。依据专家经验设计了避障规则,根据超声波传感器的有效工作范围和无人艇航速设计了隶属度函数曲线,Matlab仿真结果验证了算法的可行性,对无人艇智能航行具有借鉴意义。