葛從兵,陳 劍,嚴吉皞
(南京水利科學研究院,江蘇 南京 210029)
水庫大壩是我國經(jīng)濟社會發(fā)展的重要基礎設施,在發(fā)揮效益的同時,也存在一定的風險,一旦失事,后果不堪設想。通過布設監(jiān)測設施進行日常觀測,可以反映大壩安全性態(tài)。但監(jiān)測設施僅能監(jiān)測到點,不能全面覆蓋水庫大壩,存在漏檢和盲區(qū)[1],僅有少部分安全隱患是由監(jiān)測設施發(fā)現(xiàn)的,大部分是由水庫管理人員、附近居民和游客發(fā)現(xiàn)的。因此,相關規(guī)范[2-3]明確規(guī)定水庫大壩巡視檢查是大壩安全監(jiān)測的重要組成部分。對于沒有監(jiān)測設施或監(jiān)測設施損壞的大部分中小型水庫,水庫大壩巡視檢查對保障水庫大壩安全運行尤為重要。但近年來發(fā)生的水庫安全事件,都是附近居民最先發(fā)現(xiàn),而非水庫管理人員在日常巡視檢查中發(fā)現(xiàn),這說明一些水庫大壩巡視檢查工作未達到要求,存在工作不規(guī)范、能力不足等問題。所以,開展水庫大壩巡視檢查培訓十分必要。
我國現(xiàn)有水庫大壩98 000多座,水庫大壩管理人員多,傳統(tǒng)培訓方式覆蓋面窄、成本高、時間長。鑒于此,本文研究嚴肅游戲[4],應用BIM[5]、三維建模[6]和3D引擎[7]等技術,研發(fā)基于Unity3D[8-10]的水庫大壩巡視檢查培訓系統(tǒng);通過互聯(lián)網(wǎng),對水庫大壩管理人員進行培訓和考核,提高水庫大壩巡視檢查水平。
嚴肅游戲是以應用為目的,以知識傳遞、專業(yè)訓練和模擬為主要內(nèi)容的游戲,已經(jīng)廣泛應用于培訓、教育、科研、軍事、醫(yī)學、工業(yè)等領域,與水庫大壩巡視檢查網(wǎng)絡培訓需求相切合。借鑒嚴肅游戲理念,水庫大壩巡視檢查培訓系統(tǒng)由數(shù)據(jù)層、模型層和應用層組成,系統(tǒng)架構見圖1。數(shù)據(jù)層存儲用戶、巡視檢查知識、訓練方案、考核方案和考核成績等資料,為應用層提供數(shù)據(jù)儲備。模型層包括基礎環(huán)境、大壩BIM模型、巡檢點模型和缺陷模型等,為應用層提供模型支撐?;A環(huán)境采用Unity3D構建,大壩BIM模型采用BIM軟件根據(jù)大壩平面分布圖和大壩橫斷面分布圖建立,巡檢點模型和缺陷模型采用三維建模軟件根據(jù)巡檢點照片和缺陷照片建立。模型層通過集成和融合這些模型,仿真水庫樞紐場景。應用層基于數(shù)據(jù)層和模型層,應用Unity3D圖形用戶界面(UGUI)顯示巡視檢查知識,采用腳本(Script)控制第一人稱控制器(RigidBodyFPSController)視角,實現(xiàn)巡視檢查訓練、巡視檢查考核及系統(tǒng)管理。
圖1 系統(tǒng)架構Fig. 1 System architecture
水庫大壩巡視檢查培訓系統(tǒng)功能有巡視檢查知識、巡視檢查訓練、巡視檢查考核和系統(tǒng)管理。巡視檢查知識顯示不同類型巡視檢查的頻次要求、人員要求、主要方法和主要設備,以及巡視檢查部位和可能存在的缺陷類型。巡視檢查訓練以第一人稱控制器視角自動行進,遍歷所有巡檢點和缺陷,到達巡檢點時,顯示巡檢點及其類型、樁號和壩軸距;到達缺陷附近處時,顯示缺陷及其類型、樁號和壩軸距。巡視檢查考核隨機設置缺陷出現(xiàn)與否;當巡檢員行進至RFID[11]或GNSS[12]類型巡檢點,給出到位提醒;提供記錄視窗供巡檢員隨時記錄到達的巡檢點和發(fā)現(xiàn)的缺陷;根據(jù)巡檢員到達巡檢點和發(fā)現(xiàn)缺陷的情況,進行考核評分。系統(tǒng)管理對用戶和參數(shù)進行管理。
三維建模可以采用BIM建模,也可以采用三維軟件建模。BIM建模比三維軟件建模精度高,信息量大,但真實感和美觀不如三維軟件建模。本文對大壩采用BIM建模,對巡檢點和缺陷采用三維軟件建模。大壩建??梢詮?開始,本文利用已有AutoCAD圖建模,可減少建模工作量。
(1)分布圖導入。在BIM軟件立面視圖中,建立基巖面、馬道、壩頂?shù)葮烁?;在基巖面視圖中,導入AutoCAD格式的大壩平面分布圖;在有大壩橫斷面分布圖的位置創(chuàng)建剖面視圖,導入相應的AutoCAD格式的大壩橫斷面分布圖(圖2)。
圖2 大壩結(jié)構Fig. 2 Dam structure
(2)體量模型建立。采用BIM軟件的內(nèi)建體量功能,為大壩的土層、心墻、反濾層、排水棱體、上游護坡、下游護坡等建立體量模型。在各個大壩橫斷面分布圖的剖面視圖中,應用繪線或繪矩形工具,重新繪制各個大壩橫斷面分布圖上相應部分的封閉輪廓線;在三維視圖或分析模型視圖中,選擇所有大壩橫斷面分布圖上的封閉輪廓線,應用創(chuàng)建實心形狀功能,建立體量模型。
(3)地形表面創(chuàng)建。在場地視圖中,導入AutoCAD格式的大壩平面分布圖,應用通過導入創(chuàng)建表面功能,選擇大壩平面分布圖上等高線,創(chuàng)建兩岸山坡地形表面。
大壩BIM模型見圖3。
圖3 大壩BIM模型Fig. 3 Dam BIM model
巡檢點包括普通巡檢點、二維碼巡檢點、RFID巡檢點和GNSS巡檢點等,缺陷種類較多,包括裂縫、沉陷、隆起、滲水、管涌和流土等。巡檢點和缺陷模型采用三維建模軟件創(chuàng)建。
在三維建模軟件中,首先創(chuàng)建標準基本體,一般為長方體,利用轉(zhuǎn)換功能,將其轉(zhuǎn)為可編輯多邊形。然后進行基本體修改,在修改視窗中,選擇可編輯多邊形的頂點、邊、邊界、多邊形、元素,應用擴展欄中工具對長方體整體或局部進行修改,獲得所需形狀。最后進行材質(zhì)添加,在三維建模軟件中,打開材質(zhì)編輯器新增材質(zhì),將新材質(zhì)的漫反射通道設為位圖,選擇渲染貼圖,再將新材質(zhì)指定給修改后的長方體。
2.3.1 基礎環(huán)境創(chuàng)建 在Unity3D中,應用New Scene功能,創(chuàng)建基礎場景,包含攝像機和方向光;應用Terrain功能創(chuàng)建地形,Paint Height功能調(diào)整各處高程,Add Terrain Texture功能繪制紋理,Add Tree功能添加樹,Add Grass Texture功能添加草皮;將水預制件添加至場景,調(diào)整其大小和位置,形成水庫水體;將方向光的Shadow Type設為Hard Shadows,為方向光添加陰影;在Lighting視窗中,將Skybox Material設為Sunny1 Skybox,為場景添加天空盒,在Other Settings中選中Fog,為場景添加霧效。
2.3.2 大壩BIM模型集成 在BIM軟件中,將大壩BIM模型導出為fbx格式文件;在Unity3D中,采用文件復制方式導入fbx格式文件,形成大壩預制體;將大壩預制體添加場景,通過移動、旋轉(zhuǎn)、縮放,將大壩模型部署在兩個山體之間,如大壩與兩端山體銜接不好,應用Paint Height功能調(diào)整山體范圍和高度。
2.3.3 巡檢點和缺陷模型融合 在三維模型軟件中,將巡檢點和缺陷模型導出為fbx格式文件;在Unity3D中,采用文件復制方式導入fbx格式文件,形成巡檢點預制體和缺陷預制體;將巡檢點預制體和缺陷預制體添加至場景,通過移動、旋轉(zhuǎn)、縮放,將巡檢點和缺陷部署至大壩表面,使巡檢點和缺陷與大壩融為一體。
2.3.4 角色控制 將第一人稱控制器預制體添加至場景,巡檢員以第一人稱控制器視角對大壩進行巡視檢查;由于第一人稱控制器自帶攝像機,刪除場景中原攝像機;依次為壩頂、防浪墻、馬道、上游護坡、下游護坡和兩側(cè)山體創(chuàng)建立方體,通過移動、旋轉(zhuǎn)、縮放使立方體與上述對象表面完全吻合;全選所有立方體,在Inspector視窗選中Box Collider,不選Mesh Renderer,使這些立方體阻擋第一人稱控制器穿透大壩表面,且不在場景中渲染。
水庫大壩巡視檢查培訓系統(tǒng)運行在x86服務器上,要求CPU主頻2.0 GHz以上,內(nèi)存4 GB以上,硬盤500 GB以上,操作系統(tǒng)Windows Server 2008以上,數(shù)據(jù)庫MySQL 5.7以上,中間件Tomcat 8.0以上??蛻舳艘笫褂弥髁鳛g覽器。
巡視檢查知識功能采用文本(Text)控件顯示巡檢頻次、巡檢人員、巡檢方法、巡檢設備。巡視檢查內(nèi)容較多,將其轉(zhuǎn)換為圖片,在滾動視圖(Scroll View)里顯示,可以上下滾動。
(1)導航。設置導航點,構建覆蓋巡檢點和缺陷部位的導航路徑,使巡檢員按順序自動到達巡檢點,查看缺陷部位。為保證視角水平,避免上下抖動,每個導航點設置兩個目標對象:目標點和視角點。目標點在行進的道路上,是巡檢員要到達的地點;視角點在目標點上方1.5 m處,是巡檢員視角方向點。巡檢員走向下一個導航點時,首先用transform.LookAt(視角點)方法使巡檢員朝向?qū)Ш近c,然后用transform.position =Vector3.MoveTowards (transform.position, new Vector3 (目標點三維坐標), speed * Time.deltaTime)語句向?qū)Ш近c逐步行進。
(2)巡檢點和缺陷提示。巡檢員行進至導航點,通過Vector3.Distance(巡檢點位置, transform.position) <3查找距導航點3 m內(nèi)的巡檢點,Vector3.Distance(缺陷位置, transform.position) < 15查找距導航點15 m內(nèi)的缺陷,并顯示符合條件的巡檢點或缺陷的信息。
(3)訓練流程。巡檢員,即第一人稱控制器按照導航點順序在大壩上自動行進;到達導航點,搜尋附近巡視點和缺陷;將視角轉(zhuǎn)向巡視點或缺陷,顯示相關信息,等待巡檢員確認后繼續(xù)。
(1)缺陷設置。每次考核,顯示不同的缺陷,以便檢查巡檢員發(fā)現(xiàn)缺陷的能力。缺陷顯示與否,采用隨機函數(shù)確定。在[0,100]之間生成一個小于50的條件數(shù),盡可能保證顯示50%以上的缺陷;針對每一個缺陷,在[0,100]之間生成一個隨機數(shù),隨機數(shù)大于條件數(shù),則顯示該缺陷。
(2)到位提醒。巡檢儀能夠近距離感應RFID巡檢點,而GNSS巡檢點不可見,需巡檢儀根據(jù)定位信息確定是否到位。因此,巡視檢查考核時,系統(tǒng)模擬巡檢儀,對RFID巡檢點和GNSS巡檢點進行到位提醒。巡檢員行進過程中,系統(tǒng)采用Vector3.Distance(巡檢點位置, transform.position)方法持續(xù)計算RFID巡檢點和GNSS巡檢點與巡檢員之間距離。當距離小于3 m時,顯示巡檢點到位。
(3)記錄。考核時,當巡檢員人員認為到達巡檢點或發(fā)現(xiàn)缺陷,可以單擊“巡檢點到位”或“缺陷記錄”進行記錄。巡檢點到位,可選擇巡檢點類型,但樁號和壩軸距不能修改,以保證真實地記錄巡檢員實際到達位置。缺陷記錄,可選擇缺陷類型,樁號和壩軸距可以根據(jù)估算填寫,為了保證位置準確,巡檢員盡可能靠近缺陷部位。
(4)評分。根據(jù)巡檢點和缺陷記錄計算考核成績。比較類型、樁號和壩軸距等信息,確定記錄中巡檢點和缺陷是否為系統(tǒng)設置的巡檢點和缺陷。如是,將按比例得分;否則,按比例扣分,以防巡檢員任意填寫。
依據(jù)水庫大壩巡視檢查要求,建立存儲用戶、巡視檢查知識、訓練方案、考核方案和考核成績等內(nèi)容的數(shù)據(jù)庫。應用BIM軟件,根據(jù)大壩平面分布圖和大壩橫斷面分布圖建立大壩BIM模型;應用三維建模軟件,根據(jù)巡檢點照片和缺陷照片建立巡檢點模型和缺陷模型;應用Unity3D,集成和融合大壩BIM模型、巡檢點模型和缺陷模型,仿真水庫樞紐場景。在數(shù)據(jù)庫和模型基礎上,應用UGUI和腳本研發(fā)基于Unity3D的水庫大壩巡視檢查培訓系統(tǒng)。水庫大壩巡視檢查培訓系統(tǒng)能夠向用戶傳授巡視檢查知識,對用戶進行巡視檢查訓練和考核。水庫大壩巡視檢查培訓系統(tǒng)是一個突破時空限制的水庫大壩巡視檢查訓練和考核網(wǎng)絡平臺,具有覆蓋面廣、培訓成本低、培訓時間短等特點,水庫管理人員可隨時隨地訪問該系統(tǒng),接受巡視檢查訓練和考核,提高水庫大壩巡視檢查水平。