邱丹,倪玲
(鐘山職業(yè)技術(shù)學(xué)院,江蘇南京,210049)
電子羅盤(也稱電子指南針、數(shù)字羅盤),是通過(guò)對(duì)地球磁場(chǎng)的測(cè)量完成航向計(jì)算的,常作為GPS信號(hào)或網(wǎng)絡(luò)不好時(shí)的有效補(bǔ)充。依據(jù)其體積小、能耗低、精度高、可微型化等優(yōu)勢(shì),被廣泛運(yùn)用于無(wú)人機(jī)、航海、汽車等磁航向測(cè)量領(lǐng)域。但在使用中,電子羅盤也存在自身的固有缺陷:容易受外界磁場(chǎng)干擾而產(chǎn)生誤差,這也是影響其測(cè)量精度并制約其應(yīng)用的主要原因,因此對(duì)電子羅盤的測(cè)量誤差進(jìn)行補(bǔ)償?shù)姆椒ㄑ芯烤褪直匾恕?/p>
目前對(duì)測(cè)量誤差補(bǔ)償?shù)姆椒ㄓ泻芏?。例如胡超等提出的補(bǔ)償系數(shù)法,該方法主要針對(duì)測(cè)量時(shí)受到的動(dòng)態(tài)干擾,而靜態(tài)干擾補(bǔ)償效果甚微,應(yīng)用范圍較小。再比如馮毅博提出的自適應(yīng)補(bǔ)償法,要求系統(tǒng)要在直線或低速運(yùn)動(dòng)情況下才能達(dá)到較高的補(bǔ)償精度,若系統(tǒng)轉(zhuǎn)動(dòng)較快,測(cè)量精度就會(huì)受到較大影響,這樣較為苛刻的應(yīng)用場(chǎng)景使得此方法不具有廣泛性。
當(dāng)前,若僅采用單一的誤差補(bǔ)償模型來(lái)對(duì)羅差進(jìn)行補(bǔ)償,已不能很好地滿足測(cè)量系統(tǒng)要求,本文提出了一種融合最小二乘原理的橢圓假設(shè)誤差補(bǔ)償算法,該算法對(duì)電子羅盤的測(cè)量誤差能實(shí)現(xiàn)有效的補(bǔ)償,也具有計(jì)算量適中,應(yīng)用范圍廣泛的特點(diǎn)。
當(dāng)電子羅盤安裝在載體中進(jìn)行磁航向測(cè)量時(shí),其測(cè)量誤差是由多種因素造成的,大致可以分為兩類:一種是由于系統(tǒng)自身結(jié)構(gòu)、材料、裝配等原因?qū)е碌?,包括羅差、安裝誤差、制造誤差;另一種是姿態(tài)信號(hào)誤差,它盡管不屬于航向測(cè)量系統(tǒng)本身,但卻參與航向參數(shù)的計(jì)算,也會(huì)引起測(cè)量誤差。由于羅差是最難以控制、對(duì)航向精度影響最大的誤差,因此本文主要針對(duì)羅差展開(kāi)分析。
羅差主要由載體的硬鐵磁場(chǎng)的水平分量和軟鐵磁場(chǎng)的水平分量所構(gòu)成。經(jīng)大量實(shí)驗(yàn)研究表明,運(yùn)動(dòng)載體上硬鐵磁場(chǎng)所引起的誤差是一個(gè)周期誤差,可用公式(1)表示,其規(guī)律近似于正弦曲線;而軟鐵磁場(chǎng)引起的誤差,可用公式(2)表示其,規(guī)律是隨環(huán)境磁場(chǎng)的變化而變化的。
式中,iφ為航向角測(cè)量值,A、B、C、D和E均為誤差系數(shù)。通過(guò)以上對(duì)羅差的誤差分析可知,電子羅盤的總羅差應(yīng)該是上述誤差的代數(shù)和。因此合并式(1)和(2)求出總羅差φΔ:
最小二乘法(Least Squares,LS)通過(guò)最小化誤差的平方和尋找數(shù)據(jù)的最佳函數(shù)匹配,可以簡(jiǎn)便地求得未知的數(shù)據(jù),并使之與實(shí)際數(shù)據(jù)之間誤差的平方和為最小,最小二乘法還可用于曲線擬合,也常用于數(shù)據(jù)的優(yōu)化。
最小二乘法可以在最小平方差的意義上對(duì)數(shù)據(jù)實(shí)現(xiàn)優(yōu)化擬合,是一種數(shù)學(xué)的優(yōu)化方法,可以對(duì)由于外部環(huán)境的磁場(chǎng)干擾所導(dǎo)致的誤差進(jìn)行補(bǔ)償。通常情況下,測(cè)量誤差呈現(xiàn)一定周期性,比較合適的擬合方法可以采用三角函數(shù)法,并基于傅里葉函數(shù)的數(shù)學(xué)模型,再根據(jù)標(biāo)準(zhǔn)羅盤提供的航向參數(shù)進(jìn)行校正即可。下面簡(jiǎn)要介紹最小二乘法的基本原理。
當(dāng)需要根據(jù)觀測(cè)結(jié)果來(lái)確定兩個(gè)變量y和x之間的對(duì)應(yīng)關(guān)系時(shí),假設(shè)他們是線性關(guān)系,則y在時(shí)刻t可以表示為:
其中H1,H2,…,Hn為n個(gè)待定的未知參數(shù),x1(t),x2(t),…,x n(t)為已知的確定性函數(shù),例如t的正余弦函數(shù)等。假設(shè)在時(shí)刻t1,t2,…,tm對(duì)y和x做m次的測(cè)量,希望通過(guò)變量y和x1(t),x2(t),…,x n(t)來(lái)估計(jì)它們的值。則公式(4)可以用矩陣形式來(lái)表示:
其中:
為了能估計(jì)出n個(gè)ih參數(shù),必須使m≥n。但當(dāng)m>n時(shí),由于隨機(jī)誤差、模型誤差或者兩者的組合都可能使數(shù)據(jù)復(fù)雜化,因此想要確定一組H使其滿足所有的m個(gè)方程幾乎不可能,這種情況下,可以在最小平方誤差的基礎(chǔ)上來(lái)確定H。經(jīng)計(jì)算可得H的最小二乘估計(jì)值為:
根據(jù)已知的航向角測(cè)量值iφ與航向角誤差φΔ,再使用最小二乘法,即可得到公式(3)所示的誤差系數(shù)A、B、C、D和E的最小二乘估計(jì)值。具體計(jì)算步驟為:①采用八位置誤差測(cè)量方法。考慮到樣本數(shù)量、數(shù)據(jù)計(jì)算量和測(cè)量精度,在航向角360 范圍內(nèi),取角度間隔相同的八個(gè)點(diǎn),例如0 、45 、90 、135 、180 、225 、270 、315 ,進(jìn)行航向的誤差測(cè)試,以此獲得8組數(shù)據(jù)。②根據(jù)最小二乘原理,求得誤差系數(shù)A、B、C、D和E。
通過(guò)前面的分析,當(dāng)采用最小二乘法計(jì)算出誤差系數(shù)A、B、C、D、E后,可通過(guò)下式計(jì)算出載體經(jīng)過(guò)誤差修正后的實(shí)際航向。
式中,校正后的實(shí)際航向角為φ?。
下面以電子羅盤作為航向角的測(cè)量裝置,將其固定在無(wú)磁三軸轉(zhuǎn)臺(tái)上。通過(guò)RS-232串口總線,由上位機(jī)(PC機(jī))接收磁航向角數(shù)據(jù),再采用最小二乘法對(duì)磁航向角的測(cè)量值進(jìn)行誤差補(bǔ)償。需要注意的是,八位置最小二乘法需要磁羅盤工作在方向輸出模式,提供載體的航向角度值。實(shí)驗(yàn)平臺(tái)示意圖如圖1所示。
圖1 實(shí)驗(yàn)平臺(tái)搭建示意圖
具體的實(shí)驗(yàn)步驟為:
①在實(shí)驗(yàn)室條件下,將電子羅盤固定在無(wú)磁三軸轉(zhuǎn)臺(tái)上。
②旋轉(zhuǎn)位于轉(zhuǎn)臺(tái)底部的微調(diào)旋鈕,調(diào)整電子羅盤近水平,該操作步驟依靠電子羅盤的傾斜角讀數(shù)來(lái)保證。
③手動(dòng)緩慢旋轉(zhuǎn)轉(zhuǎn)臺(tái),每隔45°記錄一組航向測(cè)量值iφ和與其對(duì)應(yīng)的轉(zhuǎn)臺(tái)讀數(shù)φ?(可視為航向真實(shí)值)。
④采用八位置誤差測(cè)量方法,取與8個(gè)測(cè)量點(diǎn)最為接近(指測(cè)量值而非真實(shí)值)的8組實(shí)驗(yàn)數(shù)據(jù)輸入到PC機(jī),根據(jù)最小二乘法解算出與航向測(cè)量值對(duì)應(yīng)的航向誤差,得到較為精確的航向角。
最小二乘法通過(guò)建立航向角的測(cè)量值與誤差之間的映射關(guān)系來(lái)研究測(cè)量值與真實(shí)值,是誤差補(bǔ)償方法的線性化處理,而在實(shí)際應(yīng)用場(chǎng)合,真實(shí)值的獲取具有一定的難度,如果輔之以標(biāo)準(zhǔn)測(cè)量?jī)x器完成一次誤差補(bǔ)償過(guò)程,又會(huì)大大降低電子羅盤系統(tǒng)的可用性。本文引入了橢圓假設(shè)補(bǔ)償法。橢圓假設(shè)法需要磁羅盤工作在能提供磁場(chǎng)強(qiáng)度值的磁場(chǎng)計(jì)輸出模式。
磁場(chǎng)強(qiáng)度可以表示為Hx=H0cosφ和Hy=?H0sinφ,顯然,這是一個(gè)以航向角φ作為參數(shù)的圓,當(dāng)航向角φ從0°到360°變化時(shí),如果沒(méi)有誤差,Hx和Hy合成的向量的頂點(diǎn)在水平面上形成一個(gè)圓。而形成航向角誤差的過(guò)程其實(shí)就是一個(gè)從圓到橢圓的變化過(guò)程,如果能有足夠的實(shí)驗(yàn)數(shù)據(jù)(主要是磁場(chǎng)強(qiáng)度測(cè)量值),就能確定該橢圓,并將橢圓重新恢復(fù)到圓,這個(gè)過(guò)程就是橢圓假設(shè)補(bǔ)償?shù)倪^(guò)程。只要電子羅盤的航向測(cè)量有誤差,就會(huì)反映到磁場(chǎng)強(qiáng)度上。假設(shè)磁場(chǎng)強(qiáng)度的實(shí)際測(cè)量值用Hxi和Hyi表示,而真實(shí)值用Hx和Hy表示,則它們的參數(shù)關(guān)系如公式(8)所示。
式中,a xx、axyayxayy是由軟磁材料性質(zhì)決定的誤差系數(shù),bx和by也是誤差系數(shù),由硬磁材料性質(zhì)所決定。如果這幾個(gè)誤差系數(shù)被確定了,就可以根據(jù)磁場(chǎng)強(qiáng)度的測(cè)量值和公式(8)求出真實(shí)值,再求解出航向角φ?。
為了能在載體運(yùn)行中自動(dòng)確定這幾個(gè)系數(shù),假設(shè)從圓到橢圓的運(yùn)動(dòng)軌跡若以下面的數(shù)學(xué)方式來(lái)描述:
過(guò)程可描述為:首先正交陣將圓轉(zhuǎn)了一個(gè)角度sφ;然后對(duì)稱陣使圓變成了橢圓,變化程度與pφ有關(guān);對(duì)角陣使橢圓又轉(zhuǎn)了一個(gè)角度;bx和by的作用是改變橢圓的中心位置。這就是誤差的形成過(guò)程,即一個(gè)由圓到橢圓的變化過(guò)程,稱之為橢圓假設(shè)。圖2所示的幾何圖形就是用來(lái)顯示從圓到橢圓的誤差形成過(guò)程的。
圖2 圓到橢圓的形成過(guò)程
橢圓假設(shè)就是一個(gè)由圓到橢圓的誤差形成過(guò)程,按此假設(shè),只要在載體運(yùn)動(dòng)過(guò)程中采集足夠的實(shí)驗(yàn)數(shù)據(jù)(Hxi和Hyi),就可以確定該橢圓。要想對(duì)該誤差進(jìn)行補(bǔ)償,最直接的辦法就是“將橢圓再還原成圓”,這個(gè)過(guò)程就是橢圓假設(shè)的誤差補(bǔ)償過(guò)程。
根據(jù)前面分析可知,只要求出φp、和、和Kx、Ky、bx、by,就可按圖2的逆過(guò)程把圖2(e)還原成圖2(b),也就是說(shuō)把包含各種誤差的數(shù)據(jù)Hxi和Hyi還原成只剩下圓周誤差的Hxa和Hya。該過(guò)程可由下式描述:
由于圓周誤差(主要是安裝誤差)可以通過(guò)轉(zhuǎn)動(dòng)傳感器的安裝位置來(lái)消除,所以,由φp、和、和Kx、Ky、bx、by就可以確定水平狀態(tài)中載體的6個(gè)誤差系數(shù),進(jìn)而求得沒(méi)有誤差的航向角,達(dá)到誤差補(bǔ)償?shù)哪康?。所以求解誤差系數(shù)的關(guān)鍵就是根據(jù)實(shí)驗(yàn)數(shù)據(jù)來(lái)確定圖2(e)中的橢圓參數(shù),并尋求橢圓參數(shù)與φp、Kx、Ky、和、和bx、by之間的關(guān)系。
因?yàn)檩d體是自動(dòng)采集數(shù)據(jù),實(shí)驗(yàn)所能獲得的數(shù)據(jù)只是在各個(gè)采樣點(diǎn)采集到的Hxi和Hyi,并且每組數(shù)據(jù)都對(duì)應(yīng)橢圓上一點(diǎn)的坐標(biāo)。因此,要實(shí)現(xiàn)載體航向誤差的自動(dòng)補(bǔ)償,就只有利用這些數(shù)據(jù)來(lái)求出誤差系數(shù)。圖2(e)是一個(gè)橢圓,其一般方程為:
其中:Bi是根據(jù)實(shí)驗(yàn)數(shù)據(jù)Hxi和Hyi對(duì)地磁場(chǎng)水平分量KH0的估計(jì)值,一般定義為:
公式(11)中有5個(gè)未知數(shù)Ai(i= 1,2,…,5),為了求出它們,要求載體在0°到360°范圍內(nèi)至少在5個(gè)方向上采集數(shù)據(jù)Hxi和H yi(i= 1,2,…,5),再通過(guò)計(jì)算求得它們與誤差補(bǔ)償系數(shù)φp、和、和Kx、Ky、bx、by之間的關(guān)系為:
對(duì)于系數(shù)kx和ky,因?yàn)樵谇蠼夂较虻倪^(guò)程中只是與k x/ky的比值有關(guān),而與其絕對(duì)數(shù)值無(wú)關(guān),所以為求解方便,設(shè)kx=1,則根據(jù)它們的比值求得:
當(dāng)求出以上系數(shù):bx、by、Kx、Ky和φp后,就可以把傳感器測(cè)出的有誤差的Hxi和Hyi補(bǔ)償為沒(méi)有誤差的Hxa和Hya,即把橢圓還原成圓。這種還原過(guò)程就是誤差補(bǔ)償?shù)倪^(guò)程。需要注意的是,正交陣φ只是將圓s轉(zhuǎn)了一個(gè)角度,帶來(lái)的只有常值誤差(主要是安裝誤差),而橢圓誤差補(bǔ)償法不能補(bǔ)償安裝誤差,所以一般設(shè)φs=0。
在航向數(shù)據(jù)的測(cè)量過(guò)程中,為了減小隨機(jī)誤差對(duì)補(bǔ)償效果的影響,可以采用增加采樣點(diǎn)、再應(yīng)用最小二乘原理來(lái)降低數(shù)據(jù)的隨機(jī)誤差,這時(shí),求解未知數(shù)Ai(i= 1,2,...,5)的方程組就要用下式來(lái)描述,通過(guò)此種方法求出Ai(i=1,2,...,5)后,余下的參數(shù)求解方法都不變。
為了檢驗(yàn)測(cè)量系統(tǒng)的補(bǔ)償效果,把系統(tǒng)中電子羅盤HMR3300模塊單獨(dú)固定在三軸無(wú)磁轉(zhuǎn)臺(tái)上,附近放置一塊磁鐵來(lái)模擬磁場(chǎng)干擾情況下產(chǎn)生的測(cè)量誤差。同時(shí),為了接收電子羅盤的原始數(shù)據(jù)(即補(bǔ)償前的數(shù)據(jù)),將電子羅盤和計(jì)算機(jī)通過(guò)串口通訊程序連接起來(lái),最后根據(jù)前面提到的補(bǔ)償算法進(jìn)行離線計(jì)算。圖3為某次實(shí)驗(yàn)中利用MATLAB對(duì)測(cè)量數(shù)據(jù)修正的仿真結(jié)果。
圖3 誤差結(jié)果分析
根據(jù)圖3可知,航向誤差基本服從正弦函數(shù)分布。3(a)圖中未經(jīng)補(bǔ)償?shù)暮较蚪亲畲笤?.5°附近。
圖3 (b)所示的八位置最小二乘法:需要在相隔同等角度下,手工采樣測(cè)量點(diǎn)數(shù)據(jù),并以此確定測(cè)量值與真實(shí)值,操作比較繁瑣,工程中難以實(shí)現(xiàn)。但補(bǔ)償效果明顯,補(bǔ)償后最大誤差值降到0.4°左右,還可以補(bǔ)償安裝誤差,所以直到現(xiàn)在仍作為很多實(shí)驗(yàn)研究的補(bǔ)償算法。
圖3 (c)所示的橢圓假設(shè)補(bǔ)償法:補(bǔ)償過(guò)程簡(jiǎn)單,省略了多點(diǎn)測(cè)試的步驟,采樣數(shù)據(jù)可利用計(jì)算機(jī)自動(dòng)采集,能實(shí)現(xiàn)自動(dòng)補(bǔ)償,但不能補(bǔ)償安裝誤差,使其補(bǔ)償精度有所降低。
圖3 (d)所示的融入最小二乘法的橢圓假設(shè)補(bǔ)償方法:采樣數(shù)據(jù)可以自動(dòng)采集,能補(bǔ)償安裝誤差,補(bǔ)償效果與最小二乘法相當(dāng),若去除隨機(jī)誤差,補(bǔ)償精度還會(huì)有一定改善。
為了對(duì)電子羅盤在進(jìn)行航向測(cè)量時(shí),所產(chǎn)生的測(cè)量誤差進(jìn)行補(bǔ)償,論文從算法、精度等方面討論了應(yīng)用在系統(tǒng)中的兩種補(bǔ)償方法,提出了一種融入最小二乘法原理應(yīng)用到橢圓假設(shè)法的誤差補(bǔ)償算法,并借助于實(shí)驗(yàn)數(shù)據(jù)驗(yàn)證了其有效性和可行性。實(shí)驗(yàn)結(jié)果表明:該方法使電子羅盤實(shí)現(xiàn)了自動(dòng)數(shù)據(jù)采集和誤差補(bǔ)償,補(bǔ)償過(guò)程更智能,補(bǔ)償效果更明顯,能有效地提高電子羅盤的測(cè)量精度,同時(shí)也降低了應(yīng)用成本,易于工程上的實(shí)現(xiàn)。