郭彥宏,鄭杰良
(西南交通大學 信息科學與技術學院,成都 611756)
近年來,得益于城市軌道交通的大容量運輸、快捷安全和節能高效等優點,城市軌道交通是當今及今后一段時間內我國大城市客運交通發展重點[1]。為了適應城市軌道交通的迅速發展,以列車自動駕駛子系統(ATO)為例,目前,學者已經對城市軌道列車自動駕駛做了大量的仿真研究,期望通過仿真的途徑獲得列車的最優控制方法,使得列車能夠兼顧準時性、節能、舒適度和停車精確性得到最優行車策略并以最優行車策略實現自動駕駛。
本文利用微軟模擬列車(MSTS,Microsoft Train Simulation)作為地鐵運行視景系統底層模型資源平臺,將開源項目(OR,Open Rails)作為視景系統的仿真環境,成功將地鐵運行視景系統和ATO仿真模塊進行接口,利用視景系統和地鐵運營現實場景的高度相似,期望將來對地鐵列車運行控制系統的研究可以擴展到三維視景平臺,使得相關研究或者教學更加直觀。
視景系統中包含對場景模型的加載、讀取、顯示和操作等。視景系統由底層模型文件、模型數據配置文件和上層OR代碼組成。
地鐵運行視景系統的場景模型需要利用MSTS平臺的基礎模型和貼圖,對地鐵視景模型進行建模,視景環境效果–地面視景,如圖1;隧道視景,如圖2所示。
由于MSTS平臺自帶的動畫引擎不足以滿足場景模型顯示的流暢度和高逼真度要求,在OR中運用了XNA技術,利用XNA技術的基本框架實現了對MSTS底層模型的加載、讀取、顯示和操作等, XNA提供了一個基本的程序框架,是一個動作函數庫,可以降低編程的成本,縮短開發周期。

圖1 地面視景

圖2 隧道視景
如圖3所示,XNA程序中,Initial()方法完成系統的主要初始化工作后,LoadContent()方法實現了對底層模型的加載和讀取,并保證每一種底層模型只讀取一次。視景的顯示類似于現實中攝像機拍攝,如圖4所示,由攝像機Camera類的對象確認“拍攝”的位置和方向,再結合兩個矩陣對象(Matric)就可以確定“拍攝”的將要被程序繪制并在顯示器上顯示的最遠和最近視景范圍[2],每一個周期Update()方法都會被調用進行視景刷新,若程序未結束則通過Draw()方法繪制已經被確定的視景范圍內的所有視景模型。通過鍵盤按壓事件和鼠標點擊事件可以改變Camera類的對象和兩個矩陣對象的相關屬性,類似于重繪,利用每個周期對Update()方法的調用可以繪制改變的視景范圍。

圖4 攝像機視野
視景系統中可以通過鍵盤按壓事件對地鐵列車的駕駛進行相關操作,鼠標點擊事件則可以結合鍵盤按壓事件實現不同視角對有列車運行的視景系統進行跟蹤觀察。以對列車運行的相關控制為例,包含受電弓的升降、換向器的動作、牽引/制動手柄的操作、緊急制動按鈕的按壓、緩解和車門的開關等。在OR中,通過HandleUserInput(ElapsedTime elapsedTime)方法實現視景系統對不同鍵盤按鍵事件的區分,然后根據鍵值對UserInputCommands實現相關動作命令。其中,UserCommands表示控制命令,Action[]是XNA架構中的模型動作函數數組。
ATO仿真模塊用于后臺控制列車站間自動駕駛,可以根據站間列車運行實際情況生成ATO目標速度和列車運行速度曲線。針對列車站間運行自動駕駛的過程,文獻[3]針對ATO控制提出了一種定時算法用來計算ATO目標速度以保證列車準點運行,并以此為基礎設計了節能算法,但是在算法中并沒有考慮站間線路數據的情況,可能導致站間運行時間誤差累積過大。本文以文獻[3]提出的算法為基礎,添加了線路數據庫,包含各個軌道區段的長度、坡度和曲線等信息,ATO模塊根據指定的站間運行時間和線路數據庫模擬并計算得到ATO目標速度,確保列車站間運行時間在誤差范圍之內,優化了定時算法,使得列車在準時運行的條件下實現節能駕駛。
結合文獻[3]和文獻[4]提出的包含局部優化和全局優化的節能算法,在靠近目標速度VT的右區間依次設置目標速度上限V1和V2,在靠近目標速度VT的左區間依次設置目標速度下限M1和M2。
ATO仿真模塊以目標速度實時跟蹤視景系統列車客戶端運行,在定時條件約束下,為了實現列車客戶端的節能運行,應該使列車客戶端盡快加速,使速度達到或者超過目標速度較小的上限值V1再保持惰性工況,坡度和曲線會導致列車客戶端速度發生較大變化,若列車客戶端的速度減少到列車運行速度下限M1時,列車客戶端應盡快加速;若速度高于列車運行速度上限V2時應利用制動工況使速度減速到目標速度下限較大值M1,再保持惰行工況,若列車客戶端速度減少到目標速度下限較小值M2,則應該盡快加速,列車站間駕駛策略以此循環,如圖5所示。如此可以知道列車在站間運行曲線軌跡應滿足“盡快加速”–“惰行”–“進站一次制動”。

圖5 站間駕駛策略
本文將視景系統和ATO仿真模塊進行接口,利用視景系統不僅可以實時、直觀地展示ATO的控制效果,還具有豐富的可擴展性,若要對不同的線路進行相關測試或者研究,只需要在虛擬環境中按照實際線路的數據重新“鋪設”線路并重新配置線路數據庫即可。
在將視景系統和ATO仿真模塊進行接口之前,需要配置列車運行線路的線路數據庫文件。因為在視景系統中的軌道區別于現實線路的軌道,并沒有嚴格意義上的軌道區段的劃分,因此,需要在線路數據庫中對視景系統中的軌道區段進行位置劃分,并存儲全線的位置坐標信息,Update()方法通過列車所處坐標位置即可知道列車在線路中所處的實際軌道位置信息,ATO模塊可以根據此刻列車客戶端所處的軌道位置信息在線路數據庫中獲取到該軌道區段及該軌道區段至下個停靠車站之間的軌道區段信息,包括軌道區段的長度、坡度和曲線等信息。
要實現ATO仿真模塊對視景系統的底層地鐵列車模型的操作,需要在兩者之間建立數據通信,視景系統根據通信協議使地鐵列車按照ATO模塊的行車策略行駛。在視景系統和ATO仿真模塊之間采用TCP/IP網絡傳輸協議,在OR中使用C#編程來實現兩者的數據通信。實例類MSTSLocomotive的對象代表一個列車客戶端,設置相應字段來保存其相關信息,包括車次號、運行速度、牽引/制動等級、位置信息、運行方向和車門狀態等,ATO模塊則實時接收來自視景系統的列車客戶端的運行信息并根據自身控制算法為列車匹配最佳行車策略,對列車的牽引/制動等級進行調整。
視景系統通過數據通信得到ATO模塊發送過來的命令字符串后,由系統的Update()方法周期性對命令字符串進行檢測并觸發相應動作需要執行的方法,以牽引等級的增加為例:
case ”CTI”://命令字符串的值
UserInputCommands[UserCommands.Contol-ThrottleIncrease][1]();//增加牽引等級
Break;
視景系統和ATO仿真模塊之間的數據交互,如圖6所示。
ATO模塊對視景系統列車客戶端的速度控制是一種閉環跟蹤的控制。在線路數據庫配置完畢并且實現了視景系統和ATO模塊之間的數據通信后,就可以根據ATO模塊內部的控制算法以最佳駕駛策略對列車客戶端的運行進行跟蹤控制,具體控制流程,如圖7所示。

圖6 數據交互

圖7 視景系統和ATO模塊的結合
在測試過程中,需要的硬件為2臺PC機,軟件包括MSTS平臺,VS 2013及運行框架.Net Framework 3.5, PC機的操作系統為Windows操作系統。將一臺PC機作為視景系統地鐵列車客戶端,另一臺PC機作為ATO仿真系統。測試結果表明:視景系統和ATO仿真模塊成功接口,兩者之間能夠進行實時的數據交互,ATO模塊能夠根據視景系統地鐵列車客戶端實時運行情況計算出最佳駕駛策略并以此控制地鐵列車客戶端在站間的自動駕駛,可以看到在目標速度的跟蹤之下(綠色線條)其V–S速度距離曲線走向符合“盡快加速”–“惰行”–“進站一次制動”的原則,如圖8所示。

圖8 V-S曲線
本文對ATO內部的控制算法只進行了簡單闡述,重點是將視景系統和ATO仿真模塊進行接口,并利用ATO仿真模塊內部的控制算法對視景系統地鐵列車客戶端的站間自動駕駛進行跟蹤控制,為后期對ATO仿真模塊的進一步開發提供了現實可能。在后續的相關研究中會對系統列車自動駕駛過程的各個階段進一步地完善[5]。
地鐵列車的運行是一個復雜的過程,將一些復雜的制約因素用模型庫的方式來解決是一個較好的方法[6-7]。本文的研究是將這些模型庫整合到虛擬地鐵列車和虛擬線路數據庫上進行的,具有一定的現實意義,具體包括:
(1)視景系統和ATO模塊的成功接口證明其他列控子系統與視景系統的接口完全可行;
(2)目前,國內外已經將列車運行視景仿真平臺用于相關教學或者培訓當中。未來可優化ATO模塊,并將整個列控系統和視景系統進行接口,直觀演示列控系統的控制過程,可以有效節約成本;
(3)對于某些即將建設或者還未建成的線路,可以通過視景系統對其進行虛擬場景實現,模擬列車運行,搜集相關數據資料作為參考或評估。
[1]楊永平,邊顏東,周曉勤,等.我國城市軌道交通存在的主要問題及發展對策[J].城市軌道交通研究,2013(10):1-6.
[2] Aaron Reed. Learning XNA4.0[M]. O'Reilly Media,2010.
[3]劉海東,毛保華,丁 勇,等.列車自動駕駛仿真系統算法及其實施研究[J].系統仿真學報,2005,17(3):577-580.
[4]丁 勇,毛保華,劉海東,等.定時約束條件下列車節能操縱的仿真算法研究[J]. 系統仿真學報,2004,16(10):2241-2244.
[5]徐 杰,郜洪民,孟 軍.城市軌道交通列車自動駕駛各階段速度控制算法的研究[J].鐵路計算機應用,2012,21(11):50-53.
[6]盧衍丹,唐 濤.基于模型庫的列車自動駕駛仿真系統設計[J].鐵道學報,2001,23(6):50-54.
[7]丁國富,張衛華,劉伯興,等.列車運行動態仿真研究[J].系統仿真學報,2004,16(8):1697-1700.