LU Zhaoxing,ZHANG Jinsheng,WANG Shicheng,CAI Xinhua
(The Second Artillery Engineering University,Xi’an 710025,China)
Calibration for Tri-Axial Magnetometer Based on Adaptive Genetic Algorithm*
LU Zhaoxing,ZHANG Jinsheng*,WANG Shicheng,CAI Xinhua
(The Second Artillery Engineering University,Xi’an 710025,China)
Tri-axial magnetometers are widely studied and used in geomagnetic measurement.The influence on the measurement results caused by tri-axial nonorthogonality is analyzed,and the calibration formula is established.An optimization mathematical model is established to get the nonorthogonal error angles,and the Adaptive Genetic Algorithm is used to solve the model,in order to achieve the identification of intrinsic parameters and the calibration of measurement errors.The measurement experiment of FGM-2000 tri-axial magnetometer is done to verify the calibration method,and results show that the effect is obvious,the measurement error is reduced 88.1%and the measurement accuracy is significantly improved.
tri-axial magnetometer;adaptive genetic algorithm;parameter identification;error calibration
近年來,隨著自動控制、工程檢測、電子技術(shù)的發(fā)展,三軸磁強計被廣泛應用于地磁導航等諸多新領(lǐng)域,在空間磁場的測量與研究中發(fā)揮著重要作用[1-4]。準確測量空間地磁場值或得到完整的地磁場信息,需要使用嚴格正交的三軸磁強計[2]。但是由于生產(chǎn)水平和安裝工藝的限制,實際應用的三軸磁強計不嚴格正交[3]。文獻[4]中列出了一些廠家生產(chǎn)的三軸磁強計三軸間夾角,大多數(shù)的磁強計的非正交誤差都超過了1°,這使得三軸磁強計的實際測量數(shù)據(jù)存在較大測量誤差。因此,三軸磁強計在使用時,必須對測量誤差進行校正。
通常采用數(shù)值計算的方法,結(jié)合實驗對三軸磁強計的測量誤差進行校正[4-8]。近年來,生物學、人工智能、神經(jīng)網(wǎng)絡等理論的發(fā)展與應用,為三軸磁強計的誤差校正開辟了新的思路。文獻[9]提出了一種基于蟻群算法的三軸磁強計正交誤差校正方法,能較好地實現(xiàn)對三軸磁強計正交誤差的校正。遺傳算法作為一種基于生物遺傳和進化機制的概率優(yōu)化技術(shù),具有運算簡單、搜索過程靈活、搜索效率高以及隱含并行性等特點,是一類可以用于復雜系統(tǒng)優(yōu)化計算的算法[10],特別適用于解決三軸磁強計參數(shù)辨識問題。但一般遺傳算法的交叉概率和變異概率固定,不能反映種群的進化進程,容易產(chǎn)生早熟收斂和收斂速度慢的缺陷[11]。因此,本文在應用遺傳算法對問題進行求解時,針對一般遺傳算法存在的不足進行了改進。改進后的自適應遺傳算法能自動地獲取和積累相關(guān)搜索空間信息,采用動態(tài)自適應技術(shù)控制參數(shù)選擇,求得全局最優(yōu)解[12-13]。這種方法可以保護優(yōu)良個體有效提高搜索效率和避免“早熟”現(xiàn)象。因此,本文通過引入高精度的標量磁力儀提供期望輸出,采用自適應遺傳算法實現(xiàn)對三軸磁強計測量誤差的校正。
三軸不正交是三軸磁強計測量誤差的主要來源之一,本文著重分析和校正由于磁強計三軸不正交所造成的測量誤差。設(shè)三軸磁強計的3個測量軸分別為OX,OY和OZ,與磁強計的測量坐標系對應的理想正交坐標系的3個正交軸分別為OX1,OY1和OZ1,兩個坐標系之間的位置關(guān)系如圖1所示。①OZ1軸與OZ軸重合;②坐標面Y1OZ1與坐標面YOZ共面,且OY軸與OY1軸之間夾角為β;③OX軸在坐標面Z1OX1的投影與OX1軸之間的夾角為α; OX軸與坐標面Z1OX1之間的夾角為γ。
圖1 磁強計三軸與正交軸之間位置關(guān)系
設(shè)三軸磁強計3個坐標軸的測量輸出分別為Bx,By和Bz,對應理想傳感器的三軸輸出分別為B1x,B1y和B1z,則二者之間的對應關(guān)系如式(1)所示。
式中α,β和γ即為非正交坐標系和正交坐標系之間的非正交誤差角。
令
則式(1)可寫成向量形式:
由此得到,三軸磁強計的誤差校正公式,在已知三軸磁強計非正交誤差角的情況下,由式(2)即可實現(xiàn)由測量值B到理想值B1之間的轉(zhuǎn)換。
僅依賴對被校正儀器提供的測量數(shù)據(jù)進行處理而得到期望輸出得方法,不能有效消除系統(tǒng)誤差的影響。借助高精度GSMP-35光泵磁力儀提供被校正磁強計的期望輸出,建立三軸磁強計非正交誤差角求解的最優(yōu)化模型:
式中,參數(shù)向量X=[α,β,γ]T,|B1i(X)|為測量量Bi經(jīng)過校正后的總場強度,|BSC|為GSMP-35光泵磁力儀測量得到的背景場場強。當目標函數(shù)F(X)→0時,|B1i|→|BSC|,此時,校正參數(shù)X的值即為三軸磁強計的非正交誤差角。
模型(3)為典型的無約束單一目標最優(yōu)化問題,遺傳算法作為一種應用廣泛的智能算法,能夠較好地解決這一類問題。但是,基本遺傳算法的收斂性和穩(wěn)定性并不理想[14],而自適應遺傳算法能夠較好地彌補這一不足[15]。因此,采用自適應遺傳算法通過改進交叉與變異遺傳算子來對模型(3)進行求解。
2.1 自適應遺傳算法
遺傳算法本質(zhì)上是一種高效、并行、全局搜索的方法,能夠在搜索過程中自動獲取和積累有關(guān)搜索空間的知識,并自適應地控制搜索過程以求得最優(yōu)解[13]?;具z傳算法的一般計算流程如圖2所示。
在遺傳算法的參數(shù)設(shè)置中交叉概率Pc和變異概率Pm的選擇是影響遺傳算法行為和性能的關(guān)鍵所在,直接影響算法的收斂性[16],主要體現(xiàn)在兩個方面:
(1)對于交叉概率Pc而言,Pc越大,新個體產(chǎn)生的速度就越快,但Pc過大時,遺傳模式被破壞的可能性也越大,使得具有高適應度的個體結(jié)構(gòu)很快就會被破壞;Pc過小時,會使得搜索過程緩慢,以致停滯不前;
(2)對于變異概率Pm而言,如果Pm過小,就不易產(chǎn)生新的個體結(jié)構(gòu);如果Pm過大,遺傳算法就會失去智能性,退化成純粹的隨機搜索算法。
圖2 一般遺傳算法計算流程圖
不同于一般的遺傳算法,自適應遺傳算法能夠根據(jù)個體適應度值自動調(diào)節(jié)Pc和Pm值,其調(diào)節(jié)的基本思想為:
(1)當種群各個個體適應度趨于一致或者趨于局部最優(yōu)時,使Pc和Pm增大,而當群體適應度比較分散時,使Pc和Pm減小;
(2)對于適應度高于群體平均適應度值的個體,對應于較小的Pc和Pm,使該解得以保護進入下一代;而低于平均適應度值的個體,相對應于較大的Pc和Pm,使該解被淘汰掉。
因此,自適應的Pc和Pm能夠提供相對某個解的最佳Pc和Pm,在保持群體多樣性的同時,也保證算法良好的收斂性[12]。
在自適應遺傳算法中,Pc和Pm按照式(4)和式(5)進行自適應調(diào)整[14]:
式中fmax為群體中最大的適應度值,favg為每代群體的平均適應度值,f'為要進行交叉的兩個個體中較大的適應度值,f為要變異個體的適應度值。常值參數(shù)取值為Pc1=0.9,Pc2=0.6,Pm1=0.1,Pm2= 0.001。
2.2 算法求解步驟
結(jié)合圖2的算法流程,應用自適應遺傳算法對三軸磁強計的非正交誤差角進行求解的具體算法步驟如下:
第1步產(chǎn)生初始種群并對參數(shù)進行編碼
確定種群規(guī)模M=80。隨機產(chǎn)生80個個體組成初始種群,種群代數(shù)k=1,并設(shè)定最大種群代數(shù)kmax=1000和適應度梯度限ΔˉG=5×10-5。采用遺傳算法常用的二進制編碼方式對種群個體進行編碼。設(shè)定α、β和γ的搜索范圍均為-0.1 rad~0.1 rad,參數(shù)的二進制編碼長度為l=10,則參數(shù)的求解精度如式6所示。
用二進制碼串SL=,,}作為染色體表示參數(shù)α、β和γ,其中基因段={aα1,aα2,…,aα10},={aβ1,aβ2,…,aβ10},={aγ1,aγ2,…,aγ10},aαi, aβi,aγi∈{0,1}。編碼位串到實際參數(shù)值之間的轉(zhuǎn)換關(guān)系由解碼函數(shù)Γ來確定,轉(zhuǎn)換過程如式(7)所示:
第2步計算適應度值
適應度函數(shù)的選取直接影響到遺傳算法的收斂速度以及能否找到最優(yōu)解。一般而言,適應度函數(shù)是由目標函數(shù)變換而成的。由于模型(3)最小值問題,因此建立適應度函數(shù)G(X)如式(8):
將種群個體對應的參數(shù)值代入到適應度函數(shù)(8)中得到第k代種群的第i個個體對應的適應度值G(k)i(X(k)),求平均得到第k代種群的平均適應度值ˉG(k)。
第3步選擇
根據(jù)適應度值,計算得到種群中各個個體的選擇概率Pi1和累計概率Pi2,計算公式如式(9):
采用輪盤賭選的方法選擇交配個體。進行80輪選擇,每一輪隨機產(chǎn)生一個0到1之間的隨機數(shù),將該隨機數(shù)作為選擇指針來確定被選個體,產(chǎn)生由80個被選個體組成的交配種群。
第4步交叉(基因重組)
采用二進制單點交叉的方式進行。將交配種群進行隨機兩兩配對,得到40組配對個體。選擇各組配對個體中較大的適應度值為該組配對個體的f'i(i=1,2,…,40)。將各個組的f'i以及fmax、favg代入到式(4)得到各組配對個體的交叉概率Pci。按照交叉概率對配對個體進行基因重組,交叉點隨機確定。交叉之后得到80個基因重組后的子代個體。
第5步變異
采用單基因位的二進制變異進行。變異即意味著單個基因位0和1之間的翻轉(zhuǎn)。對于每個個體的變異都是隨機進行的,個體的變異概率Pm由式(5)計算得到。經(jīng)過變異后,得到新一代的種群。
第6步判斷遺傳是否結(jié)束
判斷k是否滿足k=kmax,若不滿足,k=k+1,轉(zhuǎn)到第3步;若滿足,判斷ˉG(k)-ˉG(k-1)<ΔˉG是否滿足,若滿足轉(zhuǎn)到第7步,若不滿足,k=k+1,kmax= 2kmax,轉(zhuǎn)到第3步。
第7步結(jié)果輸出
在所有代種群的所有個體中,選擇適應度最大的個體及其對應的α、β、γ值作為求解結(jié)果輸出。
自適應遺傳算法的算法流程圖如圖3所示。
圖3 自適應遺傳算法流程圖
以FGM-2000三軸磁通門磁強計的誤差校正為對象開展實驗,實驗系統(tǒng)如圖4所示。
實驗的具體步驟如下:
第1步選定穩(wěn)定均衡背景磁場作為實驗場地,將固定有FGM-2000三軸磁強計的無磁轉(zhuǎn)臺固定于實驗地點,打開實驗儀器,檢驗儀器性能。
第2步待儀器性能穩(wěn)定后,每隔10°轉(zhuǎn)動一次轉(zhuǎn)臺,磁強計讀數(shù)穩(wěn)定后記錄對應姿態(tài)下的三軸輸出,完整記錄磁強計旋轉(zhuǎn)360°得到的測量數(shù)據(jù),如圖4(a)所示。
圖4 實測實驗示意圖
第3步保持轉(zhuǎn)臺在測量點位置不變。取下FGM-2000三軸磁強計,將GSMP-35光泵磁力儀固定在無磁轉(zhuǎn)臺上,以第2步中的方法將轉(zhuǎn)臺旋轉(zhuǎn)360°,記錄對應姿態(tài)下磁力儀測量得到的總場數(shù)據(jù),如圖4(b)所示。
第4步結(jié)合測量得到的磁場數(shù)據(jù),運用自適應遺傳算法對三軸磁強計的非正交誤差角進行求解。
求解得到的結(jié)果如圖5和表1、表2所示。
圖5 校正結(jié)果示意圖
表1 FGM-2000三軸磁力儀非正交誤差角最優(yōu)求解值
分析校正結(jié)果可知,自適應遺傳算法在求解三軸磁強計的固有參數(shù)時,具有良好的穩(wěn)定性。遺傳1 000代之后,地磁總場測量值均方根誤差可由校正前的411.82 nT,減小為校正后的49.38 nT,測量誤差減小了88.1%,測量精度顯著提高。
分析求解得到的磁強計法固有參數(shù)可知,3個非正交誤差角均為小角度。因此,可以通過將校正式(2)中的參數(shù)進行線性化近似處理,即sinα≈α, sinβ≈β,sinγ≈γ,cosα=cosβ=cosγ≈1,來提高算法收斂性能和搜索速度。
經(jīng)校正之后,磁強計的測量誤差仍有50 nT左右,分析原因主要有3個方面:①有限測量數(shù)據(jù)不可能完全反映矢量傳感器全部姿態(tài)下的輸出特性;②除正交誤差外,測量數(shù)據(jù)中包含有其他性質(zhì)的測量誤差,如三軸的標度系數(shù)不一致、零點漂移、背景場的時變以及傳感器的溫漂等;③提供期望輸出的高精度光泵磁強計自身也存在一定的測量誤差。
本文提出的三軸磁強計的誤差校正方法,運用自適應遺傳算法求解三軸磁強計的非正交誤差角,進一步實現(xiàn)對三軸磁強計測量誤差的校正。通過FGM-2000三軸磁力儀的實際測量實驗對校正方法進行驗證,結(jié)果表明,該方法效果明顯,能夠?qū)崿F(xiàn)三軸磁強計非正交誤差角的有效辨識和測量精度的顯著提高,從而為發(fā)揮三軸磁強計自身優(yōu)勢和拓展應用領(lǐng)域提供了一條切實可行的技術(shù)途徑。
[1]吳德會,黃松嶺,趙偉.基于FLANN的三軸磁強計誤差校正研究[J].儀器儀表學報,2009,30(3):449-453.
[2]林春生,向前,龔沈光.三軸磁強計正交誤差分析與校正[J].探測與控制學報,2005,27(2):9-12.
[3]Gu Wei,Chu Jianxin,Huang Hui.Development of Three-Tip Fluxgate Magnetometer Applied on Ship Magnetic Field Measure[C]//IEEE International Instrumentation and Measurement Technology Conference,2011:919-924.
[4]朱昀,董大群.三軸磁強計轉(zhuǎn)向差的自適應校正[J].儀器儀表學報,1999,20(4):392-396.
[5]周慶飛,汪海濤,梁斌.磁通閥式磁傳感器最小二乘校正[J].探測與控制學報,2009,31(2):63-70.
[6]周榕軍,劉大明,洪澤宏.非理想條件下三軸磁通門傳感器誤差修正方法[J].艦船科學與技術(shù),2011,33(3):85-89.
[7]吳德會.基于SVR的三軸磁通門傳感器誤差修正研究[J].傳感器與微系統(tǒng),2008,27(6):43-46.
[8]胡海濱,林春生,龔沈光.基于共軛次梯度法德非理想正交三周磁傳感器的修正[J].數(shù)據(jù)采集與處理,2003,18(1):88 -91.
[9]周建軍,林春生,張堅.基于蟻群算法對三軸磁強計非正交度的修正[J].艦船科學技術(shù),2011,33(2):106-109.
[10]Kwok H S,Tang W K S.A Fast Image Encryption System Based on Chaotic Maps with Finite Precision Representation[J].Chaos,Solitons and Fractals,2007,32(4):1518-1529.
[11]李志宇,史浩山.一種基于網(wǎng)格和移動代理的無線傳感器網(wǎng)絡數(shù)據(jù)融合算法[J].傳感技術(shù)學報,2008,21(7):1232-1236.
[12]史建國,高曉光,李相民.“預先”進化遺傳算法研究[J].宇航學報,2005,26(2):168-173.
[13]徐定杰,劉明凱,沈鋒.基于自適應遺傳算法的DGPS整周模糊度快速解算[J].航空學報,2013,34(2):371-377.
[14]王小平,曹立明.遺傳算法——理論、應用與軟件實現(xiàn)[M].西安:西安交通大學出版社,2002(1):68-85.
[15]Cheung A,Bennamoun M,Bergmann N W.An Arabic Optical Character Recognition System Using Recognition-based Segmentation[J].Pattern Recognition,2001,34(2):215-233.
[16]王軍號,孟祥瑞.一種基于改進遺傳RBF神經(jīng)網(wǎng)絡的傳感器動態(tài)特性補償算法[J].傳感技術(shù)學報,2010,23(9):1298 -1302.
盧兆興(1990-),男,山東莒縣人,博士研究生,主要研究方向為導航、制導與控制;
張金生(1980-),男,河南南陽人,副教授,博士,主要研究方向為導航、制導與控制;
王仕成(1962-),男,山東單縣人,教授,博士生導師,主要研究方向為導航、制導與控制。
基于自適應遺傳算法的三軸磁強計誤差校正方法*
盧兆興,張金生*,王仕成,蔡欣華
(第二炮兵工程大學精確制導與仿真實驗室,西安710025)
三軸磁強計已被廣泛應用于空間磁場的測量。分析三軸不正交對三軸磁強計測量結(jié)果帶來的影響,得到三軸磁強計的誤差校正公式,建立求解非正交誤差角的最優(yōu)化數(shù)學模型,并運用自適應遺傳算法對模型進行求解,實現(xiàn)對磁強計固有參數(shù)的辨識和測量誤差的校正。通過FGM-2000三軸磁力儀實測實驗對校正方法進行驗證,結(jié)果表明,校正方法效果明顯,儀器的測量誤差減小了88.1%,測量精度顯著提高。
三軸磁強計;自適應遺傳算法;參數(shù)辨識;誤差校正
TM936
A
1004-1699(2014)03-0331-06
2013-06-27修改日期:2013-08-24
C:5180
10.3969/j.issn.1004-1699.2014.03.011
項目來源:國家自然科學基金青年科學基金項目(61004128)