黃 旺,劉布麒,劉夢琪,彭輝水
(中車株洲電力機車研究所有限公司,湖南 株洲 412001)
隨著列車速度規(guī)劃曲線神經(jīng)網(wǎng)絡(luò)算法[1-2]、節(jié)能優(yōu)化操縱算法及基于增量特征學(xué)習(xí)的深度學(xué)習(xí)算法[3-5]等技術(shù)的不斷涌現(xiàn),鐵路行業(yè)機車智能駕駛技術(shù)的理論研究在不斷深入,應(yīng)用范圍也日趨廣泛。在西康、神朔等線路,裝載智能駕駛技術(shù)的列車均已上線考核運營;太原、廣州等機務(wù)段組織完成了智能駕駛列車上線試驗,越來越多的線路將規(guī)劃應(yīng)用機車智能駕駛技術(shù)[6-9]。目前,國內(nèi)外機車智能駕駛測試普遍采用基于硬件在環(huán)(hardware in loop,HIL)的仿真方法[10],不僅針對不同的線路需要搭建不同的硬件平臺,測試時長近似于現(xiàn)場應(yīng)用時長,而且測試全程都需要軟件測試人員實時記錄測試數(shù)據(jù)、處理突發(fā)故障等,測試成本高但效率低下,造成人力資源的浪費[10]。對此,本文提出一種機車智能駕駛純數(shù)字仿真平臺,其利用Visual C++語言實現(xiàn)軟件測試并在西康線自動駕駛項目上進(jìn)行了模擬,取得了預(yù)期的效果。
機車智能駕駛系統(tǒng)(圖1)主要由自動駕駛裝置(automatic train operation, ATO)和人機交互單元(driver machine interface, DMI)組成,接收來自車載控制系統(tǒng)中央控制單元(central control unit, CCU)和制動控制單元(brake control unit, BCU)、列車運行監(jiān)控裝置(LKJ)及機車電臺(cab integrated radio communication equipment, CIR)的數(shù)據(jù)[6]。
圖1 機車智能駕駛系統(tǒng)結(jié)構(gòu)Fig. 1 Structure of locomotive intelligent driving system
智能駕駛控制軟件是ATO 的核心部分,主要通過邏輯計算實現(xiàn)對機車自動駕駛模式、場景和安全導(dǎo)向的管理以及對線路條件、機車特性和列車編組參數(shù)的感知;利用基于線路預(yù)測及多目標(biāo)控制動態(tài)優(yōu)化的控制策略,生成列車自動駕駛目標(biāo)曲線,并采用跟隨控制算法使列車按照目標(biāo)曲線運行,從而達(dá)到機車智能駕駛目的[6]。
機車智能駕駛系統(tǒng)仿真系統(tǒng)測試對象是ATO 裝置軟件?,F(xiàn)有測試方案采用由實物ATO 機箱、實物DMI、實物L(fēng)KJ 裝置、實物CCU 裝置和軟件仿真列車模型構(gòu)成的半實物仿真測試平臺[10],單套測試設(shè)備硬件成本高,系統(tǒng)適配性差(一套半實物仿真平臺只適合一種特定車型和特定運營路線)、測試執(zhí)行效率低(不具備測試加速功能,全程需要專職測試人員記錄測試過程)。鑒于此,本文提出一種純數(shù)字仿真測試系統(tǒng)方案,其用軟件模擬ATO、DMI、LKJ 裝置及CCU 裝置等硬件設(shè)備。該仿真測試系統(tǒng)主要包括4 個部分:用戶操作界面(模擬DMI)、接口模塊、功能模塊、波形監(jiān)視及保存模塊。用戶操作界面和接口模塊之間通過用戶數(shù)據(jù)報文協(xié)議(user data-gram protocol, UDP)進(jìn)行通信;接口模塊、功能模塊、波形監(jiān)視及保存模塊之間采用函數(shù)調(diào)用接口(application programming interface, API),其關(guān)聯(lián)關(guān)系如圖2 所示。
圖2 純數(shù)字仿真測試系統(tǒng)模塊間關(guān)聯(lián)關(guān)系Fig. 2 Relationship among modules in the full digital simulation test system
系統(tǒng)運行過程中各部分接口的調(diào)用關(guān)系如圖3 所示。DMI 接收接口模塊的數(shù)據(jù)輸入,負(fù)責(zé)界面展示并提供參數(shù)設(shè)置;系統(tǒng)邏輯控制模塊協(xié)調(diào)LKJ 模塊、控制算法和列車運行控制模塊并進(jìn)行數(shù)據(jù)實時交換。
圖3 數(shù)據(jù)流程Fig. 3 Data flow chart
用戶操作界面具有司機操縱臺和動態(tài)參數(shù)設(shè)置功能,其用一個操作界面取代了半實物仿真平臺的LKJ顯示屏幕和DMI,簡化了用戶操作過程。
2.1.1 司機操縱臺
司機操縱臺包含操作區(qū)域和顯示區(qū)域,其通過網(wǎng)絡(luò)將數(shù)據(jù)包發(fā)送給接口模塊,由接口模塊通知功能模塊以實現(xiàn)功能(圖4)。
圖4 司機操縱界面Fig. 4 Operational interface for driver
操作區(qū)域涉及功能包括:鑰匙開關(guān)(開、關(guān))、方向手柄(向前、中立、向后)、降弓/升弓、復(fù)位按鈕、駕駛模式、發(fā)車、臨時限速、點單、趕點、慢行、開車及人工緩解等。
顯示區(qū)域顯示內(nèi)容包括:列車管/制動缸/均衡缸風(fēng)壓、實時速度、當(dāng)前駕駛模式、速度、位置、限速、級位、當(dāng)前時間、限速曲線、規(guī)劃曲線、車輛實際速度曲線、線路(坡道、彎道)、線路上信號燈顏色、電制動力、牽引力、流量計、前方所到站名稱、預(yù)計到站時間、前方距離、累計運行時間、離開上一站的時間、區(qū)間運行時間、晚點運行時間、列車加速度和車鉤力。
2.1.2 動態(tài)參數(shù)設(shè)置
動態(tài)參數(shù)設(shè)置內(nèi)容包含車輛參數(shù)、LKJ 參數(shù)和車輛運行參數(shù),具體設(shè)置過程如圖5 所示。
圖5 參數(shù)設(shè)置Fig. 5 Parameter setting
接口模塊對外接收用戶操作界面的控制指令并轉(zhuǎn)發(fā)至系統(tǒng)邏輯控制模塊,同時從系統(tǒng)邏輯控制模塊獲取車輛規(guī)劃曲線和車輛實時運行狀態(tài)數(shù)據(jù)并轉(zhuǎn)發(fā)至用戶操作界面。交互內(nèi)容具體包括系統(tǒng)數(shù)據(jù)、控制算法與軟件數(shù)據(jù)、系統(tǒng)邏輯控制數(shù)據(jù),其過程通過UDP 實現(xiàn)(圖6)。
圖6 接口模塊Fig. 6 Interface module
功能模塊包含LKJ 功能模塊、控制算法模塊、系統(tǒng)邏輯控制模塊和列車運行控制模塊。
2.3.1 LKJ 功能模塊
LKJ 功能模塊用于模擬LKJ 的基本功能,包括根據(jù)前方線路及信號實時生成LKJ 防護(hù)曲線、設(shè)置臨時限速值和區(qū)間長度、模擬LKJ 安全導(dǎo)向控制。LKJ 模塊工作流程如圖7 所示。
圖7 LKJ 模塊工作流程Fig. 7 Work flow of LKJ module
2.3.2 控制算法模塊
控制算法模塊用于生成自動駕駛目標(biāo)曲線、曲線跟隨控制和安全防護(hù),其采用實際裝車控制算法,將軟件源代碼在Windows 平臺上編譯使用。
2.3.3 系統(tǒng)邏輯控制模塊
系統(tǒng)邏輯控制流程如圖8 所示,其模塊實現(xiàn)如下功能:
(1)靜態(tài)線路數(shù)據(jù)及信息的儲存、讀取,包括股道長度、過分相數(shù)據(jù)、貫通試驗點、站名/站點、特殊路段數(shù)據(jù)等;
(2)調(diào)度信息的存儲和讀取,包括區(qū)間運行時分、區(qū)間運行模式(趕點、慢行、正常)、支線號等;
(3)接受和處理LKJ 實時數(shù)據(jù)、線路數(shù)據(jù)和列車運行狀態(tài)數(shù)據(jù)等;
(4)列車系統(tǒng)故障安全導(dǎo)向控制,自動駕駛算法實現(xiàn)對異常退出自動駕駛模式、LKJ 常用制動/緊急制動、速度異常、壓縮機故障、信號突變及動力丟失的判斷。
圖8 系統(tǒng)邏輯控制流程Fig. 8 System logic control flow
2.3.4 列車運行控制模塊
列車運行控制模塊仿真車輛運行狀態(tài)。根據(jù)ATO控制算法,輸入駕駛模式、力、方向及工況等指令;并根據(jù)車輛動力學(xué)仿真模型計算車鉤力及車輛速度等參數(shù)。列車運行控制模塊工作流程如圖9 所示。
圖9 列車運行控制模塊工作流程Fig. 9 Work flow of train operational control module
波形監(jiān)視及保存功能,用于監(jiān)視控制算法的輸入數(shù)據(jù)和輸出結(jié)果,提供波形圖和數(shù)字量顯示界面。波形監(jiān)視及保存操作流程如圖10 所示。
圖10 波形監(jiān)視及保存操作流程Fig. 10 Process of waveform monitoring and storage
為驗證所設(shè)計的機車智能駕駛純數(shù)字仿真測試系統(tǒng)的功能及其穩(wěn)定性,本文選取起車、有分相區(qū)間的正線行駛和停車這3 種有代表性的場景進(jìn)行仿真和試驗,并對其規(guī)劃曲線進(jìn)行同軸比較。
機車起車規(guī)劃曲線與列車編組模式、載重、車輛所在位置的坡度強相關(guān),不同位置、不同機車起車的規(guī)劃曲線都不一樣。本文選擇安康線路的下行線路(新豐鎮(zhèn)V-安東X)在1033 信號機位置發(fā)車,圖11 和圖12 分別示出純數(shù)字仿真測試系統(tǒng)起車規(guī)劃曲線和現(xiàn)場起車規(guī)劃曲線。
圖11 純數(shù)字系統(tǒng)起車規(guī)劃曲線Fig. 11 Starting planning curve in the full digital system
圖12 現(xiàn)場起車規(guī)劃曲線Fig. 12 On-site starting planning curve
對圖11 和圖12 所示數(shù)據(jù)采用同一坐標(biāo)系進(jìn)行對比分析(圖13)??梢园l(fā)現(xiàn),現(xiàn)場數(shù)據(jù)和純數(shù)字仿真系統(tǒng)起車規(guī)劃曲線高度吻合,純數(shù)字系統(tǒng)起車場景輸出曲線和實際輸出曲線相一致。
圖13 起車規(guī)劃曲線同軸比較Fig. 13 Coaxial comparison chart of starting planning curves
機車正線行駛時,若前方有分相區(qū)間,自動駕駛算法則需考慮在分相區(qū)間無電的情況下機車能夠安全通過分相區(qū)間。本文選擇安康線路的下行線路(新豐鎮(zhèn)V-安東X)對631#信號機附近的機車正線行駛有分相區(qū)的規(guī)劃曲線進(jìn)行對比,圖14 和圖15 分別示出該工況下的純數(shù)字仿真測試系統(tǒng)規(guī)劃曲線和現(xiàn)場規(guī)劃曲線。
圖14 正線行駛有分相區(qū)的純數(shù)字測試系統(tǒng)規(guī)劃曲線Fig. 14 Planning curve with split-phase on main line in the full digital system
圖15 正線行駛有分相區(qū)的現(xiàn)場規(guī)劃曲線Fig. 15 On-site planning curves with split-phase on main line
采用同一坐標(biāo)系對圖14 和圖15 所示數(shù)據(jù)進(jìn)行對比(圖16),可以發(fā)現(xiàn),純數(shù)字系統(tǒng)測試機車正線行駛有分相區(qū)的規(guī)劃曲線和現(xiàn)場規(guī)劃曲線高度吻合。
圖16 機車正線行駛有分相區(qū)的規(guī)劃曲線對比Fig. 16 Comparison of planning curves with split-phase on main line
自動駕駛算法從LKJ 接收到列車超時ATP 曲線后,如果ATP 是閉口曲線,說明自動駕駛算法需在閉口前規(guī)劃停車點,停車點規(guī)劃在LKJ 防護(hù)曲線前(圖17 中紅色曲線)。為使機車能夠正常停車,自動駕駛算法會綜合考慮車輛狀態(tài)和路面工況,合理規(guī)劃停車曲線。圖17 所示為純數(shù)字測試系統(tǒng)停車規(guī)劃,圖18 所示為相同地點現(xiàn)場停車規(guī)劃。采用同一坐標(biāo)系對圖17 和圖18所示數(shù)據(jù)進(jìn)行對比(圖19),可以發(fā)現(xiàn),純數(shù)字測試系統(tǒng)停車規(guī)劃曲線和現(xiàn)場規(guī)劃曲線高度吻合。
圖17 純數(shù)字測試系統(tǒng)停車規(guī)劃曲線Fig. 17 Parking planning curve in the full digital system
圖18 現(xiàn)場停車規(guī)劃曲線Fig. 18 On-site parking planning curve
圖19 停車規(guī)劃曲線同軸對比Fig. 19 Coaxial comparison chart of parking planning curves
通過對起車、有分相區(qū)間正線行駛及停車這3 種場景的數(shù)據(jù)對比分析可以發(fā)現(xiàn),純數(shù)字仿真測試系統(tǒng)可實現(xiàn)現(xiàn)場所有場景的仿真覆蓋,且現(xiàn)場運行數(shù)據(jù)曲線和純數(shù)字仿真系統(tǒng)輸出的規(guī)劃曲線吻合度高,誤差極小。誤差主要是由純數(shù)字仿真系統(tǒng)和機車自動駕駛控制系統(tǒng)計算列車相對位置時動態(tài)參考點算法的不同而導(dǎo)致。由于所設(shè)計的純數(shù)字仿真系統(tǒng)輸出結(jié)果和機車自動駕駛控制系統(tǒng)現(xiàn)場運行輸出結(jié)果高度一致,因此該系統(tǒng)可以作為仿真測試工具使用。
本文提出一種機車智能駕駛純數(shù)字仿真測試方法,其為純軟件仿真測試系統(tǒng),運行在PC 機上,用軟件替換了實物機箱,大幅度減低了測試設(shè)備成本、節(jié)省了測試場地支出(測試環(huán)境成本降低90%)。由于Windows平臺的計算能力普遍高于嵌入式平臺的,因此該測試系統(tǒng)的測試效率得到大幅提升,測試時間僅為現(xiàn)有測試方法的四分之一,更好地滿足了機車智能駕駛項目應(yīng)用需求。而且系統(tǒng)運行數(shù)據(jù)和機車實際運行數(shù)據(jù)一致性高,符合預(yù)期目標(biāo)。該系統(tǒng)仿真測試方法可推廣應(yīng)用于機車智能駕駛控制算法開發(fā)和測試中,具有較高的工程應(yīng)用價值。