亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種三維虛擬場景快速路徑規(guī)劃的橡皮筋算法的制作方法

文檔序號:6608494閱讀:318來源:國知局
專利名稱:一種三維虛擬場景快速路徑規(guī)劃的橡皮筋算法的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于虛擬現(xiàn)實技術(shù)和計算機(jī)動畫領(lǐng)域,具體涉及一種三維虛擬場景快速路徑規(guī)劃的橡皮筋算法。
龍魷
三維虛擬場景是虛擬現(xiàn)實、計算機(jī)動畫等領(lǐng)域的重要組成部分,是在計算機(jī)上對現(xiàn)實世界的重建。在 三維虛擬場景中,通過漫游的方式可以使用戶從不同的角度觀察和研究由三維數(shù)據(jù)建立的三維形體,以便 獲取更多的有用信息[11。
在虛擬場景中漫游的方式主要有兩種 一種是交互式漫游,這種漫游方式比較靈活,完全由用戶操作 鼠標(biāo)或者鍵盤等其他的交互設(shè)備,按照自己的意圖來控制漫游位置和視點方向,但是當(dāng)用戶處于一個不熟 悉的虛擬環(huán)境時,容易迷失方向;另外一種方式是按路徑漫游,用戶按設(shè)定好的路線,在虛擬場景中漫游。
路線的設(shè)定,可以是由制作者預(yù)先錄制并保存好的,這種方法實現(xiàn)簡單但不靈活,在場景復(fù)雜,用戶目的 不能預(yù)知的情況下,很難完成任務(wù)。
路徑規(guī)劃問題又稱避障路徑規(guī)劃,是指在具有障礙物的環(huán)境中,按照某個評價標(biāo)準(zhǔn)(如最短路徑長度), 規(guī)劃一條從起點到達(dá)目標(biāo)結(jié)點的無障礙路徑[2]。目前,三維場景漫游中的自動生成漫游路徑主要是參考機(jī) 器人學(xué)的路徑規(guī)劃算法和地理信息系統(tǒng)中的路徑搜索方法。
路徑規(guī)劃問題是機(jī)器人學(xué)中的一個重要課題。自從20世紀(jì)40年代后期,美國研制出世界上第一臺"主 從式"機(jī)械手至今,機(jī)器人的研制和應(yīng)用在歐美和日本快速發(fā)展起來,機(jī)器人的路徑規(guī)劃及相關(guān)算法的形 容也相應(yīng)的興起。為了解決路徑規(guī)劃問題,人們已探索出很多有效的求解方法,這些方法包括幾何法、單 元分解法、人工勢場法和數(shù)學(xué)分析法及衍生出來的其它方法。由于機(jī)器人研究領(lǐng)域希望能借助于各種傳感 器,對部分未知或完全未知的環(huán)境進(jìn)行探索,利用獲得的信息進(jìn)行行進(jìn)路線及方面的決策,所以其所關(guān)注 的路徑規(guī)劃問題往往是以未知或部分未知環(huán)境作為前提的[3—71。
路徑規(guī)劃問題也是地理信息系統(tǒng)(GIS)的一個研究熱點,研究最短路徑問題通常將它們抽象為圖論 意義下的網(wǎng)絡(luò)問題,問題的核心就變成了網(wǎng)絡(luò)圖中的最短路徑問題。這種方法比較適合大區(qū)域和固定道路 的情況,對于3D虛擬場景中的大塊無障礙區(qū)域,這種方法反而將問題復(fù)雜化了。
和機(jī)器人學(xué)、GIS的路徑規(guī)劃問題明顯不同的是,計算機(jī)學(xué)科中的虛擬現(xiàn)實、動畫、游戲、建筑群漫 游、駕駛訓(xùn)練等面對的路徑規(guī)劃問題求解初始條件要簡單得多。由于繪制的需要,場景中所有物體的信息 對系統(tǒng)來說都是已知的,如靜止物體的大小、位置以及運(yùn)動物體的初始位置、運(yùn)動速度、作用于其上的外 力等。所以,3D場景中的路徑規(guī)劃問題的主要任務(wù)是,在己知完全的環(huán)境信息條件下,獲得一條從起始點 到目標(biāo)點的最優(yōu)(次優(yōu))的避障路徑。參考文獻(xiàn) Jansen-0smann, Petra. Using desktop virtual environments to investigate the role of landmarks [J]. Computers in Human Behavior (S0747-5632) , 2002, 18(4): 427-436. Lato油e J C. Robot Motion Planning[M]. Boston: Kluwer Academic Publishers, 1991: 143-176. Schwartz J T, Shair M Shair. A Survey of Motion Planning and Related Geometric Algorithms [J]. Artificial Intelligence (S0004-3702) , 1998, 37(1): 55_67. Brooks R A, Lazano-Perez T. A Subdivision Algorithm in Configuration Space for Find Path with Rotation [C]〃 Proc. Of the 8th Int. Conf on Artificial Intelligence. Karlsruhe, FRG, 1983: 366-380. Hwang Y K, Ahuja N. A Potential field approach to path planning [J]. IEEE Trans, on Robotics and Automation (S1070-9932) , 1992, 8(1): 23-32.馬兆青.基于柵格方法的移動機(jī)器人實時導(dǎo)航避障[J].機(jī)器人,19恥,18(6): 344-348.袁曾任,高明.在動態(tài)環(huán)境中移動機(jī)器人導(dǎo)航和避碰的一種新方法[J].機(jī)器人,2000, 22(2): 81-88.

發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種實現(xiàn)在三維虛擬場景中自動漫游的快速路徑規(guī)劃算法,稱為橡皮筋算法。 該算法可用于復(fù)雜形體和運(yùn)動物體的實時避障問題,具有穩(wěn)定性好、求解實際問題效率高的特點。
本發(fā)明的技術(shù)方案,三維虛擬場景快速路徑規(guī)劃的橡皮筋算法,包括如下步驟
1) 對場景投影圖矩陣中的障礙物進(jìn)行處理,獲得其繞障包圍路線;
2) 生成基本路徑,并將其存放于基本路徑鏈表中;
3) 采用橡皮筋算法進(jìn)行優(yōu)化處理,獲得從起始點到結(jié)束點的最優(yōu)路徑。
在現(xiàn)實世界中行走時,如果不知道確定路線時,運(yùn)動者會朝著目的地的方向走,如圖la中的S-〉T; 如果中途碰到障礙物,就試圖繞過障礙物,再重新朝向目的地的方向行走,如圖所示S-〉A(chǔ)-〉B->C-〉D-〉T, 其中圓點S表示出發(fā)點,圓點T表示目的地。實際上,如果視覺上沒有障礙,運(yùn)動者會選擇較近的直切障 礙物邊沿的行走路線,如圖lb所示S-〉B-〉C-〉T。以上所得形狀,就像在出發(fā)點和目的地之間拉了根橡皮 筋,由于障礙物的存在,橡皮筋不能橫穿過去,所以沿障礙物邊沿拉伸,而正是因為橡皮筋具有的彈性, 使得路徑趨于最短。根據(jù)這種思路,提出了自動漫游路徑生成的橡皮筋算法。
本發(fā)明的有益效果在于由于自動漫游路徑生成的橡皮筋算法是對場景投影圖處理的,所以適應(yīng)性強(qiáng); 生成避障路徑是通過對場景投影圖矩陣的搜索實現(xiàn)的,充分利用了障礙物投影圖中柵格之間的相鄰關(guān)系, 并通過直接讀取預(yù)先處理生成的繞障包圍路線來求得局部避障路徑,因而極大地提高了算法的效率。 一般而言,因為該算法是通過對場景投影圖矩陣的搜索實現(xiàn)的,在障礙物小而多的場景中效率優(yōu)于其他算法。
W,月
圖la基本路徑 圖lb優(yōu)化后的路徑 圖2三維虛擬場景投影圖 圖3顏色值填充后的場景投影圖 圖4繞障包圍路線示意圖 圖5基本路徑生成示意圖 圖6復(fù)雜障礙物處理示意圖 圖7橡皮筋算法示意圖
具體實施例方式
下面結(jié)合說明書附圖
給出本發(fā)明的具體實施方式

1. 基于柵格的環(huán)境信息表示
在三維場景建模時,為了保證建模的精確,常常要用到總體建筑規(guī)劃圖。三維虛擬場景投影圖就是在 此基礎(chǔ)上處理而成的。以規(guī)則矩形柵格為組織形式,將場景中不能穿越的障礙物投影到2D平面,圖2為 一個三維場景的投影平面圖,范圍為1024X800,左上角為坐標(biāo)原點,沿水平方向向右為X軸遞增,沿豎 直方向向下為Y軸遞增。
對于靜態(tài)環(huán)境,這種離散化只需執(zhí)行一次。
2. 障礙物的表示
為了區(qū)分三維場景的不同障礙物,將圖中的各障礙物用不同的顏色值填充,如圖3所示。該投影圖在 后續(xù)的算法中用一個數(shù)組矩陣表示,稱為場景投影圖矩陣(其中u為矩陣中的行數(shù),v為矩陣中的列數(shù))。
,、f。鵬導(dǎo)點
,"叫c障歐
定義l:障礙結(jié)點和非障礙結(jié)點。
場景投影圖矩陣Map(m, n)中,若Map(u, v)=0,表示該點對應(yīng)的三維場景中沒有障礙物,該點為非 障礙結(jié)點;否則為障礙結(jié)點,Map(u, v)中存儲的值對應(yīng)三維場景中的一個障礙物。
3. 繞障包圍路線生成
定義2:繞障包圍路線和邊界點。
繞障包圍路線由各障礙物的邊界點以循環(huán)鏈表的形式逐點存儲而成的繞障包圍圈,邊界點是指有且至少有一個鄰近單元是表示障礙物的結(jié)點,如圖4中的外圍環(huán)。
繞障包圍路線可以通過對場景投影圖矩陣進(jìn)行掃描獲得,完成后按顏色值將繞障包圍路線以循環(huán)鏈接 表的形式存放。這樣,如果有一段預(yù)定路線穿越障礙物時,可以通過掃描得到的顏色值找到對應(yīng)的繞障包 圍路線,再由穿越障礙區(qū)域的進(jìn)出兩個點,在循環(huán)鏈接表中求得兩條繞過障礙物的初始路徑,選擇其中的 一條,作為繞過該障礙物的初始路徑。
4. 基本路徑生成
基本路徑生成算法的主要任務(wù)是,在場景投影圖矩陣中找到一條基本的繞障路徑,如圖5所示中的 S-〉A(chǔ)-〉B->C->D-〉T,以便后續(xù)優(yōu)化處理。
基本思想是在出發(fā)點到目的地之間拉一條直線,沿該直線從出發(fā)點開始,逐點讀取場景投影圖矩陣 中對應(yīng)點的值,如果是障礙物點,找到穿越該障礙物的兩個邊界點,按顏色值從其循環(huán)鏈接表中讀取繞過 該障礙物的局部路徑,加入到路徑鏈表;如果是非障礙物點,則不作處理,讀取下一個點繼續(xù);如果是目 的地點,則算法結(jié)束。
算法如下
步驟l:讀取起始點S、結(jié)束點T,把起始點S添加到初始為空的路徑鏈表PL末尾。
步驟2:沿直線S-T在場景投影圖矩陣中讀取下一個結(jié)點,如果不是結(jié)束點T,轉(zhuǎn)步驟3;否則轉(zhuǎn)步驟5。
步驟3:檢査該結(jié)點值,如果為0(非障礙點)則轉(zhuǎn)步驟2。
步驟4:如果是障礙點,找到穿越該障礙物的兩個邊界點(如圖中的A、 D),根據(jù)其顏色值從其循環(huán)鏈 接表中讀取繞過該障礙物的局部路徑(如圖中的ABCD,實際上組成局部路徑的點是場景投影圖矩陣中連接 ABCD的各像素點),加入到路徑鏈表PL。
步驟5:把結(jié)束點T添加到路徑鏈表PL末尾,算法結(jié)束。
需要注意的是,要依據(jù)場景投影圖中,表示障礙物的投影圖內(nèi)填充的顏色值而不是邊界的顏色來求該 障礙物的繞障包圍線路。釆用這種處理的原因是,障礙物通過離散化處理,在場景投影圖矩陣中表示出來。 在表示復(fù)雜形體時,可能會出現(xiàn)如圖6所示的情況,當(dāng)漫游者從S向T行走時,在復(fù)雜形體的斜邊處(鋸 齒狀)不會對邊界進(jìn)行檢測,而是直接進(jìn)入到表示障礙物的色塊內(nèi)部。
5.橡皮筋算法
通過上面算法生成的基本路徑可以達(dá)到避開障礙物的目的,但并不是我們所期望的優(yōu)化路徑,而且部 分路徑鏈表PL中的結(jié)點是按場景投影圖逐像素點生成的,應(yīng)該進(jìn)行簡化。橡皮筋算法就是實現(xiàn)這個目的 的。
基本思想是在已經(jīng)生成的基本路徑SABCDT中,ABCD是逐像素點組成的局部路徑,將SA沿A-〉B拉伸,當(dāng)碰到另一障礙物點(圖7中的F點),SF進(jìn)入路徑鏈表PL,從F點開始,F(xiàn)E沿E-〉B拉伸,如此處 理,直到T點,算法結(jié)束。
算法如下
步驟l:讀取路徑鏈表PL的前兩個結(jié)點,前結(jié)點front、中間點mid,如果mid為結(jié)束點end,算法 結(jié)束,轉(zhuǎn)步驟6;
步驟2:讀取路徑鏈表PL的下一個結(jié)點,如果該點為結(jié)束點end,算法結(jié)束,轉(zhuǎn)步驟6;否則將該結(jié) 點賦給back;
步驟3:如果mid位于front和back的連線上,則在路徑鏈表PL中刪除mid,把back的值賦給mid, 轉(zhuǎn)步驟2;
步驟4:如果mid沒有位于front和back的連線上,且front和back的連線中沒有障礙物,則在路 徑鏈表PL中刪除mid,把back的值賦給mid,轉(zhuǎn)步驟2;
步驟5:如果mid沒有位于front和back的連線上,且front和back的連線中有障礙物,則將該障 礙物對應(yīng)的邊界點加入路徑鏈表PL的front和mid之間,并將該邊界點的值賦給front,轉(zhuǎn)步驟2;
步驟6:結(jié)束。
至此,實現(xiàn)了自動漫游路徑生成的橡皮筋算法。
權(quán)利要求
1. 一種三維虛擬場景快速路徑規(guī)劃的橡皮筋算法,包括以下步驟1)對場景投影圖矩陣中的障礙物進(jìn)行處理,獲得其繞障包圍路線;2)生成基本路徑,并將其存放于基本路徑鏈表中;3)采用橡皮筋算法進(jìn)行優(yōu)化處理,獲得從起始點到結(jié)束點的最優(yōu)路徑。
2. 根據(jù)權(quán)利要求1所述的三維虛擬場景快速路徑規(guī)劃的橡皮筋算法,其特征在于橡皮筋算法的基礎(chǔ)是 繞障包圍線路;繞障包圍線路是在場景投影圖矩陣中進(jìn)行掃描獲得;場景投影矩陣中,各障礙物需要 用不同的顏色填充。
全文摘要
本發(fā)明屬于虛擬現(xiàn)實技術(shù)和計算機(jī)動畫領(lǐng)域,具體涉及一種三維虛擬場景快速路徑規(guī)劃的橡皮筋算法。本發(fā)明首先建立基于柵格的環(huán)境信息表示,通過場景中障礙物在場景投影圖矩陣中的不同顏色值表示,求得繞障包圍路線,在此基礎(chǔ)上來求得局部避障路徑,生成基本路徑后用橡皮筋算法進(jìn)行優(yōu)化處理,求得從起始點到結(jié)束點的一條最優(yōu)路徑。該算法可用于復(fù)雜形體和運(yùn)動物體的實時避障,具有穩(wěn)定性好、求解實際問題效率高的特點。
文檔編號G06T15/70GK101430797SQ200710094209
公開日2009年5月13日 申請日期2007年11月7日 優(yōu)先權(quán)日2007年11月7日
發(fā)明者棟 王, 勇 陳, 戈 陳 申請人:上海蘭基斯軟件有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1