楊大山
(1.煤炭科學技術研究院有限公司,北京 100013; 2.煤礦應急避險技術裝備工程研究中心,北京 100013; 3.北京市煤礦安全工程技術研究中心,北京 100013)
在我國能源開發領域中,煤炭占據主要地位,隨著煤炭開采工作的深入,煤礦事故發生的概率不斷提高,在此背景下國家開始高度重視煤炭生產的安全性,逐漸降低了煤炭事故的死亡人數和事故的發生概率[1]。但煤炭開采過程中的影響因素較多,無法完全避免事故的發生[2-3]。為了降低煤炭事故的傷亡率,需要設計一款有效的煤礦突發事件協同應急演練系統,對煤炭工人展開應急訓練,提高其逃生技能。
國內一些學者根據訓練環境、組訓者、訓練方法和訓練內容等要素之間存在的關系,通過系統管理模塊、導調控制模塊、評判模塊、應急指揮控制模塊等構成應急演練系統[4]。有研究者采用情景構建方法仿真應急場景,在邏輯正向推演模擬的基礎上通過構建應急情景、推演災害情景和救援情景完成應急演練[5]。在上述方法的基礎上,為了進一步減少煤礦突發事件中的人員傷亡,降低經濟損失,本文提出了基于Unity 3D的煤礦突發事件協同應急演練系統設計方法。本文設計的系統基于的是B/S架構,設計了煤礦突發事件協同應急演練系統的整體框架。將該體系分為數據層、服務層、Web服務層、客戶層。系統主要包括系統管理、GIS圖形分析、救援信息管理、預案管理、應急演練培訓、危險管理等模塊。在系統的軟件中加入Unity3D技術,采用ARPG的方式進行礦井安全事故模擬。
基于Unity 3D的煤礦突發事件協同應急演練系統設計方法在B/S結構[6-7]的基礎上設計應急演練系統的體系結構,如圖1所示。

圖1 應急演練系統體系結構Fig.1 Architecture diagram of emergency drill system
(1)表現層。該層的主要任務是接收并返回用戶的請求,并通過JavaScript[8]生成用戶在系統中的交互界面(HTML頁面),在瀏覽器端用戶輸入煤礦突發事件的相關信息,表現層采集上述信息,并根據采集的信息向用戶返回相應的數據。
(2)服務層。煤礦突發事件協同應急演練系統中服務層屬于中心層,該層中包括軟件平臺和基礎應用模塊,主要由GIS應用服務器和Web服務器2個部分構成。
(3)數據層。該層由以下2個數據庫構成:①MySQL數據庫,主要用于存儲應急演練系統中存在的煤礦數據,并通過SQL語句在該數據庫處理、查詢和分析煤炭突發事件的預案數據、設備物資數據和救援機構數據等。②空間信息數據庫,該數據庫由超圖軟件組建而成。
所提方法設計的煤礦突發事件協同應急演練系統由系統管理模塊、GIS圖形分析模塊、救援信息管理模塊、預案管理模塊、應急演練培訓模塊和隱患管理模塊構成,系統功能結構如圖2所示。

圖2 煤礦突發事件協同應急演練系統功能結構圖Fig.2 Functional structure diagram of collaborative emergency drill system for coal mine emergencies
(1)系統管理模塊。該模塊的主要任務是分配用戶在煤礦突發事件協同應急演練系統中的權限,在運行過程中保障應急演練系統的安全性和完整性。
(2)GIS圖像分析模塊。該模塊的功能包括事故信息圖形化、地圖瀏覽和圖層控制層。
(3)救援信息管理模塊。在煤礦突發事件協同應急演練過程中該模塊涉及了法律法規、救援隊伍、安全技術措施和救援物資等。在煤礦突發事件發生時,救援信息管理模塊可以在短時間內獲取相關人員的資料,調用物資設備的同時聯系救援專家和救援人員展開救援。
(4)預案管理模塊。在該模塊中建立煤礦突發事件協同應急案例庫,發生新的煤炭突發事件時,在應急案例庫中尋找匹配度最高的案例,縮短救援和避難所需的時間。
煤礦突發事件協同應急案例包括多種屬性,基于Unity 3D的煤礦突發事件協同應急演練系統設計方法根據文本型屬性和數值型屬性的相似度,計算煤礦突發事件協同應急案例的全局相似度,具體步驟如下:
①通過公式(1)歸一化處理煤礦突發事件協同應急案例的數值屬性xij:

(1)
式中,maxxi、minxi分別為屬性的最大值和最小值。
②采用歐氏距離[9-10]通過式(2)計算源案例與目標案例數值型屬性之間的局部相似度:

(2)
式中,wj為屬性對應的權重;Yj為源案例數值型屬性。
基于Unity 3D的煤礦突發事件協同應急演練系統設計方法采用模計算方法計算文本型屬性之間的相似度sim(xij,Yj)b:
(3)
③根據上述計算結果獲得煤礦突發事件協同應急案例的全局相似度sim(xij,Yj):
sim(xij,Yj)=∑sim(xij,Yj)a+sim(xij,Yj)b
(4)
全局相似度越高,表明針對目標案例與源煤礦突發事件協同應急演練案例越匹配,可以在該案例的基礎上展開應急救援物資的調配。
(5)應急演練培訓模塊。煤炭突發事件安全考試和應急演練培訓[11-12]是該模塊在系統中的主要任務,以提高煤礦人員的知識水平以及在事故發生時的應對能力。
(6)隱患管理模塊。該模塊主要負責統計、排查與管理煤礦生產過程中存在的水頂板、瓦斯、水災和煤塵等安全隱患。
根據系統的功能模塊,通過3dsmax[13]構建動畫模型和三維模型,分別采用Audition和PhotoShop軟件處理音頻和貼圖,在Unity3D平臺[14-15]中導入處理后的數據,以ARPG的游戲形式對煤礦人員展開應急演練。
(1)界面交互。基于Unity 3D的煤礦突發事件協同應急演練系統設計方法通過NGUI插件開發系統的軟件界面,將Unity3D引擎默認的操作方式引入界面的交互控制過程中[16-17]。
(2)場景控制。煤礦突發事件應急協同演練過程中的狀態管理、游戲管理和場景加載等工作利用系統軟件中的場景控制模塊完成。利用Building Set在Scenes In Build列表中添加煤礦突發事件協同應急演練所需的場景。將靜態成員函數LoadLevel()引入場景控制中,完成場景的加載。游戲管理的主要工作是控制游戲的狀態,包括繼續狀態和暫停狀態。
(3)劇情任務。劇情任務由2部分構成:①劇情元,劇情元在劇情任務模塊中的主要工作是管理應急演練過程中的道具、決策和相機。②劇情線,劇情線在劇情任務模塊中的主要任務是執行游戲流程。在系統中,劇情任務模塊決定了應急場景的任務,其工作流程如圖3所示。

圖3 劇情任務流程Fig.3 Plot task flow chart
(4)場景渲染模塊。動畫、三維模型、材質、陰影和光照等在場景中的渲染主要是在場景渲染模塊中通過Occlusion Culling完成[18-19]。在渲染過程中,引入粒子系統對水災、爆炸和火災等災害中的粉塵、火焰、水花和煙霧等特效展開模擬。
(5)角色動作模塊。角色動畫在煤礦突發事件協同應急演練系統中包括前進和后退等基本動作,基于Unity 3D的煤礦突發事件協同應急演練系統設計方法將Unity3D中的MecAnim動畫系統引入軟件的角色動作模塊中,構建角色動畫控制器(圖4)刻畫系統中的人形角色[20]。

圖4 角色動畫控制器Fig.4 Character animation controller
(6)進度存檔模塊。煤礦突發事件協同應急演練的進度可通過進度存檔模塊完成存檔。在可視化編輯界面的基礎上利用UnitySerializer保存并標記物體的狀態。
為了驗證基于Unity 3D的煤礦突發事件協同應急演練系統設計方法的整體有效性,通過系統響應事件、錯誤率、吞吐量和傷亡人數對其展開測試。應急演練系統界面如圖5所示。

圖5 煤礦突發事件協同應急演練系統界面Fig.5 Interface of coal mine emergency coordination and emergency drill system
(1)平均響應時間。在發生煤礦突發事件時,測試基于Unity 3D的煤礦突發事件協同應急演練系統設計方法的平均響應時間,平均響應時間越短,表明應急時間越短,測試結果如圖6所示。

圖6 系統平均響應時間Fig.6 System average response time
由圖6可知,基于Unity 3D的煤礦突發事件協同應急演練系統在不斷地迭代學習過程中縮短了系統的平均響應時間,該系統在預案管理模塊尋找與當前應急時間匹配度最高的應急案例,在應急案例的基礎上展開應急演練,縮短了系統的平均響應時間。
(2)錯誤率。錯誤率越低,表明系統演練的精度越高。并對比應用本文系統和未應用本文系統直接開展應急演練的錯誤率。錯誤率結果如圖7所示。

圖7 不同方案的錯誤率Fig.7 Error rates of different schemes
分析圖7可知,應用本文系統展開應急演練時,錯誤率均控制在0.02%以內,對煤礦突發事件協同應急演練結果產生的影響可忽略不計。未應用本文系統展開應急演練時,錯誤率均高于0.02%,會對煤炭突發事件協同應急演練結果產生影響。通過上述測試可知,基于Unity 3D的煤礦突發事件協同應急演練系統設計方法的錯誤率較低,表明該系統的應急演練精度高。
(3)吞吐量。吞吐量描述的是系統每秒處理請求的數量,吞吐量越高,表明系統的性能越好。對基于Unity 3D的煤礦突發事件協同應急演練系統設計方法展開吞吐量測試,測試結果見表1。

表1 吞吐量測試結果Tab.1 Throughput test results
測試結果表明,基于Unity 3D的煤礦突發事件協同應急演練系統設計方法具有較高的吞吐量,表明該方法在短時間內可處理大量的請求。
為了減少煤礦突發事件中的人員傷亡,及時在事件發生初期預測并調用應急物資,本文設計了基于Unity 3D的煤礦突發事件協同應急演練系統。此次設計的系統采用了B/S框架,將系統分為數據層、GIS服務層、Web服務層和客戶端表現層。由系統管理、GIS圖形分析、隱患管理等模塊構成應急演練系統的硬件。運用Unity 3D技術,以ARPG的游戲形式對煤礦人員展開應急演練。結果證明,此次設計的系統響應時間短,錯誤率控制在了0.02%以內,吞吐量高于420個/s。該方法將Unity3D平臺引入系統設計中,有效解決了目前系統中存在的問題,為煤礦開采工作提供了安全保障。