姚順宇, 王志武, 顏國正
(上海交通大學(xué) 電子信息與電氣工程學(xué)院,上海 200240)
我國城市軌道交通發(fā)展迅速,目前出現(xiàn)了一種新型云軌。云軌是我國自主研發(fā)的跨座式單軌高架鐵路,相比于地鐵和輕軌,云軌有爬坡能力強(qiáng)、轉(zhuǎn)彎半徑小、適應(yīng)多種地形、噪音小、綜合建設(shè)技術(shù)要求低、總體造價(jià)成本低等優(yōu)點(diǎn)。然而云軌的各項(xiàng)指標(biāo)要求都很高,尤其對(duì)軌道檢測的定位有著非常高的要求。本文設(shè)計(jì)了一種針對(duì)云軌測量的高精度軌道檢測車,傳統(tǒng)的軌道檢測車采用了捷聯(lián)慣性導(dǎo)航系統(tǒng)(Strapdown Inertial Navigation System, SINS)作為軌道的位置檢測,SINS是一種自主式導(dǎo)航系統(tǒng),其優(yōu)點(diǎn)是采集速度快,無需外界干擾就可以工作。其缺點(diǎn)是存在累積誤差,其測量誤差會(huì)隨著時(shí)間的增長而不斷增大。全球定位系統(tǒng)(Global Positioning System, GPS)是一種基于衛(wèi)星的定位系統(tǒng),其特點(diǎn)是可以實(shí)現(xiàn)全球定位,但是定位精度較差,以及易受遮擋。GPS和SINS組合可以實(shí)現(xiàn)互補(bǔ),GPS可以減小SINS測量的累積誤差,而SINS系統(tǒng)可以暫時(shí)彌補(bǔ)GPS的信號(hào)缺失[1]。GPS信號(hào)易受遮擋,受城市高樓和隧道等影響時(shí)信號(hào)會(huì)發(fā)生較長時(shí)間的缺失,定位誤差逐漸增大,從而無法達(dá)到云軌高精度測量的要求。
目前GPS和SINS系統(tǒng)一般通過卡爾曼濾波作為最優(yōu)估計(jì)方法,然而一旦當(dāng)GPS信號(hào)消失,卡爾曼濾波將很快失去作用,導(dǎo)致定位誤差急劇增大。近年來,基于人工智能的各種(AI)算法在導(dǎo)航定位系統(tǒng)中有了非常廣泛的應(yīng)用。比如多層感知機(jī)神經(jīng)網(wǎng)絡(luò)[7],徑向基神經(jīng)網(wǎng)絡(luò)[9]以及小波神經(jīng)網(wǎng)絡(luò)[10]等。在GPS信號(hào)可用的情況下,這些方法可以學(xué)習(xí)到SINS誤差和被測目標(biāo)之間的動(dòng)態(tài)關(guān)系,從而在GPS信號(hào)不可用的情況下預(yù)測目標(biāo)實(shí)際的運(yùn)動(dòng)位置[4]。神經(jīng)網(wǎng)絡(luò)的模型的輸入為SINS系統(tǒng)的測量信息,包括速度、方位角、角速度等,輸出為實(shí)際位置和預(yù)測位置的誤差。目前用于SIN/GPS系統(tǒng)的神經(jīng)網(wǎng)絡(luò)算法都基本沒有考慮到輸入的時(shí)間特性,然而被測目標(biāo)的位置誤差一般都是非平穩(wěn)隨機(jī)信號(hào),和時(shí)間特性有著很強(qiáng)的關(guān)聯(lián)。長短期記憶模型(Long Short Term Memory, LSTM)是一種基于時(shí)間序列的神經(jīng)網(wǎng)絡(luò)模型,可以學(xué)習(xí)到輸入數(shù)據(jù)的時(shí)間特性,在各種時(shí)間序列任務(wù)中有著廣泛的應(yīng)用,本文對(duì)比了LSTM和一些傳統(tǒng)算法的定位精度,證明了雙層雙向LSTM算法的誤差最小,并且能達(dá)到實(shí)時(shí)運(yùn)算的要求。
實(shí)驗(yàn)中采用了自行設(shè)計(jì)的軌道檢測車,其機(jī)械結(jié)構(gòu)主要有兩個(gè)部分,分為設(shè)備支持平臺(tái)和軌檢小車。設(shè)備支持平臺(tái)主要是為各類設(shè)備提供安裝支撐和相關(guān)位置調(diào)整,軌檢小車是設(shè)備支持平臺(tái)的最終依附支架,并能提供隨列車行進(jìn)的功能,如圖1所示。
該測量平臺(tái)采用了多個(gè)高精度傳感器,包括:
(1)GPS(RTK),輸出頻率50 Hz,可采集位置信息、速度信息和時(shí)間信息等。
(2)傾角傳感器,輸出頻率100 Hz,采集側(cè)傾角度和俯仰角度。
(3)高精度慣導(dǎo)系統(tǒng),輸出頻率115 200 bit/s,采集姿態(tài),位置信息,加速度,角速度信息等。
(4)高精度點(diǎn)激光傳感器,輸出頻率500 Hz,采集距離信息,測量范圍為55~105 mm。
傳感器測量的信息通過AD采集器傳入上位機(jī)。最后由上位機(jī)的算法進(jìn)行數(shù)據(jù)解算和時(shí)間同步,輸出的同步信號(hào)頻率為10 Hz。
圖1 云軌檢測車
云軌檢測車主要用于測量云軌的各項(xiàng)參數(shù),其基本原理為通過GPS獲取小車初始的位置信息作為起點(diǎn),利用高精度慣導(dǎo)系統(tǒng)獲取小車的速度、加速度和角速度等信息,通過高精度點(diǎn)激光傳感器采集軌道的直線度信息,通過傾角傳感器采集軌道的傾斜信息。本文重點(diǎn)關(guān)注小車的位置信息,位置信息對(duì)軌道的定位至關(guān)重要。這里分兩種情況,當(dāng)GPS信號(hào)接收良好的情況下,如圖2所示,可以利用基于卡爾曼濾波的數(shù)據(jù)融合算法進(jìn)行估計(jì)??梢詫z測小車所測得的運(yùn)行速度誤差、姿態(tài)角誤差和位置誤差等作為狀態(tài)參數(shù),計(jì)算得到誤差的估計(jì)值然后進(jìn)一步對(duì)系統(tǒng)進(jìn)行誤差校正。利用慣導(dǎo)測出比力和角速率,接著采取基于旋轉(zhuǎn)矢量的四元數(shù)法進(jìn)行姿態(tài)解算,將解算得到的誤差值和外部測量參數(shù)的差值作為卡爾曼濾波器的輸入。利用建立的狀態(tài)空間方程對(duì)速度、位置和姿態(tài)角誤差進(jìn)行估計(jì),然后利用這些誤差進(jìn)行反饋校正,最后輸出軌道的準(zhǔn)確參數(shù)。
然而當(dāng)小車無法接收GPS信號(hào)時(shí),基于卡爾曼濾波的姿態(tài)估計(jì)方法誤差會(huì)迅速增大[2]。由于SINS傳感器的誤差積累特性,單獨(dú)使用SINS傳感器會(huì)造成較大誤差,此時(shí)需要智能估計(jì)算法對(duì)小車此時(shí)的位置進(jìn)行估計(jì),如圖2所示,采取雙層雙向LSTM融合多傳感器的信息,在GPS信號(hào)缺失的情況下仍能對(duì)軌道的位置做出精準(zhǔn)的測量。
圖2 云軌位置檢測系統(tǒng)原理圖
(1)
(2)
(3)
(4)
(5)
(6)
其中λ為實(shí)驗(yàn)?zāi)繕?biāo)所在的經(jīng)度。SINS的誤差等式為[11]:
(7)
系統(tǒng)的狀態(tài)方程為:
(8)
系統(tǒng)的狀態(tài)向量為:
(9)
其中下標(biāo)x,y,z代表了車體坐標(biāo)系的3個(gè)坐標(biāo)軸。W(t)是系統(tǒng)噪聲向量,這里假設(shè)為均值為0的白噪聲。將SINS和GPS的位置誤差為測量值并記為Z(t)。
得到測量公式[12]:
(10)
其中V(t)代表測量噪聲矩陣,當(dāng)GPS信號(hào)丟失時(shí),負(fù)反饋回路失效,誤差會(huì)迅速增大。
長短期記憶模型(LSTM)是一種神經(jīng)網(wǎng)絡(luò)模型,無需知道輸入和輸出之間的關(guān)系,可由模型學(xué)習(xí)得出,其輸入為:
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是窗口的長度,實(shí)驗(yàn)測試了不同的窗口長度,最后發(fā)現(xiàn)s=5即0.5 s時(shí)效果最佳。其中ve,vn,vu代表了東向、北向、天向速度;同理γ,θ,ψ代表滾動(dòng)、俯仰和航向角,w和f代表了陀螺儀和加速度計(jì)的輸出。SINS和GPS的信號(hào)都具有很強(qiáng)的時(shí)間相關(guān)性,而通過滑窗的方式可以有效的利用數(shù)據(jù)的時(shí)間特性。神經(jīng)網(wǎng)絡(luò)的作用就是通過滑窗學(xué)習(xí)輸入和輸出之間的映射函數(shù):
其中:v代表線速度,φ代表角速度,o代表輸出。利用LSTM可以得到輸入和輸出之間的關(guān)系:
(13)
(14)
(15)
LSTM的優(yōu)點(diǎn)在于狀態(tài)ct可以很好的連接隱藏狀態(tài)ht和輸出ot,同時(shí)ct很容易退化成一個(gè)線性變換,使得模型學(xué)習(xí)時(shí)的導(dǎo)數(shù)可以高效傳輸。雙層雙向LSTM是一種新型LSTM網(wǎng)絡(luò)[3],它繼承了LSTM容易收斂的特點(diǎn),而雙層網(wǎng)絡(luò)增強(qiáng)了網(wǎng)絡(luò)的學(xué)習(xí)能力,雙向網(wǎng)絡(luò)也使得信息利用更加充分,無論是收斂速度還是最終效果均優(yōu)于單向單層LSTM網(wǎng)路[15-16],雙層雙向LSTM網(wǎng)絡(luò)的結(jié)構(gòu)如下圖3所示。
圖3 雙層雙向LSTM示意圖
選取一段云軌軌道,實(shí)際最大測量長度約為1.5 km,軌道方向?yàn)闁|北方向緩慢轉(zhuǎn)為西北方向。將設(shè)備平臺(tái)架在軌檢小車上,放于云軌平臺(tái)上進(jìn)行檢測。首先進(jìn)行設(shè)備的初始校準(zhǔn),校準(zhǔn)完成后進(jìn)行測量。實(shí)際測量時(shí)間總計(jì)40 min,采樣頻率10 Hz,其中包括小車靜止、加速、平穩(wěn)運(yùn)行和減速多個(gè)階段的往復(fù)運(yùn)動(dòng),軌道包括直行和轉(zhuǎn)彎兩個(gè)部分。
首先對(duì)實(shí)驗(yàn)采集的數(shù)據(jù)做了預(yù)處理,剔除了數(shù)據(jù)的異常點(diǎn),并且用巴特沃斯數(shù)字濾波算法濾去了高頻噪聲。實(shí)驗(yàn)選取了80%的數(shù)據(jù)作為訓(xùn)練集,20%的數(shù)據(jù)作為測試集,其中訓(xùn)練集和測試集都包含了小車運(yùn)行的靜止、加速、平穩(wěn)運(yùn)行和減速四個(gè)階段。在測試集當(dāng)中,假設(shè)GPS的位置信號(hào)全程丟失,讓模型來預(yù)測準(zhǔn)確位置。
接下來訓(xùn)練了多個(gè)模型,包括多層感知機(jī)神經(jīng)網(wǎng)絡(luò)(Malti Layer Perceptron, MLP),單層LSTM,雙層LSTM網(wǎng)絡(luò)和雙層雙向LSTM網(wǎng)絡(luò)與RNN網(wǎng)絡(luò),其中初始學(xué)習(xí)率均設(shè)為1e-3且迭代了200輪,損失函數(shù)隨著迭代輪數(shù)的變化情況如圖4所示,可以發(fā)現(xiàn)多層感知機(jī)在訓(xùn)練過程中非常不穩(wěn)定,LSTM雙層雙向網(wǎng)絡(luò)的損失衰減最快,其次是雙向LSTM網(wǎng)絡(luò)和單向LSTM網(wǎng)絡(luò),而且最后雙層雙向LSTM的損失是最小的。以上實(shí)驗(yàn)表明雙層雙向LSTM在測試集上具有最小的均方誤差,因此后面實(shí)驗(yàn)的LSTM均指雙層雙向LSTM。接下來進(jìn)行模型驗(yàn)證,根據(jù)小車不同的運(yùn)動(dòng)狀態(tài)劃分測試集,將測試集作為模型的輸入,得到不同算法的定位結(jié)果,并對(duì)比SINS定位結(jié)果。
圖4 各模型訓(xùn)練迭代輪數(shù)和損失圖線
當(dāng)軌檢小車處于靜止?fàn)顟B(tài),如圖5所示,其北向速度vn和南向速度ve的速度所示均為0,SINS在靜止?fàn)顟B(tài)下誤差很小,LSTM東向位置誤差較小,北向位置誤差較大,這跟小車運(yùn)行方向偏東西向有關(guān),導(dǎo)致南北方向的數(shù)據(jù)偏少,模型學(xué)習(xí)不夠充分。MLP和RNN北向和東向的位置誤差都很大。最后的時(shí)間積累位置誤差如表1所示。
圖5 實(shí)驗(yàn)1位置誤差及速度
表1 實(shí)驗(yàn)1不同算法的最終位置誤差
Tab.1 Final position error of different algorithms in experiment 1
測量算法東向位置誤差/m北向位置誤差/mSINS3.06.7MLP18.731.2RNN12.825.3LSTM3.529.8
當(dāng)軌檢小車處于運(yùn)動(dòng)狀態(tài),其北向速度vn和南向速度ve的速度一直在變化。最后的得到的各模型北向和東向誤差隨時(shí)間變化如圖6所示,SINS在運(yùn)動(dòng)狀態(tài)下誤差很差,MLP的北向位置誤差小于SINS但是東向位置誤差大于SINS,說明MLP在訓(xùn)練過程中對(duì)東向位置的數(shù)據(jù)產(chǎn)生了過擬合,所以在測試集上效果不佳。RNN和LSTM的位置誤差始終小于MLP和SINS,其中LSTM的東向和北向位置誤差均為最小。小車在運(yùn)動(dòng)狀態(tài)下的最終時(shí)間積累位置誤差如表2所示。
圖6 實(shí)驗(yàn)2位置誤差及速度
表2 實(shí)驗(yàn)2不同算法的最終位置誤差
Tab.2 Final position error of different algorithms in experiment 2
測量算法東向位置誤差/m北向位置誤差/mSINS423.6367.7MLP801.4253.2RNN123.8166.8LSTM97.662.3
小車先靜止后運(yùn)動(dòng)情況下,其北向速度vn和南向速度ve的速度先靜止后加速。最后的得到的各模型北向和東向誤差隨時(shí)間變化如圖7所示,SINS在靜止?fàn)顟B(tài)下表現(xiàn)良好,但是一旦到了運(yùn)動(dòng)狀態(tài)誤差迅速增大,RNN和LSTM在靜止時(shí)雖然誤差比其他算法誤差大一些,但是小車一旦從靜止切換到運(yùn)動(dòng)狀態(tài),LSTM誤差變化并不明顯,MLP和RNN均不如LSTM,最終仍然是LSTM的誤差最小。小車最后的時(shí)間位置積累誤差如表3所示。
圖7 實(shí)驗(yàn)3位置誤差及速度
表3 實(shí)驗(yàn)3不同算法的最終位置誤差
Tab.3 Final position error of different algorithms in experiment 3
測量算法東向位置誤差/m北向位置誤差/mSINS31.262.3MLP102.139.8RNN19.847.6LSTM16.731.2
通過三組實(shí)驗(yàn),發(fā)現(xiàn)SINS在靜止時(shí)的誤差很小,其他神經(jīng)網(wǎng)絡(luò)算法在靜止?fàn)顟B(tài)下有著較大的累積誤差。但是在運(yùn)動(dòng)狀態(tài)下,由于,SINS的累計(jì)誤差會(huì)迅速增大,反而神經(jīng)網(wǎng)絡(luò)算法的累計(jì)誤差變化較小,其中LSTM的誤差變化最小,說明LSTM模型能夠充分學(xué)習(xí)到數(shù)據(jù)的時(shí)間序列關(guān)系,利用序列信息做出準(zhǔn)確的位置預(yù)測。而MLP無法從特征中有效提取出時(shí)間序列信息,因此訓(xùn)練時(shí)收斂較慢,容易過擬合,最后的測試結(jié)果也很差。為了進(jìn)一步降低誤差,可以設(shè)定一個(gè)速度閾值,當(dāng)速度小于這個(gè)閾值,利用SINS的結(jié)果來計(jì)算位置,當(dāng)速度大于這個(gè)閾值,用LSTM模型計(jì)算位置。經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn)當(dāng)閾值取0.2 m/s時(shí),能在各種運(yùn)動(dòng)狀態(tài)下達(dá)到最小誤差。
本文提出了LSTM模型解決SINS-GPS系統(tǒng)GPS信號(hào)消失的問題,能夠顯著提高云軌測量的定位精度。并介紹了SINS-GPS的定位原理,證明其在GPS信號(hào)消失的情況下定位誤差會(huì)迅速增大。設(shè)計(jì)一系列實(shí)驗(yàn)驗(yàn)證了LSTM模型能夠充分利用時(shí)間序列信息,在運(yùn)動(dòng)狀態(tài)下從而得到最好的效果。在運(yùn)動(dòng)狀態(tài)下LSTM模型的定位誤差比SINS定位誤差小79.8%,比MLP定位誤差小84.8%,比RNN定位誤差小45.0%,相比于之前的算法有顯著提升。