趙啟超,吳文啟,張禮廉,唐康華
(國防科技大學智能科學學院,長沙 410073)
在高速列車行駛中,列車的導航定位在列車調度、安全運行與鐵路檢測維護等方面起著非常重要的作用。在列車導航中,高速度、隧道環境以及高可靠性需求等方面都面臨著很大的挑戰,但同時行駛路線的固定性和方向穩定性也能為導航定位提供輔助。本文主要解決的問題是列車在隧道內的定位,鐵路隧道的特點是結構比較固定,但缺失衛星信號并且距離可能較長,光照較弱而且缺少紋理。車載導航常用的傳感器有全球導航衛星系統(Global Navigation Satellite System,GNSS)、慣性測量單元(Inertial Measurement Unit,IMU)、相機、激光雷達、輪式里程計等,在列車導航中,也使用應答器、多普勒雷達、渦流傳感器等定位方式[1]。GNSS可以為列車提供高精度的位置和速度信息,但是在隧道等被遮擋環境中,GNSS將失去作用。慣性導航系統(Inertial Navigation System,INS)使用IMU作為傳感器,不受外部環境干擾,可以提供連續的導航信息,但是導航精度受器件誤差特性影響,而且存在累計誤差。
關于列車在隧道內導航的相關研究,劉射德等設計了一種GNSS/INS/地圖匹配的列車組合定位系統[2],但是沒有評估GNSS缺失時的定位精度,無法確定列車在隧道中的地圖匹配能否抑制INS的誤差累計。Kim等設計了一種多傳感器融合的列車導航系統,包括IMU、輪式測速儀、多普勒雷達、差分GNSS、無線射頻模塊,以及運動約束和地圖匹配算法,即使在隧道中也具有較高的定位精度和容錯性,但傳感器占用的空間、多傳感器標定以及射頻芯片在鐵軌上的安裝等都是實際存在的問題。不限于列車導航,GNSS拒止環境下的導航也有很多研究,例如李增科等提出了對GNSS、INS、里程計進行神經網絡訓練,以生成里程計的速度校正,在GNSS中斷時可以提高位置精度[3]。萬國偉等設計的無人車導航系統包括MEMS IMU、激光雷達、GNSS,此系統在公路隧道中利用IMU和激光雷達組合導航,可以獲得較好的定位效果[4],但是激光雷達導航需要預先建圖,具有一定的局限性。Tolga等針對管道內的檢測無人機設計了一種范圍定位算法,基于管道的圓柱形信息,使用相機、激光雷達和IMU對其內部環境建圖并對自身定位[5]。
接觸網是懸掛于鐵軌與列車上方為列車提供電能的裝置,在列車運行期間容易與列車受電弓之間產生電火花。本文的應用場景是確定列車運行時產生的電火花的位置,這個位置與列車位置有對應關系。從成本和安裝空間考慮,本文使用GNSS、MEMS IMU和相機作為傳感器,其中相機與檢測電火花的相機是同一臺。接觸網的支柱上固定了路標,理想情況下,通過識別路標上的編號可以從數據庫中確定路標的位置,進而對列車定位;但是由于列車速度較快以及光照不均勻等原因,路標編號大多難以識別,因此本文忽略路標編號,直接對路標進行不加區分的檢測,然后使用路標的間距和高度信息輔助慣性導航。路標的間距近似等于接觸網支柱的跨距,跨距是保持受電弓和接觸網良好接觸的重要參數,它的取值有著嚴格規定[6],在一段距離內是保持不變的。
本文針對高速列車通過隧道的場景,提出了一種跨距與運動約束的慣性導航方法,通過對路標的檢測獲取跨距信息,并結合列車運動約束,輔助慣性導航得到更精確的定位結果。具體如下:
1)跨距約束與運動約束結合,可對列車形成全方向的約束,提高定位精度;
2)與基于地標點的位置修正方法相比,此方法不需要識別路標編號,計算效率更高,并且對圖像模糊不敏感,適用于高速運動;
3)使用改進的卡爾曼濾波方法,濾波時間更新方程與測量修正方程采用相同的計算頻率,可減小實時計算負擔,有利于高速運動下的組合導航。
首先定義本文使用的坐標系,n系代表導航坐標系,坐標軸方向為北東地(NED);m系代表車體坐標系,坐標軸方向為前右下;b系代表IMU坐標系,安裝時使其坐標軸方向盡量與m系一致;c系代表相機坐標系,x軸和y軸與相機平面平行,z軸指向相機前方。
陸地車輛在行駛時,如果不發生側滑和跳動,沿車體系側向(y軸)和法向(z軸)的速度為0[7],這稱為車輛運動約束。運動約束是提高慣導精度的一種常用方法,但由于缺少對前向速度的約束,是一種非完整約束,因此常與里程計組合[8-9]。忽略IMU安裝桿臂的影響,這種約束可以表示為
(1)

(2)
(3)
(4)
(5)
其中,[?×]代表向量的反對稱矩陣,δθm為安裝角誤差,由橫滾、俯仰和方位安裝角誤差構成,φn為失準角,δvn為速度誤差,可以推導出側向與法向速度誤差為
(6)


(7)
這種方法稱為狀態變換卡爾曼濾波(State Transformation Extended Kalman Filter,ST-EKF),它可以消去系統矩陣中的比力項,避免比力量化噪聲的影響,使系統方程更接近線性定常系統,從而降低濾波時間更新方程的計算頻率,提高計算效率,避免誤差的累計[11-12]。
設導航系下基于ST-EKF的誤差狀態方程為

(8)
式中,δX為誤差狀態向量,F為系統矩陣,G為噪聲轉移矩陣,w為過程噪聲向量,它們定義如下
(9)
(10)
(11)
(12)
將式(7)代入式(6),得ST-EKF下的側向和法向速度誤差為
(13)

(14)
(15)
圖1所示為隧道內的路標示意,路標形狀為矩形,并可以反射火車頂部的燈光,因此可以從形狀和像素強度2個方面來檢測路標,檢測的效率和魯棒性要優于對路標編號的識別。設計的算法主要包括二值化、區域標記和模板匹配等流程,實驗表明該算法具有較高的計算效率和魯棒性。

圖1 原始圖像(左)與局部放大圖像(右)中的路標Fig.1 Landmarks in original image (left) and partially enlarged image (right)
根據路標檢測結果,可以計算相機相對路標的距離。設路標在圖像中的坐標為zl,在相機坐標系中的位置表示為
(16)
根據相機投影方程為
(17)

(18)
(19)
問題來了,這也是你一生中猝不及防的一跤,你受不了他人的哄笑,但你真的想要同情嗎?前者是善意的:你本不該如此,你應該有更好的未來,只因為愚蠢與莽撞,做了可笑的事;后者是更大的善意:你已經盡力了,你不能走得更遠,此地就是你的極限。你失敗了,因為你不是成功的料,我們原諒你接受你——你真覺得,后面的對待,是你想要的?
需要注意的是,一個路標會被連續觀測數幀,可以利用這幾幀的觀測對路標的位置進行優化[13];并且如果hl未知,也可以在優化中對其進行估計,之后選取一幀用于距離約束即可,此處不再贅述。
設列車在2個路標間行進時,INS解算N次,解算周期為T,跨距約束可表示為
(20)

(21)

δZsc=δs=HscδX+υs
(22)
(23)
根據1.2節中的描述,ST-EKF可通過使用較低的時間更新方程計算頻率,提高計算效率,有利于高速運動下的組合導航。實際使用中,時間更新方程與測量修正方程采用相同的計算頻率。
當列車在隧道外時,GNSS速度和位置以及運動約束為慣性導航提供觀測,使用卡爾曼濾波可以估算安裝角。設GNSS速度和位置的誤差觀測量為δZg,觀測方程為
(24)
其中,υgv和υgp是GNSS速度和位置的觀測白噪聲,Hg是觀測矩陣,這里直接寫出它的具體形式為[10]
(25)
GNSS與運動約束同步進行測量更新,誤差觀測量與觀測矩陣分別為
(26)
進入隧道后,運動約束周期保持不變繼續進行,誤差觀測量和觀測矩陣分別為
δZin/mc=δZmc,Hin/mc=Hmc
(27)
在路標可見時進行跨距約束,誤差觀測量和觀測矩陣分別為
δZin/sc=δZsc,Hin/sc=Hsc
(28)
運動約束與跨距約束在時間上不同步,可以使用序貫濾波的方法對它們進行組合。
由于隧道內無GNSS信號作為位置基準,為了檢驗算法的有效性和導航精度,設計了一組基于真實實驗數據的仿真實驗。其中IMU和GNSS數據來自隧道外高速列車行駛實驗,圖像數據來自隧道內列車行駛實驗,列車行駛速度約為350km/h,軌跡如圖2所示,設置仿真場景如下。

圖2 高速列車行駛軌跡Fig.2 High-speed train trajectory
首先使用RTS(Rauch-Tung-Striebel)平滑算法計算IMU與GNSS的組合導航結果,作為仿真實驗的定位真值,模擬120s的隧道內行駛,這段時間內列車行駛距離約為11490m,也即模擬隧道長11490m。路標跨距為50m,設置第1個路標距離入隧道口10m,然后根據路標跨距設置路標,最終隧道內共有231個路標。之后,根據相機與IMU的時間同步,在每個路標的位置插入4幀包含路標的連續圖像,其他位置插入不包含路標的圖像。

由于列車高速行駛,傳感器時間不對準將會對導航造成較大影響,因此IMU、GNSS與相機采用硬件同步。其中GNSS輸出秒脈沖信號,經同步控制器分頻后產生所需頻率的觸發脈沖信號,觸發沿按周期對齊。
GNSS和運動約束估計的IMU安裝角如圖3所示。在列車靜止階段,角度不發生變化;在起步加速階段,安裝角開始變化并逐漸收斂;勻速階段基本保持不變。另外方位安裝角比俯仰安裝角的收斂速度慢,這與列車缺少轉向機動,慣性導航方位角收斂較慢有關[15]。

圖3 IMU安裝角Fig.3 IMU installation angle
820~940s斷開GNSS,對比純慣導(Pure INS)、運動約束的慣導(Motion Constrained INS, MC-INS)以及跨距和運動約束的慣導(Catenary Span and Motion Constrainted INS, CSMC-INS),圖4和圖5所示為三種算法在無GNSS時的北向和東向位置誤差,表1列出了最大位置誤差的值。

圖4 北向位置誤差Fig.4 Northward position error

圖5 東向位置誤差Fig.5 Eastward position error
表1 不同算法的最大位置誤差
Tab.1 Maximum position error of different algorithms

導航算法Pure INSMC-INSCSMC-INS北向最大位置誤差/m187.624.324.5東向最大位置誤差/m313.334.12.4
從圖4、圖5和表1中可以看出,運動約束明顯減小了北向和東向的位置誤差。由于列車近似東西向行駛,北向位置誤差的減小是易于理解的,而東向位置的減小是由于運動約束使前向速度的誤差增長更慢[7]。在運動約束的基礎上添加跨距約束后,北向位置誤差基本不變,而東向位置誤差進一步減小,定位精度得到提高。
為了檢驗CSMC-INS對位置誤差的校正,畫出位置誤差的發散情況,如圖6所示,這里為了使效果更加明顯,設置了每2個路標有1個路標不被識別,也就是每100m提供一次觀測。純慣導的位置誤差在5s內發散14m,平均發散2.8m/s。使用CSMC-INS后,當列車在2個路標之間時,誤差發散0.48m,平均發散0.48m/s,這說明經過約束后的導航參數估計值更為準確。在經過測量更新后發散誤差減小至0.07m,說明CSMC-INS可以有效抑制誤差發散,但同時仍然會存在誤差累計。

圖6 水平位置誤差發散情況Fig.6 Horizontal position error divergence
根據以上實驗結果的分析,可以確定本文提出的CSMC-INS算法在GNSS缺失時,可以有效抑制INS誤差的發散,提高列車在隧道內的定位精度。
本文針對高速列車通過隧道的場景,基于對隧道內路標的識別,提出了一種跨距和運動約束的慣性導航方法。該算法分析與實驗結果表明,跨距和運動約束可以抑制慣性導航誤差的發散,顯著提高了列車在隧道內的導航定位精度,在通過11.5km的隧道后,水平定位誤差約為25m,定位精度優于3‰行程,具有實際應用價值。
附錄

(29)