

摘 要:在對石英撓性加速度計進行重力場十二位置翻滾測試的基礎上,采用了改進人工魚群算法(Improved Artificial Fish Swarm Algorithm,IAFSA)對加速度計靜態模型參數進行了辨識。實驗結果表明,改進人工魚群算法能有效辨識加速度計參數,為加速度計模型參數的辨識提供了一種新方法。
關鍵詞:石英撓性加速度計;參數辨識;改進人工魚群算法
1 引言
石英撓性加速度計是一款在慣性導航、慣性制導及民用工業上得到廣泛應用的慣性器件,由于其自身結構簡單、價格低、可靠性高等優點,具有廣泛的發展前景。隨著對慣導系統等精度要求的不斷提高,對石英撓性加速度計的測量精度要求也越來越高。
人工魚群算法(AFSA)由李曉磊等人在2002年首次提出來[1]。其基本思想是模仿魚類在水中趨向于食物含量最多的地方活動。根據魚群的這一特點,人工魚群算法構造人工魚群并賦予每條人工魚一些魚類的行為(如覓食行為、聚群行為、追尾行為及隨機行為),通過人工魚個體或群體的方式達到尋優的目的。
2 石英撓性加速度計的靜態數學模型
石英撓性加速度計的重力場試驗是加速度計其他試驗的基礎。其原理是利用重力加速度作用于加速度計的輸入軸、擺軸和輸出軸,從而測得加速度計的各項性能參數。它具有標定的偏值和標度因數準確的優點。采用重力場十二位置翻滾試驗時,石英撓性加速度計門狀態的靜態數學模型可表示為:
(1)
式中,Z是石英撓性加速度計的輸出值;K0是加速度計的偏值; K1是加速度計的標度因數;K2、K3分別是加速度計的二階和三階非線性系數;Ki0是加速度計的輸入軸與輸出軸的交叉耦合系數;K0是加速度計的輸出軸靈敏度系數;θ是加速度計輸入軸與水平面夾角。
3 人工魚群算法(AFSA)
3.1 基本人工魚群算法的定義
人工魚群個體的狀態可用向量表示為,其中為欲尋優的變量;表示人工魚個體之間的距離;Visual表示人工魚的感知范圍;δ表示人工魚個體間的擁擠度因子;Step表示人工魚移動的步長[1]。
人工魚群算法引進魚群的覓食行為、聚群行為、追尾行為及隨機行為四種行為方式。由覓食行為和隨機行為兩種行為方式發現問題最優解的取向,聚群行為和追尾行為兩種行為方式得到當前的最優解,若不是最優解則繼續算法的迭代過程,直到滿足問題設置的終止條件為止。在人工魚群算法中,隨機行為通常作為覓食行為的缺省行為,并且在每個行為方式中人工魚都自動地朝向問題最優解的方向更新自己的當前位置值。
在算法中為記錄最優人工魚個體的狀態,設立了公告板。其目的是記錄歷史最優的狀態,當各人工魚個體在尋優過程中,每次尋優完就檢驗自身狀態與公告板的狀態,如果自身狀態優于公告板狀態,就將公告板的狀態改寫為自身狀態;如果自身狀態不比公告板狀態優,就保持原有公告板狀態。
根據問題的性質或要求而設定了人工魚群算法的終止條件。如判斷是否達到預設的精度指標或魚群最大迭代次數,或連續多次所獲取的值均不能超過已尋到的極值等方法。
3.2 人工魚群算法的改進
在原人工魚群算法中,視野和步長是固定不變的[2]。視野和步長較大,人工魚的全局搜索能力強并且收斂速度快,求解精度不高,有時還會出現振蕩現象。視野和步長較小,人工魚的局部搜索能力強,收斂速度慢,但求解精度高。為了兼顧全局搜索能力、局部搜索能力和收斂速度,一種改進方法是非線性動態調整視野和步長,算法開始先采用較大的視野和步長,使人工魚在大范圍內進行粗搜索,隨著搜索的進行,視野和步長逐漸減小,演化為局部搜索,最后定位在最優解附近區域并進行精細搜索[3]。其方法為:
(2)
式中,是衰減函數,s是大于1的整數,g為當前的迭代次數, 為定義的最大迭代次數。一般的,為0.001,為0.0002。
對聚群行為和追尾行為的一種改進方法是在人工魚的前進方向上,人工魚狀態周圍的伙伴數與群體規模N的比值小于擁擠度因子δ,或者人工魚間的距離小于Visual/2。對于聚群行為,同時還要滿足中心位置的食物濃度優于當前狀態的食物濃度值的條件。對于追尾行為,同時還要滿足人工魚的當前鄰域中的最小食物濃度值優于當前狀態的食物濃度值的條件。它們可以使在增強人工魚全局尋優能力的同時保證局部范圍內的尋優能力和局部人工魚不會過度擁擠[4][5]。
4 人工魚群算法辨識過程及結果
利用人工魚群算法求門狀態下的模型參數,初始化人工魚群的相關參數及編寫食物濃度函數表達式。人工魚個體間的距離表示為:
(3)
食物濃度函數表示為:
(4)
式中,Z為石英撓性加速度計的實際輸出值,為根據模型式(1)求得的估計值。
人工魚群算法辨識石英撓性加速度計參數的流程如圖1所示。其中原始魚群的初始化是在一定范圍內通過隨機化方式得到。食物濃度函數的最優值取為最小值,把群體的最小值作為公告板的初始值。視野Visual和步長Step根據式(2)計算,s取為3。覓食行為和隨機行為作為聚群行為和追尾行為的缺省行為。
設定算法的終止條件為式(4)的精度達到5×10-9。連續運行3次人工魚群算法對石英撓性加速度計參數進行辨識,其結果見表1所示。從表1中可以看見,人工魚群算法能夠有效辨識石英撓性加速度計門狀態的模型參數。
運行第1次人工魚群算法的迭代過程曲線如圖2所示。從圖2可以看出,算法迭代至第187次時達到精度要求。
5 結論
本文用改進的人工魚群算法對石英撓性加速度計參數進行了辨識,算法的終止條件設置為5×10-9。同時采用最小二乘法辨識了加速度計參數。從加速度計的參數辨識結果可以看出,人工魚群算法能有效辨識加速度計參數,為加速度計模型參數辨識提供了一種新方法。因人工魚群算法的性能受它的各初始化參數影響,設置合適的人工魚參數可提高算法的尋優精度、收斂速度等。
參考文獻:
[1]李曉磊,邵之江,錢積新.一種基于動物自治體的尋優模式:魚群算法[J].系統工程理論與實踐,2002(11):32-38.
[2]李曉磊.一種新型的智能優化方法—人工魚群算法[D].浙江:浙江大學博士學位論文,2003.
[3]王聯國.人工魚群算法及其應用研究[D].蘭州:蘭州理工大學博士論文,2009.
[4]王冬冬.基于人工魚群算法求解代數方程(組)方法研究[D].廣西民族大學碩士學位論文,2007.
[5]李媛.基于人工魚群算法的多元線性回歸分析問題處理[J].渤海大學學報(自然科學版),2011,32(02):168-171.