王有能 李浩標 王 勝 鄭旭東 張獻州
(1.中國鐵路上海局集團有限公司徐州工務段,江蘇徐州 221000; 2.西南交通大學地球科學與環(huán)境工程學院,成都 611756; 3.中國鐵路上海局集團有限公司,上海 200071)
為確保線路的平順性與列車運行的安全性,需要對線路進行定期養(yǎng)護維修[1]。搗固車是大型養(yǎng)路機械中的一種,是目前我國有砟線路養(yǎng)護維修中的必備設備,可以用來調(diào)整軌道幾何狀態(tài)[2-3]。在進行有砟軌道大機搗固作業(yè)時,大機以出發(fā)點里程信息為基準,使用大機里程編碼推算大機當前所在線路里程位置信息。但是在使用過程中,往往存在起始里程不準確、大機里程編碼錯誤等問題,導致大機作業(yè)不能準確定位,從而造成大機實際作業(yè)段和方案段存在偏差,影響大機作業(yè)效率。另外,大機作業(yè)方案多根據(jù)現(xiàn)場作業(yè)里程區(qū)段人工手動生成,人為參與較多,不利于信息化管理。
近年來,隨著GIS電子地圖、GNSS定位技術以及移動智能設備的迅速發(fā)展,GNSS實時定位結果和GIS電子地圖相結合的位置服務技術逐漸從應用較為成熟的服務業(yè)領域進入工程領域。黃貝將奧維地圖應用于云南省森林資源二類調(diào)查中,提高了野外調(diào)查設計的精度及作業(yè)效率[4];王江宇等將奧維地圖應用于油氣管道勘察工程中,提高踏勘選線的工作效率[5]。在鐵路工程方面,王瑞等利用導航電子地圖技術,提高線路設計的合理性,減少實地踏勘的成本和工作量[6];駱建將GIS技術與智能電子地圖相結合,改善傳統(tǒng)的鐵路選線模式,節(jié)約了成本[7]。盡管GIS電子地圖、GNSS定位技術以及Android等移動智能設備在工程領域已有較多應用,但在鐵路的運營維護方面,研究應用尚不成熟。為了準確指導大機作業(yè),將信息化平臺、Android系統(tǒng)和高德地圖相結合,以軌道線路基礎數(shù)據(jù)和GNSS定位信息為基礎,以期對大機方案實現(xiàn)自動優(yōu)化。
目前,應用較為廣泛的網(wǎng)絡地圖有高德地圖、百度地圖、谷歌地圖等。由于高德地圖基礎數(shù)據(jù)相對豐富,且使用的是中國國家測繪局制訂的地理信息系統(tǒng)的坐標系統(tǒng)“GCJ02”坐標系,故基于高德地圖進行研究。高德地圖API是高德軟件有限公司為開發(fā)者免費提供的一套基于高德地圖的應用程序接口,包括JavaScript、iOS、Andriod、靜態(tài)地圖、Web服務等多種版本,系統(tǒng)使用的是Android版。高德地圖Android SDK是一套基于Android 4.0及以上版本設備的應用程序接口,使用該套SDK可以實現(xiàn)自定義導航或調(diào)用地圖導航。
Android系統(tǒng)是基于Linux的開源操作系統(tǒng),作為全球第一大移動終端平臺,它是主流智能設備的首選系統(tǒng)[8]。Android系統(tǒng)架構分為4層,從下到上分別是Linux內(nèi)核、核心類庫、應用程序框架層、應用程序?qū)?每層專注于自己提供的服務,下層為上層提供服務[9]。
網(wǎng)絡地圖導航定位方式主要有GNSS定位、基站定位、WiFi定位等[10]。除此之外,在小范圍還可以利用藍牙、傳感器等進行輔助定位[11]。
(1)GNSS主要由在軌道上運行的衛(wèi)星、地面監(jiān)控部分和用戶設備構成[12]。用戶設備捕獲衛(wèi)星信號,根據(jù)衛(wèi)星信號傳播時間和導航電文計算出當前位置。GNSS定位的優(yōu)勢在于不需要連接網(wǎng)絡,只需在戶外就可以實現(xiàn)高精度、高可靠的定位,其定位精度為3~10m,定位時間小于1s,可用性為80%。
(2)基站定位是一種基于數(shù)據(jù)流量的定位方式[13]。用戶設備搜索周圍的基站信號,自動從周圍信號中選擇最強連接[14]。由于信號很容易受到干擾,距離基站的遠近決定信號的強弱,一般情況下,其定位精度大致在150~200m。
(3)WiFi定位是將WiFi設備的MAC地址發(fā)送到位置服務器,服務器計算出設備的地理位置并返回到用戶設備[15]。WiFi熱點的覆蓋范圍僅有幾十米,可其定位精度范圍為1~5m,定位時間在1s以內(nèi),可用性為99.8%[16-17]。
由于目前部分鐵路線路周邊缺少基站和WiFi設備,故綜合考慮各方面因素,GNSS定位適用于大機作業(yè)導航系統(tǒng)。
目前,大機作業(yè)在一個天窗內(nèi)只能作業(yè)很小區(qū)段,所以每次作業(yè)前都需根據(jù)現(xiàn)場作業(yè)里程區(qū)段,人工手動生成指定區(qū)間局部方案。為實現(xiàn)大機作業(yè)方案信息化管理,需要將不同區(qū)段的作業(yè)方案進行全線統(tǒng)一化搭接,其搭接的算法流程具體如下。
(1)將新入數(shù)據(jù)排序后,找到搭接起點和搭接終點,小里程方向第一個點為前搭接點,大里程方向最后一個點為后搭接點。
(2)遍歷原有數(shù)據(jù),分別找前、后搭接點。若只找到前搭接點或只找到后搭接點,則對數(shù)據(jù)一側進行搭接處理;若同時找到前、后搭接點,則數(shù)據(jù)兩側都需要搭接處理。
(3)只需要一邊進行搭接時,判斷D×Ci>0是否滿足,如果滿足,則前計算點的橫向偏差修正后的值為A+Ci,并順序繼續(xù)下一個點的計算;如果D×Ci≤0,則自動退出,后續(xù)點不再進行修正。其中,導入數(shù)據(jù)起點(起道量B)搭接到前搭接點(起道量A)或?qū)霐?shù)據(jù)最后一個點(起道量B)搭接到后搭接點(起道量A),則修正值D=A-B,其他點修正值Ci=D±P×|K-K0|(D≤0取正,D>0取負),P為平順性變化率,通常取值P=1/600000,K為當前搭接點里程,K0為搭接起點里程。
(4)如果兩邊同時需要搭接,從前搭接點開始,按照步驟(3)進行計算;如果未到后搭接點計算退出,則需要從后搭接點開始向前搭接點開始進行計算。只有兩邊搭接計算都合格后退出計算。
其主要搭接處理方法如下。
(1)替換搭接:在所有需要替換搭接的數(shù)據(jù)中,使用“后入為主”進行數(shù)據(jù)搭接處理。重復區(qū)段使用新入數(shù)據(jù)替換原有數(shù)據(jù),新增區(qū)段直接使用新入數(shù)據(jù)。
(2)平順搭接:不能直接替換需要搭接部分,需要按一定規(guī)則進行平順處理。若新入數(shù)據(jù)與一側數(shù)據(jù)存在搭接,則根據(jù)平順比例自動向前或向后順接;若新入數(shù)據(jù)與原有兩側數(shù)據(jù)存在搭接,則根據(jù)平順比例先從前搭接點向后搭接點平順,若未平順到后搭接點時需要從后搭接點向前搭接點平順,直至滿足平順性要求。若新入數(shù)據(jù)里程范圍較大,部分區(qū)段數(shù)據(jù)已經(jīng)使用,則單側搭接和雙側搭接同時存在,需根據(jù)實際情況拆分數(shù)據(jù)進行搭接操作。
基于網(wǎng)絡地圖的大機作業(yè)導航系統(tǒng)基本結構如圖1所示,分為外網(wǎng)和內(nèi)網(wǎng)兩個網(wǎng)段。內(nèi)外業(yè)分別對應內(nèi)業(yè)大機方案制作人員和外業(yè)大機搗固操作人員,承擔不同的功能任務。內(nèi)網(wǎng)主要用于方案制作人員需要將線路基礎數(shù)據(jù)和方案數(shù)據(jù)上傳到服務器并定期維護數(shù)據(jù);外網(wǎng)主要用于現(xiàn)場操作人員根據(jù)自己作業(yè)需求,將所需作業(yè)基本情況發(fā)送到服務器,服務器根據(jù)作業(yè)線路、作業(yè)里程區(qū)段等信息自動生成方案,將數(shù)據(jù)下載至移動終端,再將方案拷貝到搗固車上指導大機作業(yè)。
圖1 系統(tǒng)基本結構
系統(tǒng)由Web服務器、數(shù)據(jù)庫服務器、通信服務器三大服務器和web客戶端、C/S客戶端、Andoroid移動端三部分客戶端組成。其主要功能如表1所示。
表1 系統(tǒng)組成與功能
系統(tǒng)以java為開發(fā)語言,以MVP+Dagger2+RxAndroid+Retrofit+Butterknife為開發(fā)框架,采用json對象進行數(shù)據(jù)傳輸[18],其數(shù)據(jù)庫由用戶信息、線路信息、線路點信息和作業(yè)基本信息組成。用戶信息分為用戶名、密碼、開始時間和結束時間等。線路信息分為鐵路線標識ID、鐵路線編碼、鐵路線名稱、線路行別和線路長度。線路點信息分為線路編碼、分帶ID、貫通里程、點運營里程、經(jīng)度和緯度。作業(yè)基本信息分為作業(yè)名稱、作業(yè)編碼、作業(yè)行別、作業(yè)用戶、起始貫通里程、終止貫通里程、起始運營里程、終止運營里程、作業(yè)起始時間、作業(yè)結束時間和備注。系統(tǒng)本地緩存線路數(shù)據(jù),當線路數(shù)據(jù)保存超過期限后自動刪除。
(1) 數(shù)據(jù)搭接模塊
一般情況下,一條線路的大機作業(yè)方案是整條線路或者一定長度區(qū)間一次性生成的。為了避免每個作業(yè)都需要人工生成方案后再下發(fā)到大機段進行實施,根據(jù)實際工程將以線路區(qū)段命名生成的線路基礎數(shù)據(jù)和方案數(shù)據(jù)上傳至服務器。平臺保存并顯示區(qū)段基本信息,然后根據(jù)上傳數(shù)據(jù)讀取導入數(shù)據(jù)區(qū)間,自動進行區(qū)段數(shù)據(jù)搭接處理,其流程如圖2所示。
圖2 數(shù)據(jù)搭接處理流程
(2)信息管理模塊
為便于區(qū)間信息基本管理,在平臺上可對各條線路按名稱或里程的方式進行相應的進度查詢、方案上傳與查詢、方案拼接結果圖形化展示。在首頁中展示方案拼接范圍和已經(jīng)作業(yè)范圍數(shù)據(jù)數(shù)據(jù)進度信息(包括CPⅢ、曲線、方案數(shù)據(jù))。查詢方案表和工程表對應視圖得到已經(jīng)上傳方案進度,查詢作業(yè)區(qū)間展示已經(jīng)完成區(qū)間圖,查詢結果如圖3所示。根據(jù)工程上傳方案數(shù)據(jù),顯示每次區(qū)段數(shù)據(jù)記錄,記錄每次上傳數(shù)據(jù)基本信息,并可以查詢上傳區(qū)間表,如圖4所示。平臺能實現(xiàn)整條線路的搭接方案拼接,并進行可視化展示,結果如圖5所示。
圖3 作業(yè)進度展示
圖4 作業(yè)方案查詢
圖5 方案拼接結果
(1) 用戶登錄模塊
用戶登錄模塊是系統(tǒng)的入口。訪問系統(tǒng)前,用戶需要輸入已注冊的用戶名和密碼進行身份驗證[19]。如果驗證失敗,系統(tǒng)會進行相應提示;如果驗證通過,系統(tǒng)會根據(jù)當前登錄用戶的權限顯示對應的權限菜單[20]。為了統(tǒng)一管理訪問線路數(shù)據(jù)用戶信息,保證線路數(shù)據(jù)安全性,系統(tǒng)需要儲存用戶訪問數(shù)據(jù)日志信息。
(2) 數(shù)據(jù)下載模塊
當線路進行大機作業(yè)前,用戶登錄移動終端,根據(jù)當前作業(yè)線路下載線路搗固方案所有數(shù)據(jù)到本地,系統(tǒng)將以圖形化形式顯示下載的起、撥道量數(shù)據(jù),如圖6所示。根據(jù)所需作業(yè)區(qū)段和現(xiàn)場線路實際情況,進行局部區(qū)域方案優(yōu)化后重新生成方案。當作業(yè)完成后上傳作業(yè)完成情況,系統(tǒng)記錄已搗固區(qū)間信息,第二次進行區(qū)間作業(yè)時不能再次下載該區(qū)間數(shù)據(jù)。
圖6 數(shù)據(jù)下載模塊
(3)線路展示模塊
默認情況下高德、百度等第三方地圖提供商提供的地圖都是經(jīng)過一定加密偏移,線路和其真實位置存在較大偏差,并且第三方地圖上的鐵路線數(shù)據(jù)是矢量化的數(shù)據(jù),不是根據(jù)線路設計數(shù)據(jù)計算生成得到。為此,系統(tǒng)使用鐵路LKJ數(shù)據(jù)中線路基礎數(shù)據(jù)、線路分帶數(shù)據(jù)計算到經(jīng)緯度后加密將線路展示在地圖中,使用自定義數(shù)據(jù)導航。如圖7所示,自定義生成線路數(shù)據(jù)的平滑性更符合實際線路情況。
圖7 自定義生成鐵路線路
(4)線路導航模塊
用戶選擇線路目標點和起始點(默認情況下視為當前GNSS定位位置),系統(tǒng)自動生成當前點到線路目標點的導航線路。其具體流程是以GNSS定位位置為起點,用戶選擇點為目標點,下載的整條線路為導航線路參照,查找整條線路上離GNSS定位位置最近的第一個點,將GNSS點和該點相連,然后連接查找的最近線路點到線路目標點,則生成整個導航線路。根據(jù)GNSS定位數(shù)據(jù)實時更新導航線路,到達線路目標點附近位置時提示大機位置離線路目標點的距離,導航過程可開啟語音播報功能,導航結束后彈出提示,退出導航頁面。
大機作業(yè)導航系統(tǒng)是集Android移動終端與信息化平臺于一體,使用高德地圖API設計而成。該系統(tǒng)包括實時定位、地圖展示、大機作業(yè)方案搭接、數(shù)據(jù)管理和導航等功能。系統(tǒng)實現(xiàn)了大機作業(yè)方案的自動化搭接與線路里程的準確定位,減少了人工犯錯,提高了在有限天窗時間內(nèi)鐵路線路快速維護的作業(yè)效率與精度,降低了線路維護成本,具有較強的實用價值。