劉艷霞, 方建軍, 石 崗
(1.北京聯(lián)合大學 城市軌道交通與物流學院,北京100101;2.中國石油大學(華東)信息與控制工程學院,山東 青島 266580)
加速度計是慣性導航的關鍵部件,其輸出精度直接影響慣性導航系統(tǒng)的精度[1]。石英撓性加速度計是加速度計中最重要的一種。其中,霍尼韋爾QA-160T型石英撓性加速度計具有機械性能穩(wěn)定、內耗小、遲滯小、漂移小,價格低等優(yōu)勢,廣泛應用于機器人位姿控制、慣性導航等領域[2]。加速度傳感器的精度一般由制造精度和標定精度兩方面決定。制造精度目前已基本接近極限,進一步的提高需要耗費很大的人力物力。因此,提高誤差標定和補償精度就顯得尤為重要。
文獻[3]通過對石英加速度計的動態(tài)性能測試,發(fā)現(xiàn)其誤差主要包括偏差常量、周期性誤差和高斯噪聲。文獻[4,5]利用橢球假設法的三軸加速度計誤差進行標定和補償,數據采集對傳感器姿態(tài)要求不高,但搜索最優(yōu)解的速度較慢。文獻[6]利用最小二乘法估計確定性誤差校準系數,但需要依賴載體姿態(tài)(橫滾角和俯仰角)獲取實際加速度作為參考。文獻[7]采用分步校準法,對加速度計誤差進行補償,其實質和橢球擬合法類似。文獻[8~11]分別采用6位置、10位置、12位置和24位置等位置翻滾標定法來解算誤差系數矩陣中的未知量。文獻[12]通過BP神經網絡補償加速度計誤差,補償后輸出最大誤差絕對值由0.457 5gn減少到0.0701 4gn,降低一個數量級。
本文針對三軸加速度計存在的測量誤差,建立了隱式非線性誤差模型,并提出一種改進的極限學習機——自主反向調優(yōu)極限學習機(auto reverse tuning extreme learning machine,RT-ELM)對誤差模型進行訓練。該方法的訓練速度是傳統(tǒng)神經網絡的數千倍,加速度計補償后誤差可下降150倍左右。
因加工工藝所限,三軸加速度計在制造過程中難免會產生零點偏差、三軸靈敏度不一致誤差和三軸不正交誤差[4]。
零點偏差指無加速度輸入時,因制造誤差加速度計也會有一定非零伏的輸出電壓[4]。靈敏度誤差是指實際加速度計各軸的靈敏度都不同程度地和標稱值之間存在一些偏差,即各種分量相等時三軸加速度計的輸出也未必完全一致,靈敏度矩陣不等于單位矩陣[4]。三軸不正交誤差則是指加速度計的三個敏感軸并非兩兩嚴格正交,實際上其敏感軸通常會偏離理想正交坐標系微小的角度,如圖1所示,這將帶來加速度測量的非線性誤差[12]。
圖1 三軸加速度計不正交誤差
正交坐標系Pm的Xm軸和加速度計坐標系Pb的Xb軸完全重合,Ym軸和加速度傳感器Xb,Yb軸在同一平面,它們之間的夾角分別為?,β和γ。
這些綜合因素為三軸加速度計誤差校準和補償帶來很大的挑戰(zhàn),傳統(tǒng)的顯示誤差模型難以充分表達測量過程中存在的非線性誤差。本文建立了非線性隱式誤差模型,并提出一種自主反向調優(yōu)的超限學習算法對模型進行訓練。
新加坡南洋理工大學黃廣斌教授在對單隱層反饋神經網絡進行了深入研究的基礎上,提出了極限學習機(extreme learning machine,ELM)[13]和傳統(tǒng)反向傳播(back propagation,BP)神經網絡相比,ELM網絡缺少輸出層偏置,而且輸入權重wij和隱含層偏置bi隨機產生不需要調整,整個網絡僅剩下輸出權重βki需要確定。
假設隱含層有L個神經元,訓練集包含N個不同樣本(xi,yi),其中,輸入xi=(xi1,xi2,…,xin)∈Rn,輸出yi=(yi1,yi2,…,yim)∈Rm,若采用非線性激勵函數g(x),可以零誤差逼近來自同一連續(xù)系統(tǒng)的N個輸入樣本,使得
(1)
式中wi=(wi1,wi2,…,win),xj=(x1j,x2j,…,xnj)T。 式(1)可改寫為
Y=Hβ
(2)
令ELM網絡的輸出等于樣本標簽T如式(3)所示
T=Y=Hβ
(3)
多數情況下,隱含層神經元的個數L遠遠小于訓練樣本的個數N,因此式(3)的解為使損失函數C最小的解
(4)
根據最小范數解準則,式(4)存在極小范數最小二乘解
(5)
式中H+為輸出矩陣H的廣義逆。
雖然上述固定型極限學習機具有速度快,無需迭代,不易陷入局部最優(yōu)等特點,但已證明隱含層節(jié)點數對網絡性能具有很大影響[12]。然而,隱含層節(jié)點數只能憑經驗選擇,如何確定最優(yōu)節(jié)點個數是個難題,當前主要集中在增量型極限學習機研究上。
增量型極限學習機的隱層神經元數隨著迭代過程逐次遞增,已經被證明第k+1次迭代所獲得的網絡(具有k+1個隱含層神經元)輸出誤差小于第k次迭代所獲得的網絡輸出誤差,解決了隱含層節(jié)點選擇難的問題。但k+1個隱含層神經元中有很多神經元的輸出權值Wij很小,也就是說這些神經元對最終網絡輸出起到的影響很小,若能減少這些“無用”的神經元,就能大大減小增量型極限學習機的迭代次數,提高學習效率[13]。但減少“無用”的神經元,也必然在一定程度上導致網絡誤差有所增加。本文借鑒深度學習算法中連接權值反向調優(yōu)思想,提出一種RT-ELM誤差模型訓練方法,誤差網絡模型如圖2所示。
圖2 三軸加速度計誤差模型
模型訓練包括2個階段:1)隨機初始化輸入連接權值wij和bi,根據公式計算輸出連接權值βki;2)根據網絡殘差,借鑒深度學習反向調優(yōu)對連接權值進行反向微調。
根據反向調優(yōu)結果更新網絡代價函數,若小于期望值,或迭代次數超過預定值K,則訓練結束;否則返回到前面步驟繼續(xù)。網絡訓練流程如圖3所示。
圖3 RT-ELM訓練流程
當N為奇數時,執(zhí)行第一階段。首先隨機初始化輸入連接權值wij和bi;再根據式(5)計算輸出連接權值βki;然后根據得到的網絡連接權值進行前向傳播,計算網絡輸出和網絡殘差。
當N為偶數時,執(zhí)行第二階段。首先根據第一階段得到的連接權值,wij,bi和βki,通過前向傳播得到磁羅盤測量值對應的網絡輸出;然后計算網絡輸出與磁羅盤參考值之間偏差,即為網絡殘差err。假設網絡各層的激活值分別為a1,a2和a3,網絡損失函數為e。反向調優(yōu)的目的就是為了減小損失函數e,為此需要求損失函數對連接權值的偏導。求解過程如下:
1)前向傳播過程中,各層的激活值為
(6)
2)通過反向求導計算所需的第二層和第三層殘差
(7)
3)輸入層和輸出層的梯度為
(8)
4)利用梯度下降法進行反向調優(yōu)
(9)
為驗證固定型ELM和改進后RT-ELM的誤差補償效果,用自行研制的三軸加速度計在翻轉六面體上進行實驗,如圖4所示。
圖4 翻轉六面體
三軸加速度計固定在六面體上,通過上下左右翻轉,采集不同位姿時x,y,z三軸的加速度,本次實驗共采集2 969個樣本點。樣本標簽取垂直地面方向軸為重力加速度,平行地面方向加速度為0。從2 969個樣本中任意取2 000作為訓練集,對圖2所示的非線性誤差模型進行訓練;其余的969個樣本作為測試集,用于測試訓練得到的誤差模型性能,結果如圖5所示,固定型ELM用時0.015 4 s,改進的RT-ELM用時0.061 5 s。圖5(a)為改進ELM算法前后x軸加速度計誤差對比情況,固定型極限學習機ELM補償后最大誤差為0.025 m/s2,均方根誤差0.026 6 m/s2;RT-ELM補償后最大誤差為0.007 m/s2,均方根誤差0.003 7 m/s2。RT-ELM算法補償后比補償前的均方根誤差0.559 9 m/s2減小了151倍,比固定型ELM算法減小7.2倍。
圖5(b)為改進ELM算法前后y軸加速度計誤差對比情況,固定型ELM補償后最大誤差為0.042 m/s2,均方根誤差0.008 0 m/s2;RT-ELM補償后最大誤差為0.01 m/s2,均方根誤差0.003 4 m/s2。RT-ELM算法補償后比補償前的均方根誤差0.541 9 m/s2減小了159倍,比固定型ELM算法減小2.4倍。
圖5(c)為改進ELM算法前后z軸加速度計誤差對比情況,固定型超限學習機ELM補償后最大誤差為0.045 m/s2,均方根誤差0.027 0 m/s2;RT-ELM補償后最大誤差為0.007 m/s2,均方根誤差0.003 8 m/s2。RT-ELM算法補償后比補償前的均方根誤差0.387 2 m/s2減小了102倍,比固定型ELM算法減小7.1倍。
圖5 改進ELM算法前后加速度計誤差對比
在誤差補償實驗中,對近3 000樣本的數據集進行隨機抽取訓練集和測試集,反復多次,誤差補償結果基本都在±0.07 m/s2范圍內,均方根誤差小于0.004 m/s2,誤差比補償前減小超過100倍,可見超限學習算法不僅具有出色的補償效果,還具有很強的泛化能力。固定型ELM算法無需迭代訓練,速度極快,幾千個樣本的數據集訓練速度為0.015 s;基于RT-ELM算法,因為對隱含層節(jié)點個數需要迭代尋優(yōu),用時約0.06 s。雖然基于RT-ELM比固定型ELM耗時增加了3倍,但依然是毫秒(ms)級的,精度也有明顯提升。因此,該算法不僅可以提高三軸磁傳感器誤差補償精度,還可用于其他對實時性要求較高的誤差補償和控制領域。