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