姜良奎 楊朝霞 林 藍(lán) 韓 勇
(1.西南交通大學(xué)設(shè)計(jì)藝術(shù)學(xué)院, 611731, 成都; 2.中車青島四方機(jī)車車輛股份有限公司, 266111, 青島;3.中國(guó)海洋大學(xué)信息科學(xué)與工程學(xué)部, 266100, 青島∥第一作者, 正高級(jí)工程師)
目前,我國(guó)軌道交通智能制造的基礎(chǔ)理論和技術(shù)體系建設(shè)較為滯后,亟需通過(guò)信息化、智能化手段改善設(shè)備運(yùn)維管理現(xiàn)狀。對(duì)于傳統(tǒng)的軌道交通設(shè)備運(yùn)維軟件,國(guó)內(nèi)外比較成熟的研究有:文獻(xiàn)[1]提出基于B/S(瀏覽器/服務(wù)器)架構(gòu)的設(shè)備OSS(運(yùn)維支撐系統(tǒng)),通過(guò)傳感器在線數(shù)據(jù)檢測(cè)及傳輸進(jìn)行設(shè)備故障分析;文獻(xiàn)[2]基于信息化技術(shù)手段開(kāi)發(fā)了京滬高鐵標(biāo)準(zhǔn)化作業(yè)平臺(tái),實(shí)現(xiàn)了移動(dòng)端的基礎(chǔ)數(shù)據(jù)共享,由后臺(tái)進(jìn)行綜合管理;文獻(xiàn)[3]提出基于 RFID(射頻識(shí)別)的列車運(yùn)維系統(tǒng),通過(guò)標(biāo)簽讀取數(shù)據(jù)進(jìn)行可視化分析。這些系統(tǒng)的后臺(tái)大多采用了目前流行的移動(dòng)互聯(lián)網(wǎng)技術(shù),但可視化手段單一,用戶在客戶端的操作感不足,體驗(yàn)感較差。
AR(增強(qiáng)現(xiàn)實(shí))技術(shù)的引入突破了傳統(tǒng)的二維局限,通過(guò)加入三維動(dòng)畫、視頻等可視化形式,更有助于用戶對(duì)信息的理解。該技術(shù)通過(guò)跟蹤用戶佩戴的智能眼鏡在現(xiàn)實(shí)世界中的位姿來(lái)判斷用戶的視線方向,并精確疊加虛擬信息,以增加信息交互的真實(shí)感。目前AR在軌道設(shè)備方面也有成功的應(yīng)用案例,例如:文獻(xiàn)[4]提出了基于Open Frameworks框架和改進(jìn)AR碼的軌道交通列車仿真系統(tǒng),該系統(tǒng)實(shí)現(xiàn)了虛擬列車在真實(shí)的軌道模型上行駛的場(chǎng)景;文獻(xiàn)[5]提出搭載在移動(dòng)端的AR裝配系統(tǒng),用戶可使用手指觸屏拾取零件與真實(shí)設(shè)備的交互操作。但這些交互方式相對(duì)單一,沒(méi)有具體針對(duì)軌道交通設(shè)備運(yùn)維進(jìn)行研發(fā)設(shè)計(jì)。
綜上所述,傳統(tǒng)的軌道交通設(shè)備運(yùn)維軟件主要存在以下問(wèn)題:①在運(yùn)維計(jì)劃、實(shí)際作業(yè)、信息反饋之間沒(méi)有健全的閉環(huán)機(jī)制,運(yùn)維效率低下;②對(duì)技術(shù)人員的要求較高,各崗位技術(shù)職工分工獨(dú)立明確,不同崗位運(yùn)維人員難以進(jìn)行有效溝通;③需要大量的人力、時(shí)間來(lái)支持這些運(yùn)維軟件的運(yùn)作。
數(shù)字孿生是實(shí)現(xiàn)物理與信息融合的一種有效手段,而設(shè)備運(yùn)維車間物理世界與信息世界的交互與融合是實(shí)現(xiàn)“工業(yè)4.0”、“中國(guó)制造2025”、工業(yè)互聯(lián)網(wǎng)、基于CPS(信息物理系統(tǒng))的制造等目標(biāo)的瓶頸之一。文獻(xiàn)[6]闡述了數(shù)字孿生車間的系統(tǒng)組成、運(yùn)行機(jī)制、特點(diǎn)、關(guān)鍵技術(shù)等,在此基礎(chǔ)上探討了基于車間孿生數(shù)據(jù)的車間物理世界和信息世界的交互與共融理論和實(shí)現(xiàn)方法。文獻(xiàn)[7]為虛擬現(xiàn)實(shí)平臺(tái)的搭建過(guò)程提供了清晰有效的建模思路及優(yōu)化方法。文獻(xiàn)[8]提到了Netty(JBOSS公司提供的一個(gè)基于客戶端服務(wù)器的java(計(jì)算機(jī)編程語(yǔ)言)開(kāi)源框架)建立在NIO(同步非阻塞)基礎(chǔ)之上,對(duì)NIO進(jìn)行封裝優(yōu)化,具有高性能、高可靠性、異步非阻塞、基于事件驅(qū)動(dòng)等優(yōu)點(diǎn)。
AR與軌道交通設(shè)備的緊密結(jié)合,對(duì)軌道交通設(shè)備的智能化有著重要的意義。本文基于移動(dòng)安卓平臺(tái),將AR與VR(虛擬現(xiàn)實(shí))技術(shù)混合,集成開(kāi)發(fā)形成軌道交通設(shè)備遠(yuǎn)程運(yùn)維輔助檢修孿生系統(tǒng),并重點(diǎn)對(duì)以下3個(gè)方面進(jìn)行深入研究:①支持用戶隨時(shí)隨地在線自我學(xué)習(xí),通過(guò)局部虛擬三維動(dòng)畫進(jìn)行教學(xué)操作指導(dǎo),并研發(fā)在線自測(cè)模塊;②將AR技術(shù)應(yīng)用到技術(shù)人員的視頻通話中,實(shí)現(xiàn)在虛擬模型上疊加實(shí)時(shí)三維標(biāo)識(shí)工具,使不同崗位技術(shù)人員間的溝通更加形象、直觀;③集成用戶手勢(shì)捕捉,更好地與虛擬模型交互。
軌道交通設(shè)備遠(yuǎn)程運(yùn)維輔助檢修孿生系統(tǒng)采用C/S(客戶端/服務(wù)端)架構(gòu),其系統(tǒng)架構(gòu)如圖1所示。
注:ID——身份標(biāo)識(shí)號(hào);箭頭方向代表通常意義上3層架構(gòu)的邏輯方向,表示整個(gè)系統(tǒng)從最底層數(shù)據(jù)層到離用戶最近的最上層應(yīng)用層的遞進(jìn)。
以動(dòng)車組轉(zhuǎn)向架的檢修指導(dǎo)流程為例,現(xiàn)場(chǎng)檢修人員借助移動(dòng)設(shè)備或智能眼鏡的攝像頭掃描并識(shí)別出真實(shí)轉(zhuǎn)向架的特征點(diǎn),覆蓋同等比例的虛擬模型后,可支持在線學(xué)習(xí)指導(dǎo);現(xiàn)場(chǎng)檢修人員也可通過(guò)視頻通話方式,將現(xiàn)場(chǎng)檢修第一視角共享給遠(yuǎn)程技術(shù)人員,此時(shí)遠(yuǎn)程技術(shù)人員通過(guò)點(diǎn)擊移動(dòng)設(shè)備屏幕觸屏,在虛擬模型上疊加線條、箭頭、扳手、錘子等標(biāo)記,進(jìn)行相關(guān)維修操作的三維指導(dǎo)動(dòng)畫展示,并實(shí)時(shí)傳輸給現(xiàn)場(chǎng)檢修人員,以指導(dǎo)現(xiàn)場(chǎng)檢修。軌道交通設(shè)備遠(yuǎn)程運(yùn)維輔助檢修孿生系統(tǒng)分為應(yīng)用層、技術(shù)層和數(shù)據(jù)層3個(gè)層次。
1) 應(yīng)用層。應(yīng)用層的功能分為3個(gè)模塊:①用戶模塊實(shí)現(xiàn)用戶注冊(cè)和登錄,獲取好友列表、視頻通話功能;②學(xué)習(xí)模塊實(shí)現(xiàn)在線觀看設(shè)備UI(用戶界面)文字介紹、局部三維動(dòng)畫檢修操作視頻,并可通過(guò)在線操作考試檢測(cè)其學(xué)習(xí)效果;③遠(yuǎn)程指導(dǎo)模塊可基于視頻通話實(shí)現(xiàn)雙方屏幕共享,通過(guò)觸屏交互在虛擬模型上實(shí)現(xiàn)維修指導(dǎo)操作。
2) 技術(shù)層。技術(shù)層的主要技術(shù)包括:①基于Netty的服務(wù)器通信技術(shù),該技術(shù)結(jié)合Spring開(kāi)源框架、Mybatis開(kāi)源框架構(gòu)建了服務(wù)器端,可實(shí)現(xiàn)不同客戶端之間信息的讀取處理和數(shù)據(jù)交換;②基于混合開(kāi)發(fā)集成的AR遠(yuǎn)程指導(dǎo)技術(shù),其將Android Studio集成開(kāi)發(fā)工具的訊飛語(yǔ)音和聲網(wǎng)通話服務(wù)打包成aar文件,并集成到unity平臺(tái)進(jìn)行開(kāi)發(fā)操作,該技術(shù)結(jié)合Vuforia軟件實(shí)現(xiàn)視頻通話、模型識(shí)別操作,并導(dǎo)出支持APK(Android應(yīng)用程序包)的文件,供用戶使用。
3) 數(shù)據(jù)層。數(shù)據(jù)層的數(shù)據(jù)存儲(chǔ)在MySQL數(shù)據(jù)庫(kù)中,主要包括3種類型:①用戶數(shù)據(jù),用以存儲(chǔ)用戶ID、用戶名、密碼等用戶基本信息及好友列表信息;②考試數(shù)據(jù),用以存儲(chǔ)考試題目的名稱、難度等;③設(shè)備數(shù)據(jù),用以存儲(chǔ)設(shè)備ID及設(shè)備特征點(diǎn)數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)采用SQLite數(shù)據(jù)庫(kù)存儲(chǔ)、Shared-Preferences數(shù)據(jù)存儲(chǔ)、文件存儲(chǔ)3種方式。
本系統(tǒng)基于TCP(傳輸控制協(xié)議)的長(zhǎng)連接實(shí)現(xiàn)可靠、高頻率的雙向?qū)崟r(shí)通信,基于Netty、Spring、Mybatis的混合框架開(kāi)發(fā)服務(wù)器將服務(wù)器端分為通信層、業(yè)務(wù)邏輯層、數(shù)據(jù)層。其中:通信層使用基于Netty的NIO框架,該框架是與用戶進(jìn)行數(shù)據(jù)交換的通道,主要負(fù)責(zé)客戶端連接、消息讀取、信息處理,并進(jìn)行相應(yīng)的業(yè)務(wù)分發(fā);業(yè)務(wù)邏輯層接收來(lái)自通信層的消息,將不同類型的業(yè)務(wù)分配至對(duì)應(yīng)的處理方式中;數(shù)據(jù)層采用Mybatis框架,該框架使用DAO(數(shù)據(jù)訪問(wèn)對(duì)象)模式實(shí)現(xiàn)數(shù)據(jù)庫(kù)接口,把業(yè)務(wù)邏輯和數(shù)據(jù)訪問(wèn)解耦,直接操作數(shù)據(jù)表。
由于TCP存在粘包問(wèn)題,本系統(tǒng)可預(yù)先對(duì)消息包進(jìn)行處理,將其分為消息頭和消息體兩部分,并在消息頭中加入消息體的長(zhǎng)度數(shù)據(jù),以設(shè)計(jì)合適的消息協(xié)議棧。消息體分為消息長(zhǎng)度、保留字節(jié)、消息類型3個(gè)部分,其大小分別為2字節(jié)、1字節(jié)、1字節(jié),以盡量保證消息包的體積,有效解決粘包問(wèn)題,提高序列化和反序列化的速率。將消息類型設(shè)計(jì)在消息頭中,服務(wù)器端收到二進(jìn)制文件后,將根據(jù)消息類型將其反序列化成POJO(簡(jiǎn)單無(wú)規(guī)則java對(duì)象)。
通過(guò)Netty框架中的IdleStateHandler類進(jìn)行客戶端心跳檢測(cè),若15 s內(nèi)客戶端未向服務(wù)器端發(fā)起讀寫操作,則由服務(wù)器主動(dòng)向客戶端發(fā)送空閑心跳包,在ConcurrentHashMap類中設(shè)置空閑次數(shù)。若空閑次數(shù)超過(guò)3次,則斷開(kāi)Channel連接,以避免資源浪費(fèi)。
2.2.1 混合開(kāi)發(fā)技術(shù)
由于Unity3D軟件出色的渲染功能及多平臺(tái)兼容的特性,本系統(tǒng)采用基于Unity3D和Android(安卓軟件系統(tǒng))混合開(kāi)發(fā)的模式。為保證系統(tǒng)布局的統(tǒng)一性,本系統(tǒng)的混合開(kāi)發(fā)以C#語(yǔ)言為主導(dǎo),主要在Unity3D軟件中開(kāi)發(fā),導(dǎo)入由Android Studio中視頻通話等模塊功能封裝成的aar包,通過(guò)編寫腳本實(shí)現(xiàn)系統(tǒng)的基本功能。本系統(tǒng)可導(dǎo)出在Android平臺(tái)上安裝的APK文件,將客戶端搭載在手機(jī)移動(dòng)端和智能眼鏡端,其客戶端框架如圖2所示。
圖2 軌道交通設(shè)備遠(yuǎn)程運(yùn)維輔助檢修孿生系統(tǒng)的客戶端框架示意圖
2.2.2 視頻通話技術(shù)
視頻通話是遠(yuǎn)程AR交互的基礎(chǔ)。由于移動(dòng)設(shè)備自帶的后置攝像頭會(huì)與Vuforia軟件的攝像頭沖突,故采用Vuforia軟件的攝像頭進(jìn)行畫面?zhèn)鬏敼蚕恚F(xiàn)場(chǎng)客戶端通過(guò)截屏推流功能將用戶視角共享至遠(yuǎn)程用戶。
2.2.3 坐標(biāo)轉(zhuǎn)換技術(shù)
現(xiàn)場(chǎng)用戶需接收遠(yuǎn)程用戶手指觸屏數(shù)據(jù)的屏幕像素坐標(biāo),通過(guò)坐標(biāo)轉(zhuǎn)換將屏幕像素坐標(biāo)繪制在世界坐標(biāo)系上,并基于追蹤算法實(shí)現(xiàn)AR效果。坐標(biāo)軸轉(zhuǎn)換的計(jì)算式如下:
式中:
Zc——相機(jī)坐標(biāo)系下的Z坐標(biāo);
u、v——表示像素平面坐標(biāo);
u0——圖像的中心像素坐標(biāo)和圖像原點(diǎn)像素坐標(biāo)之間相差的橫向像素?cái)?shù);
v0——圖像的中心像素坐標(biāo)和圖像原點(diǎn)像素坐標(biāo)之間相差的縱向像素?cái)?shù);
dx、dy——分別表示像素坐標(biāo)系和圖像坐標(biāo)系之間的轉(zhuǎn)換關(guān)系,即x方向和y方向下一個(gè)像素所占長(zhǎng)度;
f——相機(jī)焦距;
R——旋轉(zhuǎn)矩陣;
T——平移向量;
0——零向量;
XW、YW、ZW——分別為世界坐標(biāo)系下的X、Y、Z三維坐標(biāo)。
3.1.1 用戶的注冊(cè)和登錄
如圖3 a)所示,在初始界面輸入用戶名、密碼,與已有數(shù)據(jù)庫(kù)表進(jìn)行匹配,實(shí)現(xiàn)登錄功能。若系統(tǒng)內(nèi)無(wú)該賬戶,點(diǎn)擊注冊(cè)按鈕后將跳轉(zhuǎn)至用戶登錄界面,如圖3 b)所示,此時(shí)用戶需填寫基本信息。系統(tǒng)將檢測(cè)數(shù)據(jù)庫(kù)表中是否存在相同的數(shù)據(jù),若不存在,則提示注冊(cè)成功。
a) 用戶登錄
3.1.2 獲取好友列表
用戶登錄后,可從系統(tǒng)的數(shù)據(jù)庫(kù)中讀取在線好友數(shù)據(jù),并在列表中顯示其基本信息。點(diǎn)擊指定的好友對(duì)話框可發(fā)起一對(duì)一的視頻通話請(qǐng)求,如圖4所示。若對(duì)方點(diǎn)擊同意,則可建立視頻通話。
圖4 發(fā)送視頻通話界面截圖Fig.4 Screenshot of sending video call interface
3.2.1 在線學(xué)習(xí)模塊
用戶在菜單欄點(diǎn)擊“study”(學(xué)習(xí))按鈕,界面將呈現(xiàn)學(xué)習(xí)面板。系統(tǒng)彈出提示信息,提示用戶將移動(dòng)設(shè)備攝像頭對(duì)準(zhǔn)當(dāng)前設(shè)備。系統(tǒng)將采用物體識(shí)別方式利用Vuforia算法提取場(chǎng)景內(nèi)的特征點(diǎn),并與Vufoira軟件云存儲(chǔ)庫(kù)內(nèi)的數(shù)據(jù)進(jìn)行對(duì)比,匹配成功后則精準(zhǔn)疊加同比例虛擬模型。點(diǎn)擊“細(xì)節(jié)講解”,可通過(guò)浮動(dòng)UI面板查看設(shè)備指定部位的基本信息,如圖5所示,此時(shí)指定部位模型將高亮顯示。
注:Data——數(shù)據(jù);Exam——考試;About——關(guān)于;Logout——注銷。圖5 設(shè)備的UI文字介紹界面截圖Fig.5 Screenshot of UI text introduction interface of the device
如圖6所示,點(diǎn)擊“拆解流程”后,系統(tǒng)將以虛實(shí)結(jié)合的方式展示設(shè)備指定部位的相應(yīng)維修操作分步指導(dǎo)動(dòng)畫,供用戶反復(fù)觀看。
圖6 設(shè)備的維修學(xué)習(xí)動(dòng)畫界面截圖Fig.6 Screenshot of equipment maintenance learning animation interface
3.2.2 在線考試模塊
在普通用戶登錄模式下,點(diǎn)擊“Exam”按鈕,可從數(shù)據(jù)庫(kù)隨機(jī)抽取不同難度的考題,以UI面板的方式向用戶展示“考試題目”及“考試難度”,用戶可以選擇“開(kāi)始作答”或點(diǎn)擊“下一題”切換題目,如圖7所示。點(diǎn)擊“開(kāi)始作答”時(shí),考試題目將以UI方式切換到右上方予以展示。若點(diǎn)擊“下一題”,系統(tǒng)則隨機(jī)抽取新題目供用戶測(cè)試。
圖7 普通用戶的考試界面截圖Fig.7 Screenshot of the examination interface of ordinary users
若為管理員登錄模式,點(diǎn)擊“Exam”按鈕,系統(tǒng)將跳轉(zhuǎn)到題庫(kù)后臺(tái)的管理界面,支持查看所有題庫(kù)數(shù)據(jù),包括題目的編號(hào)、名稱、難度等,并可對(duì)題目進(jìn)行增加、刪減、修改、查詢等操作。
3.3.1 屏幕共享模塊
當(dāng)用戶雙方建立起視頻通話時(shí),系統(tǒng)將跳轉(zhuǎn)到用戶角色選擇界面,此時(shí)需根據(jù)用戶角色先點(diǎn)擊選擇UI面板中的“現(xiàn)場(chǎng)維修”或“遠(yuǎn)程指導(dǎo)”。其中:現(xiàn)場(chǎng)維修端采用Vuforia軟件自帶的攝像頭,可將當(dāng)前設(shè)備畫面共享至遠(yuǎn)程指導(dǎo)端;遠(yuǎn)程指導(dǎo)端則開(kāi)啟移動(dòng)設(shè)備前置攝像頭。若視頻畫面卡頓,可在左側(cè)菜單欄調(diào)節(jié)當(dāng)前畫面的分辨率,系統(tǒng)默認(rèn)的分辨率為2 560像素×1 040像素。
3.3.2 模型標(biāo)記模塊
遠(yuǎn)程指導(dǎo)端通過(guò)手指觸屏點(diǎn)擊“虛擬模型”,基于上文的坐標(biāo)轉(zhuǎn)換計(jì)算式,坐標(biāo)轉(zhuǎn)換在所點(diǎn)擊的屏幕位置處精準(zhǔn)添加指定標(biāo)記(如線條、箭頭等)來(lái)指示當(dāng)前需檢修部位,也可添加扳手、錘子等維修工具,給現(xiàn)場(chǎng)維修端實(shí)時(shí)展示維修動(dòng)畫,并提供維修技術(shù)指導(dǎo)。現(xiàn)場(chǎng)維修端的巡檢人員可在屏幕右側(cè)看到當(dāng)前所使用的工具,如圖8所示。
圖8 添加三維標(biāo)記指示設(shè)備檢修部位Fig.8 Adding three-dimensional marks to indicate the maintenance parts of the equipment
3.3.3 觸屏交互模塊
遠(yuǎn)程指導(dǎo)端通過(guò)手指觸屏點(diǎn)擊模型需維修部位,系統(tǒng)將循環(huán)展示設(shè)備局部維修的操作指導(dǎo)動(dòng)畫,需拆解部位的設(shè)備模型將高亮顯示?,F(xiàn)場(chǎng)維修端可在右側(cè)對(duì)話框中點(diǎn)擊“使用工具”和“維修部位”來(lái)查看相關(guān)信息。用戶可使用兩個(gè)手指觸碰虛擬模型,系統(tǒng)將通過(guò)判斷手指觸屏個(gè)數(shù)和觸屏點(diǎn)距離實(shí)現(xiàn)模型的放大、縮小、旋轉(zhuǎn)等操作,如圖9所示。
圖9 現(xiàn)場(chǎng)維修端的觸屏交互Fig.9 Touch screen interaction on field maintenance end
本文設(shè)計(jì)的軌道交通設(shè)備遠(yuǎn)程運(yùn)維輔助檢修孿生系統(tǒng),引入了AR、VR技術(shù),基于Netty服務(wù)器通信技術(shù)和基于混合開(kāi)發(fā)集成的AR遠(yuǎn)程指導(dǎo)技術(shù),采用智能化、自動(dòng)化的手段提高了軌道交通設(shè)備運(yùn)維的指導(dǎo)效率和管理水平。該系統(tǒng)的主要?jiǎng)?chuàng)新之處在于:基于AR智能交互技術(shù)構(gòu)建了以車輛轉(zhuǎn)向架設(shè)備為例的軌道交通設(shè)備運(yùn)維指導(dǎo)的可視化平臺(tái),支持技術(shù)人員進(jìn)行遠(yuǎn)程診斷和操作指導(dǎo),設(shè)備的檢修效率大為提升;通過(guò)立體UI界面和局部模型覆蓋的三維指導(dǎo)動(dòng)畫,很大程度給用戶帶來(lái)了虛實(shí)結(jié)合的觀感,使技術(shù)人員與用戶間的信息交流傳遞更加直觀。
軌道交通設(shè)備遠(yuǎn)程運(yùn)維指導(dǎo)系統(tǒng)雖然已經(jīng)實(shí)現(xiàn)了其既定的基本功能,系統(tǒng)運(yùn)行穩(wěn)定,但仍然存在以下問(wèn)題需要進(jìn)一步改善:①基于物體識(shí)別的追蹤技術(shù),其識(shí)別效果和精度受光強(qiáng)的影響較大,應(yīng)研究解決在不同光照條件下追蹤算法的穩(wěn)定性;②系統(tǒng)目前的應(yīng)用范圍仍較窄,只能為軌道交通車間的少數(shù)設(shè)備提供運(yùn)維指導(dǎo),在下一步的系統(tǒng)開(kāi)發(fā)中應(yīng)擴(kuò)充至多個(gè)應(yīng)用場(chǎng)景,實(shí)現(xiàn)對(duì)其他設(shè)備的智能運(yùn)維。