李瑞杰,郭向坤
1(中國科學院大學,北京 100049)
2(中國科學院 沈陽計算技術研究所,沈陽 110168)
混合現實技術[1]是在虛擬現實技術基礎上發展起來的,該技術在現實環境中引入虛擬增強信息,實現真實環境與虛擬增強信息的交互,創建一個虛實融合的全新環境,增強用戶體驗的真實感.基于混合現實的管網巡檢系統就是混合現實技術在管網方面的全新應用,改善了傳統管網的巡檢方式.
美國的北卡羅來納大學的學者將虛擬現實技術應用在了分子建模、建筑仿真、航空駕駛和外科手術仿真等領域.同時,美國的科技公司成功將虛擬現實技術應用與石油管道的維修中,完成對維修工作的指導.國內很多學者和公司正在嘗試將混合現實技術應用于各個領域,北京超圖將增強現實技術引入到GIS 系統中,增強GIS 系統的展現能力.目前混合現實技術尚未深入應用于管網巡檢.傳統的管網巡檢都是“移動端/Web 服務器”模式,管網巡檢的研究多集中于對傳統管網巡檢模式的改進[2,3],或者是對特定管線的巡檢的改進,例如電力管線[4,5]、海底管道[6,7],傳統管網巡檢模式中,巡檢人員手持移動端,憑借經驗和移動端屏幕顯示的內容來對管道的位置以及管道間空間位置關系做出判斷,管網間空間位置易于出現誤判.借助混合現實頭顯設備直接查看到地下管網空間結構,虛擬管道的位置、尺寸和角度等都是通過混合現實技術根據管道的真實數據構建而來.巡檢人員通過混合現實頭顯設備不僅可以觀察到真實環境信息,還能觀察到虛擬地下管道,具備“看穿路面”的能力,提高管網巡檢的效率,避免誤判的產生.本文主要針對管網模型動態構建的相關問題展開研究和實驗.針對管網模型定位問題,設計出了一種空間坐標轉換方法來完成虛擬管網與真實管網的空間映射.針對管網模型的構建與優化問題,提出一種管網動態構建和優化方法實現管網動態加載和局部連接處的平滑處理.
系統的整體架構分為3 層:數據服務層、移動應用層、混合現實應用層.管網巡檢系統的框架結構圖如圖1所示.本文中混合現實設備采用微軟的第一代HoloLens,由于該設備不具備定位功能,需要使用輔助設備來實現定位,借助具有定位功能的移動端完成定位功能.
數據服務層主要由管網空間數據、管網屬性數據、巡檢業務數據等數據信息通過GIS 軟件以地圖服務形式提供數據服務功能.本研究中采用ESRI 的ArcGIS 軟件來實現管網地圖服務的發布,為整個系統提供地圖服務.通過地圖服務提供管網的空間數據信息和管徑、流量、管壓等管道屬性信息的讀取服務.

圖1 管網巡檢系統整體架構圖
移動應用層主要完成空間定位,管網數據坐標轉、管網數據動態加載和管網數據的緩存.移動用于端選用具有空間定位功能的安卓手機作為載體,主要負責以下幾個功能:(1)信息獲取:從地圖服務器中獲取管網動態構建的相關信息,這些信息包括管道空間數據信息和管道的屬性信息.(2)定位:利用GPS 功能為整個系統提供定位服務,并以手機終端所在空間位置作為混合現實頭顯設備生成的虛擬世界的原點,完成管道的空間坐標轉化到混合現實的坐標系中.該功能將在第2.1 節中進行詳細的描述.(3)數據傳輸:將獲取到的管網信息進行篩選整個后,以廣播的形式向外發送,這樣就可以使多臺混合現實頭顯設備接收到信息.
混合現實應用層主要完成虛擬信息和真實環境的虛實融合、管網的動態構建、虛擬管網的動態優化、虛擬管網的動態交互等功能.混合現實設備終端主要根據從移動終端接收到的管道空間位置信息在混合現實設備端的坐標系的對應位置處動態構建及優化管網模型以及制作可視化界面用來顯示管道的屬性信息和運行信息.本文中主要討論管網模型動態構建及優化和驗證定位的準確性,將在第2.2 節中進行詳細的描述.
本節主要對管道空間坐標轉化和管網模型動態構建及優化等關鍵技術進行介紹.混合現實設備端對管網進行動態構建必須要解決以下兩個問題:(1)在何處建模:即需要解決管網模型的定位問題.(2)如何建模:即設計一種方法能夠在程序運行時動態的構建管網模型并能夠對管網模型進行優化使得模型變得真實,不再生硬.
管網的定位是為了解決“在何處建模”的問題.從地圖服務器中獲取的是管網在真實地理信息系統下的三維空間坐標,該坐標是采用WGS84 坐標系[8,9]的投影坐標,需要將該坐標系中的管道坐標轉換成混合現實設備中平面坐標系下的坐標.
2.1.1 WGS84 坐標系與混合現實坐標系
WGS84 坐標系:為了便于地形圖的測量作業,在WGS84 坐標系的高斯-克呂格投影帶內布置了平面直角坐標系統,其中規定中央經線為X 軸,赤道為Y 軸,中央經線與赤道交點為坐標原點,x值在北半球為正,南半球為負,y值在中央經線以東為正,中央經線以西為負.GPS 衛星測得的坐標都是采用的WGS84 坐標系.
混合現實坐標系:該坐標系以移動終端所在的空間點為坐標系的原點,以混合現實設備端視野的正前方為坐標系Z 軸,視野的右側為X 軸,正上方為Y 軸建立空間坐標系.
2.1.2 坐標系轉換
在進行坐標轉換時,將經緯度信息轉換為混合現實坐標系X 軸和Z 軸的信息,Y 軸信息即為管道的高程信息.將高斯-克呂格投影帶內布置的平面直角坐標系轉化到unity 坐標系中,具體公式如式(1)所示:

xm和ym是手機經緯度轉換的平面坐標,xp和yp是從地圖服務器中獲取的管道的點轉化成的平面坐標的信息,其中xu和zu是真實地理環境中管道轉換到混合現實坐標系中點對應的坐標.因為地圖服務器中的坐標系和混合現實中的坐標系的Y 軸和Z 軸是相反的,所以轉換后Y 軸對應的信息正是混合現實設備Z 軸對應的信息.
2.1.3 方向角的校正與偏移
由于在校準過程中手機的方向角與混合現實端的方向角很難達成一致,所以必須對手機方向角和混合現實方向角進行校正.具體方法如式(2)所示:

其中,A為手機端測得的方位角,Rc為混合現實端的偏向角,如果R<0,則令R=R+360.
最后進行偏移得到最終點的坐標.方法如式(3)所示:

其中,x,y,z是最終點的坐標,Xc,Zc分別是混合現實設備在X 軸和Z 軸上的坐標,Yc是從ARCGIS 服務器中獲取的管道的點的高程信息.x',z'分別是方向角校正之后的坐標.
根據坐標信息如何對管網模型進行動態構建,采用什么方法對構建好的模型進行優化是增強用戶體驗真實感的重點.
2.2.1 構建模型的方法
由于管網多是線性特征的形狀,在ArcGIS 中是以Polyline (折線)要素來進行存儲的.折線是由串聯連接的段構成,每個段限定一個起點一個終點,起點和終點之間是一條連續的直線.將起點和終點分別作為模型兩端的中心點,建立圓柱體三維模型用來仿真管道,圓柱底面直徑為管道真實管徑.這樣可以真實的反映管道間的空間位置關系,便于管網施工,避免檢修過程中產生挖斷,挖錯管道的情況.
2.2.2 弊端及優化
弊端:由于虛擬管網中的每條管道都是單獨進行建模的,管道與管道之間不存在聯系,導致管道與管道之間的銜接處會出現如圖2所示的情況.

圖2 管網建模弊端圖
優化:上述弊端是管道單獨建模,彼此之間互不影響造成的.而真實的管道是不可能獨立存在的,相鄰兩條管道的銜接處都會有彎頭將兩條管道連接在一起.正是由于各個管道相互交織組成了管道網絡.對上述問題進行優化,本文采用觸發器動態加載預制體的方式.當兩條管道需要進行銜接時,模型中的一部分一定會重合就會觸發觸發器函數.在該函數中依據兩條管道銜接方式的不同選擇不同的銜接預制體去進行優化,銜接方式根據形狀可以分為V 型、L 型、I 性、T 型、十字型、X 型和Y 型等等,銜接點即為模型的中心點.利用預制體制作技術提前將需要的預制體進行制作,并使用不同的材質球進行渲染,使銜接預制體和管道模型容易區分.銜接預制體的尺寸可以根據管道管徑進行動態調整,這樣可以使得建模更加的真實.
(1)L 型特點:兩條管道有一個公共頂點且另一個頂點不在另一條管道所在直線上,兩條管道互相垂直.L 型預制體由互相垂直的兩個部件組成,其模型如圖3所示.

圖3 L 型預制體
(2)I 型特點:兩條管道在同一直線.這種情況如果不加以處理會讓操作者誤認為是一條管道,從而造成漏查的情況.I 型預制體的模型如圖4所示.

圖4 I 型預制體
(3)T 型特點:一條管道的一個端點在另一條管道上(兩端點除外),且兩條管道互相垂直.T 型預制體由相互垂直的兩個部件組成,其模型如圖5所示.
(4)十字型特點:兩條管道垂直,4 個頂點皆不相同并且不在另一條管道上.十字型預制體是由互相垂直的兩個部件組成,其模型如圖6所示.
(5)V 型、X 型和Y 型特點:這3 種情況分別為L 型、十字型和T 型的特殊情況,因為兩條管道不垂直且兩條管道的夾角是不確定的,可以分別使用L 型、十字型和T 型預制體,因為預制體的兩個部分可以自由旋轉可以適用于任何夾角.

圖5 T 型預制體

圖6 十字型預制體
銜接方式的具體判斷流程如圖7所示:通過流程圖可以看出,本文提出的判斷銜接預制體的方法主要是通過對相鄰管道端點所在空間直線的位置關系來判斷的.主要過程如下:
(1)根據兩條管道的兩個端點進行判斷,如果兩條管道存在一個公共頂點則執行(2).如果沒有,則執行(4).
(2)判斷管道1 的另一個端點是否在管道2 所在直線上,如果是,則銜接類型為I 型.如果不是則執行(3).
(3)判斷兩條管道所在直線是否垂直,如果是,則銜接類型為L 型,若不是,則銜接類型為V 型.
(4)判斷兩條管道所在直線是否垂直,如果不是,則銜接類型為X 型或Y 型,如果是則執行(5).
(5)判斷管道1 的某個端點是否在管道2 所在線段上,如果是,則銜接類型為T 型,如果不是,則銜接類型為十字型.
選擇好正確的預制體后,接下來就是對預制體進行自身姿態的調整.該調整主要包括旋轉、平移和縮放操作.其中旋轉調整使其能夠準確地進行銜接.以下以L 型銜接為例,描述旋轉過程.L 型銜接可以抽象成如圖8所示的數學模型.
圖8中兩條管道分別為AB和A1B1,點B 和點A1為兩條管道的公共頂點,也是L 型預制體的坐標原點.根據圖8的數學模型圖和圖3的L 型預制體所示,我們只需要將預制體的兩個部件分別做旋轉調整,即可達到想要的效果.以其中一個部件為例,計算出相對于以B點為原點的空間坐標系水平旋轉(繞Y 軸旋轉)了多少度.如圖9所示為繞Y 軸旋轉圖.

圖7 銜接方式判斷流程圖

圖8 L 型銜接的數學模型

圖9 繞Y 軸旋轉圖

在unity 坐標系中,如圖9所示的情況,順時針旋轉為正方向,具體分為以下幾種情況:
令x=x1?x2,z=z1?z2:
(1)x為正數,z為負數,旋轉角為y.
(2)x為0,z為負數,旋轉角為90°.
(3)x為負數,z為負數,旋轉角為y+90°.
(4)x為負數,z為0,旋轉角為180°.
(5)x為負數,z為正數,旋轉角為y+180°.
(6)x為0,z為正數,旋轉角為270°.
(7)x為正數,z為正數,旋轉角為y+270°.
使用同樣的方法可以計算出部件1 需要繞X 軸、Z 軸旋轉的角度.再次計算出繞3 個坐標軸的旋轉角度,使L 型預制體的部件2 分別繞3 個坐標軸進行旋轉,便可以使L 型預制體與管道正確的銜接.其他類型的銜接預制體的旋轉都可以仿照L 型銜接預制體的旋轉方法進行旋轉.
由于管道的銜接點就是預制體的生成位置,所以不需要進行平移操作.針對縮放操作,只需要將預制體的每個部件的尺寸調整為管道直徑即可.至此,就完成了預制體自身姿態的調整.
本文采用微軟的Hololens 混合現實設備作為混合現實終端,采用小米max2 作為移動終端,采用ArcGIS Server 進行地圖服務發布,以所在園區的局部自來水管網為例進行測試實驗.
大區域范圍內管網數據量龐大,移動端無需全部一次性全部進行下載,系統依據終端位置信息進行動態局部下載和緩存.依據實驗本文動態獲取移動終端周邊500 m 范圍內的管網數據并進行計算和緩存.混合現實設備端只需顯示周邊100 m 范圍內的管網數據便能滿足對管網巡檢的需要,當混合現實終端移動時,動態從移動終端中讀出緩存管網信息,并進行動態繪制和融合顯示.同時,通過閾值限制來觸發移動端進行地圖數據獲取和處理.
根據上文第3 部分提到的坐標轉換公式、方向角的校正與偏移公式,可以根據管道在真實地理信息系統下的坐標計算出管道在混合現實端坐標系中的坐標.其中部分數據的轉換如表1(表中數據精確到小數點后4 位):其中手機的維度為北緯41.741 499 25 度,經度為東經123.540 342 04 度,GPS 方位角91.081 440 016 144 63轉換后的點的平面坐標為(544 877.372 493 4 395,4 623 114.573 027 286).

表1 以手機為原點管道在坐標系中的相對位置
轉換前Z 軸坐標與轉換后Y 軸坐標屬于高程信息,不需要進行坐標轉換,所以沒有在表中進行陳列.
混合現實設備端依據這些數據對管網進行初步建模,得到如圖10所示模型,移動端獲取到管網信息后,在移動終端繪制的地圖中顯示.如圖11所示.

圖10 混合現實設備端顯像圖

圖11 手機地圖中管網繪制圖
在圖10中,淺藍色光點處是實驗時操作人員所在的位置,灰白色的模型為混合現實設備端根據從手機端獲取的管道數據生成的管網模型,圖11中藍色光點為操作人員現在所在的位置,紅色加號處為操作人員開啟程序時所在位置,綠色光圈表示周圍100 米的范圍.可以看出,隨著操作人員的移動,程序可以動態獲取周圍100 米范圍內的管網數據.紅色的線條為管網的實際位置及形狀.通過對比以上兩張圖可以清晰看到混合現實設備生成的管網模型的位置是準確的.
將銜接類型判斷、銜接預制體選擇和銜接預制體旋轉的相關邏輯編成單獨的腳本,在動態生成管道模型時動態加載到每一條管道模型.效果圖如圖12~圖16所示.
從圖12~圖16可以看出,利用文中提到的方法,通過對管道銜接處的特征進行分析,可以正確地選擇出銜接預制體,而且銜接預制體相對于自身坐標系已經進行了姿態的調整,銜接預制體與對管道模型銜接處的優化也達到了預期的目標.

圖12 L 型銜接處效果圖

圖13 I 型銜接處效果圖

圖14 T 型銜接處效果圖

圖15 十字型銜接處效果圖
為了能夠在混合現實設備端動態的、準確的生成管網模型,本文針對構建管網模型的兩大問題展開討論.其中針對管網定位問題,本文提出了將管道真實地理坐標轉化成混合現實坐標系中坐標的方法.針對管網模型的構建與優化問題,本文提出了管網動態構建方法、利用預制體對管網模型銜接處進行優化的方法和預制體模型姿態調整方法.最后以所在園區的局部自來水管網為例進行測試,實驗結果表明:通過文中提出的方法可以將虛擬模型與真實管網進行準確的空間融合,能夠對虛擬管道銜接處進行平滑處理,清晰直觀展現管道的空間關聯關系.
本文提出的管道定位方法仍有改進之處.管網模型優化方面,除了對銜接處優化之外,尚未考慮其他方面的優化.為了提高用戶的體驗,虛擬管網操作交互方面還需要進一步的完善.

圖16 V 型銜接處效果圖