王雪硯,佘世剛,朱 雅,敬心靈,陸佳偉
(常州大學(xué),江蘇 常州 213164)
導(dǎo)航定位技術(shù)在科技發(fā)展迅速的當(dāng)今至關(guān)重要。近年來,我國自主研發(fā)的北斗導(dǎo)航系統(tǒng)(beidou navigation satellite system,BDS)全面部署,其定位精度較于一、二代有了很大的提高,但是在遇連續(xù)高層建筑物或隧道等被遮擋的情況時,北斗信號易受到干擾而出現(xiàn)中斷現(xiàn)象。此時,相對單一的導(dǎo)航系統(tǒng),組合導(dǎo)航能夠?qū)崿F(xiàn)定位數(shù)據(jù)的相互補償。慣性導(dǎo)航系統(tǒng)是一種不依賴于外部信息,也不向外部輻射能量的自主式導(dǎo)航系統(tǒng),其中的捷聯(lián)慣性導(dǎo)航系統(tǒng)(strap-down inertial navigation system,SINS)依靠算法比平臺式慣性導(dǎo)航系統(tǒng)抗干擾能力更強,短時精度更高,穩(wěn)定性更強。BDS 和SINS 互相配合的導(dǎo)航系統(tǒng)能夠優(yōu)缺互補,但當(dāng)系統(tǒng)受到外界干擾時北斗信號失鎖,而SINS 的誤差會隨著時間積累而增大,單靠SINS 系統(tǒng)無法保證定位精度。因此,為了提高組合導(dǎo)航定位精度,需解決北斗信號失鎖的問題。
如今,采用神經(jīng)網(wǎng)絡(luò)來模擬出當(dāng)衛(wèi)星信號受到干擾時的定位數(shù)據(jù)已成為一種新型方法,例如BP神經(jīng)網(wǎng)絡(luò)或者RBFNN 神經(jīng)網(wǎng)絡(luò)。其中,BP 網(wǎng)絡(luò)的模型有單向靜態(tài)的特點,因此,對不穩(wěn)定、自相關(guān)性的時間序列的泛化能力較差。而RBFNN 網(wǎng)絡(luò)的解釋性較差,容易在訓(xùn)練數(shù)據(jù)較少情況下出現(xiàn)數(shù)據(jù)病態(tài)的現(xiàn)象,從而影響定位精度。
為了避免上述問題,本文提出一種帶外部輸入的非線性自回歸神經(jīng)網(wǎng)絡(luò)(nonlinear autoregressive with external input,NARX)。該網(wǎng)絡(luò)對比之前兩種算法的最大優(yōu)點是將時間序列前階滯后的輸出值反饋后當(dāng)作當(dāng)前輸入值,這一優(yōu)點在北斗信號失鎖情況下對實時運動的載體進行定位尤其重要。同時該網(wǎng)絡(luò)包含的延時和反饋機制增強了對歷史數(shù)據(jù)的記憶能力,再通過分析獲得誤差變化的規(guī)律,從而解決誤差對定位數(shù)據(jù)產(chǎn)生的問題。最后通過實驗對比3 種算法下所獲取的定位數(shù)據(jù),驗證了該算法的優(yōu)越性。
組合導(dǎo)航系統(tǒng)將多種單一系統(tǒng)相結(jié)合,能有效利用各系統(tǒng)的導(dǎo)航信息,實現(xiàn)對各系統(tǒng)及其元器件誤差的校準,從而提高整體系統(tǒng)的定位精度。其組合方式可以分為松組合、緊組合和超緊組合3 種方式??紤]計算量的適中與工程上使用的可能性,本文選取松組合為組合模式,其結(jié)構(gòu)如圖1 所示。
圖1 BDS/SINS 組合導(dǎo)航結(jié)構(gòu)圖
松組合結(jié)構(gòu)中,首先通過BDS 和SINS 兩個系統(tǒng)各自獨立對運動載體的位置和速度進行解算,利用BDS 對SINS 進行輔助,經(jīng)過算法對定位數(shù)據(jù)的誤差進行修正,最后進行信息融合,輸出完成定位信息。松組合能保證兩個子系統(tǒng)的獨立性,以防單個系統(tǒng)失效致使整個系統(tǒng)無法定位的情況發(fā)生,有較高的冗余度。
對于組合導(dǎo)航的狀態(tài)方程,可通過綜合SINS系統(tǒng)有關(guān)的誤差方程得出,其狀態(tài)方程的一般表達式如下:
式中,F(xiàn)為對應(yīng)SINS 的系統(tǒng)動態(tài)矩陣;F為轉(zhuǎn)換矩陣;F為慣性器件的誤差矩陣。
系統(tǒng)噪聲向量:
組合導(dǎo)航的量測信息包括位置量信息和速度信息,它們是由SINS 給出的位置/速度信息與BDS接收機解算出的位置/速度信息求差值所得出。
其中,SINS 系統(tǒng)給出的位置量測信息可表示為:
BDS 接收機所得的位置量測信息可表示為:
同理,速度量測矢量表達式如下:
NARX 結(jié)合了NAR(nonlinear autoregressive)與NIO(nonlinear input-output)的優(yōu)點,有很強的非線性和自回歸能力。因此,NARX 具有動態(tài)反饋性,簡稱為全局反饋型神經(jīng)網(wǎng)絡(luò),全稱為帶外部輸入的非線性自回歸網(wǎng)絡(luò),是遞歸神經(jīng)網(wǎng)絡(luò)的一種。NARX 神經(jīng)網(wǎng)絡(luò)輸出的結(jié)果為相對時刻外部輸入和歷史輸出相結(jié)合的非線性函數(shù),其結(jié)構(gòu)中帶有時延和反饋部分,使得網(wǎng)絡(luò)對時變規(guī)律特性適應(yīng)力增強,對歷史信息有記憶和聯(lián)想功能。因此,NARX 神經(jīng)網(wǎng)絡(luò)在時間序列預(yù)測的問題上非常有優(yōu)勢。
NARX 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)主要由4 個部分組成,分別是輸入層、隱含層、輸出層和輸出延時層,其結(jié)構(gòu)如圖2 所示。
圖2 NARX 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
其中,第1 層是輸入層,由前期數(shù)據(jù)信號源節(jié)點組成;第2 層是隱含層,將輸入層通過非線性變換得到的信息處理后再通過線性變換到隱含層,再經(jīng)過相應(yīng)處理后通過線性變換進入輸出層;第3 層是輸出層,將完成預(yù)測的數(shù)據(jù)和延時信息再反饋回輸入層。信息融合數(shù)據(jù)經(jīng)過n階時延后進入隱含層,隱含層的轉(zhuǎn)移函數(shù)為Sigmoid 函數(shù),推算出當(dāng)t時刻第i 個隱含層節(jié)點輸出s如下:
式中,f為Sigmoid 函數(shù);w為t 時刻第i 個隱含層節(jié)點與輸入x(t-r)之間的權(quán)值;w為時刻第i 個隱含層節(jié)點與輸出反饋值y(t-l)之間的權(quán)值;b為第i個隱含層節(jié)點的閾值。
輸出層y(t)為:
式中,N 為隱含層節(jié)點數(shù);w為t 時刻第i 個隱含層節(jié)點到輸出層節(jié)點的權(quán)值;T 為輸出層節(jié)點閾值。
NARX 神經(jīng)網(wǎng)絡(luò)是通過前一刻的輸入值與輸出值來預(yù)測下一刻的輸出值,其輸入量為帶時延的SINS 傳感器輸入量和神經(jīng)網(wǎng)絡(luò)輸出y(t)的延時輸入,數(shù)學(xué)模型表達如式(13):
式中,y(t)為神經(jīng)網(wǎng)絡(luò)的輸出變量;u(t)為外部輸入量;n為輸出時延的最大階數(shù);u(t-1),u(t-2),…,u(t-n)為相對t 時刻的輸入;y(t-1),y(t-2),…,y(tn)為相對t 時刻的輸出變量;f 為擬合得到的非線性函數(shù)。
訓(xùn)練是指神經(jīng)網(wǎng)絡(luò)模型的學(xué)習(xí)過程,神經(jīng)網(wǎng)絡(luò)通過前期訓(xùn)練完成網(wǎng)絡(luò)權(quán)值最優(yōu)的動態(tài)調(diào)整。常見的訓(xùn)練算法有共軛梯度法、梯度下降法、牛頓法和(levenberg-marquard,LM)算法。其中,梯度下降法最為基礎(chǔ)和簡單,它通過學(xué)習(xí)率α 的一個超參數(shù)對步長進行修正達到學(xué)習(xí)速度和精確度之間的平衡,屬于一階收斂算法,但有效率低且易陷入局部極小值的缺點;牛頓算法基于梯度下降法進一步利用了目標函數(shù)的二階偏導(dǎo)數(shù),效率有所提高但是對目標函數(shù)要求嚴格,同時由于對Hessian 矩陣必須正定的要求使得計算量巨大。LM 算法又稱衰減最小平方法,其綜合了梯度下降法和牛頓法,對于過參數(shù)化的問題不敏感,避免了代價函數(shù)陷入局部極小值的情況,也不再需要計算Hessian 矩陣,使得其收斂速度快效率高。因此,選用LM 算法作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法。
LM 算法屬于一種信賴域法,即從初始點開始,以當(dāng)前點為中心,假設(shè)最大位移s 為半徑,在此區(qū)域內(nèi)尋找目標函數(shù)的一個近似函數(shù),通過近似函數(shù)的最優(yōu)點來得出新的位移。再將新的位移代入近似函數(shù)得出目標函數(shù)值,若此時得出的目標函數(shù)值的下降滿足了一定條件,說明得出的位移是合理的,則以此方式繼續(xù)進行迭代;若目標函數(shù)值的下降不能滿足一定條件,則減小信賴域的范圍,再重新求解。
LM 算法的數(shù)學(xué)模型如下:
式中,第1 個式子是模擬目標函數(shù)的二次模型。其中,s 為自變量即需要求得的位移;g為梯度;G為Hessian 矩陣。第2 個式子中的h是第k 次迭代的信賴域半徑。
再決定下一次迭代時對信賴域的縮小或擴大,此時衡量二次模型與目標函數(shù)的近似程度r:
損失函數(shù)的函數(shù)值受模型的偏置值和權(quán)重值影響,將兩個值合并成一個n 維的權(quán)重向量,記為w。此時假設(shè)x為網(wǎng)絡(luò)權(quán)值的第k 次迭代向量,則x為:
訓(xùn)練算法就是不斷調(diào)整未知參數(shù)使得損失函數(shù)達到最小值,達到相關(guān)性與誤差能力最小準則。設(shè)n,d 分別為神經(jīng)網(wǎng)絡(luò)輸出和期望輸出,則性能指標為E(x):
LM 算法采用帶誤差權(quán)重的均方誤差函數(shù)MSE為損失函數(shù):
式中,Y(t)為t 時刻的期望輸出;Y(t)為t 時刻的神經(jīng)網(wǎng)絡(luò)輸出;m 為訓(xùn)練樣本數(shù)。
加入數(shù)據(jù)訓(xùn)練,NARX 神經(jīng)網(wǎng)絡(luò)的表達式如下:
采用LM 算法對權(quán)值調(diào)整的隨機逼近誤差函數(shù)為:
在北斗信號失鎖期間,結(jié)合NARX 神經(jīng)網(wǎng)絡(luò)擬完成組合導(dǎo)航的高精度定位預(yù)測,其系統(tǒng)結(jié)構(gòu)如圖3 所示。
圖3 基于NARX 的組合導(dǎo)航系統(tǒng)原理圖
在北斗信號接收正常時,對NARX 神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練:將SINS 中陀螺儀和加速度計測量出的角速度和加速度作為網(wǎng)絡(luò)的輸入量,與BDS/SINS 通過Kalman 濾波得到的定位數(shù)據(jù)對比所得的經(jīng)、緯度增量作為網(wǎng)絡(luò)的輸出量。再通過LM 訓(xùn)練算法不斷調(diào)整均方誤差,最后獲得最優(yōu)的NARX 神經(jīng)網(wǎng)絡(luò)預(yù)測模型。
當(dāng)北斗信號失鎖時,利用前期訓(xùn)練好的NARX神經(jīng)網(wǎng)絡(luò)進行輔助導(dǎo)航,此時將前一時刻得到的定位數(shù)據(jù)和SINS 的當(dāng)前輸出量作為網(wǎng)絡(luò)的輸入量,通過誤差矯正實現(xiàn)當(dāng)前位置的預(yù)測。
本文數(shù)據(jù)來源于自制平臺,其硬件系統(tǒng)主要包括主控芯片STM32F103,慣性傳感器MPU6050,定位模塊ATK1218-BD。設(shè)置慣性傳感器的輸出頻率為10 Hz,定位模塊的輸出頻率為0.5 Hz。路線起點由A 點開始,依次經(jīng)過B、C、D 最后回到A 點,耗時130 s。為了模擬北斗信號失鎖的情況,在選擇的實驗路徑中設(shè)置3 個12.5 s 的信號中斷區(qū)間,如圖4所示。對于信號中斷區(qū)間,利用之前采集的定位數(shù)據(jù)進行LM 算法訓(xùn)練,再引入神經(jīng)網(wǎng)絡(luò)對北斗信號失鎖期間定位數(shù)據(jù)進行預(yù)測。
圖4 數(shù)據(jù)采集的路徑經(jīng)緯圖
對于神經(jīng)網(wǎng)絡(luò):BP 網(wǎng)絡(luò)是對訓(xùn)練結(jié)果與實際結(jié)果進行誤差分析,修正權(quán)值和閾值后完成最優(yōu)預(yù)測。RBFNN 網(wǎng)絡(luò)以徑向基函數(shù)為核心,具有最佳逼近性能。從理論角度上,此兩種神經(jīng)網(wǎng)絡(luò)均可以提高定位精度,因此,分別構(gòu)建3 種神經(jīng)網(wǎng)絡(luò)進行定位精度對比。
首先對網(wǎng)絡(luò)模型進行參數(shù)選取,已知對NARX神經(jīng)網(wǎng)絡(luò)的預(yù)測效果有顯著影響的關(guān)鍵參數(shù)為隱含層節(jié)點數(shù)m 和輸入時延階數(shù)d。根據(jù)經(jīng)驗對參數(shù)初設(shè),在經(jīng)過反復(fù)模擬仿真后,取m=25,d=2。輸入層x(t)等于實際外部輸入向量u(t),輸出層y(t)等于待預(yù)測量向量y(t),其維數(shù)都為1,構(gòu)建的NARX神經(jīng)網(wǎng)絡(luò)北斗失鎖情況下路徑預(yù)測模型結(jié)構(gòu)如圖5所示。
圖5 NARX 神經(jīng)網(wǎng)絡(luò)預(yù)測模型結(jié)構(gòu)
在1 號中斷區(qū)前25 s 通過慣導(dǎo)模塊和定位模塊進行數(shù)據(jù)采集,對采集的250 個樣本數(shù)據(jù)進行劃分:70%作為訓(xùn)練樣本,15%用作驗證,剩余的15%作測試對網(wǎng)絡(luò)進行前期訓(xùn)練。首先用訓(xùn)練集對NARX 神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,在模型完成初始化之后,對預(yù)測值與實際輸出值之間的誤差不斷進行權(quán)重值和偏置值的調(diào)整。其次在訓(xùn)練集訓(xùn)練出多個模型后,用各個模型對驗證集模型進行預(yù)測,確定定位精度最高的NARX 網(wǎng)絡(luò)模型。最后通過訓(xùn)練集和驗證集得出的最優(yōu)的神經(jīng)網(wǎng)絡(luò)模型,并使用測試集對網(wǎng)絡(luò)性能進行測試、分析及評價。
對NARX 神經(jīng)網(wǎng)絡(luò)主要參數(shù)進行設(shè)置后,對網(wǎng)絡(luò)進行訓(xùn)練,當(dāng)隨機驗證誤差趨于平穩(wěn),且測試集與最優(yōu)結(jié)果基本吻合后,完成對北斗信號失鎖情況下的NARX 神經(jīng)網(wǎng)絡(luò)的最優(yōu)預(yù)測模型的構(gòu)建。
采用LM 訓(xùn)練算法擬得到較好的數(shù)據(jù)訓(xùn)練效果,對比常用的梯度下降法和擬牛頓法的訓(xùn)練過程如下頁圖6 所示。通過對比發(fā)現(xiàn)采用LM 訓(xùn)練算法的數(shù)據(jù)收斂速度快,其性能最優(yōu)。因此,采用LM 算法作為NARX 神經(jīng)網(wǎng)絡(luò)前期數(shù)據(jù)的訓(xùn)練算法。
圖6 3 種訓(xùn)練算法的誤差曲線
對比相同訓(xùn)練目標下3 種神經(jīng)網(wǎng)絡(luò)的迭代次數(shù),如下頁表1 所示。3 種算法中,BP 神經(jīng)網(wǎng)絡(luò)需要最多的迭代次數(shù),RBFNN 神經(jīng)網(wǎng)絡(luò)其次,NARX 神經(jīng)網(wǎng)絡(luò)的迭代次數(shù)最少。圖7 為對于1 號信號中斷區(qū)的東向預(yù)測網(wǎng)絡(luò)在同一目標值下3 種算法迭代次數(shù)的對比。
圖7 3 種算法的均方誤差對比
表1 3 種網(wǎng)絡(luò)的迭代次數(shù)
3 種神經(jīng)網(wǎng)絡(luò)的均方誤差對比如表2 所示。3 種算法中,BP 神經(jīng)網(wǎng)絡(luò)的均方誤差最大,RBFNN 神經(jīng)網(wǎng)絡(luò)的均方誤適中,NARX 神經(jīng)網(wǎng)絡(luò)的均方誤差最小。
表2 3 種網(wǎng)絡(luò)的均方誤差
利用3 種神經(jīng)網(wǎng)絡(luò)對北斗信號失鎖期間進行時間序列上的預(yù)測對比如圖8、圖9 所示。
圖8 和圖9 是1 號信號中斷區(qū)間內(nèi)采用BP 神經(jīng)網(wǎng)絡(luò)、RBFNN 神經(jīng)網(wǎng)絡(luò)和NARX 神經(jīng)網(wǎng)絡(luò)對東、北向預(yù)測路徑與實際路徑的對比。由于選擇的路徑范圍較小,其經(jīng)緯度幅度也較小。因此,對預(yù)測定位精度要求較高,即預(yù)測結(jié)果與實際路徑對比尤為明顯。
圖8 神經(jīng)網(wǎng)絡(luò)對東向路徑的預(yù)測
圖9 神經(jīng)網(wǎng)絡(luò)對北向路徑的預(yù)測
對比3 種算法:BP 神經(jīng)網(wǎng)絡(luò)預(yù)測的路徑與實際路徑差距較大,這是由于該網(wǎng)絡(luò)本質(zhì)為梯度下降法,它所要優(yōu)化的目標函數(shù)非常復(fù)雜,因此,會出現(xiàn)“鋸齒形”的預(yù)測結(jié)果,這反映了BP 神經(jīng)網(wǎng)絡(luò)收斂速度較慢。此外從圖5(a)中可以看出預(yù)測結(jié)果在北斗信號失鎖時長的最后階段出現(xiàn)過擬合情況,這也反映了BP 神經(jīng)網(wǎng)絡(luò)泛化能力較差的缺點,因此,BP神經(jīng)網(wǎng)絡(luò)并不適用于導(dǎo)航定位這類時效性要求高的問題。
RBFNN 神經(jīng)網(wǎng)絡(luò)的預(yù)測路徑趨勢與實際路徑趨勢基本吻合,但精度較低,存在漂移現(xiàn)象。這可能是由于數(shù)據(jù)樣本不充足,導(dǎo)致算法的解釋性較差,因此,該算法不適用于定位精度需求較高的場合。
NARX 神經(jīng)網(wǎng)絡(luò)的路徑預(yù)測效果明顯優(yōu)于前兩者。在北斗信號失鎖初期短時間漂移后,收斂回歸并趨于穩(wěn)定。
對于定位精度優(yōu)于單個北斗導(dǎo)航系統(tǒng)的BDS/SINS 組合導(dǎo)航系統(tǒng)而言,完善北斗信號失鎖期間的定位數(shù)據(jù)可以提高整體的導(dǎo)航精度。本文采用一種利用NARX 神經(jīng)網(wǎng)絡(luò)預(yù)測得出的定位數(shù)據(jù)填補信號中斷區(qū)的方法,實現(xiàn)組合導(dǎo)航的全時段的高精度定位。
通過自制實驗平臺,在北斗信號正常工作情況下,根據(jù)BDS/SINS 組合導(dǎo)航獲取神經(jīng)網(wǎng)絡(luò)的訓(xùn)練集建立最優(yōu)化的網(wǎng)絡(luò)模型。在北斗信號失鎖時利用神經(jīng)網(wǎng)絡(luò)完成實時定位數(shù)據(jù)的預(yù)測。對比北斗信號失鎖期間BP 神經(jīng)網(wǎng)絡(luò)、RBFNN 神經(jīng)網(wǎng)絡(luò)和NARX神經(jīng)網(wǎng)絡(luò)預(yù)測下的路徑位置,結(jié)果表明,NARX 神經(jīng)網(wǎng)絡(luò)通過對輸出量的實時反饋,能夠得到更優(yōu)的定位數(shù)據(jù),實現(xiàn)北斗信號失鎖時的高精度定位。