張亞忠
國(guó)內(nèi)外對(duì)于衛(wèi)星導(dǎo)航的仿真主要集中在射頻信號(hào)的處理上,對(duì)于軌跡仿真的研究也基本集中在航空領(lǐng)域。北京交通大學(xué)是國(guó)內(nèi)最早將衛(wèi)星導(dǎo)航系統(tǒng)運(yùn)用在列車運(yùn)行軌跡仿真的單位,其仿真方法主要有2種:一種是采用國(guó)外的衛(wèi)星信號(hào)發(fā)生器和simGEN軟件,將現(xiàn)場(chǎng)采集的鐵路NMEA數(shù)據(jù)導(dǎo)入,生成列車運(yùn)行的衛(wèi)星射頻信號(hào)[1],這種方法能從信號(hào)端進(jìn)行模擬,更為真實(shí),但設(shè)備昂貴、成本較高;另一種方法是使用軟件模擬,軟件中直接將現(xiàn)場(chǎng)采集的列車運(yùn)行衛(wèi)星軌跡數(shù)據(jù)作為基礎(chǔ)數(shù)據(jù)庫(kù),通過(guò)讀取數(shù)據(jù)或者是將鄰近2點(diǎn)看成直線生成導(dǎo)航數(shù)據(jù)[2],這種方法成本較低,但是弊端也很明顯,需要的數(shù)據(jù)量較大[3],且只能模擬列車勻速運(yùn)行的情況。
由于青藏鐵路ITCS系統(tǒng)采用了衛(wèi)星導(dǎo)航系統(tǒng)作為定位方式,為了便于研發(fā),需要在實(shí)驗(yàn)室環(huán)境下搭建低成本模擬衛(wèi)星導(dǎo)航的列車運(yùn)行軌跡仿真平臺(tái)。
列車運(yùn)行軌跡仿真平臺(tái)包括列車接口仿真子系統(tǒng)、軌旁仿真子系統(tǒng)和GNSS仿真模擬器[4],其總體架構(gòu)見(jiàn)圖1。
圖1中,列車接口仿真子系統(tǒng)提供機(jī)車接口和司機(jī)操作模擬功能,測(cè)試人員可以通過(guò)列車接口仿真子系統(tǒng)添加列車,并對(duì)仿真列車進(jìn)行手柄控制、加減速、機(jī)車風(fēng)壓設(shè)置等操作。列車接口仿真子系統(tǒng)通過(guò)網(wǎng)口將列車初始位置及列車狀態(tài)信息發(fā)送給軌旁仿真子系統(tǒng),同時(shí)通過(guò)前臺(tái)界面顯示仿真列車的速度、加速度以及與車載設(shè)備交互的機(jī)車接口等信息。
圖1 列車運(yùn)行軌跡仿真平臺(tái)總體架構(gòu)
軌旁仿真子系統(tǒng)根據(jù)列車初始位置及列車狀態(tài)信息,結(jié)合本地線路地圖實(shí)時(shí)計(jì)算列車運(yùn)行狀態(tài)信息,并將該信息通過(guò)網(wǎng)口發(fā)送給GNSS仿真模擬器,同時(shí)在其前臺(tái)界面上的站場(chǎng)圖中進(jìn)行顯示。
GNSS仿真模擬器根據(jù)列車運(yùn)行狀態(tài)信息匹配軌道電子地圖,計(jì)算生成列車衛(wèi)星軌跡數(shù)據(jù)[5],列車運(yùn)行軌跡表現(xiàn)形式為衛(wèi)星數(shù)據(jù)格式,可發(fā)送給車載設(shè)備進(jìn)行列車自主定位計(jì)算;GNSS仿真模擬器用戶交互界面顯示列車所處車站及經(jīng)緯度等列車數(shù)據(jù),并可進(jìn)行故障注入。
列車運(yùn)行軌跡仿真平臺(tái)工作流程見(jiàn)圖2,其說(shuō)明如下。
圖2 列車運(yùn)行軌跡仿真工作流程
1)列車運(yùn)行軌跡仿真平臺(tái)上電后,在列車接口仿真子系統(tǒng)中添加列車,并根據(jù)實(shí)際情況輸入列車的初始狀態(tài),如列車所在站號(hào)、股道號(hào)、列車相對(duì)軌道一端的位置、列車長(zhǎng)度、列車類型和列車即將運(yùn)行的方向(上、下行)等。
2)軌旁仿真子系統(tǒng)接收列車接口仿真子系統(tǒng)傳輸?shù)臄?shù)據(jù),在站場(chǎng)界面上顯示列車圖標(biāo),并將列車初始狀態(tài)信息發(fā)送給GNSS仿真模擬器。
3)GNSS仿真模擬器根據(jù)接收到的軌旁仿真子系統(tǒng)數(shù)據(jù),生成衛(wèi)星導(dǎo)航數(shù)據(jù),并在GNSS仿真模擬器上顯示初始經(jīng)緯度和航向角。
4)GNSS仿真模擬器將初始經(jīng)緯度和航向角按照約定的數(shù)據(jù)協(xié)議組成數(shù)據(jù)包,以一定頻率發(fā)送給車載設(shè)備。
5)在軌旁仿真子系統(tǒng)的站場(chǎng)圖界面中預(yù)設(shè)列車運(yùn)行軌跡,并將道岔設(shè)置在合適位置,從而排列好列車的進(jìn)路信息,列車啟動(dòng)后將沿著線路軌跡運(yùn)行。
6)在列車接口仿真子系統(tǒng)上操作方向手柄向前、緩解獨(dú)立制動(dòng)、設(shè)置列車目標(biāo)速度,以及操作牽引手柄擋位。列車接口仿真子系統(tǒng)顯示列車速度逐漸增加,直到目標(biāo)速度后保持不變。
7)軌旁仿真子系統(tǒng)依據(jù)列車的初始狀態(tài)和列車接口仿真子系統(tǒng)傳輸?shù)牧熊囁俣?,并結(jié)合本地線路數(shù)據(jù)實(shí)時(shí)遞推列車新的位置信息(站號(hào)、股道號(hào)、距離軌道一端距離等)。軌旁仿真子系統(tǒng)站場(chǎng)圖界面顯示動(dòng)態(tài)運(yùn)行的列車圖標(biāo)。
8)在仿真過(guò)程中,可根據(jù)實(shí)際情況在GNSS模擬器中使用故障注入功能。如果需要模擬故障注入功能直接轉(zhuǎn)到11),否則轉(zhuǎn)到9)。
9)軌旁仿真子系統(tǒng)將列車動(dòng)態(tài)運(yùn)行數(shù)據(jù)發(fā)送至GNSS仿真模擬器。GNSS仿真模擬器依據(jù)列車當(dāng)前位置信息找到軌道電子地圖中對(duì)應(yīng)數(shù)據(jù)區(qū)域,計(jì)算列車公里標(biāo),并且判斷列車處于站內(nèi)還是站外,是直線區(qū)段還是曲線區(qū)段;接著找到軌道電子地圖中與列車相鄰2個(gè)數(shù)據(jù)點(diǎn)的定位信息(經(jīng)緯度和航向角),依據(jù)相關(guān)公式計(jì)算列車當(dāng)前的定位信息,并在GNSS仿真模擬器上顯示動(dòng)態(tài)變化的經(jīng)緯度和航向角。
10)GNSS仿真模擬器將上述計(jì)算的列車動(dòng)態(tài)的經(jīng)緯度和航向角,依據(jù)約定的數(shù)據(jù)協(xié)議組成數(shù)據(jù)包,按照一定頻率(可配置,默認(rèn)值為5 Hz)發(fā)送給車載設(shè)備。
11)操作者在GNSS仿真模擬器故障注入界面選擇發(fā)送錯(cuò)誤數(shù)據(jù)或者帶有偏移的數(shù)據(jù),GNSS仿真模擬器計(jì)算列車運(yùn)行軌跡衛(wèi)星數(shù)據(jù)時(shí)會(huì)將錯(cuò)誤或偏移數(shù)據(jù)注入到生成結(jié)果中,并將該數(shù)據(jù)發(fā)送給車載設(shè)備。
列車接口仿真子系統(tǒng)軟件運(yùn)行在樹(shù)莓派板卡的Linux系統(tǒng)中,采用BS架構(gòu),后臺(tái)服務(wù)使用NodeJS開(kāi) 發(fā),前 臺(tái) 網(wǎng) 頁(yè) 使 用HTML結(jié) 合Javascript設(shè)計(jì),前、后臺(tái)間使用MQTT協(xié)議進(jìn)行仿真數(shù)據(jù)同步。測(cè)試人員在前臺(tái)通過(guò)按鈕、手柄、輸入框等控件添加列車并模擬機(jī)車乘務(wù)員的真實(shí)操作。網(wǎng)頁(yè)界面可通過(guò)表盤和曲線方式顯示后臺(tái)輸出的列車狀態(tài)信息(各速度傳感器轉(zhuǎn)速、列車速度、加速度、相對(duì)位移等)。后臺(tái)服務(wù)接收前臺(tái)信息,根據(jù)列車的牽引、制動(dòng)狀態(tài)完成列車加速度、速度和相對(duì)位移的實(shí)時(shí)計(jì)算,并將列車初始位置及列車狀態(tài)信息根據(jù)UDP協(xié)議發(fā)送給軌旁仿真子系統(tǒng)。
軌旁仿真子系統(tǒng)軟件環(huán)境為L(zhǎng)inux系統(tǒng),采用C++語(yǔ)言進(jìn)行開(kāi)發(fā),通過(guò)讀取配置文件,生成仿真線路中軌道區(qū)段、信號(hào)機(jī)、道岔等設(shè)備的拓?fù)滏溄雨P(guān)系,根據(jù)仿真列車的初始位置及列車狀態(tài)信息實(shí)時(shí)計(jì)算相關(guān)區(qū)段的列車占用狀態(tài),生成每輛列車當(dāng)前的運(yùn)行狀態(tài)信息(列車當(dāng)前的運(yùn)行方向、所處車站站號(hào)、股道號(hào)、所處軌道區(qū)段編號(hào)及相對(duì)于軌道區(qū)段起點(diǎn)的偏移等),并根據(jù)UDP協(xié)議發(fā)送給GNSS仿真模擬器。
軌旁仿真子系統(tǒng)采用網(wǎng)頁(yè)形式在站場(chǎng)圖中顯示列車運(yùn)行過(guò)程中的位置信息。站場(chǎng)圖通過(guò)HTML網(wǎng)頁(yè)進(jìn)行訪問(wèn)展示,運(yùn)用SVG矢量圖完成軌道區(qū)段、信號(hào)機(jī)等信號(hào)設(shè)備圖元繪制,采用CSS層疊樣式表對(duì)圖像樣式進(jìn)行定義[6]。列車占用區(qū)段后,該區(qū)段顯示變?yōu)榧t色,并通過(guò)移動(dòng)黃色光帶顯示列車車頭、車尾位置信息,通過(guò)黃色光帶占所在區(qū)段比例顯示列車長(zhǎng)度信息。通過(guò)點(diǎn)擊操作站場(chǎng)圖上的區(qū)段、道岔等設(shè)備圖元,用戶可以進(jìn)行運(yùn)行軌跡的規(guī)劃,設(shè)置列車的進(jìn)路信息等。
圖3是軌旁仿真子系統(tǒng)界面圖,顯示列車在站場(chǎng)圖中軌道區(qū)段的占用、列車所在軌道區(qū)段的具體位置以及列車運(yùn)行方向等列車運(yùn)行狀態(tài)信息。
圖3 軌旁仿真子系統(tǒng)界面
GNSS仿真模擬器軟件環(huán)境為Windows系統(tǒng),采用C++語(yǔ)言進(jìn)行開(kāi)發(fā),收到列車運(yùn)行狀態(tài)信息后,將列車相對(duì)于軌道區(qū)段起點(diǎn)的位置轉(zhuǎn)換成軌道電子地圖中的線路里程,然后在軌道電子地圖[7]中找到與當(dāng)前列車位置最近的相鄰2個(gè)點(diǎn)的定位數(shù)據(jù),依據(jù)直線軌道或曲線軌道的求解公式計(jì)算出列車運(yùn)行軌跡衛(wèi)星數(shù)據(jù)。GNSS仿真模擬器采用RS-422串口將計(jì)算出的列車運(yùn)行軌跡衛(wèi)星數(shù)據(jù)發(fā)送給車載設(shè)備,車載設(shè)備根據(jù)該信息進(jìn)行列車定位及相關(guān)控制計(jì)算。
GNSS仿真模擬器計(jì)算列車運(yùn)行軌跡衛(wèi)星數(shù)據(jù)場(chǎng)景如圖4所示,A、B、D 3點(diǎn)依次連接,分別形成了直線軌道和曲線軌道;C和C1是列車分別運(yùn)行在直線軌道和曲線軌道時(shí)的質(zhì)點(diǎn)模型[8]。
圖4 列車運(yùn)行軌道場(chǎng)景
GNSS仿真模擬器提供了Windows窗口用戶界面,可以顯示列車經(jīng)緯度、數(shù)據(jù)交互等信息,見(jiàn)圖5。
圖5 GNSS仿真模擬器顯示界面
GNSS仿真模擬器能夠模擬多種故障場(chǎng)景:①隧道或遮擋場(chǎng)景,列車在隧道中運(yùn)行時(shí),衛(wèi)星接收機(jī)不會(huì)輸出經(jīng)緯度數(shù)據(jù),通過(guò)人工勾選的方式可以中斷數(shù)據(jù)輸出,模擬衛(wèi)星丟失;②山川河谷地區(qū),其主要特點(diǎn)是搜星過(guò)少,通過(guò)注入衛(wèi)星個(gè)數(shù)減少衛(wèi)星信息,以檢測(cè)車載對(duì)該種場(chǎng)景的反應(yīng);③衛(wèi)星狀態(tài)仿真,目前衛(wèi)星導(dǎo)航仿真支持的狀態(tài)有單點(diǎn)定位和差分定位2種模式,在發(fā)車測(cè)試過(guò)程中由于車載設(shè)備未與地面差分站建立鏈接,此時(shí)車載處于單點(diǎn)模式狀態(tài),在正常運(yùn)行過(guò)程中一般選擇差分定位模式;④數(shù)據(jù)異常仿真,數(shù)據(jù)異常仿真主要有經(jīng)緯度數(shù)據(jù)異常,例如仿真的列車有速度,但經(jīng)緯度值一直不變,時(shí)間戳跳變,航向角突然增大或變小等。
用戶可通過(guò)勾選圖5中的故障選項(xiàng),如硬件故障及解算故障;或者強(qiáng)制輸入特定的誤差因子,如輸入股道位置偏差,完成多種故障的注入。
列車運(yùn)行軌跡仿真平臺(tái)各子系統(tǒng)均進(jìn)行日志記錄,內(nèi)容包括子系統(tǒng)之間的數(shù)據(jù)交互內(nèi)容、系統(tǒng)計(jì)算過(guò)程中的中間量和軟件自身的故障報(bào)警等。日志記錄功能可離線分析仿真平臺(tái)和車載問(wèn)題,提高了車載的測(cè)試效率。
基于衛(wèi)星導(dǎo)航的列車運(yùn)行軌跡仿真平臺(tái)在設(shè)計(jì)中按照不同的功能點(diǎn)進(jìn)行模塊化設(shè)計(jì)[9],具有以下特點(diǎn)。
1)將列車運(yùn)行狀態(tài)與衛(wèi)星導(dǎo)航仿真功能相隔離,可針對(duì)列車的實(shí)際運(yùn)行狀態(tài)進(jìn)行模擬仿真。
2)仿真系統(tǒng)的可擴(kuò)展性好,通過(guò)在軌旁仿真子系統(tǒng)中增加相應(yīng)的IP,可增加GNSS仿真模擬器個(gè)數(shù),實(shí)現(xiàn)仿真系統(tǒng)數(shù)量的增加,用于模擬雙套冗余或者多車場(chǎng)景。
3)利用軌道電子地圖將列車運(yùn)行軌跡約束在特定的線路[10],與列車的真實(shí)運(yùn)行軌跡一致。
4)針對(duì)不同的線路情況,采用不同的算法(例如直線軌道采用垂直投影的方法,曲線軌道采用求取圓上坐標(biāo)的方法),使得仿真與實(shí)際情況更接近。利用起始/終止點(diǎn)表示直線軌道的多個(gè)采樣點(diǎn),增加航向角增量及起始/終止點(diǎn)表示曲線軌道的采樣點(diǎn),從而減少電子地圖的數(shù)據(jù)量,節(jié)省了仿真系統(tǒng)的存儲(chǔ)空間。
5)具有多故障注入功能,可覆蓋實(shí)際運(yùn)行場(chǎng)景中衛(wèi)星導(dǎo)航出現(xiàn)的故障場(chǎng)景。
基于衛(wèi)星導(dǎo)航的列車運(yùn)行軌跡仿真平臺(tái)不僅能夠支撐國(guó)產(chǎn)化ITCS車載設(shè)備的順利研發(fā),也可為其他基于衛(wèi)星導(dǎo)航的列控系統(tǒng)(如下一代列控系統(tǒng))仿真平臺(tái)提供技術(shù)基礎(chǔ)。但列車運(yùn)行軌跡仿真平臺(tái)對(duì)于衛(wèi)星數(shù)據(jù)的計(jì)算仿真依賴于提前制作的軌道電子地圖,鑒于行業(yè)暫未對(duì)軌道電子地圖形成統(tǒng)一的標(biāo)準(zhǔn),因此仿真平臺(tái)的擴(kuò)展性還有待提高,下一步可基于我國(guó)自主產(chǎn)權(quán)的新型列控系統(tǒng)的電子地圖進(jìn)行仿真平臺(tái)的升級(jí)完善。