儲岳中, 劉束青, 石軍花, 張學鋒, 何勝方
1(安徽工業(yè)大學 計算機科學與技術學院, 馬鞍山 243032)
2(江蘇省安全生產(chǎn)科學研究院, 南京 210016)
3(馬鞍山鋼鐵股份有限公司港務原料廠, 馬鞍山 243021)
多層建筑內(nèi)部結構復雜, 人流密度大, 存在安全隱患, 一旦發(fā)生火災等突發(fā)情況, 易出現(xiàn)擁擠、踩踏甚至傷亡等事故, 若不能高效有序地組織應急疏散, 將造成生命財產(chǎn)損失. 開展實戰(zhàn)演習成本高且不易實現(xiàn). 針對以上應急疏散問題, 可視化的計算機仿真提供了直觀的真實環(huán)境, 且已成為主流[1-3].
目前研究應急疏散的仿真模型可分為宏觀和微觀兩種. 宏觀模型主要考慮疏散整體的影響, 在人員基數(shù)大的場景中仿真效果好, 但其缺點是不考慮疏散個體的具體行為以及它們的差異性[4]; 微觀模型中, 元胞自動機[5-7]和社會力模型[8,9]是最常用的兩種. Cremer等人[10]將元胞自動機模型合理應用在車輛交通流中, 實現(xiàn)了城市網(wǎng)絡交通流動態(tài)過程的快速仿真. Helbing等人[11]提出的社會力模型較真實地模擬了人員疏散情況, 并將其運用在行人流的研究上. 劉景昊[12]通過微觀視角研究了智能體交互問題, 采用底層分布式動態(tài)避障算法ORCA, 并引入行人瞬間能耗概念實現(xiàn)快速尋路, 解決了智能體與其它智能體或障礙物之間的碰撞避免問題. 周美琦等人[13]提出了一種改進元胞自動機模型的乘客疏散運動模型, 充分考慮了乘客在突發(fā)事故下疏散時的趨利避害和從眾心理等. 原志路[14]在基于社會力模型的基礎上, 對人員在疏散過程中的行人流變化規(guī)律進行了研究, 并對房間內(nèi)部的疏散過程進行仿真實驗. 蒙盾等人[15]提出一種改進A*算法的應急疏散系統(tǒng), 采用鄰接節(jié)點的遍歷方式完成路徑搜索,并將人員密度和障礙物加入代價值的計算中, 給出了單層多出口情況下的多路徑擇優(yōu)方案.
上述學者雖然通過不同方法對人員疏散進行了大量研究, 但均未將多智能體技術應用在機器人智能搜救室內(nèi)被困人員的研究中, 鑒于此, 本文以多層建筑為背景, 采用改進的A*算法并結合多智能體技術, 對不同火災發(fā)生點機器人如何搜救被困人員進行深入研究,較好地模擬了不同情況下的疏散過程.
火災燃燒過程復雜, 不僅受風向、風速等影響, 而且還會產(chǎn)生大量有毒氣體、濃煙等, 對人構成危害, 極大影響逃生效率. 為了便于研究, 本文根據(jù)張學鋒等人[16]提供的模型, 將火源簡化為一個圓錐模型, 并通過火源功率計算火勢大小.
其中, D為錐形底面直徑; Q為火災熱釋放率(kW); qe為單位面積的熱釋放率(kW/m2), 統(tǒng)一取值為500 kW/m2;H為火源高度.
現(xiàn)實中, 逃生人員經(jīng)過火源區(qū)域會有危險狀態(tài)臨界值判斷, 例如煙氣溫度超過180℃, CO濃度達到0.25%, 會因皮膚灼傷、吸入毒煙等對人構成危害. 本文統(tǒng)一將上述危險狀態(tài)簡化為生命值的衰減, 當?shù)陀谀骋婚撝禃灥股踔了劳?
每個人員及機器人為一個Agent, 且都配有視覺傳感器, 采用射線檢測技術模擬人類視覺, 計算射線與物體的交點來確定兩者距離. 根據(jù)Agent當前位置, 獲取一定范圍內(nèi)的外界信息, 通過模擬人類視線進行環(huán)境交互, 并做出相應反應行為, 視覺模擬如圖1所示. 以Agent所處位置為中心, 感知與其速度垂直方向左右90°范圍內(nèi)的物體.
圖1 視覺模擬系統(tǒng)
從Agent模型雙眼視區(qū)內(nèi)發(fā)射射線, 當檢測到物體碰撞時, 識別它的位置和物體類型. Agent在疏散過程中, 會不時地檢測是否發(fā)生碰撞, 進而實時計算Agent下一時刻的運動數(shù)據(jù), 包括位置信息、移動速度、運動方向等, 通過從傳感器接收的信息做出下一步?jīng)Q策. Agent模型結構如圖2所示.
圖2 Agent模型結構
為了使仿真效果更加接近現(xiàn)實, 本文將人員Agent屬性分為固有屬性和動態(tài)屬性, 見表1.
表1 人員Agent屬性信息
人員編號用于標記人員間的信息, 可通過編號搜尋到人員實時位置; 年齡影響逃生效率, 籠統(tǒng)劃分為成年男性、成年女性、小孩、老人; 性別則為男女; 成年男性、女性耐力普遍優(yōu)于小孩、老人; 位置屬性為當前疏散人員所在位置; 速度屬性為當前行走速度; 距離屬性記錄從初始位置到當前位置行走的路程; 時間屬性為逃生花費的時間.
本文根據(jù)各年齡段人員類型設定不同平均行走速度, 參考文獻[17]的描述, 采用表2中的數(shù)據(jù).
表2 不同人員類型平均行走速度 (m/s)
機器人在智能搜救做出決策分析的過程中, 將不同年齡段人員類型分為兩大類: 一類是具有完全行為能力的個體, 包括成年男性、成年女性. 另一類是具有部分行為能力的個體, 主要指小孩、老人, 逃生過程中該類個體通常需要機器人引導. 對于不同類型的人員Agent在應急疏散過程中采取的決策行為是不同的, 其決策流程如圖3所示.
圖3 決策流程圖
決策層會根據(jù)被困人員的自身狀態(tài)及所處環(huán)境決定采取何種疏散行為. 若被困人員喪失行動能力或因吸入大量有毒氣體導致暈厥等, 機器人發(fā)出警報, 并立即向施救人員輸出該被困人員信息, 包括位置、傷亡情況、救援級別等. 若被困人員有能力逃生, 但因恐慌或濃煙迷失方向, 機器人將采取引導疏散策略, 協(xié)助被困人員到達安全出口.
A*算法結合了貪心算法和Dijkstra算法, 是一種高效的啟發(fā)式搜索算法[18]. 通過計算當前節(jié)點相鄰的所有可達節(jié)點代價值, 選出值最小的節(jié)點作為下次搜索的父節(jié)點, 繼續(xù)搜索該父節(jié)點周圍可達節(jié)點, 循環(huán)往復直到搜索出目標節(jié)點, 相比于Dijkstra算法, 遍歷搜索節(jié)點數(shù)更少, 運行速度更快, 提高了搜索效率. A*算法估價函數(shù)可表示為:
其中, f(n)表示從初始點經(jīng)由節(jié)點n到目標點的代價估計; g(n)表示從初始點到節(jié)點n的實際代價; h(n)是一種啟發(fā)式函數(shù), 表示從節(jié)點n到目標點的最佳路徑的估計代價.
在A*算法評估函數(shù)中, g(n)為已遍歷的節(jié)點, 數(shù)值固定, h(n)成為影響算法效率的關鍵. h(n)應滿足下式:
其中, *h(n)表示節(jié)點n到目標點的真實最小代價.
通常, 啟發(fā)式函數(shù)采用曼哈頓距離來計算當前節(jié)點到目標點的代價, 其公式為:
其中, (Xi, Yi)代表節(jié)點i的坐標, (Xj, Yj)代表節(jié)點j的坐標.
A*算法搜索過程如圖4所示, 其中綠色方塊S代表初始點, 紅色方塊E代表目標點, 黑色方塊代表障礙物. 首先將初始點S放入開放列表OpenList中, 所謂的OpenList基本上是一個待檢查的方格列表, 目前OpenList里只有一項, 也就是S點, 后面將逐步加入更多項. 若OpenList為空, 則搜索失敗. 若OpenList中存在目標點, 則搜索成功. 然后從OpenList中取f(n)值最小的節(jié)點作為當前父節(jié)點, 并將其加入到封閉列表CloseList中, CloseList中的每個方格都無需再關注. 計算與當前父節(jié)點相鄰的所有可達子節(jié)點, 對每一個子節(jié)點: 若該節(jié)點在CloseList中, 則丟棄; 若該節(jié)點在OpenList中, 則檢查通過當前節(jié)點計算得到的f(n)值是否更小, 如果更小則更新f(n), 并將其父節(jié)點設置為當前節(jié)點; 若該節(jié)點不在OpenList中, 則將其加入到OpenList中, 并計算f(n)值, 設置其父節(jié)點為當前節(jié)點,如此循環(huán). 當OpenList中出現(xiàn)目標點E時, 說明路徑已經(jīng)找到, 當OpenList中沒有了數(shù)據(jù), 則說明無合適路徑.
圖4 A*算法搜索過程
傳統(tǒng)A*算法有一定缺陷, 例如, 存在多個最小值時并不能保證搜索的路徑最優(yōu); 隨著地圖的擴大, 其空間增長呈指數(shù)級別; 當目標點不可達時會出現(xiàn)大量的性能消耗; 路徑平滑性較差; 若規(guī)劃的路徑上障礙物較多, 會緊貼障礙物, 易發(fā)生碰撞.
本文重點研究的是機器人對疏散效率的影響, 運用傳統(tǒng)A*算法進行路徑規(guī)劃時, 通常忽略機器人體積及運動特性, 進而導致機器人途經(jīng)障礙物頂點時斜穿而過, 同時規(guī)劃出來的路徑不平滑, 針對以上問題, 對A*算法做了如下改進:
在傳統(tǒng)八鄰域的基礎上做了改進, 將當前節(jié)點周圍8個相鄰節(jié)點進行優(yōu)先級劃分, 如圖5所示. 假設當前節(jié)點為O, 周圍相鄰節(jié)點分別為A-H.
將圖5節(jié)點劃分為兩部分, 其中, 當前節(jié)點O周圍水平豎直方向的B、D、E、G四個節(jié)點為優(yōu)先遍歷節(jié)點, 剩余子節(jié)點依規(guī)則遍歷, 其遍歷規(guī)則見表3.
表3 子節(jié)點遍歷規(guī)則
圖5 相鄰節(jié)點優(yōu)先級劃分
針對路徑不平滑問題, 引入了貝塞爾曲線對改進的A*算法規(guī)劃出來的路徑進行平滑處理. 根據(jù)機器人和障礙物選定一系列特征點, 通過對特征點的擬合形成初始目標路徑. 機器人行走半徑和橫向加速度關系如下:
其中, ρ為對應路徑曲率, r為曲率半徑, m為機器人質量, 本文統(tǒng)一取值為5 kg, ay是機器人行走過程中的橫向加速度, v為機器人步速, 取固定值1.2 m/s.
機器人的橫向加速度和它的軌跡曲率呈線性關系,在整個搜救過程中, 機器人的橫向加速度連續(xù), 則軌跡曲率也要連續(xù), 這就要求機器人運動軌跡的擬合函數(shù)光滑可導, 因此要選擇高階貝塞爾曲線進行軌跡擬合,其表達式為:
其中, B(t)表示貝塞爾擬合曲線, t為曲線參數(shù), Pi表示構成曲線的(i+1)個頂點坐標.
對子節(jié)點優(yōu)化以及引入貝塞爾曲線, 有效避免了機器人斜穿障礙物頂點, 減少了拐角次數(shù), 路徑安全性、機器人運動效率有較大提高, 縮短了疏散中的搜救時間和路徑長度. 傳統(tǒng)A*算法和改進后的A*算法在相同條件下的仿真時間對比如圖6所示.
圖6 仿真時間對比
本實例以某高校圖書館為場景, 利用三維激光點云建模, 建模主要包括數(shù)據(jù)采集、數(shù)據(jù)預處理、三維建模、紋理映射4個步驟, 具體流程如圖7所示. 首先對圖書館進行掃描, 采集點云數(shù)據(jù)、紋理圖片; 其次,對采集得到的數(shù)據(jù)進行點云裁剪、降噪、精簡預處理操作, 以滿足3DS Max建模需求[19]; 然后, 根據(jù)點云輪廓構建圖書館主體模型; 最后, 根據(jù)三維信息提取每個面的最佳紋理信息, 并實現(xiàn)紋理自動映射[20].
圖7 3DS Max建模技術流程
主體框架完成后, 再對其內(nèi)部結構進行細節(jié)建模,在3DS Max建模軟件中對每個獨立單元重新組合, 并且將采集的紋理圖片用于模型的渲染、貼圖等操作中,最終以特定的格式(.FBX)導入到Unity3D平臺中, 完成與實物成比例的三維模型, 其最終三維模型如圖8所示. 其中, 一樓是服務大廳, 有南北2個安全出口; 二樓是閱覽室, 共有4個樓梯口, 且均連通至一樓大廳.
圖8 圖書館三維模型
首次進入仿真演練系統(tǒng)需要注冊, 注冊成功后方可登錄. 注冊登錄界面如圖9所示. 成功登錄仿真演練系統(tǒng)后, 警報發(fā)出, 館內(nèi)人員開始疏散, 施救人員隨即趕到現(xiàn)場指揮救援.
圖9 注冊登錄界面
本文對各樓層人員類型人數(shù)分布做了表4中的假設, 人員位置隨機生成.
表4 各樓層人員類型人數(shù)分布
設置機器人遍歷所有樓層房間, 并開始計時. 機器人通過感知周圍環(huán)境, 對室內(nèi)被困人員做出決策分析.機器人遍歷完所有樓層房間以及將全部被困人員引導疏散至安全出口后, 停止計時. 疏散過程中, 可通過點擊“查看實時信息”按鈕, 動態(tài)查看館內(nèi)人員總數(shù)、已疏散人員數(shù)、剩余人數(shù)和演練進行時間等信息, 如圖10所示.
圖10 仿真實時信息
為了更好地說明機器人個數(shù)及初始位置對疏散效率的影響, 本文較為全面地模擬了5種疏散方案, 每個機器人的種類、大小、步速等參數(shù)均是統(tǒng)一的, 見表5.
表5 機器人搜救方案設計
將上述5種方案分別進行仿真實驗, 實驗數(shù)據(jù)曲線如圖11所示.
圖11 不同疏散方案曲線圖
從圖11中不難看出, 疏散時間整體上會隨著機器人數(shù)量的增加而呈縮減趨勢, 60 s時, 館內(nèi)絕大多數(shù)人員已安全疏散; 相比于其他未著火樓層設置的機器人個數(shù)而言, 火災發(fā)生點樓層設置的機器人個數(shù)越多, 搜救時間越短, 但當機器人數(shù)量達到一定個數(shù)后, 對搜救時間長短影響不大; 疏散前10 s沒有人員抵達安全出口位置, 究其原因不難發(fā)現(xiàn), 從發(fā)現(xiàn)火災到疏散至安全地點期間, 有一個反應時間和逃生時間, 符合實際情況.
針對多層建筑復雜的內(nèi)部結構, 傳統(tǒng)A*算法規(guī)劃出的路徑平滑性較差, 且通常忽略機器人體積及運動特性, 當路徑上障礙物較多時, 會緊貼障礙物, 易發(fā)生碰撞等安全問題. 本文結合多智能體技術, 并提出一種子節(jié)點優(yōu)先級劃分的改進A*算法, 通過引入貝塞爾曲線, 有效避免了機器人斜穿障礙物頂點, 減少了拐角次數(shù), 路徑安全性、機器人運動效率有較大提高.
仿真環(huán)境中, 通過設置不同的火災發(fā)生點, 機器人個數(shù)及初始位置, 人員速度等參數(shù), 對影響疏散時間的相關因素進行了模擬實驗, 驗證了應急疏散的真實有效性. 本仿真研究利用機器人智能搜救并引導人員疏散, 在很大程度上減少了不必要的人員傷亡, 實驗結果符合實際情況, 為多層建筑應急疏散預案的制定提供了參考依據(jù).