專利名稱:基于vrml模型的有約束協(xié)同裝配工藝規(guī)劃的仿真方法
技術領域:
本發(fā)明基于VRML模型的有約束協(xié)同裝配工藝規(guī)劃的仿真方法,屬于計算機輔助協(xié)同產(chǎn)品設計工具領域。
背景技術:
VRML(虛擬現(xiàn)實建模語言Virtual Reality Modeling Language)是一種ISO國際標準。該格式文件具有交互性強、文件短小、易擴展性強、分布式、平臺無關等特點,在Internet上提供了有景深、有立體感的三維世界,是目前網(wǎng)絡環(huán)境下描述三維場景的主要語言。在機械設計領域,眾多CAD軟件均已提供了VRML的輸出接口,所以不同CAD格式的設計模型都可以轉(zhuǎn)換為VRML格式的三維模型,使得在Internet上可以展開基于3D VRML模型的可視化協(xié)同討論,成為支持協(xié)同設計的一種切實可行的解決方案。因此許多網(wǎng)絡化產(chǎn)品協(xié)同設計支持系統(tǒng)采用基于VRML標準的信息集成來解決異構CAD信息的集成問題。
基于VRML模型的網(wǎng)絡化產(chǎn)品協(xié)同設計,是將來自不同平臺的CAD模型,尤其是跨地域、跨平臺的CAD模型,在網(wǎng)絡環(huán)境中由單人或多人(包括專家、設計師、銷售人員和用戶)相互協(xié)同進行產(chǎn)品的協(xié)同瀏覽,協(xié)同批注,協(xié)同預裝配,協(xié)同裝配工藝規(guī)劃等操作,以達到檢驗來自不同任務組的零部件設計的合理性。使產(chǎn)品設計的初期能夠從多角度,多階段綜合考慮影響產(chǎn)品設計的因素。
由于以上原因,VRML標準在基于Internet的協(xié)同設計中得到了廣泛的應用。目前,基于VRML模型的協(xié)同瀏覽,協(xié)同批注,協(xié)同裝配等功能都已得到了很好的實現(xiàn),使異地設計者可將各自設計的零件模型通過網(wǎng)絡互相查看并進行實時裝配討論,極大縮短了設計周期,提高了交流效率。在實際產(chǎn)品設計中,裝配工藝規(guī)劃則是另一個復雜的設計階段。其間設計意見交流頻繁,設計結果形式多樣,使之長期以來成為產(chǎn)品設計效率提高的瓶頸。本發(fā)明在研究VRML模型本身特點的基礎上,采用數(shù)學的方法,通過網(wǎng)絡化的同步操作,實時交流,使產(chǎn)品裝配工藝規(guī)劃能夠集合多方的設計經(jīng)驗,方便快捷地實現(xiàn),進而縮短產(chǎn)品開發(fā)周期。
VRML語言具有動畫設計簡單逼真的特點,表1中即為一段典型的動畫節(jié)點代碼,其中時間傳感器(TimeSensor)作為動畫行為的驅(qū)動,位置插補器(PositionInterpolator)中定義了關鍵點(Key)和對應的關鍵值(KeyValue),然后執(zhí)行簡單的動態(tài)計算,形成平滑的動畫軌跡,而后在時間傳感器和位置傳感器之間添加路由,在位置傳感器和模型之間添加路由,從而實現(xiàn)動畫設計。其原理如圖1所示?;谏鲜黾夹g路線,通過實時設計VRML模型動畫來仿真加工裝配工藝過程,使異地的設計人員對整個的裝配工藝過程有直觀準確的了解。VRML為協(xié)同裝配工藝規(guī)劃提供了很好的技術基礎,但同時因為VRML只是一種三維場景描述語言,所以使用VRML語言描述的機械設計模型缺少一般CAD模型所具有的豐富信息,在實現(xiàn)仿真裝配工藝過程時還有以下不足(1)缺少大量CAD模型中的工程語義信息,使裝配工藝規(guī)劃時難以捕捉和維護產(chǎn)品約束等工程信息;(2)缺少必要的連接及聯(lián)接副信息,如轉(zhuǎn)動聯(lián)接副,移動連接副等。VRML模型中的動畫只是各個模型的單獨運動,沒有關聯(lián)性,所以對于復雜的裝配工藝過程,VRML模型自身動畫的仿真是不可行的;(3)缺少系統(tǒng)化的工藝規(guī)劃方法,對于大型的、復雜的裝配體,缺少規(guī)范的方法其操作難度和效率會急劇增加。
表1 典型VRML動畫程序
發(fā)明內(nèi)容
本發(fā)明的目的在于對基于VRML模型的網(wǎng)絡化有約束協(xié)同裝配工藝規(guī)劃仿真提供高效、方便的操作方法,使用數(shù)學的方法解決VRML模型缺少工程信息、聯(lián)接信息、約束信息的問題,使異地設計者通過直觀的3D模型對裝配體的工藝規(guī)劃展開討論、設計、生成工藝規(guī)劃結果。
本發(fā)明的特征在于,所述裝配工藝規(guī)劃是指裝配體動態(tài)運行和裝配體安裝過程的規(guī)劃;所述仿真方法是在基于TCP/IP協(xié)議的網(wǎng)絡環(huán)境中通過在各用戶端的計算機配置用VRML表示的虛擬現(xiàn)實建模語言的格式文件后的設計者與設計環(huán)境交互的方式實現(xiàn)仿真的,所述的方法依次含有以下步驟步驟1.在計算機中設定以下兩種聯(lián)接約束的類型滑動聯(lián)接約束,其約束表達式為Part_1={SC(Part_2)},表示Part_1通過滑動聯(lián)接約束與Part_2聯(lián)接;轉(zhuǎn)動聯(lián)接約束,其約束表達式為Part_1={RC(Part_2)},表示Part_1通過轉(zhuǎn)動聯(lián)接約束與Part_2聯(lián)接;Part_2={RC(Part_1),RC(Part_3)},表示Part_2在運動過程中所受的約束條件有兩個,一個是與Part_1的轉(zhuǎn)動聯(lián)接約束,另一個是與Part_3的轉(zhuǎn)動聯(lián)接約束;所述Part是表示要轉(zhuǎn)動的零部件;步驟2.計算機根據(jù)要進行有約束裝配仿真的對象選定有約束仿真裝配體模型,該模型是要裝配的各零部件的組合;步驟3.計算機指定開環(huán)機構或閉環(huán)機構中各零部件與它的前端部件和后端部件的轉(zhuǎn)動聯(lián)接和滑動聯(lián)接的約束類型所述開環(huán)機構是指前端部件運動不受后端部件約束的影響的機構,所述前端部件和后端部件分別表示所述機構的各部件聯(lián)接約束關系中的位于始端和末端的部件;所述閉環(huán)機構是指在計算前端部件運動時應考慮后端部件的約束;步驟4.計算機根據(jù)機構的仿真類型,基于相應的約束表達式,采用下述公式計算各零部件在運動中的位置參數(shù)設TTrn_i表示平移矩陣,TRot_i表示旋轉(zhuǎn)矩陣,TTrn_i和TRot_i與所述VRML模型的位置參數(shù)的關系分別如下式所示
TTm_i=100001000010ΔxΔyΔz1]]>TRot_i=Rx2+(1-Rx2)cosθRx·Ry(1-cosθ)+Rz·sinθRx·Rz(1-cosθ)-Ry·sinθ0Rx·Ry(1-cosθ)-Rz·sinθRy2+(1-Ry2)cosθRy·R2(1-cosθ)+Rx·sinθ0Rx·Rz(1-cosθ)+Ry·sinθRy·Rz(1-cosθ)-Rx·sinθRz2+(1-Rz2)cosθ00001]]>計算機根據(jù)給定的初始位置參數(shù),計算各個零部件依照聯(lián)接約束求得運動后的平移矩陣或旋轉(zhuǎn)矩陣,再根據(jù)各部件的聯(lián)接約束關系式求得運動后的新位置,自動獲得不同時間點、不同初始位置條件下各個零部件的姿態(tài)參數(shù);步驟5.把步驟4得到的計算結果生成每個零部件的時間-順序-路徑矩陣,按時間段形成關鍵幀;步驟6.把表示不同關鍵點的關鍵幀分別以逆序?qū)懭胨鯲RML文件中各個部件模型的插補器中,把關鍵點值和關鍵位置值寫入所述插補器的Key和KeyValue中,再添加時間傳感器,在時間傳感器和位置傳感器之間添加路由,在位置傳感器和零部件的造型節(jié)點之間添加路由,生成仿真畫面。
實驗證明將以上技術應用于基于三維VRML模型的協(xié)同設計系統(tǒng)——VIAVRML的開發(fā)中。VIAVRML系統(tǒng)是國家863課題網(wǎng)絡化產(chǎn)品協(xié)同設計支持平臺上的一個主要協(xié)同設計系統(tǒng)。表2是該系統(tǒng)的運行環(huán)境。本發(fā)明有效地實現(xiàn)了協(xié)同裝配工藝規(guī)劃仿真。異地設計者可以方便、快速操作VRML格式的裝配體模型,通過3D模型進行直觀、有效的交流,充分表達設計者的設計理念,實時查看或修改裝配工藝設計結果,展開討論。還可利用系統(tǒng)內(nèi)置的碰撞沖突檢測工具對規(guī)劃結果進行自動檢測,發(fā)現(xiàn)設計沖突可即時調(diào)整規(guī)劃設計。最后生成的工藝設計文件可導出與其它設計系統(tǒng)集成。
表2 VIAVRML運行環(huán)境
實驗數(shù)據(jù)實際使用中,以對清華小衛(wèi)星NS-1的協(xié)同裝配工藝規(guī)劃為例,以往在這一設計環(huán)節(jié)耗時為45天,采用本發(fā)明所述方法耗時為13.5天,耗時大為減少。經(jīng)過多次實際應用得出,使用基于VRML模型的裝配工藝規(guī)劃方法與普通的協(xié)同設計規(guī)劃方法在操作效率方面對比結果如圖6所示。
圖1VRML動畫實現(xiàn)原理;圖2順序-路徑-時間矩陣圖;圖3基于約束的開環(huán)機構運動仿真;圖4基于約束的閉環(huán)機構運動仿真;圖5基于約束裝配工藝規(guī)劃仿真方法流程圖;圖6基于VRML的協(xié)同裝配工藝規(guī)劃與普通工藝規(guī)劃用時對比圖,由圖可見,普通工藝規(guī)劃方法采用串行工作方式,增加反復規(guī)劃次數(shù)和工作耗時;基于VRML模型的協(xié)同裝配工藝規(guī)劃采用同步討論,并行工作,用時減少為以往的30%。
具體實施例方式
基于約束的裝配工藝規(guī)劃仿真,多用于裝配體動態(tài)運行的仿真和裝配體安裝過程仿真。與無約束裝配工藝仿真不同,基于約束的裝配工藝規(guī)劃仿真的關鍵是約束的定義和指定。根據(jù)VRML模型的特點,將聯(lián)接約束分為滑動連接約束(Sliding connection constraint,SC)和轉(zhuǎn)動聯(lián)接約束(Rotating connection constraints,RC)。通過這兩種約束可以將裝配工藝準確地描述出來,如下面約束表達式所示Part_1={RC(Part_2)};表示Part_1通過一個轉(zhuǎn)動聯(lián)接約束與Part_2聯(lián)接。
Part_2={RC(Part_1),SC(Part_3)};表示Part_2在運動過程中所受的約束條件有兩個,一個是與Part_1的轉(zhuǎn)動聯(lián)接約束,另一個是與Part_3的滑動聯(lián)接約束。
本申請文件還將基于約束的裝配工藝仿真分為兩種機構類型開環(huán)機構和閉環(huán)機構。開環(huán)機構中的約束為不完全約束,前端部件的運動不受后端部件約束的影響;閉環(huán)機構中的約束為完全約束,所以在計算前端部件運動時應考慮后端部件的約束。以上兩種基于約束的運動仿真均難以在VRML模型環(huán)境中直接實現(xiàn),因為普通的CAD系統(tǒng)中運動是動力驅(qū)動(motion-driven),其約束關系在運動的同時得到滿足,而VRML模型中的運動是時間驅(qū)動(time-driven),其運動只與時間相關聯(lián),所以需要通過一些算法的計算實現(xiàn)與其它CAD系統(tǒng)類似的基于約束的運動,同時得到VRML模型的具體姿態(tài)。對以上兩種基于約束的機構類型實現(xiàn)方法有所不同。具體依次含有以下步驟(1)設定模型組部件成員,選擇裝配工藝仿真類型為基于約束仿真。因為在一個復雜裝配體中可能包含多個無約束仿真和約束仿真機構單元,而VRML標準對此沒有定義和描述,故首先應將進行分類;(2)指定聯(lián)接約束。將VRML模型中的機構用預先定義好的滑動聯(lián)接約束和轉(zhuǎn)動聯(lián)接約束進行描述;對于開環(huán)機構,例如圖3機構,圖中各部件為Part_1(部件_1),Part_2(部件_2),Part_3(部件_3),Part_4(部件_4),Part_5(部件_5),其聯(lián)接關系可表述為Part_1={RC(Part_2)};Part_2={RC(Part_1),RC(Part_3)};Part_3={RC(Part_2),RC(Part_4)};Part_4={RC(Part_3),RC(Part_5)};Part_5={RC(Part_4)}.
其運動環(huán)中初始(Part_1)和末尾(Part_5)的部件只受一個約束條件限制,故為開環(huán)機構。
對于閉環(huán)機構,例如圖4機構,圖中裝配體中各部件為底座(Base),搖桿_1(Rocker_1),搖桿_2(Rocker_2),滑塊_1(Slider_1),滑塊_2(Slider_2)的聯(lián)接關系可表述為Base={SC(Slider_1),SC(Slider_2)};Slider_1={SC(Base),RC(Rocker_1)};Slider_2={SC(Base),RC(Rocker_2)};Rocker_1={RC(Slider_1),RC(Rocker_2)};Rocker_2={RC(Slider_2),RC(Rocker_1)}.
其運動環(huán)中所有的部件均受兩個約束條件限制,故為閉環(huán)機構。
(3)指定機構仿真類型,為開環(huán)機構或閉環(huán)機構。按著不同的算法進行位置姿態(tài)的計算,得出不同時刻、不同位置下各個部件的位置參數(shù);基于以上約束表達式,采用數(shù)學關系式計算各部件在運動中的位置。設TRot_i表示旋轉(zhuǎn)矩陣,TTrn_i表示平移矩陣,TTrn_i和TRot_i式與VRML模型參數(shù)關系如式(1),(2)所示,其中R(Rx,Ry,Rz)為旋轉(zhuǎn)域中的旋轉(zhuǎn)軸,θ為旋轉(zhuǎn)域中的旋轉(zhuǎn)角,Δx,Δy,Δz為平移域中在x,y,z方向上平移的值。
TTm_i=100001000010ΔxΔyΔz1---(1)]]>TRot_i=Rx2+(1-Rx2)cosθRx·Ry(1-cosθ)+Rz·sinθRx·Rz(1-cosθ)-Ry·sinθ0Rx·Ry(1-cosθ)-Rz·sinθRy2+(1-Ry2)cosθRy·Rz(1-cosθ)+Rx·sinθ0Rx·Rz(1-cosθ)+Ry·sinθRy·Rz(1-cosθ)-Rx·sinθRz2+(1-Rz2)cosθ00001---(2)]]>對于開環(huán)機構,設PPart_1表示Part_1上任意一點,PPart_1′表示經(jīng)過一次位置變換后PPart_1的位置,其它部件依此類推。圖3中所示裝配體的運動可用式(3)表達PPart_1′=TRot_1PPart_1PPart_2′=TRot_2TRot_1PPart_2PPart_3′=TRot_3TRot_2TRot_1PPart_3PPart_4′=TRot_4TRot_3TRot_2TRot_1PPart_4PPart_5′=TRot_5TRot_4TRot_3TRot_2TRot_1PPart_5---(3)]]>上式中,TRot_1為部件Part_1的旋轉(zhuǎn)變換矩陣,TRot_2為部件Part_2關于Part_1的旋轉(zhuǎn)變換矩陣,依此類推。在此類開環(huán)約束機構中,旋轉(zhuǎn)軸和旋轉(zhuǎn)角度以及平移量作為已知條件可以得到,所以旋轉(zhuǎn)或平移變換矩陣也是已知的,因此各個部件經(jīng)過變換后的狀態(tài)可以直接計算得出。
對于閉環(huán)機構,設P1,P2,P3為三個聯(lián)接點,如圖4中所示,設P1′,P2′,P3′為P1,P2,P3運動后的新位置。它們滿足如下關系P1′=TRot_1P1P2′=TRot_1P2P2′=TRot_1TRot_2P2P3′=TRot_1TRot_2P3---(4)]]>約束條件P3′=TTrn_3P3.
上式中,TRot_1為部件rocker_1的旋轉(zhuǎn)變換矩陣,TRot_2為部件rocker_2關于rocker_1的旋轉(zhuǎn)變換矩陣,TTrn_3為slider_2的平移變換矩陣。如果給定一些初始條件,通過上述關系式和約束條件,便可以計算得出變換矩陣TRot_2和TTrn_1。然后由關系式(4),(5)將之轉(zhuǎn)換為VRML模型可用的平移域值和旋轉(zhuǎn)域值。通過約束計算,自動得到不同時間點、不同初始位置條件下各個部件的姿態(tài)參數(shù)。
(4)將計算結果生成時間-順序-路徑矩陣。即如圖2所示,PKp11,PKp21,PKp31,PKp41,...是Prt1在如圖2陰影時間段中的一系列關鍵位置點,類似給出其它部件不同時段的關鍵位置;(5)將關鍵幀分別寫入VRML文件的中各個部件模型的插補器(Interpolator)中(參見表1),即關鍵點和關鍵位置值寫入插補器的Key和KeyValue域中,然后添加時間傳感器(TimeSensor),在時間傳感器和位置傳感器之間添加路由,在位置傳感器和模型造型節(jié)點之間添加路由,生成仿真動畫。
約束裝配工藝規(guī)劃仿真方法流程如圖5所示。
這種基于約束裝配工藝規(guī)劃方法的優(yōu)點在于(1)通過數(shù)學表達式關聯(lián)各離散裝配部件。改變了以往將每一個部件的若干關鍵位置計算出來輸入VRML模型形成仿真動畫的方法,使用變換矩陣將部件與部件之間的運動關聯(lián)起來,使之與普通CAD中的動態(tài)裝配仿真相類似;(2)分組化VRML裝配體裝配仿真。將復雜的VRML裝配體按照仿真機構的類型和裝配的關系劃分為若干個子裝配過程,降低工藝規(guī)劃復雜程度,并對開環(huán)約束仿真和閉環(huán)約束仿真分別處理;(3)與VRML的緊密集成。設計者通過交互拾取信息,提供必要的計算條件,如無約束裝配仿真中的旋轉(zhuǎn)軸、旋轉(zhuǎn)角和平移量,約束裝配仿真中的約束件和初始化條件,通過自動數(shù)學計算得到仿真過程中各部件的若干姿態(tài)數(shù)據(jù),最終傳入VRML模型中構造仿真動畫。
權利要求
1.基于VRML模型的有約束協(xié)同裝配工藝規(guī)劃的仿真方法,其特征在于,所述裝配工藝規(guī)劃是指裝配體動態(tài)運行和裝配體安裝過程的規(guī)劃;所述仿真方法是在基于TCP/IP協(xié)議的網(wǎng)絡環(huán)境中通過在各用戶端的計算機配置用VRML表示的虛擬現(xiàn)實建模語言的格式文件后的設計者與設計環(huán)境交互的方式實現(xiàn)仿真的,所述的方法依次含有以下步驟步驟1.在計算機中設定以下兩種聯(lián)接約束的類型滑動聯(lián)接約束,其約束表達式為Part_1={SC(Part_2)},表示Part_1通過滑動聯(lián)接約束與Part_2聯(lián)接;轉(zhuǎn)動聯(lián)接約束,其約束表達式為Part_1={RC(Part_2)},表示Part_1通過轉(zhuǎn)動聯(lián)接約束與Part_2聯(lián)接;Part_2={RC(Part_1),RC(Part_3)},表示Part_2在運動過程中所受的約束條件有兩個,一個是與Part_1的轉(zhuǎn)動聯(lián)接約束,另一個是與Part_3的轉(zhuǎn)動聯(lián)接約束;所述Part是表示要轉(zhuǎn)動的零部件;步驟2.計算機根據(jù)要進行有約束裝配仿真的對象選定有約束仿真裝配體模型,該模型是要裝配的各零部件的組合;步驟3.計算機指定開環(huán)機構或閉環(huán)機構中各零部件與它的前端部件和后端部件的轉(zhuǎn)動聯(lián)接和滑動聯(lián)接的約束類型所述開環(huán)機構是指前端部件運動不受后端部件約束的影響的機構,所述前端部件和后端部件分別表示所述機構的各部件聯(lián)接約束關系中的位于始端和末端的部件;所述閉環(huán)機構是指在計算前端部件運動時應考慮后端部件的約束;步驟4.計算機根據(jù)機構的仿真類型,基于相應的約束表達式,采用下述公式計算各零部件在運動中的位置參數(shù)設TTrn_i表示平移矩陣,TRot_i表示旋轉(zhuǎn)矩陣,TTrn_i和TRot_i與所述VRML模型的位置參數(shù)的關系分別如下式所示TTrn_i=100001000010ΔxΔyΔz1]]>TRot_i=Rx2+(1-Rx2)cosθRx·Ry(1-cosθ)+Rz·sinθRx·Rz(1-cosθ)-Ry·sinθ0Rx·Ry(1-cosθ)-Rz·sinθRy2+(1-Ry2)cosθRy·Rz(1-cosθ)+Rx·sinθ0Rx·Rz(1-cosθ)+Ry·sinθRy·Rz(1-cosθ)-Rx·sinθRz2+(1-Rz2)cosθ00001]]>計算機根據(jù)給定的初始位置參數(shù),計算各個零部件依照聯(lián)接約束求得運動后的平移矩陣或旋轉(zhuǎn)矩陣,再根據(jù)各部件的聯(lián)接約束關系式求得運動后的新位置,自動獲得不同時間點、不同初始位置條件下各個零部件的姿態(tài)參數(shù);步驟5.把步驟4得到的計算結果生成每個零部件的時間—順序—路徑矩陣,按時間段形成關鍵幀;步驟6.把表示不同關鍵點的關鍵幀分別以逆序?qū)懭胨鯲RML文件中各個部件模型的插補器中,把關鍵點值和關鍵位置值寫入所述插補器的Key和KeyValue中,再添加時間傳感器,在時間傳感器和位置傳感器之間添加路由,在位置傳感器和零部件的造型節(jié)點之間添加路由,生成仿真畫面。
全文摘要
本發(fā)明屬于CAD協(xié)同產(chǎn)品設計技術領域,其特征在于在網(wǎng)絡環(huán)境下,設計者依托裝在節(jié)點機上的三維VRML模型,以設計者與設計場景交互方式按照以下步驟實現(xiàn)有約束協(xié)同裝配工藝規(guī)劃設定滑動轉(zhuǎn)動聯(lián)接約束;選定仿真裝配體模型;確定開環(huán)或閉環(huán)機構中各零部件與它的前端和后端部件的約束類型;計算各零部件在運動過程中的平移和轉(zhuǎn)動矩陣,再根據(jù)相應的約束計算運動過程中各零部件的位置參數(shù);再據(jù)此生成零部件的時間-順序-路徑矩陣,按時間段形成關鍵幀;把各關鍵幀分別以逆序?qū)懭隫RML各部件模型的插補器,依次在時間傳感器和位置傳感器之間、位置傳感器和零部件造型節(jié)點間加入路由,生成仿真畫面。本發(fā)明顯著提高了設計效率。
文檔編號G06F17/50GK1746896SQ20051008661
公開日2006年3月15日 申請日期2005年10月14日 優(yōu)先權日2005年10月14日
發(fā)明者田凌, 王巧玉 申請人:清華大學