王巖巖 張春燕 張勝文 陳世輝
(江蘇科技大學(xué)機(jī)械工程學(xué)院,江蘇 鎮(zhèn)江 212003)
信息完備性檢查是一項(xiàng)輔助性的技術(shù),是自動(dòng)標(biāo)注技術(shù)發(fā)展過(guò)程中的一個(gè)過(guò)渡技術(shù)。主要檢查產(chǎn)品制造信息(product manufacturing information,PMI)的正確性、完整性及清晰性。正確性是指信息是否符合工藝標(biāo)準(zhǔn);完整性是指信息是否完整,包括冗余和缺失兩方面;清晰性是指信息空間布局是否符合要求。PMI作為產(chǎn)品基于模型定義(model based definition,MBD)三維模型的重要組成部分,由傳統(tǒng)的二維標(biāo)注不斷向三維標(biāo)注發(fā)展。但MBD模型中的PMI往往較為復(fù)雜且分散,容易造成可讀性差,用戶(hù)交互性差等問(wèn)題。為了充分發(fā)揮MBD模型的優(yōu)勢(shì),減少信息傳遞過(guò)程中的差錯(cuò),需要對(duì)MBD模型中的PMI進(jìn)行完備性檢查。
目前的三維自動(dòng)標(biāo)注技術(shù)尚不成熟,PMI標(biāo)注過(guò)程主要仍需依賴(lài)于人工操作,因此容易導(dǎo)致模型中的PMI標(biāo)注出現(xiàn)冗余、缺失和不合理等問(wèn)題。在這樣的背景下,研究PMI的完備性檢查技術(shù)對(duì)于計(jì)算機(jī)輔助設(shè)計(jì)(computer aided design,CAD)與計(jì)算機(jī)輔助工藝規(guī)劃(computer aided process planning,CAPP)的發(fā)展都具有重要的現(xiàn)實(shí)意義。
為提高工作效率和PMI標(biāo)注準(zhǔn)確率,國(guó)內(nèi)外學(xué)者進(jìn)行了大量研究,并獲得階段性的成果。譚禎[1]建立空間標(biāo)注模型,將二維坐標(biāo)轉(zhuǎn)化為三維空間坐標(biāo),實(shí)現(xiàn)了多視圖的尺寸完備性檢查,但是該方法只適用于二維工程圖。程亞龍[2]等借助于幾何約束圖,針對(duì)順序標(biāo)注的三維尺寸標(biāo)注實(shí)現(xiàn)了完備性檢查。Luisa Martínez M[3]提出根據(jù)幾何約束來(lái)求解幾何元素的過(guò)約束問(wèn)題,但并沒(méi)有有效解決尺寸缺失問(wèn)題。張菲菲[4]針對(duì)航天薄壁件制造特點(diǎn),構(gòu)建了基于MBD的信息模型,并以三維模型為主體,進(jìn)行知識(shí)圖譜的融合,最終實(shí)現(xiàn)信息集成。
在前人研究的基礎(chǔ)上,本文結(jié)合知識(shí)圖譜技術(shù),采用自頂向下的方法構(gòu)造了PMI領(lǐng)域知識(shí)圖譜,通過(guò)標(biāo)注的冗余關(guān)系、標(biāo)注的取代關(guān)系和標(biāo)注的矛盾性3個(gè)方面構(gòu)建SWRL規(guī)則,在此基礎(chǔ)上,實(shí)現(xiàn)對(duì)PMI的完備性檢查。
知識(shí)圖譜(knowledge graph,KG)是具有有向圖結(jié)構(gòu)的一個(gè)知識(shí)庫(kù),近年來(lái)在人工智能領(lǐng)域應(yīng)用廣泛,它以圖的形式表現(xiàn)事物間的關(guān)系。從本質(zhì)上看,知識(shí)圖譜是一種關(guān)系網(wǎng)絡(luò)[5],以一種通用的語(yǔ)義知識(shí)形式化的方法對(duì)事物進(jìn)行描述,其基本單位為三元組。主要采用(實(shí)體,屬性,關(guān)系)和(實(shí)體,屬性,屬性值)兩種三元組形式[6]。知識(shí)圖譜的邏輯層次,可表達(dá)為
式中:KG表示知識(shí)圖譜;TBox表示模式層,即本體;ABox為數(shù)據(jù)層即具體的信息。
領(lǐng)域知識(shí)圖譜是知識(shí)圖譜在特定領(lǐng)域中的應(yīng)用。本文采用自頂向下的方法構(gòu)建PMI領(lǐng)域知識(shí)圖譜,即先構(gòu)建本體并定義好數(shù)據(jù)形式,再提取實(shí)體進(jìn)行填充。在知識(shí)圖譜構(gòu)造的工具方面,Protégé是一種常用的可視化本體構(gòu)造軟件[7],相比于其他同類(lèi)軟件,Protégé的優(yōu)勢(shì)在于可以進(jìn)行模塊化的設(shè)計(jì),并能夠?qū)崿F(xiàn)部分功能對(duì)中文的支持,可以實(shí)現(xiàn)本體的構(gòu)造、推理及可視化顯示。Neo4j是目前最流行的知識(shí)圖譜構(gòu)造軟件,它是一款基于Java語(yǔ)言開(kāi)發(fā)的事務(wù)型數(shù)據(jù)庫(kù),可以實(shí)現(xiàn)圖形數(shù)據(jù)的處理和存儲(chǔ)[8]。
PMI表示產(chǎn)品MBD模型的非幾何信息,包含產(chǎn)品的尺寸標(biāo)注、形位公差、工藝基準(zhǔn)、表面粗糙度、零件屬性和技術(shù)要求等產(chǎn)品制造信息[9]。它是傳統(tǒng)二維圖紙中的尺寸、公差和技術(shù)要求等標(biāo)注信息在MBD模型中的可視化集成化的表達(dá)[10],可以將PMI直觀地顯示在三維模型的表面或剖面中,以此提高使用效率,保證產(chǎn)品質(zhì)量。圖1展示了機(jī)架MBD模型中某一模型視圖的PMI實(shí)例。
圖1 機(jī)架MBD模型中某一視圖的PMI實(shí)例
PMI標(biāo)注對(duì)象間存在著復(fù)雜的聯(lián)系。要完成模式層的構(gòu)建,不僅需要對(duì)相關(guān)術(shù)語(yǔ)進(jìn)行梳理,還需要整理機(jī)械工藝手冊(cè)、工藝卡片和相關(guān)標(biāo)準(zhǔn)文件(如GB/T 1958-2017)等資料對(duì)PMI相關(guān)的知識(shí)術(shù)語(yǔ)進(jìn)行抽取。在對(duì)各術(shù)語(yǔ)進(jìn)行梳理之后,提煉出的PMI相關(guān)知識(shí)術(shù)語(yǔ)間的邏輯關(guān)系如圖2所示。
圖2 PMI知識(shí)術(shù)語(yǔ)關(guān)系圖
PMI領(lǐng)域本體是一個(gè)復(fù)雜的模型,不僅具有較多的概念,而且概念間的彼此關(guān)系也錯(cuò)綜復(fù)雜。本文從局部開(kāi)始采用七步法來(lái)構(gòu)建PMI本體,最后將各局部本體按照相互關(guān)系合并為PMI的領(lǐng)域本體。本體構(gòu)建流程如圖3所示。
圖3 本體構(gòu)建流程
這里以形位公差的局部本體為例來(lái)說(shuō)明本體的構(gòu)造過(guò)程。其步驟如下:
步驟1 確定本體所在的領(lǐng)域?yàn)镻MI標(biāo)注的形位公差部分;
步驟2 確定相關(guān)領(lǐng)域的概念術(shù)語(yǔ)。根據(jù)形位公差的相關(guān)概念在Protégé中建立形位公差類(lèi);
步驟3 定義概念層次結(jié)構(gòu),對(duì)應(yīng)于Protégé中的Class。頂層概念為“形位公差”,中間層概念為“形狀公差”和“位置公差”,底層概念為“直線(xiàn)度”、“線(xiàn)輪廓度”、“同軸度”等;
步驟4 定義概念屬性,概念屬性包括對(duì)象屬性和數(shù)據(jù)屬性?xún)刹糠帧T赑rotégé中,對(duì)象屬性對(duì)應(yīng)于Object Properties,數(shù)據(jù)屬性對(duì)應(yīng)于Data Properties。對(duì)象屬性用于連接兩個(gè)實(shí)體,表示類(lèi)與類(lèi)之間的關(guān)系;數(shù)據(jù)屬性用于連接個(gè)體和具體的數(shù)據(jù)類(lèi)型值,表示某個(gè)類(lèi)特有的數(shù)據(jù)值,值域是某種數(shù)據(jù)類(lèi)型;通過(guò)設(shè)置定義域(domain)和值域(range)對(duì)屬性進(jìn)行定義。部分屬性及約束列于表1所示。
表1 部分屬性及約束
步驟5 本體評(píng)價(jià)。結(jié)合Protégé自帶的Pellet推理機(jī)功能,完成一致性檢查;
步驟6 本體實(shí)例化。對(duì)應(yīng)于Protégé中的Individuals。為給類(lèi)及子類(lèi)添加相應(yīng)的實(shí)例;
步驟7 本體的可視化顯示及存儲(chǔ)。檢驗(yàn)無(wú)誤后,保存局部本體。
以同樣的方法建立其他局部本體。最后,將這些局部本體按照邏輯關(guān)系進(jìn)行合并,形成最終的PMI領(lǐng)域本體。在Protégé中構(gòu)造的PMI領(lǐng)域知識(shí)圖譜的本體如圖4所示。
圖4 PMI領(lǐng)域知識(shí)圖譜的本體
本體構(gòu)造完成后,使用Pellet推理機(jī)對(duì)最終的本體進(jìn)行一致性檢查,經(jīng)檢驗(yàn),所構(gòu)建的PMI領(lǐng)域本體符合要求。
數(shù)據(jù)層的構(gòu)建涉及兩個(gè)方面問(wèn)題,即數(shù)據(jù)的收集和存儲(chǔ)。領(lǐng)域知識(shí)圖譜的主要特點(diǎn)就是“小樣本”,有著較小的數(shù)據(jù)量和對(duì)專(zhuān)業(yè)知識(shí)庫(kù)較高的依賴(lài)度。因此,在數(shù)據(jù)收集方面,為了更好地反映船用柴油機(jī)關(guān)鍵件的特性,以PMI知識(shí)庫(kù)為基礎(chǔ),結(jié)合對(duì)船用柴油機(jī)典型零件庫(kù)進(jìn)行信息提取進(jìn)行整理歸納。在數(shù)據(jù)存儲(chǔ)方面,運(yùn)用圖數(shù)據(jù)庫(kù)的形式存儲(chǔ)生成的知識(shí)圖譜實(shí)現(xiàn)。
由于MBD模型中的PMI數(shù)量繁多,種類(lèi)較為分散,難以進(jìn)行統(tǒng)一管理,所以需要根據(jù)不同類(lèi)型,對(duì)PMI進(jìn)行集中分類(lèi)提取。首先,讀取MBD模型中的所有PMI標(biāo)注,記錄PMI數(shù)目為N,分別對(duì)每一個(gè)PMI標(biāo)注進(jìn)行處理,判斷其具體類(lèi)型提取信息。最后,進(jìn)行集中存儲(chǔ)。
本文以C語(yǔ)言的編程思想為指導(dǎo),通過(guò)偽代碼表達(dá)MBD模型中的PMI提取過(guò)程。將PMI類(lèi)型(PMI_type)分為尺寸標(biāo)注類(lèi)(Dimension)、形位公差類(lèi)(GeometricTol)、表面粗糙度類(lèi)(SurfaceRou)、工藝基準(zhǔn)類(lèi)(Datum)、技術(shù)要求類(lèi)(TechnicalReq)進(jìn)行提取。PMI分類(lèi)提取的偽代碼如表2所示。
表2 PMI分類(lèi)提取的偽代碼
知識(shí)融合過(guò)程分為實(shí)體鏈接和知識(shí)合并兩個(gè)部分[11]。實(shí)體鏈接是指將數(shù)據(jù)對(duì)象鏈接到知識(shí)圖譜中,知識(shí)合并是指將有歧義的實(shí)體信息進(jìn)行處理。知識(shí)融合流程如圖5所示。
圖5 知識(shí)融合流程
模式層具有較高的統(tǒng)一性和準(zhǔn)確性,因此只需要對(duì)數(shù)據(jù)層進(jìn)行融合。數(shù)據(jù)層構(gòu)造采用了不同來(lái)源的數(shù)據(jù),需要對(duì)知識(shí)進(jìn)行實(shí)體鏈接和實(shí)體合并。先對(duì)各實(shí)體屬性信息進(jìn)行相似度計(jì)算[12],當(dāng)相似度超過(guò)設(shè)定的閾值時(shí),則進(jìn)行實(shí)體鏈接消除冗余。對(duì)于從數(shù)據(jù)庫(kù)中的實(shí)體信息IA和從零件中抽取的信息IB,由于數(shù)據(jù)庫(kù)實(shí)體信息具有更高的置信度,應(yīng)優(yōu)先選用IA中的信息進(jìn)行替換。通過(guò)D2RQ映射將數(shù)據(jù)轉(zhuǎn)化為RDF格式的三元組格式完成知識(shí)融合。最后,利用Neo4j對(duì)PMI領(lǐng)域知識(shí)圖譜進(jìn)行儲(chǔ)存,將融合后的數(shù)據(jù)導(dǎo)入Neo4j,得到PMI領(lǐng)域知識(shí)圖譜的部分可視化顯示。
語(yǔ)義網(wǎng)絡(luò)規(guī)則語(yǔ)言(semantic web rule lan-guage,SWRL)是一種專(zhuān)門(mén)描述規(guī)則的語(yǔ)言,使用規(guī)則與OWL(web ontology language)知識(shí)庫(kù)的結(jié)合。通過(guò)對(duì)本體的實(shí)例進(jìn)行規(guī)則推理,實(shí)現(xiàn)本體與SWRL的結(jié)合,有效地彌補(bǔ)了本體推理能力不足的缺陷。
PMI領(lǐng)域知識(shí)圖譜中的存在著大量隱含規(guī)則,需要通過(guò)對(duì)已有知識(shí)進(jìn)行知識(shí)推理和關(guān)系的挖掘。PMI標(biāo)注對(duì)信息完備性的影響主要體現(xiàn)在3個(gè)方面:(1)冗余的標(biāo)注會(huì)影響信息的完整性。(2)矛盾的標(biāo)注會(huì)影響信息的準(zhǔn)確性。(3)冗余和矛盾的標(biāo)注間接影響著信息顯示的清晰性。
本文以各標(biāo)注的關(guān)聯(lián)對(duì)象要素作為聯(lián)系的樞紐,建立具體的完備性檢查規(guī)則。
(1)標(biāo)注的冗余關(guān)系
建立標(biāo)注冗余性相關(guān)規(guī)則如表3所示。
表3 標(biāo)注冗余性相關(guān)的SWRL規(guī)則
(2)標(biāo)注的取代關(guān)系
建立的標(biāo)注取代性相關(guān)規(guī)則如表4所示。
表4 標(biāo)注取代性相關(guān)的SWRL規(guī)則
(3)標(biāo)注的矛盾關(guān)系
建立的標(biāo)注矛盾性相關(guān)規(guī)則如表5所示。
表5 標(biāo)注矛盾性相關(guān)的SWRL規(guī)則
將PMI完備性檢查的規(guī)則按照3種類(lèi)型編寫(xiě)完成后,在Protégé的SWRLTab中進(jìn)行整理,Protégé中的PMI完備性檢查規(guī)則庫(kù)如圖6所示。規(guī)則創(chuàng)建完成,在Protégé的“Individual by class”模塊中創(chuàng)建對(duì)應(yīng)類(lèi)的實(shí)例。通過(guò)Protégé自帶的Drools引擎完成規(guī)則推理,將OWL與SWRL合并生成Drools規(guī)則語(yǔ)言。經(jīng)OWL+SWRL->、Run Drools、Drools->OWL等操作進(jìn)行推理和OWL文件更新。與本體中的類(lèi)相對(duì)應(yīng),在前文所創(chuàng)建的實(shí)體基礎(chǔ)上進(jìn)行擴(kuò)充,并為新創(chuàng)建的實(shí)體設(shè)置屬性。PMI領(lǐng)域的實(shí)體通過(guò)關(guān)聯(lián)對(duì)象產(chǎn)生聯(lián)系,每個(gè)關(guān)聯(lián)對(duì)象依據(jù)其xsd:int類(lèi)型的tag值進(jìn)行區(qū)分,經(jīng)過(guò)推理后生成推理結(jié)果。
圖6 PMI完備性檢查規(guī)則庫(kù)
本文中的知識(shí)推理功能的實(shí)現(xiàn)是基于Web網(wǎng)頁(yè)開(kāi)發(fā)技術(shù),并通過(guò)網(wǎng)頁(yè)的形式實(shí)現(xiàn)與NX系統(tǒng)的集成。采用Java編程語(yǔ)言解決Web問(wèn)題的技術(shù)稱(chēng)為Java Web[13],它是Spring框架的常用技術(shù)。這里知識(shí)推理部分將利用Java Web進(jìn)行功能頁(yè)面的開(kāi)發(fā)。
開(kāi)發(fā)過(guò)程中運(yùn)用的Java Web是基于MVC分層模式進(jìn)行設(shè)計(jì)的,采用了Spring Boot框架進(jìn)行業(yè)務(wù)邏輯控制。通過(guò)Spring Boot對(duì)Spring體系框架進(jìn)行了整合優(yōu)化,能夠利用更簡(jiǎn)易的配置快速實(shí)現(xiàn)Java Web的啟動(dòng)。通過(guò)采用MySQL數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ),結(jié)合Mybatis框架進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)[14],借助提供從數(shù)據(jù)表到Java類(lèi)的映射實(shí)現(xiàn)降低數(shù)據(jù)傳輸?shù)膹?fù)雜性的需求。MVC分層模式的原理如圖7所示。
圖7 MVC分層模式原理
Jena提供的API接口[15]支持OWL、RDFS及DAML+OIL,可以實(shí)現(xiàn)對(duì)本體文件數(shù)據(jù)進(jìn)行處理,通過(guò)讀取OWL文件,對(duì)本體進(jìn)行拓展應(yīng)用。
本文以船用柴油機(jī)某型號(hào)的機(jī)架為實(shí)例對(duì)系統(tǒng)進(jìn)行驗(yàn)證。首先需要輸入機(jī)架的MBD模型,以機(jī)架的MBD模型為信息源,所集成的信息包括視圖信息、標(biāo)注信息、特征信息(對(duì)應(yīng)加工工序信息)、幾何信息等。點(diǎn)擊“數(shù)據(jù)預(yù)處理”,系統(tǒng)對(duì)MBD模型PMI信息進(jìn)行自動(dòng)遍歷和分類(lèi);點(diǎn)擊“PMI信息提取”按鈕后,會(huì)彈出如圖8的界面,PMI的詳細(xì)信息會(huì)以樹(shù)列表的形式顯示,點(diǎn)擊“確定”按鈕后,后臺(tái)自動(dòng)保存。MBD信息提取的內(nèi)容,包括尺寸標(biāo)注、形位公差及表面粗糙度。提取后的信息通過(guò)界面顯示,同時(shí)后臺(tái)以文件形式進(jìn)行保存。機(jī)架MBD模型如圖9所示。
圖8 PMI信息提取界面
圖9 導(dǎo)入MBD模型
PMI完備性檢查部分是結(jié)合Web編程技術(shù),在Web網(wǎng)頁(yè)上實(shí)現(xiàn)的。點(diǎn)擊“PMI完備性檢查”按鈕,會(huì)自動(dòng)通過(guò)瀏覽器進(jìn)入PMI完備性檢查平臺(tái)。PMI完備性檢查包含“關(guān)系查詢(xún)”和“知識(shí)推理”兩個(gè)模塊。“關(guān)系查詢(xún)”模塊可以通過(guò)輸入實(shí)體名或關(guān)系名進(jìn)行搜索?!爸R(shí)推理”模塊通過(guò)讀取所提取的模型PMI信息,根據(jù)SWRL規(guī)則庫(kù)對(duì)PMI標(biāo)注進(jìn)行知識(shí)推理。PMI信息包括標(biāo)注的編號(hào)、類(lèi)型、公差值和關(guān)聯(lián)對(duì)象編號(hào)。點(diǎn)擊“開(kāi)始推理”按鈕,自動(dòng)在所導(dǎo)入的PMI信息基礎(chǔ)上進(jìn)行推理。推理完成后,會(huì)在界面右側(cè)按照冗余性標(biāo)注、取代性標(biāo)注、矛盾性標(biāo)注3種類(lèi)型自動(dòng)對(duì)推理結(jié)果進(jìn)行歸類(lèi)。詳細(xì)信息包括尺寸類(lèi)型及其對(duì)應(yīng)的tag值。如圖10所示。
圖10 PMI完備性檢查結(jié)果
由推理結(jié)果可知,機(jī)架MBD模型中出現(xiàn)3個(gè)冗余性標(biāo)注,2個(gè)取代性標(biāo)注,3個(gè)矛盾性標(biāo)注。導(dǎo)出PMI完備性檢查結(jié)果,部分PMI完備性檢查報(bào)告如圖11所示。在第1個(gè)平面的第2個(gè)角度和第3個(gè)角度存在2個(gè)取代性標(biāo)注,分別是Tag值為53 620和64 606的形狀公差,這兩個(gè)形狀公差可以相互取代。同理可以通過(guò)Tag值的不同找到機(jī)架MBD模型中的冗余性標(biāo)注和矛盾性標(biāo)注。經(jīng)檢驗(yàn),關(guān)于尺寸標(biāo)注、形狀公差和表面粗糙度的錯(cuò)誤標(biāo)注均能根據(jù)該方法進(jìn)行檢查。
圖11 部分PMI完備性檢查報(bào)告
本文針對(duì)MBD模型的PMI完備性檢查問(wèn)題展開(kāi)了研究,結(jié)合NX平臺(tái)的相關(guān)開(kāi)發(fā)技術(shù),開(kāi)發(fā)了船用柴油機(jī)關(guān)鍵件MBD模型的PMI完備性檢查系統(tǒng)。通過(guò)船用柴油機(jī)典型零件實(shí)例,驗(yàn)證了系統(tǒng)方案的良好性能。針對(duì)當(dāng)前信息標(biāo)注過(guò)度依賴(lài)人工、PMI信息提取及完備性檢查困難以及工序模型存儲(chǔ)成本較高等問(wèn)題,提出了以MBD模型為唯一數(shù)據(jù)源的PMI完備性檢查技術(shù)研究方案。將知識(shí)圖譜技術(shù)與完備性檢查技術(shù)相結(jié)合,自頂向下地構(gòu)建了PMI領(lǐng)域知識(shí)圖譜,并通過(guò)Neo4j技術(shù)實(shí)現(xiàn)了信息的可視化及存儲(chǔ)。在此基礎(chǔ)上結(jié)合SWRL規(guī)則推理建立PMI完備性檢查的相關(guān)規(guī)則,實(shí)現(xiàn)了PMI完備性檢查。在完成了系統(tǒng)方案設(shè)計(jì)及系統(tǒng)關(guān)鍵技術(shù)理論研究的基礎(chǔ)上,利用NX二次開(kāi)發(fā)工具,結(jié)合Visual Studio2012等編程開(kāi)發(fā)工具,以C++等編程語(yǔ)言進(jìn)行了系統(tǒng)的開(kāi)發(fā)。最后通過(guò)船用柴油機(jī)典型零件實(shí)例對(duì)系統(tǒng)進(jìn)行了驗(yàn)證。