劉云 王麗 關文玲 張嘉琪 孟玉瑩



關鍵詞:A*算法;應急疏散;路徑規劃;LabVIEW;疏散引導
中圖分類號:TP391 文獻標識碼:A
文章編號:1009-3044(2023)02-0042-05
1 引言
隨著社會的高速發展,為了滿足人們不斷提高的生活需求,我國建筑逐漸呈現出高層、大規模、多樣化、綜合性等特征,同時,建筑內電氣設備、燃氣等的大規模使用,使得建筑內火災隱患增多,且一旦發生火災后果嚴重,也極大提高了人員的應急疏散難度[1]。傳統的疏散系統由于疏散標識只遵循就近原則,導致指向性單一,已無法滿足現代建筑的疏散需求,而如今計算機早已普及,尋路算法也發展成熟,因此,新式的智能動態疏散系統引起了諸多學者的關注。
一個完整的消防疏散系統應包括軟件和硬件兩個部分。軟件主要用于接收和處理各類火災探測器信息,識別火災發生點,計算疏散路徑,得出方向信息,并將方向信息傳達給硬件系統;硬件部分又可以分為火災探測系統和路徑指示系統,火災探測系統識別各種火災特征,并發送給軟件系統,路徑指示系統則將軟件計算出的方向信息轉化為直觀的圖形、聲音等人們容易感受的信息。在軟件方面,現有研究大多對尋路算法進行創新、改進,常用的路徑搜索算法有A*算法[2]、蟻群算法[3]、Floyd算法[4]、Dijkstra算法[5]等,也有學者將不同的算法進行融合以得到更加快速、準確的結果,如邱友航[6]將Dijkstra算法和蟻群算法進行融合,使得算出的疏散路徑距離縮短。在硬件方面,也有不少相關研究,Ran Haichao[7]等研究了出口位置、疏散通道數量和寬度、指示燈安裝距離和安裝位置對于疏散效果的影響。
然而,在現有研究中,絕大多數研究或針對軟件算法進行類比分析和改進,或是對疏散指示系統和火災探測器的布置進行模擬仿真實驗得出最優結論,少有學者對應急疏散系統整體進行設計,且大多路徑算法相關研究只針對計算出的疏散路線整體進行優化,無法得出對于疏散人群而言更為直觀的方向信息。鑒于此,筆者在現有算法研究的基礎上,在LabVIEW程序開發環境下,設計了一套應急疏散系統,系統包含基于A*算法的疏散路徑計算軟件和用LED點陣的路徑指示系統,路徑計算軟件和路徑指示系統之間采用485通訊,使其可以聯合使用。
2 系統總體設計
系統總體由路徑計算軟件和路徑指示系統構成,且二者通過485通訊方式進行數據交互,如圖1所示。其中,路徑計算軟件中包含創建柵格場景子程序,具有路徑規劃和路徑方向信息計算的功能。軟件通過485通訊的方式將方向信息發送給LED點陣控制器。路徑指示系統包含LED點陣和其對應的控制器,控制器接收到軟件發出的信號后,做出相應指令使得方向信息在LED點陣上直觀顯示出來。
3 路徑計算軟件設計
軟件系統采用美國國家儀器有限公司的Lab?VIEW 2017軟件平臺進行開發,該平臺具有開發周期短,效率高等特點[8]。軟件在LabVIEW機器人技術范例Astra on Occupancy Grid的基礎上,進行二次開發,得到疏散路徑計算系統。系統主界面如圖2所示。
本系統在出現應急疏散需求時,可以計算疏散路徑并將路徑信息發送給硬件系統,具體工作步驟如圖3所示。
在本系統中,可實現對場景內點對點路徑規劃和全局路徑規劃,點對點路徑規劃是對指定兩點進行一次路徑規劃,全局路徑規劃則會對場景內所有地方均進行規劃。
3.1 A*算法
A*算法可以認為是一種Dijkstra算法的拓展,相較于Dijkstra算法增加了到目標節點的預估計離,A*算法主要用于在兩點之間選擇一條最優路徑。在本系統中,點對點路徑規劃直接使用A*算法得到兩點之間的最短路徑,結合A*算法原理,本系統計算原理如圖4所示。
從圖4中心格處出發,往上下左右走的距離分別為1,則四個斜角的距離為√2,對提前導入的柵格圖中每個格子都進行這樣的計算,再將起點到終點所有距離求和,就可以得到距離最小的路徑。在系統中,給障礙物的格子賦值100,可通行區域賦值1,則包含障礙物路徑的距離顯然大于不包含障礙物路徑,即可實現避障功能。
3.2 場景柵格化
在系統使用時,首先需要將柵格化后的場景輸入系統,本系統中附帶柵格場景制作子程序,在程序中點擊柵格即可設置障礙物,同時,根據A*算法原理,該格會被賦值為100,其他格則賦值為1,以便后續路徑計算。該子程序框圖如圖5所示。
在柵格化的過程中,在不影響實際疏散效果的前提下,需盡量簡化場景,以減少系統工作量,縮短計算時間,如圖6(a)為一室內場景,由于對房間內部的路徑規劃沒有實際意義,而走廊只需要用一格表示即可,故可簡化為圖6(b),其中,黑色為障礙物,白色為可行走區域。
在系統中輸入場景柵格圖后,如果要進行點對點路徑規劃,則需設定起點和終點,如果進行全局路徑規劃,則只需要設定終點。在系統界面中,起點和終點分別用藍色和紫色表示。
3.3 路徑計算
本系統可實現對于兩點之間的點對點路徑規劃和對于整個場景的全局路徑規劃,點對點路徑規劃直接使用A*算法計算即可得出兩點之間的最短路徑,全局路徑規劃則在點對點路徑規劃的基礎上,隨機改變其起點,使得場景中每個位置都有路徑經過,則可得出整個場景的路徑信息,在計算過程中,已經計算過的柵格會賦值-2,因此軟件只需識別計算值為1的柵格,不會進行多余重復的計算。
對于點對點路徑規劃而言,點擊“點對點路徑規劃”后路徑即可直接顯示出來;全局路徑規劃則是系統在后臺隨機生成起點進行計算,已經計算過的格子不再計算,直至場景中每格都有了確定的疏散方向,在計算過程中,場景路徑不斷閃爍,場景中可通行區域全部變綠即為路徑計算完畢。
3.4 方向信息計算
在全局路徑規劃中所有格子均經過計算過后,系統會賦予每個格子相對應的方向箭頭,其原理如下:
根據A*算法原理,在終點確定的情況下,同一柵格無論有幾條路徑經過,都只存在一個確定的方向,因此,只需確定經過此柵格的某一條路徑中,下一格的位置即可確定此格的指示方向,本系統用下式柵格坐標相減來確定兩個柵格的相對位置:
3.5 485通訊設置
想要在路徑計算軟件和路徑指示系統之間建立聯系,必須要在軟件中對485通訊相關參數進行設置。根據彩燈控制器使用說明,需設置通信參數:波特率:9600、數據位:8位、停止位:1位、校驗:無;通信指令格式:addr****style###,****為設備地址,必須發足4位;###為樣式編號,必須發足3位。在LabVIEW 2017開發平臺中對通信相關參數進行設置,相關程序框圖見圖8。
4 路徑指示系統設計
疏散指示系統由WS2812B像素軟屏、S1000型全彩燈帶控制器以及電源組成,像素軟屏和控制器如圖9所示。
疏散指示系統與計算機之間通過485通訊方式連接,整個指示系統詳細構成如圖10所示。
在彩燈控制器中通過上位機軟件錄入和像素軟屏相同像素的箭頭指示圖,并進行編號,箭頭指示方向與編號對應關系見表2。
5 系統測試
系統測試的目的是驗證路徑計算軟件和路徑指示系統能否正常工作以及系統整體能否達到設計指標。將路徑指示系統連接好之后,就可以通過計算機發送指令,顯示方向箭頭。此外,在實際使用時,指示燈在安裝時,需要按照同一方向進行擺放。本文用如圖11所示復雜場景來驗證系統有效性,圖中,紫色柵格為場景的終點。
選擇全局路徑規劃功能,則系統開始計算,等到可先走區域全部變綠后,點擊行走路徑可見,得到圖12所示結果。
圖中,黃色為指示燈所處位置,指示燈顯示效果如13所示。
在測試過程中,路徑從開始計算到指示燈顯示,僅用時1s,且路徑計算結果準確,指示燈均能顯示出相應的方向,符合初期設計指標。本文由于空間限制,僅隨機挑選了三個位置作為指示燈展示位置,事實上,LED像素矩陣可通過串聯的方式顯示同一方向,即在實際使用時,可將建筑中的每個角落的疏散方向全部展示出來,使得疏散人群更加便利地獲取逃生路徑。
6 結論
本文設計開發了一個基于A*算法的智能疏散系統,以485通訊技術、LED彩燈控制技術為核心,構建了疏散指示硬件系統,在虛擬儀器LabVIEW開發環境下軟硬件相結合,實現了對人員的疏散引導指示功能。軟件采用較為成熟的A*算法,路徑計算時間短,計算結果準確。硬件采用穩定的485通信技術與軟件互通,將軟件計算出的路徑實時動態顯示出來,對于應急疏散具有較好的先進性和實用性。