姚順宇, 王志武, 顏國正
(上海交通大學 電子信息與電氣工程學院,上海 200240)
我國城市軌道交通發展迅速,目前出現了一種新型云軌。云軌是我國自主研發的跨座式單軌高架鐵路,相比于地鐵和輕軌,云軌有爬坡能力強、轉彎半徑小、適應多種地形、噪音小、綜合建設技術要求低、總體造價成本低等優點。然而云軌的各項指標要求都很高,尤其對軌道檢測的定位有著非常高的要求。本文設計了一種針對云軌測量的高精度軌道檢測車,傳統的軌道檢測車采用了捷聯慣性導航系統(Strapdown Inertial Navigation System, SINS)作為軌道的位置檢測,SINS是一種自主式導航系統,其優點是采集速度快,無需外界干擾就可以工作。其缺點是存在累積誤差,其測量誤差會隨著時間的增長而不斷增大。全球定位系統(Global Positioning System, GPS)是一種基于衛星的定位系統,其特點是可以實現全球定位,但是定位精度較差,以及易受遮擋。GPS和SINS組合可以實現互補,GPS可以減小SINS測量的累積誤差,而SINS系統可以暫時彌補GPS的信號缺失[1]。GPS信號易受遮擋,受城市高樓和隧道等影響時信號會發生較長時間的缺失,定位誤差逐漸增大,從而無法達到云軌高精度測量的要求。
目前GPS和SINS系統一般通過卡爾曼濾波作為最優估計方法,然而一旦當GPS信號消失,卡爾曼濾波將很快失去作用,導致定位誤差急劇增大。近年來,基于人工智能的各種(AI)算法在導航定位系統中有了非常廣泛的應用。比如多層感知機神經網絡[7],徑向基神經網絡[9]以及小波神經網絡[10]等。在GPS信號可用的情況下,這些方法可以學習到SINS誤差和被測目標之間的動態關系,從而在GPS信號不可用的情況下預測目標實際的運動位置[4]。神經網絡的模型的輸入為SINS系統的測量信息,包括速度、方位角、角速度等,輸出為實際位置和預測位置的誤差。目前用于SIN/GPS系統的神經網絡算法都基本沒有考慮到輸入的時間特性,然而被測目標的位置誤差一般都是非平穩隨機信號,和時間特性有著很強的關聯。長短期記憶模型(Long Short Term Memory, LSTM)是一種基于時間序列的神經網絡模型,可以學習到輸入數據的時間特性,在各種時間序列任務中有著廣泛的應用,本文對比了LSTM和一些傳統算法的定位精度,證明了雙層雙向LSTM算法的誤差最小,并且能達到實時運算的要求。
實驗中采用了自行設計的軌道檢測車,其機械結構主要有兩個部分,分為設備支持平臺和軌檢小車。設備支持平臺主要是為各類設備提供安裝支撐和相關位置調整,軌檢小車是設備支持平臺的最終依附支架,并能提供隨列車行進的功能,如圖1所示。
該測量平臺采用了多個高精度傳感器,包括:
(1)GPS(RTK),輸出頻率50 Hz,可采集位置信息、速度信息和時間信息等。
(2)傾角傳感器,輸出頻率100 Hz,采集側傾角度和俯仰角度。
(3)高精度慣導系統,輸出頻率115 200 bit/s,采集姿態,位置信息,加速度,角速度信息等。
(4)高精度點激光傳感器,輸出頻率500 Hz,采集距離信息,測量范圍為55~105 mm。
傳感器測量的信息通過AD采集器傳入上位機。最后由上位機的算法進行數據解算和時間同步,輸出的同步信號頻率為10 Hz。


圖1 云軌檢測車
云軌檢測車主要用于測量云軌的各項參數,其基本原理為通過GPS獲取小車初始的位置信息作為起點,利用高精度慣導系統獲取小車的速度、加速度和角速度等信息,通過高精度點激光傳感器采集軌道的直線度信息,通過傾角傳感器采集軌道的傾斜信息。本文重點關注小車的位置信息,位置信息對軌道的定位至關重要。這里分兩種情況,當GPS信號接收良好的情況下,如圖2所示,可以利用基于卡爾曼濾波的數據融合算法進行估計。可以將檢測小車所測得的運行速度誤差、姿態角誤差和位置誤差等作為狀態參數,計算得到誤差的估計值然后進一步對系統進行誤差校正。利用慣導測出比力和角速率,接著采取基于旋轉矢量的四元數法進行姿態解算,將解算得到的誤差值和外部測量參數的差值作為卡爾曼濾波器的輸入。利用建立的狀態空間方程對速度、位置和姿態角誤差進行估計,然后利用這些誤差進行反饋校正,最后輸出軌道的準確參數。
然而當小車無法接收GPS信號時,基于卡爾曼濾波的姿態估計方法誤差會迅速增大[2]。由于SINS傳感器的誤差積累特性,單獨使用SINS傳感器會造成較大誤差,此時需要智能估計算法對小車此時的位置進行估計,如圖2所示,采取雙層雙向LSTM融合多傳感器的信息,在GPS信號缺失的情況下仍能對軌道的位置做出精準的測量。

圖2 云軌位置檢測系統原理圖

(1)

(2)
(3)
(4)
(5)

(6)
其中λ為實驗目標所在的經度。SINS的誤差等式為[11]:
(7)
系統的狀態方程為:

(8)
系統的狀態向量為:
(9)
其中下標x,y,z代表了車體坐標系的3個坐標軸。W(t)是系統噪聲向量,這里假設為均值為0的白噪聲。將SINS和GPS的位置誤差為測量值并記為Z(t)。
得到測量公式[12]:
(10)
其中V(t)代表測量噪聲矩陣,當GPS信號丟失時,負反饋回路失效,誤差會迅速增大。
長短期記憶模型(LSTM)是一種神經網絡模型,無需知道輸入和輸出之間的關系,可由模型學習得出,其輸入為:
X(t-s):t=[v(t-s):tφ(t-s):to(t-s):t]=
[ve(t-s):tvn(t-s):tvu(t-s):tγ(t-s):tθ(t-s):tψ(t-s):tω(t-s):tf(t-s):t],
(11)
輸出:
y=Δpt=[ΔpetΔpnt]=
[petpet-spnt-pnt-s],
(12)
其中:s是窗口的長度,實驗測試了不同的窗口長度,最后發現s=5即0.5 s時效果最佳。其中ve,vn,vu代表了東向、北向、天向速度;同理γ,θ,ψ代表滾動、俯仰和航向角,w和f代表了陀螺儀和加速度計的輸出。SINS和GPS的信號都具有很強的時間相關性,而通過滑窗的方式可以有效的利用數據的時間特性。神經網絡的作用就是通過滑窗學習輸入和輸出之間的映射函數:
其中:v代表線速度,φ代表角速度,o代表輸出。利用LSTM可以得到輸入和輸出之間的關系:
(13)

(14)

(15)
LSTM的優點在于狀態ct可以很好的連接隱藏狀態ht和輸出ot,同時ct很容易退化成一個線性變換,使得模型學習時的導數可以高效傳輸。雙層雙向LSTM是一種新型LSTM網絡[3],它繼承了LSTM容易收斂的特點,而雙層網絡增強了網絡的學習能力,雙向網絡也使得信息利用更加充分,無論是收斂速度還是最終效果均優于單向單層LSTM網路[15-16],雙層雙向LSTM網絡的結構如下圖3所示。

圖3 雙層雙向LSTM示意圖
選取一段云軌軌道,實際最大測量長度約為1.5 km,軌道方向為東北方向緩慢轉為西北方向。將設備平臺架在軌檢小車上,放于云軌平臺上進行檢測。首先進行設備的初始校準,校準完成后進行測量。實際測量時間總計40 min,采樣頻率10 Hz,其中包括小車靜止、加速、平穩運行和減速多個階段的往復運動,軌道包括直行和轉彎兩個部分。
首先對實驗采集的數據做了預處理,剔除了數據的異常點,并且用巴特沃斯數字濾波算法濾去了高頻噪聲。實驗選取了80%的數據作為訓練集,20%的數據作為測試集,其中訓練集和測試集都包含了小車運行的靜止、加速、平穩運行和減速四個階段。在測試集當中,假設GPS的位置信號全程丟失,讓模型來預測準確位置。
接下來訓練了多個模型,包括多層感知機神經網絡(Malti Layer Perceptron, MLP),單層LSTM,雙層LSTM網絡和雙層雙向LSTM網絡與RNN網絡,其中初始學習率均設為1e-3且迭代了200輪,損失函數隨著迭代輪數的變化情況如圖4所示,可以發現多層感知機在訓練過程中非常不穩定,LSTM雙層雙向網絡的損失衰減最快,其次是雙向LSTM網絡和單向LSTM網絡,而且最后雙層雙向LSTM的損失是最小的。以上實驗表明雙層雙向LSTM在測試集上具有最小的均方誤差,因此后面實驗的LSTM均指雙層雙向LSTM。接下來進行模型驗證,根據小車不同的運動狀態劃分測試集,將測試集作為模型的輸入,得到不同算法的定位結果,并對比SINS定位結果。

圖4 各模型訓練迭代輪數和損失圖線
當軌檢小車處于靜止狀態,如圖5所示,其北向速度vn和南向速度ve的速度所示均為0,SINS在靜止狀態下誤差很小,LSTM東向位置誤差較小,北向位置誤差較大,這跟小車運行方向偏東西向有關,導致南北方向的數據偏少,模型學習不夠充分。MLP和RNN北向和東向的位置誤差都很大。最后的時間積累位置誤差如表1所示。

圖5 實驗1位置誤差及速度
表1 實驗1不同算法的最終位置誤差
Tab.1 Final position error of different algorithms in experiment 1

測量算法東向位置誤差/m北向位置誤差/mSINS3.06.7MLP18.731.2RNN12.825.3LSTM3.529.8
當軌檢小車處于運動狀態,其北向速度vn和南向速度ve的速度一直在變化。最后的得到的各模型北向和東向誤差隨時間變化如圖6所示,SINS在運動狀態下誤差很差,MLP的北向位置誤差小于SINS但是東向位置誤差大于SINS,說明MLP在訓練過程中對東向位置的數據產生了過擬合,所以在測試集上效果不佳。RNN和LSTM的位置誤差始終小于MLP和SINS,其中LSTM的東向和北向位置誤差均為最小。小車在運動狀態下的最終時間積累位置誤差如表2所示。

圖6 實驗2位置誤差及速度
表2 實驗2不同算法的最終位置誤差
Tab.2 Final position error of different algorithms in experiment 2

測量算法東向位置誤差/m北向位置誤差/mSINS423.6367.7MLP801.4253.2RNN123.8166.8LSTM97.662.3
小車先靜止后運動情況下,其北向速度vn和南向速度ve的速度先靜止后加速。最后的得到的各模型北向和東向誤差隨時間變化如圖7所示,SINS在靜止狀態下表現良好,但是一旦到了運動狀態誤差迅速增大,RNN和LSTM在靜止時雖然誤差比其他算法誤差大一些,但是小車一旦從靜止切換到運動狀態,LSTM誤差變化并不明顯,MLP和RNN均不如LSTM,最終仍然是LSTM的誤差最小。小車最后的時間位置積累誤差如表3所示。

圖7 實驗3位置誤差及速度
表3 實驗3不同算法的最終位置誤差
Tab.3 Final position error of different algorithms in experiment 3

測量算法東向位置誤差/m北向位置誤差/mSINS31.262.3MLP102.139.8RNN19.847.6LSTM16.731.2
通過三組實驗,發現SINS在靜止時的誤差很小,其他神經網絡算法在靜止狀態下有著較大的累積誤差。但是在運動狀態下,由于,SINS的累計誤差會迅速增大,反而神經網絡算法的累計誤差變化較小,其中LSTM的誤差變化最小,說明LSTM模型能夠充分學習到數據的時間序列關系,利用序列信息做出準確的位置預測。而MLP無法從特征中有效提取出時間序列信息,因此訓練時收斂較慢,容易過擬合,最后的測試結果也很差。為了進一步降低誤差,可以設定一個速度閾值,當速度小于這個閾值,利用SINS的結果來計算位置,當速度大于這個閾值,用LSTM模型計算位置。經過實驗發現當閾值取0.2 m/s時,能在各種運動狀態下達到最小誤差。
本文提出了LSTM模型解決SINS-GPS系統GPS信號消失的問題,能夠顯著提高云軌測量的定位精度。并介紹了SINS-GPS的定位原理,證明其在GPS信號消失的情況下定位誤差會迅速增大。設計一系列實驗驗證了LSTM模型能夠充分利用時間序列信息,在運動狀態下從而得到最好的效果。在運動狀態下LSTM模型的定位誤差比SINS定位誤差小79.8%,比MLP定位誤差小84.8%,比RNN定位誤差小45.0%,相比于之前的算法有顯著提升。