1
行政院國家科學委員會專題研究計畫成果報告
運動計畫在虛擬實境的應用-自動導覽系統
Application of Motion Planning in Vir tual Reality –
An Automatic Guided Tour ing System
計畫編號:NSC 87-2213-E-004-007
執行期限:86年8月1日至87年7月31日
主持人:李蔡彥
Email: [email protected]
執行機構及單位名稱:國立政治大學資訊科學系
一、中文摘要
虛擬實境在一般桌上型個人電腦上的使 用已逐漸普遍;特別是在網際網路盛行之後, 網路VR的系統也已日趨普及。但在VR的軟體 技術上,卻仍有許多亟待突破的地方。例如要 以2D滑鼠操控複雜的3D場景,並非一般使用 者所能輕易勝任的。本研究提議將機器人學中 所研發的數個運動計畫演算法,應用在網路的 虛擬實境系統中,以期讓使用者得以少許的高 階輸入,便能達到參觀瀏覽的目的。此研究的 主要成果有三:一、設計出一套可自動產生導 覽員及視點(照相機)運動的虛擬實境導覽系 統;二、設計一套能模擬汽車停車運動的非完 整路徑計畫軟體;三、設計一個可將碰撞偵測 的效率提昇約80%的漸進式演算法。本計畫的 實驗結果說明了以機器智慧類的演算法融入 虛擬實境系統中,將有助於此類系統可用性的 提升。關鍵詞:
網路虛擬實境、虛擬實境建模語言、 運動計劃、自動導覽、人體運動模擬、非完全 運動、碰撞偵測、電腦動畫Abstr act
Experiencing Virtual Reality (VR) on a regular personal computer is no longer a problem. Especially when the Internet is becoming mature, networked VR systems are becoming prevalence. However, there still exist difficulties on software technologies that prevent the results from being more fruitful. For example, it is a challenge for a novel user to use a 2D mouse to control and navigate through a complex 3D virtual scene. The goal of this project is to apply the motion planning techniques originally developed for
robotics applications to automatically generate motions for VR applications. We hope that with this system, the user can navigate through a complex virtual scene with only a few high-level directives. Three main contributions result from this research project. First, we designed a net-worked virtual reality system capable of gen-erating motions for a tour guide and a corre-sponding tracking viewpoint. Second, we have designed a nonholonomic path planner that is connected to a car parking simulation system. Third, we have design an incremental collision detection algorithm whose efficiency is improved by about 80%. Experiments of this research have shown that usability of virtual reality systems can be greatly enhanced by incorporating appropriate machine-intelligence algorithms.
Keywor ds:
Networked Virtual Reality, VRML, Motion Planning, Automatic Tour Guiding, Hu-man Motion Simulation, Nonholonomic Motion, Collision Detection, and Computer Animation.二、緣由與目的
虛擬實境的應用日趨廣泛,特別是在硬體 計算速度日新月異的情況下,以往必須在特定 高階電腦上才能體驗的虛擬實境系統,現在已 能在一般的桌上型個人電腦體驗。但是要以一 般個人電腦的設備,例如平面滑鼠及鍵盤,操 控複雜的3D虛擬場景,並非一般使用者所能輕 易上手的。使用者對3D場景的要求通常會隨著 電腦速度的提昇而升高,以致3D顯示的速度始 終不易達到輕鬆互動的需求。本研究所提出的 解決方案,便是透過各種運動計畫演算法的幫 助,讓使用者得以少許的高階指示,便能由軟 體程 式 產 生 虛 擬 實 境 系 統 中 所 需 的 細 節 運 動。
2 這些計算物體避碰運動的演算法,過去多 應用在計算機器人的運動上。例如,在計算汽 車類物體的移動路徑、自走機器人於建築物內 的運動路徑、及追蹤移動物體的視點運動計 畫,均已存在有效的演算法,可以在次秒至數 秒的範圍內將運動計算出來[2][4] [5][6]。而本 計畫的目的,便是實做這些演算法、並將之整 合在以VRML為主的網路虛擬實境系統中,以 達到有效瀏覽複雜3D虛擬場景的目的。
三、結果與討論
我們將本計畫執行的結果分「系統架構」 及「軟體模組」兩方面來報告:1.
系統架構:
本計畫是以設計一個具有導覽功能的網 路虛擬實境系統為目標,並以政大資科系系館 為實做的範例。最後實做出的系統由下列五個 軟體模組所構成:(1) VRML瀏覽器、(2) 汽車 類運動計畫器、(3) 導覽路徑計畫器、(4) 人體 下半身走路動作產生器、及 (5) 視點運動計畫 器;各模組間的關係如圖一所示。其中,3D模 型及人機介面皆以網際網路上通用之虛擬實 境建模語言(Virtual Reality Modeling Language, VRML)[13]為設計的標準,而其他運動計畫 或模擬之模組則以Java語言實作。模組二(汽 車類運動計畫模組)及模組三(導覽路徑計畫 模組)各另以Applet的方式呈現對應的2D俯視圖介面,並透過VRML瀏覽器的外部介面(Ex-ternal Authoring Interface, EAI)控制VRML瀏覽 器中3D物體(包括汽車、導覽員、及視點等) 的運動。而其他模組,則透過瀏覽器的Scripting 介面互相註冊並溝通。 此系統運作時依場景的不同,分成建築物 外的自動停車功能、及建築物內的自動導覽功 能。在建築物的外部,使用者只需在2D介面上 將汽車指定至所欲前往的停車位上,系統就會 計算出一段符合汽車運動限制的避碰路徑,並 導引VRML瀏覽器中的汽車模型前往;而使用 者可以用第一或第三人稱的方式觀察,圖二所 示之範例即是在模擬停車過程中經由兩個不 同視點所看到的場景。在建築物之內,使用者 則只需在建築物的平面圖上點選有興趣的參 觀點,並指定參觀順序等參數,系統便可於線 上(on-line)計算出適合的參觀路徑,並由導覽 員帶領,前往這些參觀點。此使用者介面的範 例如圖三所示。
2.
模組實做:
本節中除對上述五個軟體模組作簡要的 描述外,亦報告VR核心避碰模組的研發成果。 l 物體模型的建立:包括本系系館建築隔 間、內部擺飾、及人體的立體VRML幾何 模型等。這些模型均可單獨在一般VRML 瀏覽器中觀賞使用。 圖一: 軟體模組及系統架構 圖二:汽車類運動計畫之使用者介面範例 圖三:導覽路徑自動產生之使用者介面範例 VRML Br owser Car Motion Planner Tour Path Planner Human Gait Gener ator View Point Planner EAI EAI3
l 汽車運動計畫器之設計:此模組是以La-tombe所提出的方法,實做出一個計畫器。 此方法先算出汽車的完整(Holonomic)路徑 後,再以Reed and Shepp曲線逐段將此路徑 換成非完整(Nonholonomic)的路徑[5]。而 所算出的路徑則直接以EAI的方式輸出至 VRML瀏覽器中,以模擬建築物外汽車之 停車運動。 l 導覽路徑計畫器之設計:此模組先將輸入 的平面圖換成Bitmap後,再以數值方式算 出Voronoi Diagram,以作為參觀路徑的骨 架。依照使用者線上指定的參觀點,以 Best-First Search及Greedy的演算法,找尋 通過這些參觀點的有效參觀路徑[4][7]。此 計劃器所需的線上計算時間約在次秒至數 秒的範圍內。所計算出的參觀路徑為導覽 員所需遵循的帶領參觀路線,亦是「視點 運動計畫器」及「人體運動模擬器」做進 一步處理的資料來源。 l 人體下半身運動模擬器之設計:我們以參 觀路徑所規劃出的導覽員運動(一序列間 格不等的腳印位置),輸入此模擬器中,以 算出符合指定腳步長度的人體下半身關節 的運動,範例如圖四[12]。此模組所使用的 人體關節模型,符合VRML及MPEG4 Hu-manoid Animation的標準規格[14],因此導 覽員模型可輕易替換成其他符合規格的3D 人體模型。 l 視點(Viewpoint)運動計畫器:根據輸入的 導覽員路徑,此模組計畫參觀者(由照相 機視點代表)的運動路徑[2][6]。此路徑不 需與導覽員的路徑相同;反之,使用者可 指定跟隨的方式,在視線不離開導覽員的 前提下,用以逸待勞的方式參觀景點。此 模組的範例如圖五所示。此模組與文獻上 類似之研究最大的不同點,在於演算法的 設計著眼於線上計算的有效性。而對大部 分的實驗範例而言,此計劃器多能在次秒 的範圍內找出可行的路徑[9]。
l
階層式3D碰撞偵測模組之設計:由於碰撞 偵測在運動計劃器或虛擬實境系統中均屬 關鍵模組,故改進此模組亦可相對的提昇 這些軟體的效率[1][8]。目前國內外的相關 文獻顯示,效率最好的3D碰撞偵測演算 法,其內部資料結構皆為階層式的資料結 構[10][11]。本研究針對互動式3D繪圖中物 體運動多為連續的特性,設計出一個漸進 式的演算法,可將一般階層式碰撞偵測演 算法增快約80%。目前我們正將此成果整 合至VRML瀏覽器中。
(二)討論:
以下僅就本研究計畫的結果及後續延伸提 出討論。 l 互動式3D圖像在電腦硬體日新月異的情況 下,即將成為下一代的人機介面,但我們 認為如要增加此類介面的可用程度,不是 加快繪圖速度即能達到目的,還需提高使 用者下達指令的層次。本研究的目的便是 將機器人學中所研發的運動計畫演算法, 應用在虛擬實境的導覽系統中,以藉由機 器智慧的輔助,提升使用者的命令層次, 自動產生適當的導覽路徑。但導覽的目 的,通常不只是帶領使用者通過參觀點而 已,更需於適當的位置加入視覺或聽覺上 的說明;這將是我們未來研究的方向之 一。 圖 四: 人體下半身走路之運動模型 圖五:視點運動計畫之範例(a)
(b)
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j)
(k)
(l)
4 l 本研究所採用的運動計劃演算法,在機器 人學中已被證明是計算複雜度非常高的問 題[3]。但是我們在此研究中以實例證明, 透 過 適 當的 問 題形 成 模 式 (Problem For-mulation)及合理的簡化,許多困難的計算 問題在短時間內皆可得到合理的解答,以 作為線上或即時(Realtime)之應用。 l 本研究所提出之3D碰撞偵測效率的提升, 將有助於許多需與使用者互動的模組之發 展。但如何將之整合入流行的VRML瀏覽 器中,卻是一個具挑戰性、亦有待努力的 問題。 l 本系統對VRML瀏覽器中物體運動的控 制,多透過其EAI的外部介面。然而,目前 通用之VRML瀏覽器對此介面的支援與執 行效率,仍有待加強。例如,以EAI同時控 制多個運動參數(例如人體關節)時,系 統的效率會明顯下降。
四、計畫成果自評
本計劃在申請時所預期的工作項目,均已 按既定的步驟及預定的進度完成,而研究成果 包含了範例資料的建立及各軟體模組的設計 與實作。在資料建立方面,包含了物體立體幾 何模型、機構學模型等資料。在軟體模組的設 計上,則有戶外汽車自動停車的運動計畫、建 築物內自動導覽路徑的產生、人體走路的運動 模擬、及視點運動的計畫等。在3D核心技術 上,則有加速之碰撞偵測演算法之設計及實 做。 本計劃在學術上所獲得的各項成果,已逐 步整理成論文,發表在國內外學術期刊或研討 會;預計共有三篇以上的論文發表,目前有兩 篇已發表[7][8],另一篇正投稿中[9]。由此研 究計畫所延伸而出的研究主題,例如虛擬工廠 的自動導覽系統,已在後續計畫持續進行中。五、參考文獻
[1] H.S. Chang and T.Y. Li. "Assembly Maintain-ability Study with Motion Planning." In 1995 IEEE International Conference Robotics and Automation, Nagoya, Japan, May 1995.
[2] H. H. Gonzalez-Banos, L. Guibas, J.C. Latombe, S.M. LaValle, D. Lin, R. Motwani, and C. To-masi, “Motion Planning with Visibility Con-straints: Building Autonomous Observers,” in
Proceedings of the Eighth International Sympo-sium of Robotics Research, Hayama, Japan, Oc-tober 3-7, 1997.
[3] J.E. Hopcroft, J.T. Schwartz, and M. Sharir, “On the Complexity of Motion Planning for Multiple Independent Objects: PSPACE-Hardness of the Warehouseman's Problem”, International. Jour-nal of Robotics Research, 3(4): 76-88, 1984. [4] J.C. Latombe, “Robot Motion Planning,” Kluwer
Academic Publishers, 1991.
[5] J.C. Latombe, “A Fast Path Planner for a Car-Like Indoor Mobile Robot,” Proceeding of the 9th National Conference on Artificial Intelligence,
AAAI-91, Ahaheim, CA, July 1991.
[6] S. M. LaValle, H. H. Gonzalez-Banos, C. Becker, J.-C. Latombe, “Motion Strategies for Main-taining Visibility of a Moving Target,” in Pro-ceedings of the 1997 IEEE International Confer-ence on Robotics and Automation, 1997.
[7] T.Y. Li, L.K. Gan, and C.F. Su, "Generating Customizable Guided Tours for Networked Vir-tual Environment," in Proceedings of 1997 Na-tional Computer Symposium (NCS'97), Taichung, Dec. 1997.
[8] T.Y. Li and J.C. Chen, “Incremental Collision Detection with Hierarchical Data Structures,” in Proceedings of ACM Virtual Reality Software Technology, 1998.
[9] T.Y. Li and T.H. Yu, “Planning Tracking Motions for an Intelligent Virtual Camera,” submitted to the 1999 IEEE International Conference on Ro-botics and Automation, 1999.
[10] M. C. Lin, D. Manocha, M. K. Ponamgi and J. D. Cohen, ``A Coherence-based Hierarchical Ap-proach to Interference Problems for Virtual Prototyping'', in Product Modeling for Computer Integrated Design and Manufacture, edited by M. Pratt, R. D. Sriram, and M. J. Wozny, 1996. [11] S. Quinlan, "Efficient Distance Computation
between Non-Convex Objects," in Proceedings of International Conference on Robotics and Automation, San Diego, CA, 1994.
[12] A. Watt, and M. Watt, "Animating Articulated Structured," Advanced Animation and Rendering Techniques, Theory and Practice, 369-394. 1992. [13] VRML97 Specification,
http://www.vrml.org/Specifications/VRML97/ [14] VRML Humanoid Animation Working Group,