張 文,王庭軍,王 雷,陶 陶
(西安航天精密機電研究所,西安 710000)
激光陀螺儀作為一種光學陀螺儀,具有精度高、啟動時間短、不敏感重力、壽命長等特點[1],被廣泛應用于各精度等級的慣導系統(tǒng)中。
受到應用環(huán)境溫度變化的影響,激光陀螺的輸出零偏會隨之發(fā)生變化,從而限制了激光慣組的實際應用性能[2]。因此,必須開展激光陀螺的溫度特性研究,建立慣組中激光陀螺的溫度補償模型,有效提高激光慣組的啟動快速性和對準精度。文獻[3,4]均是采用多項式擬合的方式建立激光陀螺零偏的溫補模型,但在環(huán)境溫度變化率較大時,模型的補償精度也快速下降。文獻[5,6]采用樣條插值法建立與溫度相關(guān)的慣組誤差項溫度誤差模型,提高了系統(tǒng)的啟動快速性以及零偏穩(wěn)定性,但分段建模計算量大且限制了模型的適用性。文獻[7,8]采用深度神經(jīng)網(wǎng)絡學習方法進行激光陀螺零偏溫補建模,相比多元線性回歸模型能夠更好地消除溫度及溫變速率對陀螺零偏的影響。文獻[9-11]采用粒子群優(yōu)化算法對光纖陀螺零偏關(guān)于溫度和溫度變化率的溫補模型系數(shù)進行尋優(yōu),與僅考慮溫度影響的最小二乘方法相比,補償精度得到顯著提升。
針對激光慣組上電啟動過程中陀螺儀零偏穩(wěn)定性受溫度變化影響較大的問題,本文提出一種基于粒子群優(yōu)化-反向傳播(Particle Swarm Optimization-Back Propagation,PSO-BP)神經(jīng)網(wǎng)絡模型的激光陀螺溫度誤差補償方法,利用粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法優(yōu)化反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡來提高模型預測的速度和精度,并驗證了溫補方案的有效性。
PSO 算法是一種群體智能進化計算技術(shù),它通過模擬鳥群覓食時的協(xié)同行為使粒子群以最短的時間尋得全局最優(yōu)解[12,13]。在PSO 中,粒子代表的是每個優(yōu)化問題的可能解。通過優(yōu)化函數(shù)能夠得到任意一個粒子的適應度值,而且每個粒子還具有確定粒子前進方向和距離的速度。隨后,全體粒子就在解空間中跟隨著最優(yōu)粒子不斷進行尋優(yōu),直至尋找到新的最優(yōu)解[14]。
設在一個D維的搜索空間中,N個粒子組成一個群體,x為粒子的初始位置,v為粒子的“飛行”速度,p為搜索到粒子的最優(yōu)位置。
第i個粒子是一個D維的向量
同樣的,第i個粒子的“飛行”速度可記為
第i個粒子當前搜索到的最優(yōu)位置,記為
粒子群當前搜索到的最優(yōu)位置,記為
當在尋找到pbest和gbest時,粒子根據(jù)下面的兩個公式對自身的速度和位置分別進行更新:
式中,ω稱為慣性因子,代表先驗值所占的權(quán)重,ω取值較大時,全局搜索能力較強,ω取值較小時,局部搜索能力較強;c1、c2稱為學習因子,一般取值為2;r1、r2為[0,1]之間的均勻隨機數(shù)。
由于PSO 算法在尋優(yōu)的過程中容易陷入局部最優(yōu)解,因此需要采取自適應的方式隨著尋優(yōu)過程的進行對ω進行調(diào)整。線性遞減的權(quán)重公式如下:
式(7)中,ω begin為初始時刻慣性權(quán)重,ω end為最后一次迭代時的慣性權(quán)重,k為當前迭代數(shù),kmax為最大迭代次數(shù)。
BP 神經(jīng)網(wǎng)絡是一種對非線性可微函數(shù)按誤差逆?zhèn)鞑ニ惴ㄓ柧毜亩鄬忧梆伨W(wǎng)絡,由一個輸入層、一個輸出層及一個或多個隱含層構(gòu)成,在同一層中各神經(jīng)元之間相互獨立。輸入信號從輸入層神經(jīng)元。依次通過各個隱含層神經(jīng)元,最后傳遞到輸出層神經(jīng)元。
正向傳播過程中,每一層神經(jīng)元只影響下一層神經(jīng)元的結(jié)構(gòu),通過激活函數(shù)得到輸出端的輸出值。當輸出值與理想輸出值偏差較大或者不滿足誤差要求時,就要將誤差信號轉(zhuǎn)入反向傳播過程對神經(jīng)網(wǎng)絡進行校正,不斷地修改各層神經(jīng)元的權(quán)值使得網(wǎng)絡輸出值逐漸逼近理想輸出值,直到輸出誤差達到限定的水平。圖1 給出了BP 神經(jīng)網(wǎng)絡模型結(jié)構(gòu)圖(以兩輸入一輸出為例)。
圖1 BP 神經(jīng)網(wǎng)絡模型結(jié)構(gòu)圖Fig.1 BP neural network model structure diagram
在圖1 所示神經(jīng)網(wǎng)絡結(jié)構(gòu)中,輸入數(shù)據(jù)為:
隱含層的輸出向量為:
輸入層神經(jīng)元到隱含層的權(quán)值矩陣為:
隱含層到輸出層的權(quán)值向量為:
隱含層的閾值為:
輸出層的閾值為:
BP 神經(jīng)網(wǎng)絡在訓練時,權(quán)值和閾值初始化時往往隨機給出,為保證收斂性,網(wǎng)絡學習率一般設置得相對較小,因此算法收斂速度較慢,迭代次數(shù)較高。另外,初始閾值和權(quán)值選取不當,BP 算法在訓練時易陷入局部最小值,無法得到最優(yōu)解。
為解決上述問題,本文采用全局搜索能力較強的PSO 算法對BP 神經(jīng)網(wǎng)絡初始閾值和權(quán)值進行全局尋優(yōu),避免算法陷入局部最優(yōu),提高網(wǎng)絡的訓練速度。
采用PSO 算法對BP 神經(jīng)網(wǎng)絡的初始權(quán)值與閾值進行優(yōu)化時,需要建立適應度函數(shù)評估尋優(yōu)結(jié)果的好壞。本文以PSO 算法中每個粒子對應的BP 神經(jīng)網(wǎng)絡預測的陀螺零偏與實際采樣得到的陀螺零偏數(shù)據(jù)之差的方差作為適應度值,通過PSO 算法循環(huán)迭代,得到使適應度值不斷減小的全局最優(yōu)解。適應度函數(shù)如下:
式(8)中,N為陀螺零偏數(shù)據(jù)總數(shù),yi為實際陀螺零偏數(shù)據(jù),為每個PSO 粒子代表的BP 神經(jīng)網(wǎng)絡預測的陀螺零偏數(shù)據(jù)。在PSO 尋優(yōu)過程中不進行BP 網(wǎng)絡的訓練,利用PSO 算法本身迭代的過程不斷獲取更接近最優(yōu)陀螺零偏BP 網(wǎng)絡的權(quán)值與閾值,將PSO 獲取的最優(yōu)權(quán)值與閾值作為BP 網(wǎng)絡進行訓練的初值,從而達到經(jīng)過簡單訓練得到最優(yōu)網(wǎng)絡結(jié)構(gòu)的目的。
通過對激光慣組上電啟動后的陀螺零偏溫度特性分析可知,激光陀螺的零偏不僅與溫度有關(guān),同時也受到溫度梯度的影響。與以往僅考慮單一變量的多項式溫補模型不同,PSO-BP 算法以溫度及溫度梯度作為網(wǎng)絡輸入,以陀螺零偏采樣數(shù)據(jù)作為目標對網(wǎng)絡進行訓練,能夠更好地還原系統(tǒng)升溫對陀螺零偏產(chǎn)生影響的過程。
PSO-BP 神經(jīng)網(wǎng)絡建立激光陀螺零偏網(wǎng)絡模型的流程圖如圖2 所示,具體步驟如下:
圖2 PSO-BP 神經(jīng)網(wǎng)絡算法流程圖Fig.2 PSO-BP neural network algorithm flow chart
(1)對樣本數(shù)據(jù)(輸入:溫度、溫度梯度;訓練目標:陀螺零偏)進行歸一化處理。
(2)初步確定BP 神經(jīng)網(wǎng)絡的結(jié)構(gòu),設定隱含層和輸出層的激活函數(shù)與成本函數(shù)。由于激光陀螺零偏受到溫度及溫度梯度影響,因此確定輸入層為兩個神經(jīng)元、輸出層為一個神經(jīng)元;根據(jù)以往的研究結(jié)果,隱含層神經(jīng)元個數(shù)一般為輸入層的兩倍,故取4 個。
(3)設置PSO 算法的種群粒子數(shù)和維數(shù),確定迭代終止條件,對BP 神經(jīng)網(wǎng)絡的初始權(quán)值和閾值進行尋優(yōu)。
(4)將PSO 尋優(yōu)得到權(quán)值和閾值作為BP 神經(jīng)網(wǎng)絡的初始權(quán)值和閾值,同時關(guān)閉PSO 尋優(yōu)過程,使用訓練集進行網(wǎng)絡訓練,將訓練后的網(wǎng)絡相關(guān)參數(shù)保存。
(5)使用測試數(shù)據(jù)對BP 神經(jīng)網(wǎng)絡進行測試,并保存最優(yōu)預測結(jié)果。
為了建立激光陀螺零偏的神經(jīng)網(wǎng)絡模型并驗證PSO-BP 溫補方案的有效性,分別對實驗室某型激光捷聯(lián)慣組進行高低溫環(huán)境試驗和常溫下冷啟動的靜態(tài)漂移試驗。
溫度補償試驗一般分為溫度穩(wěn)定段和溫度變化段,溫度穩(wěn)定段通過設定溫箱溫度點來實現(xiàn),溫度變化段則通過產(chǎn)品上電之后內(nèi)部環(huán)境溫升過程來實現(xiàn),從而能夠體現(xiàn)溫度恒定和溫度變化過程,滿足建模需要且更符合慣導實際應用工況。
試驗共設置6 個溫度穩(wěn)定點,溫度值分別為:-10 C°、7 C°、19 C°、32 C°、45 C°、58 C°,將帶工裝的慣組放置在溫箱內(nèi),在每一溫度點下溫箱到溫后保溫5 h,保溫結(jié)束后慣組上電采樣陀螺由上電至零偏穩(wěn)定數(shù)據(jù),待慣組內(nèi)部環(huán)境溫度達到下一溫度穩(wěn)定點時斷電,重復至最后一個溫度點試驗結(jié)束。
試驗完成后,可以得到6 組不同溫度點下的激光陀螺靜漂數(shù)據(jù),采用PSO 算法對BP 網(wǎng)絡的初始權(quán)值和閾值尋優(yōu)結(jié)果如表1-2 所示。
表1 權(quán)值尋優(yōu)結(jié)果Tab.1 Weight optimization results
表2 閾值尋優(yōu)結(jié)果Tab.2 Threshold optimization results
將表1-2 中PSO 尋優(yōu)得到的最優(yōu)權(quán)值和閾值設置到BP 神經(jīng)網(wǎng)絡初始參數(shù)中,取前四個溫度點的陀螺數(shù)據(jù)對網(wǎng)絡進行訓練,得到零偏數(shù)據(jù)的預測曲線。再利用后兩個溫度點的陀螺數(shù)據(jù)對神經(jīng)網(wǎng)絡模型進行驗證。BP 神經(jīng)網(wǎng)絡及PSO-BP 神經(jīng)網(wǎng)絡擬合結(jié)果如圖3所示,驗證結(jié)果如圖4 所示。
圖3 BP 及PSO-BP 神經(jīng)網(wǎng)絡預測曲線Fig.3 BP and PSO-BP neural network prediction curve
圖4 BP 及PSO-BP 神經(jīng)網(wǎng)絡驗證曲線Fig.4 BP and PSO-BP neural network verification curve
由圖3 可知,4 組采樣數(shù)據(jù)對應試驗設置的4 個溫度點存在4 個“臺階”,對于常規(guī)的多項式擬合算法而言,為保證模型精度需要將數(shù)據(jù)分成4 段進行分段擬合,方法較為繁瑣,且一旦陀螺重復啟動數(shù)據(jù)發(fā)生變化,溫補的精度會迅速下降。BP 神經(jīng)網(wǎng)絡算法將采樣數(shù)據(jù)視為一個整體,通過訓練網(wǎng)絡中的神經(jīng)元、不斷修正神經(jīng)元的權(quán)值與閾值實現(xiàn)對原始數(shù)據(jù)的最優(yōu)估計,擬合效果更好且算法對零偏啟動重復性數(shù)據(jù)波動的容忍度更強。然而由圖4 可知,利用溫箱45° C 及58 °C 環(huán)境下采樣得到的陀螺零偏數(shù)據(jù)檢驗BP神經(jīng)網(wǎng)絡模型時,出現(xiàn)了過擬合問題。PSO-BP 神經(jīng)網(wǎng)絡算法則在整個溫度區(qū)間建立了陀螺的網(wǎng)絡模型,利用PSO 算法避免了網(wǎng)絡在訓練時陷入局部最優(yōu)解,經(jīng)過簡單訓練即可得到陀螺零偏神經(jīng)網(wǎng)絡模型的最優(yōu)解,且不會出現(xiàn)模型過擬合的情況。
為了檢驗PSO-BP 神經(jīng)網(wǎng)絡算法對網(wǎng)絡訓練過程優(yōu)化的效果,分別對PSO-BP 算法和BP 算法進行50次蒙特卡洛試驗。取5 次建立神經(jīng)網(wǎng)絡模型算法耗時對比試驗結(jié)果如表3 所示。
表3 算法耗時對比Tab.3 Algorithm time-consuming comparison
由表3 可知,BP 神經(jīng)網(wǎng)絡算法的計算時間較長且波動較大,主要因為算法本身易陷入局部最優(yōu),滿足精度條件的訓練次數(shù)不穩(wěn)定。由于經(jīng)過PSO 算法優(yōu)化后的BP 神經(jīng)網(wǎng)絡權(quán)值與閾值已經(jīng)接近陀螺零偏的最優(yōu)網(wǎng)絡模型,PSO-BP 算法建模的時間顯著低于BP 算法,且每次建模時間相近,有效提高了神經(jīng)網(wǎng)絡模型的訓練效率和精度。
將采樣得到的陀螺靜漂數(shù)據(jù)分別用分段多項式擬合法、BP 神經(jīng)網(wǎng)絡算法和PSO-BP 神經(jīng)網(wǎng)絡算法進行溫度誤差補償處理,三種方法補償結(jié)果對比如圖5-6所示。
圖5 BP 與PSO-BP 算法溫補結(jié)果對比Fig.5 BP and PSO-BP algorithms temperature compensation results comparison
由于PSO-BP 神經(jīng)網(wǎng)絡模型精度高于BP 神經(jīng)網(wǎng)絡,由圖5 可知,經(jīng)過PSO 算法優(yōu)化初始權(quán)重和閾值后的PSO-BP 神經(jīng)網(wǎng)絡溫補殘差波動幅度略小于BP神經(jīng)網(wǎng)絡溫補的結(jié)果。由圖6 可知,PSO-BP 算法溫補后殘差曲線的波動程度明顯低于分段多項式溫補殘差。綜合計算結(jié)果,采用多項式分段擬合方式得到的溫補殘差的百秒方差為0.0054 °/h,BP 算法擬合溫補后殘差百秒方差結(jié)果為0.0046 °/h,PSO-BP 擬合進行溫補的殘差百秒方差結(jié)果為0.0045 °/h 。PSOP-BP 算法既保證了高計算速度又具有更高的模型精度,有效提升了激光陀螺啟動時的零偏穩(wěn)定性。
圖6 多項式與PSO-BP 算法溫補結(jié)果對比Fig.6 Polynomial and PSO-BP algorithms temperature compensation results comparison
隨著多核DSP 芯片應用到慣組產(chǎn)品中,可以在慣導系統(tǒng)中實現(xiàn)簡單的神經(jīng)網(wǎng)絡運算。將BP-PSO 算法訓練得到的激光陀螺零偏神經(jīng)網(wǎng)絡模型燒寫到系統(tǒng)中,進行常溫下靜態(tài)漂移試驗。
試驗內(nèi)容為:慣組安裝在工裝內(nèi),放置于溫箱內(nèi)的平板上;溫箱分別在-10 °C、7 °C 和19 C° 保溫5 h,并在各個溫度點保溫5 h 后給慣組上電采集陀螺1 h靜漂數(shù)據(jù),對比溫補前后陀螺零偏的輸出曲線;3 天后再做一次重復性試驗,考核溫補模型短期的有效性。實驗結(jié)果如圖7-8 所示。
圖7 靜漂實驗陀螺零偏溫補前后對比Fig.7 Gyroscope bias before and after temperature compensation in static drift experiment
圖8 三天后靜漂實驗陀螺零偏溫補前后對比Fig.8 Gyroscope bias before and after temperature compensation in static drift experiment after three days
由圖7-8 可知,溫補前陀螺零偏達到穩(wěn)定的時間為550 s;溫補后的陀螺零偏數(shù)據(jù)在上電啟動后基本穩(wěn)定,沒有溫補前的明顯變化趨勢,經(jīng)過溫補后的激光陀螺上電啟動后可以快速達到零偏穩(wěn)定。零偏穩(wěn)定性變化如表4、表5 所示。
表4 溫補前后零偏穩(wěn)定性變化Tab.4 Change of bias stability before and after temperature compensation
表5 三天后溫補前后零偏穩(wěn)定性變化Tab.5 Change of bias stability before and after temperature compensation after three days
表4-5 的結(jié)果表明,經(jīng)過溫補后的激光慣組零偏穩(wěn)定性相比溫補前提升了60%,且通過對比放置3 天前后的零偏穩(wěn)定性數(shù)據(jù)可知,溫補模型的補償精度保持在千分級,精度指標滿足工程應用要求,證明了補償方法的有效性。
本文利用PSO 算法優(yōu)化了BP 神經(jīng)網(wǎng)絡,解決了傳統(tǒng)BP 神經(jīng)網(wǎng)絡易陷入局部最優(yōu)解及訓練時間過長的問題,建立了激光陀螺零偏輸出的實時溫度誤差補償模型。試驗結(jié)果表明,經(jīng)過溫度誤差補償后,慣組的啟動快速性和零偏穩(wěn)定性得到有效提升,且放置一段時間后的零偏變化量不超過0.006 °/h(3σ),補償方法具有較高的適用性和工程應用價值。對于慣組處于翻滾狀態(tài)時陀螺標度因數(shù)的溫度特性,有待下一階段繼續(xù)進行研究。