專利名稱:一種基于阻塞角的行人仿真中障礙物避碰方法
技術領域:
本發(fā)明涉及一種交通仿真技術領域中模擬行人交通行為的方法,具體是一種基于阻塞角的行人仿真中障礙物避碰方法。
背景技術:
交通領域中對行人的仿真研究通常是包含在對客運樞紐系統(tǒng)的仿真研究中的,這 類研究可以追溯到20世紀60年代末期,最初主要針對機場樞紐進行研究。德國首次將客 運樞紐站作為系統(tǒng)進行了仿真(Baron,1969)。在美國,聯(lián)邦航空局資助研究了用于機場樞 紐仿真的三種不同方法隨機離散事件仿真(Gorstein與McCabe,1982)、排隊模型(Gentry 與Doyle,1978),以及回歸模型(McCullough與Roberts,1979);加州大學伯克利分校使用 確定性的排隊模型分析機場陸域設施(landside components),模擬評價樞紐內各個設施 的布局與設計,如門、行李領取設備、容納廳及值機柜臺(MumayiZ,1990)等。計算機硬件 和軟件尤其是軟件編程和建模技術的不斷飛躍對交通仿真的發(fā)展起到了至關重要的作用。 世界范圍內已經有30種以上的仿真模型進入了實用階段,根據仿真模型對行人系統(tǒng)細節(jié) 描述程度的不同,通常可以分為宏觀模型、中觀模型和微觀模型。代表性的軟件有Legion、 STEPS、BuildingEXDOUS、MYRIAD、PAXP0RT、SimPed 和 SIMULEX 等。在眾多仿真軟件中,行人對障礙物的避碰方法依賴于軟件本身的行人建模方式。 目前廣泛應用的行人仿真模型中有兩類,一類是以元胞自動機模型為代表的離散仿真模 型,一類是以社會力模型為代表的連續(xù)仿真模型。元胞自動機是二十世紀四五十年代在數 字計算機的基礎上提出的,八九十年代引入交通領域。此類模型通常把建筑物的平面空間 劃分為微小的正方形單元格。在任意時刻,一個單元格要么被占據(障礙物或一個個體)、 要么為空,在仿真的運行過程中,時間被劃分為等長的時間段,在每一時間段,所有個體依 據所處的環(huán)境和自己的行為規(guī)則選擇是留在原格還是移動到相鄰的8個單元格中的一格, 但是離散仿真模型對行人微觀行為模擬上仍存在欠缺。1995年Helbing使用阻力和引力的 概念模擬行人的微觀行為,并且建立了一種綜合的復雜的等式關系,來模擬一系列行人行 為,這就是我們所熟悉的社會力模型。該模型通過設置行人之間、行人與障礙物之間的斥力 來解決障礙物的避碰問題,但是由于模型本身的復雜性,斥力的參數標定存在一定的困難, 提高了行人仿真的難度。
發(fā)明內容
本發(fā)明的目的在于克服現(xiàn)有技術中的不足,提供一種基于阻塞角的行人仿真中的 避障方法,該方法不受仿真模型的限制,且能夠在不需要大量參數標定的前提下,實現(xiàn)行人 對靜態(tài)障礙物以及其他行人的避障繞行,使其順利到達目標點。一種基于阻塞角的行人仿真中障礙物避碰方法,包括以下步驟a)、對每一個行人建立一個障礙物集合,集合中包含該行人周圍一定范圍內的其 他行人和靜態(tài)障礙物;
b)、預設集合的更新時間,并在每個仿真步長內判斷是否到達更新時間;c)、若到達,更新行人的障礙物集合,并掃描,對其中距離該行人小于避碰距離障 礙物建立阻塞角,放入阻塞角數據組中;若未到達規(guī)定時間,則不需要更新集合,直接進行 掃描并建立阻塞角,放入阻塞角數組中;d)、判斷行人的目標方向是否被阻塞角數組中的任一阻塞角始邊、終邊之間的夾角包含;e)、若不包含,行人按照目標方向繼續(xù)行走;若包含,遍歷阻塞角數組,判斷其中是 否含有不被其他阻塞角包含的始邊或終邊;f)若不包含,則行人沒有可以通過的角度,在該步長內停止行走,進行等待;若包 含,則從所有滿足上述條件的始邊、終邊中選出行人當前位置到該邊上導航點與該導航點 到目標點跑離之和最小的始邊或終邊作為行人的繞行方向。將行人近似為圓形C,當障礙物為圓形Ci時,通過作圓Ci與圓C的內公切線,得到 圓Ci上的兩個切點,在兩個切點的外法線方向上分別找到距切點的距離為圓C半徑的點D、 E,Z DCE即為行人Ci對當前行人C產生的阻塞角。將行人近似為圓形C,當障礙物為多邊形時,設多邊形中距行人最近的邊的頂點分 別為A、B,做圓C的圓心到A、B兩點的連線CA、CB,在A、B兩點處分別作CA、CB的垂線,在 垂線上分別找到距A、B兩點的距離為圓C半徑的點F、G,Z FCG即為障礙物對當前行人C 產生的阻塞角。每一個阻塞角的兩條邊,直角坐標系下方向角度小的為始邊,另一條則為終邊。繞行同向行人或靜態(tài)障礙物時,首先識別出不被任何阻塞角包含的邊,分別計算 行人當前位置到這些邊上的導航點的距離與該導航點到目標點的距離之和,選擇從距離之 和最小的一邊繞行障礙物。繞行對向行人時,將兩行人各自的阻塞角的終邊的優(yōu)先級降低,行人分別從始邊 方向繞行。本發(fā)明的有益效果本發(fā)明不依賴于復雜的數學模型,算法參數少,通過提出阻塞角的概念,建立障礙 物對當前行人的阻塞角,進而確定行人需要繞行的阻塞區(qū)域,同時根據路徑最短原則選擇 對靜態(tài)障礙物以及同向行人的繞行路徑,通過降低阻塞角的某一邊的優(yōu)先級實現(xiàn)對向行人 避碰,這一過程不需要復雜的參數標定,大大簡化了行人仿真過程中的建模工作,且避碰范 圍以及繞行規(guī)則可以自由設定,進而滿足不同目的的仿真需要。
圖1本發(fā)明計算機程序實現(xiàn)流程總圖;圖2本發(fā)明計算機實現(xiàn)中阻塞角建立流程圖;圖3本發(fā)明中行人或圓形障礙物產生的阻塞角建立示意圖;圖4本發(fā)明中多邊形障礙物產生的阻塞角建立示意圖;圖5本發(fā)明中同向行人繞行方法示意圖;圖6本發(fā)明中雙向行人繞行方法示意圖;圖7本實施例的同向多個行人避碰示意圖8本實施例的多邊形障礙物避碰示意圖;圖9本實施例的相向行人避碰示意圖。
具體實施例方式下面結合附圖對本發(fā)明的實施方式詳細說明本發(fā)明的計算機程序實現(xiàn)方法如下圖1為本發(fā)明的方法計算機實現(xiàn)的流程圖,首先對每一個行人建立一個障礙物集 合,集合中包含該行人周圍一定范圍內的其他行人和靜態(tài)障礙物。預設集合的更新時間,并 在每個仿真步長內判斷是否到達更新時間,若到達,則更新行人周圍障礙物集合,并掃描周 圍障礙物集合,對其中距離該行人小于避碰距離的障礙物建立阻塞角,若沒有到達規(guī)定時 間,則不需要更新集合,直接進行掃描并建立阻塞角。將所建立的阻塞角全部放入阻塞角 數組中,在此基礎上,判斷行人的目標方向是否被阻塞角數組中的任一阻塞角始邊、終邊之 間夾角包含,若不包含,則行人按照目標方向繼續(xù)行走遍歷阻塞角數組;若被包含,進行二 次判斷,判斷其中是否含有不被其他阻塞角包含的始邊或終邊,若沒有,則行人沒有可以通 過的角度,在該步長內停止行走進行等待;若有未被包含的邊,則從所有滿足上述條件的始 邊、終邊中選出行人當前位置到該邊上導航點與該導航點到目標點距離之和最小的始邊或 終邊作為行人的繞行方向。圖2本發(fā)明計算機實現(xiàn)中阻塞角建立流程圖,實施例中將行人抽象成為一個半徑 為r的圓,設行人當前圓心位置為C,以行人避碰前方同向多個行人、多邊形障礙物以及避 碰相向行人為例,阻塞角的建立及繞行方向判斷的具體過程如下阻塞角的建立方法如下如圖3所示,建立其他行人Ci對當前行人C產生的阻塞角時,將行人近似為圓形, 作圓Ci與圓C的內公切線,得到圓Ci上的兩個切點,在兩個切點的外法線方向上分別找到 距切點的距離為圓C半徑的點D、E,Z DCE即為行人Ci對當前行人C產生的阻塞角,阻塞角 包含的區(qū)域只是不允許行人C通過,對其他行人沒有影響。D、E為阻塞角邊上的導航點。對 建立的阻塞角的兩條邊進行標記,定義直角坐標系下方向角度小的為始邊,另一條為終邊, 則Z DCE的邊CE為始邊、⑶為終邊。如圖4所示,建立靜態(tài)障礙物對當前行人C產生的阻塞角時,若障礙物為圓形,采 用與(1)中相同的方法建立阻塞角,若障礙物為多邊形,首先判斷出多邊形中距行人最近 的邊,設此條邊的頂點分別為A、B,做圓C的圓心到A、B兩點的連線04丄8,然后,在々、8兩 點處分別作CA、CB的垂線,在垂線上分別找到距A、B兩點的距離為圓C半徑的點F、G,Z FCG 即為障礙物對當前行人C產生的阻塞角,F(xiàn)、G代替A、B成為新的導航點。根據上述阻塞角 的邊的標記方法,Z FCG的邊CG為始邊、CF為終邊。行人繞行由阻塞角組成的阻塞區(qū)域的方法如下繞行同向行人或靜態(tài)障礙物時,首先識別出阻塞區(qū)域最外側的兩條邊,即不被任何阻塞角包含的邊,分別計算行人當前位置到這兩條邊上的導航點的距離與該導航點到目 標點的距離之和,選擇從距離之和最小的一邊繞行障礙物(圖5中箭頭指示的方向)。繞行對向行人時,將兩行人各自的阻塞角的終邊的優(yōu)先級降低,行人分別從始邊 方向繞行(圖6中箭頭所指示的方向)。這符合我國行人右側行走習慣。實施例對于同向多個行人的避碰如圖7所示,C為當前行人,Dj為目標點,C1X2為行人C為前方阻礙其到達目標點 的行人,通過做圓C與圓CpC2的內公切線得到切點Ai、A2、A3、A4,在每個切點的外法線方向 上取距離切點為圓C半徑的點I\、T2、T3、T4,Z T1CT2和Z T3CT4即為阻塞角。阻塞角的終邊 和始邊均對應有方向角度及導航點,通過方向角度的判斷阻塞角的邊是否被其它阻塞角所 包含,將未被 包含的始邊或終邊的導航點記入一個集合T中,計算行人當前位置到導航點 的距離與導航點到目標點的距離之和"=<7; +dDjTl ’若dc.rD +dD/I.D =mm(d),則行人C以Td 為導航點繞過前方的行人或其它障礙物。本實施例中CT1和CT4為未被阻塞角包含的兩條 邊,這兩條邊上的導航點分別為T1和T4,通過計算+dDfl, <dcl, +dDjTi,如圖3中的箭頭 所指方向,行人C以T1為導航點繞過前方行人,最終到達目標點Dj。對于多邊形障礙物的避碰如圖8所示,C為當前行人,Dj為目標點,AB為多邊形障礙物距行人C最近的一條 邊,分別在A、B兩點處做CA、CB的垂線并向障礙物外側延長行人半徑的長度得到點T5、T6, Z T5CT6就是障礙物對行人C的阻塞角,計算距離后<7·6 +^DjT6 <dCT5 +dDjTs,則行人C以T6 為導航點繞過障礙物,最終到達目標點Dj。對于相向行人的避碰如圖9所示,C為當前行人示意圖,C3為行人C正前方與其相向行走的行人,圖中 實線箭頭所指分別是兩個行人的前進方向,采用(1)中的方法分別建立行人C3對行人C的 阻塞角,T7CT8以及行人C對行人C3的阻塞角,T9CT0,根據我國行人右側行走的習慣,將兩 個阻塞角的終邊CT7、CT9的優(yōu)先級降低(可在程序實現(xiàn)時將其狀態(tài)設置為delete),這樣行 人只能選擇始邊方向行走,如圖中虛線箭頭所示。
權利要求
一種基于阻塞角的行人仿真中障礙物避碰方法,其特征在于包括以下步驟a)、對每一個行人建立一個障礙物集合,集合中包含該行人周圍一定范圍內的其他行人和靜態(tài)障礙物;b)、預設集合的更新時間,并在每個仿真步長內判斷是否到達更新時間;c)、若到達,更新行人的障礙物集合,并掃描,對其中距離該行人小于避碰距離障礙物建立阻塞角,放入阻塞角數據組中;若未到達規(guī)定時間,則不需要更新集合,直接進行掃描并建立阻塞角,放入阻塞角數組中;d)、判斷行人的目標方向是否被阻塞角數組中的任一阻塞角始邊、終邊之間的夾角包含;e)、若不包含,行人按照目標方向繼續(xù)行走;若包含,遍歷阻塞角數組,判斷其中是否含有不被其他阻塞角包含的始邊或終邊;f)若不包含,則行人沒有可以通過的角度,在該步長內停止行走,進行等待;若包含,則從所有滿足上述條件的始邊、終邊中選出行人當前位置到該邊上導航點與該導航點到目標點距離之和最小的始邊或終邊作為行人的繞行方向。
2.根據權利要求1所述的一種基于阻塞角的行人仿真中障礙物避碰方法,其特征在于 所述的阻塞角將行人近似為圓形C,當障礙物為圓形(;時,通過作圓Ci與圓C的內公切線, 得到圓Ci上的兩個切點,在兩個切點的外法線方向上分別找到距切點的距離為圓C半徑的 點D、E,Z DCE即為行人Ci對當前行人C產生的阻塞角。
3.根據權利要求1所述的一種基于阻塞角的行人仿真中障礙物避碰方法,其特征在于 所述的阻塞角將行人近似為圓形C,當障礙物為多邊形時,設多邊形中距行人最近的邊的 頂點分別為A、B,做圓C的圓心到A、B兩點的連線CA、CB,在A、B兩點處分別作CA、CB的垂 線,在垂線上分別找到距A、B兩點的距離為圓C半徑的點F、G,Z FCG即為障礙物對當前行 人C產生的阻塞角。
4.根據權利要求2或3所述的一種基于阻塞角的行人仿真中障礙物避碰方法,其特征 在于每一個阻塞角的兩條邊,直角坐標系下方向角度小的為始邊,另一條則為終邊。
5.根據權利要求4所述的一種基于阻塞角的行人仿真中障礙物避碰方法,其特征在 于繞行同向行人或靜態(tài)障礙物時,首先識別出不被任何阻塞角包含的邊,分別計算行人當 前位置到這些邊上的導航點的距離與該導航點到目標點的距離之和,選擇從距離之和最小 的一邊繞行障礙物。
6.根據權利要求4所述的一種基于阻塞角的行人仿真中障礙物避碰方法,其特征在 于繞行對向行人時,將兩行人各自的阻塞角的終邊的優(yōu)先級降低,行人分別從始邊方向繞 行。
全文摘要
本發(fā)明涉及一種交通仿真技術領域中模擬行人交通行為的方法,一種基于阻塞角的行人仿真中障礙物避碰方法,在掃描避碰范圍內所有靜態(tài)障礙物以及其他行人后,建立這些障礙物對當前行人產生的阻塞角,若當前行人的目標方向不被任一阻塞角包含,行人沿該方向行走,否則,行人需繞過目標方向上的阻塞角組成的阻塞區(qū)域。本發(fā)明通過提出阻塞角的概念,建立障礙物對當前行人的阻塞角,進而確定行人需要繞行的阻塞區(qū)域,同時根據路徑最短原則選擇對靜態(tài)障礙物以及同向行人的繞行路徑,通過降低阻塞角的某一邊的優(yōu)先級實現(xiàn)對向行人避碰,這一過程不需要復雜的參數標定,且避碰范圍以及繞行規(guī)則可以自由設定,進而滿足不同目的的仿真需要。
文檔編號G06F17/50GK101826122SQ201010030828
公開日2010年9月8日 申請日期2010年1月18日 優(yōu)先權日2010年1月18日
發(fā)明者唐明, 孫寶鳳, 宗芳, 張娜, 李國威, 楊麗麗, 王甦菁, 賈洪飛, 陳彬, 陳震 申請人:吉林大學