羅建剛, 羅 騁,2, 李海兵,2, 劉靜曉, 李?;?/p>
(1. 青島海洋科技中心, 青島 266237;2. 北京航天控制儀器研究所, 北京 100039)
三軸磁通門傳感器可以測量磁場分量信息,其在軍事和民用磁探測領域具有廣泛的應用[1-3]。由于在材料、 加工和安裝工藝等方面存在若干限制, 導致三軸磁通門傳感器存在三軸非正交、 三軸標度系數不一致、 零點偏移等問題, 造成三軸磁通門傳感器的測量值存在誤差, 稱之為轉向誤差[4-5]。 三軸磁通門傳感器轉向誤差的存在影響了磁場分量和總場的測量精度, 為提高磁測精度, 在傳感器使用之前必須對其轉向誤差進行校正。
國內外許多學者在三軸磁通門傳感器轉向誤差校正算法方面進行了研究, 目前常用的校正算法有最小二乘法[6-7]、 橢 球 擬 合 算 法[8-9]、 遺 傳 算法[4,10]、 神經網絡算法[11]、 粒子群優化算法[12]、 差分進化算法[13]等。 上述文獻所提出的算法都是基于使樣本數據整體誤差最小化的思想估算出誤差參數, 當樣本數據質量高、 無噪聲或畸變數據點時, 上述算法可對轉向誤差起到良好的校正效果。但樣本數據采集過程中難免會引入一些隨機噪聲或畸變數據點, 此時如果直接利用基于樣本數據整體誤差最小化的思想估算誤差參數, 可能導致誤差參數估算出現較大偏差, 達不到誤差校正的要求。 通常樣本數據中的含噪聲或畸變數據點難以人為甄別和剔除, 或當樣本數據量較大時, 人為剔除比較費時費力, 不利于外場環境下執行快速校正工作。
針對上述問題, 本文在橢球擬合算法的基礎上提出了基于隨機抽樣一致性(Random Sample Consensus, RANSAC)算法的三軸磁通門傳感器誤差校正方法。
由于加工和安裝工藝上的限制, 三軸磁通門傳感器三個敏感軸之間并非完全正交, 由此對空間磁場測量造成的誤差稱為非正交誤差, 如圖1 所示; 磁傳感器三個敏感軸之間靈敏度和放大調理電路可能存在差別, 導致三個軸在測量相同的磁場時其輸出值可能不同, 此項誤差稱為標度系數誤差; 三軸磁通門傳感器本身含有一些鐵磁性物質, 其會產生剩磁, 此外, 信號放大電路也會產生零點漂移, 由此造成的誤差稱為零偏誤差。 綜合考慮上述各項誤差, 可建立三軸磁通門傳感器測量誤差模型

圖1 磁傳感器坐標軸非正交示意圖Fig.1 Schematic diagram of the magnetic sensor non-orthogonal axis
由于非正交角α、β、γ均為小角度, 故有cosα≈1、 cosβ≈1、 cosγ≈1、 sinα≈α、 sinβ≈β、sinγ≈γ, 則矩陣A可簡化為
矩陣K和A均為嚴格對角占優矩陣, 因此其為可逆矩陣。 對式(1)變換可得到三軸磁通門傳感器誤差校正模型
三軸磁通門傳感器的誤差參數bx、by、bz、kx、ky、kz、α、β、γ在短時間內可看作是定值, 若能求得上述9 個誤差參數值, 便可根據式(2)實現三軸磁通門傳感器誤差校正, 三軸磁通門傳感器誤差校正問題轉化為上述9 個誤差參數的估算問題。
在理想情況下, 三軸磁通門傳感器在總場模值為‖B0‖的均勻磁場環境中轉動時, 其磁場測量點Bm(i)(i=1, 2, …,n)應分布在以‖B0‖為半徑、 球心位于坐標原點的球面上。
令三軸磁通門傳感器在總場模值為‖B0‖的磁場環境中轉動采集數據, 對式(2)兩邊分別取平方, 應有
式(3)可改寫為如下形式
在數學中, 二次曲面的一般形式可表示為
式(5)中,為二次曲面的參數向量,η= [x2y2z22xy2xz2yz2x2y2z1]T為曲面上某點坐標(x,y,z)構成的向量。 對于 空間某 點(x′,y′,z′) 而言,F(ξ,η′)的值表示該點到曲面F(ξ,η) =0 的代數距離。
若要求取一組磁場測量點Bm(i)(i=1, 2, …,n)所在的橢球曲面, 可以所有測量點到待求橢球曲面代數距離平方和最小的方式擬合計算出最佳的橢球曲面參數ξ, 即
式(6)中,ξ為待求的橢球參數向量,ηm(i)和D分別為磁場測量點構成的向量和矩陣, 有
為保證式(6)的擬合結果為橢球曲面, 需要加入橢球約束條件
式(7) 中, 應同時滿足I=a1+a2+a3和J=。
聯合式(6)、 式(7), 可得到基于樣本數據Bm(i)(i=1, 2, …,n) 的最佳橢球參數向量ξ。 結合式(4)和式(5), 有
但上述誤差參數求取過程是基于使樣本數據整體誤差最小化的思想進行的, 當樣本數據含有噪聲或畸變數據點時, 會導致傳感器誤差參數估算出現偏差。
RANSAC 是一種穩健的模型參數估計算法, 它由Fischler 和Bolles 于1981 年 最 先 提 出[14-15]。RANSAC 算法不同于橢球擬合等一般估計算法利用所有樣本點進行模型參數估算, 它首先通過多次隨機抽樣計算的方式剔除噪聲或畸變數據點,然后再利用剩余的正常樣本數據估算模型參數[16]。
在橢球擬合算法的基礎上, 利用RANSAC 算法對三軸磁通門傳感器的誤差參數進行估算, 步驟如下:
步驟1: 令磁傳感器在總場模值為‖B0‖的均勻磁場環境中轉動, 采集樣本數據Bm(i) (i=1,2, …,n), 其中樣本數據個數n≥150。 設定迭代累加變量為k,k的初始值為1。
步驟2: 從樣本數據集Bm中隨機抽取樣本數據子集B′m(kj)(j=1, 2, …,q), 樣本數據子集個數為q, 其滿足9≤q≤n/10。
步驟3: 把B′m帶入2.1 節中的橢球擬合算法進行誤差參數估算, 得到誤差校正矩陣D(k)和向量b(k),通過式(2) 對樣本數據Bm(i) 進行誤差校正,校正后的磁總場模值為。
步驟4: 令
若有-ε≤η(ki)≤ε, 則認為Bm(i)為局內點,將其保存至數據集P(k); 否則認為其是局外點,不保存; 令累加變量k=k+1。
步驟5: 重復執行步驟2 ~步驟4 共K次, 即k=1, 2, …,K, 統計每次迭代計算所保留局內點的個數s(k)=size(P(k)), 選取s(k)最大值所對應的局內點作為最終樣本數據。
步驟6: 把最終樣本數據帶入2.1 節中的橢球擬合算法, 估算出三軸磁通門傳感器的誤差參數。
在RANSAC 算法抽樣計算過程中, 當某次抽取的樣本數據含噪聲或畸變點較多時, 會使校正模型出現偏差, 導致大部分數據成為局外點;當抽取的樣本數據都為正常數據點時, 會得到理想的校正模型, 此時可保證大部分正常數據點成為局內點, 而噪聲和畸變數據則呈發散狀, 只有極少數可以成為局內點。 通過多次隨機抽樣, 可保證最終的樣本數據基本不含噪聲或畸變數據點。
偏差閾值ε的取值至關重要, 取值過大會使噪聲點成為局內點, 取值過小則可能使正常數據點成為局外點。 根據經驗, 可令ε取值為為全部樣本數據直接利用2.1 節中橢球擬合算法校正后磁總場的標準差
關于迭代次數K的取值, 假定樣本數據中正常數據點的比例為ω, 每次抽取的樣本子集個數為q, 那么進行K次抽樣后至少有一次抽取的全為正常數據點的概率為
式(10)中,f為置信概率, 通常情況下f可取值為99.99%, 此時可計算出迭代次數K的最小取值
為了驗證RANSAC 算法的有效性, 本文進行了仿真分析。
設置環境磁總場強度為50000nT, 三軸磁通門傳感器的誤差參數如表1 所示。 令三軸磁通門傳感器在磁場空間中轉動采集一組樣本數據, 樣本數據包含200 個數據點, 其空間分布如圖2 所示。 對樣本數據中10% 的數據加入均值為0、 方差為500nT 的高斯白噪聲作為噪聲點或畸變數據點,圖3 為磁總場曲線對比。

圖2 磁場數據點的空間位置分布Fig.2 Spatial position distribution of magnetic field data points

圖3 磁總場曲線對比Fig.3 Comparison of total magnetic field curves

表1 仿真計算中RANSAC 算法參數設置Table 1 Parameter setting of RANSAC algorithm in simulation calculation
分別采用一般橢球擬合算法和RANSAC 算法對樣本磁場數據進行誤差參數估算, RANSAC 算法的參數設置如表1 所示。 其中,ω為樣本數據中正常數據點的比例,q為每次迭代計算抽取的數據個數,ε為偏差閾值,K為迭代次數。 兩種算法誤差參數估算結果如表2 所示。 其中, EF 表示橢球擬合算法, RS 表示RANSAC 算法。

表2 兩種算法對誤差參數的估算結果Table 2 Estimation results of error parameters by two algorithms
通過對比, 相比于一般橢球擬合算法,RANSAC 算法對誤差參數的估算精度顯著提升, 對零偏誤差、 標度系數誤差的估算精度提升了2 個數量級, 對非正交誤差的估算精度提升了1 個數量級。 以上仿真結果說明, RANSAC 算法具有更強的適用性, 對于含噪聲或畸變數據的樣本數據, 其仍然能夠估算出更為準確的誤差參數。
為檢驗RANSAC 算法在實際中的應用效果,本文設計了外場實驗, 實驗設備主要有三軸磁通門傳感器、 數采計算機、 上位機、 三軸無磁轉臺、質子磁力儀等。
(1)直接實驗
利用結構件將三軸磁通門傳感器安裝在三軸無磁轉臺上, 如圖4 所示。 對轉臺進行一系列旋轉, 使三軸磁通門傳感器盡可能多地遍歷空間姿態。 采集一組樣本數據, 樣本數據共包含430 個數據點, 其磁總場曲線如圖5 所示。 由于傳感器的性能和環境干擾磁場的影響, 樣本數據中包含部分噪聲或畸變數據點。 經計算, 樣本數據的峰峰值為575.7nT, 標準差為96.2nT。 另外, 利用質子磁力儀測量背景磁場強度作為誤差校正的目標值。

圖4 數據實測現場圖Fig.4 Diagram of data field measurement

圖5 實測磁總場曲線Fig.5 Curve of measured total magnetic field
分別利用橢球擬合算法和RANSAC 算法對上述樣本磁數據進行誤差參數估算和誤差校正。RANSAC 算法的參數設置如表3 所示, 兩種算法誤差參數估算結果如表4 所示, 兩種算法對樣本數據誤差校正前后的總場曲線對比如圖6、 圖7 所示,樣本數據校正后總場的峰峰值和均方根誤差(RMS)對比如表5 所示。

表3 實驗中RANSAC 算法參數設置Table 3 Parameter setting of RANSAC algorithm in the experiment

表4 兩種算法估算的誤差參數對比Table 4 Comparison of error parameters estimated by two algorithms

圖6 橢球擬合算法磁總場校正前后對比Fig.6 Comparison of ellipsoid fitting algorithm before and after total magnetic field correction

表5 磁總場校正前后參數對比Table 5 Comparison of parameters before and after total magnetic field correction
對比上述結果, 橢球擬合算法對樣本數據進行校正后, 總場數據的峰峰值和均方根誤差(RMS)獲得了改善, 但由于樣本數據中含有噪聲或畸變數據點, 導致校正效果并不理想; RANSAC 算法通過多次隨機抽樣的方式剔除了可能含有噪聲或畸變的205 個數據點, 利用剩余的225 個數據點估算出了誤差參數, 最后對剩余的樣本數據進行誤差校正, 校正效果更加明顯。 相比于橢球擬合算法,RANSAC 算法校正后, 樣本數據總場的峰峰值和均方根誤差(RMS) 的改善率分別提高了57.6%和52.5%。
(2)對比實驗
為了進一步評估兩種算法對誤差參數估算的準確性, 利用同一個三軸磁通門傳感器另外采集一組樣本磁場數據(341 個數據點), 該組數據的峰峰值和均方根誤差(RMS) 分別為270.9nT 和92.1nT。 利用表4 中的兩組誤差參數分別對該組樣本數據進行校正, 校正前后磁總場曲線對比如圖8所示, 校正后磁總場的峰峰值和均方根誤差(RMS)值及其改善率如表6 所示。

圖8 對比實驗磁總場曲線對比Fig.8 Comparison of total magnetic field curves in comparison experiment

表6 對比實驗磁總場校正前后參數對比Table 6 Comparison of parameters before and after total magnetic field correction in comparison experiment
對比上述結果, 利用兩組誤差參數分別對該組樣本數據進行校正后, 磁總場數據的峰峰值和均方根誤差(RMS)均獲得明顯改善, 但RANSAC 算法所得誤差參數較橢球擬合算法所得誤差參數對樣本數據的校正效果更加明顯, 磁總場的峰峰值和均方根誤差(RMS)的改善率分別提高了10.2%和32.1%。 通過上述結果可以認為, 相比于橢球擬合算法, RANSAC 算法具有更強的適用性, 當樣本數據含有噪聲或畸變數據點時, 其仍然可以估算出更為準確的誤差參數。
本文在橢球擬合算法的基礎上提出了基于RANSAC 算法的三軸磁通門傳感器誤差校正方法,該方法通過多次隨機抽樣的方式剔除樣本數據中的噪聲和畸變數據點, 最終估算出更加準確的誤差參數。 仿真分析中, 在樣本數據含有噪聲時,所提出的方法可以剔除噪聲點并估算出準確的誤差參數, 相比于傳統方法, 誤差參數估算精度提升了1 ~2 個數量級; 外場實驗中, 所提出的方法對實測數據誤差校正效果更加優良, 磁總場的峰峰值和均方根誤差(RMS)的改善率較傳統算法分別提高了10.2%和32.1%。 綜合分析認為, 所提出的方法更加適用于外場環境下執行三軸磁通門傳感器轉向差的快速校正工作, 具有一定的工程應用價值。