專利名稱:一種虛擬人群運動仿真框架的制作方法
技術領域:
本發(fā)明涉及虛擬現(xiàn)實領域,特別涉及一種虛擬人群運動仿真框架。
背景技術:
在虛擬現(xiàn)實領域中,逼真的群體運動仿真能夠用來模擬各種場所(如大型體育場館、地鐵站等)各種情況(如火災、海難、空難、地震等)下的人群流動情況,為突發(fā)事件應急預案的制定、評價和完善提供科學、直觀的分析工具;也能夠用來生成成千上萬的虛擬獸群或虛擬軍團的運動,從而可以降低影視制作成本、提高影視作品和游戲場景的視覺逼真性。因此,在公共安全、建筑設計評估、影視制作、游戲娛樂等虛擬現(xiàn)實相關領域具有廣泛的應用前景。
在現(xiàn)實生活中,人群的運動由個體運動有機結合而成,受個體、環(huán)境等因素影響,具有一定的規(guī)律性、很強的復雜性,同時又伴隨著一定的隨機性。建立虛擬人群體運動仿真框架,并通過計算機進行逼真的虛擬人群運動仿真,是虛擬現(xiàn)實領域的研究熱點和難點之一。現(xiàn)有的虛擬人群運動仿真方法,多針對某一特定的應用場景,通過對環(huán)境因素進行限定、對人群運動進行簡化、抽象來實現(xiàn)群體運動的模擬,例如,文獻1“D.Helbing,I.Farkas,T.Vicsek,Simulating Dynamical Features ofEscape Panic,Nature 407(2000)487-490”;參考文獻2“Brogan,D.and Hodgins,J.“Group Behaviours for Systems with Significant Dynamics”.Autonomous Robots,4,137-153.1997”所介紹的仿真方法。這些方法及其相應的仿真工具不僅逼真性有限,通用性也較差,無法滿足現(xiàn)實應用中遇到的各種復雜情況。
因此,研究通用的群體運動仿真框架,實現(xiàn)各種場景中,多環(huán)境因素影響下的逼真的虛擬人群運動仿真,不僅有重大的理論意義,也具有廣泛的應用領域以及重要的實用價值。
發(fā)明內容
本發(fā)明的目的是克服現(xiàn)有的虛擬人群運動仿真方法及其相應的仿真工具逼真性有限、通用性較差,無法滿足現(xiàn)實應用中遇到的各種復雜情況的缺陷,從而提供一種通用的虛擬人群運動仿真框架,實現(xiàn)各種場景中,多環(huán)境因素影響下虛擬人群體運動的逼真模擬。
為了實現(xiàn)上述目的,本發(fā)明提供一種虛擬人群運動仿真框架,包括總控臺部分1、環(huán)境表示部分2和個體模擬部分3,其中所述的總控臺部分1進行虛擬人群運動仿真的總體管理和控制,提供實現(xiàn)虛擬人群運動仿真所需要的各種配置,進行各部分的調度管理,監(jiān)控仿真程序是否按照設定的方式正常運行;所述的環(huán)境表示部分2負責虛擬人群運動仿真中環(huán)境的表示和設定,組織和管理環(huán)境信息,支持對于環(huán)境信息的查詢和更新;所述的個體模擬部分3負責個體運動仿真的實現(xiàn),并通過對個體運動仿真的有機結合,實現(xiàn)群體運動的仿真;所述的總控臺部分1分別與所述的環(huán)境表示部分2和所述的個體模擬部分3連接,所述的環(huán)境表示部分2與所述的個體模擬部分3間也相互連接。
上述技術方案中,所述的總控臺部分1由顯示控制子部分11、渲染管理子部分12、環(huán)境管理子部分13、群體管理子部分14、時鐘更新控制子部分15組成;其中,所述的顯示控制子部分11用于確定顯示角度,提供仿真結果的顯示模式;所述的渲染管理子部分12負責在仿真程序運行時根據顯示模式對物體和個體的渲染管理,確定需要渲染顯示的物體并調用相應的渲染函數(shù)進行渲染;所述的環(huán)境管理子部分13負責讀取環(huán)境圖紙和物體模型,加載環(huán)境,生成環(huán)境信息庫,將環(huán)境中物體信息數(shù)據加入信息庫,在程序結束時銷毀信息庫;所述的群體管理子部分14負責在程序需要時生成群體,并進行初始化,以及在程序運行結束時銷毀群體;所述的時鐘更新控制子部分15負責根據需要的方式進行系統(tǒng)時間的設定和更新,并根據時間進行環(huán)境和個體位置的更新。
上述技術方案中,所述的環(huán)境表示部分2由物體模型子部分21和環(huán)境信息庫子部分22組成,所述的物體模型子部分21由包含三維信息的幾何模型211和包含使用信息的功能模型212組成;所述的環(huán)境信息庫子部分22由所述的環(huán)境管理子部分13在環(huán)境加載后創(chuàng)建。
上述技術方案中,所述的個體模擬部分3包括行為生成層31、行為執(zhí)行層32和物理實現(xiàn)層33三個子部分,其中,所述的行為生成層31根據個體所處的情況查詢獲取環(huán)境信息,并基于獲得的環(huán)境信息生成個體需要采取的行為,交予行為執(zhí)行層32執(zhí)行;所述的行為執(zhí)行層32負責執(zhí)行行為生成層31生成的行為,同時考慮各種行為的輕重緊急程度對同時并發(fā)的多種行為予以融合,得到一個合理的綜合執(zhí)行結果;所述的物理實現(xiàn)層33負責在具有特定運動屬性的物理模型上實現(xiàn)行為執(zhí)行層32得出的綜合行為執(zhí)行結果。
所述的行為生成層31在生成行為動作時采用基于if-then規(guī)則的方法或基于概率的方法或基于狀態(tài)自動機的方法或是基于物理學的方法。
所述的行為生成層31包括感知單元311、行為規(guī)劃及監(jiān)督執(zhí)行單元312、個體狀態(tài)管理單元313,其中,所述的感知單元311根據需要的感知方式,從所述的環(huán)境信息庫22中查詢并提取所需的信息,將需要的信息傳遞給行為規(guī)劃及監(jiān)督執(zhí)行單元312;所述的行為規(guī)劃及監(jiān)督執(zhí)行單元312根據感知單元311感知得來的信息數(shù)據,同時考慮個體狀態(tài)管理單元313提供的個體狀態(tài)信息,給出需要執(zhí)行的單個或多個行為以及執(zhí)行所需的信息,并監(jiān)控動作的執(zhí)行,直到執(zhí)行動作結束或者新情況出現(xiàn);所述的個體狀態(tài)管理單元313為規(guī)劃及監(jiān)督執(zhí)行單元312提供個體物理層次和精神層次的狀態(tài)信息,并根據執(zhí)行情況對本身狀態(tài)進行調整。
所述的行為執(zhí)行層32包括單個行為執(zhí)行單元321、多執(zhí)行結果融合單元322和運動特性單元323;所述的單個行為執(zhí)行單元321執(zhí)行行為規(guī)劃及監(jiān)督執(zhí)行單元312給出的需要同時執(zhí)行的單個或多個行為,給出單個或多個執(zhí)行結果;所述的多執(zhí)行結果融合單元322將多個單個行為執(zhí)行的執(zhí)行結果按照一定的融合規(guī)則和方法進行融合,得出最終的行為執(zhí)行結果;所述的運動特性單元323在需要時將運動特性提供給單個行為執(zhí)行單元321和多執(zhí)行結果融合單元322,以生成有特性的行為執(zhí)行結果。
在所述的多執(zhí)行結果融合單元322中進行行為融合時采用矢量運算法或平均融合法或權重融合法或公式計算法或概率投票法。
所述的運動特性包括最大速度、反應時間,所述的運動特性可根據個體狀態(tài)進行調整。
本發(fā)明的優(yōu)點在于1、本發(fā)明的虛擬人群運動仿真框架不受應用場景和環(huán)境因素的限定,也不特定于某種群體類型,通過不同個體行為的設定可以方便的模擬不同情境下虛擬人群的運動,因此,該框架具有很強的通用性。
2、本發(fā)明的虛擬人群運動仿真框架通過思考層、執(zhí)行層和物理實現(xiàn)層分層次分任務來進行個體行為的模擬,充分考慮個體一個體之間的影響、環(huán)境因素對個體運動的影響,通過本框架中行為生成方式和物理實現(xiàn)方式的調整和設定,將個體運動有機的結合起來,實現(xiàn)虛擬人群的逼真運動仿真。
3、本發(fā)明的虛擬人群運動仿真框架設計個體本身狀態(tài)調整和運動特性等部分均為可以拆卸部分,可以根據需要進行拆卸或增加,同時用來進行個體模擬的方式也有很大的選擇空間,可以滿足不同規(guī)模不同細度的群體模擬要求,因此,該框架具有很好的靈活性和伸縮性。
圖1為本發(fā)明的虛擬人群運動仿真框架的結構圖。
圖面說明1總控臺部分 2環(huán)境表示部分 3個體模擬部分11顯示控制子部分12渲染管理子部分 13環(huán)境管理子部分14群體管理子部分15時鐘更新控制子部分 21物體模型子部分22環(huán)境信息庫子部分 211幾何模型212功能模型31行為生成層子部分 32行為執(zhí)行層子部分 33物理實現(xiàn)層子部分311感知單元 312行為規(guī)劃及監(jiān)督執(zhí)行單元313個體狀態(tài)管理單元 321單個行為執(zhí)行單元322多執(zhí)行結果融合單元323運動特性單元具體實施方式
下面結合附圖和具體實施方式
對本發(fā)明作進一步的說明。
如圖1所示,本發(fā)明的虛擬人群運動仿真框架由三部分組成,包括總控臺部分1、環(huán)境表示部分2和個體模擬部分3。
總控臺部分1進行程序運行的總體管理和控制,提供程序運行所需要的各種配置,進行各部分的調度管理,監(jiān)控程序是否按照設定的方式正常運行。總控臺部分1主要由顯示控制11、渲染管理12、環(huán)境管理13、群體管理14、時鐘更新控制15五個子部分構成。其中,顯示控制子部分11用于確定顯示角度,提供仿真結果的顯示模式,它相當于一個照相機,負責根據需要調整程序仿真結果在屏幕上的顯示方式。渲染管理子部分12負責在程序運行時根據顯示模式對物體和個體的渲染管理,確定需要渲染顯示的物體并調用相應的渲染函數(shù)進行渲染。環(huán)境管理子部分13負責讀取環(huán)境圖紙和物體模型,加載環(huán)境,生成環(huán)境信息庫22,將環(huán)境中物體信息數(shù)據加入信息庫,在程序結束時銷毀信息庫。群體管理子部分14負責在程序需要時生成群體,并進行初始化,以及在程序運行結束時銷毀群體。時鐘更新控制子部分15相當于系統(tǒng)時鐘,主要負責根據需要的方式進行系統(tǒng)時間的設定和更新,并根據時間進行環(huán)境和個體位置的更新。
環(huán)境表示部分2主要負責環(huán)境的表示和設定,組織和管理環(huán)境信息,支持對于環(huán)境信息的查詢和更新。環(huán)境表示部分2由物體模型子部分21和環(huán)境信息庫子部分22組成。其中物體模型子部分21使用包含三維信息的幾何模型211和包含使用信息的功能模型212來進行表示,幾何模型211可用3DMax等建模軟件獲得,功能模型212可以通過功能函數(shù)進行實現(xiàn)。環(huán)境信息庫子部分22由總控臺1的環(huán)境管理子部分13在環(huán)境加載后創(chuàng)建,通過一定的數(shù)據結構和操作方式支持信息的查詢和更新,比如現(xiàn)在經常采用的二分樹、八叉樹等結構。
個體模擬部分3主要負責個體運動仿真的實現(xiàn),并通過對個體運動仿真的有機結合,實現(xiàn)群體運動的仿真。它具體包括行為生成層31、行為執(zhí)行層32和物理實現(xiàn)層33三個子部分。
其中,行為生成層31將根據個體所處的情況查詢獲取環(huán)境信息,并基于獲得的環(huán)境信息生成個體需要采取的行為,交予行為執(zhí)行層32去執(zhí)行。目前,可以用來進行行為生成的方法有很多,比如基于if-then規(guī)則的方法、基于概率的方法、基于狀態(tài)自動機的方法或是基于物理學的方法等。行為生成層31還可以做進一步的劃分,包括感知單元311、行為規(guī)劃及監(jiān)督執(zhí)行單元312、個體狀態(tài)管理單元313。所述的感知單元311根據需要的感知方式,從環(huán)境信息庫22中查詢并提取所需的信息,將需要的信息傳遞給行為規(guī)劃及監(jiān)督執(zhí)行單元312。所述的行為規(guī)劃及監(jiān)督執(zhí)行單元312根據感知單元311感知得來的信息數(shù)據,以及如果需要,同時考慮個體狀態(tài)管理單元313提供的個體狀態(tài)信息,給出需要執(zhí)行的單個或多個行為以及執(zhí)行所需的信息,并監(jiān)控動作的執(zhí)行,直到執(zhí)行動作結束或者新情況出現(xiàn)。所述的個體狀態(tài)管理單元313在需要的情況下,為行為規(guī)劃及監(jiān)督執(zhí)行單元312提供個體物理層次和精神層次的狀態(tài)信息,同時,根據執(zhí)行情況對本身狀態(tài)進行調整。
行為執(zhí)行層32主要負責執(zhí)行行為生成層31生成的行為,同時考慮各種行為的輕重緊急程度對同時并發(fā)的多種行為予以融合,最終得到一個合理的綜合執(zhí)行結果。目前,普遍采用的行為融合法有矢量運算法、平均融合法、權重融合法、公式計算法和概率投票法等多種。
所述的行為執(zhí)行層32還可以進一步劃分為單個行為執(zhí)行單元321、多執(zhí)行結果融合單元322和運動特性單元323。所述的單個行為執(zhí)行單元321執(zhí)行行為規(guī)劃及監(jiān)督執(zhí)行單元312給出的需要同時執(zhí)行的單個或多個行為,給出單個或多個執(zhí)行結果。所述的多執(zhí)行結果融合單元322將多個單個行為執(zhí)行的執(zhí)行結果按照一定的融合規(guī)則和方法進行融合,得出最終的行為執(zhí)行結果。所述的運動特性單元323在需要時將運動特性提供給單個行為執(zhí)行單元321和多執(zhí)行結果融合單元322,以生成有特性的行為執(zhí)行結果。所述的運動特性包括最大速度、反應時間等,可根據個體狀態(tài)進行調整。
物理實現(xiàn)層33則主要負責在具有特定運動屬性的物理模型上將行為執(zhí)行層32得出的綜合行為執(zhí)行結果進行實現(xiàn)。其中的物理模型可以簡單的視為質點,也可以為人或動物,還可以為機器人或自行車等可驅動運動的器物工具。通過對這些物體模型運動方式的建模,可以驅動不同的物理模型生成仿真運動。在每次運動更新后物理實現(xiàn)層33還負責更新個體在信息庫中的信息。
下面就爆炸和火災兩個具體的例子對本發(fā)明的虛擬人群運動框架進行說明。首先確定模擬發(fā)生的環(huán)境,比如大型場館,居民小區(qū)等,總控臺部分1建立環(huán)境信息庫22,將環(huán)境信息,添加到信息庫22中,根據用戶需要生成初始模擬的人群,同樣要將人群的初始信息添加入信息庫22。如突然在A點發(fā)生爆炸,則更新爆炸模型在信息庫中的信息。同時,個體通過感知,查詢信息庫22,獲得A點的爆炸信息,同時依據距離A點的遠近程度和身邊的情況通過行為生成層決定采取不同的措施。比如,情況一個體在場館外,距離A點較遠,則可能一時對爆炸的反應不明顯,因此行為生成的結果是在原地朝爆炸地張望。情況二個體是在爆炸地附近但是沒有受傷,則有可能驚慌失措的尋找逃生路線,因此行為生成結果是,先確定疏散目標,然后朝目標行進。行為生成后交付行為執(zhí)行層執(zhí)行,對于情況一,只有一個行為,則行為執(zhí)行層依據個體的特性執(zhí)行原地張望動作即可,對于情況二,在確定疏散目標后,朝目標行進時,需要同時考慮兩種行為,一是不斷朝目標前進,一是沿途避免和物體以及其他個體碰撞。所以行為執(zhí)行層32考慮個體的運動特性融合這兩種行為得出合理結果。再往后行為執(zhí)行層32將結果交付物理實現(xiàn)層33合成人的動作。在這過程中,由總控臺1不斷通過時鐘更新程序15,通過渲染管理12調用渲染函數(shù)進行整體渲染,直至模擬結束,模擬結束后程序關閉時再由總控臺1將信息庫22和人群銷毀。同樣,如果是火災,則只需將爆炸模型換成火災模型,同時更換個體行為生成層31的行為生成準則使之生成符合火災行為規(guī)律的行為,比如逃散、滅火、匍匐前進等,并在行為執(zhí)行層32執(zhí)行、融合,其他則基本上不需改變。由此可見,該發(fā)明所述的框架是具有很好通用性,能靈活應用來滿足各種需求。
權利要求
1.一種虛擬人群運動仿真框架,包括總控臺部分(1)、環(huán)境表示部分(2)和個體模擬部分(3),其中所述的總控臺部分(1)進行虛擬人群運動仿真的總體管理和控制,提供實現(xiàn)虛擬人群運動仿真所需要的各種配置,進行各部分的調度管理,監(jiān)控仿真程序是否按照設定的方式正常運行;所述的環(huán)境表示部分(2)負責虛擬人群運動仿真中環(huán)境的表示和設定,組織和管理環(huán)境信息,支持對于環(huán)境信息的查詢和更新;所述的個體模擬部分(3)負責個體運動仿真的實現(xiàn),并通過對個體運動仿真的有機結合,實現(xiàn)群體運動的仿真;所述的總控臺部分(1)分別與所述的環(huán)境表示部分(2)和所述的個體模擬部分(3)連接,所述的環(huán)境表示部分(2)與所述的個體模擬部分(3)間也相互連接。
2.根據權利要求1所述的虛擬人群運動仿真框架,其特征在于,所述的總控臺部分(1)由顯示控制子部分(11)、渲染管理子部分(12)、環(huán)境管理子部分(13)、群體管理子部分(14)、時鐘更新控制子部分(15)組成;其中,所述的顯示控制子部分(11)用于確定顯示角度,提供仿真結果的顯示模式;所述的渲染管理子部分(12)負責在仿真程序運行時根據顯示模式對物體和個體的渲染管理,確定需要渲染顯示的物體并調用相應的渲染函數(shù)進行渲染;所述的環(huán)境管理子部分(13)負責讀取環(huán)境圖紙和物體模型,加載環(huán)境,生成環(huán)境信息庫,將環(huán)境中物體信息數(shù)據加入信息庫,在程序結束時銷毀信息庫;所述的群體管理子部分(14)負責在程序需要時生成群體,并進行初始化,以及在程序運行結束時銷毀群體;所述的時鐘更新控制子部分(15)負責根據需要的方式進行系統(tǒng)時間的設定和更新,并根據時間進行環(huán)境和個體位置的更新。
3.根據權利要求2所述的虛擬人群運動仿真框架,其特征在于,所述的環(huán)境表示部分(2)由物體模型子部分(21)和環(huán)境信息庫子部分(22)組成,所述的物體模型子部分(21)由包含三維信息的幾何模型(211)和包含使用信息的功能模型(212)組成;所述的環(huán)境信息庫子部分(22)由所述的環(huán)境管理子部分(13)在環(huán)境加載后創(chuàng)建。
4.根據權利要求1所述的虛擬人群運動仿真框架,其特征在于,所述的個體模擬部分(3)包括行為生成層(31)、行為執(zhí)行層(32)和物理實現(xiàn)層(33)三個子部分,其中,所述的行為生成層(31)根據個體所處的情況查詢獲取環(huán)境信息,并基于獲得的環(huán)境信息生成個體需要采取的行為,交予行為執(zhí)行層(32)執(zhí)行;所述的行為執(zhí)行層(32)負責執(zhí)行行為生成層(31)生成的行為,同時考慮各種行為的輕重緊急程度對同時并發(fā)的多種行為予以融合,得到一個合理的綜合執(zhí)行結果;所述的物理實現(xiàn)層(33)負責在具有特定運動屬性的物理模型上實現(xiàn)行為執(zhí)行層(32)得出的綜合行為執(zhí)行結果。
5.根據權利要求4所述的虛擬人群運動仿真框架,其特征在于,所述的行為生成層(31)在生成行為動作時采用基于if-then規(guī)則的方法或基于概率的方法或基于狀態(tài)自動機的方法或是基于物理學的方法。
6.根據權利要求4所述的虛擬人群運動仿真框架,其特征在于,所述的行為生成層(31)包括感知單元(311)、行為規(guī)劃及監(jiān)督執(zhí)行單元(312)、個體狀態(tài)管理單元(313),其中,所述的感知單元(311)根據需要的感知方式,從所述的環(huán)境信息庫(22)中查詢并提取所需的信息,將需要的信息傳遞給行為規(guī)劃及監(jiān)督執(zhí)行單元(312);所述的行為規(guī)劃及監(jiān)督執(zhí)行單元(312)根據感知單元(311)感知得來的信息數(shù)據,同時考慮個體狀態(tài)管理單元(313)提供的個體狀態(tài)信息,給出需要執(zhí)行的單個或多個行為以及執(zhí)行所需的信息,并監(jiān)控動作的執(zhí)行,直到執(zhí)行動作結束或者新情況出現(xiàn);所述的個體狀態(tài)管理單元(313)為規(guī)劃及監(jiān)督執(zhí)行單元(312)提供個體物理層次和精神層次的狀態(tài)信息,并根據執(zhí)行情況對本身狀態(tài)進行調整。
7.根據權利要求6所述的虛擬人群運動仿真框架,其特征在于,所述的行為執(zhí)行層(32)包括單個行為執(zhí)行單元(321)、多執(zhí)行結果融合單元(322)和運動特性單元(323);所述的單個行為執(zhí)行單元(321)執(zhí)行行為規(guī)劃及監(jiān)督執(zhí)行單元(312)給出的需要同時執(zhí)行的單個或多個行為,給出單個或多個執(zhí)行結果;所述的多執(zhí)行結果融合單元(322)將多個單個行為執(zhí)行的執(zhí)行結果按照一定的融合規(guī)則和方法進行融合,得出最終的行為執(zhí)行結果;所述的運動特性單元(323)在需要時將運動特性提供給單個行為執(zhí)行單元(321)和多執(zhí)行結果融合單元(322),以生成有特性的行為執(zhí)行結果。
8.根據權利要求7所述的虛擬人群運動仿真框架,其特征在于,在所述的多執(zhí)行結果融合單元(322)中進行行為融合時采用矢量運算法或平均融合法或權重融合法或公式計算法或概率投票法。
9.根據權利要求7所述的虛擬人群運動仿真框架,其特征在于,所述的運動特性包括最大速度、反應時間,所述的運動特性可根據個體狀態(tài)進行調整。
全文摘要
本發(fā)明公開了一種虛擬人群運動仿真框架,包括1)總控臺部分,由顯示控制、渲染管理、環(huán)境管理、群體管理、時鐘更新控制等子部分構成,提供程序正常運行所需要的各種配置和各部分調度管理;2)環(huán)境表示部分,組織管理群體所處環(huán)境的環(huán)境信息,支持對環(huán)境信息的查詢和更新;3)個體模擬部分,由行為生成層、行為執(zhí)行層和物理實現(xiàn)層三個子部分組成,提供對群體中單個個體運動行為的模擬,通過對群體中每個個體的行為模擬的有機結合,來實現(xiàn)群體的運動仿真。本發(fā)明提出的虛擬人群運動仿真框架,具有較好的通用性、逼真性和靈活性,可以仿真各種場景下、多環(huán)境因素影響下的虛擬人群運動。
文檔編號G06F9/455GK1889044SQ20061009939
公開日2007年1月3日 申請日期2006年7月19日 優(yōu)先權日2006年7月19日
發(fā)明者毛天露, 王潔, 李淳芃, 夏時洪, 王兆其 申請人:中國科學院計算技術研究所