羅建剛, 羅 騁,2, 李海兵,2, 劉靜曉, 李?;?/p>
(1. 青島海洋科技中心, 青島 266237;2. 北京航天控制儀器研究所, 北京 100039)
三軸磁通門(mén)傳感器可以測(cè)量磁場(chǎng)分量信息,其在軍事和民用磁探測(cè)領(lǐng)域具有廣泛的應(yīng)用[1-3]。由于在材料、 加工和安裝工藝等方面存在若干限制, 導(dǎo)致三軸磁通門(mén)傳感器存在三軸非正交、 三軸標(biāo)度系數(shù)不一致、 零點(diǎn)偏移等問(wèn)題, 造成三軸磁通門(mén)傳感器的測(cè)量值存在誤差, 稱之為轉(zhuǎn)向誤差[4-5]。 三軸磁通門(mén)傳感器轉(zhuǎn)向誤差的存在影響了磁場(chǎng)分量和總場(chǎng)的測(cè)量精度, 為提高磁測(cè)精度, 在傳感器使用之前必須對(duì)其轉(zhuǎn)向誤差進(jìn)行校正。
國(guó)內(nèi)外許多學(xué)者在三軸磁通門(mén)傳感器轉(zhuǎn)向誤差校正算法方面進(jìn)行了研究, 目前常用的校正算法有最小二乘法[6-7]、 橢 球 擬 合 算 法[8-9]、 遺 傳 算法[4,10]、 神經(jīng)網(wǎng)絡(luò)算法[11]、 粒子群優(yōu)化算法[12]、 差分進(jìn)化算法[13]等。 上述文獻(xiàn)所提出的算法都是基于使樣本數(shù)據(jù)整體誤差最小化的思想估算出誤差參數(shù), 當(dāng)樣本數(shù)據(jù)質(zhì)量高、 無(wú)噪聲或畸變數(shù)據(jù)點(diǎn)時(shí), 上述算法可對(duì)轉(zhuǎn)向誤差起到良好的校正效果。但樣本數(shù)據(jù)采集過(guò)程中難免會(huì)引入一些隨機(jī)噪聲或畸變數(shù)據(jù)點(diǎn), 此時(shí)如果直接利用基于樣本數(shù)據(jù)整體誤差最小化的思想估算誤差參數(shù), 可能導(dǎo)致誤差參數(shù)估算出現(xiàn)較大偏差, 達(dá)不到誤差校正的要求。 通常樣本數(shù)據(jù)中的含噪聲或畸變數(shù)據(jù)點(diǎn)難以人為甄別和剔除, 或當(dāng)樣本數(shù)據(jù)量較大時(shí), 人為剔除比較費(fèi)時(shí)費(fèi)力, 不利于外場(chǎng)環(huán)境下執(zhí)行快速校正工作。
針對(duì)上述問(wèn)題, 本文在橢球擬合算法的基礎(chǔ)上提出了基于隨機(jī)抽樣一致性(Random Sample Consensus, RANSAC)算法的三軸磁通門(mén)傳感器誤差校正方法。
由于加工和安裝工藝上的限制, 三軸磁通門(mén)傳感器三個(gè)敏感軸之間并非完全正交, 由此對(duì)空間磁場(chǎng)測(cè)量造成的誤差稱為非正交誤差, 如圖1 所示; 磁傳感器三個(gè)敏感軸之間靈敏度和放大調(diào)理電路可能存在差別, 導(dǎo)致三個(gè)軸在測(cè)量相同的磁場(chǎng)時(shí)其輸出值可能不同, 此項(xiàng)誤差稱為標(biāo)度系數(shù)誤差; 三軸磁通門(mén)傳感器本身含有一些鐵磁性物質(zhì), 其會(huì)產(chǎn)生剩磁, 此外, 信號(hào)放大電路也會(huì)產(chǎn)生零點(diǎn)漂移, 由此造成的誤差稱為零偏誤差。 綜合考慮上述各項(xiàng)誤差, 可建立三軸磁通門(mén)傳感器測(cè)量誤差模型
圖1 磁傳感器坐標(biāo)軸非正交示意圖Fig.1 Schematic diagram of the magnetic sensor non-orthogonal axis
由于非正交角α、β、γ均為小角度, 故有cosα≈1、 cosβ≈1、 cosγ≈1、 sinα≈α、 sinβ≈β、sinγ≈γ, 則矩陣A可簡(jiǎn)化為
矩陣K和A均為嚴(yán)格對(duì)角占優(yōu)矩陣, 因此其為可逆矩陣。 對(duì)式(1)變換可得到三軸磁通門(mén)傳感器誤差校正模型
三軸磁通門(mén)傳感器的誤差參數(shù)bx、by、bz、kx、ky、kz、α、β、γ在短時(shí)間內(nèi)可看作是定值, 若能求得上述9 個(gè)誤差參數(shù)值, 便可根據(jù)式(2)實(shí)現(xiàn)三軸磁通門(mén)傳感器誤差校正, 三軸磁通門(mén)傳感器誤差校正問(wèn)題轉(zhuǎn)化為上述9 個(gè)誤差參數(shù)的估算問(wèn)題。
在理想情況下, 三軸磁通門(mén)傳感器在總場(chǎng)模值為‖B0‖的均勻磁場(chǎng)環(huán)境中轉(zhuǎn)動(dòng)時(shí), 其磁場(chǎng)測(cè)量點(diǎn)Bm(i)(i=1, 2, …,n)應(yīng)分布在以‖B0‖為半徑、 球心位于坐標(biāo)原點(diǎn)的球面上。
令三軸磁通門(mén)傳感器在總場(chǎng)模值為‖B0‖的磁場(chǎng)環(huán)境中轉(zhuǎn)動(dòng)采集數(shù)據(jù), 對(duì)式(2)兩邊分別取平方, 應(yīng)有
式(3)可改寫(xiě)為如下形式
在數(shù)學(xué)中, 二次曲面的一般形式可表示為
式(5)中,為二次曲面的參數(shù)向量,η= [x2y2z22xy2xz2yz2x2y2z1]T為曲面上某點(diǎn)坐標(biāo)(x,y,z)構(gòu)成的向量。 對(duì)于 空間某 點(diǎn)(x′,y′,z′) 而言,F(ξ,η′)的值表示該點(diǎn)到曲面F(ξ,η) =0 的代數(shù)距離。
若要求取一組磁場(chǎng)測(cè)量點(diǎn)Bm(i)(i=1, 2, …,n)所在的橢球曲面, 可以所有測(cè)量點(diǎn)到待求橢球曲面代數(shù)距離平方和最小的方式擬合計(jì)算出最佳的橢球曲面參數(shù)ξ, 即
式(6)中,ξ為待求的橢球參數(shù)向量,ηm(i)和D分別為磁場(chǎng)測(cè)量點(diǎn)構(gòu)成的向量和矩陣, 有
為保證式(6)的擬合結(jié)果為橢球曲面, 需要加入橢球約束條件
式(7) 中, 應(yīng)同時(shí)滿足I=a1+a2+a3和J=。
聯(lián)合式(6)、 式(7), 可得到基于樣本數(shù)據(jù)Bm(i)(i=1, 2, …,n) 的最佳橢球參數(shù)向量ξ。 結(jié)合式(4)和式(5), 有
但上述誤差參數(shù)求取過(guò)程是基于使樣本數(shù)據(jù)整體誤差最小化的思想進(jìn)行的, 當(dāng)樣本數(shù)據(jù)含有噪聲或畸變數(shù)據(jù)點(diǎn)時(shí), 會(huì)導(dǎo)致傳感器誤差參數(shù)估算出現(xiàn)偏差。
RANSAC 是一種穩(wěn)健的模型參數(shù)估計(jì)算法, 它由Fischler 和Bolles 于1981 年 最 先 提 出[14-15]。RANSAC 算法不同于橢球擬合等一般估計(jì)算法利用所有樣本點(diǎn)進(jìn)行模型參數(shù)估算, 它首先通過(guò)多次隨機(jī)抽樣計(jì)算的方式剔除噪聲或畸變數(shù)據(jù)點(diǎn),然后再利用剩余的正常樣本數(shù)據(jù)估算模型參數(shù)[16]。
在橢球擬合算法的基礎(chǔ)上, 利用RANSAC 算法對(duì)三軸磁通門(mén)傳感器的誤差參數(shù)進(jìn)行估算, 步驟如下:
步驟1: 令磁傳感器在總場(chǎng)模值為‖B0‖的均勻磁場(chǎng)環(huán)境中轉(zhuǎn)動(dòng), 采集樣本數(shù)據(jù)Bm(i) (i=1,2, …,n), 其中樣本數(shù)據(jù)個(gè)數(shù)n≥150。 設(shè)定迭代累加變量為k,k的初始值為1。
步驟2: 從樣本數(shù)據(jù)集Bm中隨機(jī)抽取樣本數(shù)據(jù)子集B′m(kj)(j=1, 2, …,q), 樣本數(shù)據(jù)子集個(gè)數(shù)為q, 其滿足9≤q≤n/10。
步驟3: 把B′m帶入2.1 節(jié)中的橢球擬合算法進(jìn)行誤差參數(shù)估算, 得到誤差校正矩陣D(k)和向量b(k),通過(guò)式(2) 對(duì)樣本數(shù)據(jù)Bm(i) 進(jìn)行誤差校正,校正后的磁總場(chǎng)模值為。
步驟4: 令
若有-ε≤η(ki)≤ε, 則認(rèn)為Bm(i)為局內(nèi)點(diǎn),將其保存至數(shù)據(jù)集P(k); 否則認(rèn)為其是局外點(diǎn),不保存; 令累加變量k=k+1。
步驟5: 重復(fù)執(zhí)行步驟2 ~步驟4 共K次, 即k=1, 2, …,K, 統(tǒng)計(jì)每次迭代計(jì)算所保留局內(nèi)點(diǎn)的個(gè)數(shù)s(k)=size(P(k)), 選取s(k)最大值所對(duì)應(yīng)的局內(nèi)點(diǎn)作為最終樣本數(shù)據(jù)。
步驟6: 把最終樣本數(shù)據(jù)帶入2.1 節(jié)中的橢球擬合算法, 估算出三軸磁通門(mén)傳感器的誤差參數(shù)。
在RANSAC 算法抽樣計(jì)算過(guò)程中, 當(dāng)某次抽取的樣本數(shù)據(jù)含噪聲或畸變點(diǎn)較多時(shí), 會(huì)使校正模型出現(xiàn)偏差, 導(dǎo)致大部分?jǐn)?shù)據(jù)成為局外點(diǎn);當(dāng)抽取的樣本數(shù)據(jù)都為正常數(shù)據(jù)點(diǎn)時(shí), 會(huì)得到理想的校正模型, 此時(shí)可保證大部分正常數(shù)據(jù)點(diǎn)成為局內(nèi)點(diǎn), 而噪聲和畸變數(shù)據(jù)則呈發(fā)散狀, 只有極少數(shù)可以成為局內(nèi)點(diǎn)。 通過(guò)多次隨機(jī)抽樣, 可保證最終的樣本數(shù)據(jù)基本不含噪聲或畸變數(shù)據(jù)點(diǎn)。
偏差閾值ε的取值至關(guān)重要, 取值過(guò)大會(huì)使噪聲點(diǎn)成為局內(nèi)點(diǎn), 取值過(guò)小則可能使正常數(shù)據(jù)點(diǎn)成為局外點(diǎn)。 根據(jù)經(jīng)驗(yàn), 可令ε取值為為全部樣本數(shù)據(jù)直接利用2.1 節(jié)中橢球擬合算法校正后磁總場(chǎng)的標(biāo)準(zhǔn)差
關(guān)于迭代次數(shù)K的取值, 假定樣本數(shù)據(jù)中正常數(shù)據(jù)點(diǎn)的比例為ω, 每次抽取的樣本子集個(gè)數(shù)為q, 那么進(jìn)行K次抽樣后至少有一次抽取的全為正常數(shù)據(jù)點(diǎn)的概率為
式(10)中,f為置信概率, 通常情況下f可取值為99.99%, 此時(shí)可計(jì)算出迭代次數(shù)K的最小取值
為了驗(yàn)證RANSAC 算法的有效性, 本文進(jìn)行了仿真分析。
設(shè)置環(huán)境磁總場(chǎng)強(qiáng)度為50000nT, 三軸磁通門(mén)傳感器的誤差參數(shù)如表1 所示。 令三軸磁通門(mén)傳感器在磁場(chǎng)空間中轉(zhuǎn)動(dòng)采集一組樣本數(shù)據(jù), 樣本數(shù)據(jù)包含200 個(gè)數(shù)據(jù)點(diǎn), 其空間分布如圖2 所示。 對(duì)樣本數(shù)據(jù)中10% 的數(shù)據(jù)加入均值為0、 方差為500nT 的高斯白噪聲作為噪聲點(diǎn)或畸變數(shù)據(jù)點(diǎn),圖3 為磁總場(chǎng)曲線對(duì)比。
圖2 磁場(chǎng)數(shù)據(jù)點(diǎn)的空間位置分布Fig.2 Spatial position distribution of magnetic field data points
圖3 磁總場(chǎng)曲線對(duì)比Fig.3 Comparison of total magnetic field curves
表1 仿真計(jì)算中RANSAC 算法參數(shù)設(shè)置Table 1 Parameter setting of RANSAC algorithm in simulation calculation
分別采用一般橢球擬合算法和RANSAC 算法對(duì)樣本磁場(chǎng)數(shù)據(jù)進(jìn)行誤差參數(shù)估算, RANSAC 算法的參數(shù)設(shè)置如表1 所示。 其中,ω為樣本數(shù)據(jù)中正常數(shù)據(jù)點(diǎn)的比例,q為每次迭代計(jì)算抽取的數(shù)據(jù)個(gè)數(shù),ε為偏差閾值,K為迭代次數(shù)。 兩種算法誤差參數(shù)估算結(jié)果如表2 所示。 其中, EF 表示橢球擬合算法, RS 表示RANSAC 算法。
表2 兩種算法對(duì)誤差參數(shù)的估算結(jié)果Table 2 Estimation results of error parameters by two algorithms
通過(guò)對(duì)比, 相比于一般橢球擬合算法,RANSAC 算法對(duì)誤差參數(shù)的估算精度顯著提升, 對(duì)零偏誤差、 標(biāo)度系數(shù)誤差的估算精度提升了2 個(gè)數(shù)量級(jí), 對(duì)非正交誤差的估算精度提升了1 個(gè)數(shù)量級(jí)。 以上仿真結(jié)果說(shuō)明, RANSAC 算法具有更強(qiáng)的適用性, 對(duì)于含噪聲或畸變數(shù)據(jù)的樣本數(shù)據(jù), 其仍然能夠估算出更為準(zhǔn)確的誤差參數(shù)。
為檢驗(yàn)RANSAC 算法在實(shí)際中的應(yīng)用效果,本文設(shè)計(jì)了外場(chǎng)實(shí)驗(yàn), 實(shí)驗(yàn)設(shè)備主要有三軸磁通門(mén)傳感器、 數(shù)采計(jì)算機(jī)、 上位機(jī)、 三軸無(wú)磁轉(zhuǎn)臺(tái)、質(zhì)子磁力儀等。
(1)直接實(shí)驗(yàn)
利用結(jié)構(gòu)件將三軸磁通門(mén)傳感器安裝在三軸無(wú)磁轉(zhuǎn)臺(tái)上, 如圖4 所示。 對(duì)轉(zhuǎn)臺(tái)進(jìn)行一系列旋轉(zhuǎn), 使三軸磁通門(mén)傳感器盡可能多地遍歷空間姿態(tài)。 采集一組樣本數(shù)據(jù), 樣本數(shù)據(jù)共包含430 個(gè)數(shù)據(jù)點(diǎn), 其磁總場(chǎng)曲線如圖5 所示。 由于傳感器的性能和環(huán)境干擾磁場(chǎng)的影響, 樣本數(shù)據(jù)中包含部分噪聲或畸變數(shù)據(jù)點(diǎn)。 經(jīng)計(jì)算, 樣本數(shù)據(jù)的峰峰值為575.7nT, 標(biāo)準(zhǔn)差為96.2nT。 另外, 利用質(zhì)子磁力儀測(cè)量背景磁場(chǎng)強(qiáng)度作為誤差校正的目標(biāo)值。
圖4 數(shù)據(jù)實(shí)測(cè)現(xiàn)場(chǎng)圖Fig.4 Diagram of data field measurement
圖5 實(shí)測(cè)磁總場(chǎng)曲線Fig.5 Curve of measured total magnetic field
分別利用橢球擬合算法和RANSAC 算法對(duì)上述樣本磁數(shù)據(jù)進(jìn)行誤差參數(shù)估算和誤差校正。RANSAC 算法的參數(shù)設(shè)置如表3 所示, 兩種算法誤差參數(shù)估算結(jié)果如表4 所示, 兩種算法對(duì)樣本數(shù)據(jù)誤差校正前后的總場(chǎng)曲線對(duì)比如圖6、 圖7 所示,樣本數(shù)據(jù)校正后總場(chǎng)的峰峰值和均方根誤差(RMS)對(duì)比如表5 所示。
表3 實(shí)驗(yàn)中RANSAC 算法參數(shù)設(shè)置Table 3 Parameter setting of RANSAC algorithm in the experiment
表4 兩種算法估算的誤差參數(shù)對(duì)比Table 4 Comparison of error parameters estimated by two algorithms
圖6 橢球擬合算法磁總場(chǎng)校正前后對(duì)比Fig.6 Comparison of ellipsoid fitting algorithm before and after total magnetic field correction
表5 磁總場(chǎng)校正前后參數(shù)對(duì)比Table 5 Comparison of parameters before and after total magnetic field correction
對(duì)比上述結(jié)果, 橢球擬合算法對(duì)樣本數(shù)據(jù)進(jìn)行校正后, 總場(chǎng)數(shù)據(jù)的峰峰值和均方根誤差(RMS)獲得了改善, 但由于樣本數(shù)據(jù)中含有噪聲或畸變數(shù)據(jù)點(diǎn), 導(dǎo)致校正效果并不理想; RANSAC 算法通過(guò)多次隨機(jī)抽樣的方式剔除了可能含有噪聲或畸變的205 個(gè)數(shù)據(jù)點(diǎn), 利用剩余的225 個(gè)數(shù)據(jù)點(diǎn)估算出了誤差參數(shù), 最后對(duì)剩余的樣本數(shù)據(jù)進(jìn)行誤差校正, 校正效果更加明顯。 相比于橢球擬合算法,RANSAC 算法校正后, 樣本數(shù)據(jù)總場(chǎng)的峰峰值和均方根誤差(RMS) 的改善率分別提高了57.6%和52.5%。
(2)對(duì)比實(shí)驗(yàn)
為了進(jìn)一步評(píng)估兩種算法對(duì)誤差參數(shù)估算的準(zhǔn)確性, 利用同一個(gè)三軸磁通門(mén)傳感器另外采集一組樣本磁場(chǎng)數(shù)據(jù)(341 個(gè)數(shù)據(jù)點(diǎn)), 該組數(shù)據(jù)的峰峰值和均方根誤差(RMS) 分別為270.9nT 和92.1nT。 利用表4 中的兩組誤差參數(shù)分別對(duì)該組樣本數(shù)據(jù)進(jìn)行校正, 校正前后磁總場(chǎng)曲線對(duì)比如圖8所示, 校正后磁總場(chǎng)的峰峰值和均方根誤差(RMS)值及其改善率如表6 所示。
圖8 對(duì)比實(shí)驗(yàn)磁總場(chǎng)曲線對(duì)比Fig.8 Comparison of total magnetic field curves in comparison experiment
表6 對(duì)比實(shí)驗(yàn)磁總場(chǎng)校正前后參數(shù)對(duì)比Table 6 Comparison of parameters before and after total magnetic field correction in comparison experiment
對(duì)比上述結(jié)果, 利用兩組誤差參數(shù)分別對(duì)該組樣本數(shù)據(jù)進(jìn)行校正后, 磁總場(chǎng)數(shù)據(jù)的峰峰值和均方根誤差(RMS)均獲得明顯改善, 但RANSAC 算法所得誤差參數(shù)較橢球擬合算法所得誤差參數(shù)對(duì)樣本數(shù)據(jù)的校正效果更加明顯, 磁總場(chǎng)的峰峰值和均方根誤差(RMS)的改善率分別提高了10.2%和32.1%。 通過(guò)上述結(jié)果可以認(rèn)為, 相比于橢球擬合算法, RANSAC 算法具有更強(qiáng)的適用性, 當(dāng)樣本數(shù)據(jù)含有噪聲或畸變數(shù)據(jù)點(diǎn)時(shí), 其仍然可以估算出更為準(zhǔn)確的誤差參數(shù)。
本文在橢球擬合算法的基礎(chǔ)上提出了基于RANSAC 算法的三軸磁通門(mén)傳感器誤差校正方法,該方法通過(guò)多次隨機(jī)抽樣的方式剔除樣本數(shù)據(jù)中的噪聲和畸變數(shù)據(jù)點(diǎn), 最終估算出更加準(zhǔn)確的誤差參數(shù)。 仿真分析中, 在樣本數(shù)據(jù)含有噪聲時(shí),所提出的方法可以剔除噪聲點(diǎn)并估算出準(zhǔn)確的誤差參數(shù), 相比于傳統(tǒng)方法, 誤差參數(shù)估算精度提升了1 ~2 個(gè)數(shù)量級(jí); 外場(chǎng)實(shí)驗(yàn)中, 所提出的方法對(duì)實(shí)測(cè)數(shù)據(jù)誤差校正效果更加優(yōu)良, 磁總場(chǎng)的峰峰值和均方根誤差(RMS)的改善率較傳統(tǒng)算法分別提高了10.2%和32.1%。 綜合分析認(rèn)為, 所提出的方法更加適用于外場(chǎng)環(huán)境下執(zhí)行三軸磁通門(mén)傳感器轉(zhuǎn)向差的快速校正工作, 具有一定的工程應(yīng)用價(jià)值。