APP下载

基于神经网络的INS/GPS组合导航误差补偿研究*

2019-08-22鲍泳林

弹箭与制导学报 2019年2期
关键词:惯性滤波姿态

鲍泳林,李 皓,袁 鸣,董 严

(中国工程物理研究院总体工程研究所, 四川绵阳 621999)

0 引言

相对惯性导航,INS/GPS组合导航系统利用GPS速度、位置信息构建观测量,通过Kalman滤波对惯性解算误差进行最优估计,并修正惯性解算结果,大大提高了导航解算的精度。但在实际应用中,GPS信号受遮挡、载体机动等外界因素影响可能失锁,失去对INS的误差校正,导致导航系统精度下降甚至发散。针对该问题,近年来有学者提出了利用神经网络进行辅助的方法[1-5]。其基本思想是利用GPS信号有效时的导航数据训练神经网络,在GPS信号失效时接入该训练好的网络,由其预测出可用于组合导航的数据,使组合不间断。文献[2]以纯惯性解算的水平速度为输入,Kalman滤波估计的水平速度误差为输出对RBFNN(径向基函数神经网络)进行了训练,并利用训练结果对滤波器进行辅助输出;文献[3-4]采用MEMS传感器测量为输入,Kalman滤波的水平速度和位置误差为输出对RBFNN或BPNN(前馈神经网络)进行了训练;文献[5]以纯惯性解算的速度和位置为输入,以系统组合导航的结果为输出对BPNN进行了训练。这些方法使系统误差发散得到了一定程度的抑制,但均仅针对载体在地面水平运动的情况,对飞行状态下的运动情况未作讨论。

针对飞行载体,文中研究采用基于RBFNN的辅助组合导航算法,利用GPS有效时惯性器件测量数据作为神经网络输入,Kalman滤波输出的状态估计作为标签(即网络输出)训练网络,在GPS失效时,利用训练好的网络估计INS的姿态、速度及位置误差并校正。最后将该方法与组合导航算法结合,采用飞行试验数据验证了其效果。

1 INS/GPS组合导航模型

文中研究对象为MEMS+GPS松组合导航系统。建立如式(1)、式(2)所示的状态变量和状态方程[6],基于GPS测量速度和位置构建量测方程,则根据Kalman滤波方法,可以通过GPS测量数据获得15个状态变量的最优估计。

(1)

式中:

(2)

式中:φ为俯仰、滚转和偏航姿态角误差;δv为东北天速度误差;δp为经纬高位置误差;ba、bg分别为加速度计和陀螺仪零偏;w为系统误差。F阵各元素根据惯性解算速度、位置和姿态方程[7]计算可得。

设量测方程[8]为:

(3)

式中:δPGPS、δVGPS分别为GPS测量的位置和速度误差;δPIMU、δVIMU分别为惯性器件积分的位置和速度误差;v为GPS系统误差,则有:

(4)

至此建立了系统的Kalman滤波状态模型:

(5)

根据式(1)~式(5),可以基于GPS数据进行Kalman滤波获得x的最优估计。利用该估计修正惯性解算结果即得到了松组合后的组合导航结果。

在本算法中,GPS失锁后,Kalman滤波器失去观测量而无法继续工作,系统切换为纯惯性解算,此时Kalman滤波仅做状态的一步预测。

2 RBFNN组合导航误差补偿方法

2.1 采用神经网络的组合导航误差补偿原理

人工神经网络是一种大规模并行分布式处理器,能够对高复杂度的非线性随机问题建立模型[9]。组合导航系统解算误差主要由陀螺仪与加速度计测量误差引起。在飞行条件下,假定载体的运动状态、惯性器件测量误差以及导航系统解算误差之间存在某种非线性随机关系,理论上如果设计出适当的神经网络,并选取合理的样本进行学习能够辨识出这种关系。在相同的飞行条件下,测量数据与解算误差之间应满足这种关系,从而可以利用神经网络在GPS失效时对解算误差进行预测。

图1 系统工作原理

采用RBFNN作为辅助组合修正的系统工作原理图如图1。惯性器件测量数据包含了载体运动状态和测量误差信息,因此直接将其作为网络输入,Kalman滤波给出的误差估计作为输出对神经网络进行训练。GPS有效时采用训练模式,系统采用GPS测量数据进行Kalman滤波,同时接入加速度和角速率数据作为输入,x的前9项为输出对RBFNN进行训练。当GPS失效时切换到预测模式,此时采用RBFNN作为辅助,将加速度和角速率输入给RBFNN预测x的前9项。通过两种模式的切换实现组合修正的不间断进行,补偿导航系统误差。

2.2 神经网络及RBFNN

神经元是神经网络的基本处理单元,其基本结构可描述如图2。

图2 神经元结构

其中X=[x1,x2,…,xn]T为n个输入;W=[w1,w2,…,wn]T为网络的权值,表示了输入与神经元之间的连接强度;常用的神经元输出可用下式表示为:

(6)

式中:θ为偏置,f(·)为输入输出激活函数。将大量神经元按照一定拓扑结构连接起来即构成神经网络。每一层神经元的输入是上一层神经元输出的线性加权和,该权值为网络可调参数。权值调整的过程即为网络的训练过程,通过训练可以使网络逐渐逼近给定输入与输出之间的函数关系。

图3 径向基函数神经网络结构

径向基函数神经网络RBFNN[10]是一个只有隐藏层的三层前馈神经网络结构,能够以任意精度逼近任意非线性连续函数,具有良好的泛化能力,训练收敛速度和稳定性均较好,故采用。其结构如图3所示,x1,x2,…,xn为网络输入,ω为输出权矩阵,b1,b2,…,bn为输出单元偏置,y1,y2,…,yn为网络输出,c代表网络中第i个隐含层神经元节点的数据中心值,φ为第i个隐含层神经元节点的激活函数。

在式(6)中,常用的神经网络(如BPNN)隐含层节点输出函数采用线性函数,激活函数采用Sigmoid或Tanh函数,而RBFNN隐含层节点输出函数采用距离函数,并使用径向基函数(如高斯函数)作为激活函数,从而实现将低维空间的输入通过非线性函数映射到高维空间,再在这个高维空间进行曲线拟合。同时RBFNN输入到输出为非线性映射,但隐含层到输出仍为线性映射,网络的权值可由线性方程组直接解出,从而大大加快学习速度并避免神经网络训练局部极小问题。

2.3 RBFNN的建立

采用该组合导航系统某次机载飞行试验数据(运动状态为空中定点盘旋爬升),选取GPS信号良好的运动段,载机的三向加速度和三向角速率作为输入,Kalman状态估计作为标签,建立RBFNN。

该导航系统中,Kalman滤波周期为0.1 s。在70~450 s内,载机水平方向完成了一次盘旋飞行。在选取训练样本时,考虑覆盖全(水平)运动状态,取70~450 s的3 800组数据作为训练样本。

利用MatLab 神经网络相关函数可快速建立RBFNN并对网络进行训练。取径向基函数分布密度为0.5,训练后网络的期望误差低于10-4,建立RBFNN并训练。经过1 580次迭代,网络达到指定精度。

3 仿真验证

将上述训练好的网络封装至Simulink,并集成到系统导航解算模型中,如图4。仿真中直接载入上述已训练好的RBFNN,当GPSVali=1时对状态量进行预测。在Kalman滤波模块中,根据GPSVali进行一步预测的切换。

图4 组合导航仿真验证模型

仿真中设置Kalman滤波初始参数如下:

1)初始失准角:17°;

2)加计常值漂移:4×10-2g,加计随机漂移:2×10-3g;

3)陀螺常值漂移:5°/h,陀螺随机漂移:5°/h;

4)GPS精度设置为:经纬高位置误差5 m,速度误差0.5 m/s。

取水平方向运动状态不超过训练样本的运动段(450~650 s),人为设置GPS失锁,利用上述训练好的神经网络进行仿真。对失锁后纯惯性解算和失锁后以RBFNN预测结果作为辅助组合解算得到的速度、位置和姿态与无失锁状态下的解算结果进行对比,得到半实时仿真结果如图5~图8。

图5 平面轨迹对比

图8 姿态误差数据对比

从图5~图8中可以看出,在GPS失效时,纯惯性解算的位置、速度迅速发散,姿态发散不明显。而引入RBFNN进行误差预测后,水平方向上的位置、速度发散得到了显著抑制,而垂直方向校正效果不明显。从姿态数据来看,引入RBFNN后姿态误差略有增大。根据文献[3],采用RBFNN进行速度、位置误差预测代替Kalman滤波,地面水平运动载体的速度和位置均能较好地收敛,与文中仿真结果基本一致,表明将该方法应用在同时具有水平和垂直方向运动的飞行载体上,同样能够有效抑制水平方向速度和位置发散。在仿真的200 s内,解算结果与GPS有效时更为接近,RBFNN在一定程度上起到了抑制导航解算发散的作用。

表1给出了采用RBFNN预测的GPS失效时间段内状态变量x前9项与Kalman滤波估计值的统计特性对比。可以看出,预测结果中三向速度、经度、纬度误差的标准差和均值均与Kalman滤波给出的结果较接近,但姿态、高度误差均值均偏离较大,相差两个数量级。可见该RBFNN并未能较好地预测出姿态及高度误差,导致姿态及高度修正效果不佳。经分析,在惯性解算环节,天向速度更新依赖于重力项的更新,而重力项更新依赖于高度更新[12],因此,高度校正的偏差也带来了天向速度的偏差。

神经网络训练的优劣与网络结构、训练数据的选取、数据本身的规律性等因素都有直接关系。文中研究在训练RBFNN时选取的样本为载机盘旋爬升阶段的数据,覆盖了预测阶段的水平方向运动状态,而未覆盖垂直方向运动状态,这可能是导致神经网络高度误差预测效果较差的原因之一。另一方面,速度、位置、姿态数据更新不仅依赖于惯性器件测量数据,其相互之间也存在耦合关系,其中姿态数据同时与速度和位置数据相关。在神经网络训练时仅选择惯性测量数据作为网络输入,可能对上述关系建立不充分,从而导致姿态误差预测效果不佳。总体而言,本研究采用的RBFNN针对该飞行试验数据起到了一定的辅助校正效果。

表1 各误差项统计特性对比

4 结论

针对INS/GPS组合导航系统中GPS失锁后解算精度下降问题,文中研究采用RBFNN对载体姿态、速度及位置误差进行预测,辅助Kalman滤波对惯性导航系统输出进行校正,从而抑制系统惯性解算发散。利用飞行试验数据对该方法进行了事后仿真验证。从仿真结果来看,采用RBFNN预测辅助Kalman滤波的组合导航方法,对于该组数据的水平方向运动能够较好地发挥作用,而对垂直方向运动和姿态的补偿效果有待提高。该方法在一定程度上起到了抑制导航解算发散的作用。

该研究中采用的试验数据变化平稳,选用的训练数据段与预测数据段(在水平方向上)具有较好的一致性,在实际应用中该条件可能无法满足。针对垂向运动和姿态误差预测,采用神经网络进行辅助校正的方法还有待进一步研究。此外,该方法在训练时选取了大量的样本数据,训练过程中迭代次数较多,训练速度无法满足实时组合导航解算应用要求。但在类似的飞行试验数据事后分析中,针对GPS失锁导致的试验数据有效性下降问题,该方法提供了一种相对有效的补偿途径,同时也为组合导航提供了一种新思路。

猜你喜欢

惯性滤波姿态
基于KF-LESO-PID洛伦兹惯性稳定平台控制
攀爬的姿态
一种考虑GPS信号中断的导航滤波算法
高效LCL滤波电路的分析与设计
基于多窗口中值滤波和迭代高斯滤波的去除图像椒盐噪声的方法
另一种姿态
无处不在的惯性
对惯性的认识误区
无处不在的惯性
以文青的姿态回归主流——对《后悔无期》的两重解读