萬芯煒, 王晶, 楊輝, 李毅, 張遠再, 王路
(西南技術物理研究所, 四川 成都 610041)
收稿日期:2022-01-20
導引頭的穩定平臺中,速率陀螺輸出的角速率信號對于導引頭視線角速度的解算至關重要。常見的速率陀螺主要有撓性陀螺、激光陀螺、光纖陀螺和微機電系統(MEMS)陀螺儀等。MEMS陀螺儀相比于傳統的陀螺儀具有質量輕、體積小、價格低、功耗低、啟動快、可靠性強、環境適應性強、易于集成等諸多優良特性,在低精度、低成本慣性系統中獲得了越來越廣泛的應用,同時也迎合了武器系統向低成本、小型化、便攜化發展的趨勢[1]。
但是由于制造工藝、材料和封裝技術等的限制,MEMS陀螺存在誤差相對較大的問題。MEMS陀螺儀的誤差按其特性分為確定誤差和隨機誤差兩項:確定性誤差屬于系統誤差,可以通過標定實驗去除;隨機誤差又稱為不確定性誤差,表現為弱非線性、非平穩和慢時變,沒有明確的規律且易受外部環境影響[2-3]。因此,減小MEMS陀螺儀隨機誤差,對MEMS陀螺精度的提高至關重要。受限于當前的材料以及加工工藝水平,通過改進加工工藝或使用新材料來減小MEMS陀螺誤差十分困難。因而現有的減小MEMS陀螺誤差的方法主要是進行濾波補償,主要分為兩類:一是不需要構建誤差模型的補償方法,主要有數字濾波、小波閾值降噪和經驗模態分解等;二是先建立誤差模型,再對該模型進行濾波補償,誤差建模常用的方法有Allan方差法、時間序列分析法和人工神經網絡等[4]。
文獻[5]提出了BP神經網絡輔助卡爾曼濾波對陀螺儀數據進行降噪處理的方法,結果表明BP-卡爾曼濾波比卡爾曼濾波效果好。文獻[6]提出將MEMS陀螺的輸出和轉臺的實際轉速作為樣本,建立基于BP神經網絡的補償模型,在低轉速區間上,神經網絡的補償效果比傳統方法更好。國外學者Bhatt等[7]提出基于增強型支持向量機建立MEMS單元的誤差模型,陀螺儀的噪聲標準偏差降低了10%~35%。Dragomiretskiy等[8]提出了變分模態分解(VMD)理論。文獻[9]提出了基于VMD結合小波閾值的MEMS陀螺去噪方法,對于靜態信號和動態信號,該方法的均方誤差降低了10.1%和16.9%。上述方法中,文獻[5]表明BP神經網絡優化卡爾曼濾波參數的方法,在建模不精確的情況下也能有效提高陀螺儀的精度,但BP神經網絡優化參數存在局部最優的問題且不夠簡便[10-11]。文獻[6]表明基于BP神經網絡建立的補償模型,能夠對MEMS陀螺的輸出進行有效補償,但僅在低轉速區間效果較傳統方法更優。文獻[7]單一的增強型支持向量機方法,算法簡單易實現,但去噪效果有待提升,需要改進以達到更好的去噪效果。文獻[9]VMD結合小波閾值的方法較為復雜,對分解層數以及閾值等各項參數的選擇會影響去噪效果且方法的計算時間受模態分解速度的影響。
因此,本文提出利用BP神經網絡來建立MEMS陀螺的誤差模型,對MEMS陀螺的輸出進行有效補償。同時利用QPSO算法對卡爾曼濾波參數進行優化,解決BP神經網絡存在的局部最優問題。通過基于BP神經網絡建立的誤差模型進行補償之后,再利用優化的卡爾曼濾波進行濾波,以達到更好的去噪效果。
BP神經網絡是一種多層前饋神經網絡。如圖1所示,BP神經網絡結構由輸入層、隱含層和輸出層三部分組成,其中隱含層可以是1層或者多層[12]。

圖1 BP神經網絡結構圖Fig.1 Diagram of BP neural network structure
BP神經網絡算法的核心為誤差的反向傳播過程,通過采用梯度下降的方式達到調整隱含層的權重和閾值目的,使網絡輸出值逼近期望值,直到輸出誤差達到限定的水平,或達到設定的學習步數,完成網絡的訓練。誤差函數公式如下:
(1)
式中:e為輸出誤差;o代表當前為第o個神經元;q為神經元總數;do0(k)為期望輸出,k表示層數;yo0(k)為實際輸出。BP神經網絡具有自適應強、泛化能力好、非線性映射能力強的優點。
由于MEMS陀螺的隨機誤差往往表現為慢時變、弱非線性,傳統的時間序列分析方法需要對陀螺的數據進行預處理[13]。而BP神經網絡具有非線性映射能力強的優點,理論上能夠逼近任意的非線性函數,無需對數據進行預處理。除此之外,BP神經網絡還具有自適應性強、學習能力強的優點,已有很多國內外學者基于BP神經網絡對MEMS陀螺的隨機漂移誤差進行建模[14]。基于上述分析,本文提出采用BP神經網絡,利用BP神經網絡強大的映射能力建立MEMS陀螺的誤差模型,對MEMS陀螺輸出進行補償。
2004年,孫俊從量子力學的角度出發,提出了具有量子行為的粒子群優化QPSO[15]算法。在QPSO算法中引入了量子力學中的不確定原理,認為粒子具有量子的行為,粒子的更新是通過觀測得到新的個體,使得粒子的更新與該粒子之前的運動沒有任何關系,增加了粒子位置的隨機性。QPSO算法中,粒子的位置迭代公式如下:
(2)
式中:xid(t+1)為第d維度的第i個粒子t+1時刻的位置;Lai為局部吸引因子,由個體最優位置和全局最優位置共同決定;β為壓縮- 擴張系數,用來控制算法的收斂速度;u為0~1之間的隨機數。Lai與β的表達式如下:
(3)
(4)
式中:φ為0~1之間的隨機數;pid為第d維度的第i個粒子的個體最優位置;gd為第d維粒子的全局最優位置;w1、w2和c1、c2為權值;itermax為最大迭代次數;t為當前迭代次數。
對于上述QPSO,在迭代末期,群體多樣性會急劇惡化,個體容易陷入局部最優,故引入了平均最優位置mbest,即所有粒子個體最優位置的平均,其表達式如下:
(5)
式中:mbest(t)為粒子t時刻的個體平均最優位置;n為粒子數;pi(t)為第i個粒子t時刻的個體最優位置。這樣,基于平均最優位置的QPSO算法的粒子位置迭代公式如下:
(6)
卡爾曼濾波是一種利用線性系統狀態方程,通過系統輸入輸出觀測數據,對系統狀態進行最優估計的算法,不需要存儲歷史數據[16]。系統的狀態方程和量測方程分別為
xk=Axk-1+Buk+wk
(7)
zk=Hxk-1+vk
(8)
式中:xk為狀態量;uk為輸入量;wk為均值為0、方差為Q的系統噪聲;zk為觀測量;vk為均值為0、方差為R的量測噪聲;A、B、H為已知的系統結構參數[17]。
卡爾曼濾波方程如下:
(9)
式中:Pk,k-1為一步預測均方誤差矩陣;Pk,k為狀態估計誤差矩陣;Kk為系統增益矩陣;I為單位矩陣。
卡爾曼濾波便于計算機編程實現,并能夠對實時數據進行更新和處理,目前已成為MEMS陀螺降噪常用的方法[18]。通過分析卡爾曼濾波方程,當系統噪聲過大時會導致系統增益減小,使得新息對最優估計的占比減小并使得估計誤差矩陣變大,最終引起濾波精度下降甚至發散。因此通過調節Q,可以在系統狀態轉移矩陣A不準確時,依舊使系統達到穩定[4]。同理,對R值進行合理調整,也能提高卡爾曼濾波的精度。
一般而言,卡爾曼濾波的噪聲方差難以準確獲得,這是因為MEMS陀螺隨機漂移往往呈現弱非線性、非平穩和慢時變的特點,無法準確獲得其統計特性。基于上述分析,本文提出利用QPSO算法來優化卡爾曼濾波的Q值和R值[19]。QPSO不需要粒子速度信息,控制參數少,速度更快,并且引入了平均最優位置,提高了粒子間的協作能力,相較于BP神經網絡和普通的PSO算法,其全局搜索能力更高,能確定更多的狀態。
本文提出的濾波方法原理如圖2所示,首先將采集到的MEMS陀螺數據y輸入訓練好的誤差模型,得到對應的誤差信息e;然后將陀螺數據y減去得到的誤差信息e,對陀螺數據進行補償,得到補償后的數據y′;最后將數據y′通過卡爾曼濾波濾除噪聲信號,得到最終的去噪信號Y。

圖2 濾波方法原理Fig.2 Principle of the filtering method
根據工程應用經驗,轉臺數據具有精度高、線性度好、噪聲小等特點,常用于客觀評價MEMS陀螺的精度[20],因此考慮將轉臺數據作為MEMS陀螺輸出的參考值。建立MEMS陀螺儀的誤差模型時,采集MEMS陀螺儀數據和轉臺數據作為BP神經網絡的訓練集,網絡的輸入和目標分別為MEMS陀螺儀數據和MEMS陀螺的誤差信息(即陀螺儀數據減去轉臺數據),對網絡進行訓練,建立MEMS陀螺誤差模型。
利用QPSO算法對卡爾曼濾波Q值和R值優化算法流程如圖3所示。

圖3 QPSO算法優化卡爾曼濾波參數流程Fig.3 Flow chart of optimization of Kalman filter parameters by the QPSO algorithm
算法具體步驟如下:
步驟1相關參數初始化,包括粒子種群數n、粒子維度d、最大迭代次數itermax、粒子位置x等。
步驟2輸入經過誤差模型補償的MEMS陀螺數據,作為卡爾曼濾波的輸入。
步驟3在迭代中依次將粒子位置作為卡爾曼濾波的Q、R值,進行卡爾曼濾波,得到去噪后的數據,并計算適應度值。
步驟4根據初始適應度值確定初次迭代中的個體最優位置,并將此時的個體最優位置設定為全局最優位置。
步驟5進入下一次迭代,根據個體最優位置和全局最優位置更新粒子位置信息。
步驟6計算粒子的適應度值,更新個體最優位置和全局最優位置。
步驟7若滿足終止條件則結束,則輸出最優值作為卡爾曼濾波的最優Q、R值。否則繼續重復步驟5和步驟6,直至達到最大迭代次數,輸出卡爾曼濾波的最優Q、R值。
基于第3節方法,首先要采集誤差模型建模所需的訓練集數據,在室溫條件下,使用專用的工裝將MEMS陀螺安裝在某國產三軸轉臺上,如圖4所示。實驗所用的MEMS陀螺儀為國產XC-M305型三軸MEMS陀螺儀,數據傳輸接口為RS-422接口,波特率為230 400 bit/s,數據更新率為2 kHz。轉臺由專用的測控軟件控制,并且可以實時采集轉臺數據,采樣率設定為2 kHz。實驗開始,將轉臺z軸設置不同的轉速,分別為±1.5°/s、±3°/s和±6°/s,同時采集陀螺儀和轉臺數據并保存。

圖4 實驗現場Fig.4 Experiment site
利用BP神經網絡建模,首先模型確定為一個單輸入單輸出的系統,輸入為MEMS陀螺的實際輸出,輸出為預測的MEMS陀螺的誤差信號。然后確定訓練集樣本,將同一角速度下的MEMS陀螺儀數據和轉臺數據作為一組數據。在采集的6組數據中,±1.5°/s組數據為12 000組,±3°/s組數據為10 000組,±6°/s組數據為6 500組。BP神經網絡的訓練通過MATLAB軟件完成。網絡的輸入為MEMS陀螺儀數據,網絡目標為誤差信息(即MEMS陀螺數據減去轉臺數據所得數據),訓練集、測試集和驗證集分別占比70%、15%、15%。
表1所示為不同隱含層節點數選取與對應的網絡學習的均方誤差值MSE。

表1 隱含層節點數與網絡學習均方誤差Table 1 Number of hidden layer nodes and mean square error of network learning
由表1可知,當隱含層節點數為60時,網絡學習的均方誤差值最小。隨著隱含層節點數的增加,會使得網絡訓練的計算量越大,所需時間越長,但數據顯示當隱含層節點數選取大于10時,均方誤差值減小并不顯著。綜合考慮,隱含層節點數選取為10,此時網絡學習的綜合效果最優,基于BP神經網絡的MEMS陀螺儀誤差模型建立完成,模型為一個單輸入單輸出系統,輸入層與輸出層神經元數目都是1,隱含層神經元為10。對該模型輸入MESM陀螺的實際信號,即能返回預測的MEMS陀螺誤差信號。
在開始迭代之前,首先要獲取經過誤差模型補償后的MEMS陀螺儀數據,依次將6組MEMS陀螺數據輸入補償模型進行補償,之后將補償后的數據作為卡爾曼濾波的輸入,開始進行基于QPSO算法的卡爾曼濾波參數尋優。算法通過MATLAB軟件實現,粒子維度d設置為2,L范圍設置為[-10,10],種群規模n設置為100,最大迭代次數itermax設置為100,權值w1、w2和c1、c2分別設置為0.5、1.0和2.2、2.2。適應度函數為經過卡爾曼濾波后所得去噪數據的MSE值,并設置MSE≤0.000 01時終止迭代。記錄所得到的優化參數Q值、R值與MSE值,結果記錄如表2所示。

表2 QPSO優化卡爾曼濾波參數Table 2 Optimized Kalman filtering parametersby QPSO
由表2可知:對于6組不同轉速下的MEMS陀螺信號,經過補償后利用QPSO算法優化卡爾曼濾波Q值和R值,得到的Q值相對偏小,R值相對較大;不同轉速下的最優Q值和R值偏差不大。說明對于不同組的數據,QPSO優化卡爾曼均能自動尋優,找到全局最優參數。
基于4.1節、4.2節實驗結果,對6組不同角速率下的MEMS陀螺數據進行去噪處理,圖5所示為不同角速率下的去噪效果圖。由圖5可以看出,對比去噪前后的數據,本文方法對于不同角速率下的MEMS陀螺數據,均能顯著改善MEMS陀螺儀的漂移誤差。
為進一步比較本文方法的去噪效果,與BP神經網絡優化卡爾曼濾波、QPSO優化卡爾曼濾波和VMD結合小波閾值去噪[21-23]等方法進行比較分析,結果如圖6所示。

圖5 不同角速率下去噪效果圖Fig.5 Denoising effect under different angular rates
觀察圖6可以看出,4種對不同角速率下MEMS陀螺的輸出均具有不錯的去噪效果,與其他方法進行比較,本文方法對±1.5°/s、±3°/s和±6°/s角速度下MEMS陀螺儀輸出的噪聲的補償效果更優。
為進一步評價上述方法的去噪效果,計算不同角速率條件下MEMS陀螺各組數據去噪前和去噪后的MAE和MSE值,具體的計算結果如表3所示。由表3可以看出,4種方法對MEMS陀螺數據去噪處理后,MAE和MSE值均得到了不同程度的降低,本文方法對陀螺儀數據去噪后的MAE和MSE值均為最小,且在不同測試條件下MAE值比另外3種方法小了一個數量級以上,MSE值比另外3種方法小了3個數量級以上,表明本文提出的方法去噪效果優于其他3種方法。
圖7為使用本方法去噪前后的MEMS陀螺和某國產三軸撓性陀螺,在相同角速率下的z軸輸出對比圖。從圖7中可以看出,在當前實驗環境下,經過本文方法去噪處理后的MEMS陀螺儀輸出信號的誤差比撓性陀螺輸出信號誤差更小,表明本文方法能確實抑制MEMS陀螺儀的噪聲,提高其精度和性能。

圖6 不同角速率下不同方法去噪效果圖Fig.6 Different methods of denoising at different angular rates 表3 不同方法MAE與MSE結果對比Table 3 Comparison of MAE and MSE results by different methods

角速度/((°)·s-1)評價指標原始數據本文方法BP-KFQPSO-KFVMD-WTD1.5MAE0.13366.98×10-44.64×10-23.98×10-24.34×10-2MSE2.80×10-24.96×10-73.20×10-31.90×10-32.70×10-3-1.5MAE0.12636.87×10-44.01×10-23.35×10-23.69×10-2MSE2.48×10-24.86×10-72.50×10-31.60×10-32.00×10-33MAE0.13271.20×10-44.59×10-24.00×10-24.32×10-2MSE2.75×10-22.89×10-83.10×10-31.90×10-32.60×10-3-3MAE0.12923.30×10-43.52×10-22.57×10-23.12×10-2MSE2.59×10-21.19×10-71.90×10-39.55×10-41.50×10-36MAE0.12651.70×10-33.90×10-23.10×10-23.57×10-2MSE2.51×10-22.90×10-62.30×10-31.30×10-31.90×10-3-6MAE0.12831.90×10-33.91×10-22.98×10-23.57×10-2MSE2.59×10-23.62×10-62.30×10-31.30×10-31.90×10-3

圖7 不同角速率下撓性陀螺與MEMS陀螺對比圖Fig.7 Comparison of flexible gyro and MEMS gyro at different angular rates
本文針對MEMS陀螺儀隨機誤差相對較大、影響其精度這一問題,提出了一種基于BP神經網絡結合QPSO算法優化卡爾曼濾波的補償方法。首先利用BP神經網絡建立MEMS陀螺的誤差模型,并對陀螺數據進行補償,補償后的數據再通過QPSO算法優化的卡爾曼濾波進行去噪。實驗結果表明:本文方法具有很好的去噪效果,并與BP神經網絡優化KF、QPSO優化KF和VMD結合WTD去噪方法進行比較,本文提出方法的MAE和MSE值相較上述方法更小,并且在當前實驗環境下與撓性陀螺儀相比噪聲誤差也更小。因此,本文提出的方法是有效的,對實際工程應用具有一定借鑒意義。