高 策, 沈曉衛(wèi), 章 彪, 胡豪杰
(1.火箭軍工程大學(xué)研究生院,西安 710025; 2.火箭軍工程大學(xué)核工程學(xué)院,西安 710025)
微機(jī)電系統(tǒng)(Micro-electro-mechanical system,MEMS)陀螺具有成本低、體積小、易于集成等特點(diǎn),已經(jīng)在汽車(chē)工業(yè)、自動(dòng)化、機(jī)器人等領(lǐng)域得到了廣泛的應(yīng)用[1-2]。同時(shí),MEMS陀螺的主要材料是薄硅片,硅具有許多不同于宏觀條件下的物理和機(jī)械性能[3]。當(dāng)溫度發(fā)生變化時(shí),陀螺不僅在結(jié)構(gòu)尺寸上發(fā)生改變,材料的彈性模量拉伸強(qiáng)度殘余應(yīng)力和外圍電路的電子器件性能也發(fā)生變化,造成MEMS陀螺的零偏曲線往往具有非線性和隨機(jī)性[4]。因此,為了進(jìn)一步提高慣性導(dǎo)航系統(tǒng)中MEMS陀螺的精度和性能,建立MEMS陀螺零偏的有效溫度模型,并進(jìn)行補(bǔ)償,減少溫度對(duì)微機(jī)械陀螺零偏的影響是絕對(duì)必要的。
針對(duì)MEMS陀螺零偏溫度補(bǔ)償算法很多學(xué)者進(jìn)行了研究,常用的方法是最小二乘分段法、BP神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等。文獻(xiàn)[5]通過(guò)最小二乘擬合計(jì)算每個(gè)溫度項(xiàng)的系數(shù)建立模型,得到溫度補(bǔ)償曲線。然而,最小二乘分段擬合當(dāng)分段間隔較小時(shí),計(jì)算參數(shù)多,計(jì)算量大;分段間隔較大時(shí),擬合精度較低,分段間隔處存在較大振蕩。文獻(xiàn)[6-7]應(yīng)用BP神經(jīng)網(wǎng)絡(luò)與數(shù)理統(tǒng)計(jì)相結(jié)合建立溫補(bǔ)模型,文獻(xiàn)[8]選擇RBF神經(jīng)網(wǎng)絡(luò)對(duì)光纖陀螺進(jìn)行溫度漂移辨識(shí),均有效改善陀螺零偏穩(wěn)定性。神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的并行處理、自學(xué)習(xí)和自適應(yīng)能力。然而,其結(jié)果難以得到較好的泛化性能,難以避免過(guò)度擬合或欠擬合的問(wèn)題。除此之外,神經(jīng)網(wǎng)絡(luò)存在容易陷入局部?jī)?yōu)化的危險(xiǎn)。
由Vapnik及其同事開(kāi)發(fā)了一種基于統(tǒng)計(jì)學(xué)習(xí)理論(Statistical learning theory, SLT)的新型學(xué)習(xí)機(jī),稱(chēng)為支持向量機(jī)(Support vector machines, SVM),它實(shí)現(xiàn)了結(jié)構(gòu)風(fēng)險(xiǎn)最小化(Structure risk minimization, SRM)原理[9-10]。文獻(xiàn)[11]提出一種蟻群算法優(yōu)化最小二乘支持向量機(jī)的誤差補(bǔ)償模型,有效提高陀螺精度,但該方法主要應(yīng)用在高精度的光纖陀螺上。支持向量機(jī)能夠克服上述典型的神經(jīng)網(wǎng)絡(luò)方法的缺點(diǎn),它具有以下的特點(diǎn):(1)支持向量機(jī)的訓(xùn)練相當(dāng)于解決一個(gè)二次規(guī)劃問(wèn)題,從而產(chǎn)生一個(gè)獨(dú)特的全局最優(yōu)解;(2)通過(guò)使用內(nèi)積和內(nèi)核函數(shù)有效地解決非線性問(wèn)題。因此,SVM已經(jīng)應(yīng)用于模式識(shí)別、回歸預(yù)測(cè)和非線性控制等領(lǐng)域[12-14]。
CS算法的主要優(yōu)點(diǎn)是參數(shù)少,操作簡(jiǎn)單,容易實(shí)現(xiàn),搜索隨機(jī)路徑的能力強(qiáng)。盡管該算法已經(jīng)在許多領(lǐng)域得到了應(yīng)用,但仍存在一些不足。最優(yōu)解受到固定檢測(cè)概率的影響;Levy flight飛行機(jī)制通過(guò)交替大步驟和小步驟來(lái)提高全局搜索能力,但缺乏自適應(yīng)性造成難以在收斂速度和搜索能力之間的平衡。為了解決上述問(wèn)題并且有效提高M(jìn)EMS陀螺零偏溫度補(bǔ)償精度,提出了一種基于改進(jìn)布谷鳥(niǎo)搜索算法(Cuckoo search, CS)優(yōu)化的支持向量機(jī)溫度建模方法。
MEMS陀螺的溫度零偏誤差補(bǔ)償問(wèn)題是確定陀螺輸出值和溫度的對(duì)應(yīng)關(guān)系,本質(zhì)上是函數(shù)擬合問(wèn)題。并且兩者的函數(shù)關(guān)系很難依據(jù)理論方法進(jìn)行準(zhǔn)確建模。一般函數(shù)f(x)的表達(dá)式只能根據(jù)樣本數(shù)據(jù)(x1,y1),(x2,y2),…,(xk,yk)求解。xi表示陀螺溫度,yi表示陀螺輸出值。
SVM采用如下式(1)的形式對(duì)未知函數(shù)f(x)進(jìn)行擬合逼近:
y=f(x)=wTφ(x)+b
(1)
式中:待擬合函數(shù)的自變量和因變量分別為x∈Rn,y∈R,b為偏置項(xiàng),φ(·)為將自變量從低維空間向高維空間映射的特征函數(shù),上式主要是先將非線性函數(shù)從低維空間映射到高維空間,然后進(jìn)行線性擬合。
將未知函數(shù)擬合問(wèn)題轉(zhuǎn)換為函數(shù)R的最小化問(wèn)題:
(2)
式(2)的函數(shù)最小化問(wèn)題是一個(gè)凸二次優(yōu)化問(wèn)題,因此引入拉格朗日函數(shù):
(3)
式中:ai,ai*≥0,γi,γi*≥0,i=1,2,…,k。式(2)中求函數(shù)R的最優(yōu)解的問(wèn)題轉(zhuǎn)化為求式(3)的鞍點(diǎn)問(wèn)題,在鞍點(diǎn)處,函數(shù)L是有關(guān)w,b,ξ,ξ*的極小值點(diǎn),并且是有關(guān)a,a*,γ,γ*的極大值點(diǎn)。從而,將式(5)的最小化問(wèn)題轉(zhuǎn)換為求式(3)對(duì)偶問(wèn)題的最大問(wèn)題,即:
(4)
在鞍點(diǎn)處,拉格朗日函數(shù)L是有關(guān)w,b,ξ,ξ*的極小點(diǎn),因此:
(5)
對(duì)于支持向量機(jī)非線性回歸,可以分為三步:第一步,把數(shù)據(jù)從低維空間映射到一個(gè)高維特征空間,即x→φ(x);第二步,在高維空間進(jìn)行線性回歸;第三步,根據(jù)第二步的結(jié)果取得在原空間非線性回歸的效果,并且引入符合Mercer條件的核函數(shù)k(xi,xj)=φ(xi),φ(xj)〉,運(yùn)算符代表對(duì)于核函數(shù)的選擇。即:
(6)
此時(shí):
(7)
對(duì)于支持向量機(jī)的方法,選用不同的核函數(shù)k(x,xj),就可構(gòu)成不一樣的支持向量機(jī)。其中應(yīng)用最為廣泛的式徑向基核函數(shù),徑向基核函數(shù)是局部性強(qiáng)的核函數(shù)。相比其他核函數(shù)的徑向基核函數(shù)適用于小樣本和大樣本,高維和低維的情況;與多項(xiàng)式核函數(shù)相比,徑向基核函數(shù)參數(shù)少,函數(shù)復(fù)雜程度低,計(jì)算量小。所以在本文提到的方法中,選用徑向基核函數(shù)如式(9)所示:
(9)
式中:σ2是徑向基函數(shù)的核寬度。
采用SVM方法做非線性函數(shù)擬合,效果很好。但用SVM做非線性擬合的時(shí)需要調(diào)節(jié)相關(guān)的參數(shù)(主要是懲罰參數(shù)C、核函數(shù)參數(shù)σ以及不敏感系數(shù)ε)才能得到較好的精度。采用CS的方法尋找最優(yōu)參數(shù),可以有效避免過(guò)學(xué)習(xí)和欠學(xué)習(xí)狀態(tài)的發(fā)生,最終得到較理想的準(zhǔn)確率。
1.2.1布谷鳥(niǎo)算法
布谷鳥(niǎo)搜索算法是計(jì)算智能領(lǐng)域,除了蟻群算法、魚(yú)群算法之外的一種群體智能的優(yōu)化算法,該算法最早是由Yang和Deb在2010年提出的[15]。其受到鳥(niǎo)類(lèi)的兩種特殊行為的啟發(fā):布谷鳥(niǎo)的寄生行為和果蠅的Levy flight飛行行為。它著重于三個(gè)理想化的規(guī)則[16]:
1)每只布谷鳥(niǎo)每次只產(chǎn)一個(gè)蛋,并將蛋放入隨機(jī)選擇的巢中;
2)產(chǎn)蛋質(zhì)量最好的巢穴會(huì)傳給下一代;
3)可用宿主巢的數(shù)量是固定的,并且宿主鳥(niǎo)發(fā)現(xiàn)布谷鳥(niǎo)放置的卵的概率Pa∈[0,1]。在這種情況下,寄主鳥(niǎo)可以將蛋扔掉或放棄巢,并建立一個(gè)全新的巢。
布谷鳥(niǎo)巡找巢穴和位置更新的公式為:
(10)
1.2.2檢測(cè)概率的動(dòng)態(tài)調(diào)整策略
在CS算法中,是否產(chǎn)生新個(gè)體由隨機(jī)數(shù)ε和檢測(cè)概率Pa的比較結(jié)果決定。最優(yōu)解的搜索結(jié)果受Pa數(shù)值的影響:當(dāng)Pa太大時(shí),較好的巢位很難收斂到最優(yōu)位置;相反,當(dāng)Pa太小時(shí),它會(huì)遇到當(dāng)前壞窩位置的慢速收斂。根據(jù)自然界的周期性變化,我們?cè)贑S算法中引入了周期變異算子來(lái)調(diào)整被檢測(cè)概率(Pa)。本文將余弦循環(huán)算子引入CS算法實(shí)現(xiàn)Pa的周期性變化。
(11)
其中,T是周期算子的周期;t是當(dāng)前迭代次數(shù);Pa,max和Pa,min是Pa的動(dòng)態(tài)控制參數(shù),分別等于0.75和0.1。
1.2.3步長(zhǎng)的動(dòng)態(tài)調(diào)整策略
通過(guò)分析原始CS算法,可以看出CS算法的步長(zhǎng)對(duì)全局最優(yōu)解和搜索精度有顯著影響。較大的尺寸有助于算法跳出局部最優(yōu)狀態(tài),但會(huì)降低收斂精度和收斂速度。另一方面,步長(zhǎng)較小時(shí),獲得局部最佳結(jié)果非常容易。因此,關(guān)鍵是如何獲得合適的搜索步長(zhǎng),以避免局部最優(yōu)解,并提高收斂速度和收斂精度。本文提出了一種自適應(yīng)布谷鳥(niǎo)搜索算法,該算法通過(guò)最后一次最優(yōu)嵌套生成和當(dāng)前迭代次數(shù)的組合信息對(duì)步長(zhǎng)進(jìn)行調(diào)整。
根據(jù)當(dāng)前的優(yōu)化進(jìn)程,即迭代次數(shù)與最大迭代次數(shù)的關(guān)系,布谷鳥(niǎo)搜索步驟S設(shè)置如下:
(12)
式中:m∈(0,1)是調(diào)節(jié)因子;Ei-1是上一代群體的最佳巢位;h∈[0,1]是限制因素;t和tmax是當(dāng)前迭代次數(shù)和最大迭代次數(shù);Smin是最小的搜索步驟;p是1~30的整數(shù)。
1.2.4算法實(shí)現(xiàn)

(13)
通過(guò)大量的陀螺溫度實(shí)驗(yàn)獲取的溫度誤差樣本數(shù)據(jù),利用本文提出的基于CS優(yōu)化SVM參數(shù)的方法對(duì)微機(jī)械陀螺的溫度誤差進(jìn)行建模。該過(guò)程包括以下3個(gè)步驟:
1)數(shù)據(jù)歸一化
為了加快參數(shù)尋優(yōu)的速度以及模型訓(xùn)練的效率,同時(shí),為了優(yōu)化內(nèi)存空間,可以用式(14)對(duì)樣本數(shù)據(jù)進(jìn)行歸一化處理:
(14)
式中:y表示歸一化后輸出的值,ymax=1,ymin=-1;x表示歸一化前的輸入得值,xmax為輸入數(shù)據(jù)的最大值,xmin為輸入數(shù)據(jù)最小值。通過(guò)式(14)可以將任意實(shí)數(shù)范圍內(nèi)數(shù)據(jù)變換到[-1,1]的區(qū)間內(nèi)。
2)改進(jìn)布谷鳥(niǎo)算法優(yōu)化SVM
以實(shí)驗(yàn)數(shù)據(jù)為訓(xùn)練數(shù)據(jù)對(duì)SVM的懲罰參數(shù)C、核函數(shù)參數(shù)σ以及不敏感系數(shù)ε進(jìn)行尋優(yōu)。
3)模型訓(xùn)練
根據(jù)基于CS優(yōu)化SVM參數(shù)方法的擬合原理,將第二步基于布谷鳥(niǎo)法調(diào)優(yōu)的參數(shù)尋優(yōu)結(jié)果和第一步歸一化后數(shù)據(jù)代入支持向量機(jī)函數(shù)進(jìn)行訓(xùn)練,得到最佳擬合函數(shù),即:
(15)

為了研究溫度對(duì)MEMS陀螺零偏的影響,將微機(jī)械IMU放在高低溫箱的水平臺(tái)上(如圖1所示),將環(huán)境溫度從-30 ℃開(kāi)始以1 ℃/min的速率逐漸升溫至70 ℃(如圖2所示)。在微機(jī)械陀螺的工作過(guò)程中,以50 Hz的頻率實(shí)時(shí)輸出陀螺值量測(cè)數(shù)據(jù)以及溫度數(shù)據(jù)。同時(shí),由于微機(jī)械陀螺的輸出數(shù)據(jù)具有較大的量化噪聲,無(wú)法直接用于溫度誤差的標(biāo)定,因此,采用20 s數(shù)據(jù)(即1000組)平滑后的結(jié)果作為溫度誤差建模的樣本點(diǎn),溫度數(shù)據(jù)同樣進(jìn)行20 s 平滑處理。陀螺溫度誤差經(jīng)20 s平滑后的曲線如圖3所示。
分別應(yīng)用傳統(tǒng)的最小二乘分段擬合算法、BP神經(jīng)網(wǎng)絡(luò)以及基于CS的SVM算法對(duì)微機(jī)械陀螺零偏輸出進(jìn)行辨識(shí)。參數(shù)設(shè)置如表1、表2所示。利用三種方法辨識(shí)得到的數(shù)據(jù)對(duì)溫度變化下微機(jī)械陀螺的零偏進(jìn)行補(bǔ)償,補(bǔ)償效果如圖4~6所示。

表1 最小二乘方法和BP神經(jīng)網(wǎng)絡(luò)方法參數(shù)設(shè)置Table 1 Least square method and BP neural network method parameters set

表2 基于改進(jìn)CS優(yōu)化SVM的最佳參數(shù)Table 2 Optimization of SVM based on CS
從圖4~6可以看出,三種方法對(duì)微機(jī)械陀螺的溫度誤差都起到了減小的作用,但效果不同。將補(bǔ)償后三種方法得到陀螺誤差進(jìn)行比較,如圖7~9所示。
從圖7~9可以看出,基于改進(jìn)CS的SVM方法補(bǔ)償后的數(shù)據(jù)穩(wěn)定性明顯高于其他兩種方法,BP神經(jīng)網(wǎng)絡(luò)和本文方法明顯優(yōu)于最小二乘分段擬合方法,并且對(duì)于誤差曲線斜率變化大的地方(如Z軸0 ℃~10 ℃)本文方法穩(wěn)定性比BP神經(jīng)網(wǎng)絡(luò)方法更好。進(jìn)一步統(tǒng)計(jì)溫度補(bǔ)償后數(shù)據(jù)的最大誤差和方差,結(jié)果如表3所示。可以看出,采用基于CS的SVM的補(bǔ)償方法的方差比最小二乘平均減小約63.2%,最大誤差平均減小約71.63%,并且比基于BP神經(jīng)網(wǎng)絡(luò)補(bǔ)償方法的方差平均減小約43.4%,最大誤差平均減小約48.3%;從表4可以看出本文方法量化噪聲Q、零偏不穩(wěn)定性B、角速率隨機(jī)游走K相比其他兩種方法都降低了一個(gè)數(shù)量級(jí),角度隨機(jī)游走N、速率斜坡R也有明顯下降,從而證明本文方法的精度更高,優(yōu)越性更強(qiáng),提高了MEMS陀螺對(duì)環(huán)境的適應(yīng)能力。

表3 各種方法補(bǔ)償后的最大誤差和均方差比較Table 3 Various methods of gyro output after the average and the mean square error comparison

表4 Y軸微機(jī)械陀螺的原始信號(hào)和隨機(jī)誤差的Allan方差分析比較結(jié)果Table 4 Allan variance analysis results of original signal and random error of Y-axismicromachined gyroscope
動(dòng)態(tài)條件下(溫度25 ℃),將微機(jī)械陀螺儀放置在轉(zhuǎn)臺(tái)上,使轉(zhuǎn)臺(tái)以5 (°)/s的恒定速率旋轉(zhuǎn),采集60 s的數(shù)據(jù)進(jìn)行溫補(bǔ)驗(yàn)證,如圖10所示。從圖中可以看出,利用本文方法對(duì)陀螺零偏進(jìn)行溫度補(bǔ)償后,陀螺的輸出值更加精準(zhǔn)有效。
為了降低微機(jī)械陀螺儀的溫度漂移,本文提出了一種基于改進(jìn)CS調(diào)節(jié)SVM參數(shù)的建模與補(bǔ)償方法。首先,用于建模的溫度漂移數(shù)據(jù)采用20 s數(shù)據(jù)(即1000組)平滑預(yù)處理。然后采用支持向量機(jī)構(gòu)造漂移模型。改進(jìn)CS方法用于優(yōu)化支持向量機(jī)的參數(shù),提高了建立模型的精度。通過(guò)大量的溫度試驗(yàn)檢驗(yàn)了方法的有效性。結(jié)果表明,與最小二乘方法、BP神經(jīng)網(wǎng)絡(luò)方法相比,CS調(diào)節(jié)支持向量機(jī)的補(bǔ)償數(shù)據(jù)方差分別平均減小了63.2%,43.4%,最大誤差分別平均減小71.63%,48.3%。