李楊飛,江輝仙,2
(1.福建師范大學(xué)地理科學(xué)學(xué)院, 福建 福州 350007; 2.福建省陸地災(zāi)害監(jiān)測(cè)評(píng)估過(guò)程技術(shù)研究中心, 福建 福州 350007)
近年來(lái)我國(guó)城市建設(shè)不斷發(fā)展,例如商務(wù)寫字樓、綜合型商場(chǎng)、高層住宅等綜合建筑和高層建筑大量涌現(xiàn),此類建筑結(jié)構(gòu)復(fù)雜,使得針對(duì)其內(nèi)部突發(fā)事件的處理也變得越來(lái)越復(fù)雜,例如建筑物火災(zāi)的發(fā)生就有其突發(fā)性、多變性等特點(diǎn),復(fù)雜的建筑內(nèi)部空間結(jié)構(gòu)會(huì)使得消防滅火更加困難.因此針對(duì)大型建筑內(nèi)滅火作業(yè)的路徑引導(dǎo)具有重要研究意義.
針對(duì)建筑火災(zāi)的發(fā)展規(guī)律和火災(zāi)發(fā)生后的疏散救援,部分學(xué)者在建筑火災(zāi)的特點(diǎn)和應(yīng)急疏散救援方面展開了研究.當(dāng)前針對(duì)建筑內(nèi)應(yīng)急疏散的研究領(lǐng)域,國(guó)內(nèi)外學(xué)者已經(jīng)展開了很多研究,但傳統(tǒng)救援疏散路線的規(guī)劃一般基于二維[1-2],雖然路徑算法不斷完善,但空間表現(xiàn)能力較弱,只是將三維實(shí)體轉(zhuǎn)化為二維圖層分層展示,不能直觀地將路徑表達(dá)在三維空間中.
近些年來(lái),隨著BIM技術(shù)的興起,國(guó)內(nèi)外學(xué)者借助BIM在建筑消防救援領(lǐng)域?qū)崿F(xiàn)了消防救援疏散由二維向三維的轉(zhuǎn)變.基于BIM的消防救援疏散研究主要分為2個(gè)方面,一方面是通過(guò)Pyrosim、Pathfinder等成熟的火災(zāi)模擬軟件進(jìn)行模擬.其中肖木峰等[3]分析施工現(xiàn)場(chǎng)主體施工階段預(yù)制構(gòu)件、機(jī)械器具物品堆放位置結(jié)合Pathfinder模擬了施工人員的應(yīng)急疏散;宋洋等[4]利用Pyrosim軟件對(duì)火災(zāi)的發(fā)展過(guò)程進(jìn)行了模擬,并推測(cè)了火災(zāi)發(fā)展對(duì)人員疏散的影響;鐘煒等[5]通過(guò)模擬規(guī)劃路徑合理設(shè)置逃生出口,極大地提升了人員疏散效率.這些都是較為典型的應(yīng)用,但利用軟件模擬需要對(duì)模型進(jìn)行符合軟件要求的修改,同時(shí)該方式只適用于火災(zāi)發(fā)生前的模擬,對(duì)火災(zāi)發(fā)生時(shí)的救援很難起到指導(dǎo)作用.另一方面的研究主要應(yīng)用程序設(shè)計(jì)實(shí)現(xiàn).其中梁裕卿等[6]基于BIM模型配合深度Q學(xué)習(xí)(DQN)與A*結(jié)合的混合算法,極大提升了救援效率,但整體環(huán)境建模為柵格地圖與拓?fù)渚W(wǎng)絡(luò)相比引導(dǎo)性較弱;劉占省等[7]提出了一種數(shù)字孿生驅(qū)動(dòng)的消防疏散救援引導(dǎo)方法,以BIM和物聯(lián)網(wǎng)為基礎(chǔ)完成了環(huán)境信息的實(shí)時(shí)采集和疏散路徑規(guī)劃等功能,但數(shù)字孿生目前還處于探索階段,還有待進(jìn)一步完善;王宇佳等[8]通過(guò)WebGL與BIM技術(shù)相結(jié)合的方式,把疏散路線進(jìn)行了三維的展示,但是在應(yīng)用中未能考慮到危險(xiǎn)源的位置信息和消防救援的有關(guān)信息.葉繼紅等[9]設(shè)計(jì)了基于BIM技術(shù)和元胞自動(dòng)機(jī)的消防員救援路徑動(dòng)態(tài)規(guī)劃系,實(shí)現(xiàn)了高效精準(zhǔn)救援,但未能結(jié)合消防設(shè)備作為參數(shù)進(jìn)一步貼近真實(shí)情況;Cheng[10]通過(guò)BIM集成智能監(jiān)控技術(shù)并與建筑防火救災(zāi)相結(jié)合,極大地提高了救援效率,但是對(duì)整體建筑的智能化硬件要求較高,對(duì)當(dāng)前國(guó)內(nèi)建筑不具有普適性;Atyabi[11]通過(guò)BIM與ArcGIS相結(jié)合,實(shí)現(xiàn)了基于三維路網(wǎng)的單個(gè)個(gè)體疏散路徑計(jì)算,但是整體上是基于抽象化的節(jié)點(diǎn)體現(xiàn),并未結(jié)合BIM模型進(jìn)行可視化,現(xiàn)實(shí)感不強(qiáng).
就目前研究可以看出,針對(duì)建筑內(nèi)的智能化路徑規(guī)劃主要集中于火災(zāi)發(fā)生時(shí)室內(nèi)人員的疏散,極少有基于消防設(shè)備和空間信息提供一種能夠滿足建筑內(nèi)特定救援工作方式的火災(zāi)救援路徑規(guī)劃方案.因此,本文在已有研究的基礎(chǔ)上,針對(duì)消防隊(duì)員應(yīng)用室內(nèi)消火栓及鋪設(shè)水帶滅火的基本救援戰(zhàn)術(shù),基于已有的智能硬件,設(shè)計(jì)了一種基于BIM通用標(biāo)準(zhǔn)IFC的建筑內(nèi)部消防滅火作業(yè)三維可視化路徑規(guī)劃方案.以某大型樓宇的IFC文件為例,通過(guò)文本解析,提取出室內(nèi)路網(wǎng)信息與消防設(shè)備空間數(shù)據(jù)信息,并將路網(wǎng)抽象為數(shù)學(xué)基礎(chǔ)矩陣,在火情發(fā)生時(shí),通過(guò)目前室內(nèi)廣泛使用的火災(zāi)報(bào)警器反饋信息,確定火災(zāi)影響范圍,修改路網(wǎng)矩陣,確定滿足要求的消防栓位置,通過(guò)算法生成路徑,分別展示在抽象節(jié)點(diǎn)和Unity3D中的BIM模型之上.具體方案流程如圖1所示.
圖1 系統(tǒng)流程框架Fig.1 System process framework
工業(yè)基礎(chǔ)類(industry foundation class,IFC)標(biāo)準(zhǔn),是一套BIM信息存儲(chǔ)的通用方案[12], 其具有完整的建筑物信息分類和數(shù)據(jù)結(jié)構(gòu),同時(shí)在應(yīng)用分析方面具有信息提取簡(jiǎn)便的優(yōu)點(diǎn),是進(jìn)行有關(guān)BIM應(yīng)用開發(fā)和信息共享的良好媒介[13],故本文采用IFC文件進(jìn)行三維路網(wǎng)的構(gòu)建.
IFC采用面向?qū)ο蟮臄?shù)據(jù)結(jié)構(gòu)模型,從幾何信息、位置關(guān)系和屬性信息3個(gè)方面對(duì)建筑構(gòu)件進(jìn)行描述,通過(guò)對(duì)IFC解讀,IFC中的文本標(biāo)注與建筑構(gòu)件的大致關(guān)系如表1所示.
表1 文本標(biāo)注與建筑構(gòu)件關(guān)系表Tab.1 Relationship between text labels and building components
同時(shí)空間元素文本一般包含:IfcSite、IfcBuilding、IfcBuildingStorey和IfcSpace.本文采用Revit建立的三維模型,導(dǎo)出IFC數(shù)據(jù)格式,并以此為基礎(chǔ)構(gòu)建室內(nèi)應(yīng)急逃生路網(wǎng),結(jié)合上述文本解析,需要提取的信息按用途分為:
(1)建筑某層路網(wǎng)節(jié)點(diǎn)要素:走廊、房間(IfcSpace)、門、安全出口等(IfcDoor).
(2)層與層之間路網(wǎng)連接要素:層次關(guān)系(IfcBulidingStorey)、樓梯等結(jié)構(gòu)(IfcStair).
(3)消防要素:消防栓等.
其中消防要素比較特殊,除消防要素外的其它要素只需要提取空間信息即可,消防要素需要提取額外屬性信息以滿足需要(表2).
表2 室內(nèi)消防栓屬性Tab.2 Indoor fire hydrant properties
根據(jù)IFC提供的標(biāo)準(zhǔn),上述需要提取的要元素一般為“B-rep”邊界線模型,具體操作中通過(guò)獲取邊界的X和Y最大最小值將復(fù)雜多邊形簡(jiǎn)化為方形,提取中心點(diǎn),同時(shí)將樓層地板高度f(wàn)loor賦予其為Z值,則任意一個(gè)節(jié)點(diǎn)坐標(biāo)為:
在IFC中,同一層建筑中的一個(gè)構(gòu)件坐標(biāo)會(huì)參照另一個(gè)構(gòu)件坐標(biāo)進(jìn)行位置描述,層與層之間通過(guò)參照建筑坐標(biāo)系定位,即通過(guò)建筑坐標(biāo)系,可確定每層原點(diǎn),再通過(guò)構(gòu)件之間的相互參照關(guān)系形成空間位置關(guān)系.在IFC文本中,IfcAxis2Placement代表兩個(gè)中標(biāo)之間的參照關(guān)系,其中Location為平移量,RefDirection為X軸的單位方向向量,Axis為Z軸的單位方向向量,Y軸的方向向量可計(jì)算,具體轉(zhuǎn)化關(guān)系為[14]:
基于上述方法,通過(guò)對(duì)IFC模型分層提取,提取出所需構(gòu)件的空間信息,再通過(guò)坐標(biāo)轉(zhuǎn)換生成節(jié)點(diǎn),同時(shí)對(duì)節(jié)點(diǎn)進(jìn)行判斷,若是消防設(shè)備,則還需提取出屬性信息放入數(shù)據(jù)庫(kù)中,最后通過(guò)ArcGIS Pro連接節(jié)點(diǎn),形成三維路網(wǎng),具體流程如圖2.
圖2 三維路網(wǎng)提取流程Fig.2 3D road network extraction process
Dijkstra算法是于1959年提出[17],其采用貪心算法模式,主要解決圖中單個(gè)源點(diǎn)到其它頂點(diǎn)的最短路徑問(wèn)題,是當(dāng)前公認(rèn)的求解最短路徑的有效算法之一.本文中結(jié)合消防救援場(chǎng)景需要,分別采用了堆優(yōu)化和引入節(jié)點(diǎn)分層存儲(chǔ).堆優(yōu)化是用以空間換時(shí)間的思路在算法層面上對(duì)DijKstra算法做時(shí)間優(yōu)化,一般該算法中的時(shí)間復(fù)雜度為O(n2),但是考慮本文實(shí)際情況采用以空間換時(shí)間的策略,引入隊(duì)列,使時(shí)間復(fù)雜度降低為O((m+n)logn),并采用節(jié)點(diǎn)分層存儲(chǔ)是針對(duì)火災(zāi)對(duì)路徑產(chǎn)生動(dòng)態(tài)影響時(shí),更快的計(jì)算出更新后的矩陣.
“圖”為圖論中的概念,即將具體事物簡(jiǎn)化為節(jié)點(diǎn),同時(shí)根據(jù)實(shí)際將節(jié)點(diǎn)之間的關(guān)聯(lián)性簡(jiǎn)化為邊[18].針對(duì)本方案的室內(nèi)路徑問(wèn)題,可結(jié)合圖論,利用節(jié)點(diǎn)來(lái)表示簡(jiǎn)化后的建筑空間元素和最終需要到達(dá)的消防設(shè)備,以及根據(jù)邊的屬性來(lái)模擬各個(gè)節(jié)點(diǎn)之間的空間拓?fù)潢P(guān)系.如下圖3所示,將提取的路網(wǎng)簡(jiǎn)化為網(wǎng)狀結(jié)構(gòu),對(duì)于節(jié)點(diǎn)采用A1,A2,…,An標(biāo)識(shí),同時(shí)將節(jié)點(diǎn)之間的距離和關(guān)聯(lián)關(guān)系抽象為以下的矩陣L,在矩陣中L(x,y)表示Ax到Ay的距離,若Ax不能到達(dá)Ay則使用∞表示二者之間的不連通關(guān)系.
圖3 路徑矩陣Fig.3 The path matrix
由于火災(zāi)發(fā)生具有突發(fā)性、隨機(jī)性等特點(diǎn),不同樓層、同樓層不同區(qū)域發(fā)生火災(zāi)會(huì)對(duì)原始的路網(wǎng)矩陣產(chǎn)生動(dòng)態(tài)的改變,大型樓宇內(nèi)部路網(wǎng)一般存在海量路網(wǎng)節(jié)點(diǎn),若逐個(gè)遍歷時(shí)間成本巨大,本文通過(guò)定義中間層即將所有節(jié)點(diǎn)通過(guò)二維數(shù)組存儲(chǔ),數(shù)組索引對(duì)應(yīng)樓層.以第二層為例,當(dāng)?shù)诙影l(fā)生火災(zāi)時(shí),通過(guò)索引映射到樓層,只需要遍歷該樓層的節(jié)點(diǎn),定位節(jié)點(diǎn)后修改矩陣即可,相對(duì)于遍歷所有節(jié)點(diǎn),極大地減少了時(shí)間成本(見(jiàn)圖4).
圖4 矩陣動(dòng)態(tài)變化Fig.4 Matrix dynamic changes
起點(diǎn)一般由消防人員選取合適的入口點(diǎn),記錄為A,同時(shí)對(duì)應(yīng)到矩陣中的Si;對(duì)于終點(diǎn),首先通過(guò)室內(nèi)的煙霧報(bào)警器等火災(zāi)報(bào)警設(shè)備的報(bào)警位置確定火源的位置和影響范圍,再通過(guò)過(guò)濾器條件篩選,確定可用的消防栓并迅速定位至該消防栓的位置,通過(guò)智能設(shè)備回傳的數(shù)據(jù)并在模型中定位后觀察周圍的建筑結(jié)構(gòu)信息,直觀的確定該消防栓是否可用,以此確定滅火路徑的終點(diǎn),記錄為B,同時(shí)定位到矩陣中的Sj.路徑規(guī)劃具體實(shí)現(xiàn)步驟如下:
(1)初始化起點(diǎn),記作A點(diǎn),選擇終點(diǎn),記作B點(diǎn).
(2)初始化每個(gè)節(jié)點(diǎn)i到A點(diǎn)的最短距離,若該點(diǎn)到A點(diǎn)之間有直線路徑可以到達(dá),且該距離滿足到達(dá)該點(diǎn)時(shí)的校正約束,則該點(diǎn)到A點(diǎn)的最短距離為直線距離,記為L(zhǎng)(i,A)=SiA;若該點(diǎn)到A點(diǎn)之間沒(méi)有直線距離可以到達(dá),或者到達(dá)該點(diǎn)時(shí)由于距離長(zhǎng)而違反校正約束,那么將該點(diǎn)到A點(diǎn)最短距離初始化為無(wú)窮大, 記為L(zhǎng)(i,A)=+∞.
(3)依次遍歷除B點(diǎn)(終點(diǎn))之外的所有節(jié)點(diǎn),對(duì)每一個(gè)節(jié)點(diǎn)進(jìn)行如下操作:
①尋找距離該點(diǎn)最近的可到達(dá)點(diǎn),記為i,標(biāo)記i點(diǎn)的狀態(tài)為已訪問(wèn);
②依次遍歷i點(diǎn)所有可以直線到達(dá)且未被訪問(wèn)過(guò)的點(diǎn),記該點(diǎn)為j,記Sij為i到j(luò)之間的距離;
③如果L(i,A)+Sij (4)直到所有節(jié)點(diǎn)最短路徑都被找到. (5)根據(jù)映射關(guān)系即起點(diǎn)A對(duì)應(yīng)為Si,終點(diǎn)B對(duì)應(yīng)為Sj將經(jīng)過(guò)的節(jié)點(diǎn)按順序儲(chǔ)存到路徑數(shù)組,得到最佳路徑. 以集學(xué)術(shù)交流、辦公、授課、實(shí)驗(yàn)、圖書館等多重功能于一體的某綜合性辦公樓為例,通過(guò)BIM技術(shù)結(jié)合Unity3D渲染引擎,基于消火栓鋪設(shè)水帶的滅火戰(zhàn)術(shù)最優(yōu)化引導(dǎo)路徑系統(tǒng)進(jìn)行了開發(fā)和實(shí)驗(yàn).系統(tǒng)通過(guò)Python語(yǔ)言對(duì)于IFC這種BIM通用格式進(jìn)行解析,提取其中的空間信息和屬性信息,并結(jié)合SqlLite數(shù)據(jù)庫(kù)對(duì)位置信息和屬性信息進(jìn)行管理.通過(guò)Unity3D游戲引擎對(duì)三維模型進(jìn)行渲染呈現(xiàn),使用Visual Studio 2019進(jìn)行Dijkstra算法的實(shí)現(xiàn),最后展示在由Unity3D渲染的模型上.實(shí)驗(yàn)系統(tǒng)通過(guò)經(jīng)典的3層架構(gòu),以IFC文本解析得到的消防信息數(shù)據(jù)庫(kù)和路網(wǎng)節(jié)點(diǎn)、建筑內(nèi)部智能化硬件設(shè)備返回的信息作為數(shù)據(jù)層為系統(tǒng)提供數(shù)據(jù)支撐.通過(guò)DijKstra算法,消防設(shè)備查詢和路網(wǎng)矩陣動(dòng)態(tài)對(duì)數(shù)據(jù)進(jìn)行邏輯操作.最終將火源點(diǎn)、三維路網(wǎng)、室內(nèi)消防栓以可視化的形式渲染到三維界面上,構(gòu)建出一個(gè)完整的系統(tǒng)(見(jiàn)圖5). 圖5 系統(tǒng)架構(gòu)Fig.5 System structure (1)三維路網(wǎng)的構(gòu)建 三維路網(wǎng)是整個(gè)樓宇消防滅火路線規(guī)劃的基礎(chǔ),需要充分考慮整個(gè)空間中實(shí)體位置的提取和生成對(duì)應(yīng)節(jié)點(diǎn)的附加屬性信息,本文采用基于ifcopenshell文本解析代碼庫(kù)對(duì)IFC文本進(jìn)行解析,提取空間節(jié)點(diǎn),導(dǎo)入ArcGIS Pro中手動(dòng)連接,通過(guò)Unity3D引擎進(jìn)行渲染,如建筑模型的渲染值,可視化呈現(xiàn)路網(wǎng)(見(jiàn)圖6). 圖6 三維路網(wǎng)Fig.6 3D road network (2)結(jié)合消防設(shè)備的路徑規(guī)劃 路徑規(guī)劃需要結(jié)合消防設(shè)備,首先需要根據(jù)建筑中放置的煙霧報(bào)警器等確定起火位置,通過(guò)查詢功能確定該樓層可用的消防栓,同時(shí)定位到該消防栓在建筑中的實(shí)體,確定該消防栓的具體數(shù)據(jù)(見(jiàn)圖7),保證其可用性,在確??捎弥螅蕹鹪从绊懙穆肪W(wǎng),同時(shí)通過(guò)簡(jiǎn)化的拓?fù)渚W(wǎng)絡(luò)(見(jiàn)圖8)計(jì)算出路徑節(jié)點(diǎn),在完成后的第一時(shí)間,渲染到Unity3D中,實(shí)現(xiàn)路線的可視化(見(jiàn)圖9). 圖7 設(shè)備詳情Fig.7 Equipment details 圖8 拓?fù)浣Y(jié)構(gòu)中的最短路徑Fig.8 The shortest path in the topology 圖9 路徑可視化Fig.9 Path visualization 現(xiàn)階段有關(guān)消防疏散路徑方面的研究很多,但對(duì)于消防救援,尤其是結(jié)合消防設(shè)施等專業(yè)設(shè)備的救援路徑規(guī)劃較少,并且傳統(tǒng)的路徑規(guī)劃大部分研究集中在二維層面,不夠直觀,因此本文基于上述不足,主要做了如下改進(jìn): (1)結(jié)合BIM模型中的通用標(biāo)準(zhǔn)IFC,通過(guò)解析文本提取所需的三維路網(wǎng)和消防設(shè)備屬性信息. (2)針對(duì)消防隊(duì)員應(yīng)用室內(nèi)消火栓及鋪設(shè)水帶滅火的基本戰(zhàn)術(shù),結(jié)合消防設(shè)備設(shè)計(jì)了一種消防滅火救援的三維可視化路徑規(guī)劃方法. (3)通過(guò)虛擬現(xiàn)實(shí)的方法,使消防員可以提前了解消防栓的具體情況和周圍的空間關(guān)系,選定適合的設(shè)備,規(guī)劃出滿足滅火作業(yè)需求的路線,使消防救援路線的規(guī)劃更具科學(xué)性和實(shí)用性,以此達(dá)到盡可能降低火災(zāi)損失的目的.本文主要將消防設(shè)備的空間與屬性信息用于火災(zāi)的滅火救援,作用較為單一,沒(méi)有完全發(fā)揮BIM中的消防設(shè)備信息的功能,未來(lái)隨著研究的深入,還可將消防設(shè)備的空間信息與智能化硬件設(shè)備相結(jié)合,實(shí)現(xiàn)消防設(shè)備的智能化管理,并可結(jié)合GIS的空間分析等手段依據(jù)消防驗(yàn)收標(biāo)準(zhǔn),實(shí)現(xiàn)建筑消防驗(yàn)收的智能化.3 系統(tǒng)實(shí)現(xiàn)與應(yīng)用案例
3.1 系統(tǒng)架構(gòu)
3.2 案例示范應(yīng)用
4 總結(jié)與展望