李 浩, 陈文杰, 沈 勇
(同济大学 汽车学院,上海 201804)
地磁场是地球的基本物理场之一,分布连续且非常稳定,能够作为理想的参考基准[1]。利用地磁信息进行车辆定位导航是近年来的研究热点。地磁导航系统的定位导航精度在很大程度上由地磁传感器来决定。因此,国内外诸多学者,针对地磁传感器测量误差的补偿方法进行了很多研究。
Gebre-Egziabher D 等人[2]利用传感器的旋转输出数据,通过递推最小二乘法得到固定矢量误差和比例因数误差,形成了两步校正法。Vasconcelos J F 等人[3]通过分析地磁传感器的误差来源,提出了一种基于最大似然估计的拟合算法,直接得到补偿矩阵。以上两种算法均是在实验室环境下选取几组采样数据进行求解,属于静态离线补偿算法,并不能很好地适用于车辆运行过程中的磁场补偿。庞鸿峰在文献[4]中提出了一种利用高精度转台通过旋转平行六面体框架来校准非正交误差的方法,但是对标定设备要求较高。黄汛等人[5]将全球定位系统(global positioning system,GPS)信号引入地磁误差模型求解过程,完成对磁传感器的自动消差,但过分依赖辅助参数的准确性。王传芳等人[6]中提出了基于最小二乘法的误差标定方法。该方法需要采集磁传感器在8个指定位置的测量数据,试验结果证明该方法可以使磁航向的误差稳定在0.5°左右,满足了大多数场景下的精度要求,但标定步骤繁琐、操作复杂。还有很多学者提出了十二位置[7]、四位置等多种与该方法原理相同只是操作步骤有所不同的标定方法,均取得了一定效果。
本文以三轴地磁传感器的制造误差和车辆磁场干扰误差为例,分析其误差来源和性质,构建了适用于车辆地磁导航系统的磁传感器误差模型。针对此模型,提出了一种基于无迹卡尔曼滤波的在线补偿方法,实时解算未知参数,实现在线补偿。相比传统离线补偿方法,本文算法易于实现、更便于应用于车辆地磁导航系统。
用于车辆导航系统的地磁传感器误差可分为传感器自身的系统误差和车辆环境的干扰误差两类。针对上述两类误差通过建立传感器误差模型,可以对传感器的探测值进行补偿,从中还原出真实的地磁场矢量[8]。地磁传感器自身误差主要是生产制造过程中工艺水平和材料限制,造成传感器的正交特性[9]、灵敏度、零点与理想值之间存在偏差,这些偏差将直接影响传感器的测量精度。环境干扰误差是指车辆的磁性材料、电气电子设备、温度等环境因素使传感器的测量值与真实值之间产生偏差。根据特点不同,该误差可分为硬磁干扰误差[10]、软磁干扰误差[11,12]、随机干扰误差和温度漂移误差。
综上所述,三轴地磁传感器的测量输出的数学模型为
(1)
因为地磁传感器所在环境确定以后,其误差矩阵和偏置向量均为定值,式(1)化简为
(2)
式中W=ScMAsi,b=W-1(SMbhi+bso),ε=W-1ε′。 令W=(I3×3+D)-1,其中I3×3为单位阵,D为未知的对称满秩阵,得到
(3)
对地磁传感器误差的在线补偿过程等同于对式(3)中的未知参数D和b估计。本节采用无迹卡尔曼滤波(unscented Kalman filtering,UKF)方法进行参数估计, UKF利用概率密度分布进行状态量估计,不需要计算雅可比矩阵,具有较高的计算精度和稳定性[13]。
(4)
将磁传感器的测量值的平方与当地地磁场参考强度的平方作差,作为观测量
(5)
直接用式(5)来作为观测方程来估计D和b在计算上会有困难,故定义下面这些量
E=2D+D2,c=(I3×3+D)b
E=[E11,E22,E33,E12,E13,E23]T
2yhk(1)yhk(3),2yhk(2)yhk(3)]
(6)
于是式(5)变换为
zk=Lkθ′-|b(θ′)|2+νk
(7)
由于选取的状态变量θ′为时不变的状态,即常数,故状态方程可以表示为
(8)
观测方程由式(7)给出
zk=Lkxk-|b(xk)|2+νk
(9)
UKF算法的核心是无迹变换。采用线性插值的方法获得更多采样点的信息来逼近函数的概率密度分布,进而得到更高阶次的均值和方差,完成对非线性模型的特征的高精度描述[13]。通过初始化,Sigma点产生、权重计算、状态更新和协方差更新后得到了参数c和E最优估计,再将其反推回参数D和b。首先根据式(6),将向量E变成矩阵E,然后对其进行正交分解
E=UVUT
(10)
式中U为正交矩阵,V=diag(V11,V22,V33) 。令K为对角矩阵,其对角元素为
(11)
由式(6)、式(10)、式(11)可得:D=UKUT,b=(I3×3+D)-1c。
为了验证所建立的误差模型的正确性和所提出的误差补偿方法有效性,对三轴地磁传感器为Honeywell HMC5983进行在线补偿。首先,将磁传感器安装在车辆上,车辆按照任意轨迹行驶,并实时采集数据,从而获得一系列丰富的测量值。试验后,利用MATLAB软件绘制出采集的三维磁场数据如图1所示。
图1 三轴地磁传感器输出数据
根据上述三维地磁传感器补偿方法,解算出磁传感器的误差补偿系数如图2所示。参数D和b的最终结果为
D=[0.002 4 -0.003 9 0.000 94 -0.000 83
0.000 36 -0.000 20]T×100 nT
b=[-18.90 2.72 112.14]×100 nT
(12)
图2 误差补偿系数
由图2可知,参数D和b在初始时,有小幅振荡,但在第600个采样点之后,迅速收敛到最终值。这说明参数初值设置的正确性,以及采用的无迹卡尔曼滤波估计方法实时性好,具有非常好的在线补偿的效果。
理论上,三维磁场的矢量和是一个固定值,但由于实际环境的影响,实际测得的三维磁场矢量和波动往往比较大。试验将补偿前后三维磁测数据模值标定前后进行对比,补偿前三维磁测5的波动高达97 μT,而补偿后的三维磁场模值的波动为0.5 μT左右,大大减小。如图3(a)所示。
图3(b)为补偿后的磁场模值与真实之间的误差大小,从中可以发现,经过补偿后的地磁传感器的模值与真实之间的误差大部分都在1.5 %以内。这说明经过在线补偿以后,传感器的自身制造误差和车辆环境干扰误差被大大减小,证明了误差模型正确性和所提在线补偿方法的有效性。
图3 补偿效果对比
本文所建立的误差模型不仅考虑了传感器自身误差,还增加了车辆环境干扰因素,所以更加准确与全面。所提出的在线补偿方法是基于无迹卡尔曼的参数估计,参数估计的过程就是补偿过程。实验结果表明,该方法易于实现,准确度高,能够广泛应用与车辆组合定位与导航系统中的地磁传感器的在线补偿。