虚拟蜘蛛建网及步行的互动式模拟系统.docx
《虚拟蜘蛛建网及步行的互动式模拟系统.docx》由会员分享,可在线阅读,更多相关《虚拟蜘蛛建网及步行的互动式模拟系统.docx(8页珍藏版)》请在三一办公上搜索。
1、虛擬蜘蛛建網及步行的互動式模擬系統Interactive Simulation of Web Construction and Locomotion for Virtual Spider林翰儂李蔡彥政治大學政治大學北市指南路二段64號北市指南路二段64號s8908cs.nccu.edu.twlinccu.edu.tw圖一:最粗的線條是外框,輻射狀的普通粗線是輻射絲,螺旋狀的細線是螺旋絲。擁有黏性的絲線只有螺旋絲。Abstract目前在電腦動畫方面,已有許多模擬生物運動的規劃並且也到達相當成熟技術,像是人類的行走運動規劃;但是對於節肢動物的運動規劃,現在並不多見,大多並不是採用程式自動產生的方式
2、製造節肢動物的運動動畫。本論文研究模擬蜘蛛網的建構及虛擬蜘蛛在蜘蛛網上自動規劃行走運動的模擬程式。此論文的所採用的方法是依據我們定義的蜘蛛網結網規則和指定參數的方式建構蜘蛛網,蜘蛛在網上的步行也是經過搜尋判斷後才得到路徑。本系統建造蜘蛛網的部分已經可以成功的模擬出蜘蛛網的型態,也能夠自動規劃蜘蛛在蜘蛛網上的運動路徑。在實作方面是混合2D與3D的使用者介面,使用者以2D介面操作,以3D的方式呈現結果。1. 簡介圖二:蜘蛛網的建造順序是外框- 輻射絲 - 螺旋絲。圖片來源出自5。製作電腦動畫的方式主要有動作擷取(Motion Capture)和取動作關鍵格(key-framing)以及程式自動產生
3、動畫這三種方法。一般製作動畫主要是利用動作擷取和取動作關鍵格這兩個方式產生動畫。動作擷取的特點是利用真人演員的表演動作,讓電腦讀取後產生虛擬演員的動作。其優點是可以得到看起來很自然的動作模組,但是要把動作套到虛擬人物的時候仍然需要做關節間距的調整,而且得到的動作不能適應其他環境或是地型的變化。取動作關鍵格的方法常見於坊間的3D動畫製作軟體,使用者可以將做好的模型依照時間先後,每間隔一段時間調整模型在該時間點要擺放的位置,此動作就是在設定模型的動作關鍵格。之後,讓軟體利用內插法(interpolation)產生關鍵格與關鍵格之間連接的動作。而程式自動產生的動畫可以做到動作擷取美中不足的地方。此方
4、式根據運動原理以程式方式模擬動作,優點是重複性極是用性高。此方法式要解決的問題定義好,設定要遵循的規則,基本上就可以得到需要的動作。而且重複使用性高,但可以花費較少的時間得到不錯的結果。我們的目標在於程式自動模擬蜘蛛網與蜘蛛在蜘蛛網上的行走模式。而動機可以分成兩種,第一是藉由程式模擬蜘蛛的行為。如此,就可以讓一般人藉由虛擬的方式就可以觀察蜘蛛的行為與蜘蛛網的構成,不需到野外捕抓蜘蛛也不會破壞生態。能藉由模擬系統來讓一般人了解蜘蛛結網的行為以及結網的規則和特性;另外使用者可以和虛擬蜘蛛互動,決定蜘蛛在蜘蛛網上行走的終點,藉以觀察蜘蛛在蜘蛛網上的步行達到育教娛樂的效果。第二點是在動畫特效娛樂上的呈
5、現。提供出一個基本的架構給想要做出蜘蛛網或是蜘蛛爬行運動的場景或效果,不需再從頭開始,直接利用此程式即可產生出雛型再加以修飾就可以呈現出蜘蛛網的效果及蜘蛛爬行的動畫。為使用者提供基礎,提升動畫製作的效率及便利性。實做的部分,藉由少量的參數得到變化多端的蜘蛛網以及模擬蜘蛛的行走運動,所使用的方法是利用程式自動產生蜘蛛網與規劃蜘蛛在蜘蛛網上行走的路徑,再利用抓取動作關鍵格用內插法產生腳步之間的動作。本論文所描述之系統的目標有兩個;第一點是藉由使用者指定蜘蛛網的外框讓程式自動產生虛擬蜘蛛網的架構。圖一是擷取自我們的程式自動產生的結果,其中最粗的線段代表的就是外框,輻射絲和螺旋絲的部分就由程式依據給定
6、的規則,自動產生。第二點是模擬蜘蛛在蜘蛛網上的行走運動規劃,其行走的環境也就是之前第一點產生的虛擬蜘蛛網。在第二單元會簡單介紹過去相關研究,其中包括多腳機器人和模擬蜘蛛網的部分;第三單元會提到關於蜘蛛網的建構規則以及虛擬蜘蛛機器人的身體構造定義;第四、五單元會探討蜘蛛網建構以及蜘蛛步行產生的演算法,第六單元討論實做方法及實驗結果,第七單元是未來發展與結論。2. 相關研究關於蜘蛛網的模擬已經有人1作出蜘蛛結網歸納出一般性的規則,但是它所用的方法是先給予一些建造網子的規則以及一些變數,再利用基因演算法(Genetic Algorithm)和評估蜘蛛網的真似程度的評估程式來調整衍生出的蜘蛛網。而我們
7、的目標也以他們歸納出來的蜘蛛網架構為主要參考原則來建立蜘蛛網。但是我們不同於1的地方,在於我們的蜘蛛網產生出來之後必須成為蜘蛛機器人行走的環境。他們的結果是最終產生的蜘蛛網要用來和真實世界的蜘蛛網做比較,其目標在於蜘蛛網的擬真程度。至於蜘蛛或多腳機器人步行的模擬目前已經有相當多的研究成果2,3,4,8,但絕大多數的研究目標都是把焦點放在行走於平面或崎嶇的環境上,目前尚未有人研究蜘蛛在蜘蛛網上行走的模擬;並且,不論在蜘蛛腳關節的自由度上或是腳的數目上以及行走的步伐模式,都不是在模擬真正蜘蛛的八隻腳構造,最常見到的是四隻腳以及六隻腳的蜘蛛機器人(spider robot)。在互動的層面上,除了虛擬
8、蜘蛛網可以由使用者給定外框後自動產生蜘蛛網,也可以藉由參數控制板上的滑桿調整蜘蛛網的屬性。在與蜘蛛機器人的互動上是在於使用者可以利用放置獵物促使蜘蛛機器人從現在位置走向獵物所在地。這一點與10提過的三層自主式機器人溝通的中階溝通也就是指定終點令蜘蛛自動感測週遭環境再自動找出路徑與步行的規劃,都是通知機器人要移動到哪個地方的工作目標導向的命令。在虛擬生物的方面來說,分成模擬現實世界存在的生物與完全虛構的生物這兩種。在模擬現實世界的方面來說有11模擬真實魚的運動。其他常見的模擬生物也有像是10模擬狗與人類的互動。而我們論文所提出的模擬蜘蛛也是屬於模擬真實生物的範疇之中。在虛構生物的方面,有12所提
9、出的利用基因演算法(genetic algorithm)從簡單的肢節構造繁衍出複雜型體的生物與該生物的運動行為,像是跑、跳和游泳。以及13給定虛擬生物一些常識讓牠們在環境中做出合於常識判斷的行為。這些也都是相當有趣也值得探討的議題。3. 問題定義3.1. 環境定義蜘蛛網分成立體網和平面網,立體網像是比較著名的黑寡婦,就是利用類似垂簾的網子捕捉獵物,甚至也有地洞型的陷阱網。這些構造複雜的網可以相當有效率的捕捉到獵物,不過構造比較簡單的平面網除了有花費的絲線量比較少的優點之外他的捕捉獵物的功能也不遜於立體網的效果。平面網又有分成圓形網及不規則型的網子,不規則的網子結網規則不容易歸納出來,不同的品種
10、也有其不同的規則,就算是同種的蜘蛛也可能會因為壓力、天氣、溼度等變因影響網子的結構。我們著重的目標是針對平面圓網型的蜘蛛網進行模擬。首先我們先介紹蜘蛛網的特性。就外觀而言;它主要分成三個部分,外框、輻射絲、螺旋絲。外框幾乎都是由凸多邊形組成的內部則有輻射絲與螺旋絲如圖一。在模擬蜘蛛網之前我們要先了解真正的蜘蛛是如何建造網子。不論在國外或國內學界都有一種通用的程序來描述一隻織平面圓網的蜘蛛,如圖二。建造網子的順序是先建構出外框(圖二步驟A-C)再以此為支架架設輻射線(radii line) (圖二步驟D-I),這時就可以開始製造輻射線了。值得觀察的一點是,有些品種的蜘蛛在建完輻射線之後會先架起鷹
11、架再建螺旋線。所謂鷹架指的是蜘蛛會由內向外大略織出間距相當寬且不愈黏性的輻射絲,之後再由外而內織間距較小且具黏性的輻射絲。依我們的推測有可能是因為蜘蛛有偏好走線與線之間的交叉點的結果,因為這樣的走法比較穩固,舖出來的絲線也可以比較精準整齊。這邊由於牽涉到蜘蛛的行走偏好,所以在下一個小節會有更詳盡的解釋。在我們這個研究中會跳過這個搭鷹架的步驟,直接搭建輻射絲,因為這個行為只是蜘蛛自己為了建出整齊的絲線而做的行為,也有相當多的蜘蛛也跳過了這個步驟。附帶一提,在Samuel Zschokke先生的網頁中5 有錄下花園十字蛛(Araneus diadematus)整個結網過程的影片,我們也有參考這個影
12、片所呈現的現象,並且藉由這個影片做為定義蜘蛛網規則的參考根據。圖四:蜘蛛可以踩的範圍。因此我們所模擬的蜘蛛網除了根據1的原則之外,也有參考生物學上的定義而組成現在的虛擬蜘蛛網。在稍後演算法的部分會詳盡的說明如何產生出蜘蛛網的過程。3.2. 蜘蛛構造定義現在我們知道了有螺旋蜘蛛絲是有黏性的,我們就可以大致決定蜘蛛可行走的區域就是輻射絲。不過值得注意的一點,真實世界的蜘蛛的腳是不會被自己的絲黏到的,因為它們的腳底有特殊的油脂並且接觸面積也小。不過他們還是比較不偏好走螺旋線,因為會減低黏絲的黏度,也會減少能困住獵物的時間。並且在觀察實際蜘蛛爬行時我們發現到蜘蛛在已搭建完成的網子上,對於螺旋線和輻射線
13、上的交點也有者相當高的偏好。這種現象的原因有可能是源自於結網的蜘蛛因為在網上移動最主要的感官是觸覺以及本體感覺來預測腳的落點,由於結網蜘蛛的視覺相當弱只能感測光線而非像人類一樣可以利用視覺的判斷,所以大致上牠們會有腳向前伸再往後勾線類似摸索的一個動作,這樣的結果也就會很自然的讓腳站在交點上。所以我們在虛擬蜘蛛如何選擇落腳點的偏好也有提高這一方面的喜好程度。圖三:蜘蛛的正面圖與俯視圖。真實的蜘蛛有八隻腳,每隻腳各有七個關節。這在模擬上有相當大的困難由於每個關節都要有個別的自由度和關節彎曲度的限制,單單一隻腳的計算複雜度及各個關節點的位置判斷就非常複雜,所以我們既要簡化腳的關節但又要兼顧真實性,做
14、法就是將彎曲度較不顯著的關節和其他關節簡化並使得簡化過的那一段腳有較大的自由度以模擬原本的腳可以踩到的範圍。所以目前在這裡定義出的虛擬蜘蛛的身體結構有八隻腳,每隻腳有各分有上下兩段,也就是兩個自由度兩個關節。事實上,我們可以用肉眼可以看出蜘蛛的腳分為三段,但是我們可以用兩段來模擬三節的腳,也可以達到相同的效果。每隻腳我們設定相同固定的長度,並且每隻腳都是以身體中心為原點。關於身體的部分,真實的蜘蛛身體分為兩段頭胸部和腹部,腳都分布在頭胸部的部分。在這邊的定義則是簡化為一個球體並有自己的座標以及旋轉的角度,這三個元素加起來就是身體的結構(configuration),如圖三所示。身體後方的橢圓只
15、是為了外觀上的完整而加上的,不具特別的意義。蜘蛛可以踩的範圍,是假設蜘蛛的腳有內外關節的限制,所以向內向外可以踏的範圍有限制,所以我們把這個範圍畫成一個甜甜圈型如圖四,以身體中心為圓心的灰色甜甜圈就是蜘蛛可以踩的範圍。4. 虛擬蜘蛛網的建造規則我們依據自然界的原則(如圖五)來建造蜘蛛網。圖五中的步驟是由上而下的順序先後建出蜘蛛網;規則可以分成兩類,第一類是建造輻射絲的原則(Radii Line Rules),這一類的規則在使用者定義完外框之後就可以開始實做建造輻射絲。第二類螺旋絲建造原則(Spiral Line Rules)是做完第一類的規則之後才能實做螺旋絲,完成以上兩類規則就可以製出蜘蛛網
16、。只要使用者輸入的外框是凸多邊型就是合法的,我們就可以使用以上兩類規則產生虛擬蜘蛛網。除了給定外框外,我們還需要指定四個參數來產生蜘蛛網,關於這四個參數請詳見下節。接下來針對這兩類規則中的細部規則做更詳細的敘述。4.1. 輻射絲規則(Radii Line Rules)我們先接受使用者傳入的參數中其中與輻射絲的建構有關的兩個。一個是調整輻射線的數目,輻射線的架設就是取決於蜘蛛的測量與蜘蛛的腳長有關,因為蜘蛛會用自己的腳像是尺量看看兩條輻射線的距離是否太寬。如果太寬的話再多加一條輻射絲,所以簡單的說腳越短的蜘蛛在相同面積的網子上做出的輻射線會越多。另一個是螺旋線之間容許的角度誤差值;蜘蛛不會做出非
17、常精確平均分配輻射線之間夾角的蜘蛛網,所以需要誤差值來讓網子看起來比較自然。這問題其實並沒有確切的數據可以告訴我們,就算是同品種的蜘蛛也會因為不同的個體依照不同的習慣去做出不同的網子,所以這方面算是蜘蛛本身的偏好。關於演算法部分,首先在得到外框和參數之後,依照第一類規則(Radii Line Rule)第一項規則朝特定方向建造的第一條輻射絲(First Radii Line Rule)。再依據第二項規則(Next Radii Line Rule)及使用者給定的兩個參數,得到下條輻射絲所在的地方。重複第二項規則直到沒有空間放輻射絲或是輻射絲的數目到達使用指定的數目。圖五:蜘蛛網的建構原則。4.2
18、. 螺旋絲規則(Spiral Line Rules)圖六:當外框是狹長型的情況,蜘蛛會想辦法填滿網子,利用每一個角落。陰影的部分就是補線使用者指定的另外兩個參數與螺旋絲的規則有關。一個是指定螺旋絲之間的寬度,就是圖五中的粗邊矩形中兩條細線的間距,螺旋線的寬度也是取決於蜘蛛的腳長,螺旋線之間的寬度絕對不會大於蜘蛛橫向的身長。這是因為在建造螺旋線時蜘蛛是一邊沿著已經建好的螺旋線一邊量距離一邊搭線,並由實際觀察的結果也能證明此原理。另一個參數是離中心點多遠才開始放置螺旋線的距離,這裡我們將中心點到最內圈螺旋線之間的部分叫做中心網(hub),這點也是因為蜘蛛的偏好而決定的。接下來就是螺旋線的演算法部分
19、,一般來說,蜘蛛會離中心軸一段距離才開始放有黏性的螺旋絲我們可以從剛剛使用者指定的參數得到數值。依照觀察通常蜘蛛網的輻射絲中心會在比較偏高,原因是因為蜘蛛通常在中心網(hub)的地方等待獵物,並且他往下衝的速度比往上爬的速度快了許多。此現象除了是因為地心引力的關係外,也是基於蜘蛛行走的特性。蜘蛛一般由上向下快速移動時會將自己的絲線一端黏在現在的位置上,再往下一跳助跑再爬行,所以蜘蛛在蜘蛛網上或其他地形向下跑會比較快。因此我們會把蜘蛛網的中心向上偏移的現象也加入這個模擬程式,不過跳躍的行為並不列入這次的模擬。我們取得hub的參數之後就可以放置螺旋線。我們放置蜘蛛絲的做法是先決定好在那一條輻射絲開
20、始放螺旋絲,開始用第二類第一項規則(First Loop Rule)。在螺旋線繞完一圈後回到開始蜘蛛絲放置的螺旋線上的,其距離中心點是使用者設定的參數輻射線之間的寬度加上hub的距離。接這就進行第二項規則(Next Loop Rule),依照使用者輸入的寬度和上一圈的螺旋絲保持距離產生絲線。當蜘蛛重複做螺旋絲的動作做到無法輻射線與外框之間沒有足夠的空間可以放螺旋線的時候,就開始遵照第三項規則(Reverse Rule)反向再做第二項規則(Next Loop Rule)的動作。最後再檢查是否有把整個蜘蛛網填滿。所謂”填滿”的意義是,真實的蜘蛛不會讓最外圈的輻射絲到外框之間有太大的空隙,因為這樣浪
21、費了蜘蛛網的空間,讓能獵補的空間少了許多,所以他們會盡量把螺旋線填滿任何一個可用的角落,如圖五所示。這就是最後一項規則(Complete Rule)。4.3. 特殊狀況及實做考量關於設定外框,本系統不同於過去其他研究的做法是我們需要幫蜘蛛設定外框,再讓他做輻射線和螺旋線方便模擬蜘蛛網,而外框的形狀一定要是凸多邊形。這個強制要求的條件是因為蜘蛛一般不會把網子的形狀編成凹多邊形,第一點來說這樣的網子不如凸多邊形可以有效的利用每一個角落而會有浪費空間的現象。第二點來說凹多邊形的形成有可能是因為外圍支架的張力不均而導致的,這樣的網子也比較容易纏在一起。所以我們會假設外框為凸多邊形。一般的外框由於周遭地
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟 蜘蛛 建网 步行 互动式 模拟 系统
链接地址:https://www.31ppt.com/p-1675519.html