龔 偉
(西南交通大學(xué)電氣工程學(xué)院,四川 成都611756)
大規(guī)模人群仿真即研究人群在各種環(huán)境下的運(yùn)動(dòng)特征與規(guī)律,建立大規(guī)模人群運(yùn)動(dòng)的仿真模型,在三維虛擬環(huán)境下展示人群的運(yùn)動(dòng)過(guò)程的仿真技術(shù)。人群的行為是由群體中的個(gè)體行為構(gòu)成,它受外界環(huán)境及個(gè)體之間的相互影響。研究人群的行特點(diǎn)在許多領(lǐng)域有著較強(qiáng)的應(yīng)用價(jià)值。
本文通過(guò)虛擬現(xiàn)實(shí),對(duì)地鐵站等場(chǎng)景中的乘客行走、聚集等行為進(jìn)行仿真研究,這對(duì)大型公眾設(shè)施的建設(shè)以及緊急狀況下的疏散方案建立有重要意義。
人群是指某個(gè)時(shí)段在相同的環(huán)境下,為共同目標(biāo)而組成的集合體。人群仿真模型,是對(duì)現(xiàn)實(shí)世界中人群行為特征的抽象。建立通用的人群運(yùn)動(dòng)模型是具有很大難度的,現(xiàn)實(shí)世界中每個(gè)人都是一個(gè)獨(dú)立的智能體,每個(gè)人的立場(chǎng)、性格不相同,甚至對(duì)共同目標(biāo)的認(rèn)識(shí)也不盡相同,因此很難抽象出隱藏在復(fù)雜現(xiàn)象背后的共性特征。
Vicrowd模型的群體仿真技術(shù)克服了傳統(tǒng)群體模擬的技術(shù)局限。本文基于此模型進(jìn)行展開,并在Unity3d環(huán)境下,對(duì)此模型進(jìn)行了實(shí)現(xiàn)。
Vicrowd作為一個(gè)通用的群體模擬系統(tǒng)模型,在人群模擬中起了非常重要的作用。該模型對(duì)人群的行為進(jìn)行了系統(tǒng)的抽象,劃分并定義了人群的不同屬性、行為層次和控制層次,并且Vicrowd模型不受場(chǎng)景、情節(jié)和人群行為模式的限制,是比較通用的人群仿真建模方法。在這一模型下,群體中的個(gè)體心里、情緒等屬性可以得到較好的體現(xiàn)。
ViCrowd模型把虛擬人群定義為三個(gè)不同的層次:人群(Crowd)、團(tuán)隊(duì)(Group)和個(gè)體(Agent)。團(tuán)隊(duì)由個(gè)體組成,人群由團(tuán)隊(duì)構(gòu)成。團(tuán)隊(duì)的行為分為組行為,組行為又被分成個(gè)體行為。在同一組內(nèi)的所有個(gè)體有共同的目標(biāo)和趨勢(shì),因?yàn)樗鼈冇蓄A(yù)定的行為,這個(gè)目標(biāo)可以是一個(gè)點(diǎn)或一個(gè)區(qū)域。
Vicrowd模型定義了虛擬人行為的三個(gè)自由度層次,即被引導(dǎo)的、規(guī)劃的和自治的。解釋如下:
被引導(dǎo)行為:受到用戶實(shí)時(shí)交互控制而激發(fā)的行為。規(guī)劃行為:受到程序預(yù)先設(shè)定的腳本并控制的行為。自治行為:有虛擬人根據(jù)自身的知識(shí)、環(huán)境的影響等而自我激發(fā)并控制的行為。
其分層結(jié)構(gòu)如圖1所示。
為了更真實(shí)地實(shí)現(xiàn)虛擬人群的行為,虛擬人群中的個(gè)體應(yīng)具有高度的自治,能自動(dòng)進(jìn)行路徑規(guī)劃,產(chǎn)生從當(dāng)前位置到目標(biāo)位置的最優(yōu)路徑,引導(dǎo)虛擬人完成相應(yīng)的目標(biāo)。由于虛擬環(huán)境中存在各種靜態(tài)或者動(dòng)態(tài)的障礙物,因此需要對(duì)進(jìn)行路徑規(guī)格。

圖1 Vicrowd模型分層結(jié)構(gòu)圖
在虛擬環(huán)境下,人群中具有不同的行為的個(gè)體不斷對(duì)周圍環(huán)境進(jìn)行探測(cè)、感知,絕對(duì)當(dāng)前的決策,采取相應(yīng)的策略對(duì)目標(biāo)路徑進(jìn)行規(guī)劃。
1.2.1 信息感知
虛擬人群個(gè)體的信息感知主要通過(guò)視覺(jué)信息獲取,碰撞檢測(cè)的方式來(lái)實(shí)現(xiàn)。首先,虛擬人有一個(gè)圓形包圍體,其半徑即為碰撞區(qū)域的檢測(cè)半徑。其次,其還有一個(gè)感知半徑,用于感知或者施加行為的影響半徑。
人群個(gè)體在虛擬空間運(yùn)動(dòng)時(shí),所感知的視覺(jué)信息時(shí)刻都在動(dòng)態(tài)變化著,當(dāng)障礙物(包括其他個(gè)體人)進(jìn)入感知區(qū)域時(shí),障礙物最外層的點(diǎn)與虛擬人中心的距離d必須大約個(gè)體的包圍半徑。
1.2.2 決策
規(guī)避從另外一面可以理解為從起始位置到終點(diǎn)的路徑策略,由于虛擬個(gè)體處于一個(gè)動(dòng)態(tài)變化的場(chǎng)景中,需要不斷對(duì)周圍環(huán)境進(jìn)行檢測(cè),以更新個(gè)體信息。
本文采用了AStar算法,對(duì)整個(gè)虛擬環(huán)境進(jìn)行柵格,采用廣度優(yōu)先的策略篩選出一條路徑,使各個(gè)個(gè)體即不相互碰撞,由有相同的目標(biāo),顯得更有條理。
1.2.3 行為調(diào)整
處于人群中的個(gè)體時(shí)刻受到周圍環(huán)境的影響而改變自己相應(yīng)的行為,比如一般狀況下的跟隨以及緊急狀況下的排斥行為。
本文采用了物理力學(xué)模型,將各個(gè)影響抽象成物理中的受力,以合力的形式表現(xiàn)當(dāng)前個(gè)體的行為。
綜上所述,通過(guò)在每一個(gè)時(shí)間片刻內(nèi),采用BSP遍歷所有人群中個(gè)體,不斷檢測(cè)周圍其它個(gè)體和障礙物對(duì)當(dāng)前個(gè)體的狀態(tài)影響,分別以力的形式進(jìn)行表現(xiàn),合力決定了當(dāng)前個(gè)體下一個(gè)時(shí)間片刻的行為。
本文是基于Vicrowd模型,對(duì)人群仿真技術(shù)進(jìn)行了研究和分析,并在Unity3D引擎對(duì)此進(jìn)行了實(shí)現(xiàn),取得了一定的成功,這些成果主要體現(xiàn)在對(duì)虛擬環(huán)境、人群行為的建模等方面。但是構(gòu)建一個(gè)完善的人群仿真系統(tǒng)仍面臨這許多的困難,這需要在以后進(jìn)行優(yōu)化。