楊大山
(1.煤炭科學技術(shù)研究院有限公司,北京 100013; 2.煤礦應(yīng)急避險技術(shù)裝備工程研究中心,北京 100013; 3.北京市煤礦安全工程技術(shù)研究中心,北京 100013)
在我國能源開發(fā)領(lǐng)域中,煤炭占據(jù)主要地位,隨著煤炭開采工作的深入,煤礦事故發(fā)生的概率不斷提高,在此背景下國家開始高度重視煤炭生產(chǎn)的安全性,逐漸降低了煤炭事故的死亡人數(shù)和事故的發(fā)生概率[1]。但煤炭開采過程中的影響因素較多,無法完全避免事故的發(fā)生[2-3]。為了降低煤炭事故的傷亡率,需要設(shè)計一款有效的煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng),對煤炭工人展開應(yīng)急訓(xùn)練,提高其逃生技能。
國內(nèi)一些學者根據(jù)訓(xùn)練環(huán)境、組訓(xùn)者、訓(xùn)練方法和訓(xùn)練內(nèi)容等要素之間存在的關(guān)系,通過系統(tǒng)管理模塊、導(dǎo)調(diào)控制模塊、評判模塊、應(yīng)急指揮控制模塊等構(gòu)成應(yīng)急演練系統(tǒng)[4]。有研究者采用情景構(gòu)建方法仿真應(yīng)急場景,在邏輯正向推演模擬的基礎(chǔ)上通過構(gòu)建應(yīng)急情景、推演災(zāi)害情景和救援情景完成應(yīng)急演練[5]。在上述方法的基礎(chǔ)上,為了進一步減少煤礦突發(fā)事件中的人員傷亡,降低經(jīng)濟損失,本文提出了基于Unity 3D的煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)設(shè)計方法。本文設(shè)計的系統(tǒng)基于的是B/S架構(gòu),設(shè)計了煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)的整體框架。將該體系分為數(shù)據(jù)層、服務(wù)層、Web服務(wù)層、客戶層。系統(tǒng)主要包括系統(tǒng)管理、GIS圖形分析、救援信息管理、預(yù)案管理、應(yīng)急演練培訓(xùn)、危險管理等模塊。在系統(tǒng)的軟件中加入Unity3D技術(shù),采用ARPG的方式進行礦井安全事故模擬。
基于Unity 3D的煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)設(shè)計方法在B/S結(jié)構(gòu)[6-7]的基礎(chǔ)上設(shè)計應(yīng)急演練系統(tǒng)的體系結(jié)構(gòu),如圖1所示。
圖1 應(yīng)急演練系統(tǒng)體系結(jié)構(gòu)Fig.1 Architecture diagram of emergency drill system
(1)表現(xiàn)層。該層的主要任務(wù)是接收并返回用戶的請求,并通過JavaScript[8]生成用戶在系統(tǒng)中的交互界面(HTML頁面),在瀏覽器端用戶輸入煤礦突發(fā)事件的相關(guān)信息,表現(xiàn)層采集上述信息,并根據(jù)采集的信息向用戶返回相應(yīng)的數(shù)據(jù)。
(2)服務(wù)層。煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)中服務(wù)層屬于中心層,該層中包括軟件平臺和基礎(chǔ)應(yīng)用模塊,主要由GIS應(yīng)用服務(wù)器和Web服務(wù)器2個部分構(gòu)成。
(3)數(shù)據(jù)層。該層由以下2個數(shù)據(jù)庫構(gòu)成:①MySQL數(shù)據(jù)庫,主要用于存儲應(yīng)急演練系統(tǒng)中存在的煤礦數(shù)據(jù),并通過SQL語句在該數(shù)據(jù)庫處理、查詢和分析煤炭突發(fā)事件的預(yù)案數(shù)據(jù)、設(shè)備物資數(shù)據(jù)和救援機構(gòu)數(shù)據(jù)等。②空間信息數(shù)據(jù)庫,該數(shù)據(jù)庫由超圖軟件組建而成。
所提方法設(shè)計的煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)由系統(tǒng)管理模塊、GIS圖形分析模塊、救援信息管理模塊、預(yù)案管理模塊、應(yīng)急演練培訓(xùn)模塊和隱患管理模塊構(gòu)成,系統(tǒng)功能結(jié)構(gòu)如圖2所示。
圖2 煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)功能結(jié)構(gòu)圖Fig.2 Functional structure diagram of collaborative emergency drill system for coal mine emergencies
(1)系統(tǒng)管理模塊。該模塊的主要任務(wù)是分配用戶在煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)中的權(quán)限,在運行過程中保障應(yīng)急演練系統(tǒng)的安全性和完整性。
(2)GIS圖像分析模塊。該模塊的功能包括事故信息圖形化、地圖瀏覽和圖層控制層。
(3)救援信息管理模塊。在煤礦突發(fā)事件協(xié)同應(yīng)急演練過程中該模塊涉及了法律法規(guī)、救援隊伍、安全技術(shù)措施和救援物資等。在煤礦突發(fā)事件發(fā)生時,救援信息管理模塊可以在短時間內(nèi)獲取相關(guān)人員的資料,調(diào)用物資設(shè)備的同時聯(lián)系救援專家和救援人員展開救援。
(4)預(yù)案管理模塊。在該模塊中建立煤礦突發(fā)事件協(xié)同應(yīng)急案例庫,發(fā)生新的煤炭突發(fā)事件時,在應(yīng)急案例庫中尋找匹配度最高的案例,縮短救援和避難所需的時間。
煤礦突發(fā)事件協(xié)同應(yīng)急案例包括多種屬性,基于Unity 3D的煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)設(shè)計方法根據(jù)文本型屬性和數(shù)值型屬性的相似度,計算煤礦突發(fā)事件協(xié)同應(yīng)急案例的全局相似度,具體步驟如下:
①通過公式(1)歸一化處理煤礦突發(fā)事件協(xié)同應(yīng)急案例的數(shù)值屬性xij:
(1)
式中,maxxi、minxi分別為屬性的最大值和最小值。
②采用歐氏距離[9-10]通過式(2)計算源案例與目標案例數(shù)值型屬性之間的局部相似度:
(2)
式中,wj為屬性對應(yīng)的權(quán)重;Yj為源案例數(shù)值型屬性。
基于Unity 3D的煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)設(shè)計方法采用模計算方法計算文本型屬性之間的相似度sim(xij,Yj)b:
(3)
③根據(jù)上述計算結(jié)果獲得煤礦突發(fā)事件協(xié)同應(yīng)急案例的全局相似度sim(xij,Yj):
sim(xij,Yj)=∑sim(xij,Yj)a+sim(xij,Yj)b
(4)
全局相似度越高,表明針對目標案例與源煤礦突發(fā)事件協(xié)同應(yīng)急演練案例越匹配,可以在該案例的基礎(chǔ)上展開應(yīng)急救援物資的調(diào)配。
(5)應(yīng)急演練培訓(xùn)模塊。煤炭突發(fā)事件安全考試和應(yīng)急演練培訓(xùn)[11-12]是該模塊在系統(tǒng)中的主要任務(wù),以提高煤礦人員的知識水平以及在事故發(fā)生時的應(yīng)對能力。
(6)隱患管理模塊。該模塊主要負責統(tǒng)計、排查與管理煤礦生產(chǎn)過程中存在的水頂板、瓦斯、水災(zāi)和煤塵等安全隱患。
根據(jù)系統(tǒng)的功能模塊,通過3dsmax[13]構(gòu)建動畫模型和三維模型,分別采用Audition和PhotoShop軟件處理音頻和貼圖,在Unity3D平臺[14-15]中導(dǎo)入處理后的數(shù)據(jù),以ARPG的游戲形式對煤礦人員展開應(yīng)急演練。
(1)界面交互?;赨nity 3D的煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)設(shè)計方法通過NGUI插件開發(fā)系統(tǒng)的軟件界面,將Unity3D引擎默認的操作方式引入界面的交互控制過程中[16-17]。
(2)場景控制。煤礦突發(fā)事件應(yīng)急協(xié)同演練過程中的狀態(tài)管理、游戲管理和場景加載等工作利用系統(tǒng)軟件中的場景控制模塊完成。利用Building Set在Scenes In Build列表中添加煤礦突發(fā)事件協(xié)同應(yīng)急演練所需的場景。將靜態(tài)成員函數(shù)LoadLevel()引入場景控制中,完成場景的加載。游戲管理的主要工作是控制游戲的狀態(tài),包括繼續(xù)狀態(tài)和暫停狀態(tài)。
(3)劇情任務(wù)。劇情任務(wù)由2部分構(gòu)成:①劇情元,劇情元在劇情任務(wù)模塊中的主要工作是管理應(yīng)急演練過程中的道具、決策和相機。②劇情線,劇情線在劇情任務(wù)模塊中的主要任務(wù)是執(zhí)行游戲流程。在系統(tǒng)中,劇情任務(wù)模塊決定了應(yīng)急場景的任務(wù),其工作流程如圖3所示。
圖3 劇情任務(wù)流程Fig.3 Plot task flow chart
(4)場景渲染模塊。動畫、三維模型、材質(zhì)、陰影和光照等在場景中的渲染主要是在場景渲染模塊中通過Occlusion Culling完成[18-19]。在渲染過程中,引入粒子系統(tǒng)對水災(zāi)、爆炸和火災(zāi)等災(zāi)害中的粉塵、火焰、水花和煙霧等特效展開模擬。
(5)角色動作模塊。角色動畫在煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)中包括前進和后退等基本動作,基于Unity 3D的煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)設(shè)計方法將Unity3D中的MecAnim動畫系統(tǒng)引入軟件的角色動作模塊中,構(gòu)建角色動畫控制器(圖4)刻畫系統(tǒng)中的人形角色[20]。
圖4 角色動畫控制器Fig.4 Character animation controller
(6)進度存檔模塊。煤礦突發(fā)事件協(xié)同應(yīng)急演練的進度可通過進度存檔模塊完成存檔。在可視化編輯界面的基礎(chǔ)上利用UnitySerializer保存并標記物體的狀態(tài)。
為了驗證基于Unity 3D的煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)設(shè)計方法的整體有效性,通過系統(tǒng)響應(yīng)事件、錯誤率、吞吐量和傷亡人數(shù)對其展開測試。應(yīng)急演練系統(tǒng)界面如圖5所示。
圖5 煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)界面Fig.5 Interface of coal mine emergency coordination and emergency drill system
(1)平均響應(yīng)時間。在發(fā)生煤礦突發(fā)事件時,測試基于Unity 3D的煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)設(shè)計方法的平均響應(yīng)時間,平均響應(yīng)時間越短,表明應(yīng)急時間越短,測試結(jié)果如圖6所示。
圖6 系統(tǒng)平均響應(yīng)時間Fig.6 System average response time
由圖6可知,基于Unity 3D的煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)在不斷地迭代學習過程中縮短了系統(tǒng)的平均響應(yīng)時間,該系統(tǒng)在預(yù)案管理模塊尋找與當前應(yīng)急時間匹配度最高的應(yīng)急案例,在應(yīng)急案例的基礎(chǔ)上展開應(yīng)急演練,縮短了系統(tǒng)的平均響應(yīng)時間。
(2)錯誤率。錯誤率越低,表明系統(tǒng)演練的精度越高。并對比應(yīng)用本文系統(tǒng)和未應(yīng)用本文系統(tǒng)直接開展應(yīng)急演練的錯誤率。錯誤率結(jié)果如圖7所示。
圖7 不同方案的錯誤率Fig.7 Error rates of different schemes
分析圖7可知,應(yīng)用本文系統(tǒng)展開應(yīng)急演練時,錯誤率均控制在0.02%以內(nèi),對煤礦突發(fā)事件協(xié)同應(yīng)急演練結(jié)果產(chǎn)生的影響可忽略不計。未應(yīng)用本文系統(tǒng)展開應(yīng)急演練時,錯誤率均高于0.02%,會對煤炭突發(fā)事件協(xié)同應(yīng)急演練結(jié)果產(chǎn)生影響。通過上述測試可知,基于Unity 3D的煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)設(shè)計方法的錯誤率較低,表明該系統(tǒng)的應(yīng)急演練精度高。
(3)吞吐量。吞吐量描述的是系統(tǒng)每秒處理請求的數(shù)量,吞吐量越高,表明系統(tǒng)的性能越好。對基于Unity 3D的煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)設(shè)計方法展開吞吐量測試,測試結(jié)果見表1。
表1 吞吐量測試結(jié)果Tab.1 Throughput test results
測試結(jié)果表明,基于Unity 3D的煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)設(shè)計方法具有較高的吞吐量,表明該方法在短時間內(nèi)可處理大量的請求。
為了減少煤礦突發(fā)事件中的人員傷亡,及時在事件發(fā)生初期預(yù)測并調(diào)用應(yīng)急物資,本文設(shè)計了基于Unity 3D的煤礦突發(fā)事件協(xié)同應(yīng)急演練系統(tǒng)。此次設(shè)計的系統(tǒng)采用了B/S框架,將系統(tǒng)分為數(shù)據(jù)層、GIS服務(wù)層、Web服務(wù)層和客戶端表現(xiàn)層。由系統(tǒng)管理、GIS圖形分析、隱患管理等模塊構(gòu)成應(yīng)急演練系統(tǒng)的硬件。運用Unity 3D技術(shù),以ARPG的游戲形式對煤礦人員展開應(yīng)急演練。結(jié)果證明,此次設(shè)計的系統(tǒng)響應(yīng)時間短,錯誤率控制在了0.02%以內(nèi),吞吐量高于420個/s。該方法將Unity3D平臺引入系統(tǒng)設(shè)計中,有效解決了目前系統(tǒng)中存在的問題,為煤礦開采工作提供了安全保障。