《电子技术应用》
您所在的位置:首页 > 微波|射频 > 设计应用 > 神经网络辅助的GPS/INS组合导航滤波算法研究
神经网络辅助的GPS/INS组合导航滤波算法研究
2015年电子技术应用第5期
陈鑫鑫,张复春,郝雁中
中国人民解放军空军航空大学 航空理论系,吉林 长春130022
摘要: 在高空高速条件下,GPS信号失锁致使常规的卡尔曼滤波器发散,从而导致组合导航系统精度严重下降。以BP神经网络辅助技术手段对GPS/INS组合导航滤波算法实施精度补偿,即在GPS信号锁定时,对神经网络进行实时在线训练,而当在GPS信号失锁时,利用之前训练好的神经网络进行组合导航滤波,以解决精度严重下降问题。
Abstract:
Key words :

    摘  要: 在高空高速条件下,GPS信号失锁致使常规的卡尔曼滤波器发散,从而导致组合导航系统精度严重下降。以BP神经网络辅助技术手段对GPS/INS组合导航滤波算法实施精度补偿,即在GPS信号锁定时,对神经网络进行实时在线训练,而当在GPS信号失锁时,利用之前训练好的神经网络进行组合导航滤波,以解决精度严重下降问题。算法采用多神经网络并行结构,以减少神经网络在训练过程中的交叉耦合,提高训练速度。通过MATLAB仿真,验证了算法的可靠性与可行性,并证明其在GPS信号丢失时,精度较纯惯性导航系统有较大提高。

    关键词: 卡尔曼滤波;组合导航;GPS/INS; BP神经网络

0 引言

    GPS/INS组合导航系统由于其高精度、高可靠性、具有全天候工作能力等突出优点,成为组合导航系统的主要发展方向之一,被广泛应用于军事和民用等领域的导航。

    卡尔曼滤波技术和BP神经网络技术都是现今发展较为成熟的技术,但其单独作为组合导航系统滤波算法时,都存在一些不足。卡尔曼滤波技术是现今发展较好的组合导航系统滤波技术,大量应用于生产生活中,其设计简单、适用性好、精度高的特点受到人们的青睐。然而,在高空高速条件下,GPS信号容易失锁,从而造成卡尔曼滤波器发散等问题。BP神经网络本身具有非线性、自组织和自学习能力,适合于解决非线性问题,但是,将其单独应用于组合导航滤波时,精度相对较低,不能满足导航精度要求。

    本文将BP神经网络辅助卡尔曼滤波算法应用于GPS/INS组合导航系统,其精度要明显优于两者单独采用时的滤波器。两者的组合方式分为松散组合和紧密组合两种,其各有优缺点。紧密组合的导航精度虽然较松散组合更高,但当GPS卫星失锁完全无信号输出时,该组合方式失效,不能起到滤波作用。另外,采用紧密组合方式结构复杂,计算量大,故本文采用了松散组合方式。此方式具有结构简单、可靠性高、容错能力强等优点,是动态测量质量的可靠保证。

1 系统结构

    基于BP神经网络辅助卡尔曼滤波的GPS/INS组合导航系统结构如图1所示。组合导航系统滤波分为2种模式:卡尔曼滤波模式和BP神经网络预测模式。当GPS信号锁定时,组合导航系统采用卡尔曼滤波模式,卡尔曼滤波器的输入为INS和GPS的速度、位置差值,经过卡尔曼滤波之后,输出量为:

    ck6-gs1.gif

式中:[ΔVE  ΔVN  ΔVU]为东向、北向、天向速度误差,[Δλ  ΔL  Δh]为经度、纬度、高度误差。

ck6-t1.gif

    卡尔曼滤波的输出量与INS的输出量相组合,得到组合导航系统的最终输出,并用该最终输出对INS和GPS子导航系统进行反馈校正。与此同时,对BP神经网络进行在线训练。

    BP神经网络在线训练时,为了避免训练过程中的交叉耦合,提高训练精度和速度,减少神经网络权值不必要的调整,本文采用了多BP神经网络并行结构,训练BP神经网络时的输入分别为INS的3个速度分量和3个位置分量,以及其与前一时刻的速度分量、位置分量的差值,组合导航系统的最终输出作为训练神经网络的目标,对BP神经网络进行在线训练。

    当GPS信号失锁不可用时,卡尔曼滤波模式发散,精度严重下降,故采用BP神经网络预测模式。

2 卡尔曼滤波设计

    卡尔曼滤波的状态方程和量测方程分别为:

    ck6-gs2-3.gif

    式中,ΦK,K-1为一步转移阵,ΓK-1为系统噪声驱动阵,HK为量测阵;VK为量测噪声序列;WK为系统激励噪声序列。

    在组合导航系统滤波算法设计时,将GPS的位置、速度信号和INS的位置、速度信号的差值作为卡尔曼滤波器的观测量,XK按下面方程求解[1]:

    ck6-gs4.gif

3 BP神经网络设计

    BP神经网络具有非线性、自组织和自学习能力,适合于解决非线性问题,是现今发展较为成熟的技术。理论研究表明,单隐层的BP神经网络可以进行任意的曲线逼近,结构简单,效果明显。

3.1 BP神经网络模型设计

    BP神经网络拓扑结构分为输入层、隐含层、输出层,如图2所示。其中,隐含层为非线性层,采用sigmoid函数:

    ck6-gs5.gif

    而输出层为线性层,采用的函数为线性函数。

ck6-t2.gif

    BP神经网络的前向计算公式为[2]

    ck6-gs6.gif

式中,w为神经元之间的权值,M为输出层节点数,H为隐层节点数,N为输入层节点数,b为神经元内的阈值。

    本文采用的神经网络输入层有2个神经元,输出层为1个神经元。隐含层神经元数目由式(7)确定:

    ck6-gs7.gif

式中,k为训练样本个数。

3.2 神经网络的工作模式

    本文设计的神经网络主要有在线训练模式和预测输出模式。当GPS信号锁定时,利用组合导航系统最终输出对神经网络的在线实时训练,当GPS信号失锁时,组合导航系统只剩下INS输出,这时,采用神经网络预测模式,对INS输出进行调整,达到减少组合导航系统误差、提高导航精度的目的。

4 仿真验证

    本文采用MATLAB软件对神经网络辅助的组合导航滤波算法进行仿真验证,仿真时间为900 s。仿真中,陀螺漂移、GPS速度和位置都看作是马尔科夫过程,参数设置如下[3]

    陀螺漂移均方值0.1°/h,相关时间100 s;GPS速度误差均方值0.1 m/s,相关时间5 s;GPS位置误差均方值20 m、相关时间10 s。

    由以上参数设置得到纯惯导的速度误差、位置误差的仿真图像如图3、图4所示。

ck6-t3.gif

ck6-t4.gif

    通过理论与仿真图像可知,纯惯导的速度误差和位置误差随着时间发散,在仿真的900s中,东向速度最大误差为5 m,北向速度最大误差为6 m,天向速度最大误差为4 m。所得数据与实际相符合,仿真有效。

    在仿真中,设置t=700 s之前组合导航系统锁定GPS,所用的滤波算法为卡尔曼滤波,同时,在线实时训练神经网络,700 s之后,仿真设置为对GPS信号失锁,滤波算法采用训练好的神经网络,所得到的速度误差如图5、图6、图7所示。

ck6-t5.gif

ck6-t6.gif

ck6-t7.gif

    通过速度误差分析不难发现:卫星失锁后,东向速度最大误差小于0.5 m/s,北向速度误差也小于1 m/s,天向速度误差也小于0.5 m/s,采用神经网络辅助方法滤波的速度误差几乎能比拟在卫星锁定时的速度误差。各个方向的速度误差与纯惯导的速度误差相比有较大改善,充分证明了算法的有效性。

    通过仿真进一步得到组合导航的经度误差、纬度误差以及高度误差,如图8、图9、图10所示。

ck6-t8.gif

ck6-t9.gif

ck6-t10.gif

    从仿真结果看,经度最大误差优于70 m,纬度最大误差优于80 m,高度最大误差优于20 m。经度和纬度的仿真误差较GPS锁定时稍差,但短时间内可以满足实际精度需求。BP神经网络辅助的组合导航系统滤波算法相比于纯惯导系统的位置误差,精度提高较大。

5 结论

    通过仿真验证,证实了在短时间内,基于BP神经网络辅助的GPS/INS组合导航系统滤波算法的有效性,能够在组合导航系统对GPS卫星失锁的条件下,极大地改善组合导航系统精度。但若是GPS信号长期失锁,采用该滤波方法,组合导航系统的精度得不到保证。然而,在实际应用中,GPS信号不可能长时间失锁,仿真中所采用的时段基本能够满足要求,因此,本文所述方法具有一定的实际意义。

参考文献

[1] 秦永元.卡尔曼滤波与组合导航原理[M].西安:西北工业大学出版社,2007.

[2] 陈燃,刘繁明.基于BP神经网络对INS/GPS组合导航数据融合技术的研究[D].哈尔滨:哈尔滨工程大学,2009.

[3] 严恭敏,秦永元.捷联惯导算法及车载组合导航系统研究[D],西安:西北工业大学,2004.

[4] 崔留争.神经网络辅助卡尔曼滤波在组合导航中的应用[J].光学精密工程,2014,22(5).

[5] 张敏虎,任章.神经网络辅助高动态GPS/INS组合导航融合算法[C].Proceedings of the 27th Chinese Control Conference July 16-18,2008,Kunming Yunnan,China.

[6] 林雪原,鞠建波.利用神经网络预测的GPS/SINS组合导航系统算法研究[J].武汉大学学报信息科学版,2011,36(5).

[7] 耿世松,裴福俊,崔平远.基于神经网络辅助观测的连续组合导航算法研究[J].高技术通讯,2009,19(1).

此内容为AET网站原创,未经授权禁止转载。