宋忠國,許丙琳,高久翔,李 婷,張金生,席曉莉
(1.西安理工大學(xué)自動化與信息工程學(xué)院,陜西 西安 710048;2.火箭軍工程大學(xué),陜西 西安 710025)
三軸磁傳感器廣泛被應(yīng)用于地磁匹配導(dǎo)航領(lǐng)域進(jìn)行地磁場矢量測量[1-2],然而加工工藝限制使得磁傳感器存在誤差,主要包括非正交誤差、靈敏度誤差和零偏誤差[3-4],而且安裝工藝限制使得磁傳感器和其他慣性傳感器坐標(biāo)系之間還存在非對準(zhǔn)誤差[5],所以必須校準(zhǔn)這些誤差才能將三軸磁傳感器應(yīng)用于地磁矢量的高精度測量。
橢球擬合方法是一種常見的標(biāo)量校準(zhǔn)方法[6],通常需要先利用三軸磁傳感器的測量數(shù)據(jù)求得橢球參數(shù),再通過矩陣分解得到誤差校準(zhǔn)參數(shù),是一種間接求解誤差校準(zhǔn)參數(shù)的方法。該方法求得橢球參數(shù)后只能得到DTD(D為誤差校準(zhǔn)參數(shù)),雖然可以使用Cholesky分解[7-8]、奇異值分解[6,9-10]等矩陣分解方法從DTD中得到其中的某一個解D1,但是任意旋轉(zhuǎn)矩陣R和D1的乘積RD1依然是校準(zhǔn)參數(shù)D的解[7,11],這是因?yàn)?RD1)T(RD1)=D1TRTRD1=D1TD1,所以橢球擬合方法得到的校準(zhǔn)參數(shù)會引入一個任意的旋轉(zhuǎn)矩陣R[12],即橢球擬合法所求解誤差校準(zhǔn)參數(shù)D理論上存在無窮多解。此外,鐘浩等人提出使用非線性最小二乘方法[13]直接求解三軸磁傳感器誤差校準(zhǔn)參數(shù),將非正交、靈敏度、零偏誤差參數(shù)整合為待估計(jì)參數(shù),通過Levenberg-Marquard(LM)迭代算法直接求解誤差校準(zhǔn)參數(shù)矩陣D并且無需矩陣分解;羅靜博等人提出基于型入侵野草算法校準(zhǔn)三軸磁傳感器非正交誤差[14]也無需矩陣分解。但是這些文獻(xiàn)僅僅使用了三軸磁傳感器的測量數(shù)據(jù)進(jìn)行誤差校準(zhǔn),相比于使用更高精度的磁傳感器提供地磁場真值參考,這將導(dǎo)致誤差校準(zhǔn)后三軸磁傳感器測量地磁總場的精度偏低,而且這些文獻(xiàn)并沒有考慮非對準(zhǔn)誤差,不能獲取載體坐標(biāo)系下地磁場分量信息。李婷等人提出了基于阻尼粒子群優(yōu)化的地磁場測量誤差補(bǔ)償方法[15]來直接求解誤差校準(zhǔn)參數(shù)并且使用了高精度的質(zhì)子磁傳感器提供地磁場真值,該方法提高了地磁總量校準(zhǔn)精度,但仍未考慮非對準(zhǔn)誤差。總之,為了避免橢球擬合方法需要矩陣分解的弊端和彌補(bǔ)現(xiàn)有直接求解誤差校準(zhǔn)參數(shù)方法在三軸磁傳感器測量地磁場總量以及分量上的不足,需要研究新的誤差校準(zhǔn)方法。
本文提出一種基于改進(jìn)LM算法的地磁矢量校準(zhǔn)方法,首先使用質(zhì)子磁傳感器提供地磁場真值,利用改進(jìn)LM算法直接求解三軸磁傳感器誤差校準(zhǔn)參數(shù)并且無需矩陣分解,然后利用加速度計(jì)測量恒定重力場作為輔助信息校準(zhǔn)三軸磁傳感器和加速度計(jì)坐標(biāo)系之間的非對準(zhǔn)誤差。通過仿真和實(shí)驗(yàn)驗(yàn)證了該方法可以得到加速度計(jì)坐標(biāo)系下高精度地磁矢量。
根據(jù)誤差產(chǎn)生機(jī)理的不同,三軸磁傳感器誤差主要分為3類:非正交誤差、靈敏度誤差、零偏誤差。
①非正交誤差
非正交誤差是指由于三軸磁傳感器工藝制造水平的影響,三個測量軸無法保證兩兩正交,從而引起的測量誤差,其幾何定義如圖1所示。
圖1 非正交誤差
假設(shè)xyz坐標(biāo)軸構(gòu)成的坐標(biāo)系為三軸磁傳感器理想正交坐標(biāo)系,而x′y′z′坐標(biāo)軸構(gòu)成的坐標(biāo)系為實(shí)際情況下的非正交坐標(biāo)系。將兩套坐標(biāo)系的坐標(biāo)原點(diǎn)重合、x坐標(biāo)軸和x′坐標(biāo)軸重合,y坐標(biāo)軸和y′坐標(biāo)軸共面,可以得到非正交誤差角(α1α2α3)。理想正交坐標(biāo)系和實(shí)際非正交坐標(biāo)系之間的非正交誤差可以等效為矩陣O,其數(shù)學(xué)模型可以表示為:
②靈敏度誤差
靈敏度誤差是指由于三個測量軸各自的靈敏度不能做到完全一致、測量信號的放大電路特性不完全相同,從而引起的測量誤差。
③零偏誤差
零偏誤差是指實(shí)際使用過程中磁傳感器各個測量軸、模擬調(diào)理電路、A/D轉(zhuǎn)換的零點(diǎn)不為零所帶來的測量誤差。
靈敏度誤差K和零偏誤差b的數(shù)學(xué)模型如下所示,其中Kx、Ky、Kz以及bx、by、bz分別代表三軸磁傳感器x、y、z三個測量軸各自不同的靈敏度和零偏。
式中,n為實(shí)際測量時的高階噪聲。
令C=b+n,則誤差模型可以整理為:
那么有(3)成立:
式中,D和E稱為誤差校準(zhǔn)參數(shù),求出后即可得到三軸磁傳感器坐標(biāo)系下的地磁場矢量Bt。
由于安裝工藝限制,三軸磁傳感器坐標(biāo)系和加速度計(jì)坐標(biāo)系或其他慣性坐標(biāo)系之間還存在坐標(biāo)系非對準(zhǔn)誤差,只有校準(zhǔn)該誤差才能將Bt投影至加速度計(jì)或其他慣性坐標(biāo)系下,從而提高加速度計(jì)坐標(biāo)系下或其他慣性坐標(biāo)系下地磁場矢量測量精度。
本文考慮了三軸磁傳感器坐標(biāo)系和加速度計(jì)坐標(biāo)系之間的非對準(zhǔn)誤差。非對準(zhǔn)誤差可以等價(jià)為一個正交旋轉(zhuǎn)矩陣Rm,設(shè)xyz坐標(biāo)系為三軸磁傳感器正交坐標(biāo)系,x2y2z2坐標(biāo)系為加速度計(jì)正交坐標(biāo)系,xyz坐標(biāo)系到x2y2z2坐標(biāo)系轉(zhuǎn)換所需的旋轉(zhuǎn)歐拉角為(u1u2u3),其幾何定義如圖2所示,則Rm的數(shù)學(xué)模型可以表示為式。
圖2 xyz坐標(biāo)系到x2y2z2坐標(biāo)系的變換
式中,
求得Rm即可得到加速度計(jì)坐標(biāo)系下的地磁場矢量。
求解三軸磁傳感器誤差校準(zhǔn)參數(shù)的問題可以被視為非線性最小二乘參數(shù)估計(jì)問題,本節(jié)首先建立目標(biāo)函數(shù)模型,再通過改進(jìn)LM算法直接求解誤差校準(zhǔn)參數(shù),且無需矩陣分解。
理想情況下三軸磁傳感器測量的地磁總場值Bt可以表示為:
式中,
將質(zhì)子磁傳感器測量地磁總場值BM作為地磁總場的真實(shí)值,那么求解三軸磁傳感器誤差校準(zhǔn)參數(shù)的非線性最小二乘問題可以表示為式:
式中,F(xiàn)(Bc,x)為目標(biāo)函數(shù)。
式中,r(Bc,x)為殘差函數(shù),采用三軸磁傳感器測量的地磁總場Bt和地磁總場真實(shí)值BM之間的相對誤差來表示,描述了誤差校準(zhǔn)后Bt相對于真值BM的偏差程度。待估計(jì)參數(shù)向量為x=[bxbybzKxKyKzα1α2α3],它包含了三軸磁傳感器零偏誤差、靈敏度誤差以及非正交誤差模型中的9個參數(shù)。
采用Bt相對于BM的相對誤差作為殘差函數(shù),以最小二乘為準(zhǔn)則,通過非線性最小二乘方法求解誤差校準(zhǔn)參數(shù)可以使得三軸磁傳感器的總量輸出盡可能地逼近質(zhì)子磁傳感器的輸出。這種方法的好處:非線性最小二乘方法求得估計(jì)參數(shù)x后可以根據(jù)1.1節(jié)中的誤差模型直接得到靈敏度誤差矩陣K、非正交誤差矩陣O以及零偏向量b,無需矩陣分解便可以由式得到三軸磁傳感器誤差校準(zhǔn)參數(shù)矩陣D和E。這樣不僅可以避免橢球擬合方法矩陣分解時引入任意旋轉(zhuǎn)矩陣R的問題,而且由于使用了更高精度的質(zhì)子磁傳感器作為了校準(zhǔn)參考,誤差校準(zhǔn)后三軸磁傳感器在地磁場總量測量方面的精度會更高。
本文使用的LM算法是牛頓高斯法和最陡下降法相結(jié)合的一種算法,其保留了兩者各自的優(yōu)越性。LM算法的傳統(tǒng)迭代形式為式(9),當(dāng)λ較大時,式(9)退化為最陡下降法,在距極值點(diǎn)較遠(yuǎn)的位置具有較大的下降速度,而當(dāng)λ較小時,式(9)退化為牛頓高斯法,在極值點(diǎn)附近也能快速收斂。
改進(jìn)的LM算法迭代形式如式(10)所示:
式(11)中:Jr(m×9)為殘差函數(shù)r的雅可比矩陣,m為采集數(shù)據(jù)量的個數(shù),9為待估計(jì)參數(shù)個數(shù),式(12)為Jr中元素的一般表達(dá)形式;為目標(biāo)函數(shù)F的梯度,r(m×1)為m個測量數(shù)據(jù)對應(yīng)的殘差向量;代替了二階偏導(dǎo)數(shù)構(gòu)成的黑塞矩陣;λ為阻尼因子。
經(jīng)改進(jìn)LM算法校準(zhǔn)三軸磁傳感器誤差后,即可得到三軸磁傳感器坐標(biāo)系下高精度地磁場矢量Bt,由于并未使用矩陣分解,Bt中不會引入任意旋轉(zhuǎn)矩陣,這將在校準(zhǔn)非對準(zhǔn)誤差時避免任意旋轉(zhuǎn)矩陣所帶來的影響。由于矩陣分解會引入旋轉(zhuǎn)矩陣,求解的非對準(zhǔn)誤差參數(shù)將是安裝工藝帶來的坐標(biāo)系旋轉(zhuǎn)和矩陣分解引入的坐標(biāo)系旋轉(zhuǎn)二者疊加的參數(shù),此時矢量校準(zhǔn)精度較低。此外,當(dāng)矩陣分解時引入的旋轉(zhuǎn)矩陣所對應(yīng)的旋轉(zhuǎn)歐拉角較大時,將無法再利用重力場測量數(shù)據(jù)作為輔助使得三軸磁傳感器測量的地磁場投影到加速度計(jì)坐標(biāo)系上。
式中,G=[gxgygz]T為重力場G對應(yīng)的單位矢量,為對應(yīng)的單位矢量,Bt=[bxbybz]T為Bt對應(yīng)的單位矢量,使用最小二乘參數(shù)擬合法即可求解式(13)中非對準(zhǔn)誤差矩陣Rm,將Rm代入式(5)中即可得到加速度坐標(biāo)系下的高精度地磁場矢量。
首先,模擬理想情況下三軸磁傳感器采集的地磁場矢量信號Bt,其總量真實(shí)值由模擬的質(zhì)子磁傳感器測量值提供;其次,加入預(yù)先設(shè)置的非正交、靈敏度、零偏和非對準(zhǔn)誤差以及隨機(jī)測量噪聲,得到三軸磁傳感器實(shí)際工作情況下測量的地磁場信號Bc;最后對本文提出的基于改進(jìn)LM算法的地磁矢量校準(zhǔn)方法進(jìn)行驗(yàn)證并分析校準(zhǔn)效果。
預(yù)先設(shè)置的非正交誤差角為(1° 1.5° 2°),則非正交誤差O如下所示:
預(yù)設(shè)的靈敏度誤差K,零偏誤差b(單位nT)為:
將上述預(yù)設(shè)的誤差模型代入式中可以得到誤差校準(zhǔn)參數(shù)D和E的真實(shí)值:
模擬質(zhì)子磁傳感器測量的地磁總場真實(shí)值BM為52 590 nT,模擬測量噪聲n為信噪比60 dB的高斯白噪聲。預(yù)先設(shè)置的三軸磁傳感器坐標(biāo)系和加速度計(jì)坐標(biāo)系之間非對準(zhǔn)旋轉(zhuǎn)歐拉角為(1°0.5°1.5°),重力矢量G取[0 0 9.8]T。三軸磁傳感器和加速度計(jì)經(jīng)過模擬姿態(tài)變換可以得到不同姿態(tài)下的測量數(shù)據(jù)Bc和G。
將模擬的三軸磁傳感器測量數(shù)據(jù)Bc和質(zhì)子磁傳感器測量的地磁場真值BM代入下述LM算法迭代步驟中,分別采用2.2節(jié)描述的兩種LM算法迭代形式均可以求得x參數(shù)的估計(jì)值^x,兩種迭代形式的結(jié)果對比分別如表1、表2所示(表中α1、α2、α3為其弧度制表示,單位為rad),表明使用改進(jìn)LM算法求出^x的誤差更小。
表1 基于傳統(tǒng)LM算法x參數(shù)估計(jì)結(jié)果
表2 基于改進(jìn)LM算法x參數(shù)估計(jì)結(jié)果
LM算法迭代求解待估計(jì)參數(shù)x的步驟如下:
①初始迭代次數(shù)n=1,待估計(jì)參數(shù)向量x初始值x0=[0 0 0 1 1 1 0 0 0](K-1中分母不能為0,這里取1),阻尼因子初始值λ0=0.01;
③若‖rn+1‖2≤‖rn‖2,則λn+1=λn/10,否則,λn+1=10λn,轉(zhuǎn)(4);
④迭代次數(shù)n=n+1,更新,更新δxn,返回②。
使用改進(jìn)LM算法求解出后代入第1.1節(jié)中的誤差模型中,可以得到校準(zhǔn)參數(shù)D和E的估計(jì)值和,其與真實(shí)值相比差距很小,將和代入式(3)即可實(shí)現(xiàn)三軸磁傳感器誤差校準(zhǔn)。
校準(zhǔn)三軸磁傳感器誤差后,殘差r的頻數(shù)分布直方圖如圖3所示,該頻數(shù)分布滿足均值為0的高斯分布,紅色曲線為對應(yīng)的高斯分布曲線,這符合測量噪聲為高斯分布的預(yù)設(shè)。
圖3 殘差頻數(shù)分布直方圖
三軸磁傳感器誤差校準(zhǔn)前后測量地磁總場對比如圖4所示,誤差校準(zhǔn)后的絕對誤差如圖5所示。經(jīng)過分析,校準(zhǔn)前,地磁總場測量誤差較大,均方根誤差為2 813.9 nT,校準(zhǔn)后,誤差大幅度減小,均方根誤差減小至29.8 nT。
圖4 校準(zhǔn)前后地磁場總量
圖5 校準(zhǔn)后地磁場總量絕對誤差
由預(yù)設(shè)的旋轉(zhuǎn)歐拉角可以得到非對準(zhǔn)誤差參數(shù)的真實(shí)值Rm,而利用校準(zhǔn)磁傳感器誤差后得到的地磁場矢量Bt和重力矢量測量值G,并根據(jù)第3節(jié)非對準(zhǔn)誤差校準(zhǔn)原理可以求得Rm的估計(jì)值,將其代入式(5)即可得到加速度坐標(biāo)系下的地磁場矢量。
圖6為非對準(zhǔn)誤差校準(zhǔn)前后三軸磁傳感器測量地磁場分量的絕對誤差。非對準(zhǔn)誤差校準(zhǔn)前加速度計(jì)坐標(biāo)系下X軸、Y軸、Z軸地磁場分量的均方根誤差分別為:583.7 nT、580.1 nT、582.3 nT,誤差校準(zhǔn)后,三分量的均方根誤差分別為:28.3 nT、29.6 nT、34.1 nT。
圖6 校準(zhǔn)前后分量絕對誤差
在西安理工大學(xué)金花校區(qū)遠(yuǎn)離建筑物的操場中心位置處進(jìn)行實(shí)驗(yàn),驗(yàn)證基于改進(jìn)LM算法的地磁矢量校準(zhǔn)方法的有效性。實(shí)驗(yàn)過程中使用的三軸磁傳感器為MS-03A型磁通門磁傳感器;使用GSM-19 Overhauser質(zhì)子磁傳感器提供地磁場真值。將三軸磁傳感器以及加速度計(jì)模塊(模塊外殼使用無磁的鋁合金材料)放置在無磁轉(zhuǎn)臺上對地磁場和重力場進(jìn)行測量,實(shí)驗(yàn)系統(tǒng)示意圖如圖7所示,各個實(shí)驗(yàn)設(shè)備及實(shí)驗(yàn)操作如圖8所示。
圖7 實(shí)驗(yàn)系統(tǒng)示意圖
圖8 實(shí)驗(yàn)設(shè)備與實(shí)驗(yàn)操作示意圖
首先在操場中心位置使用質(zhì)子磁傳感器測量地磁場的真實(shí)值并取平均,得到該位置處的地磁場真實(shí)值大小為52 260 nT,然后在相同位置放置支架、無磁轉(zhuǎn)臺并固定磁通門磁傳感器,分別將磁傳感器的X軸(+/-)、Y(+/-)軸向上和向下,每隔15°旋轉(zhuǎn)一次轉(zhuǎn)臺獲取實(shí)驗(yàn)數(shù)據(jù),每個點(diǎn)測量兩次并取其平均值。
圖9為實(shí)驗(yàn)數(shù)據(jù)驗(yàn)證改進(jìn)LM算法校準(zhǔn)三軸磁傳感器誤差前后測量地磁總場的對比圖。經(jīng)過分析,誤差校準(zhǔn)前測量地磁總場的誤差較大,校準(zhǔn)前地磁場總量均方根誤差為693.1 nT,校準(zhǔn)后均方根誤差降為184.9 nT。
圖9 校準(zhǔn)前后地磁場總量
非對準(zhǔn)誤差造成的地磁場分量誤差可以通過航向角誤差來反映。圖10為校準(zhǔn)非對準(zhǔn)誤差前后航向角絕對誤差,經(jīng)過分析,非對準(zhǔn)誤差校準(zhǔn)前航向角均方根誤差為17.2°,而校準(zhǔn)非對準(zhǔn)誤差后航向角均方根誤差降至2.2°,這證明該方法得到了加速度計(jì)坐標(biāo)系下高精度地磁場矢量。
圖10 非對準(zhǔn)誤差校準(zhǔn)前后航向角絕對誤差
本文提出了一種基于改進(jìn)LM算法的地磁矢量校準(zhǔn)方法,首先使用改進(jìn)LM算法直接求解三軸磁傳感器誤差參數(shù),避免了橢球擬合方法因矩陣分解引入任意旋轉(zhuǎn)矩陣的問題;然后校準(zhǔn)了三軸磁傳感器和加速度計(jì)坐標(biāo)系之間的非對準(zhǔn)誤差。仿真結(jié)果表明,基于改進(jìn)LM算法的矢量校準(zhǔn)方法可使地磁總場的均方根誤差減小兩個數(shù)量級,分量精度提高一個數(shù)量級;實(shí)驗(yàn)結(jié)果表明本文所提方法能夠大大提高三軸磁傳感器測量精度,最終獲得了加速度計(jì)坐標(biāo)系下的高精度地磁場矢量。