龔 偉
(西南交通大學(xué)電氣工程學(xué)院,四川 成都611756)
大規(guī)模人群仿真即研究人群在各種環(huán)境下的運動特征與規(guī)律,建立大規(guī)模人群運動的仿真模型,在三維虛擬環(huán)境下展示人群的運動過程的仿真技術(shù)。人群的行為是由群體中的個體行為構(gòu)成,它受外界環(huán)境及個體之間的相互影響。研究人群的行特點在許多領(lǐng)域有著較強的應(yīng)用價值。
本文通過虛擬現(xiàn)實,對地鐵站等場景中的乘客行走、聚集等行為進行仿真研究,這對大型公眾設(shè)施的建設(shè)以及緊急狀況下的疏散方案建立有重要意義。
人群是指某個時段在相同的環(huán)境下,為共同目標(biāo)而組成的集合體。人群仿真模型,是對現(xiàn)實世界中人群行為特征的抽象。建立通用的人群運動模型是具有很大難度的,現(xiàn)實世界中每個人都是一個獨立的智能體,每個人的立場、性格不相同,甚至對共同目標(biāo)的認(rèn)識也不盡相同,因此很難抽象出隱藏在復(fù)雜現(xiàn)象背后的共性特征。
Vicrowd模型的群體仿真技術(shù)克服了傳統(tǒng)群體模擬的技術(shù)局限。本文基于此模型進行展開,并在Unity3d環(huán)境下,對此模型進行了實現(xiàn)。
Vicrowd作為一個通用的群體模擬系統(tǒng)模型,在人群模擬中起了非常重要的作用。該模型對人群的行為進行了系統(tǒng)的抽象,劃分并定義了人群的不同屬性、行為層次和控制層次,并且Vicrowd模型不受場景、情節(jié)和人群行為模式的限制,是比較通用的人群仿真建模方法。在這一模型下,群體中的個體心里、情緒等屬性可以得到較好的體現(xiàn)。
ViCrowd模型把虛擬人群定義為三個不同的層次:人群(Crowd)、團隊(Group)和個體(Agent)。團隊由個體組成,人群由團隊構(gòu)成。團隊的行為分為組行為,組行為又被分成個體行為。在同一組內(nèi)的所有個體有共同的目標(biāo)和趨勢,因為它們有預(yù)定的行為,這個目標(biāo)可以是一個點或一個區(qū)域。
Vicrowd模型定義了虛擬人行為的三個自由度層次,即被引導(dǎo)的、規(guī)劃的和自治的。解釋如下:
被引導(dǎo)行為:受到用戶實時交互控制而激發(fā)的行為。規(guī)劃行為:受到程序預(yù)先設(shè)定的腳本并控制的行為。自治行為:有虛擬人根據(jù)自身的知識、環(huán)境的影響等而自我激發(fā)并控制的行為。
其分層結(jié)構(gòu)如圖1所示。
為了更真實地實現(xiàn)虛擬人群的行為,虛擬人群中的個體應(yīng)具有高度的自治,能自動進行路徑規(guī)劃,產(chǎn)生從當(dāng)前位置到目標(biāo)位置的最優(yōu)路徑,引導(dǎo)虛擬人完成相應(yīng)的目標(biāo)。由于虛擬環(huán)境中存在各種靜態(tài)或者動態(tài)的障礙物,因此需要對進行路徑規(guī)格。
圖1 Vicrowd模型分層結(jié)構(gòu)圖
在虛擬環(huán)境下,人群中具有不同的行為的個體不斷對周圍環(huán)境進行探測、感知,絕對當(dāng)前的決策,采取相應(yīng)的策略對目標(biāo)路徑進行規(guī)劃。
1.2.1 信息感知
虛擬人群個體的信息感知主要通過視覺信息獲取,碰撞檢測的方式來實現(xiàn)。首先,虛擬人有一個圓形包圍體,其半徑即為碰撞區(qū)域的檢測半徑。其次,其還有一個感知半徑,用于感知或者施加行為的影響半徑。
人群個體在虛擬空間運動時,所感知的視覺信息時刻都在動態(tài)變化著,當(dāng)障礙物(包括其他個體人)進入感知區(qū)域時,障礙物最外層的點與虛擬人中心的距離d必須大約個體的包圍半徑。
1.2.2 決策
規(guī)避從另外一面可以理解為從起始位置到終點的路徑策略,由于虛擬個體處于一個動態(tài)變化的場景中,需要不斷對周圍環(huán)境進行檢測,以更新個體信息。
本文采用了AStar算法,對整個虛擬環(huán)境進行柵格,采用廣度優(yōu)先的策略篩選出一條路徑,使各個個體即不相互碰撞,由有相同的目標(biāo),顯得更有條理。
1.2.3 行為調(diào)整
處于人群中的個體時刻受到周圍環(huán)境的影響而改變自己相應(yīng)的行為,比如一般狀況下的跟隨以及緊急狀況下的排斥行為。
本文采用了物理力學(xué)模型,將各個影響抽象成物理中的受力,以合力的形式表現(xiàn)當(dāng)前個體的行為。
綜上所述,通過在每一個時間片刻內(nèi),采用BSP遍歷所有人群中個體,不斷檢測周圍其它個體和障礙物對當(dāng)前個體的狀態(tài)影響,分別以力的形式進行表現(xiàn),合力決定了當(dāng)前個體下一個時間片刻的行為。
本文是基于Vicrowd模型,對人群仿真技術(shù)進行了研究和分析,并在Unity3D引擎對此進行了實現(xiàn),取得了一定的成功,這些成果主要體現(xiàn)在對虛擬環(huán)境、人群行為的建模等方面。但是構(gòu)建一個完善的人群仿真系統(tǒng)仍面臨這許多的困難,這需要在以后進行優(yōu)化。