(中國人民解放軍 91336部隊,河北 秦皇島 066000)
水面艦艇的船體主要由鋼鐵建造,在地磁場作用下會被磁化從而產(chǎn)生艦艇磁場,為獲得準(zhǔn)確的艦艇磁場信息,一般通過將矢量磁傳感器安放于艦艇周圍以進(jìn)行艦艇磁性檢測。艦艇磁性檢測一般分為靜態(tài)磁性檢測與動態(tài)磁性檢測[1-3],如大平面布陣測量、測量環(huán)檢測法和移動式檢測等方式,其中大平面布陣法通過在海底布置大規(guī)模的磁傳感器陣列以獲得固定深度下的艦艇磁場測量值;測量環(huán)檢測法將磁傳感器環(huán)形排列,當(dāng)艦艇行駛在測量環(huán)內(nèi)可獲得艦艇空間包絡(luò)面上的磁場信息;移動式檢測法通過將少數(shù)磁傳感器在艦艇下方等距水平排列,具有快速布置、方便使用的特點。在上述方式中為保證磁測量數(shù)據(jù)的準(zhǔn)確性,都要求磁傳感器具有較高的安裝精度,即磁傳感器坐標(biāo)系與設(shè)定的主坐標(biāo)系一致,然而在海洋環(huán)境背景下矢量磁傳感器受到?jīng)_擊、震動時姿態(tài)會發(fā)生變化,從而導(dǎo)致磁場測量的準(zhǔn)確度下降,且由于磁傳感器已密封安裝,其姿態(tài)難以通過物理方式校正,因此需要定期對磁傳感器進(jìn)行姿態(tài)校正,以保證艦艇磁性檢測的精度。
目前艦艇磁性檢測中對于磁傳感器的姿態(tài)校正一般不考慮垂直方向,而多注重水平方向的姿態(tài)變化[4-5],如文獻(xiàn)[5]通過對艦艇磁場進(jìn)行建模,以模型擬合誤差為適應(yīng)度采用遺傳算法得出了較高精度的水平偏轉(zhuǎn)角。實際中矢量磁傳感器受外部影響會發(fā)生傾斜、偏轉(zhuǎn),將與設(shè)定坐標(biāo)系間產(chǎn)生3個不同方向的姿態(tài)角,為貼近實際本文對3個姿態(tài)角綜合考慮,提出了一種針對水下矢量磁傳感器姿態(tài)校正的新方法,通過在傾斜磁傳感器附近放置一標(biāo)準(zhǔn)磁傳感器,以標(biāo)準(zhǔn)測量值為依據(jù)采用APO混合算法對傾斜測量值求解,得出了磁傳感器在x、y、z三個方向上的姿態(tài)偏轉(zhuǎn)角,并可對磁測量數(shù)據(jù)進(jìn)行修正,獲得準(zhǔn)確的磁場測量信息,從而提高了艦艇磁性檢測中矢量磁傳感器的測量精度。本文通過仿真證明了該方法的正確性,并在船模實驗中進(jìn)行了具體分析與驗證。
在艦艇磁性檢測中矢量磁傳感器固定封裝于海底固定點處,艦艇在海面上沿直線勻速行駛。在仿真驗證中通過單橢球體加磁偶極子陣列混合模型進(jìn)行模擬艦艇磁場,根據(jù)混合模型的計算公式可獲得磁傳感器所在位置的艦艇磁場強(qiáng)度,將其作為標(biāo)準(zhǔn)磁傳感器的測量真值,并通過姿態(tài)變換方程可得出傾斜磁傳感器的測量值,對此模擬測量數(shù)據(jù)進(jìn)行可反推計算出姿態(tài)偏轉(zhuǎn)角,將磁測量校正結(jié)果與磁場真值比較以驗證此方法的正確性。
采用單橢球體與磁偶極子陣列混合模型模擬艦艇磁場,具體如圖1所示。橢球體用來模擬艦艇的主磁場,其長半軸a=L/2(L為艦艇縱向長度),短半軸b=B/2(B為艦艇橫向長度),橢球心與艦艇中心重合。磁偶極子陣列用來模擬艦艇的局部磁場,N個磁偶極子在艦艇長軸上均勻分布(N取奇數(shù)),相鄰兩磁偶極子間隔為c=L/(N-1),則第i個磁偶極子坐標(biāo)表達(dá)為[(i-(N+1)/2)c,0,0]。
圖1 艦艇磁場模型
設(shè)定橢球體磁矩為M0=[Mx0,My0,Mz0],第i個磁偶極子的磁矩為Mi=[Mxi,Myi,Mzi],則tj時刻磁傳感器位置處的艦艇磁場大小為Hj=[Hxj,Hyj,Hzj][6]
(1)
上式可簡寫為H=FM,其中H=[H1,H2,…,Hm]T,M=[M0,M1,…,MN]T,F(xiàn)中元素與模型中磁偶極子及橢球相對測量點的距離有關(guān),具體根據(jù)艦艇運動時的位置可計算得出,由此根據(jù)式(1)可模擬出艦艇在磁傳感器所在位置的磁場值。
首先在實驗前測量地磁背景場,假定標(biāo)準(zhǔn)磁傳感器三軸兩兩相互正交且沒有測量誤差,當(dāng)傳感器坐標(biāo)系與大地坐標(biāo)系一致時,磁傳感器的測量值即為艦艇磁場磁場與地磁背景場的疊加值,將地磁背景去除后可得艦艇磁場的標(biāo)準(zhǔn)測量值H。當(dāng)磁傳感器傾斜時,其所在坐標(biāo)系與大地坐標(biāo)系在x、y、z方向分別產(chǎn)生α、β、γ三個姿態(tài)角,將此傾斜條件下磁傳感器測量值中的地磁背景場去除可得傾斜后測量值B,則測量值B與艦艇磁場H的關(guān)系[7]可描述為:
B=AH
(2)
其中:A為大地坐標(biāo)系與磁傳感器坐標(biāo)系之間的轉(zhuǎn)換矩陣,簡稱姿態(tài)角矩陣:
A=
(3)
由式(3)分析可知A的模為1,且實際中姿態(tài)角α、β、γ都較小,A中元素aij在[-1,1]范圍內(nèi)。由式(2)可知磁傳感器的姿態(tài)校正歸結(jié)于A矩陣的求解,當(dāng)A已知后根據(jù)磁測量值B反推可得出真實的艦艇磁場值H。
假定磁傳感器1放置海底且姿態(tài)傾斜,緊靠此磁傳感器位置放置一姿態(tài)標(biāo)準(zhǔn)且無測量誤差的磁傳感器2,則認(rèn)為磁傳感器2測量值為真實值。當(dāng)艦艇在海面航行通過時,磁傳感器1、2分別獲得測量值B與H,則根據(jù)式(2)由B與H可求解得出A矩陣,在求解過程中定義目標(biāo)函數(shù)為:
(4)
式(4)中,n為測量點數(shù),共獲得n組測量數(shù)據(jù),以姿態(tài)角矩陣A中元素作為位置求解參數(shù),當(dāng)求解結(jié)果逼近真實值時,由式(4)可知目標(biāo)函數(shù)F趨近于0,當(dāng)F取得最小值時則認(rèn)為得到最優(yōu)求解值,并由此可對傾斜測量值進(jìn)行修正得出無傾斜條件下的磁場測量真值。為在較少求解次數(shù)下獲得較高的求解準(zhǔn)確度,本文采用蟻群粒子群混合優(yōu)化算法(簡稱APO)求解A矩陣,其算法流程如圖2所示。
圖2 APO算法流程圖
APO算法中具有蟻群算法(ACO)與粒子群算法(PSO)的重要步驟,由于ACO中螞蟻在覓食路徑上釋放信息素以傳遞信息從而相互協(xié)作,具有較強(qiáng)的魯棒性和較好的搜索能力,但求解中計算量大且收斂速度偏慢,且易陷入局部最優(yōu);粒子群算法(PSO)模擬鳥類的捕食行為,具有并行處理和計算效率高的特點,但易產(chǎn)生早熟收斂現(xiàn)象。APO通過將兩種算法融合,充分發(fā)揮優(yōu)勢并克服各自缺點,其主要思想是以蟻群算法為主體框架,以待求解參數(shù)作為螞蟻個體并使其具有粒子特性,采用ACO中的搜索步驟,并在搜索過程中個體進(jìn)行越界處理,同時將ACO中螞蟻信息素與PSO中目標(biāo)函數(shù)結(jié)合,采用PSO進(jìn)行路徑選擇[8-9],滿足終止條件后得到最終優(yōu)化結(jié)果,具體步驟如下:
1)初始化。設(shè)定螞蟻個數(shù)m,每個螞蟻xi含有9位(xi∈[xmin, "xmax]),分別代表A矩陣中9個元素,同時螞蟻也為PSO中的粒子,即螞蟻也具有粒子性。設(shè)定螞蟻初值,螞蟻xi的信息素τi=C-F,(C為一較大正值),τi也是PSO中的適應(yīng)度函數(shù)fitness,這樣就將目標(biāo)函數(shù)最小值轉(zhuǎn)化為求信息素的最大值。
2)轉(zhuǎn)移概率。螞蟻根據(jù)信息素大小判斷是否轉(zhuǎn)移,則第i只螞蟻的轉(zhuǎn)移概率為:
(5)
3)螞蟻更新。螞蟻根據(jù)轉(zhuǎn)移概率進(jìn)行局部搜索或全局搜索:
(6)
式(6)中,λ=1/t,t為迭代次數(shù),p0為固定值。當(dāng)螞蟻搜索后,根據(jù)適應(yīng)度函數(shù)求取每個螞蟻的歷史最優(yōu)值Pbest及群體最優(yōu)值Gbest,以便于采用PSO進(jìn)一步搜索。
4)粒子的速度及位置更新。將上述螞蟻個體作為粒子,根據(jù)粒子歷史及群體最優(yōu)值更新速度與位置,則粒子在第d維的具體變化公式為:
(7)
式(7)中,ω為慣性權(quán)重系數(shù),取較大值時有利于全局搜索,取較小值有利于局部搜索,ω變化公式為:
ω(t)=ωstart-(ωstart-ωend)·(t/T)
(8)
其中:T為最大迭代次數(shù),ωstart與ωend分別為ω取值范圍的邊界值。
5)優(yōu)化替代。對更新后的新個體進(jìn)行適應(yīng)度值排列,將其中適應(yīng)度較小的個體替換成具有最大適應(yīng)度的個體,以此加快全局收斂速度。
6)信息素更新。當(dāng)所有螞蟻完成以此循環(huán)后,信息素進(jìn)行更新
τi(t+1)=(1-ρ)τi(t)+fitness(t)
(9)
式(9)中,fitness(t)為經(jīng)過PSO更新后的適應(yīng)度函數(shù),ρ為信息素衰減系數(shù)。
首先對磁傳感器測量數(shù)據(jù)進(jìn)行模擬計算,設(shè)定混合模型中磁偶極子相鄰間隔為5 m,磁橢球體長軸為15 m,短軸為5 m,艦艇在海平面上以1 m/s勻速前進(jìn)。磁傳感器位置為[80,50,20](m),每隔3秒記錄一次,測量前可預(yù)先測量地磁場并當(dāng)艦艇通過時將其從測量值中去除,則磁測量值中只含有艦艇磁場。
將橢球與磁偶極子的磁矩代入式(1)可計算得出磁傳感器2的標(biāo)準(zhǔn)磁場測量值H。設(shè)定磁傳感器1的姿態(tài)角分別為α=3°,β=5°,γ=2°,由式(2)得出磁測量值B,為顯示磁傳感器的傾斜對測量帶來的影響,將B與H在三分量上進(jìn)行比較,定義ΔBx、ΔBy、ΔBz分別為B與H在三分量上的差值,其具體結(jié)果如圖3所示。
圖3 B與H對比曲線
由圖3可知,即使磁傳感器傾斜含有較小的姿態(tài)角,也會導(dǎo)致磁測量值在三分量上產(chǎn)生較大幅度的測量誤差,其在三分量上的最大波動幅度達(dá)到了近百納特,而實際中經(jīng)過消磁處理后的艦艇磁場本身的絕對值大小通常在百納特級,這必然會對艦艇磁性檢測的精度產(chǎn)生不利影響,因此說明有必要修正因磁傳感器姿態(tài)傾斜引起的測量誤差。
為符合實際測量條件,對B與H分別加入幅度為5nT的白噪聲,以模擬磁傳感器本身的測量隨機(jī)誤差。本文采用APO對磁測量值B求解姿態(tài)角矩陣A,對此方法進(jìn)行仿真驗證,其算法參數(shù)初始化設(shè)定如下:
1)種群中個體數(shù)目n=50,初始化中xi中元素的范圍為[-1,1],最大迭代次數(shù)為150。
2)ACO算法模塊中參數(shù):轉(zhuǎn)移概率p0=0.2,信息素衰減系數(shù)ρ=0.8,信息素中常數(shù)C=105。
3)PSO算法模塊中參數(shù):c1=c2=1.49445,r1與r2為[0,1]區(qū)間的隨機(jī)數(shù),ωstart=0.9,ωend=0.4,粒子速度v的范圍為[-0.5,0.5]。
本文以目標(biāo)函數(shù)F作為評價標(biāo)準(zhǔn),當(dāng)F越小時說明求解結(jié)果越精確。在每一次迭代搜索中記錄適應(yīng)度值fitness,將其與常數(shù)C相減得F的變化值。為表明APO算法的優(yōu)越性,將其與ACO與PSO的求解結(jié)果一同比較,F(xiàn)的變化曲線及A矩陣求解結(jié)果如下所示,其中Re為求解值與真值間的相對誤差:
圖4中顯示經(jīng)多次迭代計算后APO求解精度最高,隨著迭代次數(shù)的增加目標(biāo)函數(shù)F迅速減小,經(jīng)歷較少代數(shù)搜索得到全局最優(yōu)值。表1中APO計算得到的姿態(tài)角轉(zhuǎn)換矩陣A中元素aij精度在1%以內(nèi),與設(shè)定值基本一致,其精度相比ACO與PSO要高許多,同時PSO相比ACO具有較好的求解效果,PSO經(jīng)多次迭代計算目標(biāo)函數(shù)F達(dá)到最小值,
圖4 目標(biāo)函數(shù)變化曲線
Re/%ACOPSOAPOa111.480.440a1222.9821.550a13222.4725.80.1146a2113.952.030a222.180.210.01a23130.5112.090.19a3141.190.0010.35a32274.10.0011.08a3348.010.0010.01
但在個別元素的求解上還不夠精確。經(jīng)上述比較可知,3種算法中APO求解效果精度最高,其次為PSO,而ACO的求解不太理想,同時也說明采用APO進(jìn)行磁傳感器姿態(tài)校正的方法是可行的,在磁場測量中將計算得到的A矩陣與磁傳感器1測量值B代入式(2)即可得到準(zhǔn)確的艦艇磁場測量值H。
為證明此方法在模擬實際環(huán)境下的正確性及有效性,采用船模實驗進(jìn)行驗證,其實驗示意圖如圖5所示。
圖5 實驗示意圖
實驗中兩個磁傳感器位于船模正下方沿y方向緊密放置,1號磁傳感器姿態(tài)傾斜,其測量值作為需校正值B,2號磁傳感器x軸指向磁北,經(jīng)水平校正后無姿態(tài)誤差,測量值作為標(biāo)準(zhǔn)值B,此實驗具體步驟如下:
1)采樣點在無磁軌道上均勻分布,共25個,其相互間距為25 cm。磁傳感器1、2位于12號采樣點下方,沿z軸垂直方向距船模1 m。
2)采用兩種型號船模進(jìn)行實驗驗證,分別定義為Ι型與Π型。船模水平放置無傾斜,船首指向地磁北,依次推進(jìn)船模到1~25號采樣點。移動Ι型船模時得到磁傳感器1、2的測量值B1與H1,移動Π型船模得到測量值B2與H2。
根據(jù)測量值B1與H1采用APO算法求解1號磁傳感器的姿態(tài)角矩陣A,將A與H2代入式(2)得校正后的磁場值Bc=AH2。若矩陣A求解正確,則校正值Bc應(yīng)與Π型船模的測量標(biāo)準(zhǔn)值B2相同,因此定義校正前誤差ΔB=B2-H2,校正后誤差ΔBc=B2-Bc,當(dāng)ΔBc趨近于0說明校正效果越好,ΔB與ΔBc在三分量上的對比結(jié)果如下
表2 校正結(jié)果對比
圖6 姿態(tài)校正前后ΔBc對比
由上述結(jié)果可知,校正后ΔBc相比校正前ΔB在三分量上的變化幅度及均方差均降了近70%,說明姿態(tài)矩陣A的求解結(jié)果較為正確,校正后1號磁傳感器測量精度有了較大改善。在表1中ΔBc在x、z分量上絕對值最大不超50 nT,但在y分量上絕對值較大,究其原因具體分析如下:
1)2號磁傳感器作為標(biāo)準(zhǔn)磁傳感器,測量時應(yīng)沒有正交、標(biāo)度、零位等固有測量誤差,但限于實驗室測量條件并沒有對2號磁傳感器進(jìn)行固有誤差的校正,將其作為標(biāo)準(zhǔn)測量值H并不完全準(zhǔn)確,這會對姿態(tài)矩陣A的算帶來不利影響。
2)1號與2號磁傳感器緊密放置,兩者具有體積故產(chǎn)生一定距離,為保證2號磁傳感器的測量值能夠作為標(biāo)準(zhǔn)測量值H,應(yīng)采用小體積磁傳感器以保證兩者間距離足夠小,從而最大限度減小體積因素的影響。
3)實驗中傳感器相距船模較近,而實際艦艇磁性檢測中兩傳感器軸心間距相比傳感器到艦艇的距離小很多,因此實際中應(yīng)使磁傳感器距離艦艇滿足一定的限定要求,從而可將此不利影響忽略。
綜上述分析,欲提高姿態(tài)校正后的測量精度需采用小體積三分量磁傳感器,且需對其進(jìn)行正交、標(biāo)度、零位等固有誤差的校正以保證求解的準(zhǔn)確性。
艦艇磁性檢測是獲取艦艇磁場的重要手段,實際中由于磁傳感器姿態(tài)傾斜從而導(dǎo)致無法獲得準(zhǔn)確的磁測量值。將標(biāo)準(zhǔn)姿態(tài)且無誤差的磁傳感器置于傾斜磁傳感器處,依據(jù)標(biāo)準(zhǔn)測量值采用APO算法對傾斜傳感器測量值求解可得出其姿態(tài)角矩陣,進(jìn)而計算獲得準(zhǔn)確的艦艇磁場值。本文對該方法進(jìn)行了仿真與船模實驗,驗證了方法的準(zhǔn)確性,同時指出實際中應(yīng)采用小體積且無固有誤差的三分量磁傳感器以保證求解的精度,若能將磁傳感器的固有誤差與姿態(tài)誤差一同校正,可使測量結(jié)果進(jìn)一步精確,這也是該方法今后需要改進(jìn)的方向。