基于VRML_Java的虛擬現實技術在可視化裝配中的應用_朱正強_第1頁
基于VRML_Java的虛擬現實技術在可視化裝配中的應用_朱正強_第2頁
基于VRML_Java的虛擬現實技術在可視化裝配中的應用_朱正強_第3頁
基于VRML_Java的虛擬現實技術在可視化裝配中的應用_朱正強_第4頁
基于VRML_Java的虛擬現實技術在可視化裝配中的應用_朱正強_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于VRML-Java的虛擬現實技術朱正強1 吳介一 1孔競飛1在可視化裝配中的應用易紅2210096)210096)(1東南大學CIMS中心,南京(2東南大學機械工程系,南京1) 內部Script節(jié)點Script節(jié)點的URL域可以包含一段 JavaScript 程序或者是鏈接的一個 Javaclass.當directOutput域 為FALSE時可以將Script節(jié)點理解為事件通路上 的一個智能節(jié)點,它接收事件輸入對其處理后產生 事件輸出,這條事件通路仍由 ROUTE指定.當directOutput 為TRUE時程序可以獲得其他節(jié)點的引 用,并直接對其域進行賦值,而不必遵從ROUTE指 定的

2、事件通路.2) 外部編程接口 EAI(external authori ng in terface)Script節(jié)點從VRML場景內部提供了與 Java的 連接,而EAI定義了與外部HTML頁面中的Applet 通信的接口 .它的基本思想是將 Java Applet與VRML置于同一 Web頁面,在Java Applet中建立 browser對象以標識一個唯一的 VRML場景,并由 此獲得對VRML場景中已定義節(jié)點的引用,它通過 直接指定引用節(jié)點的域值而達到動態(tài)效果.這樣,Java Applet即可控制 VRML場景,也能進行與 HTML 等其他媒體的交互以及網絡控制,從而可以實現復雜的虛擬環(huán)

3、境系統.EAI作為VRML標準的擴 充已經提交ISO,有望在將來正式成為國際標準的 一部分.總之,很多功能既可通過 Script節(jié)點也可利用 EAI實現,一般來說對于單一的 VRML事件實現交 互及運算功能可選擇內部的Script,若需集成多種媒體,并進行復雜網絡控制,則更宜于使用EAI,自 然其編程也要復雜一些在系統實現中需要進行大量與服務器的通信,同時有比較復雜的用戶界面控制,為此采用EAI作為與VRML的交互手段.1.5動畫演示的實現 用戶根據裝配CAPP系統推導得到的裝配順 序3進行可視化裝配驗證,當裝配成功之后,一方 面可以對原來的裝配順序進行修改,同時也可將此 虛擬裝配過程保存供其

4、他用戶通過網絡回放,實現虛擬裝配的動畫演示一般在VRML中往往通過使 用插值器節(jié)點改變對象或者視點的移動軌跡來實 現動畫效果,但這種方式需要手工編寫VRML文件內容,一旦改變了裝配路徑就需要重新改動源文 件,因此靈活性不高采用基于動態(tài)模型的運動控 制,用戶裝配時保存零件運動的關鍵點Java Applet在獲得關鍵點信息后,根據用戶指定的運動速率和 運動方式(如按直線或曲線移動),在定時器的控制 下得到下一時刻物體的位置并通過EAI發(fā)送到VRML場景中從而達到動畫效果.所有關于運動的 計算和控制均脫離 VRML由Java實現,可以使用戶 方便地對運動路徑進行修改和控制,也有利于不同 場合下對運動

5、信息進行共享1.6碰撞檢測算法在系統中的應用 碰撞檢測是虛擬裝配時對裝配路徑進行干涉 檢測的核心技術.現在的VRML97標準中所提供的 collision節(jié)點僅能檢測觀察者視點和物體之間是否 發(fā)生碰撞,而不提供物體間的碰撞檢測,這部分功 能需要另外擴展.一種解決方法是在 VRML場景中 增加一個自定義的 CollisionObject節(jié)點,把需要進 行碰撞檢測的物體納入其中,同時在VRML瀏覽器 中加入用于碰撞檢測的函數庫5,而無論是對商業(yè)公司提供的VRML瀏覽器進行擴展還是自己編寫 符合需要的瀏覽器都會影響通用性.為此我們考慮將碰撞檢測的功能在服務器端實現,即由Applet獲得VRML物體的

6、位置后將其作為參數傳送給服務 器端的運算對象,并由其調用碰撞檢測函數庫對服 務器端與其相應的裝配模型進行運算.Applet調用服務器端對象有幾種實現方式,如 Socket,RMI,CORBA以及基于 HTTP協議的ppIet-Servlet通信, 由于網絡所需傳輸的流量不大,因此對于性能造成的影響是可以忍受的,而它的益處在于不需要對瀏 覽器進行擴展,客戶端的運算壓力得到減輕,同時 可以在不影響客戶端設置的情況下對核心運算模塊進行升級本文采用的SOLID2.0算法庫 是GJK算法7 的一種實現,很適合于基于多邊形表面描述的復雜 幾何體的碰撞檢測2應用實例 系統基于Java技術構建,用戶界面采用S

7、wing 組件,出于實現的簡單性和通用性考慮,采用Applet-Servlet 通信實現客戶端和服務器之間的位置傳 遞和結果返回基于SOLID2.0的碰撞檢測模塊用 C+編寫并編譯成為動態(tài)鏈接庫,由服務器上的Java 程序通過JNI(Java native in terface)對其進行調 用目前基于“堆疊”思路的裝配驗證方式已經完 成,VRML模型直接由CAD文件輸出,裝配模型為 類似的多邊形表面描述輔以裝配關系約束用戶在客戶端按照裝配順序依次拖動零件到合適的裝配 位置,期間可以進行角度姿態(tài)調整,同時對裝配時 的關鍵點位置進行記錄并保存到服務器,裝配完成后可供動畫回放,裝配時是否發(fā)生干涉由碰

8、撞檢測 模塊實時運算27第1期朱正強等:基于VRML-Java的虛擬現實技術在可視化裝配中的應用 圖1系統功能框圖形的模型表面描述,所采用的多邊形數量越多,模 型越精確,但同時帶來的渲染數據量也越大.VRML中采用IndexedFaceSet節(jié)點描述面的形狀并通過面 的拼接實現任意形狀的幾何體外觀當CAD模型轉換為VRML模型之后,將會丟失精確性和具體的 裝配特征從而不利于裝配時對其進行精確控制為了增強VRML環(huán)境下的控制和仿真功能,考慮在服 務器端建立一個與客戶端VRML模型互為鏡像的模型,客戶端發(fā)出的碰撞檢測和精確控制等指令通 過網絡傳到服務器端進行運算并將結果傳回,然后由Java App

9、let通過EAI控制VRML模型的運動以 反應仿真結果同時這樣的實現方式可以降低對客 戶端軟硬件環(huán)境的要求,無須額外安裝定制的軟 件,當對服務器端的核心功能庫進行更新時也不用 對客戶端進行改動,具有很好的擴展性和靈活性 實現CAD環(huán)境下的信息提取有以下幾種可能 的途徑:1)直接利用CAD軟件的VRML導出功能 目前主流的CAD軟件如ProE,Solid Edge都支 持VRML格式的輸出,可以很方便地將其導入 VRML裝配環(huán)境,但由于無法了解其轉換細節(jié) ,因 此無法控制轉換精度也較難建立對應的鏡像模型,在功能的擴充上限制較大2)通過產品模型數據轉換標準STEPSTEP作為國際標準得到了廣泛的支

10、持,對CAD軟件導出的STEP文件進行解析并由此得到 VRML模型和裝配模型是一種可行的辦法文獻4對此進行了研究3)通過CAD軟件的API通過CAD軟件提供的應用編程接口(API)是一種更為安全的做法,由程序供應商提供的編程接 口可以保證在各版本之間的一致性以及信息的精確性PTC公司的Division Mockup5采用了這種方 式將CAD數據轉換到它自己的專用數據格式,同樣也可以通過這種方式建立VRML模型但它需要對不同CAD軟件開發(fā)不同的接口 ,實現起來較為 復雜1.4 VRML和Java的結合VRML的節(jié)點中定義了事件作為節(jié)點對外的接口,分為代表輸入接口的事件輸入 (eventln)和代

11、 表輸出接口的事件輸出(eve ntOut).事件模型如圖2 所示圖2 VRML事件模型節(jié)點間的事件通路由關鍵字ROUTE指定,當事件源有事件發(fā)生,就可以通過事件通路使相應的 節(jié)點發(fā)生變化,達到動態(tài)的效果.但僅僅通過這種 簡單的事件模型還不能使 VRML具備智能,無法在 各事件間建立復雜的聯系,為了擴展VRML的交互 能力和處理能力需要程序語言的介入,VRML標準本身沒有指定編程語言,但在網絡環(huán)境下,Java是 最具魅力的語言,它和VRML的結合顯得相當自 然,當前的主流VRML瀏覽器也都對Java編程提供 了支持在VRML中使用Java有2種方式,即通過內部Script節(jié)點和外部編程接口 (

12、EAI)26東南大學學報(自然科學版)第32卷L正日益拓寬其應用領域虛擬裝配是虛擬現實技術在制造業(yè)中的一項 重要應用.傳統的裝配體設計采用自底向上的方 式,需要將零件制造出來后進行裝配,往往會造成 裝配體各部件的干涉以及與設計目標不符等缺陷如此反復,導致設計成本增加,開發(fā)周期延長.虛擬 裝配借助虛擬現實技術可以在設計階段進行裝配 仿真,從而克服傳統裝配設計的缺陷敏捷制造是為了應對激烈的市場競爭而提出 的先進制造模式,以多種形式實現競爭環(huán)境下的敏 捷性,主要包括個性化需求滿足、快速反應性、低成本、生產系統的重組與資源的重用等它強調各盟員企業(yè)之間的信息和資源共享 敏捷制造模式中的 虛擬裝配有其自身

13、特點:企業(yè)聯盟動態(tài)形成,各企 業(yè)的設計開發(fā)環(huán)境不盡相同,因此構建的虛擬裝配 系統需要不受軟硬件平臺和CAD環(huán)境的約束同時出于設備造價和易操作性方面的考慮,本文提出建立CAPP生成系統,然后對其產生的裝配工藝在 普通工作站上通過開放式三維技術仿真裝配設計 過程,以此作為虛擬裝配的一種簡化形式,這種方 式可稱之為可視化裝配VRML作為一種開放的國際標準,可以用其構 建一個統一的三維交互式平臺,并可與同樣具有平 臺無關性的Java語言相結合以滿足復雜應用系統 的需求但VRML作為一種通用建模語言,并不是 專為工程應用領域設計的,為了適應網絡傳輸的需 要,其模型與CAD模型相比,在精確性和信息量方 面

14、要相差很多,因此它在制造業(yè)中的應用受到了一 定限制本文對基于VRML的可視化裝配系統進行 了研究,提出一種裝配模型與顯示模型分離的功能 結構,即以Browser Server為架構,裝配模型與顯示 模型互為鏡像,裝配模型在服務器端進行仿真運 算,而三維顯示模型下載到客戶端供用戶瀏覽這樣可以充分發(fā)揮 VRML模型的三維顯示、瀏覽功能 并通過仿真模型擴充系統功能 1系統結構和關鍵技術1.1研究背景如何增強VRML的3D瀏覽、交互能力并將其 應用于工程設計領域,國內外已進行了一定的研 究Mathias Nousch 和 Bernhard Jung1設計的 BEAVER 系統,采用基于 Web的技術實

15、現了網絡環(huán)境 下家具的虛擬裝配;密歇根大學的虛擬現實實驗室 開展了一系列關于 VRML在制造業(yè)中應用的研究 項目2,如船體運動仿真,船體制造仿真,虛擬制造 中的機器人模型等;本文對VRML的模型特點、交 互控制進行了研究,提出了一種新型的應用結構 , 并對其在敏捷制造環(huán)境下的虛擬裝配中的應用進 行了探索東南大學機械工程系先前開展的裝配 CAPP和虛擬裝配技術研究3中,采用寄生于 CAD 環(huán)境的虛擬裝配系統對裝配CAPP系統生成的裝配工藝進行可視化裝配驗證但由于不能脫離CAD環(huán)境,對于在網絡環(huán)境下進行虛擬裝配驗證 和裝配順序動畫演示的發(fā)布帶來了一定的困難,異地的用戶必須具備相同的CAD環(huán)境才能對

16、虛擬裝配的過程進行再現,而這一點對于敏捷制造環(huán)境下的企業(yè)來說通常不能保證因此可以考慮采用VRML和Java等完全基于Web的平臺無關技術,這 樣可在不同的硬件環(huán)境和軟件平臺上實現對裝配 工藝的可視化驗證,并且其結果可供管理、銷售等 人員參考,而不僅僅限于工程技術人員,從而拓寬 了信息共享的范圍文獻1,2中采用的方法對實 現以上目標均有不足,對此本文提出一種網絡環(huán)境 下基于VRML的虛擬裝配系統結構并對其中的CAD環(huán)境下信息的提取和模型建立、VRML和Java的交互、碰撞檢測的實現、基于動態(tài)模型的網上動 畫演示等關鍵技術進行了研究1.2系統結構采用3層Browser Server結構,圖1顯示了

17、系統 的功能框圖.CAD客戶端和裝配客戶端分別提供 基于瀏覽器的零件信息維護和可視化裝配的用戶 界面應用層提供HTTP服務以及仿真運算和數據 庫操作資源層的數據庫存儲零件模型和相關信 息.客戶層的三維顯示與應用層的仿真運算分離,不僅是增強VRML功能的有效途徑,也有利于核心 運算模塊的升級維護,提高系統的適應性和擴展 性1.3 CAD環(huán)境下的信息提取以及模型的建立 為使系統具備平臺無關以及適于網絡傳輸的 特性,需要將不同工作環(huán)境,不同CAD軟件產生的 零部件信息和裝配信息導入為一種中性的格式,并由此產生用于客戶端三維顯示的VRML模型和用于服務器端裝配仿真的裝配模型.CAD模型具有非常精確的描

18、述,包括用于制造或運算的尺寸描述 和材料數據,其表面往往由NURBS或Spline定義, 但當其用于實時交互時會帶來相當大的渲染運算 量.VRML為了提高實時交互性能,采用基于多邊 25第1期朱正強等:基于VRML-Java的虛擬現實技術在可視化裝配中的應用 摘要:為實現建立在開放技術標準之上的可視化裝配系統,本文對基于VRML-Java的虛擬現實技術在工程設計領域的應用進行了研究,提出一種新型的 Web環(huán)境下3D交互仿真結構.3D模型下載到客戶端顯示,復雜的運算和仿真在服務器上進行,從而實現服務器端裝配模型和客 戶端顯示模型的分離在此基礎之上可以完成VRML場景的動態(tài)生成、裝配控制、碰撞檢測

19、以及裝配過程的動畫回放等功能該結構不僅可用于網絡環(huán)境下的可視化裝配,也適合于其他領域基于Web的科學可視化.關鍵詞:VRML;Java;裝配;可視化;Web中圖分類號:TP391.9文獻標識碼:A文章編號:1001-0505(2002)01-0024-05VRML-Java based virtual reality tech no logy in assembly visualizati onZhu Zhe ngqia ng1 Wu Jieyi1 Kong Jin gfei1 Yi Hong2 (1CIMS Ce nter,Southeast Un iversity,Nanji ng 210

20、096,Chi na)(2Departme nt of Mecha nical En gi neeri ng,Southeast Un iversity,Nanji ng 210096,Chi na)Abstract: To develop the visual assembly systembased on ope n tech no logy,the VRML-Java based virtual reality tech no logy is discussed.This paper prese nts a novel in teractive 3D simulati on system

21、forWebbased environmen t.3D visualizati on is executed on the clie nt side and complex computati on and simulation on the server side.Thus,the visualizatio n model and the assembly model are distributed.Based onthis tech no logy,the dyn amic creati on of VRML seen e,the assembly con trol,the collisi

22、 on detect ion andthe ani mati on of assembly seque nee are realized.This architecture can be used in visual assembly systemand is also suitable for visualizati on in other research area.Key words:VRML;Java;assembly;visualizatio n; Web收稿日期:2001-04-16.基金項目:國家自然科學基金資助項目 (59889504).作者簡介:朱正強(1977 ),男,碩士

23、生;吳介一(聯系人),男,教授,博士生導師,.虛擬現實(virtual reality)最初指應用沉浸式技術以提供真實體驗的三維交互式可視化環(huán)境.通常具有3個基本特征,即沉浸感(immersion),瀏覽性(navigation)和多感官的交互(interaction).由于這樣的系統造價高昂,操作復雜,尚無法在普通的工作 環(huán)境中得到應用.因此目前虛擬現實的含義有所拓 寬,使用半沉浸和非沉浸式技術,通過顯示器對三 維物體進行瀏覽同樣可被稱為虛擬現實系統 ,從而 在更大的范圍中普及和應用虛擬現實技術.各種虛擬現實系統的核心通常都是具有增強的功能和行 為表現的三維計算機模

24、型.VRML(virtual realitymodeli ng Ian guage)就是一種用于通過 World WideWeb發(fā)布這種模型并允許用戶使用帶有插件的普 通瀏覽器對三維物體進行瀏覽的國際標準.雖然它不具備沉浸感,但是由于其易于實現、適合網絡傳 輸,對建立基于Web的三維可視化交互式應用提 供了一種很好的解決方案.隨著網絡帶寬和計算機 硬件性能的不斷提高,作為Web 3D技術主流的 結論網絡環(huán)境下的可視化裝配是一個仍在不斷發(fā) 展的課題,其中許多關鍵技術有待進一步深入研 究.為了獲得更豐富的零件特征和裝配信息,我們準備對從STEP文件中提取幾何特征和零件相對 位置進行研究.為了便于用

25、戶操作,需要研究零件 將要裝配到位時的靠接技術.此外,如何減少網絡流量,提高實時性以及與 Java3D技術的結合都是 值得研究的問題本文提出的客戶端完成三維瀏覽 顯示和服務器端進行仿真運算的結構不僅可用于 網絡環(huán)境下的可視化裝配,也適合于其他領域基于 Web的科學可視化.參考文獻(References)1 Nousch MathiasJ ung Bernhard.CAD on the World Wide Web:virtual assembly of furniture with BEA VERA.In: Proceedi ngs VRML99ofthe FourthSymposium on

26、 the Virtual Reality Modeli ng Lan guageC.Paderborn,Germa ny, 1999.113 119.2 Beier Laus-Peter.Web-based virtual reality in desig n andmanu facturi ng applicatio nsA.l n:1st Intern ati onal Euro Conference on ComputerApplicatio ns andln formati on Tech nol- ogy in the Maritime In dustriesC.http:www-v

27、 beier Papers compit2000 WebBasedVR.htm.2001 01 05.3 顧建鈞.敏捷制造環(huán)境下裝配CAPP和虛擬裝配技術研究D.南京:東南大學機械工程系,2000.3755.Gu Jianj un .CAPP an dvirtual assembly in agile manu factur- ing en viro nmen tD.Nanji ng:Departme nt of Mecha ni cal En gi neeri ng,Southeast Uni versity,2000.37 55.(i n Chinese)4 Kim

28、 Cheol-y oun g,Kim Namkug,Kim Yeon gho,et al.I nter- n et-based con curre nt engin eeri ng:a n in teractive 3D system with markupA.I n:Proceedi ngs ofCIE1998ASME18th Computers in Engin eeri ng Conferen ce:DETC98 CIE5522 C.Atla nta,1998.5522任 浩,譚慶平 基于VRML和Java的物理建模方法與 實現J.計算機工程與科學,2000,22(2):3639.Ren

29、 Hao,Ta n Qingpin g.Amethod of physical modeli ng and impleme ntati on based on VRML and JavaJ.Computer Engin eeri ng an dScie nce,2000,22(2):36 39.(i n Chin ese)6 Gi no Van Den Berge n. Afast and robustGJKimpleme ntatio nfor collisi on detect ion of convex objectsJ.http:www.wi n. tue. nl cs tt gi n

30、o solid .2000 08 11.7 Camero n S.Enhancing GJK:computi ng mi nimum and pene- trati on dista nces betwee n convex polyhedraJ.Proceedi ngs ofIEEE Int Co nfon Robotics an dAutomatio n.1997,4:3112 3117.28東南大學學報(自然科學版)第32卷1)內部Script節(jié)點Script節(jié)點的URL域可以包含一段 JavaScript 程序或者是鏈接的一個Javaclass.當directOutput域為FALSE

31、時可以將Script節(jié)點理解為事件通路上 的一個智能節(jié)點,它接收事件輸入對其處理后產生 事件輸出,這條事件通路仍由ROUTE指定.當directOutput 為TRUE時程序可以獲得其他節(jié)點的引 用,并直接對其域進行賦值,而不必遵從ROUTE指 定的事件通路.2)外部編程接口 EAI(external authori ng in terface)Script節(jié)點從VRML場景內部提供了與 Java的 連接,而EAI定義了與外部HTML頁面中的Applet 通信的接口 .它的基本思想是將 Java Applet與 VRML置于同一 Web頁面,在Java Applet中建立 browser對象以

32、標識一個唯一的VRML場景,并由此獲得對VRML場景中已定義節(jié)點的引用,它通過 直接指定引用節(jié)點的域值而達到動態(tài)效果.這樣,Java Applet即可控制 VRML場景,也能進行與 HTML 等其他媒體的交互以及網絡控制,從而可以實現復雜的虛擬環(huán)境系統.EAI作為VRML標準的擴 充已經提交ISO,有望在將來正式成為國際標準的 一部分.總之,很多功能既可通過 Script節(jié)點也可利用 EAI實現,一般來說對于單一的 VRML事件實現交 互及運算功能可選擇內部的Script,若需集成多種媒體,并進行復雜網絡控制,則更宜于使用EAI,自 然其編程也要復雜一些.在系統實現中需要進行大量與服務器的通信

33、,同時有比較復雜的用戶界面控制,為此采用EAI作為與VRML的交互手段.1.5動畫演示的實現用戶根據裝配CAPP系統推導得到的裝配順 序3進行可視化裝配驗證,當裝配成功之后,一方 面可以對原來的裝配順序進行修改,同時也可將此 虛擬裝配過程保存供其他用戶通過網絡回放,實現虛擬裝配的動畫演示.一般在VRML中往往通過使 用插值器節(jié)點改變對象或者視點的移動軌跡來實 現動畫效果,但這種方式需要手工編寫VRML文件內容,一旦改變了裝配路徑就需要重新改動源文 件,因此靈活性不高.采用基于動態(tài)模型的運動控 制,用戶裝配時保存零件運動的關鍵點,Java Applet在獲得關鍵點信息后,根據用戶指定的運動速率和

34、 運動方式(如按直線或曲線移動),在定時器的控制 下得到下一時刻物體的位置并通過EAI發(fā)送到VRML場景中從而達到動畫效果.所有關于運動的 計算和控制均脫離 VRML由Java實現,可以使用戶 方便地對運動路徑進行修改和控制,也有利于不同 場合下對運動信息進行共享1.6碰撞檢測算法在系統中的應用 碰撞檢測是虛擬裝配時對裝配路徑進行干涉 檢測的核心技術現在的VRML97標準中所提供的 collision節(jié)點僅能檢測觀察者視點和物體之間是否 發(fā)生碰撞,而不提供物體間的碰撞檢測,這部分功 能需要另外擴展一種解決方法是在 VRML場景中 增加一個自定義的 CollisionObject節(jié)點,把需要進

35、行碰撞檢測的物體納入其中,同時在VRML瀏覽器 中加入用于碰撞檢測的函數庫5,而無論是對商業(yè)公司提供的VRML瀏覽器進行擴展還是自己編寫 符合需要的瀏覽器都會影響通用性為此我們考慮將碰撞檢測的功能在服務器端實現,即由Applet獲得VRML物體的位置后將其作為參數傳送給服務 器端的運算對象,并由其調用碰撞檢測函數庫對服 務器端與其相應的裝配模型進行運算.Applet調用服務器端對象有幾種實現方式,如 Socket,RMI,CORBA以及基于 HTTP協議的pplet-Servlet通信, 由于網絡所需傳輸的流量不大,因此對于性能造成的影響是可以忍受的,而它的益處在于不需要對瀏 覽器進行擴展,客

36、戶端的運算壓力得到減輕,同時 可以在不影響客戶端設置的情況下對核心運算模 塊進行升級.本文采用的SOLID2.0算法庫 是GJK算法7 的一種實現,很適合于基于多邊形表面描述的復雜 幾何體的碰撞檢測.2應用實例 系統基于Java技術構建,用戶界面采用Swing 組件,出于實現的簡單性和通用性考慮,采用Applet-Servlet 通信實現客戶端和服務器之間的位置傳 遞和結果返回.基于SOLID2.0的碰撞檢測模塊用 C+編寫并編譯成為動態(tài)鏈接庫,由服務器上的Java 程序通過JNI(Java native in terface)對其進行調 用.目前基于“堆疊”思路的裝配驗證方式已經完 成,VR

37、ML模型直接由CAD文件輸出,裝配模型為 類似的多邊形表面描述輔以裝配關系約束.用戶在客戶端按照裝配順序依次拖動零件到合適的裝配 位置,期間可以進行角度姿態(tài)調整,同時對裝配時 的關鍵點位置進行記錄并保存到服務器,裝配完成后可供動畫回放,裝配時是否發(fā)生干涉由碰撞檢測 模塊實時運算.27第1期朱正強等:基于VRML-Java的虛擬現實技術在可視化裝配中的應用 圖1系統功能框圖 形的模型表面描述,所采用的多邊形數量越多,模 型越精確,但同時帶來的渲染數據量也越大.VRML中采用IndexedFaceSet節(jié)點描述面的形狀并通過面 的拼接實現任意形狀的幾何體外觀當CAD模型轉換為VRML模型之后,將會

38、丟失精確性和具體的 裝配特征從而不利于裝配時對其進行精確控制為了增強VRML環(huán)境下的控制和仿真功能,考慮在服 務器端建立一個與客戶端 VRML模型互為鏡像的 模型,客戶端發(fā)出的碰撞檢測和精確控制等指令通 過網絡傳到服務器端進行運算并將結果傳回,然后由Java Applet通過EAI控制VRML模型的運動以 反應仿真結果同時這樣的實現方式可以降低對客 戶端軟硬件環(huán)境的要求,無須額外安裝定制的軟 件,當對服務器端的核心功能庫進行更新時也不用 對客戶端進行改動,具有很好的擴展性和靈活性實現CAD環(huán)境下的信息提取有以下幾種可能 的途徑:1) 直接利用CAD軟件的VRML導出功能目前主流的CAD軟件如P

39、roE,Solid Edge都支 持VRML格式的輸出,可以很方便地將其導入 VRML裝配環(huán)境,但由于無法了解其轉換細節(jié) ,因 此無法控制轉換精度也較難建立對應的鏡像模型,在功能的擴充上限制較大2) 通過產品模型數據轉換標準STEPSTEP作為國際標準得到了廣泛的支持,對CAD軟件導出的STEP文件進行解析并由此得到 VRML模型和裝配模型是一種可行的辦法文獻4對此進行了研究3) 通過CAD軟件的API通過CAD軟件提供的應用編程接口 (API)是 一種更為安全的做法,由程序供應商提供的編程接 口可以保證在各版本之間的一致性以及信息的精 確性PTC公司的Division Mockup5采用了這

40、種方 式將CAD數據轉換到它自己的專用數據格式,同樣也可以通過這種方式建立VRML模型但它需要對不同CAD軟件開發(fā)不同的接口 ,實現起來較為 復雜1.4 VRML和Java的結合VRML的節(jié)點中定義了事件作為節(jié)點對外的 接口,分為代表輸入接口的事件輸入 (eventln)和代 表輸出接口的事件輸出(eve ntOut).事件模型如圖2 所示圖2 VRML事件模型節(jié)點間的事件通路由關鍵字ROUTE指定,當事件源有事件發(fā)生,就可以通過事件通路使相應的 節(jié)點發(fā)生變化,達到動態(tài)的效果.但僅僅通過這種 簡單的事件模型還不能使 VRML具備智能,無法在 各事件間建立復雜的聯系,為了擴展VRML的交互 能力

41、和處理能力需要程序語言的介入,VRML標準本身沒有指定編程語言,但在網絡環(huán)境下Java是 最具魅力的語言,它和VRML的結合顯得相當自 然,當前的主流VRML瀏覽器也都對Java編程提供 了支持.在VRML中使用Java有2種方式,即通過內部Script節(jié)點和外部編程接口 (EAI).26東南大學學報(自然科學版)第32卷L正日益拓寬其應用領域.虛擬裝配是虛擬現實技術在制造業(yè)中的一項 重要應用.傳統的裝配體設計采用自底向上的方 式,需要將零件制造出來后進行裝配,往往會造成 裝配體各部件的干涉以及與設計目標不符等缺陷.如此反復,導致設計成本增加,開發(fā)周期延長.虛擬 裝配借助虛擬現實技術可以在設計

42、階段進行裝配 仿真,從而克服傳統裝配設計的缺陷 .敏捷制造是為了應對激烈的市場競爭而提出 的先進制造模式,以多種形式實現競爭環(huán)境下的敏 捷性,主要包括個性化需求滿足、快速反應性、低成 本、生產系統的重組與資源的重用等.它強調各盟員企業(yè)之間的信息和資源共享.敏捷制造模式中的 虛擬裝配有其自身特點:企業(yè)聯盟動態(tài)形成,各企 業(yè)的設計開發(fā)環(huán)境不盡相同,因此構建的虛擬裝配 系統需要不受軟硬件平臺和CAD環(huán)境的約束.同時出于設備造價和易操作性方面的考慮,本文提出建立CAPP生成系統,然后對其產生的裝配工藝在 普通工作站上通過開放式三維技術仿真裝配設計 過程,以此作為虛擬裝配的一種簡化形式,這種方 式可稱之

43、為可視化裝配.VRML作為一種開放的國際標準,可以用其構 建一個統一的三維交互式平臺,并可與同樣具有平 臺無關性的Java語言相結合以滿足復雜應用系統 的需求.但VRML作為一種通用建模語言,并不是 專為工程應用領域設計的,為了適應網絡傳輸的需 要,其模型與CAD模型相比,在精確性和信息量方 面要相差很多,因此它在制造業(yè)中的應用受到了一 定限制.本文對基于VRML的可視化裝配系統進行 了研究,提出一種裝配模型與顯示模型分離的功能結構,即以Browser Server為架構,裝配模型與顯示 模型互為鏡像,裝配模型在服務器端進行仿真運 算,而三維顯示模型下載到客戶端供用戶瀏覽這樣可以充分發(fā)揮 VR

44、ML模型的三維顯示、瀏覽功能 并通過仿真模型擴充系統功能1系統結構和關鍵技術1.1研究背景如何增強VRML的3D瀏覽、交互能力并將其 應用于工程設計領域,國內外已進行了一定的研 究.Mathias Nousch 和 Bernhard Jung1設計的 BEAVER 系統,采用基于 Web的技術實現了網絡環(huán)境 下家具的虛擬裝配;密歇根大學的虛擬現實實驗室 開展了一系列關于 VRML在制造業(yè)中應用的研究 項目2,如船體運動仿真,船體制造仿真,虛擬制造 中的機器人模型等;本文對VRML的模型特點、交 互控制進行了研究,提出了一種新型的應用結構,并對其在敏捷制造環(huán)境下的虛擬裝配中的應用進 行了探索.東

45、南大學機械工程系先前開展的裝配 CAPP和虛擬裝配技術研究3中,采用寄生于 CAD 環(huán)境的虛擬裝配系統對裝配CAPP系統生成的裝配工藝進行可視化裝配驗證.但由于不能脫離 CAD環(huán)境,對于在網絡環(huán)境下進行虛擬裝配驗證 和裝配順序動畫演示的發(fā)布帶來了一定的困難,異地的用戶必須具備相同的CAD環(huán)境才能對虛擬裝配的過程進行再現,而這一點對于敏捷制造環(huán)境下 的企業(yè)來說通常不能保證.因此可以考慮采用 VRML和Java等完全基于Web的平臺無關技術,這 樣可在不同的硬件環(huán)境和軟件平臺上實現對裝配 工藝的可視化驗證,并且其結果可供管理、銷售等 人員參考,而不僅僅限于工程技術人員,從而拓寬 了信息共享的范圍.

46、文獻1,2中采用的方法對實 現以上目標均有不足,對此本文提出一種網絡環(huán)境 下基于VRML的虛擬裝配系統結構并對其中的 CAD環(huán)境下信息的提取和模型建立、VRML和Java的交互、碰撞檢測的實現、基于動態(tài)模型的網上動 畫演示等關鍵技術進行了研究.1.2系統結構采用3層Browser Server結構,圖1顯示了系統 的功能框圖.CAD客戶端和裝配客戶端分別提供 基于瀏覽器的零件信息維護和可視化裝配的用戶 界面.應用層提供HTTP服務以及仿真運算和數據 庫操作.資源層的數據庫存儲零件模型和相關信 息.客戶層的三維顯示與應用層的仿真運算分離,不僅是增強VRML功能的有效途徑,也有利于核心運算模塊的升

47、級維護,提高系統的適應性和擴展性.1.3 CAD環(huán)境下的信息提取以及模型的建立 為使系統具備平臺無關以及適于網絡傳輸的 特性,需要將不同工作環(huán)境,不同CAD軟件產生的 零部件信息和裝配信息導入為一種中性的格式,并由此產生用于客戶端三維顯示的VRML模型和用于服務器端裝配仿真的裝配模型.CAD模型具有非常精確的描述,包括用于制造或運算的尺寸描述 和材料數據,其表面往往由NURBS或Spline定義, 但當其用于實時交互時會帶來相當大的渲染運算 量.VRML為了提高實時交互性能,采用基于多邊 25第1期朱正強等:基于VRML-Java的虛擬現實技術在可視化裝配中的應用 摘要:為實現建立在開放技術標

48、準之上的可視化裝配系統,本文對基于VRML-Java的虛擬現實技術在工程設計領域的應用進行了研究,提出一種新型的 Web環(huán)境下3D交互仿真結構.3D模型下載到客戶端顯示,復雜的運算和仿真在服務器上進行,從而實現服務器端裝配模型和客 戶端顯示模型的分離.在此基礎之上可以完成VRML場景的動態(tài)生成、裝配控制、碰撞檢測以及裝配過程的動畫回放等功能.該結構不僅可用于網絡環(huán)境下的可視化裝配,也適合于其他領域基于Web的科學可視化.關鍵詞:VRMLJava;裝配;可視化;Web中圖分類號:TP391.9文獻標識碼:A文章編號:1001-0505(2002)01-0024-05VRML-Java based

49、 virtual reality tech no logy in assembly visualizati onZhu Zhe ngqia ng1Wu Jieyi1 Kong Jin gfei1Yi Hong2(1CIMS Ce nter,Southeast Un iversity,Nanji ng 210096,Chi na) (2Departme nt of Mecha nical En gi neeri ng,Southeast Un iversity,Nanji ng 210096,Chi na) Abstract: To develop the visual assembly sys

50、tembased on ope n tech no logy,the VRML-Java based virtual reality tech no logy is discussed.This paper prese nts a novel in teractive 3D simulati on systemforWebbased environmen t.3D visualizati on is executed on the clie nt side and complex computati on and simulation on the server side.Thus,the v

51、isualizatio n model and the assembly model are distributed.Based onthis tech no logy,the dyn amic creati on of VRML seen e,the assembly con trol,the collisi on detect ion andthe ani mati on of assembly seque nee are realized.This architecture can be used in visual assembly system and is also suitabl

52、e for visualizati on in other research area.Key words:VRML;Java;assembly;visualizatio n; Web收稿日期:2001-04-16.基金項目:國家自然科學基金資助項目(59889504).作者簡介:朱正強(1977 ),男,碩士生;吳介一(聯系人),男,教授,博士生導師,.虛擬現實(virtual reality)最初指應用沉浸式技術以提供真實體驗的三維交互式可視化環(huán)境通常具有3個基本特征,即沉浸感(immersion),瀏覽性(navigation)和多感官的交互(interacti

53、on).由于這樣的系統造價高昂,操作復雜,尚無法在普通的工作 環(huán)境中得到應用.因此目前虛擬現實的含義有所拓 寬,使用半沉浸和非沉浸式技術,通過顯示器對三 維物體進行瀏覽同樣可被稱為虛擬現實系統 ,從而 在更大的范圍中普及和應用虛擬現實技術.各種虛擬現實系統的核心通常都是具有增強的功能和行 為表現的三維計算機模型.VRML(virtual realitymodeli ng Ian guage)就是一種用于通過World WideWeb發(fā)布這種模型并允許用戶使用帶有插件的普 通瀏覽器對三維物體進行瀏覽的國際標準.雖然它不具備沉浸感,但是由于其易于實現、適合網絡傳 輸,對建立基于Web的三維可視化交互式應用提 供了一種很好的解決方案.隨著網絡帶寬和計算機 硬件性能的不斷提高,作為Web 3D技術主流的 結論網絡環(huán)境下的可視化裝配是一個仍在不斷發(fā) 展的課題,其中許多關鍵技術有待進一步深入研

溫馨提示

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

評論

0/150

提交評論