李 磊,杜 度,陈 科
(海军研究院,北京,100161)
无人水下航行器(unmanned undersea vehicle,UUV)具有能源独立、自主作业、隐蔽性好等优点,在民用和军事领域均已获得广泛应用。UUV自主航行是其成功完成各种作业使命的前提保障,是其智能水平和自主能力的重要体现。在复杂未知的海洋环境中,为保证UUV的安全性,除了规避静障碍物,还会面对水下漂浮物和其他水下航行器等运动障碍物带来的威胁。运动障碍物按运动信息不同,可分为已知运动和未知运动障碍物 2种,对于已知运动障碍物其状态可预测,而水下环境中的运动障碍物常常是突发的和不可预知的。为此,UUV需要利用探测周围环境所得到的信息,在线实时规划路径,以便在UUV遇到运动障碍物时能够迅速决策和反应。在线实时避障能力的强弱代表了 UUV的自主化、智能化水平的高低,一直以来都是 UUV自主航行亟待解决的关键技术之一。
文中采用栅格地图来构建复杂的海洋环境。栅格地图推理简单,应用方便,但在地图的构建中,环境分辨率与环境信息存储量存在矛盾。UUV对大范围海洋环境建图时,时间和空间开销急剧增加,使 UUV有限的存储处理能力面临严峻的考验,降低了UUV与环境的交互性[1]。因此,针对UUV长航程自主航海任务,在保证高精度环境前提下,减小建图的空间和时间开销,是一个亟需解决的问题。针对此,郭利进[2]提出基于四叉树模型的自适应栅格地图,可根据环境中不同区域的障碍物密度变化,采用不同大小的栅格建立环境地图,从而减少部分存储空间。马兆青等[3]提出裁剪低利用率栅格的地图优化策略,删去落后于车体且与窗口中心的距离大于一定值的栅格,但缺乏对栅格的更新处理机制。为弥补声呐传感器镜面反射的不足,王栋耀等[4]对环境感知采用了活动窗口的概念,当环境信息未知时,航行参考只能依赖前方一定范围内的传感器感知空间,命名此空间为活动窗口,利用当前和历史的声呐数据对活动窗口中的障碍物进行感知,可获得较为丰富的环境信息,但对历史数据和新障碍数据缺乏融合,影响障碍物信息的精度。
生物启发是一种模拟鸟类迁徙、人类进化、某种生物的行为和结构特点来处理另一种具有相似发展趋势的算法[5]。通过模拟动物的反应式行为的避障策略,根据动物遇到天敌时的逃跑行为,秦政等[6]提出了一种反应式的避障算法,使UUV具有迅速的实时反应能力。但该算法仅面向于UUV静态障碍物的避障,应用具有局限性。孙兵等[7]将生物启发模型应用到 UUV的轨迹跟踪中,增加了 UUV运动过程中的稳定性。朱大奇等[8]针对 AUV航行过程中存在速度跳变的问题,将受生物启发的动力学模型运用到三维轨迹跟踪控制算法中。Yang等[9]利用生物启发神经网络模型的无学习、自适应特性,将生物启发神经网络模型[10]应用到地面移动机器人路径规划中,提高了路径规划的实时性。在此基础上,该方法被进一步应用到地面移动机器人的全覆盖路径规划[11]以及环境未知与地图构建[12]中。Li等[13]提出了一种基于生物启发模型的算法用来解决多个移动机器人同时存在一定环境区域的路径规划问题。上述研究均为生物启发式模型应用于机器人路径规划,以实现机器人的实时避障。但研究环境大多为已知,无法处理未知障碍物出现的情况。
文中对前视声呐传感器探测障碍物的过程、信息的获取及处理不做研究。假设 UUV可以通过前视声呐获得障碍物的位置及运动状态,采用预测控制滚动优化原理,以各种障碍物的信息为基础,采用滚动栅格法对未知环境进行实时建模,将所得的滚动栅格地图一一对应为神经网络拓扑结构图,然后根据UUV的实际航行状态,设计了改进的生物启发模型对UUV进行实时路径规划,使得 UUV沿规划好的路径运动,从而实现了UUV在线、快速和安全避障。
滚动占有栅格地图(rolling occupancy grid map,ROGM)是一个由M×N(M,N为奇数,反映了局部地图的尺寸)个栅格组成的矩形区域,跟随 UUV的移动而不断更新栅格状态,栅格大小为边长Lg的正方形,如图 1中所示。UUV的滚动占有栅格地图可表示为
式 中:i=1,2,…,M;j=1,2,…,N;Ci,j表 示 第i行,第j列的栅格,里面存储有占有状态概率其中心栅格为可简写为Ccenter;Xm是Ccenter在 UUV工作空间上的中心位置坐标。
在ΩM中,Ci,j在UUV工作空间上的中心位置坐标X(Ci,j)可根据Xm来计算,即
图1 滚动占有栅格地图Fig.1 Rolling occupancy grid map(ROGM)
下文将从ROGM的初始化、位置移动及栅格状态更新几个方面对其进行详细描述,对实时环境进行动态建模。
ROGM 的初始化包括地图中心的初始化和所有栅格占有概率的初始化2部分。文中将中心位置设定在UUV的起始位置。在起始时刻t0,设UUV的起始位置是Xr(t0),将Xr(t0)设为ROGM的中心,即Xm=Xr(t0)。根据占有栅格原理,在完全未知环境下,各栅格的初始占有概率设为0.5。
为了减少更新次数和保证环境信息的精确性,ROGM采用间歇移动方式。其发生移动的条件为
式中,Dcha为ROGM的移动判断距离,与UUV的最大运动能力和人为设定的调整时间有关。UUV速度一定时,Dcha决定了 ROGM 的移动速度,Dcha越大,移动越慢;Dcha越小,则移动越快。
在满足移动条件时,ROGM移动,并经移动将旧地图ΩM变为新地图。移动过程中,ΩM上的一部分栅格转移到Ω′上,栅格状态得以保留,只是改变了其下标,即在Ω′中的相对位置发生改变,称为留存栅格。而ΩM中的一部分栅格状态由于不能包含在Ω′中而被删除,称为遗弃栅格。相应的Ω′也开拓了一些新栅格,称为新拓栅格。ROGM移动时,不同栅格的状态变化如下:对于留存栅格,对于新拓栅格,其栅格状态设为未知状态;而遗弃栅格在移动后的地图上没有体现,其概率状态被删除。
在地图2次相邻移动的时间段内,ΩM的地图中心和其他栅格的空间位置不变,只是栅格的占有概率根据获取的声呐信息实时更新。为解决声呐信息冲突问题,并获得高精度的栅格地图,需对声呐不同的波束信息进行数据融合。考虑栅格Ci,先验概率为基于历史声呐观测值当前栅格占有概率为给定新的声呐观测值rt+1,根据分区域声呐模型,可得栅格在最新观测值下的占有概率当前栅格状态概率做为一个先验概率由ROGM中提取,根据 Bayes理论,通过与最新的测量值融合,栅格占有概率可被更新为得到最新的栅格占有概率存储在栅格地图中。
滚动栅格地图的动态建模是将前视声呐传感器探测到的障碍物信息融合到环境模型中以及根据栅格中心单元与UUV的实际位置距离进行滚动栅格地图的位置更新的过程,以栅格单元的状态来表示障碍物信息,为 UUV动态避障提供了基础。
假设整个生物膜上所具有的膜电位为Vm,膜电容为Cm;设定钾离子、钠离子及负电流所对应的静息电位分别为Ek、ENa和Ep;钾离子、钠离子及负电流所相应的电导为gk、gNa和gp。则膜上电位可表示为[10]
设计意图: 学生作为国家未来的栋梁,社会责任意识不可缺,通过对艾滋病在全球、全国发病的现状分析,使学生对艾滋病有更多的了解,同时认识到艾滋病发展的严峻形势和每个公民的责任和义务,在课堂上润物细无声地渗透责任意识,鼓励学生用自己的专业知识为社会奉献自己的力量,培养学生责任意识。
通过处理可得以下形式的生物启发模型
式中:兴奋性输入f(ei)=max(ei,0);抑制性输入g(ei)=min(ei,0)。
在有兴奋性输入时,神经元的活性值是趋于增长的;有抑制性输入时,其活性值趋于递减。针对神经元活性值的这种变化,将障碍物在滚动栅格地图中的状态信息作为抑制性输入,把在线避障目标点在滚动栅格地图中对应的栅格单元的状态当做模型的兴奋性输入来不断调节神经元的活性值,根据不同时刻下整个活性输出值分布情况进行UUV在线实时避障。
通过以上方法,将 UUV实时在线探测的环境状态离散化为滚动栅格地图。将每个栅格单元看作是一个神经元,滚动栅格地图中的所有栅格单元与神经元一一对应,又因为相邻神经元存在横向联系,形成神经网络拓扑图,如图2所示。
图2 神经网络拓扑结构Fig.2 Topology of neural network
在每一时刻 UUV都会占据神经网络拓扑图中的一个神经元(对应一个具体栅格单元),其相邻的神经元为 UUV下一时刻可选的位置,具体航行位置取决于相邻神经元活性值大小,最大活性值的神经元(栅格)即表示UUV航行方向。图中:Wij为第i个神经元和第j个神经元间的连接权值,其值通常是一个衰减函数;R为一个区域半径。
由式(6)以及神经元之间的关系,可进一步得出第i个神经元活性值对应的微分方程
式中,xi为第i个神经元的活性值。
假设当前时刻 UUV位于栅格单元为Xk,该栅格所对应的神经元为cell[i][j],通过计算其周围神经元活性值的大小,找出活性输出值最大所对应的神经元,设其对应的栅格单元为Xk+1,即Xk+1为下一时刻UUV驶向的栅格单元。
为此,将在栅格单元Xk+1内取N个位置点。Xk,i,Xk+1,j分别是Xk和Xk+1内的随机采样点,假设Xk,i是UUV在栅格单元Xk的具体位置,那么UUV下一时刻航向的具体位置为栅格单元Xk+1内的Xk+1,j,j=1,2,3,…,N中的一点。
Xk+1到Xk+1,j的移动代价函数可定义为
Xk+1到Xk+1,j的 航 向为φi=∠ (Xk+1,j-Xk,i),众所周知,艏向变化越大时,UUV所进行的操作越复杂,即UUV运动到该位置的可能性越小,根据UUV的艏向限制条件可设计艏向代价函数
定义判定函数
式中,λ1,λ2为权重系数,且λ1+λ2=1,文中取λ1=0.25,λ2=0.75。
比较 UUV在N个采样值范围内的判定函数P(Xk,i,Xk+1,j),j=1,2,3,…,N,若j=n时判定函数最大,那么 UUV 下一时刻的具有航向位置为Xk+1,n。
综上,文中将 UUV的避障规划问题转变成搜索UUV下一个航行位置的问题。
下面将从2个方面对文中的在线路径规划进行仿真。仿真1为对ROGM进行的建模仿真,验证实时建模的正确性。仿真2是基于改进生物启发算法的避障过程,以验证该算法的有效性。
设定栅格边长为Lg=5m,取Rdet=150m,Rdec=150 m,Tv=15s,umax=3m/s,则移动判别距离可选为Dcha=45 m。可取M=71,N=71,最终得 ROGM的大小为 (35 5×355)m2。为了描述声呐的感知误差,每次探测对每个波束返回的距离值都附加一个随机误差值,距离误差值服从标准方差为5 m的正态分布。以某障碍环境进行仿真验证,UUV从起点(400,600)m航行到目标点(0,1 000)m,环境大小 (70 0×700)m2,环境中分布有2个多边形障碍物。
图3为UUV运行120 s时形成的路径。在t=120 s时,根据移动判别条件,ROGM经过7次移动,其中心变为(185,835)m。通过比较,栅格占有概率的分布符合环境特征。ROGM的总栅格数为 (355/5)2=5041,如果建立全局栅格地图,需要的栅格数为 (700/5)2=19600,可看出 ROGM大大节省了地图存储空间,其提供的环境信息精度较高,可满足UUV实时避障决策的需要。
图3 ROGM构建仿真结果Fig.3 Simulation results of ROGM
为验证所设计的动态避障方法的有效性及正确性,下面设计仿真案例进行动态避障仿真。障碍物位置和运动信息未知,采用前视声呐作为避障感知设备。取运动参数由于前视声呐探测范围和距离有限,检测算法对从UUV后面过来的动障碍物无法识别,因此假设环境中不存在从UUV后方过来的障碍物。静障碍物的外形为多变形,为简便计算,动障碍物设为矩形,动障碍物的最小外接圆的直径等于矩形的对角线长度。UUV从起点(0,0)航行到终点(450,450)m,起始航向45°。
图4 动态避障结果示意图Fig.4 Schematic diagram of dynamic obstacle avoidance
图5 不同阶段UUV动态避障效果示意图Fig.5 Schematic diagram of a UUV's dynamic obstacle avoidance in different phases
由图中可看出,UUV在感知到障碍物后,迅速更新滚动优化地图,进行实时在线规划航迹,UUV通过对航迹的跟踪,实现对障碍物的躲避。试验结果验证了 UUV可安全规避动静障碍物,对动态复杂环境有很强的适应性。
文中针对 UUV在未知环境自主航行中的障碍物躲避问题,提出一种改进的生物启发式算法,致力于实现UUV的在线实时路径规划。首先,根据前视声呐传感器获得的 UUV周围环境信息采用ROGM进行在线环境建模;然后,使用文中提出的基于改进生物启发模型的在线避障方法,并依据避障检测机制,实现UUV实时在线避障;最后,设计了复杂环境中障碍物避障的在线路径规划仿真试验,验证了方法的可行性。该算法对UUV的计算能力要求较高,目前正处于理论研究阶段,下一阶段计划将其应用于 UUV的实时避障当中。