范锦蓉,张 海
(北京航空航天大学自动化科学与电气工程学院,北京 100083)
地磁场已被广泛应用于导航定位,地磁导航的精度在一定程度上取决于地磁场测量的精度。如何提高地磁场的测量元件之一——磁力计的测量精度,是地磁导航研究的重要问题。此外,因为磁力计的测量精度易受外界环境的影响,磁力计的现场快速标定也成为地磁导航的关键。
近年来,国内外学者针对磁力计标定问题均开展了相关研究。文献[1]提出将水平转台旋转一周,获得磁力计输出的最大值和最小值,可以粗略地估计出三轴的标度因数和零偏;文献[2]提出制造非磁性校准平台,用于校准磁力计;文献[3]提出针对双轴磁力计的椭圆拟合法,利用三轴转台固定磁力计的方位角和俯仰角,令其横滚旋转采集磁场数据,最后利用最小二乘法和椭圆方程对实验数据进行拟合,获得误差参数;文献[4]提出利用椭球拟合法对三轴磁力计的误差进行校正,相较于文献[3],文献[4]对于数据采集过程中磁力计的姿态不再加以约束,拟合对象也由椭圆变为了椭球,其余基本一致;文献[5]提出使用神经网络对磁力计航向与真实航向之间的非线性关系进行建模,只要前期校准过程中具有完备的数据集,即使后期使用过程中外部有磁场干扰,也能获得正确的航向信息。工程中也常常采用在小范围内绕场一圈,获得磁力计输出的最大值和最小值来简单标定磁力计的方法。
分析上述标定方法,均存在以下部分特点:1)需要专业设备的支持,例如水平或三轴转台等;2)对于计算能力有较高的要求;3)对标定数据的采集方式有严格的要求;4)只能提前进行标定,不能在采集数据的过程中,针对磁场环境的变化随时进行再标定。这些特点无疑会限制标定方法在外场的使用。
针对上述问题,本文提出了一种基于航向匹配的磁力计外场无依托标定算法。该算法基于航向角是磁航向角与磁偏角的代数和的原理,通过等价数学变换构建了磁力计零偏关于姿态角和磁力计测量值的线性模型。由于算法会应用于测量现场,设备资源有限,因此姿态角可以通过全球定位系统(Global Positioning System, GPS)和低成本惯性测量单元(Inertial Measurement Unit, IMU)组合或者较高精度的惯导系统获得。最后利用最小二乘法估计三轴磁力计的零偏。相较于Kalman滤波,最小二乘法只要挑选的数据合理,估计的零偏在确保准确的前提下,既不会频繁波动,亦不会受到噪声系数设置不合理带来的不良影响。算法除获取姿态角所需仪器外,无需其他精密仪器,计算量小,操作简单方便,且支持在采集数据的过程中随时进行再标定,适合用于现场标定。标定结果也可以作为其他精确标定方法的可靠初值。
不同于传统的用于辅助修正航向角的磁力计,本文标定完成的磁力计旨在用于地磁匹配导航。磁力计的测量精度越高,地磁匹配导航的精度也会随之提高。在GPS失效的情况下,惯性导航会出现误差的累积,地磁匹配导航具有无累积误差的优点,可以有效辅助惯性导航修正其误差。尤其是针对长直路段问题,相较于地图匹配导航或者航迹推算系统,地磁匹配导航能够更好地解决定位问题,只要当地存在明显的地磁特征,地磁匹配导航就可以有效地进行定位,进而修正惯性导航的误差。利用第4节的方法,可以在在线标定磁力计的过程中,滤除测量数据中噪声的干扰,并且识别出地磁异常数据,获得的磁异常数据可以为长直路段的地磁匹配导航提供基础信息。
磁力计误差主要可分为器件自身误差和外界环境干扰两部分。其中,器件自身误差主要包括偏置误差、尺度因子误差,以及测量轴非正交误差等;外界环境带来的磁场干扰误差主要包括载体中磁力计周围的硬磁和软磁材料造成的测量偏差等。这些误差均可归纳为尺度因子误差和偏置误差。
磁力计的测量模型可以表示为
=+
(1)
实际工程应用中,磁力计一般已经在实验室经过了系统标定,外场环境对矩阵的影响很小。因此,可以近似为单位阵,简易标定的重点应在于对偏置误差的估计。
综上所述,磁场的真值为
(2)
本文设计的基于航向匹配的磁力计外场无依托标定算法,可以仅利用现场已有的数据,即三轴磁力计测量值和载体(磁力计)姿态角(俯仰角、横滚角和航向角)完成对三轴磁力计的外场标定。
标定原理:航向角是磁航向角与磁偏角的代数和。
=+
(3)
其中,为航向角;为磁航向角;为磁偏角(磁针指北时向东偏则磁偏角为正,向西偏则磁偏角为负)。
姿态角可以由GPS和低成本IMU提供,其中,GPS提供航向角,IMU提供俯仰角和滚转角。磁航向角可以通过计算获得;磁偏角随地理位置的变化较小,可以通过查阅资料获得。磁航向角的计算过程会涉及三轴零偏,因此,利用上述标定原理估计三轴磁力计的零偏是可行的。
由于航向角和磁偏角可以从相关仪器或资料中直接获得,所以下面仅对磁航向角的计算过程进行简要说明。
首先,将磁力计的测量值投影至水平面
(4)
(5)
其中,为载体的俯仰角;为载体的滚转角。
若测量数据中没有俯仰角和滚转角数据,对于在地面行驶的车辆,滚转角可以近似为0°,同时在航向角不变的区域,俯仰角可按式(6)进行计算
(6)
其中,Δ为第时刻和第+1时刻之间的高度变化;Δ为两个时刻间车辆行驶的距离;、+1分别为第时刻和第+1时刻车辆的高程;、+1分别为第时刻和第+1时刻的车辆里程计信息;(,)和(+1,+1)为由第时刻和第+1时刻的GPS坐标转换的UTM坐标。
磁航向角是载体纵轴在水平面上的投影与磁子午线的夹角(磁北为正,顺时针旋转),其计算方式为
(7)
由式(7)可知,标定原理中磁航向角的计算会涉及反三角函数,这是一种非线性运算,会带来收敛速度和计算量等相关问题。
为了解决上述问题,基于航向匹配的磁力计外场无依托标定算法在标定模型的推导过程中对式(7)进行了一系列的数学等价变换,可以将之等价变换为线性模型。这样既能确保最终结果的收敛性,也可以减少运算量,从而提高标定速度。
变换过程为:
首先,对式(3)进行正切函数(tan)计算,以抵消磁航向角计算过程中arctan函数的影响
tan(-)=tan
(8)
其次,由式(4)和式(5)可知,投影到水平面后磁场分量为
(9)
将式(9)代入式(8)可得
tan(-)=tan=
(10)
做变换得
tan(-)·[(-)cos+(-)·
sinsin+(-)sincos]=(-)·
cos-(-)sin
(11)
提取式(11)中的零偏系数
=·+
(12)
其中
=costan(-)·+[sinsintan(-
)-cos]·+[sincostan(-)+
sin]·
式(12)中,为载体的偏航角,为载体的俯仰角,为载体的滚转角,为磁偏角,它们的获得方法上文已提及,所以在标定过程中,它们的三角函数都是已知量;此外,、、为磁力计的三轴测量值,也是已知量。所以,矩阵和都已知。
综上所述,可知式(12)中仅矩阵为未知量,且与之间为线性关系。至此,式(7)成功等价变换为线性标定模型。
最后利用最小二乘法标定磁力计的零偏。
最小二乘法是估计待求参数的常用方法,目的是使得残差平方和最小,即式(13)最小
(13)
其中,为残差平方和。
获得的矩阵即为标定该磁力计所需的零偏。
令式(13)成立的解为
=()
(14)
磁力计在测量过程中会受到多种干扰,除第1节提及的因素之外,不可控的外场环境也会引入新的测量噪声。因此,需要先对采集到的地磁数据进行滤波处理,尽量抑制其中的噪声,才能进一步将数据用于磁力计的标定。
本文选择中值-均值滤波与FIR数字滤波器相结合的滤波算法。
中值-均值滤波是一种较为简单但行之有效的滤波方法。它包括中值滤波和均值滤波两部分,其中中值滤波能够有效滤除孤立的脉冲噪声点;均值滤波能够有效削减数据中的白噪声,本文采用算数平均滤波。
先对数据进行中值滤波,中值滤波的关键步骤在于对小窗口内的数据进行排序,取其中值;再对数据进行均值滤波,均值滤波的关键步骤在于对小窗口内的数据取均值。式(15)表示均值滤波的关键步骤
(15)
其中,为小窗口的长度。式(15)表示对原序列{()}中第-+1到第个数据进行平均,获得滤波后序列{()}的第个数据。
FIR(Finite Impulse Response)滤波器是数字信号处理领域最广为使用的一种滤波处理方式,在图像处理、通信等领域都有着较为广泛的应用。
如果想设计FIR数字滤波器对数据进行滤波,窗函数法是最为简单的一种方法,本文选择利用Hamming窗设计FIR数字滤波器。
Hamming窗可按照式(16)进行计算
(16)
其中,()为Hamming窗的窗函数的单位脉冲响应;为窗函数的长度。
完成对测量数据的滤波处理后,可以在一定程度上减小数据的噪声。然而,测量值中可能会存在磁异常数据,如果这些数据参与了磁力计的标定,无疑会干扰最终的标定结果。因此,在选择标定数据前必须要剔除磁异常数据。
在小区域内,磁偏角基本不变,所以磁航向角的变化幅度应该和航向角的变化幅度相同。因此,可以利用式(17)对数据是否存在磁异常进行判断
Δ=|(+1-+1)-(-)|
(17)
其中,、+1分别为第时刻和第+1时刻的航向角;、+1分别为第时刻和第+1时刻按照式(7)计算得出的磁航向角。当然,上述判定方法较为简单,可以根据实际情况进行进一步优化。
可以根据标定区域的实际情况设置阈值,若Δ<,则说明不存在磁异常,满足理论情况;若Δ≥,说明数据存在磁异常,需舍弃。
另外,剔除磁异常数据之后,由式(14)可知,为使式(13)有解,挑选的标定数据必须要保证矩阵满秩。
为验证标定方法的可行性,对北京市某条公路的地磁场进行测量,并利用相关仪器测量载体的航向角、俯仰角和滚转角数据。其中标定的磁偏角选择北京的平均磁偏角5°50′W。
实验数据经过中值-均值滤波和FIR数字滤波器滤波后,效果如图1~图3所示。其中,蓝线为滤波前磁力计、、轴的测量值,红线为滤波后磁力计、、轴的测量值。
图1 滤波前后X轴测量数据Fig.1 X-axis measurement data before and after filtering
图2 滤波前后Y轴测量数据Fig.2 Y-axis measurement data before and after filtering
图3 滤波前后Z轴测量数据Fig.3 Z-axis measurement data before and after filtering
观察图1~图3可以发现,滤波完成后,磁力计测量值的噪声得到了有效抑制,有效减小了标定磁力计的过程中噪声对参数估计的影响。
完成滤波后,按照式(12)对三轴磁力计进行标定,标定前后计算得出的磁航向角如图4所示。其中,蓝线为标定完成后磁航向角的计算值,红线为利用航向角和磁偏角计算出的磁航向角的理论值,黄线为标定前磁航向角的计算值。
图4 磁航向角的理论值及标定前后磁航向角的计算值Fig.4 Theoretical value of magnetic heading angle and the calculated value of magnetic heading angle before and after calibration
对标定前后磁航向角与理论值(理论值=航向角-磁偏角)之间的误差进行统计,结果如表1所示。
表1 标定前后磁航向角计算误差的均值和方差
通过观察图4和表1,可以得出结论:标定后,磁航向角的计算准确度相对于标定前有了较大的提升。
相比于工程中常用的绕圈标定,本文提出的方法可以在测量过程中随时进行再标定,无需更改车辆的行驶轨迹,灵活性较高,更适应地磁环境复杂的测量现场。
如果能获得各个地点准确的磁偏角数值,取代现在采用的北京市平均磁偏角,理论上可以使标定精度进一步提升。
本文提出了一种基于航向匹配的磁力计外场无依托标定算法,利用航向角是磁航向角与磁偏角的代数和的原理,采用磁力计和姿态角的测量数据,对磁力计的三轴零偏进行标定。
1)实验结果表明,标定后计算出的磁航向角明显更符合理论情况,相比于标定前,磁航向角误差的均值和方差均有了较大程度的降低,说明该算法可以实现对磁力计的有效标定。
2)相较于引言中提及的标定方法,首先,基于航向匹配的磁力计外场无依托标定算法不需要水平转台、无磁转台等精密仪器;其次,算法的标定模型较为简单,计算量小,数据采集方便,且支持在数据测量过程中进行动态标定。
3)本文提出的在线标定算法可以标定磁力计的偏置误差,适用于对标定精度要求较低的场合,或是为其他精确算法提供可靠初值。
4)标定完成的磁力计可以用于地磁匹配导航。在GPS失效的情况下,惯性导航会出现误差的累积,地磁匹配导航可以有效辅助修正其误差。此外,相较于地图匹配导航或者航迹推算系统,地磁匹配导航能够更好地处理长直路段定位问题,只要当地存在明显的地磁特征,地磁匹配导航就可以有效地进行定位,进而修正惯性导航的误差。本文所提方法可以在标定磁力计的过程中,滤除测量数据中噪声的干扰,并且识别出地磁异常数据,获得的磁异常数据可以为长直路段的地磁匹配导航提供基础信息。