(東華大學(xué)機械工程學(xué)院,上海 201600)
裝配是產(chǎn)品生產(chǎn)的末端環(huán)節(jié),同時也是直接影響產(chǎn)品性能的重要環(huán)節(jié)之一[1]。復(fù)雜裝配產(chǎn)品由于其零部件眾多、工藝繁雜等特點,在產(chǎn)品研制過程中,通常會伴生有各類型的裝配信息,比如零部件間的組成關(guān)系、裝配特征間的配合關(guān)系以及裝配工藝過程。然而這些裝配信息往往分散于CAD模型文件和裝配工藝文檔中,由于兩者語義的異構(gòu)性會導(dǎo)致裝配工藝決策無法得到產(chǎn)品幾何模型的支撐,在工藝規(guī)劃等應(yīng)用層面難以進行工藝知識的積累,同時大量分散、無規(guī)范的裝配數(shù)據(jù)也不利于復(fù)雜裝配產(chǎn)品的數(shù)字化管理,難以進行歷史數(shù)據(jù)的追溯[2]。因此,建立能夠清晰表達(dá)多層次、多類型裝配語義的統(tǒng)一信息模型是解決上述問題的關(guān)鍵。
目前,裝配語義信息的建模方法主要分為面向?qū)ο?、基于可擴展標(biāo)記語言XML、基于本體以及基于知識圖譜。Xu 等[3]以面向?qū)ο蟮乃枷雽?fù)雜產(chǎn)品的裝配關(guān)系、裝配結(jié)構(gòu)的組成部分以及特性封裝為對象類,有效地避免裝配信息發(fā)生組合爆炸的情況,但面向?qū)ο蟮乃枷雮?cè)重于描述類的結(jié)構(gòu)及行為方法,對類與類之間的關(guān)系描述能力較弱;張鑫[4]針對協(xié)同環(huán)境下裝配設(shè)計信息的數(shù)據(jù)共享問題,提出基于XML 框架設(shè)計裝配語義元單元,將異構(gòu)CAD 系統(tǒng)中的裝配特征和裝配約束進行統(tǒng)一映射,但其語義框架并未考慮也難以表達(dá)裝配工藝中的序列關(guān)系;喬立紅等[5]基于本體語義建立結(jié)合產(chǎn)品幾何信息的裝配工藝本體模型,以該模型為基礎(chǔ)實現(xiàn)裝配工藝相關(guān)信息的推理。相較于抽象的本體概念,知識圖譜在概念的基礎(chǔ)上以“實體-關(guān)系-實體”,“實體-屬性-值”的形式組織信息[6],從而能夠更清晰地描述裝配語義中復(fù)雜的序列、配合、約束等裝配關(guān)系,并且近年來深度學(xué)習(xí)的發(fā)展使得知識圖譜中的實體、關(guān)系等語義信息能夠以稠密、低維的實數(shù)向量進行表示[6],通過該表示形式可以計算語義信息間的相似度以及預(yù)測實體間的關(guān)系,在模型層面為裝配工藝的智能規(guī)劃奠定了基礎(chǔ)。Chen 等[7]基于知識圖譜將CAD 幾何信息與裝配工藝文檔信息進行集成建模,有效地提升了裝配信息之間的交互效率,但該模型并未考慮裝配特征配合中幾何元素的影響,同時也未描述該知識圖譜的構(gòu)建方法。
針對以上研究的優(yōu)缺點,本文基于知識圖譜提出一種面向多層次裝配語義信息的建模方法。首先根據(jù)裝配語義的層次類型設(shè)計知識圖譜框架,并描述各層次所包含的類與關(guān)系;然后結(jié)合CAD 文件和裝配工藝文檔介紹如何從中抽取并映射相關(guān)語義數(shù)據(jù),實現(xiàn)知識圖譜模型的構(gòu)建;最后以航空航天產(chǎn)品中的速度調(diào)節(jié)機構(gòu)為例,驗證該模型框架及構(gòu)建方法的可行性。
定義1。基于知識圖譜的裝配語義模型KG-ASM(Knowledge graph-based assembly semantics model),通過知識圖譜的信息組織形式“節(jié)點-關(guān)系-節(jié)點”與“節(jié)點-屬性-值”表達(dá)裝配體的幾何語義、裝配工藝過程語義以及兩者之間的語義關(guān)系,即KGASM={AE ∪GF ∪AO ∪SR}。
定義2。裝配元素AE:總裝FA、子裝配體SA、零件PA 統(tǒng)稱為AE,即AE={FA ∪SA ∪PA}。
定義3。幾何特征GF:面向裝配時GF 可分為裝配特征AF 和非裝配特征NAF,其中AF代表直接參與配合的幾何特征;面向幾何拓?fù)鋾rGF 由面“Face”、邊“Edge”、頂點“Vertex”構(gòu)成,即GF={AF ∪NAF}={Face ∪Edge∪Vertex}。
定義4。裝配操作AO:典型的AO包含裝配工序AP、裝配工步AS 與工裝夾具AT,即AO={AP ∪AS ∪AT}。
定義5。語義關(guān)系SR:由廣義的包含關(guān)系HAS、面向裝配結(jié)構(gòu)的結(jié)構(gòu)拓?fù)潢P(guān)系ST、面向裝配幾何的幾何拓?fù)潢P(guān)系GT 以及面向裝配工藝的序列關(guān)系SE、裝配約束關(guān)系A(chǔ)C 共同組成,即SR={HAS ∪ST ∪GT ∪SE ∪AC}。
需要強調(diào)的是上述概念可以覆蓋裝配幾何語義和裝配工藝語義,但是部分概念本身是抽象的(如語義關(guān)系SR),有時無法直接作為知識圖譜所需要的實體類節(jié)點和關(guān)系類節(jié)點。因此為了更加準(zhǔn)確清晰地描述面向裝配的復(fù)雜語義信息,KG-ASM 將從裝配結(jié)構(gòu)、幾何表達(dá)、裝配工序、裝配工步4個層次出發(fā),結(jié)合各層次的語義表達(dá)特征將抽象的概念具象化為類節(jié)點。
裝配結(jié)構(gòu)層用于描述總裝產(chǎn)品的BOM 信息以及零部件間的組成關(guān)系。該層將定義5中的ST 具象化,定義hasSub、subOf表示總裝產(chǎn)品與子裝配體間的組成關(guān)系;hasPart、partOf表示子裝配體與零件間的組成關(guān)系;relativePosition 則表示實體類節(jié)點間的相對位置關(guān)系,其“matrix”屬性用于存儲不同零部件在同一基準(zhǔn)坐標(biāo)系下的相對旋轉(zhuǎn)和相對平移矩陣。
幾何表達(dá)層用于描述總裝產(chǎn)品中零件的幾何形狀語義和幾何拓?fù)潢P(guān)系。針對幾何形狀,該層為“零件”節(jié)點附加“URL”屬性以鏈接外部CAD模型,“面”節(jié)點附加“名稱”、“類型”和“形位公差”屬性,“邊”節(jié)點附加“名稱”、“類型”和“尺寸公差”屬性,“頂點”節(jié)點附加“坐標(biāo)”屬性。針對幾何拓?fù)潢P(guān)系,該層將定義5中的GT 具象化,定義hasAF與hasNAF表示零件幾何體具有的裝配/非裝配特征;hasFaces表示裝配/非裝配特征由一系列特征面構(gòu)成;hasEdges 與hasStrips表示形成特征面的邊界和離散三角形面片;hasDatum表示特征面的形位公差所相對的基準(zhǔn);hasAnchors表示形成邊界的錨點;AdjacentTo 則表示該層實體類節(jié)點間的相鄰關(guān)系。
裝配工序?qū)佑糜诿枋龈餮b配工序包含的裝配工步,經(jīng)歷的時間跨度,所處的生產(chǎn)地點,需要的工裝夾具以及不同工序間的裝配順序??紤]到裝配件在經(jīng)過一道工序后結(jié)構(gòu)形狀會發(fā)生變化,同時在進入下一道工序前可能需要調(diào)整位姿,該層額外定義一個 “工序間”實體類節(jié)點以記錄裝配件在前后工序間的裝配狀態(tài),其“位姿”屬性用以存儲當(dāng)前工序的位姿矩陣和進入下一工序的位姿變換矩陣,“URL”屬性用以指向當(dāng)前工序在裝配結(jié)構(gòu)層中對應(yīng)的“子裝配體”節(jié)點。“工裝夾具”節(jié)點具有“類型”和“名稱”屬性以明確該設(shè)備是用于定位還是夾緊。針對工序之間的裝配順序關(guān)系該層將定義5中的SE 具象化,定義“before”與“after”表示裝配工序的先后順序;“with”表示兩道裝配工序是同時進行的,無先后關(guān)系;“cycle”則表示需要對某一道工序重復(fù)操作。
裝配工步層用于描述某一工步下兩個裝配元素的配合過程以及工步與工步之間的順序關(guān)系。在裝配順序關(guān)系的定義上該層與裝配工序?qū)宇愃?,同時該層也額外定義一個“工步間”節(jié)點,作為裝配件在前后工步間的引用。與“工序間”節(jié)點不同的是由于裝配工步測重于裝配特征間的配合關(guān)系,“工步間”節(jié)點將繼承該道工步中兩個裝配元素所有未參與配合的裝配特征,作為后續(xù)工步中的待裝配特征。針對兩個裝配元素在各工步中需要明確主次之分,同時直接參與裝配的裝配特征需要滿足一定的約束條件,該層基于廣義包含關(guān)系HAS 定義hasBase 和與之匹配的isAssembledAt 以表示該道工步中某一裝配元素為基體單元,另一裝配元素為待裝配單元,并根據(jù)指定的約束條件將定義5中的AC 具象化(此處以兩個裝配特征同軸舉例將其具象化為coaxialWith)。
基于上述類節(jié)點及其屬性可得KG-ASM的多層次語義模型框架,如圖1所示。
圖1 KG-ASM語義框架Fig.1 KG-ASM semantic framework
知識圖譜模型的本質(zhì)是一種由很多實例三元組構(gòu)成的大型語義網(wǎng)絡(luò)[8],構(gòu)建的關(guān)鍵在于數(shù)據(jù)抽取和知識表示。上文已經(jīng)對KG-ASM 用于表達(dá)語義知識的架構(gòu)及各語義層的類節(jié)點進行了描述,下文將以此為基礎(chǔ),介紹如何從CAD 文件和裝配工藝文檔中抽取相關(guān)語義對應(yīng)的數(shù)據(jù),從而實現(xiàn)類節(jié)點的實例化。
為了能夠直接快捷地對各類CAD 產(chǎn)品模型中的裝配結(jié)構(gòu)信息進行解析和抽取,本文選擇中性文件3DXML 作為KG-ASM 裝配結(jié)構(gòu)層中實例三元組的數(shù)據(jù)來源。
在3DXML 文件中產(chǎn)品的裝配結(jié)構(gòu)信息由<ProductStructure >節(jié)點開始,它共有4個子節(jié)點[9],其中與裝配結(jié)構(gòu)直接相關(guān)的是<Reference3D>引用節(jié)點和<Instance3D>實例節(jié)點。<Instance3D>既是某一<Reference3D>的組成部分,同時也是另一<Reference3D>的實例,這兩個不同<Reference3D>的ID 屬性值分別存儲在<Instance3D>的<IsAggregatedBy>子 節(jié)點 和<IsInstanceOf>子 節(jié)點中。因此可以將各<Instance3D>作為KG-ASM 中裝配元素類(零件、子裝配體、總裝)的實體節(jié)點,以<Reference3D>為過渡進行結(jié)構(gòu)拓?fù)潢P(guān)系類節(jié)點的實例化。結(jié)合3DXML文件中的部分描述片段,該方法的具體步驟如圖2所示。
在KG-ASM 幾何表達(dá)層中幾何語義的基本單元為“面”、“邊”、“點”,裝配特征和非裝配特征則是由這些基本單元組合而成,這種表示方法符合B-rep 邊界表示法的“體-面-環(huán)-邊-點”幾何表達(dá)思想,因此本文選擇以B-rep 邊界表示法為幾何描述形式的STEP AP242 文件作為KG-ASM 幾何表達(dá)層中實例三元組的數(shù)據(jù)來源。
STEP AP242 文件分為頭部段和數(shù)據(jù)段,產(chǎn)品的幾何元素存儲于數(shù)據(jù)段中,其基本格式為:#數(shù)字=關(guān)鍵字(‘名稱’,‘屬性值’,‘屬性值’,……)[10]。其中#數(shù)字是幾何元素的標(biāo)識符,幾何元素之間可以通過標(biāo)識符相互引用;關(guān)鍵字代表幾何元素的語義特征;后續(xù)括號里的內(nèi)容則是該語義特征具有的屬性,屬性既可以是數(shù)值,也可以是其他幾何元素的標(biāo)識符。因為STEP AP242中包含大量豐富的幾何語義特征,以STEP 文件的部分片段為例,定義STEP 中部分關(guān)鍵字與KG-ASM 中幾何語義類實例之間的映射關(guān)系,如圖3和表1所示。
雖然STEP AP242可以完整地表達(dá)一個產(chǎn)品的幾何特征,但是裝配特征是由一系列特定的幾何特征構(gòu)成,因此無法直接從STEP AP242 中獲取裝配特征。對于裝配特征的獲取方法可以采用一些特征識別算法,比如基于規(guī)則的邊界匹配識別[11],也可以基于CAD API 對造型特征進行提取[12],本文采用的方法是后者。
圖2 裝配結(jié)構(gòu)類節(jié)點實例化Fig.2 Instantiation of assembly structure node
圖3 STEP文件部分片段Fig.3 Part of STEP file
裝配操作的工藝信息記錄在裝配工藝文檔中,目前大部分的工藝文檔還屬于半結(jié)構(gòu)化甚至非結(jié)構(gòu)化的形式,以人工方式對裝配工藝文檔中的語義信息進行抽取,在面對大量文檔時會耗費大量的人力和精力。因此本文選擇基于自然語言處理NLP中的詞性標(biāo)注與實體識別任務(wù)[13]對裝配工藝文檔中的語素進行分解并分類,然后將分類后的詞序列用于KG-ASM 裝配工序?qū)雍脱b配工序?qū)又蓄惞?jié)點的實例化。為了適當(dāng)簡化NLP 任務(wù)的復(fù)雜度,假設(shè)輸入的工藝文檔為半結(jié)構(gòu)化形式,即工序和工步具有獨立的序號表示順序關(guān)系,且工序內(nèi)容后緊跟該工序包含的工步內(nèi)容?;诖思僭O(shè),裝配工藝語義信息的抽取及類節(jié)點實例化的方法如表2所示。
表1 STEP與KG-ASM的幾何語義映射Table1 Geometric semantic mapping of STEP and KG-ASM
表2 工藝語義節(jié)點實例化算法Table2 Process semantic node instantiation algorithm
本文以航空航天產(chǎn)品中速度調(diào)節(jié)機構(gòu)(圖4)的試裝過程為例,分別從CAD模型文件與裝配工藝文檔中抽取裝配結(jié)構(gòu)、裝配幾何特征、裝配工序過程等語義數(shù)據(jù),并使用開源的Neo4j 圖數(shù)據(jù)庫對抽取出的語義數(shù)據(jù)進行知識圖譜建模,從而驗證該模型框架與構(gòu)建方法的可行性。
首先根據(jù)速度調(diào)節(jié)機構(gòu)的3DXML文件提取零部件間的裝配結(jié)構(gòu)信息,結(jié)構(gòu)信息的抽取方法與知識圖譜中相應(yīng)節(jié)點的實例化方法于前文進行了描述,得到的裝配結(jié)構(gòu)類節(jié)點如圖5所示。其中藍(lán)色節(jié)點為速度調(diào)節(jié)機構(gòu)的總成產(chǎn)品,紅色節(jié)點為包含多個裝配元素的子裝配體,棕色節(jié)點則為零件。通過圖數(shù)據(jù)庫的CQL 語法可以便捷地查詢每個節(jié)點的屬性以及它們之間的組成關(guān)系,如圖5中名為“輸入軸總成”的子裝配體包含有輸入軸、軸承、墊圈等零件。
圖4 速度調(diào)節(jié)機構(gòu)Fig.4 Speed adjusting mechanism
圖5 裝配結(jié)構(gòu)類節(jié)點Fig.5 Assembly structure nodes
得到零部件在知識圖譜模型中的節(jié)點后便可根據(jù)各零件的STEP AP242 文件與表1中定義的關(guān)鍵字映射關(guān)系構(gòu)建相關(guān)的幾何元素節(jié)點與幾何拓?fù)潢P(guān)系,如輸入軸總成中的輸入軸所對應(yīng)的部分幾何類節(jié)點,如圖6所示。
最后基于百度的Bi-GRU-CRF深度網(wǎng)絡(luò)模型對速度調(diào)節(jié)機構(gòu)的裝配工序文檔進行詞素的分解分類,詞性類別的標(biāo)簽與含義如表3所示。
由于裝配工藝文檔所涉及的一些專有名詞或術(shù)語在通用中文語料數(shù)據(jù)集的訓(xùn)練下通常會被統(tǒng)一認(rèn)為是普通名詞,如在“將鍵裝入軸段的鍵槽”的分類結(jié)果中“鍵”、“軸段”和“鍵槽”的詞性類別都為“名詞”,但對于裝配工藝而言“鍵槽”是“軸段”的“裝配特征”。因此本文以工藝文檔中出現(xiàn)的專有詞語構(gòu)建干預(yù)語料集,部分片段如圖7所示,經(jīng)過干預(yù)后工藝文本的部分詞素分類結(jié)果如圖8所示。
圖6 輸入軸對應(yīng)的幾何類節(jié)點Fig.6 Geometric nodes corresponding to input axis
分類后的詞序列將根據(jù)表2 中定義的工藝類節(jié)點實例化方法生成裝配工序/工步層的知識圖譜,速度調(diào)節(jié)機構(gòu)中殼體總成、輸入軸總成、中間軸總成的工序內(nèi)容所對應(yīng)的部分知識圖譜節(jié)點如圖9所示,表4為上述3個部件的所有工藝/工步類節(jié)點數(shù)據(jù)統(tǒng)計。
表3 詞性類別的標(biāo)簽與含義Table3 Labels and meanings of part-of-speech
裝配總成產(chǎn)品在生產(chǎn)過程中的裝配數(shù)據(jù)通常分散于CAD模型文件與裝配工藝文檔中,不利于產(chǎn)品的統(tǒng)一數(shù)字化管理,也難以積累基于產(chǎn)品幾何信息的工藝知識。為此本文提出了一種基于知識圖譜的裝配語義模型,并描述了其建模方法。
(1)分別從裝配結(jié)構(gòu)、幾何表達(dá)、裝配工序、裝配工步4個層次定義裝配語義中的實體類語義與關(guān)系類語義,并通過“實體-屬性-值”、“實體-關(guān)系-實體”的信息組織形式將不同層次間的語義信息進行關(guān)聯(lián),實現(xiàn)了CAD 數(shù)據(jù)與裝配工藝文本在語義層面的集成。
圖7 干預(yù)語料集部分片段Fig.7 Part of intervention corpus
圖8 部分詞素分類結(jié)果Fig.8 Part of word classification results
表4 節(jié)點數(shù)據(jù)統(tǒng)計Table4 Node data statistics
圖9 部分裝配工藝/工步類節(jié)點Fig.9 Part of assembly process/step nodes
(2)描述了3DXML、STEP 文件與裝配語義模型中節(jié)點的語義映射關(guān)系,并通過NLP技術(shù)對半結(jié)構(gòu)化的裝配工藝文檔進行詞素的分解分類,實現(xiàn)了該模型的自動構(gòu)建。
(3)以航空航天產(chǎn)品中速度調(diào)節(jié)機構(gòu)的試裝過程為例,驗證了該裝配語義模型及其構(gòu)建方法的可行性。