朱金達,趙永衡
(河北科技大學 機械工程學院, 石家莊 050018)
武器裝備的維修保障是其發揮整體效能的基礎和戰爭勝敗的關鍵。自行火炮是自行機動能力和獨立作戰能力相結合的武器系統,具有機動性強、射程遠、火力猛等優點,是陸軍作戰的重要組成部分。隨著其結構復雜度、關聯性和使用技術的不斷提高,維修保障困難也在逐步加大,傳統自行火炮維修多依賴維修人員經驗、技術手冊和專家現場指導,存在缺乏直觀形象的輔助手段、專業指導不及時等問題,特別是一旦某些關鍵設備出現故障,專業知識儲備不足的維修人員不能立刻有效處理,專家指導又因時間、空間、交互限制導致交流溝通成本高效率低,難以滿足設備維修的實時性指導要求。
混合現實(mixed reality,MR)技術是VR/AR 技術的進一步發展,具有虛實融合、實時交互、真實沉浸等特點,可融合現實世界與虛擬世界而產生新的可視化環境,通過手勢、語音、視覺等方式實現物理和數字對象的共存互動[1]。混合現實裝備維修具有不受時空限制、低風險、高效率、遠程指導實時性強等優勢,已成為軍事裝備保障和復雜機電設備維修領域的研究熱點[2-6]。
Karczmarz等[7]設計了一套基于MR的防空導彈程序診斷模擬器及虛擬指控臺,實現通過“Opticalsee-through HMD”頭戴顯示器以文本、活動箭頭、3D模型、動畫序列和多媒體的形式顯示在實際圖像上,顯著減少了操作時間、降低了培訓成本。Henderson等[8]開發了一套支持美國海軍陸戰隊(USMC)維修人員在LAV-25A1裝甲運兵車炮塔內操作的MR維修原型系統,實現了野外條件下在裝甲運兵車炮塔狹窄內部進行包括安裝和拆卸緊固件、指示燈、連接電纜等操作手冊中18項具有代表性的維修任務,對維修人員完成裝甲運兵車相應現實而富有挑戰性的維修任務提供了有效的幫助。Vorraber等[9]使用Hololens進行遠程輔助維修,對汽車維護行業進行了探索創新,并對其維護過程做出測試評估,驗證了通過Hololens進行遠程輔助維修可很大程度上提高遠程維護任務的效率,解決了經驗不足的工作人員無法正常進行復雜或困難任務的難題。張旭輝等[10]研發了基于MR技術的故障輔助維修指導系統,實現對礦用設備的維修實時指導,實現了維修設備信息化管理,確保維修流程規范化,可有效提高維修效率和維修人員的技術水平。
本研究利用混合現實的優勢,結合現有自行火炮維修方式和流程,設計了基于混合現實技術的自行火炮維修指導系統。該系統以Unity3D平臺為開發工具,通過混合現實設備Hololens2以全息交互的方式實現維修知識展示和遠程專家指導,可有效解決自行火炮維修人員維修知識儲備不足、新手維修人員錯誤率高、專家指導周期長等難題,提高維修工作效率。
基于MR的自行火炮維修指導系統架構如圖1所示。包括數據支撐層、關鍵技術層、Hololens虛實融合應用層。

圖1 基于MR的自行火炮維修指導系統架構Fig.1 MR-based self-propelled artillery maintenance guidance system architecture
數據支撐層:主要包括三維數字化模型、各零部件表面紋理貼圖和維修指導方案信息等底層基本數據。根據自行火炮維修技術手冊、機械圖紙等相關資料,使用CAD制圖軟件Solidworks完成自行火炮各零部件的制作與裝配,借助Cinema4D軟件進行三維數字化維修指導模型動作片段的制作,運用Photoshop軟件制作自行火炮各零部件表面紋理貼圖,然后將這些三維數字化模型、指導動作片段、材質貼圖等導入混合現實開發軟件Unity3D中,以C#控制腳本實現UI交互面板和維修指導流程的邏輯控制,采用模塊化思路完成常見不同故障類型維修指導片段的開發。將不同的維修指導方案片段及其相關信息存儲在MySQL數據庫,待接收到相關指令后進行調用。
關鍵技術層:主要包括虛實坐標同一化表達技術、三維注冊融合技術、環境感知運動追蹤技術和虛實遮擋處理技術。虛實坐標同一化表達技術主要用于實現虛實物體不同坐標系的坐標變換,得到維修空間內虛擬物體坐標系和真實世界物體坐標系在像素坐標系中的同一表達。三維注冊融合技術以虛實坐標同一化表達技術為基礎,主要用于實現虛擬維修指導信息與真實維修空間的注冊融合。環境感知運動追蹤技術主要用于實現對維修場景及維修操作過程的空間特征點進行識別與跟蹤,保障人機虛實自然交互。虛實遮擋處理技術則是對最終呈現效果的保障,主要用于實現將虛實融合后的場景具有空間深度的接近真實物理定律表達,改善用戶感官體驗。
Hololens虛實融合應用層:主要實現系統應用程序發布后的虛實融合,將自行火炮相關故障維修工藝的虛擬維修指導面板、三維數字化維修操作演示和空間語音文字提示等虛擬信息與真實維修場景內的設備相關信息進行虛實信息融合,并可通過創建空間錨點、分享空間錨點、獲取空間錨點等相關操作,實現虛擬對象在維修人員意愿維修指導位置的錨定及不同設備之間的位置共享,以滿足不同維修情況的需求。
基于MR的自行火炮維修指導系統以自行火炮維修指導手冊為基礎,將MR技術的虛實注冊融合、運動跟蹤、虛實交互等技術用于自行火炮維修指導中,主要由故障診斷模塊、三維維修指導書模塊、維修作業場景管理模塊、維修指導操作模塊、MR顯示模塊、MR解算模塊以及各種通信接口組成,系統運行機制如圖2所示。

圖2 基于MR的自行火炮維修指導系統運行機制圖Fig.2 Operation diagram of self-propelled artillery maintenance guidance system based on MR
故障診斷模塊負責診斷設備可能出現的具體故障,分析故障類別,形成故障ID識別號,與維修指導解決方案進行匹配,包括故障信號采集、診斷分析、故障類別判斷、類別傳輸等。在設備周邊布置相應傳感器進行故障信號采集,并運行神經網絡、深度學習等算法對故障信號進行識別和分類,例如運用卷積神經網絡提取獲得的信號數據特征,對其進行歸一化處理以消除由于數量維度不同導致的誤差,運用BP神經網絡進行故障分類以實現故障準確定位,再通過網絡數據端口將診斷結果傳送到場景管理模塊進行與故障維修數據庫內所需維修指導片段匹配。三維維修指導書模塊為系統提供自行火炮各種故障的維修指導信息,這些信息由空間化文本、圖片、視頻、三維數字化演示模型等提示信息組成。維修作業場景管理模塊是系統的核心,通過通信接口實現系統各模塊信息流的調用與傳輸管理,主要包括MR信息解析、維修片段匹配管理、三維數字化模型虛擬維修狀態更新以及維修流程邏輯控制等運行管理。維修指導操作模塊主要運用虛實交互、語音識別、手部射線跟蹤等技術,根據維修指導操作過程中維修人員自然交互操作得到正確的系統指導信息反饋。MR顯示模塊通過混合現實硬件顯示設備Hololens2眼鏡將虛擬全息圖和現實維修場景進行混合顯示,也可實現將專家遠程指導以全息的形式展現給維修人員,同時進行空間環境感知和維修人員維修及交互操作的運動跟蹤。MR解算模塊主要完成將Hololens2獲取到的全息圖和真實維修場景進行空間坐標變換及虛實注冊融合,并且對維修人員操作進行虛實交互檢測計算。
在基于混合現實技術的輔助維修指導過程中,其虛擬指引信息能否在維修人員所需位置顯示將直接影響維修指導效果。欲將虛擬維修指導內容與真實維修車間設備進行有機融合展現給維修人員,則需基于光學透鏡式相機成像模型。通過在維修空間內建立不同的空間坐標系,再經過不同坐標系之間的空間位姿變換,實現對虛擬維修指導內容和真實維修車間設備在維修空間內的同一表達。
為實現虛實坐標同一化表達并通過圖像屏呈現給用戶,首先進行維修空間坐標系統的建立,如圖3所示。維修空間坐標系統包含虛擬物體坐標系(VCS)、真實世界坐標系(WCS)、攝像機坐標系(CSS)、眼睛坐標系(RCS)、圖像物理坐標系(O1CS)、像素坐標系(O2CS)六大坐標系,分別為圖3中的OV—XVYVZV、OW—XWYWZW、OC—XCYCZC、ORE—XREYREZRE、O1—xy、O1—uv。

圖3 維修空間坐標系統Fig.3 The spatial coordinate system of maintenance
為實現虛實同坐標系表達,需將維修空間中一對對應點P的虛擬物體坐標系p(xv,yv,zv)和真實物體坐標系p(xw,yw,zw)轉換為像素坐標系,所需經歷坐標系變換過程如圖4所示。

圖4 維修空間坐標系統坐標系變換過程Fig.4 Maintenance of the spatial coordinate system conversion process
經過以上坐標系變換便可得到維修空間內虛擬物體P點的虛擬坐標系在像素坐標系中的表達如式(1):
(1)
式中:K為Hololens2相機內參,由矩陣中的ax、ay、u0、v0決定;T為Hololens2相機運動的外部矩陣,包含相機的移動R和旋轉矩陣t;A表示虛實世界坐標系之間的縮放比例因子;M為四階轉換矩陣,為固定值且通過微軟官方提供的硬件參數和實際測量數據確定[11]。
維修空間中一對對應點P的虛擬物體坐標系p(xv,yv,zv)和真實物體坐標系p(xw,yw,zw)在像素坐標系內展示效果如圖5所示。

圖5 維修空間中一對虛實對應點PFig.5 A pair of virtual and real corresponding points P in the maintenance space
在虛實坐標同一化表達的基礎上,需要將虛擬維修指導信息與真實維修空間進行注冊融合[12],提出一種基于人工標識與空間錨點相結合的方式進行注冊融合,整個過程包括人工標識、空間錨定和錨點存儲與分享3個階段。
人工標識:系統選用Vuforia插件作為虛擬物體初步定位開發工具,按照Vuforia標識圖制作要求和流程設計出二維碼人工標識,在Vuforia官網配置數據庫然后獲得一個key并打包數據庫導入Unity3D中,在Unity3D中創建該項目工程。當相機在真實世界中識別到與Vuforia數據庫中相匹配的特征點時,所構建的三維數字化虛擬模型便加載到真實世界的相應位置,其位姿變換遵循上述維修空間坐標變換規則,如圖6為Hololens2掃描生成的其中一個維修場景的特征點三維空間。

圖6 Hololens2掃描生成的特征點場景Fig.6 The resulting feature scene scaned by Hololens2
空間錨定:由于人工標識放置位置、人眼瞳距差、跟蹤使用的IMU傳感器存在誤差累計特性等原因,完成初步注冊后,還需通過圖像檢測技術進行誤差修正。空間錨定的作用是綁定虛擬物體與MR維修空間,被賦予錨點的物體可以被看作將其固定在維修空間中的特定位置,并進行位置校正,確保物體在維修空間中保持相同位姿。在添加錨點之前,維修人員可通過雙手拖拽的方式將虛擬物體移動到所需維修空間目標位置,這一過程中虛擬物體主要經過了平移、旋轉2種齊次坐標變換技術實現的;調整到合適位置后,通過點擊添加空間錨點按鈕來實現空間錨點的添加,如圖7所示。通過Hololens2的相機采集維修環境的圖像信息、特征點信息,然后通過點云匹配將所選物體和維修環境特征點綁定,這樣即使產生了漂移但這些特征點之間的相互關系還在,所選物體便還可恢復到原來的空間位置。

圖7 維修指導中空間錨點的運用Fig.7 The use of spatial anchor points in maintenance instructions
錨點存儲與分享:錨點是和空間中特征點、特征信息綁定的,可通過保存這些特征信息,待下次重新打開應用掃描環境感知到同樣的空間特征點后,還可將這些已添加的錨點恢復到它原來的位置,這樣掛載到該錨點上的物體也就可以恢復到空間上對應的位置。錨點存儲本質是將MR場景的空間狀態信息轉換為可存儲、可傳輸的形式(即序列化)保存到文件系統或數據庫中,當使用者再次加載這些場景狀態信息后即可恢復應用進程,如圖8所示。錨點存儲與分享解決了相同維修場景、維修中斷重新進入等情況需重復注冊及虛實融合的問題,使得二維碼人工標識可脫離真實環境。

圖8 空間錨點存儲及分享Fig.8 Spatial anchor storage and sharing
環境感知與運動追蹤技術借助混合現實硬件顯示設備Hololens2的TOF深度攝像機,利用SLAM運動跟蹤構建現實場景表面幾何網格,完成虛實環境的標定、跟蹤與配準,借助這些與現實環境相匹配的幾何網格來完成維修指導虛擬信息的虛實交互[13-14]。為防止物體漂移保證定位,通過IO(慣性里程計)將來自于加速度計、陀螺儀的IMU傳感器數據利用牛頓第二定律計算出設備的當前位置變化狀態,同時為解決IO存在的誤差累積通過VIO(視覺慣性里程計)校正消除誤差,VIO利用對積幾何原理解算出不同時刻攝像頭姿態變化,達到跟蹤設備運動的目的。
具體解算過程為,當系統啟動后HoloLens2不間斷捕獲從攝像頭采集的圖像數據,從這些圖像數據中提取出特征點并持續進行跟蹤,當帶著HoloLens2的維修人員位置發生變化,從不同方位觀察同一空間時,特征點就會在不同方位捕獲的兩張圖像中呈現視差,如圖9所示。設第一幅圖像為I1,第二幅圖象為I2。

圖9 對極幾何與三角測量示意圖Fig.9 Schematic diagram of counterpoint geometry and triangulation
其中,O1、O2為同一攝像頭在不同位置的光心;P為空間中的一個三維坐標點;P1、P2為P點在2張攝像頭圖像中的投影,利用對極幾何知識可以解算出不同時刻攝像頭姿態變化,以進入系統后拍攝第一幀圖像時的相機坐標系為世界坐標系,2幅圖像的投影方程式分別為:
s1p1=KP
(2)
s2p2=K(RP+t)
(3)
采用歸一化平面獲取深度信息,兩幅圖像歸一化平面坐標為x1、x2,歸一化平面與像素坐標變換為:
x1=K-1p1
(4)
x2=k-1p2
(5)

(6)
設本質矩陣E=tΛR,這有:
(7)

(8)
由此可知,只需通過8對特征點便可算出本質矩陣E=tΛR,矩陣分解可得到其對應平移和旋轉矩陣,進一步利用式(4)和式(5)即可得到三維空間點在不同視角下的深度信息。
由于VIO的校準是通過圖像進行的,利用SLAM內的回環檢測算法,使維修人員在使用過程中通過回頭看便可達到消除誤差的效果,其中回環檢測主要通過構建詞袋模型進行相似度計算來實現,根據描述每幀圖像包含單詞來快速尋找可能閉環幀的過程,同時還可利用這些單詞加速特征點的匹配。
維修空間虛體遮擋處理[15-16]是為將注冊到現實場景中的虛擬物體表現出正確的位置關系,其本質是對同一視線上虛實物體特征點深度信息進行解算,并根據深度信息值確定遮擋關系。這一環節的處理主要包括3個過程,一是對維修場景識別跟蹤,二是對虛實物體特征點深度信息解算,三則是對根據深度值解算出的虛實物體的前后位置關系進行材質控制渲染處理。
場景識別跟蹤是通過本文中的環境感知與運動追蹤技術完成的,深度信息解算通過利用立體視覺原理來獲得渲染視角下場景深度信息,并實時計算維修空間中虛實物體的深度值,對渲染時虛擬物體各像素點離相機的距離與真實物體離相機的距離進行對比,判斷虛實物體的前后位置關系,從而進行遮擋渲染。當虛擬物體比周邊真實物體離相機的距離近時正常進行渲染,反之則反。材質控制渲染則是通過對維修指導過程中各零件的渲染進行邏輯管理,來進一步增強空間展現效果。結合維修指導庫中目標設備的維修操作流程,在Unity3D中對目標設備的零件材質在原有裝配及遮擋關系的基礎上進行材質管理,結合相應的邏輯控制,使維修指導目標設備中當零件還未進行維修指導演示時按其真實零件材質進行渲染,當對應零件處于拆卸狀態時高亮顯示,當零件被拆卸下來后零件則不被渲染。維修端在運行后對目標設備零部件有選擇性地進行渲染,增強虛實融合遮擋效果,本系統中傳動裝置齒輪故障維修中虛實遮擋處理如圖10所示。

圖10 傳動裝置虛實遮擋處理Fig.10 Virtual and real occlusion processing of a transmission device
在Unity3D配置好混合現實環境并選擇UWP平臺進行打包,利用Visual Studio將系統以APP的形式發布到Hololens2設備上。系統發布前進行適應性配置,這是保證維修指導系統各功能正常運行的關鍵,包括系統許可證、網絡許可、麥克風使用權限等設置,以及相機、環境感知、輸入系統語音命令手勢識別功能等相關參數設置。系統發布過程利用Hololens2的IP地址與進行開發與發布的電腦建立聯系,在Hololens2上生成應用。
以傳動裝置齒輪故障維修指導應用實例進行驗證,在Hololens2上打開生成的系統應用,根據系統人機交互界面顯示、語音提示及維修指導過程中三維數字化演示等提示信息完成相關操作。在選擇該故障維修指導后,首先需要將顯示的相應三維數字化模型通過手動拖拽到維修人員感覺最佳的位置,點擊添加錨點按鈕利用空間錨定技術進行物體空間錨定,根據維修人員喜好同一故障維修指導錨定位置有所不同,然后根據系統提示進行當前維修指導的故障信息查詢、原理認知,并在系統對話框界面顯示、語音提示及維修指導三維數字化演示等提示信息引導下一步步完成該故障的維修工作,且當遇到難以解決的問題時還可通過請求遠程專家在線指導加以解決,如圖11所示。

圖11 基于MR的自行火炮維修指導系統測試Fig.11 Test of the self-propelled gun maintenance guidance system based on MR
實驗表明,維修人員不僅能根據系統給出的維修指導方案完成維修工作,且其培訓上手時間得到顯著縮短,有效解決了自行火炮維修人員維修知識儲備不足、新手維修人員錯誤率高、專家指導周期長等難題。
1) 提出了一種基于混合現實技術的自行火炮維修指導方法,通過Unity3D和Hololens2設備構建了自行火炮故障維修指導系統。
2) 通過注冊融合和環境感知將虛擬維修指導信息融合到真實維修場景中,完成了自行火炮常見故障相應部件的故障數據查詢、切面分析、原理展示,通過運動追蹤以虛實人機自然交互的方式逐步完成所遇故障的維修拆裝和故障件更換。當所遇問題難以解決時,還可通過請求遠程專家在線指導的方式進行解決。
3) 結果表明該系統具有良好的實時性和可操作性,實現了維修學習和實操同時進行,從而掌握自行火炮各種故障維修過程。使該系統在自行火炮維修培訓中具有廣闊的應用前景。