倪仲銳 劉 箴 劉婷婷 陸 靜 柴艷杰
1(寧波大學(xué)信息科學(xué)與工程學(xué)院 浙江 寧波 315211) 2(寧波大學(xué)科學(xué)技術(shù)學(xué)院 浙江 寧波 315211)
人群疏散仿真模型可以模擬人群疏散現(xiàn)象,通過人群疏散仿真模型的仿真數(shù)據(jù)可以判斷場景中出口數(shù)量和位置是否合理,是否滿足人群疏散的要求,從而為制定科學(xué)合理的疏散方案提供決策支持。目前常見的仿真模型主要有社會(huì)力模型SFM(Social Force Model)[1-3],元胞自動(dòng)機(jī)模型CA(Cellular Automata)[4-6],勢(shì)能場模型PF(Potential Field)[7-8]等。這些模型都可以實(shí)現(xiàn)人群的疏散仿真。
其中社會(huì)力模型是由Helbing 等[1]1951年提出, 該模型采用牛頓動(dòng)力學(xué)公式來描述行人的運(yùn)動(dòng), 將行人的受力分別表示為,行人指向目的地的驅(qū)動(dòng)力、行人之間的作用力、行人與障礙物之間的作用力,這些力的合力作用于行人,使行人產(chǎn)生運(yùn)動(dòng)。
元胞自動(dòng)機(jī)模型的概念最早是由馮諾依曼[9]提出,應(yīng)用于模擬人工生命系統(tǒng)。1998年M Fukui等[10]將元胞自動(dòng)機(jī)模型應(yīng)用于人群的仿真,在該模型中行人的空間被劃分為多個(gè)元胞空間,每個(gè)元胞空間具有一定的狀態(tài)規(guī)則,行人依據(jù)當(dāng)前的元胞空間和狀態(tài)規(guī)則來進(jìn)行移動(dòng)。
勢(shì)能場模型由Khatib等[7]在1986 年提出應(yīng)用于機(jī)器人避碰路徑規(guī)劃。在勢(shì)能場模型中,行人位于空間中的某個(gè)位置中,行人會(huì)同時(shí)受到目的地、其他行人、障礙物的勢(shì)能場影響。在這些勢(shì)能場的相互作用下,行人就會(huì)在空間進(jìn)行運(yùn)動(dòng)。
其中社會(huì)力模型應(yīng)用最為廣泛,該模型在人群疏散仿真中有廣泛的研究,如Yang X等[11]通過改進(jìn)的社會(huì)力模型對(duì)人群的運(yùn)動(dòng)進(jìn)行向?qū)Аiu Q等[12]利用社會(huì)力量模型仿真恐怖襲擊中人群疏散。紀(jì)慶革等[13]提出密度場下的短程社會(huì)力模型。劉箴等[14]利用社會(huì)力模型研究人行橋上突發(fā)事件下的人群恐慌行為。張開冉等[15]基于社會(huì)力模型的車站負(fù)重人群疏散模擬研究。焦宇陽等[16]通過引入下降速度心理力,改進(jìn)傳統(tǒng)社會(huì)力模型,實(shí)現(xiàn)三維樓梯空間的社會(huì)力模型。曲昭偉等[17]利用行人的隨機(jī)行為改進(jìn)社會(huì)力模型。
雖然社會(huì)力模型已經(jīng)有廣泛的應(yīng)用,但是也存在一些不足,本文在實(shí)現(xiàn)社會(huì)力模型的基礎(chǔ)上,對(duì)不足之處進(jìn)行了改進(jìn)。例如在行人的期望速度過快或者場景中行人的數(shù)量過多時(shí)會(huì)出現(xiàn)行人的抖動(dòng)或者穿透障礙物的現(xiàn)象,這些現(xiàn)象影響到仿真的效果,本文對(duì)產(chǎn)生的這種現(xiàn)象的原因進(jìn)行了分析,采用多線程的方法進(jìn)行了優(yōu)化。在特殊場景下,僅依靠社會(huì)力的驅(qū)動(dòng)時(shí),行人在場景中無法到達(dá)目的地或者移動(dòng)速度較慢,本文采用增加導(dǎo)航點(diǎn)的方式改進(jìn)行人的疏散仿真。本文通過改進(jìn)的社會(huì)力模型開發(fā)了一個(gè)疏散仿真軟件,實(shí)現(xiàn)多種情景下的人群疏散仿真。
在實(shí)際的逃生過程中,人們總是會(huì)根據(jù)自身的目的地和所處的周圍環(huán)境來確定逃生路線。在逃生過程中會(huì)與障礙物和其他人保持一定的距離,由于觀察到這個(gè)現(xiàn)象,在1995年Helbing等采用牛頓的力學(xué)公式和行人的逃生行為提出了社會(huì)力模型。在該模型中行人用抽象的一個(gè)粒子來描述,該粒子受到目的地的吸引產(chǎn)生一個(gè)自身的驅(qū)動(dòng)力,同時(shí)該粒子受到與障礙物和其他粒子的斥力和摩檫力的影響,在這些力的合力作用于該粒子,使得其在一個(gè)二維的空間中連續(xù)運(yùn)動(dòng),具體使用動(dòng)力學(xué)公式來描述:
(1)
式中:fi為行人指向目的地的驅(qū)動(dòng)力,fij表示為行人間的作用力,fiw表示行人與障礙物間的作用力。 這些力的合力作用于行人, 產(chǎn)生一個(gè)加速度,驅(qū)動(dòng)行人在二維空間中連續(xù)運(yùn)動(dòng)。
(2)

fij=frejectij+ffrictionij
(3)
frejectij={Aiexp[(rij-dij)/Bi]+kg(rij-dij)}nij
(4)
(5)


fiw=frejectiw+ffrictioniw
(6)
frejectiw={Aiexp[(ri-diw)/Bi]+kg(ri-diw)}niw
(7)
ffrictioniw=kg(ri-diw)(vi·tiw)tiw
(8)
式(6)-式(8)為行人和障礙物間作用力公式,行人和障礙物間的作用fiw力由排斥力frejectiw和摩檫力ffrictioniw組成,其中式(7)的Ai、Bi、k為常數(shù)量數(shù)值同上。ri表示行人i的半徑,diw表示行人i和障礙物邊緣的距離,niw表示由障礙物邊緣到行人i的標(biāo)準(zhǔn)化向量。式(8)中vi表示行人i的實(shí)際速率,tiw表示行人i與障礙物邊緣的切線方向。
通過社會(huì)力模型可以實(shí)現(xiàn)對(duì)人群疏散的仿真,在仿真的過程中行人可以避免相互碰撞,避開障礙物,本文采用該模型實(shí)現(xiàn)一個(gè)人群疏散仿真系統(tǒng)。
本文基于社會(huì)力模型實(shí)現(xiàn)了疏散仿真,實(shí)現(xiàn)算法流程圖如圖1所示。通過該算法實(shí)現(xiàn)了社會(huì)力模型,可以驅(qū)動(dòng)人群在場景中的疏散仿真,該算法在行人期望速度1.5 m/s,行人數(shù)量不超過200個(gè)的情況下可以較為流暢地仿真,仿真效果較好。但是隨著行人的期望速度和行人的數(shù)量增加,仿真過程中行人會(huì)出現(xiàn)抖動(dòng)和穿透障礙物的現(xiàn)象,這種現(xiàn)象影響到了仿真的真實(shí)感。這個(gè)問題是需要通過一些優(yōu)化方法來解決。

圖1 社會(huì)力模型算法流程圖
對(duì)行人抖動(dòng)和穿透現(xiàn)象對(duì)比分析,發(fā)現(xiàn)產(chǎn)生這個(gè)現(xiàn)象的原因是由兩個(gè)因素產(chǎn)生的,期望速度和仿真時(shí)兩幀間隔時(shí)間,在仿真過程要實(shí)時(shí)計(jì)算每個(gè)行人的下一幀位置,可以通過下式來表示獲得下一幀的位置。
pn=pc+vt·Δt
(9)
式中:pn為下一幀的位置向量,pc為當(dāng)前幀的位置向量,vt為根據(jù)社會(huì)力模型計(jì)算出的當(dāng)前幀速度向量,Δt為下一幀同當(dāng)前幀的時(shí)間間隔。其中vi與行人的期望速度成正比關(guān)系,Δt與計(jì)算機(jī)的性能和算法的時(shí)間復(fù)雜度有關(guān)系。本算法的時(shí)間復(fù)雜度為n2,其中n為仿真的人數(shù)。當(dāng)仿真人數(shù)較少時(shí),Δt每幀的計(jì)算量較少,的數(shù)值較小,計(jì)算出來的pn的偏移量就會(huì)較少,仿真就會(huì)平滑。但如果人數(shù)較多,Δt就會(huì)增大,那么計(jì)算出的pn就會(huì)過度地偏離pc,這樣在仿真中就會(huì)產(chǎn)生抖動(dòng),由于偏離較大就可能會(huì)越過障礙物的邊緣位置而產(chǎn)生穿透現(xiàn)象。同樣如果vi過大也會(huì)產(chǎn)生這種現(xiàn)象。為了解決這個(gè)問題,就要減小pn相對(duì)于pc的偏移,這樣才能使行人的運(yùn)動(dòng)軌跡趨向平滑。最直接的辦法就是降低vi,但是考慮到仿真逃生的要求,行人必須以一定的速度逃生才接近真實(shí)情況,vi不能太小,必須符合實(shí)際的逃生期望速度,因此只能降低Δt。只要當(dāng)Δt足夠小,那么計(jì)算出來的pn就不會(huì)過度地偏離pc,從而解決問題。
經(jīng)過分析社會(huì)力模型的算法,發(fā)現(xiàn)在計(jì)算每個(gè)行人的社會(huì)力時(shí),行人之間是相互獨(dú)立的,因此這部分可以采用多線程并行計(jì)算來進(jìn)行優(yōu)化。本文把行人平均分割成若干個(gè)組,每個(gè)組內(nèi)的行人通過一個(gè)線程來計(jì)算社會(huì)力,這樣就可以并行計(jì)算社會(huì)力,提高效率降低幀間隔時(shí)間。同時(shí)也可以把仿真顯示這部分通過一個(gè)線程運(yùn)行,以此提高效率。優(yōu)化后的算法流程圖如圖2所示。

圖2 采用多線程優(yōu)化社會(huì)力模型算法流程圖
社會(huì)力模型采用多線程的算法優(yōu)化后,仿真的效果流暢,行人的抖動(dòng)現(xiàn)象和穿透現(xiàn)象有了較大的改善。對(duì)優(yōu)化前后的幀間隔時(shí)間進(jìn)行了統(tǒng)計(jì),對(duì)比數(shù)據(jù)如表1所示,其中行人的期望速度為1.5 m/s,采用不同的仿真人數(shù)進(jìn)行對(duì)比,優(yōu)化采用8個(gè)線程數(shù)。

表1 優(yōu)化前后的幀間隔對(duì)比
從表1中可以看出,采用了多線程優(yōu)化的算法后,幀間隔時(shí)間大幅降低,仿真的效果提高,可見采用多線程優(yōu)化社會(huì)力模型可以有效提升仿真的速度和數(shù)量。
為了對(duì)比線程數(shù)量對(duì)仿真效果的影響,在表2采用不同線程數(shù)統(tǒng)計(jì)的幀間隔時(shí)間。其中行人的期望速度為1.5 m/s,行人的數(shù)量為400個(gè)。

表2 不同線程數(shù)量的對(duì)比
從表2中可以看出,隨著線程數(shù)量的增加,幀間隔時(shí)間也在減少,但是并不是線程數(shù)量越多,時(shí)間會(huì)減少得越多,因?yàn)檫@個(gè)和實(shí)際的CPU核心數(shù)量有關(guān)系。當(dāng)線程的數(shù)量超過實(shí)際核心數(shù)量時(shí),就會(huì)存在部分線程串行執(zhí)行的情況。當(dāng)線程過多時(shí),系統(tǒng)還要處理線程的切換,這時(shí)就不一定能夠降低時(shí)間。
可見通過采用多線程優(yōu)化的方法,可以解決社會(huì)力模型仿真中的抖動(dòng)和穿透現(xiàn)象,提高仿真的效果。
在社會(huì)力模型中,行人會(huì)在目的地驅(qū)動(dòng)力的作用下,向出口方向逃生,在一般的場景中社會(huì)力可以較好地完成行人的疏散仿真,但在特定的場景中,疏散的過程就會(huì)存在問題。如行人不能夠沿著正確的路徑疏散,行人在疏散過程中移動(dòng)速度過慢,這些問題會(huì)影響仿真的效果。
社會(huì)力模型是通過對(duì)行人的目的地驅(qū)動(dòng)力,行人間作用力和障礙物作用力三者累加的合力來使行人移動(dòng),但是如果在場景中的某個(gè)位置產(chǎn)生的合力互相抵消,那么行人就無法移動(dòng),不能完成疏散。如圖3所示。

圖3 行人無法疏散示意圖
在該場景中,小球A、B、C表示行人的初始位置,小球D表示目的地,矩形表示障礙物。小球A和C可以沿著虛線的軌跡移動(dòng)到目的地,但是小球B移動(dòng)到小球B’的位置后就靜止,因?yàn)樵谠撐恢玫暮狭ハ嗟窒蜔o法移動(dòng)。因此僅通過社會(huì)力模型,在特殊的場景中就無法完成疏散仿真。
社會(huì)力模型中的目的地驅(qū)動(dòng)力始終是指向目的地,當(dāng)遇到障礙物時(shí),就會(huì)使行人的速度變慢,隨著行人運(yùn)動(dòng)方向與目的地方向夾角的增大,行人的速度會(huì)更加緩慢,如圖4所示。

圖4 行人移動(dòng)過慢示意圖
在圖中行人A全程以期望速度進(jìn)行疏散,但是行人B只是在虛線段op和qr之間是以期望速度運(yùn)行,而在pq之間由于受到障礙物的阻擋速度變慢,并且在從p到q的過程中由于夾角θ的變大而導(dǎo)致速度是越來越慢。實(shí)際上行人A距離目的地比行人B還要遠(yuǎn),但是仿真的結(jié)果卻是A先抵達(dá)目的地,仿真效果不符合實(shí)際情況。
上述兩種問題產(chǎn)生的原因是行人的目的地設(shè)置的不合理,為了解決這些問題,可以在場景增加一些導(dǎo)航點(diǎn),幫助行人在疏散過程中合理選擇路徑。這些導(dǎo)航點(diǎn)可以依據(jù)場景的布局合理選擇,每個(gè)導(dǎo)航點(diǎn)賦予一個(gè)導(dǎo)航因子,該因子表明該導(dǎo)航點(diǎn)距離目的地的遠(yuǎn)近程度。該因子采用導(dǎo)航點(diǎn)與目的地的曼哈頓距離的倒數(shù)來表示,計(jì)算公式如下:
(10)
式中:nax、nay是導(dǎo)航點(diǎn)的坐標(biāo),ex、ey是目的地的坐標(biāo),行人在場景中選擇導(dǎo)航點(diǎn)的規(guī)則是選擇滿足一定距離內(nèi)導(dǎo)航因子最大的導(dǎo)航點(diǎn)作為目的地,這樣行人就可以在場景中按照合理的路徑完成疏散,避免了上述問題。在上述場景中增加導(dǎo)航點(diǎn)如圖5所示,增加導(dǎo)航點(diǎn)后行人就不會(huì)出現(xiàn)無法移動(dòng)和移動(dòng)過慢的問題。

圖5 增加導(dǎo)航點(diǎn)示意圖
在場景中增加了黑色的導(dǎo)航點(diǎn)后,行人的疏散軌跡會(huì)沿著導(dǎo)航點(diǎn)行進(jìn),不會(huì)出現(xiàn)移動(dòng)過慢的問題,通過這種方法可以有效改善仿真的合理性。
社會(huì)力模型主要考慮行人在運(yùn)動(dòng)過程中所受到的各種力的因素,而沒有考慮行人在心理、生理上的因素。人群在疏散過程中,由于行人個(gè)體因素的差異,每個(gè)行人的期望速度是不一致的,主要和每個(gè)行人的心理行為和健康狀況有關(guān)系,這些因素會(huì)影響人群的整體逃生時(shí)間。因此將行人的心理、生理因素增加到社會(huì)力模型中可以使仿真更加完善。
心理行為采用行人對(duì)當(dāng)前狀況的恐慌程度來表示,恐慌程度越大,行人的期望速度就會(huì)越快,反之就會(huì)越慢。行人的恐慌程度與距離出口的遠(yuǎn)近有關(guān)系,當(dāng)行人距離出口較遠(yuǎn)時(shí)恐慌程度較高,反之恐慌程度較低。采用恐慌值P來表示行人的恐慌程度,P的取值范圍為[0,1],計(jì)算方法如下:
(11)
式中:Dexit為當(dāng)前行人位置距離出口點(diǎn)的曼哈頓距離,Dmax為當(dāng)場景中距離出口點(diǎn)的最遠(yuǎn)曼哈頓距離。
健康狀況采用健康值H來表示,H的取值范圍為[0.5,1.5],健康值越高,行人的期望速度越高,反之期望速度越低。健康值為1的行人表示體力正常,大于1的行人表示體力較好,小于1的行人表示體力較差。采用不同的健康值分布來仿真不同健康值構(gòu)成的人群逃生。
行人的期望速度和恐慌值和健康值相關(guān),期望速度計(jì)算方法如下:
VE=(VS+VS×P)×H
(12)
式中:VE為當(dāng)前行人的期望速度,VS為標(biāo)準(zhǔn)的期望速度,取值為3 m/s。通過該公式可以使行人的個(gè)體因素對(duì)期望速度產(chǎn)生影響,使仿真效果趨于合理。
軟件開發(fā)環(huán)境采用Microsoft Visual Studio 2017,開發(fā)語言采用C#,項(xiàng)目類型為Windows窗體應(yīng)用,圖形設(shè)備接口采用雙緩沖技術(shù)的GDI接口。
軟件主界面如圖6所示。

圖6 仿真實(shí)驗(yàn)界面
該界面左側(cè)為仿真區(qū)域,其中矩形框表示障礙物,圓形表示行人。界面的右側(cè)為操作界面,主要功能有參數(shù)設(shè)置、地震仿真、生成日志、生成軌跡線等,其中參數(shù)設(shè)置包括有行人數(shù)量、期望速度、導(dǎo)航方式,場景出口方向、位置及寬度、并行線程數(shù)量等。在仿真結(jié)束后可以生成每個(gè)行人的疏散數(shù)據(jù), 包括每個(gè)行人的疏散時(shí)間,每個(gè)時(shí)間疏散的行人數(shù)量,繪制疏散軌跡線,還可以使用這些數(shù)據(jù)用于仿真分析統(tǒng)計(jì)。
為了保持良好的軟件結(jié)構(gòu),本軟件的核心功能采用類來進(jìn)行編寫,主要類的描述如表3-表5所示。

表3 社會(huì)力模型類

續(xù)表3

表4 向量計(jì)算類

表5 行人仿真類
在由復(fù)雜的多邊形障礙物構(gòu)成的場景中,實(shí)現(xiàn)行人對(duì)障礙物避碰算法,算法如下:
輸入:
行人集合A
多邊形頂點(diǎn)集合O
步驟:
Step1循環(huán)行人集合A
Step2循環(huán)多邊形頂點(diǎn)集合O
Step3計(jì)算Ai當(dāng)前位置分別與Oi中相鄰兩個(gè)頂點(diǎn)組成邊E的最短距離D
Step4計(jì)算出該最短距離D在邊E上的相交點(diǎn)C
Step5找出最短距離D中的最小值,將對(duì)應(yīng)的相交點(diǎn)C作為計(jì)算社會(huì)力的避碰點(diǎn)
Step6根據(jù)該避碰點(diǎn)計(jì)算社會(huì)力
仿真實(shí)驗(yàn)環(huán)境是操作系統(tǒng)Windows 10,主頻為2.3 GHz,內(nèi)存容量為8 GB。在仿真實(shí)驗(yàn)中,仿真場景中的1個(gè)像素表示實(shí)際場景中的0.1 m,商場場景區(qū)域?yàn)?20×60 m,行人的半徑為0.4 m,在場景中隨機(jī)均勻分布。行人未疏散狀態(tài)時(shí)的期望速度為1.5 m/s,疏散狀態(tài)時(shí)標(biāo)準(zhǔn)期望速度為3 m/s,出口的寬度為6 m。
仿真過程中默認(rèn)的導(dǎo)航方式采用目的地點(diǎn)的方式,本文稱這種方式為原始社會(huì)力導(dǎo)航,為了對(duì)比疏散效果,部分場景導(dǎo)航方式為導(dǎo)航點(diǎn)的方式。該商場場景布局如圖7所示,其中矩形框?yàn)檎系K物,圓形為導(dǎo)航點(diǎn),這樣分布的導(dǎo)航點(diǎn)可以使行人在場景中完成疏散,避免行人緊貼障礙物移動(dòng)。本文設(shè)計(jì)多種不同的情景模式來仿真人群的疏散實(shí)驗(yàn),每種情景實(shí)驗(yàn)重復(fù)5次,對(duì)仿真結(jié)果進(jìn)行分析對(duì)比。

圖7 商場場景布局圖
為對(duì)比不同線程數(shù)量仿真時(shí)間的真實(shí)性,在場景、行人位置相同的情況下,進(jìn)行實(shí)時(shí)仿真和數(shù)值仿真的對(duì)比,導(dǎo)航方式為原始社會(huì)力導(dǎo)航,出口的寬度為6 m。數(shù)值仿真是直接設(shè)定固定的每次計(jì)算社會(huì)力的間隔時(shí)間,設(shè)置間隔時(shí)間為0.005 s,計(jì)算出來的仿真時(shí)間作為基準(zhǔn)時(shí)間。進(jìn)行了4組的數(shù)值仿真,并與實(shí)時(shí)仿真進(jìn)行對(duì)比,對(duì)比結(jié)果如表6-表9所示。

表6 行人200人的仿真對(duì)比

表7 行人320人的仿真對(duì)比

表8 行人400人的仿真對(duì)比

表9 行人480人的仿真對(duì)比
通過實(shí)驗(yàn)數(shù)據(jù)可以看出,在200人和320人的仿真情況下,實(shí)時(shí)仿真和數(shù)值仿真的疏散時(shí)間基本相同,在實(shí)時(shí)仿真中采用不同線程數(shù)量的仿真時(shí)間也基本一致。在400人和480人的仿真情況下,單線程的實(shí)時(shí)仿真的疏散時(shí)間就會(huì)偏離數(shù)值仿真的時(shí)間,而且人數(shù)越多偏離越大,且仿真效果也不佳。但隨著仿真的線程數(shù)量的增多,仿真疏散時(shí)間會(huì)接近數(shù)值仿真的時(shí)間,且仿真效果較好。
單線程在仿真時(shí),當(dāng)人數(shù)較少時(shí),計(jì)算量會(huì)較少,同時(shí)每幀的間隔時(shí)間較短,行人沒有抖動(dòng)現(xiàn)象,這時(shí)的疏散時(shí)間同數(shù)值仿真時(shí)間基本一致。當(dāng)人數(shù)較多時(shí),計(jì)算量會(huì)加大,每幀的間隔時(shí)間較長,會(huì)導(dǎo)致行人產(chǎn)生抖動(dòng)現(xiàn)象,這增加了行人疏散的距離,也對(duì)行人的疏散有很大的阻擋作用,從而增加總體的疏散時(shí)間。采用單線程時(shí)會(huì)發(fā)生行人穿透障礙物的現(xiàn)象,使仿真效果不合理。從軌跡線圖中可以看出,圖8(a)的軌跡線相對(duì)于圖8(b)的軌跡線清晰,而圖8(b)的軌跡線由于行人的抖動(dòng)而產(chǎn)生了較多的噪聲。
通過該組實(shí)驗(yàn),可以看出采用多線程可以彌補(bǔ)單線程的不足,可以提高實(shí)時(shí)仿真的效果,使疏散時(shí)間更具有可信性。

(a) (b)圖8 不同線程數(shù)量不同對(duì)比
仿真人數(shù)為300人,線程數(shù)量為8個(gè),導(dǎo)航方式分別為原始社會(huì)力導(dǎo)航和導(dǎo)航點(diǎn)。
通過對(duì)比疏散時(shí)間數(shù)據(jù),其中原始社會(huì)力導(dǎo)航平均疏散時(shí)間為39.2 s,導(dǎo)航點(diǎn)的為35.6 s,使用導(dǎo)航點(diǎn)仿真行人的疏散時(shí)間會(huì)降低3.6 s,原因從圖9(a)中可以看出是使用導(dǎo)航點(diǎn)導(dǎo)航時(shí)行人避免行走在障礙物的邊緣位置,這樣在疏散過程中是以期望速度疏散,不會(huì)出現(xiàn)移動(dòng)緩慢現(xiàn)象,更加接近真實(shí)情況。而在圖9(b)中,行人在疏散過程中存在貼近障礙物邊緣行走的情況,這樣就會(huì)出現(xiàn)移動(dòng)緩慢,導(dǎo)致疏散時(shí)間變長。

(a) (b)圖9 導(dǎo)航方式不同的仿真
圖10的軌跡線也可以看出圖10(a)的疏散軌跡盡量避開障礙物的邊緣。而圖10(b)中由于行人是直接指向出口點(diǎn)進(jìn)行疏散的,必然會(huì)貼近障礙物移動(dòng)。可見采用合理的導(dǎo)航點(diǎn)方式進(jìn)行疏散仿真可以使行人的疏散軌跡更加趨于合理,完善疏散仿真效果。

(a) (b)圖10 導(dǎo)航方式不同的軌跡線
為了使仿真軟件適應(yīng)不同障礙物場景,在場景中實(shí)現(xiàn)了可以任意增加多邊形作為障礙物,如矩形、三角形、菱形、五邊形、六邊形等,可以靈活地布局障礙物,滿足不同場景疏散仿真的要求。本節(jié)實(shí)驗(yàn)設(shè)計(jì)一個(gè)游戲場館的場景,用不同多邊形表示游戲區(qū)域,選擇一些關(guān)鍵的節(jié)點(diǎn)作為導(dǎo)航點(diǎn)進(jìn)行疏散仿真實(shí)驗(yàn),游戲場館場景的布局圖如圖11所示,其中多邊形為障礙物,圓形為導(dǎo)航點(diǎn)。

圖11 游戲場館場景布局圖
在場景中隨機(jī)分布行人,行人的期望速度為3 m/s,出口的寬度為6 m,采用8線程分布進(jìn)行了200人、320人、400人和480人的疏散仿真,圖12(a)是仿真效果,圖12(b)是疏散軌跡線。不同行人數(shù)量的疏散仿真時(shí)間對(duì)比如表10所示。通過不同的多邊形組合可以創(chuàng)建出不同的場景類型,滿足對(duì)多種場景仿真實(shí)驗(yàn)的要求。

(a) (b)圖12 游戲場館場景仿真

表10 疏散仿真時(shí)間對(duì)比
上述實(shí)驗(yàn)中行人的逃生速度就是期望速度,但在疏散過程中由于行人的恐慌程度和健康程度區(qū)別,逃生速度存在較大的差異。本節(jié)實(shí)驗(yàn)采用商場場景,400個(gè)行人,線程數(shù)量8個(gè),導(dǎo)航方式采用導(dǎo)航點(diǎn)方式,結(jié)合行人的恐慌值和健康值。考慮到仿真的總體疏散時(shí)間由最后逃生的行人決定,而行人的健康值是隨機(jī)分布,這樣導(dǎo)致整體的疏散時(shí)間有一定的隨機(jī)性,為了減少隨機(jī)性的影響,采用場景中90%的行人完成疏散的時(shí)間作為比較依據(jù),疏散時(shí)間對(duì)比如表11所示。
實(shí)驗(yàn)中恐慌值和健康值依照如下設(shè)置:
實(shí)驗(yàn)1不采用恐慌值和健康值;
實(shí)驗(yàn)2、實(shí)驗(yàn)3、實(shí)驗(yàn)4采用恐慌值和健康值;
實(shí)驗(yàn)2健康值在[0.5,1.5]均勻分布;
實(shí)驗(yàn)3健康值在[0.5,1]占40%,在(1,1.5]占60%;
實(shí)驗(yàn)4健康值在[0.5,1]占60%,在(1,1.5]占40%。

表11 疏散仿真時(shí)間對(duì)比
表11中采用恐慌值和健康值的實(shí)驗(yàn)2、3、4相比較實(shí)驗(yàn)1的疏散時(shí)間較長,實(shí)驗(yàn)3的平均健康值較高,因此疏散時(shí)間較短,而實(shí)驗(yàn)4的平均健康值較低,因此疏散時(shí)間較長,實(shí)驗(yàn)結(jié)果符合預(yù)期。在仿真過程中實(shí)驗(yàn)2-實(shí)驗(yàn)4的行人呈現(xiàn)出不同逃生速度,可見采用合理的恐慌值和健康值可以疏散仿真的結(jié)果趨于合理。
本文采用多線程優(yōu)化、增加導(dǎo)航點(diǎn)、結(jié)合恐慌值和健康值的社會(huì)力模型建立人群疏散仿真軟件,利用該軟件實(shí)時(shí)仿真商場及游戲場館的人群疏散。對(duì)不同導(dǎo)航模式、不同行人數(shù)量等進(jìn)行仿真實(shí)驗(yàn),分析了仿真實(shí)驗(yàn)的數(shù)據(jù),得出相應(yīng)結(jié)論。通過該軟件可以對(duì)場景的疏散功能進(jìn)行仿真,為定制疏散策略提供依據(jù)。
然而,本文的方法仍有不足之處。采用多線程可以優(yōu)化仿真效果,但是當(dāng)人數(shù)達(dá)到一定數(shù)量時(shí),還是會(huì)出現(xiàn)系統(tǒng)瓶頸,還需要進(jìn)一步優(yōu)化,可以考慮優(yōu)化算法步驟或者采用GPU加速來實(shí)現(xiàn)。本文的導(dǎo)航點(diǎn)采用人工標(biāo)記的方式,存在一定的主觀性和不確定性,需要提出一種可以根據(jù)場景信息自動(dòng)生成導(dǎo)航點(diǎn)的方法。人群的疏散過程中存在多種因素,還應(yīng)考慮與人群的群體性、情緒性等相結(jié)合,才能人群疏散仿真更加真實(shí)。這些也是本文需要進(jìn)一步研究的方向。