費銘濤 韓澤凡 周長虹 黃 瑞 蔣俊鋒
(河海大學物聯(lián)網工程學院 常州 213022)
數(shù)控工藝設計是根據(jù)零件的三維CAD 模型及其技術要求信息,將毛坯依序轉換為零件最終形狀的過程。隨著信息技術的不斷創(chuàng)新和和數(shù)字化工藝的飛速發(fā)展,國內外圍繞“智能工藝設計”已開展了大量的研究和應用,涌現(xiàn)出一批以“可解釋性”工藝[1~2]、工藝重用[3~4]等為主題的新的研究和應用熱點,為先進制造技術的發(fā)展帶來了巨大推動。日益增多的三維CAD 模型關聯(lián)了大量的工藝意圖信息,其凝聚了工藝設計人員的工藝設計成果、智慧和經驗[5~6]。如何挖掘利用這些工藝設計意圖,是當下提高加工效率急需解決的問題[7]。
為了實現(xiàn)工藝設計意圖的有效重用,大量的科研人員參與研究并取得了豐富的研究成果[8~12]。目前已有方法是根據(jù)需要對工藝設計意圖進行提取,然而目前存在的工藝設計意圖提取方法仍存在缺陷,如文獻[13]對于工步的工藝設計意圖的捕獲是基于對加工操作工藝設計意圖的分類而得到的,其沒有考慮到工步之間存在的時序與語義約束關系,可能會導致工步設計意圖序列不合理等問題。
針對這一問題,本文將GEP(Generalized Earley Parser)[14]運用到工藝設計的意圖提取研究中。GEP 是一種直接對輸入序列數(shù)據(jù)進行操作的基于語法規(guī)則的解析算法。該算法將工藝數(shù)據(jù)標簽通過分類器輸出的每一幀標簽的概率,生成概率矩陣,以概率矩陣作為算法輸入,聯(lián)合語法展開的工藝知識與或圖[15]上執(zhí)行啟發(fā)式搜索,啟發(fā)式定義為基于語法先驗和分類器輸出計算的前綴概率,搜索空間的限制確保了輸出句子的語義正確,最終算法可以有效地在樹中搜索以找到最佳的標簽句,即最優(yōu)的零件工步設計意圖方案。
定義1 加工特征。加工特征定義為零件在同一裝夾下滿足特定制造屬性(如刀具軸向、精度約束、合理加工工藝等)的一組相鄰表面集合,可以表示為
其中,TD表征與子加工區(qū)域關聯(lián)的技術數(shù)據(jù),如材料、公差、表面粗糙度等;TAD 為子加工區(qū)域的方位;Gs由子加工區(qū)域的底面B,底角面集合F,轉角面集合C,輪廓面集合S組成。
定義2 加工操作。加工操作為零件數(shù)控程編的一個基本單元,由加工幾何DG、加工策略MS、加工資源MR等組成,每個加工操作可生成一組刀位軌跡,可以表示為
其中,n為op生成的刀位點數(shù)量。
定義3 工藝設計意圖。工藝設計意圖反映了工藝設計人員在工藝設計過程中采用某個工步/加工操作的目的,可以抽象為由加工階段與加工對象構成的一個二元組IP=(SM,OM),其中,SM包含粗、半精、精等,OM包含內形、外形、底面、轉角、底角等。
定義4 工藝知識與或圖模型。工藝知識與或圖(Process knowledge And-Or graph,PK-AOG)本質上是一種由多條工藝知識復合而成的概率語法圖模型,可表征大量的復合工藝過程和具有較好解釋性的工步設計意圖序列。它由六元組G=(S,VN,VT,R,P,∑)表示,體現(xiàn)了一種概率上下文無關文法[16]。其中,S 是整個工藝類別的根節(jié)點,用以對整個工藝流程(頂層)到單個工步設計意圖(底層)的分層分解;
VN=Vand∪Vor是由與節(jié)點和或節(jié)點構成的非終端節(jié)點,每個與節(jié)點表征一個工步設計意圖序列中的具體工步,并分解為后續(xù)工步意圖作為其子節(jié)點,或節(jié)點表示實現(xiàn)整個工藝序列的多種可選方法;
VT為終端節(jié)點即圖中的葉子節(jié)點,其不可以被其他節(jié)點進一步擴展;
P為該條工步設計意圖發(fā)生的概率;
R 為有限的工藝規(guī)則集,描述節(jié)點之間的工藝語法關系;
∑為所有可能工藝序列實現(xiàn)的集合。
工藝知識與或圖本質上構成了所有工藝設計意圖序列的解空間,通過與節(jié)點和或節(jié)點,將多條工藝設計意圖序列復合到一張圖上,因而在工步設計意圖推理中有很好的引導作用,有助于后續(xù)對于工步設計意圖的聯(lián)合優(yōu)化求解。
通常,大量質量較高的工藝數(shù)據(jù)中內嵌了工藝設計人員的知識與經驗,通過經驗豐富工藝設計人員對其進行交互標記,采用多層次機構化工藝模型可以有效地將工藝加工特征與加工操作有效關聯(lián),通過分析加工操作的不同加工階段有效提取出加工操作的工藝設計意圖。同時,工藝數(shù)據(jù)中的工步設計意圖序列反映了工步之間的時序與語義約束關系,采用語法歸納方法可以構建工藝知識與或圖,作為工步設計意圖序列搜索的語義樹。因此,本文以工藝知識與或圖為引導,通過工步下不同時刻加工操作工藝設計意圖的概率分布,生成符合邏輯、語義準確的結構化工藝數(shù)據(jù),供后續(xù)數(shù)控加工工藝決策使用。
圖1 給出了本文方法的總體流程,主要包含兩個部分:工藝數(shù)據(jù)的表征與挖掘和基于語法解析的零件工藝設計意圖提取。具體如下。
圖1 本文方法總體框架
1)工藝數(shù)據(jù)的表征與挖掘
該部分主要將工藝數(shù)據(jù)中的三維CAD 模型與三維CAM 模型進行有效交互,以加工特征與加工操作作為多層次結構化工藝模型的關聯(lián)性橋梁,生成有效的加工操作工藝設計意圖,并且采用語法歸納方法挖掘不同工步設計意圖之間的時序與語義關系,構建工藝知識與或圖。
2)零件工藝設計意圖提取
該部分根據(jù)工藝數(shù)據(jù)中不同時刻工步關聯(lián)加工操作的設計意圖,提取加工操作的工藝設計意圖,并計算不同時刻候選工步下加工操作工藝設計意圖的概率分布,以工藝知識與或圖模型為引導,采用基于GEP語法解析的工步序列聯(lián)合優(yōu)化,獲得工藝知識與或圖的一個解析圖,其終端節(jié)點構成該工藝數(shù)據(jù)的工步設計意圖序列,從而實現(xiàn)其結構化表征。
工藝數(shù)據(jù)的表征與挖掘主要目的包含兩個方面:1)對不同時刻工步下關聯(lián)的加工操作設計意圖進行結構化表征;2)提取出工步設計意圖間時序與語義的關系。前者以多層次結構化工藝模型為基礎提取出有用的加工操作設計意圖,后者可以采用語法歸納方法生成工藝知識與或圖。
多層次結構化數(shù)控加工工藝模型以加工特征與加工操作之間的關聯(lián)性為橋梁,由結構化三維CAD模型與結構化CAM模型構成。其中:
1)結構化CAD 模型由零件層、方位層、加工特征層組成。零件層描述零件的整體特性,如零件的材料、毛坯等;方位層描述零件加工需要的加工方向;加工特征層描述加工特征的屬性,包括制造語義、拓撲與幾何。
2)結構化CAM 模型由工步序列層、加工操作層、工藝參數(shù)層組成。工步序列層由工位與工步組成,抽象描述零件的加工工藝過程,是設計人員高層次工藝設計意圖的顯式表征;加工操作層描述一個工步的關聯(lián)加工幾何由多少個加工操作來完成加工;工藝參數(shù)層描述了一個加工操作所需的具體工藝參數(shù),包括加工幾何、加工策略、加工資源等。
在數(shù)控加工工藝設計過程中,工藝設計人員根據(jù)企業(yè)標準對工步、加工操作進行命名,通過設計人員對零件進行仿真,計算加工操作的工藝參數(shù),推理出每個加工操作的工藝設計意圖,該過程依賴設計人員豐富的知識經驗。
鑒于ADIOS 算法[17]能夠通過信息統(tǒng)計的方法從未經標注的語料數(shù)據(jù)中提取得到對應的結構語法,本文采用ADIOS算法來實現(xiàn)工藝知識與或圖的構建。該算法以結構化工藝數(shù)據(jù)的工步設計意圖序列為輸入,通過迭代生成“與”節(jié)點和“或”節(jié)點挖掘零件工藝方案中顯式的工藝知識,從而構建以工步為終端節(jié)點的工藝知識與或圖。具體步驟包括:
Step1. 將所有結構化工藝數(shù)據(jù)的的工步序列表示為一個有向圖,并通過增加兩個特殊節(jié)點(START 和END)對其進行擴充。每一條工步序列均對應有向圖中的一條路徑,并且每一個節(jié)點表示一個具體的工步。
Step2.遍歷不同的路徑,尋找部分工步序列相同的子路徑以生成候選模式。
Step3. 在迭代過程中根據(jù)候選模式長度和候選模式內構成元素的互信息大小計算每個候選模式的重要性,并生成重要模式,從而構建“與”節(jié)點。
Step4. 將具有相似語義的候選模式動態(tài)識別為等效類,構建“或”節(jié)點,保證工藝知識與或圖較高的壓縮率和泛化能力。
Step5. 迭代重復步驟2、3、4,實現(xiàn)工藝知識與或圖的拓展與重構,并計算每條工藝知識產生式規(guī)則的概率。
給定一個未標記的工藝數(shù)據(jù),首先需要提取不同時刻工步關聯(lián)加工操作的工藝設計意圖,構建工步設計意圖序列矩陣Xt=[xt]n;然后根據(jù)矩陣標簽求解零件對應的工步設計意圖序列概率分布矩陣Pn=[pt]n;最后,根據(jù)構建的工藝知識與或圖,采用基于語法解析的工步設計意圖序列推理方法對工藝數(shù)據(jù)進行設計意圖標記。下面對其進行詳細討論。
在不同時刻的工藝設計工步下包含了一個或多個加工操作,為了得到工步的工藝設計意圖,需要對加工操作的設計意圖進行捕獲,假設與Fi關聯(lián)的加工操作集為{opt},其相應的加工操作opt均對應了特定的工藝設計意圖,可以用“加工階段+加工特征”對其進行描述(如粗銑外形),具體如下。
1)加工階段SM
通常,加工階段分為粗加工,半精加工和精加工,隨著加工操作的進行,加工面的軸向加工余量fB、徑向加工余量fC和底角加工余量fF逐漸減少,通過遍歷制造特征關聯(lián)的加工操作,結合各加工余量的大小,可得到加工操作的加工階段。結合實際加工經驗,可得在同一工步下:當Fi第一次加工且存在較多加工余量時,為粗加工;當Fi已經完成粗加工,且具有較大加工余量時,為半精加工;當Fi的某個加工面的加工余量為0時,為精加工。
2)加工特征OM
對于加工操作關聯(lián)的加工區(qū)域,根據(jù)其特征識別的類型,可得到加工階段的加工特征。
3)在粗加工與半精加工階段
當加工區(qū)域中fB、fC和fF均不為空,則OM為型腔;當fB不為空,fC和fF為空,OM為筋;當fB為空,fC和fF不為空,OM為輪廓,其中型腔內輪廓可稱為內形,外輪廓稱為外形。
4)在精加工階段
當軸向加工余量δB為0 時為底面精加工,且根據(jù)底面的大小,OM還可分為腹板和筋;當徑向加工余量δC或底角加工余量δF為0時OM為輪廓。特殊情況下,加工刀具尺寸存在過大的問題,需要對轉角和底角進行單獨精加工,在加工操作opt關聯(lián)的加工面fC精加工前,若其相鄰的兩個輪廓面fC1、fC2已完成精加工,且fC曲率半徑大于刀具半徑,則opt的加工特征OM為轉角;在加工操作opt關聯(lián)的底角面fF,當在opt之前存在對fF的精加工,則OM為底角。
綜上所述,歸納可得加工操作的工藝設計意圖IP,如表1。
通常,在給定時刻其候選工步設計意圖具有不同的置信度,因而零件的工步設計意圖序列決策過程本質上是一個候選工步設計意圖動態(tài)優(yōu)化選擇過程。但是,如果根據(jù)每個時刻候選工步設計意圖的概率最優(yōu)值進行決策,忽視了工步之間的語義與時序關系,導致推理的零件工步設計意圖序列難以與零件的實際工藝過程相符。
因此,本文基于計算每個時刻候選工步設計意圖的概率分布,并以不同時刻候選工步的概率為輸入,從工藝知識與或圖中優(yōu)化搜索一條路徑,使得獲得的工步設計意圖序列具有最大概率,可以描述為
其中,L(G)表示工藝知識與或圖G可以產生的所有候選工步設計意圖序列,ln為一條候選工步設計意圖序列,Pn為工步設計意圖序列概率分布矩陣,為最優(yōu)工步設計意圖序列。
為了計算式(3)的最優(yōu)值,可以通過對工藝知識與或圖進行整體遍歷。但是,由于工藝知識與或圖可以產生大量候選工步設計意圖序列,導致其計算效率較低。因此,本文借鑒自然語言領域語法解析的思想對其進行求解。
GEP語法解析方法以Pn為輸入,從工藝知識與或圖里搜索具有最大概率的一條工步設計意圖序列。該方法的核心思想是根據(jù)工藝知識與或圖中的語法規(guī)則構建工步前綴樹(由終端工步節(jié)點與終止節(jié)點構成)。從工步前綴樹的根節(jié)點到其他任意一個工步節(jié)點的路徑表示一個工步前綴,其可以通過廣度優(yōu)先遍歷PK-AOG 來構建。對于每一個工步前綴,記作l…,可以計算其工步前綴概率p(l…|p1:n),以及以l…為起點的最優(yōu)工步序列的概率p(l|p1:n)?;趐(l|p1:n),可以采用啟發(fā)式規(guī)則計算工步前綴樹的最優(yōu)工步序列l(wèi)*,即工步前綴的概率優(yōu)于工步前綴樹中待擴展節(jié)點構成的工步序列的概率。因此,當一個工步前綴擴展一個終止節(jié)點時,如果其概率大于其他工步前綴的概率,則返回該工步前綴作為當前工步前綴樹的最優(yōu)工步序列。p(l|p1:n)可以采用動態(tài)規(guī)劃方法計算。
假設k 為l 的最后一個工步設計意圖下標,當t=1,初始化其概率為
假設l-為l 的直接工步前綴,即l= l-+k。當t >1,在時刻t,其工步必須為k,而其余時刻[1,t-1]的工步序列可以為l 或者l-,因而p(l|p1:)t的概率可以采用如下公式計算:
基于p(l-|p1:)t,可以計算工步前綴概率p(l…|p1:n)。假設l為一個工步前綴,由l-到l可以發(fā)生在任意時刻t ∈{1,…,n}。假設在時刻t,獲得了工步k,則l成為一個工步前綴,其他時刻[t+1,n]的工步序列可以任意選擇。因此,以l 為工步前綴的概率可以采用如下公式計算:
因此,根據(jù)式(4)~(6),對于工步前綴樹里的每個工步前綴l,基于Pn,可以計算出以l 為最優(yōu)工步序列的概率p(l|p1:n),以及以l為最優(yōu)工步序列前綴的概率p(l…|p1:n),從而可以獲得最優(yōu)的工步序列l(wèi)*。
為了驗證本文方法的有效性,以Microsoft Visual Studio 2012 為集成開發(fā)工具,在CATIA V5 R27 CAA 環(huán)境下開發(fā)了多源特征工藝融合的零件數(shù)控加工工藝優(yōu)化生成原型系統(tǒng),并且基于Pytorch 構建GEP 語法解析模型,對最優(yōu)的工步序列進行預測。
圖2 給出了一個零件的工藝數(shù)據(jù)。該零件包含兩個方位A 與B,由3 個型腔(F1,F(xiàn)4,F(xiàn)6),4 個筋(F2,F(xiàn)3,F(xiàn)9,F(xiàn)10),1 個外形(F5),2 個孔(F7,F(xiàn)8)組成。圖2(a)給出了該零件的數(shù)控加工工藝,主要由工位WO、工步WS、刀具T、加工操作op等組成。
圖2 零件工藝數(shù)據(jù)實例
在WO 中,工步G023C0201 下包含了5 個加工操作,其中Profile Countouring.50 的加工操作,設計人員設定的δB為1.5mm,δC為5mm,根據(jù)本文方法可得到該加工操作處于粗加工階段,且對于加工特征,fB為空,fC和fF不為空,因此可以得到OM為外形,最終確定該加工操作設計意圖為粗銑外形。
為了對每一個結構化工藝數(shù)據(jù)進行描述,加工操作層可以用一個加工操作工藝設計意圖矩陣進行表示,如圖2(c),記作Xn×k=[xt]n。其中,xt為t時刻的工步包含的所有加工操作的設計意圖向量,k為加工操作的設計意圖的種類數(shù)量;與之對應的概率分布矩陣記作Pn×l=[pt]n,其中,l 為工步設計意圖的種類數(shù)量,pt為t 時刻的工步設計意圖概率向量,wij(i=0,1,2,…n-1;j=0,1,2,…l-1)為矩陣中元素分配的概率,其值為工步t=i+1 時刻對應加工操作j占所有加工操作的比值。如圖5(a)為n=5 時零件Ⅰ加工操作工藝設計意圖矩陣X5×7,通過矩陣中每個工步時刻下記錄的加工操作標簽數(shù)量可以計算出X5×7對應的概率分布矩陣P5×7,如圖3(b)。采用基于GEP 語法解析的工步設計意圖序列推理方法對工藝數(shù)據(jù)進行設計意圖提取,可解析生成如圖3(d)為解析樹,圖3(c)為提取過程前綴概率緩存表,圖中加粗線條表示了搜索的最優(yōu)工步序列l(wèi)*以0.066 的概率輸出為A-RIP-ROP-FB-FR。實驗結果表明,該方法能夠有效構建子加工區(qū)域之間在不同工藝情境下的優(yōu)化合并關系,提高數(shù)控加工效率,從而支持模型引導與數(shù)據(jù)驅動的自適應數(shù)控工藝設計方法。
圖3 基于GEP語法解析的工步設計意圖序列推理實例
本文提出了一種基于GEP 語法解析的零件工藝設計意圖提取方法。主要貢獻在于:1)以多層次結構化工藝模型為引導,將加工特征與加工操作進行關聯(lián),提取出加工操作工藝設計意圖;2)使用Adios算法對工步設計意圖序列中存在的語義關系以概率上下文無關文法進行提取,并使用工藝知識與或圖對提取出的復雜多樣的工藝文法進行形式化表征以滿足工藝設計意圖序列遍歷的需求;3)利用基于GEP 語法解析算法對零件的工步設計意圖進行提取,彌補了現(xiàn)有的工藝設計意圖捕獲存在的缺陷,保證工藝過程中工藝設計意圖的準確性,從而支持工藝設計意圖引導的數(shù)控工藝重用。