基于卡方检测和相关向量机的DVL异常信息处理机制
2022-11-11潘绍华徐晓苏
潘绍华,徐晓苏,张 亮
(1.微惯性仪表与先进导航技术教育部重点实验室,南京 210096;2.东南大学 仪器科学与工程学院,南京 210096)
自主水下航行器(Autonomous Underwater Vehicle,AUV)是水下资源勘探作业的基础,其核心是导航定位技术[1]。惯性导航系统凭借其自主性、隐蔽性特点,成为了AUV导航定位的主要实现手段[2],在短时间内,惯性导航可以保持良好的导航精度,然而,随着时间的延长,惯性导航的误差积累非常明显,导航精度迅速下降[2,3]。在水下电磁波快速衰减,无法长距离传输[4,5],利用电磁波作为能量载体的全球导航卫星系统和雷达等导航系统在水下使用困难。地球物理导航系统需要预先采集并建立相应的导航数据库[6,7]。而水声定位具有传播距离长、衰减损失小的特点。基于声波多普勒效应的原理的多普勒计程仪(Doppler Velocity Log,DVL)可以提供高精度的载体速度信息,其误差不会随着时间积累[1]。由此,捷联惯性导航系统(Strapdown Inertial Navigation System,SINS)与DVL的组合导航系统能够完成高精度、长航时的导航任务,成为AUV的主流导航方式。
对于SINS/DVL组合系统,影响组合导航精度的因素很多,如安装角误差、杆臂误差、DVL误差等[8,9]。SINS和DVL固定后,安装偏差角和杆臂相对稳定,可以在航行前进行校准[10,11]。DVL有两种工作模式,对水工作模式和对地工作模式,工作在水下未知、复杂环境中易受到干扰,测速不稳定可能会发生数据跳变或数据丢失,部分波束失效容易出现野值;并且当AUV航行过程中遇到深沟、淤泥等情况,即海底超过测量范围或存在吸收信号的物质时,DVL可能难以获取反射信号,会导致短时失效[12]。在这些情况下,DVL的速度测量误差可能很大。因此,在复杂海洋环境下,DVL误差是影响组合导航精度的重要因素。
近年来,很多学者围绕着DVL信息异常相关方面进行了大量的研究。针对野值问题,朱兵[13]等提出一种基于马氏距离算法的Huber鲁棒自适应卡尔曼滤波算法,根据量测噪声特性对调节因子进行实时的自适应调整;黄玉龙[14]等提出一种基于学生t分布的鲁棒卡尔曼滤波算法,将量测噪声建模为学生t分布消除野值影响。针对DVL短时失效问题,Bo Wang[15]等提出一种基于支持向量机回归算法建立DVL速度预测模型的方法,应用优化的网格搜索遗传算法选择支持向量回归的最佳参数;Di Wang[1]等提出一种基于DS理论和最小二乘支持向量机的方法,通过DS理论对SINS和DVL进行融合,通过最小二乘支持向量机进行DVL速度预测。注意上述方法都是从单一方面考虑了DVL信息异常情况。事实上,由于水下环境未知、多变,DVL可能存在多种类型的异常信息,不具有普适性。因此,有必要建立能够同时应对多种DVL异常情况的处理方案。
针对上述问题,本文提出一种用于SINS/DVL组合导航系统的DVL异常信息处理机制。一方面,采用较为容易实现的滑动窗卡方检测方法,在检测出野值的时候剔除此时观测量,并采用固定长度的滑动数据窗中存储的观测量序列平滑值替代此时刻的观测量,继续进行组合滤波,消除野值对导航精度的影响;另一方面,采用训练效率更高的相关向量机算法建立了DVL速度回归预测模型,采用具有良好局部插值能力的高斯核函数作为模型核函数,通过贝叶斯联合后验估计来选择相关向量机的最佳参数,在DVL短时失效时依旧保持较高精度导航。
本文建立了SINS/DVL组合导航系统滤波模型;分别提出了基于滑动窗卡方检测的野值处理方法和基于相关向量机的虚拟DVL构建方法以及DVL异常信息处理机制工作方式;进行了仿真和长江试验,验证所提出机制的有效性。
1 SINS/DVL组合导航系统滤波模型
在AUV水下导航定位中,SINS为主导航系统,DVL测量的速度信息为外部辅助信息。采用间接滤波法,将SINS解算得到的导航坐标系n系速度转换到载体坐标系b系下,与DVL测量的b系速度(已进行标定补偿,下文也是同样表述)做差作为量测量进行导航滤波,实现对SINS解算的导航信息实时修正,保证AUV的长航时、高精度导航。
2 DVL异常信息处理机制
2.1 基于滑动窗卡方检测的野值处理方法
图1 滑动窗卡方检测示意图Fig.1 Chi-square detection of sliding window
2.2 基于相关向量机的虚拟DVL构建方法
目前,DVL失效的应对方法主要有隔离法和替代法[16]。本文采用替代法,考虑到传统的预测方法,如支持向量机,核函数必须满足正定,使用核函数数量随着训练集的增长急剧增大,并且训练结果对于边界参数敏感,需要大量的测试以达到较好结果[17];神经网络容易学习过度,无法实现全局最优[18]等,本文选择基于稀疏贝叶斯理论的相关向量机回归模型建立DVL速度预测模型,作为虚拟DVL应对DVL短时失效。考虑到SINS解算的速度与DVL输出的速度有一定的关系,并且SINS可靠性相对高于DVL,本文在SINS解算速度与DVL输出速度之间建立相关向量机(Relevance Vector Machine,RVM)模型。
当DVL正常工作时,将SINS解算速度作为预测模型的训练输入,训练目标输出为同时刻DVL的速度测量值,采用RVM回归算法建立DVL输出的预测模型。而在DVL异常时,此虚拟DVL可以基于SINS解算的速度信息输出预测的DVL速度信息,实现连续导航,避免定位误差积累。
如果直接用最大化似然值的方法,可能的问题是会产生过多的支持向量从而导致过拟合(Over-Fitting)。为避免该RVM模型出现过拟合现象,通过在RVM预测模型中加入超参数,为权重向量ω引入一个先验概率分布[20]。超参数满足:
重复迭代计算直至达到收敛标准或达到最大循环次数而停止,得到基于稀疏贝叶斯理论的RVM模型。如果*x为已知的新的输入时间序列,为与之相对应的时间序列预测目标,那么相应的预测函数为:
2.3 DVL异常信息处理机制实现方案
在本节中,将给出本文所提出方案的具体实施过程,如图2所示。
图2 DVL异常信息处理机制工作流程图Fig.2 The working flow chart of DVL exception information processing mechanism
首先进行初始对准[21],完成后通过IMU数据和DVL数据进行导航过程。此时保存SINS解算速度信息与DVL输出信息进行RVM模型训练。当DVL检测到失效时用虚拟DVL模型预测结果代替失效DVL信息进行组合导航,没有失效则正常导航。将DVL测量信息进行卡方检测,判定为野值则剔除并通过量测滑动窗处理,没有野值则正常导航。通过滤波结果校正SINS输出,保持组合导航系统定位精度,直至完成导航过程。
3 仿真与试验验证
为了验证本文所提出的DVL异常信息处理机制的有效性,本节将所提出算法(简写为X2-RVM-kf,下文同样这样做)与失效时仅隔离DVL(kf)、通过RVM构建虚拟DVL但未处理野值(RVM-kf)、通过SVR构建虚拟DVL并处理野值(X2-SVR-kf)这三种算法进行对比,并采用RMSE作为性能评价指标。分别进行了仿真实验和长江试验验证。
3.1 仿真实验与分析
为了实施本文所提出的算法,在接下来的仿真中以MATLAB R2020b作为实现该技术方案的软件工具,将含有野值的量测噪声建模为:
表1 传感器参数Tab.1 Sensor parameters
考虑到RVM和SVR模型都是单输出的工作方式,将三维速度信息分别训练为三个不相关的模型,进行每一维的速度预测。RVM模型设置核函数宽度因子为0.4、0.1、0.02。SVR模型设置惩罚因子和核函数参数搜索范围分别为[2-10,210]、[2-10,210],其不敏感系数设置为0.015,交叉验证折数5V=,不进行归一化处理。
通过停止DVL的输出仅采用纯惯性系统进行导航来模拟DVL短时失效的情况,失效时间设置为500 s~650 s共150 s的时间。导航过程中收集200 s~500 s时SINS解算的速度与DVL输出的速度作为训练样本,在500 s~650 s DVL异常时使用SINS解算的速度利用RVM构建的虚拟DVL进行速度预测。仿真轨迹如图3所示,星标为初始位置。
图3 仿真轨迹Fig.3 Trajectory of simulation
图4-5给出了DVL失效时仅隔离DVL(kf、蓝色)、DVL失效时采用RVM模型但未处理DVL野值(RVM-kf、绿色)、通过SVR构建虚拟DVL并处理野值(X2-SVR-kf、黑色)和本文所提出的DVL异常信息处理机制(X2-RVM-kf、红色)四种方法的速度误差和位置误差,可以看出,本文所提出的DVL异常信息处理机制能够获得相对最好的定位精度,通过SVR构建虚拟DVL并处理野值次之,采用RVM模型但未处理DVL野值方法有较大误差,仅隔离DVL方法效果最差。
图4 仿真速度误差Fig.4 Velocity error of simulation
图5 仿真位置误差Fig.5 Position error of simulation
在500 s~650 s这段时间,由于DVL失效,仅隔离DVL的方法相当于只采用纯惯性工作模式进行导航,会导致SINS误差积累,精度下降严重。而DVL失效时采用RVM模型但未处理DVL野值方法、通过支持向量机(Support Vector Regression,SVR)构建虚拟DVL并处理野值方法和本文提出方法都保持了较高的精度,说明构建虚拟DVL模型进行速度输出可以有效应对DVL失效的情况。其中可以明显看出,在速度预测的准确度上,本文所采用的RVM模型有更好的效果。但是在650 s以后,DVL失效时采用RVM模型但未处理野值的方法在使用原始包含野值的DVL数据情况下和仅隔离DVL呈现一样的定位误差变大的特性,说明仅考虑虚拟DVL进行速度预测无法实现对野值的抗差特性,伴随全程的DVL测量野值也会使系统的量测噪声呈现厚尾分布,不再满足卡尔曼滤波量测噪声为零均值高斯白噪声的要求,从而导致滤波精度下降,而本文所提算法通过滑动窗卡方检测,可以实现对野值的有效处理。
求取四种方法进行定位的RMSE,得到图6。可以看出,本文所提出方法RMSE最小,能有效应对DVL异常问题。通过求取每种方法x、y、z方向的RMSE的和进行比较来衡量定位精度好坏,其中本文所提出方法较DVL失效时通过SVR构建虚拟DVL并处理野值提升了22.8%的定位精度,较DVL失效时采用RVM模型但未处理DVL野值提升了14.1%的定位精度,较仅隔离DVL提升了36.9%的定位精度。综上,本文所提出的DVL异常信息处理机制全方位考虑到了DVL可能遇到的短时失效和伴随野值的异常情况。
图6 仿真定位RMSEFig.6 RMSE of the simulated position errors
3.2 长江试验分析
为了验证所提出的DVL异常信息处理机制的有效性,在长江进行了试验。
测试传感器包括RTK GPS、IMU、DVL和PHINS。IMU和RTK固定在船上,如图7左侧所示。RTK的精度达到厘米级,因此采用RTK GPS测量船舶的航迹作为算法验证的地面真值。DVL实验装置如图7右侧所示,其中,SINS与DVL设备的安装误差角、杆臂和DVL刻度因子误差已经提前标定好,SINS已经完成初始对准,传感器参数同仿真,SINS和DVL的更新频率为200 Hz和1 Hz,设置DVL失效时间为500 s-650 s共150 s的时间。根据得到的IMU数据和DVL实测数据,分别通过四种方法进行导航解算与滤波过程。RVM模型设置核函数宽度因子为0.6、0.6、0.6,SVR模型设置不敏感系数为0.1,其他相关参数设置同仿真。试验轨迹如图8所示,得到如图9-10所示的速度误差和位置误差,测量船前进方向的DVL测量值经过滑动窗卡方检测处理后的效果如图11所示,测量船前进方向的虚拟DVL预测结果如图12所示,四种方法的定位RMSE在图13中列出。
图7 长江试验装置Fig.7 Device for the Yangtze River test
图8 长江试验轨迹Fig.8 The trajectory of the Yangtze River test
图9 长江试验速度误差Fig.9 Velocity error of the Yangtze River test
图11 虚拟DVL预测结果Fig.11 The prediction results of virtual DVL
图12 卡方检测效果图Fig.12 The effect of the Chi-square test
图13 长江试验定位RMSEFig.13 RMSE of the Yangtze River test
图10 长江试验位置误差Fig.10 Position error of the Yangtze River test
由图9-10可知,在DVL出现故障短时失效期间,同仿真一样,RVM预测模型和SVR预测模型所构建的虚拟DVL能够有效替代真实DVL输出较为准确的速度信息参加导航滤波,保持组合系统正常工作,抑制SINS的误差积累。
图11将y方向的DVL实际输出(蓝色)、SVR预测输出(黑色)与本文采用的RVM预测输出(红色)进行了对比,可以看出RVM模型速度输出与DVL实际输出更为接近,预测效果更好。另外,SVR预测时间约2 min/次,而RVM模型预测时间约2 s/次,RVM预测模型耗时极短,预测效率相对SVR模型提高约98.3%。当实际工程中需对x、y、z多个方向进行及时预测时,短时高效的预测模型可以大大节省时间成本,提高组合导航效率和精度。
另外,在试验中,野值对于系统定位精度的影响非常大,特别是在800 s之后,野值较为密集,由此未对野值进行处理的仅隔离DVL方法、DVL失效时采用RVM模型但未处理DVL野值方法在这段时间内定位误差迅速增大。图12展示了y方向的DVL原始数据与经过卡方检测处理后的DVL数据的对比,可以看到,本文所提出的野值处理方法能够基本过滤掉异常值。综上,本文所提出的DVL异常信息处理机制,综合地考虑了AUV航行过程中的野值问题和短时失效问题,较DVL失效时通过SVR构建虚拟DVL并处理野值提升了22.6%的定位精度,较DVL失效时采用RVM模型但未处理DVL野值提升了67.3%的定位精度,较仅隔离DVL提升了68.8%的定位精度。
目前针对DVL短时失效时通过人工智能算法构建虚拟DVL的研究还不是很多,并且本文中通过寻求SINS解算速度与DVL输出速度之间的联系的方法,可以进行训练的样本特征过少,由此本文仍有一定局限性:当AUV运动状态发生改变时,RVM预测模型的预测精度将会降低。这对于1-5 min短时失效来说,影响是很小的。但是当DVL输出长时间没有恢复时,虚拟DVL的有效性就需要进行考量。由此考虑通过IMU的输出来判断预测结果是否有效:当加速度或角速度输出连续超过设定的阈值时,判断AUV发生较大的运动状态改变。此时建议AUV仅采用纯惯性模式进行工作,并采用动态零速修正的方法重新获取准确的定位信息。
4 结论
SINS/DVL组合导航算法是水下航行器的主要定位算法之一,对DVL的定位精度要求较高。针对复杂、未知环境下DVL测量信息可靠性降低的问题,本文提出了一种DVL异常信息处理机制。采用滑动窗卡方检测算法,有效消除了野值对导航精度的影响。为了避免由于预测精度不足造成的错误补偿,采用了高精度、高效率的RVM算法,建立了DVL速度预测模型应对DVL短时失效问题。将所提出的方法与DVL失效时仅隔离DVL、采用RVM模型但未处理DVL野值、采用SVR模型并处理野值进行了对比,仿真结果表明提出的DVL异常信息处理机制能够在DVL短时失效时准确预测速度信息并且基本消除野值对定位精度的影响。最后通过长江试验验证,该方法在恶劣的水下环境下能保持较高的定位精度。综上所述,该定位方法具有良好的容错性和定位精度,具有一定的应用价值。