優(yōu)選(VR虛擬現(xiàn)實)虛擬蜘蛛建網(wǎng)及步行的互動式模擬系統(tǒng)_第1頁
優(yōu)選(VR虛擬現(xiàn)實)虛擬蜘蛛建網(wǎng)及步行的互動式模擬系統(tǒng)_第2頁
優(yōu)選(VR虛擬現(xiàn)實)虛擬蜘蛛建網(wǎng)及步行的互動式模擬系統(tǒng)_第3頁
優(yōu)選(VR虛擬現(xiàn)實)虛擬蜘蛛建網(wǎng)及步行的互動式模擬系統(tǒng)_第4頁
優(yōu)選(VR虛擬現(xiàn)實)虛擬蜘蛛建網(wǎng)及步行的互動式模擬系統(tǒng)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、LOGO 企業(yè)言酈 YOUR COMPANY NAME IS HERE 專業(yè)丨專注丨精心1卓越 隨心編輯,值得下瞬有! 優(yōu)選(VR虛擬現(xiàn)實) 虛擬蜘蛛建網(wǎng)及步行 的互動式模擬系統(tǒng) 虛擬蜘蛛建網(wǎng)及步行的互動式模擬系統(tǒng) In teractive Simulatio n of Web Con structio n and Locomoti on for Virtual Spider 林翰儂李蔡彥 政治大學政治大學 北市指南路二段64號 北市指南路二段64號 s8908cs. .tw li .tw Abstract 目前在電腦動畫方面,已有許多模擬生物運 動的規(guī)劃並且也

2、到達相當成熟技術,像是人類的 行走運動規(guī)劃;但是對於節(jié)肢動物的運動規(guī)劃, 現(xiàn)在並不多見,大多並不是採用程式自動產(chǎn)生的 方式製造節(jié)肢動物的運動動畫。本論文研究模擬 蜘蛛網(wǎng)的建構及虛擬蜘蛛在蜘蛛網(wǎng)上自動規(guī)劃行 走運動的模擬程式。此論文的所採用的方法是依 據(jù)我們定義的蜘蛛網(wǎng)結網(wǎng)規(guī)則和指定參數(shù)的方式 建構蜘蛛網(wǎng),蜘蛛在網(wǎng)上的步行也是經(jīng)過搜尋判 斷後才得到路徑。本系統(tǒng)建造蜘蛛網(wǎng)的部分已經(jīng) 可以成功的模擬岀蜘蛛網(wǎng)的型態(tài),也能夠自動規(guī) 劃蜘蛛在蜘蛛網(wǎng)上的運動路徑。在實作方面是混 合2D與3D的使用者介面,使用者以2D介面操 作,以3D的方式呈現(xiàn)結果。 1.簡介 製作電腦動畫的方式主要有動作擷取 (Motio

3、n Capture)和取動作關鍵格(key-framing) 以及程式自動產(chǎn)生動畫這三種方法。一般製作動 畫主要是利用動作擷取和取動作關鍵格這兩個方 式產(chǎn)生動畫。動作擷取的特點是利用真人演員的 表演動作,讓電腦讀取後產(chǎn)生虛擬演員的動作。 其優(yōu)點是可以得到看起來很自然的動作模組,但 是要把動作套到虛擬人物的時候仍然需要做關節(jié) 間距的調整,而且得到的動作不能適應其他環(huán)境 或是地型的變化。取動作關鍵格的方法常見於坊 間的3D動畫製作軟體,使用者可以將做好的模 型依照時間先後,每間隔一段時間調整模型在該 時間點要擺放的位置,此動作就是在設定模型的 圖一:最粗的線條是外框,輻射狀的普通粗線是輻射 絲,螺

4、旋狀的細線是螺旋絲。擁有黏性的絲線只有螺 旋絲。 圖二:蜘蛛網(wǎng)的建造順序是外框- 輻射絲- 螺旋 絲。圖片來源出自5。 動作關鍵格。之後,讓軟體利用內(nèi)插法 (in terpolatio n)產(chǎn)生關鍵格與關鍵格之間連接的 動作。而程式自動產(chǎn)生的動畫可以做到動作擷取 美中不足的地方。此方式根據(jù)運動原理以程式方 式模擬動作,優(yōu)點是重複性極是用性高。此方法 式要解決的問題定義好,設定要遵循的規(guī)則,基 本上就可以得到需要的動作。而且重複使用性 高,但可以花費較少的時間得到不錯的結果。 我們的目標在於程式自動模擬蜘蛛網(wǎng)與蜘蛛 在蜘蛛網(wǎng)上的行走模式。而動機可以分成兩種, 第一是藉由程式模擬蜘蛛的行為。如此,

5、就可以 讓一般人藉由虛擬的方式就可以觀察蜘蛛的行為 與蜘蛛網(wǎng)的構成,不需到野外捕抓蜘蛛也不會破 壞生態(tài)。能藉由模擬系統(tǒng)來讓一般人了解蜘蛛結 網(wǎng)的行為以及結網(wǎng)的規(guī)則和特性;另外使用者可 以和虛擬蜘蛛互動,決定蜘蛛在蜘蛛網(wǎng)上行走的 終點,藉以觀察蜘蛛在蜘蛛網(wǎng)上的步行達到育教 娛樂的效果。第二點是在動畫特效娛樂上的呈 現(xiàn)。提供出一個基本的架構給想要做出蜘蛛網(wǎng)或 是蜘蛛爬行運動的場景或效果,不需再從頭開 始,直接利用此程式即可產(chǎn)生出雛型再加以修飾 就可以呈現(xiàn)出蜘蛛網(wǎng)的效果及蜘蛛爬行的動畫。 為使用者提供基礎,提升動畫製作的效率及便利 性。實做的部分,藉由少量的參數(shù)得到變化多端 的蜘蛛網(wǎng)以及模擬蜘蛛的行

6、走運動,所使用的方 法是利用程式自動產(chǎn)生蜘蛛網(wǎng)與規(guī)劃蜘蛛在蜘蛛 網(wǎng)上行走的路徑,再利用抓取動作關鍵格用內(nèi)插 法產(chǎn)生腳步之間的動作。本論文所描述之系統(tǒng)的 目標有兩個;第一點是藉由使用者指定蜘蛛網(wǎng)的 外框讓程式自動產(chǎn)生虛擬蜘蛛網(wǎng)的架構。圖一是 擷取自我們的程式自動產(chǎn)生的結果,其中最粗的 線段代表的就是外框,輻射絲和螺旋絲的部分就 由程式依據(jù)給定的規(guī)則,自動產(chǎn)生。第二點是模 擬蜘蛛在蜘蛛網(wǎng)上的行走運動規(guī)劃,其行走的環(huán) 境也就是之前第一點產(chǎn)生的虛擬蜘蛛網(wǎng)。 在第二單元會簡單介紹過去相關研究,其中 包括多腳機器人和模擬蜘蛛網(wǎng)的部分;第三單元 會提到關於蜘蛛網(wǎng)的建構規(guī)則以及虛擬蜘蛛機器 人的身體構造定義;

7、第四、五單元會探討蜘蛛網(wǎng) 建構以及蜘蛛步行產(chǎn)生的演算法,第六單元討論 實做方法及實驗結果,第七單元是未來發(fā)展與結 論。 2. 相關研究 關於蜘蛛網(wǎng)的模擬已經(jīng)有人 1 作出蜘蛛結 網(wǎng)歸納出一般性的規(guī)則,但是它所用的方法是先 給予一些建造網(wǎng)子的規(guī)則以及一些變數(shù),再利用 基因演算法 (Genetic Algorithm) 和評估蜘蛛網(wǎng)的 真似程度的評估程式來調整衍生出的蜘蛛網(wǎng)。而 我們的目標也以他們歸納出來的蜘蛛網(wǎng)架構為主 要參考原則來建立蜘蛛網(wǎng)。但是我們不同於 1 的 地方,在於我們的蜘蛛網(wǎng)產(chǎn)生出來之後必須成為 蜘蛛機器人行走的環(huán)境。他們的結果是最終產(chǎn)生 的蜘蛛網(wǎng)要用來和真實世界的蜘蛛網(wǎng)做比較,其

8、 目標在於蜘蛛網(wǎng)的擬真程度。至於蜘蛛或多腳機 器人步行的模擬目前已經(jīng)有相當多的研究成果 2,3,4,8 ,但絕大多數(shù)的研究目標都是把焦點放 在行走於平面或崎嶇的環(huán)境上,目前尚未有人研 究蜘蛛在蜘蛛網(wǎng)上行走的模擬;並且,不論在蜘 蛛腳關節(jié)的自由度上或是腳的數(shù)目上以及行走的 步伐模式,都不是在模擬真正蜘蛛的八隻腳構 造,最常見到的是四隻腳以及六隻腳的蜘蛛機器 人 (spider robot) 。 在互動的層面上,除了虛擬蜘蛛網(wǎng)可以由使 用者給定外框後自動產(chǎn)生蜘蛛網(wǎng),也可以藉由參 數(shù)控制板上的滑桿調整蜘蛛網(wǎng)的屬性。在與蜘蛛 機器人的互動上是在於使用者可以利用放置獵物 促使蜘蛛機器人從現(xiàn)在位置走向獵物

9、所在地。這 一點與 10 提過的三層自主式機器人溝通的中階 溝通也就是指定終點令蜘蛛自動感測週遭環(huán)境再 自動找出路徑與步行的規(guī)劃,都是通知機器人要 移動到哪個地方的工作目標導向的命令。 在虛擬生物的方面來說,分成模擬現(xiàn)實世界 存在的生物與完全虛構的生物這兩種。在模擬現(xiàn) 實世界的方面來說有 11 模擬真實魚的運動。其 他常見的模擬生物也有像是 10 模擬狗與人類的 互動。而我們論文所提出的模擬蜘蛛也是屬於模 擬真實生物的範疇之中。在虛構生物的方面,有 12 所 提 出 的 利 用 基 因 演 算 法 (genetic algorithm) 從簡單的肢節(jié)構造繁衍出複雜型體的生物 與該生物的運動行為

10、,像是跑、跳和游泳。以及 13 給定虛擬生物一些常識讓牠們在環(huán)境中做出 圖四:蜘蛛可以踩的範圍。 合於常識判斷的行為。這些也都是相當有趣也值 得探討的議題。 3. 問題定義 3.1. 環(huán)境定義 蜘蛛網(wǎng)分成立體網(wǎng)和平面網(wǎng),立體網(wǎng)像是比 較著名的黑寡婦,就是利用類似垂簾的網(wǎng)子捕捉 獵物,甚至也有地洞型的陷阱網(wǎng)。這些構造複雜 的網(wǎng)可以相當有效率的捕捉到獵物,不過構造比 較簡單的平面網(wǎng)除了有花費的絲線量比較少的優(yōu) 點之外他的捕捉獵物的功能也不遜於立體網(wǎng)的效 果。平面網(wǎng)又有分成圓形網(wǎng)及不規(guī)則型的網(wǎng)子, 不規(guī)則的網(wǎng)子結網(wǎng)規(guī)則不容易歸納出來,不同的 品種也有其不同的規(guī)則,就算是同種的蜘蛛也可 能會因為壓力、

11、天氣、溼度等變因影響網(wǎng)子的結 構。我們著重的目標是針對平面圓網(wǎng)型的蜘蛛網(wǎng) 進行模擬。 首先我們先介紹蜘蛛網(wǎng)的特性。就外觀而 言;它主要分成三個部分,外框、輻射絲、螺旋 絲。外框幾乎都是由凸多邊形組成的內(nèi)部則有輻 射絲與螺旋絲如圖一。在模擬蜘蛛網(wǎng)之前我們要 先了解真正的蜘蛛是如何建造網(wǎng)子。不論在國外 或國內(nèi)學界都有一種通用的程序來描述一隻織平 面圓網(wǎng)的蜘蛛,如圖二。建造網(wǎng)子的順序是先建 構出外框 (圖二步驟 A-C) 再以此為支架架設輻射 線(radii line)(圖二步驟 D-I),這時就可以開始製 造輻射線了。值得觀察的一點是,有些品種的蜘 蛛在建完輻射線之後會先架起鷹架再建螺旋線。 所謂

12、鷹架指的是蜘蛛會由內(nèi)向外大略織出間距相 當寬且不愈黏性的輻射絲,之後再由外而內(nèi)織間 距較小且具黏性的輻射絲。依我們的推測有可能 是因為蜘蛛有偏好走線與線之間的交叉點的結 果,因為這樣的走法比較穩(wěn)固,舖出來的絲線也 可以比較精準整齊。這邊由於牽涉到蜘蛛的行走 偏好,所以在下一個小節(jié)會有更詳盡的解釋。在 我們這個研究中會跳過這個搭鷹架的步驟,直接 搭建輻射絲,因為這個行為只是蜘蛛自己為了建 出整齊的絲線而做的行為,也有相當多的蜘蛛也 跳 過 了 這 個 步 驟 。 附 帶 一 提 , 在 Samuel Zschokke 先生的網(wǎng)頁中 5 有錄下花園十字蛛 (Araneus diadematus)

13、整個結網(wǎng)過程的影片,我 們也有參考這個影片所呈現(xiàn)的現(xiàn)象,並且藉由這 個影片做為定義蜘蛛網(wǎng)規(guī)則的參考根據(jù)。 因此我們所模擬的蜘蛛網(wǎng)除了根據(jù) 1 的原 則之外,也有參考生物學上的定義而組成現(xiàn)在的 虛擬蜘蛛網(wǎng)。在稍後演算法的部分會詳盡的說明 如何產(chǎn)生出蜘蛛網(wǎng)的過程。 3.2. 蜘蛛構造定義 現(xiàn)在我們知道了有螺旋蜘蛛絲是有黏性的, 我們就可以大致決定蜘蛛可行走的區(qū)域就是輻射 絲。不過值得注意的一點,真實世界的蜘蛛的腳 是不會被自己的絲黏到的,因為它們的腳底有特 殊的油脂並且接觸面積也小。不過他們還是比較 不偏好走螺旋線,因為會減低黏絲的黏度,也會 減少能困住獵物的時間。並且在觀察實際蜘蛛爬 行時我們發(fā)

14、現(xiàn)到蜘蛛在已搭建完成的網(wǎng)子上,對 於螺旋線和輻射線上的交點也有者相當高的偏 好。 這種現(xiàn)象的原因有可能是源自於結網(wǎng)的蜘蛛 因為在網(wǎng)上移動最主要的感官是觸覺以及本體感 覺來預測腳的落點,由於結網(wǎng)蜘蛛的視覺相當弱 只能感測光線而非像人類一樣可以利用視覺的判 斷,所以大致上牠們會有腳向前伸再往後勾線類 似摸索的一個動作,這樣的結果也就會很自然的 讓腳站在交點上。所以我們在虛擬蜘蛛如何選擇 落腳點的偏好也有提高這一方面的喜好程度。 真實的蜘蛛有八隻腳,每隻腳各有七個關 節(jié)。這在模擬上有相當大的困難由於每個關節(jié)都 要有個別的自由度和關節(jié)彎曲度的限制,單單一 隻腳的計算複雜度及各個關節(jié)點的位置判斷就非 常

15、複雜,所以我們既要簡化腳的關節(jié)但又要兼顧 真實性,做法就是將彎曲度較不顯著的關節(jié)和其 他關節(jié)簡化並使得簡化過的那一段腳有較大的自 由度以模擬原本的腳可以踩到的範圍。所以目前 在這裡定義出的虛擬蜘蛛的身體結構有八隻腳, 圖三:蜘蛛的正面圖與俯視圖。 每隻腳有各分有上下兩段,也就是兩個自由度兩 個關節(jié)。事實上,我們可以用肉眼可以看岀蜘蛛 的腳分為三段,但是我們可以用兩段來模擬三節(jié) 的腳,也可以達到相同的效果。每隻腳我們設定 相同固定的長度,並且每隻腳都是以身體中心為 原點。 關於身體的部分,真實的蜘蛛身體分為兩 段頭胸部和腹部,腳都分布在頭胸部的部分。在 這邊的定義則是簡化為一個球體並有自己的座標

16、 以及旋轉的角度,這三個元素加起來就是身體的 結構(configuration),如圖三所示。身體後方的 橢圓只是為了外觀上的完整而加上的,不具特別 的意義。蜘蛛可以踩的範圍,是假設蜘蛛的腳有 內(nèi)外關節(jié)的限制,所以向內(nèi)向外可以踏的範圍有 限制,所以我們把這個範圍畫成一個甜甜圈型如 圖四,以身體中心為圓心的灰色甜甜圈就是蜘蛛 可以踩的範圍。 4. 虛擬蜘蛛網(wǎng)的建造規(guī)則 我們依據(jù)自然界的原則(如圖五)來建造蜘蛛 網(wǎng)。圖五中的步驟是由上而下的順序先後建出蜘 蛛網(wǎng);規(guī)則可以分成兩類,第一類是建造輻射絲 的原則(Radii Line Rules),這一類的規(guī)則在使用 者定義完外框之後就可以開始實做建造輻

17、射絲。 第二類螺旋絲建造原則(Spiral Line Rules) 是做完 第一類的規(guī)則之後才能實做螺旋絲,完成以上兩 類規(guī)則就可以製岀蜘蛛網(wǎng)。只要使用者輸入的外 框是凸多邊型就是合法的,我們就可以使用以上 兩類規(guī)則產(chǎn)生虛擬蜘蛛網(wǎng)。除了給定外框外,我 們還需要指定四個參數(shù)來產(chǎn)生蜘蛛網(wǎng),關於這四 個參數(shù)請詳見下節(jié)。接下來針對這兩類規(guī)則中的 細部規(guī)則做更詳細的敘述。 4.1. 輻射絲規(guī)則(Radii Line Rules) 我們先接受使用者傳入的參數(shù)中其中與輻射 絲的建構有關的兩個。一個是調整輻射線的數(shù) 目,輻射線的架設就是取決於蜘蛛的測量與蜘蛛 的腳長有關,因為蜘蛛會用自己的腳像是尺量看 看兩條

18、輻射線的距離是否太寬。如果太寬的話再 多加一條輻射絲,所以簡單的說腳越短的蜘蛛在 相同面積的網(wǎng)子上做岀的輻射線會越多。另一個 是螺旋線之間容許的角度誤差值;蜘蛛不會做岀 非常精確平均分配輻射線之間夾角的蜘蛛網(wǎng),所 以需要誤差值來讓網(wǎng)子看起來比較自然。這問題 其實並沒有確切的數(shù)據(jù)可以告訴我們,就算是同 品種的蜘蛛也會因為不同的個體依照不同的習慣 去做岀不同的網(wǎng)子,所以這方面算是蜘蛛本身的 偏好。關於演算法部分,首先在得到外框和參數(shù) 之後,依照第一類規(guī)則(Radii Line Rule)第一項 規(guī)則朝特定方向建造的第一條輻射絲(First Radii Line Rule)。再依據(jù)第二項規(guī)則 (Ne

19、xt Radii Line Rule)及使用者給定的兩個參數(shù),得到下條輻射絲 所在的地方。重複第二項規(guī)則直到?jīng)]有空間放輻 射絲或是輻射絲的數(shù)目到達使用指定的數(shù)目。 圖五:蜘蛛網(wǎng)的建構原則 圖六:當外框是狹長型的情況,蜘蛛會想辦法填滿網(wǎng) 子,利用每一個角落。陰影的部分就是補線 4.2. 螺旋絲規(guī)則(Spiral Line Rules) 使用者指定的另外兩個參數(shù)與螺旋絲的規(guī)則 有關。一個是指定螺旋絲之間的寬度,就是圖五 中的粗邊矩形中兩條細線的間距,螺旋線的寬度 也是取決於蜘蛛的腳長,螺旋線之間的寬度絕對 不會大於蜘蛛橫向的身長。這是因為在建造螺旋 線時蜘蛛是一邊沿著已經(jīng)建好的螺旋線一邊量距 離一

20、邊搭線,並由實際觀察的結果也能證明此原 理。另一個參數(shù)是離中心點多遠才開始放置螺旋 線的距離,這裡我們將中心點到最內(nèi)圈螺旋線之 間的部分叫做中心網(wǎng) (hub),這點也是因為蜘蛛的 偏好而決定的。接下來就是螺旋線的演算法部 分,一般來說,蜘蛛會離中心軸一段距離才開始 放有黏性的螺旋絲我們可以從剛剛使用者指定的 參數(shù)得到數(shù)值。依照觀察通常蜘蛛網(wǎng)的輻射絲中 心會在比較偏高,原因是因為蜘蛛通常在中心網(wǎng) (hub)的地方等待獵物,並且他往下衝的速度比往 上爬的速度快了許多。此現(xiàn)象除了是因為地心引 力的關係外,也是基於蜘蛛行走的特性。蜘蛛一 般由上向下快速移動時會將自己的絲線一端黏在 現(xiàn)在的位置上,再往下

21、一跳助跑再爬行,所以蜘 蛛在蜘蛛網(wǎng)上或其他地形向下跑會比較快。因此 我們會把蜘蛛網(wǎng)的中心向上偏移的現(xiàn)象也加入這 個模擬程式,不過跳躍的行為並不列入這次的模 擬。 我們?nèi)〉胔ub的參數(shù)之後就可以放置螺旋 線。我們放置蜘蛛絲的做法是先決定好在那一條 輻射絲開始放螺旋絲,開始用第二類第一項規(guī)則 (First Loop Rule)。在螺旋線繞完一圈後回到開 始蜘蛛絲放置的螺旋線上的,其距離中心點是使 用者設定的參數(shù)輻射線之間的寬度加上hub 的距離。接這就進行第二項規(guī)則(Next Loop Rule),依照使用者輸入的寬度和上一圈的螺旋絲 保持距離產(chǎn)生絲線。當蜘蛛重複做螺旋絲的動作 做到無法輻射線與外

22、框之間沒有足夠的空間可以 放螺旋線的時候,就開始遵照第三項規(guī)則 (Reverse Rule)反向再做第二項規(guī)則 (Next Loop Rule)的動作。最後再檢查是否有把整個蜘蛛網(wǎng)填 滿。所謂”填滿”的意義是,真實的蜘蛛不會讓 最外圈的輻射絲到外框之間有太大的空隙,因為 這樣浪費了蜘蛛網(wǎng)的空間,讓能獵補的空間少了 許多,所以他們會盡量把螺旋線填滿任何一個可 用的角落,如圖五所示。這就是最後一項規(guī)則 (Complete Rule)。 4.3. 特殊狀況及實做考量 關於設定外框,本系統(tǒng)不同於過去其他研究 的做法是我們需要幫蜘蛛設定外框,再讓他做輻 射線和螺旋線方便模擬蜘蛛網(wǎng),而外框的形狀一 定要是

23、凸多邊形。這個強制要求的條件是因為蜘 蛛一般不會把網(wǎng)子的形狀編成凹多邊形,第一點 來說這樣的網(wǎng)子不如凸多邊形可以有效的利用每 一個角落而會有浪費空間的現(xiàn)象。第二點來說凹 多邊形的形成有可能是因為外圍支架的張力不均 而導致的,這樣的網(wǎng)子也比較容易纏在一起。所 以我們會假設外框為凸多邊形。一般的外框由於 周遭地型的關係蜘蛛搭建的外框不一定會是完整 的圓型,並且這種情形以長型的外框居多,長型 的外框會使得上下兩側最接近外框的螺旋絲的距 圖七: (左圖 )蜘蛛需要踩在每個象限的其中一個立足點 這樣才能算是平衡。 (右圖 )X 代表蜘蛛周圍八個空位代 表蜘蛛下一步可可能選擇的方向。 離變遠。如果不做修正

24、,就會和真實蜘蛛網(wǎng)不相 似,所以要做折返,來使得蜘蛛網(wǎng)看起來比較完 整。 由於有誤差值的參數(shù)也會使得每一次的執(zhí) 行結果會有不同所以要做出和蜘蛛網(wǎng)相似的圖 形,其實還是很難模擬。由於要保持網(wǎng)子完整也 要兼顧有些誤差的擬真,在這方面上的拿捏其實 除了資料的收集主要還是憑人的感覺去做選擇。 我們在程式中增加了”剪線”的功能,也就是把 網(wǎng)子弄得殘缺再讓蜘蛛行走,做法就是藉由點選 螺旋絲的線段移除該線段。一般蜘蛛在獵補蟲子 時會趁獵物在蜘蛛網(wǎng)上掙扎的時候衝到他面前再 用自己吐出的絲和部分的網(wǎng)子將獵物打包好,所 以會有出現(xiàn)網(wǎng)子殘缺的現(xiàn)象,在實際上有些蜘蛛 會忍受殘破的網(wǎng)繼續(xù)待下去,也有些蜘蛛會補 網(wǎng)。補好

25、的網(wǎng)子會和原先的網(wǎng)子又些不同,在螺 旋線的部分就會在破掉的區(qū)域來回折返由內(nèi)側補 到外圍。關於這方面的模擬提供了互動性的教學 意義,目前我們做到了剪線的部份,在未來會再 增加上述其他功能。 整體而言,虛擬蜘蛛網(wǎng)和真實的蜘蛛網(wǎng)像不 像的這個評估我們就交給使用者來評估而非 1 使 用基因演算法的概念利用和真實蜘蛛網(wǎng)的上下左 右的絲線總長度來比較評估來決定是否產(chǎn)生出理 想的蜘蛛網(wǎng),不過在我們的控制版提供的數(shù)據(jù)之 下可以找出一個滿意的答案,並且也適合於給蜘 蛛機器人當作行走的環(huán)境。 5. 計畫及模擬蜘蛛運動 在 2 中運動的過程又分為全域 (Global) 和區(qū) 域 (Local) 兩種方式的規(guī)劃方式

26、(planning) 。全域 規(guī)劃 (Global planning) 是不考慮機器人是如何移 動腳步,直接將機器人從起點帶到終點的規(guī)劃, 其中要遵守不會碰到障礙物的原則。以平面的全 域規(guī)劃來說,機器人組態(tài) Q 的描述需要 X 和 Y 軸 的座標位置再加上旋轉的角度e來表示。 Qg = (X, Y, 0)(global posi tion) 區(qū)域規(guī)劃 (Local planning) 就是注重在腳步之間 是如何移動,如何從目前的站位走到下一個站立 的位置。 我們的做法是因為蜘蛛要判斷自己能不能 走過這片網(wǎng)子的條件是目前的位置腳要有足夠的 支撐點才能計算下一步,而且蜘蛛只感測自己附 近網(wǎng)子的狀態(tài)

27、,不會記住整張網(wǎng)子。所以算是只 做區(qū)域性規(guī)劃。在記錄位置上的組態(tài) Q 呈現(xiàn)方式 如下: Q = (X, Y, 0) holds(X, Y) 函式holds(X, Y)代表蜘蛛在位置(X,Y)時在網(wǎng)子上 有哪些可讓腳站立的點,為何不用考慮旋轉0稍 後會有詳細說明 5.1. 蜘蛛在蜘蛛網(wǎng)上的路徑規(guī)劃 我們先要求出蜘蛛身體從起點到終點的路 徑規(guī)劃再考慮每一個移動單位之間腳步的替換。 首先,蜘蛛身體合法的位置建立在是否有合適的 踏腳點。在此我們把合法的踏腳點成為holds 。 蜘蛛的可以踩的範圍之前有定義成一個以身體為 圓心畫出的甜甜圈。此範圍與蜘蛛網(wǎng)交集的部分 就是合法的落腳點,獵物所在的位置是終點

28、,只 要把獵物放在網(wǎng)上。蜘蛛就能感知獵物離它有多 近。事實上,真實的蜘蛛在獵物落到蜘蛛網(wǎng)時可 以利用觸覺,依據(jù)獵物掙扎時傳回的震動大略測 出獵物的位置,這一點和我們進行的模擬原理一 樣。利用之前第三單元的定義,蜘蛛踩在蜘蛛網(wǎng) 上的限制與偏好作為設定障礙物的標準,就可以 做出運動規(guī)劃。 要做腳步移動,要考慮兩個問題: 圖九:蜘蛛如何利用甜甜圈的可踩範圍取得下一步的 資訊。 圖八:顯示蜘蛛經(jīng)過程式計算後產(chǎn)生到終點的路徑。粗線 代表的是蜘蛛從起點到終點的路徑。圓點是終點。 第一:蜘蛛要能在每一步保持平衡; 第二:蜘蛛目前站立的姿勢有合法的下一步。 由於三腳架的原理 4 。以身體中心為原點畫出的 四個

29、象限,只要讓蜘蛛的其中四隻腳在個別不同 的四個象限(如圖七),我們就可以確定蜘蛛是 在平衡的位置。所以在這裡的設定是蜘蛛一定要 在這四個象限中找到至少一個點才會認定此為合 法的站位。蜘蛛在旋轉的時候是以身體中心為圓 心做旋轉,所以任何角度的甜甜圈中合法立足點 只要座標值一樣就會有相同的合法立足點,所以 在組態(tài) Q 中 holds 的參數(shù)不需要角度也能找到踏 腳點。經(jīng)過上面的定義之後,我們可以進行蜘蛛 身體移動的規(guī)劃。使用的演算法是 best first search 。首先蜘蛛可以朝八個方向移動 ( 如圖七右 圖),每一格代表座標單位 1 。再從八個候選位置 中篩去不合法的位置,從剩下的找出距

30、離終點最 近的點移動。每一個位置都會記錄蜘蛛上一個位 置是從哪裡移到目前這個位置,如果走到無法再 移動的時候,就追溯回去以前的位置對於還沒走 過的位置再進行搜尋。最後產(chǎn)生圖八的結果。 接下來我們可以規(guī)劃每一個位置腳步的站 位,並且可以一步步找到如何到達終點的站立狀 態(tài) (configuration) ,只要再擬定出每一步的動作 之間所需的關鍵格再利用內(nèi)插法算出步伐之間其 他的動作格,相連之後就可以型成一貫的動畫 了。 5.2. 蜘蛛腳步與腳步之間的安排 首先,我們建設好網(wǎng)子,如圖八所示。接下 我們的系統(tǒng)要決定蜘蛛可以站在哪些點上或是線 段上。判斷能否站立的準則是看網(wǎng)子和代表可站 立的甜甜圈範圍

31、的交集處,我們以黑點表示合法 的站立點。分布在各個象限的點有個別的 Linked List 來儲存合法的站立點並依照其相對於蜘蛛前 後的順序排序,以方便之後的處理程序。接下來 就是決定要讓哪些腳站在這些點上,我們依照實 際觀察可得知蜘蛛的行走模式或是在沒有破損的 網(wǎng)子上是用左邊第一、三隻腳和右邊第二、四隻 腳一起挪動之後再讓左邊第二、四隻腳和右邊第 一、三隻腳移動,重複者這樣的 2 組模式。因此 我們採用的模擬方式即是以四腳為一組的方式交 互運動。 由於我們設定蜘蛛的每隻腳都有其關節(jié)旋轉 程度的限制,可以計算出蜘蛛會選擇用哪一隻最 適合的腳去站在上面,這裡我們也是用斜率來判 斷,由於每隻腳用向

32、量的資料結構記錄,所以在 這邊也比較方便於計算身體與腳的狀態(tài)。後續(xù)要 面對的問題就是如何決定下一步的身體位置,也 就是要解決行走的問題。我們目前為止一直是假 設已知蜘蛛的身體位置再由腳能伸到哪裡畫出大 概的甜甜圈的範圍。但是同樣的立足點卻也可以 在不同身體位置的甜甜圈範圍形成合法的站立狀 態(tài)。我們這裡就是運用這一點來做到移動的動 作。 圖十二:立體蜘蛛器人與蜘蛛網(wǎng) 圖一:在3D環(huán)境中的蜘蛛 圖十:甜甜圈中的四個小黑點是蜘蛛的立足點,灰色的 軸上的黑圓是蜘蛛頭朝向的方向,左邊是合法的站位, 右邊是不合法的,因為在四個象限的站立點有兩個象限 是空的。在相同的(X,Y)座標位置會得到相同的立足 點,

33、但是會因為蜘蛛的朝向角度的不同,可能會產(chǎn)生合 法或不合法的組態(tài)。 如圖九所示,黑點是目前站立的點,淺色甜 甜圈是它目前身體位置的腳可到達範圍,深色甜 甜圈是身體位置向前移動但不動腳可到達的範 圍。所以黑色的點一定落在兩個甜甜圈交疊的範 圍。再來就可以決定新的腳的落點了也就是白色 的點。沿著之前規(guī)劃出的路徑重複身體向前找尋 更前方的立足點的動作就可以達到終點。旋轉的 部分,由於蜘蛛的旋轉是以身體中心為圓心做自 轉,所以相同的甜甜圈就可以提供立足點的範 圍。此時會有個特殊情況,就是在相同的(X,Y)位 置上也可能會因為蜘蛛朝向某些角度,從合法的 站位變成不合法的,如圖十。所以再蜘蛛要轉向 的時候,

34、我們必須避免這種情況。 能保持平衡並且找得到下一個站立狀態(tài)之 後,我們開始考慮如何不要走到陷阱中。舉例來 說如果蜘蛛和獵物之間沒有任何立足點並且無法 跨越過去,就必須繞路才能抵達目標。所以我們 除了讓蜘蛛有朝向目標前進的偏好也有要站立在 每個象限都有立足點的條件。如此,我們就可以 順利的規(guī)劃出路徑和步伐了。 6. 系統(tǒng)實做與實驗結果 6.1.系統(tǒng)實做 本系統(tǒng)立體化的實作與介面是使用IMLAB (IntelligentMedia Lab)所開發(fā)的環(huán)境 IMBrowser 來進行3D化的呈現(xiàn),以及動畫的撥 放。人機介面包含2D與3D的呈現(xiàn)部分,使用 者在2D的環(huán)境控制參數(shù)產(chǎn)生蜘蛛網(wǎng)與蜘蛛機器 人互

35、動,然後透過3D的場景看見成果。我們對 於蜘蛛機器人的運動規(guī)劃和視覺呈現(xiàn)做更進一步 的加強,因為之前計算蜘蛛機器人的腳是用向量 記錄,並且蜘蛛的步行可以把一隻腳的挪動看成 是一個面的挪動(圖十一)淺色的腳是之前的位 置,深色是現(xiàn)在腳的位置,所以就可以用反向動 力學(Inverse kinetics)利用腳的落點反推岀關節(jié) 點的位置。就可以得到蜘蛛腳的全部資訊,進一 步求岀3D蜘蛛的狀態(tài)。 實作方面,首先我們要將平面的蜘蛛網(wǎng)傳到 立體的環(huán)境,由於我們定義的蜘蛛網(wǎng)是一個平面 網(wǎng),所以直接將蜘蛛網(wǎng)的2D座標多加一個高度 的參數(shù)值算成 3D座標。網(wǎng)上的每一條線段都是 獨立存在的,所以也可以支援之前提過

36、修剪網(wǎng)子 的功能。實際程式的結果在圖十二,右邊的控制 面板是之前的產(chǎn)生蜘蛛網(wǎng)與蜘蛛步伐的程式與 2D部分的呈現(xiàn),左邊面板是呈現(xiàn)蜘蛛與蜘蛛網(wǎng) 的立體化結果。 用之前產(chǎn)生的蜘蛛機器人在2D蜘蛛網(wǎng)上所 行走的路徑與步伐記錄下來,成為待會立體化呈 現(xiàn)要用的劇本。利用上一段提到的反向動力學決 定腳擺放的姿勢與關節(jié)角度的計算,IMBrowser 有提供動畫劇本輸入的格式(XAML),我們的系統(tǒng) 只要指定關鍵格(key frame)蜘蛛的組態(tài)和時間的 配置依照其格式輸入,就可以用IMBrowser 具 備的內(nèi)插功能(in terpolati on)做岀動畫。把我們 將目前已經(jīng)有的 2D劇本轉換成IMBrow

37、ser 接受 的動畫劇本,就可以看到蜘蛛機器人在立體環(huán)境 的行走姿態(tài),得到我們最後要的結果。 6.2. 實驗結果 6.2.1. 蜘蛛網(wǎng) 圖十三:程式產(chǎn)生的蜘蛛網(wǎng)範例。最上排的表示系統(tǒng)可 以適應不同的外框,產(chǎn)生岀結果。中間一排是相同外框 加上不同參數(shù)產(chǎn)生的結果。最下方的是相同外框與相同 參數(shù)可以產(chǎn)生不同的結果。 之前提過,蜘蛛網(wǎng)的組成是由外框、輻射 線、螺旋線所組成的;在使用者定義好外框之 後,就可以利用我們的系統(tǒng)藉由調整參數(shù)來獲得 不同的蜘蛛網(wǎng)。所以我們系統(tǒng)會面臨到最大的變 數(shù)是使用者定義的外框,但是只要是凸多邊形的 外框,系統(tǒng)必須將其視為合法定義的外框,依據(jù) 定義的規(guī)則做岀蜘蛛網(wǎng)其餘的部分。

38、就算是相同 的參數(shù)設定也會產(chǎn)生不同的結果,這是因為有為 了模擬真實性而加入的亂數(shù)參數(shù)影響的關係(請見 第四單元)。在這個單元中,我們會針對系統(tǒng)適應 外框的多變性、相同外框面對不同的參數(shù)值和相 同外框面對相同的參數(shù)值這三種情況進行實驗和 評估。 圖十三將這三種狀況呈現(xiàn)出來;最上一排的 三張圖分別用不同的外框配合相同的參數(shù)產(chǎn)生岀 的結果。本系統(tǒng)只要是凸多邊形的外框就可以視 為合法的外框,不但具有適應性也有依照結網(wǎng)規(guī) 則做出符合定義的蜘蛛網(wǎng)。中間一排三張圖代表 用相同外框不同參數(shù)產(chǎn)生的網(wǎng)子,在螺旋絲之間 的寬度和輻射線的數(shù)量上都有明顯不同的設定。 6.2.2.蜘蛛步行 蜘蛛規(guī)劃出的路徑會因為環(huán)境的改

39、變而有不 同的結果。如圖十四,左圖是完整的蜘蛛網(wǎng),由 於可以踩的踏腳點有很多且分布平均,所以蜘蛛 前進的方向幾乎是以直線到達獵物所在地。右圖 圖十四:粗線為蜘蛛規(guī)劃岀來的路徑。我們把右邊的蜘 蛛網(wǎng)部分的螺旋絲刪除,改變蜘蛛行走的環(huán)境,蜘蛛規(guī) 劃的路徑也會因此改變。 的蜘蛛網(wǎng)是經(jīng)過使用者剪裁過的,可以讓蜘蛛踩 的踏腳點也會因此減少,導致蜘蛛必須搜尋其他 要繞過這個障礙的路徑到達終點。從這個例子可 以了解系統(tǒng)可以適應地形的改變,產(chǎn)生到終點的 路徑。 7. 結論與未來發(fā)展 這篇研究的獨特性在於模擬蜘蛛在蜘蛛網(wǎng)上 的行走規(guī)劃及使蜘蛛和蜘蛛網(wǎng)與使用者之間可以 有互動性。蜘蛛網(wǎng)的構造及設定上都是經(jīng)由我們

40、從自然界的觀察並歸納岀的結果。之後我們利用 目前做的結果作為基礎,發(fā)展更進一步的模擬。 例如在蜘蛛網(wǎng)的方面,增加修補網(wǎng)子的功能,改 變蜘蛛在蜘蛛網(wǎng)上的立足點,使搜尋路徑的變化 程度增高。在互動性的部分,我們將來預計讓使 用者可以動態(tài)的改變蜘蛛要到達的目的地,也就 是可以隨時在蜘蛛正在朝目標移動的時候即時改 變終點的位置。未來希望能更簡化參數(shù)值的設 定,讓使用者直接設定蜘蛛的大小和腿長這兩個 參數(shù)就可以得到相對的蜘蛛網(wǎng),也就是利用更高 階的參數(shù)設定取代目前直接影響網(wǎng)子的低層參 數(shù),達到更直覺方便使用者的參數(shù)設定。 8. Refere nee 1 T. Krink, and F. Vollrath

41、,“ Arialysing sp der web-building behaviour with rulebasedsimulati onsandgen etiealgorithms, inJournal of Theoretical biology, No.185, P.321-331, 1995. 2 C. Eldershaw and M. Yim,otionpla n- ning of legged vehicles in an unstructuredenvironment,in Proceedings of 2001 IEEE InternationalConferenceon Robotics and Automatio n, 2001. Climbing Robot in Nature Terrain 10 Bruce M.Blumberg and Tinsley A. Galyean, ” Multi-Level Direction of Au- 3 T

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論