張 楊,劉曉軍,倪中華,程亞龍,劉金鋒
ZHANG Yang1,2, LIU Xiao-jun1,2, NI Zhong-hua1,2, CHENG Ya-long1,2, LIU Jin-feng1,2
(1.東南大學(xué) 江蘇省微納生物醫(yī)療器械設(shè)計(jì)與制造重點(diǎn)實(shí)驗(yàn)室,南京 211189;2.東南大學(xué) 機(jī)械工程學(xué)院,南京 211189)
裝配工藝結(jié)構(gòu)樹(shù)是按照工藝結(jié)構(gòu)模板進(jìn)行裝配工藝設(shè)計(jì)的樹(shù)形結(jié)構(gòu),工藝結(jié)構(gòu)樹(shù)有助于提高工藝設(shè)計(jì)效率,因而得到了廣泛應(yīng)用。當(dāng)前,國(guó)內(nèi)外很多典型的裝配工藝設(shè)計(jì)系統(tǒng)都采用工藝結(jié)構(gòu)樹(shù)進(jìn)行工藝設(shè)計(jì),如哈爾濱工藝大學(xué)渦輪泵三維數(shù)字化裝配工藝系統(tǒng)的裝配模型樹(shù)[1],南京航空航天大學(xué)的基于DELMIA數(shù)字化裝配工藝設(shè)計(jì)系統(tǒng)的PPR樹(shù)[2],南京理工大學(xué)的戴國(guó)洪等學(xué)者提出的裝配工藝APS樹(shù)[3],哈爾濱工業(yè)大學(xué)的I-VADS系統(tǒng)的工藝目錄樹(shù)[4];新加坡南洋理工大學(xué)的V_REALISM系統(tǒng)的BSP樹(shù)[5],Lee和Gossard將裝配體產(chǎn)品分解,得到由“虛鏈”連接起來(lái)的裝配結(jié)構(gòu)樹(shù)[6,7]。這些工藝結(jié)構(gòu)樹(shù)按照不同的工藝結(jié)構(gòu)模板進(jìn)行工藝設(shè)計(jì),探索了不同的工藝設(shè)計(jì)方法,提升了工藝設(shè)計(jì)效率。
工藝流程圖是用圖表符號(hào)形式,表達(dá)產(chǎn)品在工藝過(guò)程中的部分或全部階段所完成的工作[8];在工藝設(shè)計(jì)完成后,工藝人員利用工藝流程能有效的管理裝配工藝信息。國(guó)內(nèi)相關(guān)單位對(duì)工藝流程進(jìn)行了研究,主要集中在利用流程圖定制工具繪制流程圖,流程節(jié)點(diǎn)信息的鏈接和工藝流程的應(yīng)用等方面,取得了有益的成果。如北京衛(wèi)星環(huán)境工程研究所的裝配工藝流程可視化系統(tǒng)[9],北京理工大學(xué)的計(jì)算機(jī)輔助裝配過(guò)程控制與管理軟件系統(tǒng)VPPC[10](Visual Production Process Control)。裝配工藝流程具有如下優(yōu)點(diǎn):1)工藝流程比較直觀(guān),符合使用習(xí)慣,人機(jī)交互性比較好;2)工藝流程能直觀(guān)的展示裝配順序,并支持并行的裝配過(guò)程表達(dá);3)工藝流程有利于工藝人員有效管理和快速查看工藝信息;4)工藝流程有利于工藝設(shè)計(jì)過(guò)程的追溯和回溯。
因此,在裝配工藝系統(tǒng)中,通常利用裝配工藝結(jié)構(gòu)樹(shù)進(jìn)行裝配工藝設(shè)計(jì),利用裝配工藝流程進(jìn)行裝配工藝信息管理。然而,對(duì)于如何將裝配工藝結(jié)構(gòu)樹(shù)映射為裝配工藝流程且快速自動(dòng)地生成裝配工藝流程圖的方法,當(dāng)前還鮮有研究。鑒于此,結(jié)合自主開(kāi)發(fā)的裝配工藝設(shè)計(jì)系統(tǒng),本文給出了將裝配工藝結(jié)構(gòu)樹(shù)映射為裝配工藝流程的方法,該方法能自動(dòng)生成裝配工藝流程。
MBD(Model Based Definition),即基于模型的定義,是一個(gè)用集成的三維實(shí)體模型來(lái)完整表達(dá)產(chǎn)品定義信息的方法體,它詳細(xì)規(guī)定了三維實(shí)體模型中產(chǎn)品尺寸、公差的標(biāo)注規(guī)則和工藝信息的表達(dá)方法[11]。MBD模型應(yīng)用于裝配工藝設(shè)計(jì),使得三維實(shí)體模型成為裝配過(guò)程中工藝數(shù)據(jù)信息的唯一來(lái)源,改變了傳統(tǒng)以工程圖紙為主要依據(jù)的裝配方法,是裝配工藝設(shè)計(jì)技術(shù)發(fā)展的新趨勢(shì)。
在基于三維模型的裝配工藝設(shè)計(jì)系統(tǒng)中,工藝人員首先進(jìn)行裝配工藝建模,依據(jù)產(chǎn)品設(shè)計(jì)模型確定工藝方案;然后利用裝配工藝結(jié)構(gòu)樹(shù)進(jìn)行裝配工藝規(guī)劃,并對(duì)工藝規(guī)劃結(jié)果進(jìn)行仿真;最后生成裝配工藝文件。
裝配序列規(guī)劃是工藝規(guī)劃的重要內(nèi)容。產(chǎn)品結(jié)構(gòu)反映產(chǎn)品中各零部件之間組成和層次關(guān)系,低層級(jí)零部件總是先于高層級(jí)零部件進(jìn)行工藝設(shè)計(jì)。因而,產(chǎn)品結(jié)構(gòu)包含了一定的裝配序列信息,工藝人員可以依據(jù)產(chǎn)品結(jié)構(gòu)信息,進(jìn)行裝配序列規(guī)劃。
在裝配工藝建模時(shí),保存了產(chǎn)品的結(jié)構(gòu)信息和零部件模型信息。在工藝規(guī)劃過(guò)程中,借助工藝結(jié)構(gòu)樹(shù)進(jìn)行工藝設(shè)計(jì),生成了多種工藝數(shù)據(jù)集,包括裝配序列、裝配路徑、工藝標(biāo)注、工藝裝備、輔助工藝等信息;工藝數(shù)據(jù)集按一定的方式組織存儲(chǔ)構(gòu)成裝配工藝模型。裝配工藝模型信息集合如圖1所示。
圖1 裝配工藝模型信息
在裝配工藝設(shè)計(jì)過(guò)程中,利用裝配工藝結(jié)構(gòu)樹(shù)描述、存儲(chǔ)工藝設(shè)計(jì)數(shù)據(jù)集,最終生成產(chǎn)品的裝配工藝。產(chǎn)品的裝配工藝通常由裝配工序、裝配工步組成。裝配工藝結(jié)構(gòu)樹(shù)的數(shù)據(jù)結(jié)構(gòu)如下:
1)裝配工序是裝配工藝的基本組成單元,它的含義與一般工序的定義一致。在工藝結(jié)構(gòu)樹(shù)中,裝配工序的基本組成如下:
LO是工序?qū)ο罅斜恚硎井?dāng)前工序下所有待裝配零部件。根據(jù)產(chǎn)品結(jié)構(gòu),工序?qū)ο罅斜碇械牧悴考仨毷窍嗤考碌耐?jí)子零部件。
LP是裝配工步序列,LP由工序下所有待裝配零部件的裝配過(guò)程按照工步劃分規(guī)則進(jìn)行細(xì)分得到。
2)裝配工步是裝配工藝信息的基本載體,它的含義與一般工步的定義一致。在工藝結(jié)構(gòu)樹(shù)中,裝配工步的組成如下:
OA是裝配對(duì)象,它是當(dāng)前工步下需要裝配的零部件。
IA是裝配信息,它是工藝設(shè)計(jì)過(guò)程中產(chǎn)生和由工藝人員補(bǔ)充的工藝信息。
3)裝配信息由各種工藝信息組成。在工藝結(jié)構(gòu)樹(shù)中,裝配信息的組成如下:
AA是裝配活動(dòng),它表示模擬零部件裝配過(guò)程的三維動(dòng)畫(huà)展示;
IAP是輔助工藝信息,它表示零部件常用的裝配操作方法、特殊零部件的處理方法及設(shè)計(jì)人員的經(jīng)驗(yàn);
DP是工藝標(biāo)注,它表示零部件在裝配過(guò)程中,與裝配工藝相關(guān)的標(biāo)注特征信息,包括尺寸、公差、粗糙度、注釋等;
EP是工藝裝備,它表示零部件在裝配過(guò)程中用到的夾具、工具、量具等。
在實(shí)際裝配中,一個(gè)復(fù)雜產(chǎn)品的裝配過(guò)程通常是按照先組裝、再部裝、后總裝的順序進(jìn)行的。在裝配工藝結(jié)構(gòu)樹(shù)中,工藝人員不一定按照實(shí)際裝配過(guò)程進(jìn)行工藝設(shè)計(jì),即組裝和部裝工藝設(shè)計(jì)可能交替進(jìn)行,這減小了工藝設(shè)計(jì)的限制,人機(jī)交互性更好。裝配工藝結(jié)構(gòu)樹(shù)如圖2所示。
工藝設(shè)計(jì)完成后,采用何種方式管理裝配工藝信息,將直接影響工藝人員的工作效率。工藝結(jié)構(gòu)樹(shù)的自身特性不利于工藝信息的管理,而工藝流程圖不僅克服了工藝結(jié)構(gòu)樹(shù)的缺點(diǎn),并且在工藝信息管理中具有優(yōu)勢(shì)。為此,本文將工藝流程圖應(yīng)用于裝配工藝信息的組織和管理中,以解決上述問(wèn)題。
產(chǎn)品的裝配過(guò)程分為三個(gè)階段,包括組裝階段、部裝階段、總裝階段;裝配過(guò)程可以由一組串(并)聯(lián)混合而成的裝配鏈表組成;因此,產(chǎn)品的裝配工藝可以由一系列流程節(jié)點(diǎn)組成的裝配工藝流程圖來(lái)表示。
在裝配工藝流程中,將包含一個(gè)或多個(gè)零部件裝配過(guò)程信息的單元定義為工藝流程節(jié)點(diǎn);工藝流程節(jié)點(diǎn)是裝配工藝流程的基本組成元素,串并行工藝流程節(jié)點(diǎn)構(gòu)成裝配工藝流程。工藝流程節(jié)點(diǎn)能鏈接裝配對(duì)象三維模型、裝配動(dòng)畫(huà)、裝配標(biāo)注信息、工藝裝備和輔助工藝信息等相關(guān)工藝信息。
裝配工藝流程不只是簡(jiǎn)單的單個(gè)流程,對(duì)于不同的裝配階段,如組裝階段、部裝階段和總裝階段,工藝流程可以用組裝工藝流程、部裝工藝流程和總裝工藝流程分別表示。對(duì)于不同裝配階段的工藝流程,其工藝流程節(jié)點(diǎn)的裝配對(duì)象可能存在父子關(guān)系,某個(gè)工藝流程節(jié)點(diǎn)可由其子零部件所在的工藝流程構(gòu)成,工藝流程之間存在組成和層次關(guān)系,因而,總裝工藝流程可以由部裝工藝流程組成,部裝工藝流程可以由組裝工藝流程組成。裝配工藝流程示意圖如圖3所示,流程節(jié)點(diǎn)間的連接箭頭表示裝配操作方向;流程節(jié)點(diǎn)的先后順序表示節(jié)點(diǎn)中裝配對(duì)象的裝配順序;并行的流程節(jié)點(diǎn)表示其裝配對(duì)象可同時(shí)進(jìn)行裝配。
圖2 裝配工藝結(jié)構(gòu)樹(shù)
工藝流程節(jié)點(diǎn)作為裝配工藝流程的基本組成單元,它的數(shù)據(jù)結(jié)構(gòu)如下:
3.1.1 PIP5Ks基因家族各成員核酸序列分析 在NCBI搜索[15]PIP5K得到蓖麻PIP5Ks基因家族各成員的參考序列,并于表1中列出。通過(guò)初步分析從數(shù)據(jù)庫(kù)下載的7個(gè)蓖麻PIP5K基因(表2)可以看到,除了PIP5K11的序列全長(zhǎng)為1 501 bp,其他基因的序列全長(zhǎng)均在2 853~3 246 bp。PIP5K11的序列全長(zhǎng)為其他序列的二分之一左右,其編碼的多肽鏈也因此較短。
Name是節(jié)點(diǎn)名稱(chēng),表示節(jié)點(diǎn)在工藝流程中的顯示名稱(chēng);
L是節(jié)點(diǎn)層級(jí),為將工藝流程節(jié)點(diǎn)放入相應(yīng)層級(jí)的工藝流程鏈表中提供數(shù)據(jù);
ON表示該工藝流程節(jié)點(diǎn)需要裝配的零部件;ID是工藝流程節(jié)點(diǎn)的標(biāo)識(shí),具有唯一性;
ParID是父級(jí)工藝流程節(jié)點(diǎn)的標(biāo)識(shí),具有唯一性。根據(jù)裝配對(duì)象的父子關(guān)系,建立工藝流程節(jié)點(diǎn)的聯(lián)系,用于標(biāo)識(shí)裝配對(duì)象的父級(jí)部件所在工藝流程節(jié)點(diǎn),即父級(jí)工藝流程節(jié)點(diǎn)NPP,ParID為實(shí)現(xiàn)具有層次關(guān)系的裝配工藝流程提供數(shù)據(jù)支持;
圖3 裝配工藝流程示意圖
SeqID是并行工藝流程節(jié)點(diǎn)的標(biāo)識(shí),具有唯一性。SeqID為實(shí)現(xiàn)具有并行關(guān)系的工藝流程節(jié)點(diǎn)提供數(shù)據(jù)支持;在實(shí)際裝配過(guò)程中,并行工藝流程節(jié)點(diǎn)包含的裝配對(duì)象可同時(shí)進(jìn)行裝配。
IN是節(jié)點(diǎn)工藝信息,表示該節(jié)點(diǎn)裝配對(duì)象的工藝信息。
工藝流程鏈表用于存儲(chǔ)工藝流程節(jié)點(diǎn)。工藝流程鏈表的組成如下:
工藝流程節(jié)點(diǎn)NP是工藝流程鏈表SN的基本組成元素。SN中NP的順序包含了裝配序列信息。
為了將裝配工藝結(jié)構(gòu)樹(shù)映射為裝配工藝流程,首先要解析裝配工藝結(jié)構(gòu)樹(shù),從工藝結(jié)構(gòu)樹(shù)中獲取裝配工藝信息。在工藝結(jié)構(gòu)樹(shù)中,裝配工步PS是工藝信息的基本載體,可以從中獲得所有裝配對(duì)象OA及其裝配信息IA,IA包括裝配活動(dòng)AA、輔助工藝信息IAP、工藝標(biāo)注DP、工藝裝備EP等;根據(jù)裝配工序Pd及其裝配工步PS的先后順序關(guān)系,可以獲得零部件的裝配序列信息。同時(shí),在解析工藝結(jié)構(gòu)樹(shù)時(shí),需要從工藝結(jié)構(gòu)樹(shù)中分離出不同工藝階段的工藝過(guò)程,以便實(shí)現(xiàn)具有層次關(guān)系的裝配工藝流程。
然而,僅僅依靠解析工藝結(jié)構(gòu)樹(shù)中的信息,不足以將工藝結(jié)構(gòu)樹(shù)映射為裝配工藝流程,還需要對(duì)工藝結(jié)構(gòu)樹(shù)進(jìn)行預(yù)處理,完善相關(guān)信息。本文采用深度優(yōu)先遍歷算法解析裝配工藝結(jié)構(gòu)樹(shù)并進(jìn)行預(yù)處理。工藝結(jié)構(gòu)樹(shù)解析與預(yù)處理過(guò)程如下:
Step1:根據(jù)產(chǎn)品結(jié)構(gòu)樹(shù)中零部件最大層級(jí)n,建立n個(gè)工步鏈表SP,即{SPt|t=1,2,3,…,n};
Step2:搜索工藝結(jié)構(gòu)樹(shù),獲取第k個(gè)Pd(k初始值為1);
Step3:若Pd不為空,獲取Pd的LO,根據(jù)產(chǎn)品結(jié)構(gòu)樹(shù),確定LO中零部件的層級(jí)i;否則,結(jié)束搜索;
Step4:獲取Pd的第m個(gè)PS(m初始值為1);
Step5:若PS不為空,設(shè)置PS的編號(hào)N和同步編號(hào)SN;否則,轉(zhuǎn)Step7
Step6:將PS存儲(chǔ)到SPi中;
Step7:m=m+1,轉(zhuǎn)Step4;
Step8:k=k+1,轉(zhuǎn)Step2。
雖然不同工藝階段的工藝過(guò)程可能交叉在一起,但在工藝結(jié)構(gòu)樹(shù)解析的過(guò)程中,同一工藝階段的裝配工步被存儲(chǔ)在同層級(jí)工步鏈表SP中,SP的數(shù)據(jù)結(jié)構(gòu)如下:
在解析工藝結(jié)構(gòu)樹(shù)的基礎(chǔ)上,將PS映射為工藝流程節(jié)點(diǎn)NP,并存儲(chǔ)在工藝流程鏈表SN中,為生成裝配工藝流程提供數(shù)據(jù)準(zhǔn)備。裝配工步與工藝流程節(jié)點(diǎn)的映射過(guò)程如下。
Step1:根據(jù)產(chǎn)品結(jié)構(gòu)樹(shù)中零部件的最大層級(jí)n,建立n個(gè)工藝流程鏈表SN,即{SNk|k=1,2,3,…,n};
Step2:搜索SPi(i初始值為1);獲取PSm(m初始值為1);若PSm不為空,構(gòu)造NPm;否則,轉(zhuǎn)Step8;
Step3:根據(jù)PSm的OA,設(shè)置NPm.ON=PSm.OA;設(shè)置NPm的Name;根據(jù)OA的層級(jí)設(shè)置NPm的L;
Step4:根據(jù)PSm的IA,設(shè)置NPm.IN=PSm.IA;根據(jù)PSm的N,設(shè)置NPm.ID=PSm.N;根據(jù)PSm的SN,設(shè)置NPm.SeqID=PSm.SN;
Step5:根據(jù)產(chǎn)品結(jié)構(gòu)樹(shù),若裝配對(duì)象存在父級(jí)部件,則從SN(i-1)(i>1)中搜索父級(jí)工藝流程節(jié)點(diǎn)NPP,設(shè)置NPm.ParID=NPP.ID;
Step6:將NPm存儲(chǔ)到SNi中;
圖4 裝配工藝結(jié)構(gòu)樹(shù)與裝配工藝流程映射關(guān)系圖
Step7:m=m+1,轉(zhuǎn)Step2;
Step8:i=i+1,若i<=n,則轉(zhuǎn)Step2,否則,停止搜索。
在解析工藝結(jié)構(gòu)樹(shù)時(shí),建立了SP,分離了不同工藝階段的工藝過(guò)程;根據(jù)SP,將PS映射為NP時(shí),建立了SN,這利于搜索父級(jí)工藝流程節(jié)點(diǎn)NPP,進(jìn)而建立具有層次關(guān)系工藝流程。
通過(guò)上述流程,基本解決了上文提到的5個(gè)問(wèn)題。根據(jù)PS的OA,實(shí)現(xiàn)了NP和ON的關(guān)聯(lián);根據(jù)IA,實(shí)現(xiàn)了NP和IN的集成;根據(jù)SeqID,為實(shí)現(xiàn)具有并行關(guān)系的NP提供了數(shù)據(jù)支持;根據(jù)ParID,為實(shí)現(xiàn)具有層次關(guān)系的裝配工藝流程提供了數(shù)據(jù)支持;將NP依次存儲(chǔ)在相應(yīng)層級(jí)的SN中,保存了產(chǎn)品的裝配序列信息,為生成裝配工藝流程提供了序列信息。圖4是裝配工藝結(jié)構(gòu)樹(shù)與裝配工藝流程的映射關(guān)系。
在Visual Studio 2008平臺(tái)上,利用ACIS和HOOPS開(kāi)發(fā)工具包開(kāi)發(fā)實(shí)現(xiàn)了基于三維模型的裝配工藝設(shè)計(jì)系統(tǒng)。在該系統(tǒng)中,實(shí)現(xiàn)了裝配工藝結(jié)構(gòu)樹(shù)向裝配工藝流程映射的目標(biāo),生成了裝配工藝流程。以發(fā)動(dòng)機(jī)汽缸為例,圖5是產(chǎn)品結(jié)構(gòu)樹(shù)、裝配工藝結(jié)構(gòu)樹(shù)、裝配工藝流程和完善工藝流程節(jié)點(diǎn)信息的原型系統(tǒng)界面。
圖5 原型系統(tǒng)界面
通過(guò)解析裝配工步的裝配對(duì)象及其裝配信息,實(shí)現(xiàn)了工藝流程節(jié)點(diǎn)和裝配對(duì)象的關(guān)聯(lián),實(shí)現(xiàn)了工藝流程節(jié)點(diǎn)和零部件裝配信息的鏈接;通過(guò)設(shè)置同步工藝流程節(jié)點(diǎn)標(biāo)識(shí)SeqID,實(shí)現(xiàn)了具有并行關(guān)系的裝配工藝流程;通過(guò)設(shè)置父級(jí)工藝流程節(jié)點(diǎn)標(biāo)識(shí)ParID,實(shí)現(xiàn)了具有層次關(guān)系的裝配工藝流程;通過(guò)工藝流程鏈表,記錄了零部件裝配序列信息;最終生成了裝配工藝流程圖。因此,基于解析工藝結(jié)構(gòu)樹(shù)的工藝流程映射方法是有效的。但是,該映射方法依然存在著不足,在實(shí)現(xiàn)具有層次關(guān)系的裝配工藝流程時(shí),搜索父級(jí)工藝流程節(jié)點(diǎn)的效率還有待提升;同時(shí),裝配工藝流程的應(yīng)用還有待進(jìn)一步擴(kuò)展。
[1] 夏平均,姚英學(xué).三維數(shù)字化裝配工藝系統(tǒng)的研究[J].哈爾濱工藝大學(xué)學(xué)報(bào), 2005(01): 36-39.
[2] 馮廷廷,金霞.基于MBD的飛機(jī)裝配工藝模型設(shè)計(jì)[J]. 航空制造技術(shù),2010(24): 95-98.
[3] 戴國(guó)洪,等.面向序列規(guī)劃的裝配工藝APS樹(shù)模型生成的研究[J].中國(guó)機(jī)械工程,2006(14):1493-1498.
[4] 夏平均.基于虛擬現(xiàn)實(shí)的衛(wèi)星裝配工藝設(shè)計(jì)方法及其應(yīng)用[D].2007,哈爾濱工業(yè)大學(xué).
[5] Q H Wang, J R Li. A Desktop VR Prototype for Industrial Training Applications[J].Virtual Reality (S1359-4338), 2004,16(7):187-197.
[6] Lee k, Andrews. Inference of the Position of Components in an Assembly: part 2[J].Computer Aided Design,1985, l7(1):20-24.
[7] Lee k and Gossard D.A Hierarchical Data Structure for Representing Assemblies: part 1[J].Computer Aided Design,1985, l7(1):15-19.
[8] MBAlib.工藝流程圖[EB/OL].2009-12-08. http://wiki.mbalib.com/wiki/Process_Charts.
[9] 李曼麗,等.航天器裝配工藝流程可視化系統(tǒng)的研究[J]. 航天器環(huán)境工程,2007(02):113-115.
[10] 劉檢華,等.面向手工裝配的計(jì)算機(jī)輔助裝配過(guò)程控制方法[J].計(jì)算機(jī)集成制造系統(tǒng),2009(12):2391-2398.
[11] 王峻峰,魯明上,等.產(chǎn)品裝配MBD數(shù)據(jù)集及其應(yīng)用研究[J].制造業(yè)自動(dòng)化,2012.35(01):78-82.