李 成,許 超
(東南大學 機械工程學院,江蘇 南京211100)
鈑金折彎件的工序編排是折彎工件工藝設計的關鍵環節,工序編排的效果對保證折彎加工精度,提高加工效率有著至關重要的影響。然而,在數控折彎加工中,由于工件幾何變化、生產條件不同、折彎要求差異、加工效率等因素,使得折彎工序編排成為一個復雜的工藝決策過程[1]。
針對折彎工序編排特點,國內外有很多學者對其進行了研究。一種方法是利用啟發式方法來削減解的搜索范圍,使用不同的啟發式規則來獲取較優解。如J.Doflou[2]等人提出了一種折彎排序解決方案,在幾何約束優先的基礎上,再結合一個更加細化,基于懲罰的搜索引擎來進行約束求解。但啟發式規則過分依賴于零件的形狀,有可能會無法獲取排序最優解。另一種方法是根據人工智能的原理和方法,通過專家知識的獲取、表達和推理來獲取目標實例排序最優解。如盛兵等人[3]將類比學習和啟發式搜索相結合,開發出了具有一定自學習能力的鈑金折彎專家系統。但系統中類比推理方法僅僅是通過部分形狀特征匹配實例,匹配相似度受到一定的局限,獲取的編排結果的可信度也不高。
作者嘗試在數控系統中利用CBR 技術來獲取折彎件的工序編排結果。首先向折彎工藝知識庫中添加若干典型加工實例,將帶求解的目標零件分解成幾個實例對象的組合,再從案例庫中匹配出屬性一致的案例,調用案例的排序解獲取分解實例對象的編排,最后將分解模型的局部解按照一些經驗規則進行組合,進而得到目標零件的折彎工序,提高了折彎工藝知識的利用率和鈑金折彎件的加工效率。
作為人工智能研究的一個方法,案例推理(Case-Based Reasoning,CBR)的研究開始于上世紀80年代初[5-6]。CBR 是一種相似類比推理,其核心思想是通過訪問和調整實例庫中過去同類問題,推理出當前問題的解決策略。實例就是已完成問題的解決方案,它描述了一個問題的狀態及求解策略,如圖1 所示,通常可用框架、面向對象或語義網絡等來表示。其中問題描述部分主要用于實例的分類標識,實例相似度匹配和實例相似性檢索。問題解決方案是一個實例成功的解決方案,簡單來說,CBR 依據以前成功的工藝設計實例進行當前工藝規劃問題的推理求解。運用案例推理技術,就必須建立一個合理的實例模型,同時采用一種方式將實例知識表達出來。

圖1 工藝實例基本模型
避免鈑金件受到自身干涉以及和機床模具間碰撞干涉的影響,不同形狀的折彎件會采取不同的折彎編排策略,本文根據以往工藝經驗知識提取出截面類似為“Z”、“反Z”、“U”、“反U”四種類型的典型案例,如圖2 所示。其中“Z”和“反Z”,“U”和“反U”這兩組只是折彎邊的折彎方向不一致,干涉尺寸約束一樣,但為了提高匹配效率,故將它們區分表示。鈑金折彎件案例的描述部分主要是指實例幾何信息的描述,采用角碼(AngleCode)、規則碼(RuleCode)以及關鍵尺寸對折彎案例的幾何形狀進行描述,關鍵尺寸主要包括案例所有的折彎長度(LengthArray)以及折彎角度(AngleArray),案例的解決方案(Knowledge)即為折彎實例的編排結果。所以鈑金折彎件實例模型可表示為:


圖2 典型案例
1.1.1 角碼
在折彎工件中,圖形元素以一定的角度關系相連接,其二維圖形可以看作由一系列線段兩兩首尾相接組成的不封閉圖形。本文規定對于某道折彎,從節點序號較小的一端開始進行右手法則,若大拇指朝上就定義為正向折彎,其彎曲角編碼為0,反之為反向折彎,其彎曲角編碼為1。每個案例含有兩個彎曲角,故角碼可用一個字節長度為2 的字符串來表示,值為由外至內彎曲角角碼的連接,圖2 標出了典型案例折彎角的折彎方向,表1 即為典型案例簇的角碼值。

表1 典型案例簇角碼表
同類案例具有相同的角碼,在匹配案例時,首先根據實例對象的角碼進行檢索其所在案例簇,即為預匹配,也可以稱為定性匹配,可以避免不需要的數據匹配計算,從而提高檢索效率。
1.1.2 規則碼
僅僅通過角碼明顯不能匹配出合理的案例。因為即使角碼相同,如果折彎尺寸不同,也會影響到最終的編排結果,所以需根據零件的尺寸信息進行深度匹配,也可稱之為定量匹配。就折彎件截面而言,影響折彎編排最主要的尺寸為折彎角度、折彎長度。容易發生碰撞干涉的典型案例,其折彎角度以及折彎長度存在一定的規律。本文通過研究各種典型案例碰撞時的尺寸約束,制定了對應的尺寸規則表達式。每個案例都有一個表示尺寸約束的規則碼,根據實例的具體尺寸值即可判斷表達式的真假。這里用一個字節長度為2 的字符串來表示該案例的規則碼,以此表示案例的尺寸約束。
(1)Z 型和反Z 型案例尺寸約束
對于Z 型和反Z 型案例,若一側法蘭面的折彎長度在中間法蘭面上的投影大于中間法蘭面的折彎長度時,對應折彎邊應該最后折彎。如果優先折彎,那么在加工另一條折彎邊時,折彎件定位時容易和下模發生干涉,如圖3 所示。所以該類型的案例可以確定其編排結果。

圖3 一個Z 型典型案例
由此可以設計Z 型案例的規則表達式如下:

考慮到下模寬度,在上式中添加k1為Z 型干涉余量因子,令k1=1.2。規則碼不相同的Z 型案例具有不同的折彎排序結果,案例知識如表2 所示。表中Case1 兩個表達式結果都為假,原則上兩個彎可任意順序,但是這里案例的折彎邊默認順序是由外向內表示,根據“外部折彎邊優先”的原則規定其折彎排序。Case4 表示兩個表達式都為真,即折任意一道彎后都會影響另一道彎的加工,所以當一個零件出現這樣的特征就應該提示重新設計鈑金件。“反Z”型案例與Z 型案例有著同樣的碰撞尺寸約束,不一一列出。

表2 Z 型案例知識表
(2)U 型和反U 型案例尺寸約束
對于U 型和反U 型案例,若在折第二道彎時,外側法蘭面折彎長度的水平投影大于中間法蘭面的水平投影,折彎件就容易和上模發生干涉,如圖4 所示,為了防止發生碰撞,所以該側的折彎邊應該最后折彎。即該類型的案例也可以確定其編排結果。

圖4 一個U 型典型案例
由此可以設計U 型案例的規則表達式如下:

考慮到上模寬度,在上式中中添加k2為U 型干涉余量因子,令k2=1.2。規則碼不相同的U 型案例具有不同的折彎排序結果,案例知識如表3 所示。表中Case1 表示兩個表達式結果都為假,原則上兩個彎可以任意順序,但是這里案例的折彎邊默認順序是有外向內表示,根據“外部折彎邊優先”的原則規定其折彎排序。Case4 表示兩個表達式都為真,即折任意一道彎后都會影響另一道彎的加工,所以當一個零件出現這樣的部分就應該提示重新設計鈑金件或者選用鵝頸型上模以防止干涉。“反U”型案例與U型案例有著同樣的碰撞尺寸約束,不一一列出。

表3 U 型案例知識表
知識表達的目的是把人類的知識進行邏輯表示,采用有效的數據結構,物理地表示并存儲到計算機中,以便靈活地操作所存儲的知識。實例表達方法主要有規則表達法、框架表達法和面向對象的表示方法。在實例表達中,實例的表達問題信息描述部分最為關鍵,因為它更加體現領域知識的理論精髓,這部分信息通常是一類領域知識中關鍵性的屬性信息,通過上節分析可知,折彎實例的問題描述主要是對實例的幾何形狀進行描述,主要屬性信息包含實例的折彎尺寸信息(包括折彎長度以及折彎角度)、實例規則碼和實例角碼。面向對象的方法能有效表示客觀世界各種復雜的實體及其關系,能夠從客觀世界的具體事物及事物間的聯系進行抽象,更符合人們認識問題和分析問題的習慣思維方式,并具有代碼重用和可維護性好等特點。基于面向對象方法的這些優點,本文采用對象類Class Case 來表達折彎實例模型,類中含有幾何相關的成員數據,以及處理數據的成員函數。
基于案例推理的折彎排序流程如圖5 所示。

圖5 基于案例折彎排序流程
每個復雜的零件可以看作典型案例模型的組合,所以可以將零件分解成若干實例對象,然后通過與案例知識庫中的案例進行匹配,從而獲取局部排序。零件的分解涉及到創建零件采用的數據結構。由于折彎件的折彎邊和面在零件的結構中相互連接,即折彎邊和面之間有一個拓撲關系,故本文采用面邊屬性連接圖(FEA)來表示一個鈑金件,圖6 即為一個鈑金件實例及其面邊屬性連接圖。在連接圖中,根節點表示鈑金件的中心面,其余節點代表法蘭面,連接代表折彎邊。其中,節點和邊分別存儲了自身的屬性信息。典型案例模型的拓撲關系為通過兩條折彎邊連接3 個折彎法蘭面的模型,故從中心面的每個分支葉子節點逐層遍歷向上提取3 個節點以及2條連接作為一個實例對象。重復這個操作,起始點依次遞減,直至第3 個節點到達根節點,說明該分支分解結束。按照這種分解規則,圖6 所示零件左側分支可以分解為[f4,e4,f3,e3,f2]、[f3,e3,f2,e2,f1]和[f2,e2,f1,e1,f0]3 個實例對象。

圖6 鈑金零件實例及其面邊屬性連接圖
基于案例推理的知識系統的推理機的設計主要是案例檢索方法的設計。推理策略有多種,基于本文創建的實例,采用歸納檢索策略。通過實例的角碼和規則碼這兩個關鍵特征屬性將實例區分開。首先通過角碼將同案例庫分割成簇,再通過規則碼將每個簇分割成具體案例,構建決策樹模型如圖7所示。首先根據分解實例對象的屬性信息計算它們的角碼和規則碼,再按照角碼進行事例檢索,最后根據規則碼匹配出最終相似的案例。通過這種從根節點逐層向下進行案例檢索,最終獲取同型案例,將分解的實例模型與案例的折彎編排結果配對起來,即可求出所有分解實例模型的折彎編排結果。

圖7 案例匹配決策樹
將一個零件分解成一個實例對象集,通過案例匹配可以獲取每個實例的編排結果,但這只是零件編排的局部解。為了得到零件的整體編排解,就需要按一定的規則將這些局部解組合起來。首先對一個零件,一般中心面的各個分支的內部排序不會影響到其他分支的排序,將中心面的各分支連續編排,按照“外部折彎優先”的順序依次編排,獲得各個分支的折彎排序。因為通常干涉會發生在相鄰邊的折彎處,所以同向分支排序就涉及到與基板相連的兩道折彎排序,提取中心面和相連兩道折彎邊以及其法蘭面作為一個實例對象來進行二級案例匹配求解其排序。上例就可以在X 向提取模型[f1,e1,f0,e5,f5]。如果e1比e5優先折彎,說明左側分支折彎優先,左側折彎全部加工好后再折右側的彎,同樣方法組合Y 向分支的編排。最后按照“折彎線長度較短邊優先的原則”將兩個方向的解組合起來,即可求得零件的編排結果。

圖8 零件X 向和Y 向截面圖
以圖6 中的鈑金零件為例來說明本方法獲取折彎工序編排的流程并以此證明該方法的可行性。在創建零件時,就計算出每個折彎邊的角碼,圖8 即為零件的X 向和Y 向的截面圖,截面圖上含有零件的尺寸信息,以及各折彎邊的折彎方向。
首先根據零件的面邊屬性結構,將零件各個分支分解成若干實例對象,在根據各對象的具體尺寸信息,計算他們的角碼和規則碼,然后在案例匹配決策樹中逐層檢索,匹配出相似案例,再調用案例的編排知識,作為實例對象的局部編排結果,如表4 所示。

表4 零件分解及匹配
根據各個分支折彎局部解的組合規則,可以求出各個分支的排序解。上述實例左側分支的排序即為{e4,e3,e2,e1},右側分支排序即為{e7,e8,e6,e5},后側和前側的組合排序即為{e10,e9}和{e12,e11}。在X 向和Y向分別提取實例模型[f1,e1,f0,e5,f5]和[f9,e9,f0,e11,f11]進行二次匹配,匹配結果均為Case9,為U 型折彎,提取模型的兩道折彎沒有內外之分,所以X 向和Y向兩側分支先后順序都不受約束。最后由X 軸向的折彎線長度比Y 軸向的折彎線長度短,根據折彎線長度較短優先的原則應該先彎曲X 向折彎邊。所以可以得到最終可行的排序為:
(1)e4-e3-e2-e1-e7-e8-e6-e5-e10-e9-e12-e11
(2)e7-e8-e6-e5-e4-e3-e2-e1-e10-e9-e12-e11
(3)e4-e3-e2-e1-e7-e8-e6-e5-e12-e11-e10-e9
(4)e7-e8-e6-e5-e4-e3-e2-e1-e12-e11-e10-e9
本文通過收集和總結已有的知識經驗和案例,利用基于案例的推理(CBR)方法來獲取一個復雜折彎件的折彎排序,首先將一個復雜的折彎件分解成一個實例對象集,利用歸納檢索策略為每個實例模型匹配出相似案例,再根據啟發式規則和二次匹配將獲取的局部解組合,進而獲取目標零件的折彎工序。實例表明,通過該方法可以獲取一個復雜件的折彎排序,并能夠使折彎數控系統具有一定的自學習能力,提高了鈑金折彎工序編排效率和系統的智能性。
[1]張海濤.數控折彎機編程系統的關鍵技術研究[D].南京:東南大學,2013.
[2]J.Duflou,D.VanOudheusden.Algorithms for the Design Verification and Automatic Process Planning for Bent Sheet Metal Parts [J].Annals of the CIRP 1999,48(1):405-408.
[3]盛 兵.新型折彎數控系統研究[D].武漢:華中科技大學,2002.
[4]陳柏金,丁 靜.折彎加工CAD/CAPP 研究[J].鍛壓裝備與制造技術,2004,39(2):98-100.
[5]SongYuyin,Zhang Bopeng,CaiFuzhi,et al.Aknowledge-based design for manufacture system[J].北京:人與控制論國際會議論文集,1996,1220-1224.
[6]陳宏光,王義林,等.基于KBE 的汽車覆蓋件工藝方案的決策模型[J].鍛壓裝備與制造技術,2006,41(1):57-60.
[7]羅相文.PACIFIC 折彎機液壓系統淺析[J].液壓氣動與密封,2014,(3).