田富君,張紅旗,張祥祥,陳興玉
(中國電子科技集團公司 第三十八研究所,合肥 230088)
為了提高裝配質量和裝配效率,降低裝配成本及產(chǎn)品的開發(fā)周期,人們對計算機輔助裝配工藝設計進行了大量的研究,在裝配信息建模、裝配序列規(guī)劃、裝配路徑規(guī)劃等方面取得了一定的成果,并逐步應用到企業(yè)實際生產(chǎn)當中。然而,目前我國大部分企業(yè)仍然采用傳統(tǒng)的二維工藝文件,二維工藝文件只能包含文字描述、二維裝配圖等靜態(tài)的二維工藝信息,文字描述信息很難對復雜的裝配過程進行明確的描述,二維裝配圖通常作為文字描述的補充,只能對零部件的局部裝配結構關系進行示意性表達,對于零部件的裝配過程、裝配路徑則不能表達,不利于操作人員快速理解產(chǎn)品的裝配過程,時常需要裝配工藝設計人員現(xiàn)場指導。
隨著三維裝配工藝設計與仿真系統(tǒng)在企業(yè)中的逐步應用,三維裝配工藝文件已經(jīng)成為企業(yè)的迫切需求。為了實現(xiàn)裝配工藝設計與仿真信息的現(xiàn)場發(fā)布,國內外學者對裝配工藝信息發(fā)布技術進行了研究,取得了一定的研究成果。王成恩等[1]和劉檢華等[2]分別開發(fā)了專用的裝配工藝信息瀏覽器,實現(xiàn)了工藝信息查看和裝配仿真視頻的播放功能,然而,這種仿真視頻無法與現(xiàn)場裝配操作人員進行交互。夏平均等[3]在Solid Works上面開發(fā)了一個裝配現(xiàn)場示教系統(tǒng),Lei Chen等[4]和吳東琦等[5]分別以3DVIA Composer控件為三維模型瀏覽器,開發(fā)了一個三維裝配指令系統(tǒng),實現(xiàn)了對三維模型的現(xiàn)場交互操作和仿真,但依賴于特定的三維模型瀏覽器。為了實現(xiàn)產(chǎn)品全生命周期內三維模型的重用和共享,各軟件廠商推出了許多輕量化格式,如達索的3DXML格式、西門子的JT格式、PTC公司的PVS格式、Adobe的通用3D(Universal 3D,U3D)格式[6]。其中,U3D格式獨立于任何計算機輔助設計(Computer Aided Design, CAD)平臺,可以將其他CAD格式轉換為U3D格式,解決了其他格式在異構平臺下不兼容的問題。此外,Adobe公司的便攜文件格式(Portable Document Format, PDF)是一種通用文件格式,其跨平臺、跨語言、跨軟件的特性, 可以使其運行于不同的操作系統(tǒng)和不同的程序語言版本中,已成為電子文檔長期保存格式的國家標準。Adobe Acrobat 7.0之后版本支持U3D文件格式的輕量化模型,為本文的研究提供了基礎。本文通過對U3D標準的研究,提出了一種三維輕量化裝配工藝文件的生成方法,并對實現(xiàn)的關鍵技術進行了深入的研究。
三維裝配工藝文件的生成過程如圖1所示,包括工藝模板的定制、工藝信息的處理、輕量化模型的嵌入、三維裝配仿真動畫的映射、仿真動畫控制代碼的生成五部分。
圖1 三維裝配工藝文件生成過程
1)工藝模板的定制:不同企業(yè)的裝配工藝文件在頁面布局等外觀形式上存在著差異,因此,就需要針對企業(yè)的需求,為企業(yè)定制符合該企業(yè)實際要求的工藝模板。
2)工藝信息的處理:將裝配工藝設計與仿真系統(tǒng)產(chǎn)生的工藝信息以可擴展標記語言(eXtensible Markup Language, XML)文件導出,并對XML文件進行解析,將工藝信息插入到工藝模板對應的位置。
3)輕量化模型嵌入:將裝配體的三維模型轉換為U3D格式的輕量化模型,并以3D注釋的形式嵌入到工藝模板的特定位置。
4)三維裝配仿真動畫的映射:對裝配工藝設計與仿真產(chǎn)生的裝配路徑信息進行解析,轉換成U3D模型的裝配仿真動畫信息。
5)仿真動畫控制代碼的生成:生成控制三維裝配仿真動畫的代碼,并將仿真動畫控制代碼與裝配工步關聯(lián)起來,實現(xiàn)對仿真過程的控制,使其按照工步去仿真。
裝配工藝信息模型是裝配工藝文件信息的來源,但裝配工藝信息模型包含產(chǎn)品的結構信息、裝配工藝信息、裝配仿真信息,這些信息包含了很多裝配工藝設計的過程性信息,這些過程性信息一般不體現(xiàn)在裝配工藝文件當中。此外,裝配工藝文件需要對裝配工藝信息模型當中的信息進行匯總,這些匯總信息包括工藝路線信息、零部件配套信息、儀器設備信息、工裝信息等。為此,本文通過對裝配工藝信息模型進行分析,建立了裝配工藝發(fā)布信息模型,如圖2所示。
圖2 裝配工藝發(fā)布信息模型
裝配工藝發(fā)布信息模型包括管理信息、匯總信息和詳細的裝配工藝信息。管理信息包括裝配工藝規(guī)程代號、裝配工藝規(guī)程名稱、工藝版次、產(chǎn)品型號、部(組)件號、編制單位等信息;匯總信息包括工藝路線信息、零部件配套信息、儀器設備匯總信息、工裝匯總信息。工藝路線信息是裝配工序的匯總,工藝人員不查看詳細的裝配工序內容即可以獲取總體的裝配過程。零部件配套信息是指裝配過程所需要的全部零部件信息的集合,從各裝配工序的配套零部件信息中匯總而得到。儀器設備匯總信息是裝配過程中所使用的儀器設備的集合,從各裝配工序的儀器設備信息中匯總得到。工裝匯總信息包含了裝配過程中所使用的工裝的全部集合,從裝配工步的工裝信息中匯總得到;裝配工序包含工序的零部件配套信息、儀器設備信息、詳細的裝配工步信息和裝配仿真動畫信息,是指導工人裝配的重要依據(jù)。
U3D格式的輕量化模型的數(shù)據(jù)結構如圖3所示。零件列表唯一記錄了裝配結構中的零件信息,裝配體結構中的多個零件可以引用零件列表中的同一個零件。零件列表中的零件記錄了零件的幾何信息,而裝配結構樹中的零件記錄了零件的位姿矩陣信息以及零件的一些屬性信息。例如,裝配結構信息中的零件(1)和零件(2)引用了零件列表中的同一個零件,零件(1)和零件(2)具有相同的幾何信息,但它們具有不同的位姿矩陣,這樣,零件(1)和零件(2)就處于場景中的不同位置。零件列表中的零件是類,而裝配結構樹中的零件是零件列表中零件的一個實例。
在U3D中,仿真動畫信息存儲于動畫資源當中,每一個裝配單元通常對應一個動畫資源,每個動畫資源包含多個裝配路徑信息,每個裝配路徑由一系列的關鍵幀組成,每個關鍵幀記錄了裝配單元的旋轉、位置、縮放和時間信息,如圖3所示。
在PDF當中,輕量化模型以3D注釋的形式存儲于頁面當中,在PDF頁面當中插入3D注釋的步驟如下[7]:
步驟1:新建3D注釋,指定3D注釋插入的頁碼,以及3D注釋在頁面中的位置。
步驟2:聲明3D數(shù)據(jù)流,并建立包含有U3D格式工藝模型的3D數(shù)據(jù)流對象,然后將流對象加入注釋字典,創(chuàng)建特征字典并聲明用于模型控制的JavaScript腳本代碼;
步驟3:設定默認視圖,包括指定了3D 模型的初始視圖,方位、位置、坐標轉換、背景、渲染模式、光照、節(jié)點等參數(shù)信息;
步驟4:設定注釋外觀,提供一個沒有激活3D模型的注釋外觀用于不支持3D模型的場景;
步驟5:設定激活字典,聲明在何種方式下3D模型會被激活。
裝配過程仿真確定裝配單元裝配到指定位置的運動路徑,是位姿矩陣不斷變化的過程。位姿矩陣確定了裝配單元在空間中的位置和姿態(tài),位姿矩陣由4×4矩陣來表示:
圖3 輕量化模型數(shù)據(jù)結構
在裝配路徑規(guī)劃過程當中,裝配單元的運動(包括移動和轉動)等價于位姿矩陣P經(jīng)過一次矩陣變換,到達新的位姿矩陣 ,其變換過程可以表示為:
在U3D中,裝配仿真動畫是由裝配單元與動畫資源相關聯(lián)形成的,因此,可以將裝配動畫
每個動畫資源由一個或多個裝配路徑組成:
每一個裝配路徑由一系列的關鍵幀組成:
關鍵幀包含了旋轉、位置、縮放、時間等信息,可以表示為:
其中T表示該關鍵幀所處的時間,單位為秒,時間信息通過解析裝配路徑仿真信息獲?。籖確定關鍵幀在世界坐標系中的方向矢量,可以用公式表示為:
D確定關鍵幀原點在世界坐標系中的位置,可以表示為:
確定關鍵幀沿三個坐標軸的縮放比例,可以表示為:
為了實現(xiàn)裝配過程仿真到U3D中裝配仿真動畫的映射,就需要由裝配單元的位姿矩陣P求出關鍵幀的旋轉、位置、縮放分量,計算公式如下:
1)旋轉分量的計算
2)位置分量的計算
3)縮放分量的計算
一個裝配工序對應一個裝配仿真動畫信息,為了實現(xiàn)裝配工步和仿真動畫信息的關聯(lián),使裝配的操作人員能夠按照裝配工步查看裝配過程,需要生成裝配仿真動畫控制代碼,裝配仿真動畫控制代碼的生成過程如下:
步驟1:按照零部件的裝配順序,獲取裝配工步的零部件配套信息,假設裝配工
步驟2:獲取配套零部件的仿真動畫信息,得到第一個零部件裝配路徑的起點關鍵幀的時間信息,以及最后一個零部件裝配路徑的終點關鍵幀時間信息。例如,零部件裝配路徑的起點關鍵幀的時間為
步驟3:根據(jù)起點關鍵幀時間和終點關鍵幀時間,生成該裝配工步的仿真動畫控制代碼,將其
基于上述方法,作者利用Acrobat SDK工具集,開發(fā)了一個三維裝配工藝文件生成工具,該工具可以將裝配工藝規(guī)劃與仿真系統(tǒng)產(chǎn)生的裝配工藝信息和仿真信息進行解析,形成用于車間發(fā)布的可操作的三維裝配工藝文件。本文的三維裝配工藝規(guī)劃與仿真工作是在Tecnomatix系統(tǒng)當中完成的,通過對Tecnomatix系統(tǒng)進行二次開發(fā),將裝配工藝信息和仿真信息輸出到XML文件當中,然后PDF讀取該XML文件信息,在解析XML的過程當中,根據(jù)需要合并工藝模板(每一個工藝模板都是一個獨立的文件,如裝配封面模板、裝配工藝路線卡、裝配工序卡等)并將工藝信息寫入,最終形成一本完整的裝配工藝文件。
如圖4所示為一三維裝配工序卡,左側窗口為裝配結構樹,右側為一裝配工序卡實例,該裝配工序卡總體上分為三個區(qū)域:表頭信息、工藝信息和三維模型信息。工藝信息包含工序信息和工步信息,工序信息采用兩個列表框來顯示工序的零部件配套信息和本工序所使用的儀器設備信息。工步信息包含了工步列表,工步操作說明和工裝信息,當裝配操作人員點擊工步列表中的工步時,工步操作說明文本框則顯示所選工步的操作說明信息,工裝信息列表框會顯示出工步所用到的工裝信息;三維模型顯示區(qū)域可以交互瀏覽三維模型,三維模型顯示區(qū)域上面的工具條是3D注釋自帶的工具條,可以對三維模型進行旋轉、縮放、平移、測量等操作。三維模型顯示區(qū)域下面的幾個按鈕為仿真控制按鈕,例如,操作人員選擇一個工步,點擊播放按鈕,即可對該工步的裝配過程進行仿真,在仿真過程當中,可以對三維模型進行縮放、旋轉、平移等操作,以便更好地觀察裝配過程。此外,在仿真過程當中可以暫停、停止仿真,并可以對仿真速度進行調整。
裝配工藝文件是裝配工藝信息的載體,是裝配人員進行裝配操作的重要依據(jù),具有十分重要的地位。為了實現(xiàn)三維裝配工藝設計與仿真信息向下游延伸,本文提出了一種三維裝配工藝文件生成方法,并對三維模型嵌入、三維裝配仿真動畫映射、裝配仿真動畫控制代碼生成等關鍵技術進行了研究。目前,作為電子簽名的工具,PDF格式的二維工藝文件廣泛應用于企業(yè)的產(chǎn)品數(shù)據(jù)管理系統(tǒng)當中,本文研究的三維工藝文件可以替代傳統(tǒng)的二維工藝文件,具有良好的應用前景。
圖4 三維裝配工序卡實例
[1] 王成恩,于宏,于嘉鵬,等.復雜產(chǎn)品裝配規(guī)劃系統(tǒng)[J].計算機集成制造系統(tǒng),2011,17(5):952-960.
[2] 劉檢華,寧汝新,萬畢樂.面向生產(chǎn)現(xiàn)場的虛擬裝配工藝規(guī)劃技術[J].計算機集成制造系統(tǒng),2007,13(1):67-73.
[3] 夏平均,姚英學,李建廣,等.三維數(shù)字化裝配工藝系統(tǒng)的研究[J].哈爾濱工業(yè)大學學報,2005,37(1):36-39.
[4] CHEN Lei, DENG Mingran, JIANG Zhengfeng. Study on visual assembly process planning system based on 3DVIA composer[J]. Advanced Materials Research, 2011,179-180: 734-739.
[5] 吳東琦,朱文華,王琛,等.飛機三維裝配大綱技術研究[J].現(xiàn)代機械,2010,(1):45-48.
[6] 田富君,田錫天,李洲洋,等.基于輕量化模型的CAD/CAPP系統(tǒng)集成技術研究[J].計算機集成制造系統(tǒng),2010,16(3):521-526.
[7] 于小龍,賈曉亮,耿俊浩,等.基于輕量化模型的三維裝配工藝文件生成方法[J].中國制造業(yè)信息化,2011,40(13):15-18.