莫善聰, 徐志佳,2, 唐文斌
1.華南理工大學 機械與汽車工程學院, 廣東 廣州 510640;2.塔里木大學 機械電氣化工程學院, 新疆 阿拉爾 843300; 3.西安工程大學 機電工程學院, 陜西 西安 710048
裝配是產品生命周期的關鍵環節,其按規定的技術要求將零件組裝成合格的產品;據統計,在現代航空、航天、船舶等復雜產品制造過程中,裝配工作量占整個研制工作量的20%~70%,平均為45%,裝配時間占整個制造時間的40%~60%,裝配成本則占總成本的40%以上[1-3]。當前,新一代智能制造作為新一輪工業革命的核心技術,正在引發制造業重大而深刻的變革,其中智能裝配成為亟待突破的瓶頸[1]:一方面,零件的加工精度和一致性顯著提高,產品性能的保障正在由設計加工環節逐漸向裝配環節轉移;另一方面,裝配的工藝性基礎研究進展目前仍然緩慢,大部分復雜產品的裝配都是以經驗指導的手工操作為主完成,費用高、效率低、裝配質量一致性差。因此,實現復雜產品智能裝配,在現代制造業大變革背景下具有重要意義[1]。
數字化裝配是計算機技術和傳統裝配技術結合的產物,是智能裝配建模的重要支撐技術,包括計算機輔助裝配建模、序列規劃、路徑規劃與仿真等多方面[1]。其中,計算機輔助裝配建模通過指定零件三維模型之間的配合約束,將離散的零件三維模型組合成能被計算機識別的三維裝配模型,可以為其他數字化裝配技術提供模型輸入,因此是數字化裝配技術的基礎之一。然而,當前計算機輔助裝配建模的一個突出問題是,建模過程人工干預量大、智能化程度低[4]。其直接原因是:設計意圖(design intent,DI)在零件建模階段丟失、難以被一致性地傳遞到下游環節,致使設計者不得不對其進行重復表達[5-6]。例如,在零件建模時設計者已經知道零件將如何配合,但是這一DI在零件建模完成之后,并未被捕獲到零件模型中;因此,在裝配建模階段,零件模型并不“知道”該如何配合,設計者不得不手動拾取幾何元素、選擇裝配約束類型和設置約束值,此外還需要縮放、旋轉視圖,隱藏/顯示零件等輔助操作,才能完成零件的配合,并最終建立產品的裝配模型[7]。
當前,對于DI的描述和捕獲,國內外研究者已經提出了大量的方案,包括裝配接口[7-8]、裝配語義[9-10]、基于幾何表面交互的行為模型[11]、功能表面[12]、接觸和通道模型[13]、配合面偶[14]、特征[15-16]、標注[17]等,通過在零件模型上明確待匹配幾何區域,即可在裝配建模階段推理裝配特征和裝配約束,進而實現零件的智能配合。以這些工作為基礎,研究者進一步探索了相應的產品信息模型,以便在數字化裝配系統中建立匹配的裝配信息存儲機制,從而支持整個數字化虛擬裝配過程[18]。但這些方案在零件建模階段無法完整地捕獲DI信息[5],致使裝配建模推理時容易產生DI沖突,因而需要大量的人工干預以確定合理的DI、解決DI沖突[19]。
鑒于此,裝配導航[20]、裝配特征識別[21]、裝配約束識別[22]等技術得到了發展。當待裝配零件被移動到已裝配零件附近時,裝配建模系統能夠自動識別2個零件的裝配區域、推理區域之間的約束關系、重建DI,從而實現它們的配合。這類方法可以大幅減少手動輸入工作量,但由于其基本思路是“從頭開始”識別、重建DI,而不是在產品信息模型中捕獲DI,因此并不解決DI在零件建模階段丟失、在裝配建模階段重復表達的問題,而且零件較多時人工干預量相當可觀[6]。
針對上述問題,課題組受已有研究的啟發前期提出了交互特征偶(interaction feature pair,IFP)的概念[23],形成了基于IFP描述設計者頭腦中的DI[6]、在零件建模階段基于IFP捕獲DI、在裝配建模階段基于IFP實現DI、完成零件智能配合的方案[5]。在該方案中,DI的定義為:設計者腦中所構想的零件配合模式,包括配合元素、元素類型、配合類型和配合參數等。“智能”是指通過在零件三維模型中關聯IFP、捕獲DI,零件三維模型可以成為設計者在計算機中的“代理”,能夠自主“感知”其他零件,并以類人思維的方式與其他零件配合,即自主確定需要配合的幾何元素和配合約束。為敘述方便,本文將能夠智能地確定配合元素和配合約束,實現裝配建模的技術,稱為計算機輔助智能裝配建模技術。
盡管取得了積極效果,前期工作并未以IFP為基礎,系統地建立面向計算機輔助智能裝配建模DI捕獲的產品信息模型,不利于基于IFP捕獲DI的智能裝配建模技術的深入發展。為此,以前期IFP工作為基礎,構建捕獲DI的產品信息模型,并闡明其實現過程、探討其支持計算機輔助智能裝配建模全過程的具體機制,使設計者頭腦中隱式表達的DI,在零件建模階段得到更為系統的顯性表達,進而更為一致性地傳遞到裝配建模等后續環節,為計算機輔助智能裝配建模提供支撐。
IFP的概念借鑒了已有研究中“在零件建模時考慮與其他零件配合”,以及或顯或隱采用的“偶”的思想[5],可由公式(1)進行表示[23]:
(1)
式中:IF1和IF2為屬于2個不同零件p1和p2上的交互特征(interaction feature,IF);C為IF1和IF2之間的配合約束關系,如同軸、距離、角度等;B是描述IFP形成過程的行為模型,由IFP的狀態集合S和狀態之間的遷移函數集合STF組成。
圖1a)是IFP的示例,其由一對柱面IF組成,IF之間為同軸約束。這可以將設計者頭腦中的抽象孔軸配合結構,即“2個零件將通過圓柱面進行同軸配合”的DI,描述到計算機環境中。由于IFP此時表達的是抽象的DI,因此該IFP的2個IF沒有確定的值,但其約束C確定為同軸。
零件建模時,可以通過關聯IFP捕獲DI。例如,圖1b)中的螺栓和螺母都包含了一個圓柱面(cylinder face,CF)。螺栓建模時,可在其中關聯IFP1,并將IFP1的IF1映射為CF1,IF2保持抽象;螺母建模時亦關聯同類型的IFP2,并將IF1映射為CF2,IF2保持抽象。這樣,2個零件都具備了預先“知道”自己應該跟具有CF的零件進行同軸配合的能力[5,24],因而成為設計者在計算機環境中的“代理”。
裝配建模時,基于捕獲的DI即可實現零件的智能配合。例如,在圖1c)所示的裝配建模環境中,加載螺栓和螺母之后,通過提取螺栓IFP1中IF1的值,螺母模型IFP2中IF1的值,以及IFP1或IFP2中約束C的值,即可讓螺栓和螺母“感知”其應通過CF1和CF2進行同軸配合。此時,直接調用裝配建模系統的約束求解功能即可建立實際的同軸約束,實現孔軸配合。顯然,設計者頭腦中的DI通過IFP被一致性地從零件建模傳遞到了裝配建模。

圖1 交互特征偶及基于交互特征偶的智能裝配建模策略
上文介紹了IFP的概念,以及基于IFP捕獲DI、實現智能裝配建模的思路。但如前所述,前期工作并未系統地建立捕獲DI、支持計算機輔助智能裝配建模過程的產品信息模型。為此,首先提出基于IFP的產品信息模型框架,進而采用面向對象的思想設計相應的類模型。
提出的基于IFP的產品信息模型框架如公式(2)和圖2所示。
(2)
式中:A為裝配體;Asub為子裝配體的集合;P為零件集合;C為各Asub和P之間配合約束的集合;S為實體模型集合;G為幾何元素集合;{IFP}為IFP集合;f是基于IFP對關聯特征施加配合約束的函數,從而實現DI的表達。
圖2a)~2b)分別是公式(2)第一行和第二行的圖形化展示。可以看到,提出的產品信息模型框架與傳統模型框架類似,主要包括裝配體和零件。其中,裝配體包含子裝配體集合、零件集合和約束集合;零件包含實體集合,圖形集合。但如公式(2)第二行和圖2b)所示,與傳統模型框架不同的是,提出的模型框架在零件中包括了IFP集合,以便對IFP所描述的DI進行捕獲。同時,圖2a)中的配合約束將不再通過手動指定配合元素和配合約束來實現,而是通過對IFP所描述和捕獲的DI的實例化來智能完成,如公式(2)第三行和圖2e)所示。
以此為基礎,提出的產品信息模型即可支持圖1所述的計算機輔助智能裝配建模全過程。比如,圖2d)的IFP是圖1a)和圖2g)中IFP的圖形化展示,描述了設計者頭腦中抽象的孔軸配合結構。當在零件建模階段關聯IFP,即將IFP的一個IF映射為圖2c)中螺栓或螺母中的柱面CF之后,即可將該IFP描述的DI捕獲到螺栓或螺母的零件信息模型中,如圖2b)和2f)所示。此時,螺栓或螺母模型中IFP的一個IF被賦予了實際的值,另外一個IF仍然保持抽象。在此基礎上,裝配建模系統直接調用約束求解功能,即可基于IFP建立螺栓CF1和螺母CF2之間的同軸約束C,如圖2e)及公式(2)第三行所示。
提出的產品信息模型中的主要概念包括:裝配體、零件、約束集合、約束、IFP集合和IFP。為此,采用面向對象技術設計了對應的類,包括構件類Item、裝配體類Product、零件類Component、約束集合類ConstraintGrp、約束類Constraint、IFP集合類IFPGrp和IFP類。各類的核心成員及各類之間的關系如圖3所示,具體說明如下:
1) Item是Product和Component的父類,包含2個類的共同屬性和方法;
2) Product代表總裝配體或子裝配體,主要包含零件類Component、約束集合類ConstraintGrp以及進行約束求解的Solver求解器;
3) Component表示零件,主要包含代表實體模型的Model和IFP集合IFPGrp;
4) Constraint是配合約束,主要包括約束的類型Type,分別屬于2個零件的配合元素First和Second、約束值Value及約束方向Orient等,這些成員的賦值都依賴于零件模型中關聯的IFP;
5) IFP描述DI,主要包括IFP的基本類型Type,屬于2個不同零件的交互特征IF1和IF2、2個IF之間的約束類型CType、約束值CValue及約束方向COrient等;其主要方法是構建IFP、形成Constraint的行為函數Behavior(),如坐標變換、順序/路徑規劃等;
6) 約束集合類ConstraintGrp和IFP集合類IFPGrp較為簡單,不再贅述。

圖3 產品信息模型的類模型
作為一種底層的數據結構,提出的產品信息模型框架本身是抽象的,獨立于零件建模和裝配建模過程本身。但作為支持零件建模和裝配建模的信息存取機制,其中各類抽象數據元素都是在零件建模和裝配建模過程中具體實現的。產品信息模型的實現流程及對計算機輔助智能裝配建模過程的支持,如圖4a)所示。梳理了基于IFP的智能裝配建模流程,可以看出,產品信息模型的實現由零件建模(見圖4b))和裝配建模2個階段組成(見圖4c))。其中,零件建模階段通過關聯IFP(包括指定交互特征、指定配合約束值和約束方向),在圖2b)所示的零件信息模型框架中填充了IFP信息,即在零件的三維模型中通過IFP完成了對DI的捕獲(存儲)。裝配建模階段通過提取存儲在零件三維模型中的IFP信息,并基于IFP實現零件之間配合約束的智能構建,即可在圖2a)所示的裝配體信息模型中添加配合約束信息和裝配體模型信息。

圖4 產品信息模型實現流程及對計算機 輔助裝配建模過程的支持
由于在零件建模階段關聯IFP的方法已經較為成熟[5],下文僅對產品信息模型對計算機輔助智能裝配建模過程的支持進行介紹。其具體內容是基于零件三維模型中存儲的IFP支持零件之間配合約束的智能構建,包括IFP同一性判斷算法和基于IFP的零件智能配合算法。
IFP同一性判斷算法用于判斷2個零件關聯的IFP是否屬于同一類型,進而判斷對應的幾何元素是否可以配合,如算法1所示。
算法1IFP同一判斷算法
輸入:零件p1的IFP1,零件p2的IFP2;
輸出:具有同一性的IFP對(IFP1,IFP2)。
1. if IFP1.T≠IFP2.T
2. then return false
3. else if IFP1.CT≠IFP2.CT
4. then return false
5. else if IFP1.ST=IFP2.ST=平面 && IFP1.V=IFP2.V
6. then 記錄這一對IFP
7. else
8. if IFP1.ST=IFP2.ST=柱面 && 柱面半徑差<ε
9. then 記錄這一對IFP
10. else return false
11. end if
12. end if
算法1的輸入是零件p1的IFP1和零件p2的IFP2。算法首先判斷IFP1和IFP2的類型T是否相同。T有6種類型[19]:點-點、點-邊、點-面、邊-邊、邊-面和面-面。目前,T不相同的2個IFP不能進行匹配。若T相同,算法進一步判斷2個IFP包含的約束類型CT和關聯的幾何面類型ST是否相同。目前ST只關注最常見的平面與柱面,若ST都是平面,則判斷約束值V是否相同;若ST都是柱面,則判斷2個柱面的半徑差是否在容差范圍ε之內。若上述條件都滿足,IFP1和IFP2可以匹配,否則,不能匹配。算法的輸出是2個零件中所有具有同一性的IFP對(IFP1,IFP2)。
獲得所有具有同一性的IFP對之后,即可基于這些IFP對創建配合約束、實現零件的智能配合,如算法2所示。
算法2基于同一性IFP的零件智能配合算法
輸入:所有具有同一性的IFP對及其對數n;
輸出:配合約束,零件配合。
1. for (i=0;i 2. Cnst←new Constraint() 3. Cnst.First←IFPi-1.IF() 4. Cnst.Second←IFPi-2.IF() 5. Cnst.Type←IFPi-1.ConstraintType 6. Cnst.Value←IFPi-1.ConstraintValue 7. Cnst.Orientation←IFPi-1.Orientation 8. end for 算法2遍歷所有具有同一性的IFP對。對于第i對中的IFPi-1和IFPi-2,其配合約束是相同的,因此只需根據一個IFP創建配合約束即可。為此,算法首先新建一個配合約束Cnst,其關聯的2個零件上的配合元素First和Second可通過調用IFPi-1和IFPi-2的IF()函數獲得。以圖4b)為例,可獲得螺栓和螺母上的配合元素為bolt/CF和nut/CF。此后,可提取IFPi-1或IFPi-2中的約束類型、約束值、約束方向等的值,并賦給Cnst對應的屬性即可完配合約束Cnst的實例化。最后,算法調用圖3所示的約束求解器Solver可計算并更新零件的配合位姿。 基于產品信息模型,在FreeCAD平臺上完善了前期開發的計算機輔助智能裝配建模原型系統。FreeCAD是一個開源參數化CAD(computer-aided design)平臺,使用了CAD實體建模內核OpenCascade[25],但缺乏裝配建模模塊。原型系統當前已經具備了在零件建模階段關聯IFP和在裝配建模階段基于IFP實現零件智能配合的功能。其中,前者界面和流程如圖5所示,可以通過在零件模型中關聯IFP對DI進行捕獲。 圖5 關聯交互特征偶捕獲設計意圖的界面及示例 通過簡單的齒輪(gear)-軸(shaft)裝配說明提出的產品信息模型對計算機輔助智能裝配建模的支撐效果。從圖6中可以看到,齒輪和軸2個零件模型都已經按照圖5所示方法關聯了IFP。其中,齒輪的2個IFP分別關聯實際的柱面CF1和平面PF1;軸分別關聯實際的柱面CF2和平面PF2。關聯的IFP在產品信息模型中的展現形式如圖6左側所示。由于齒輪和軸關聯的每個IFP中都有一個IF是抽象的,因此它們只“知道”自己將與具有柱面和平面的零件配合,配合約束分別是同軸Coincident和貼合Align,但具體配合零件未知。 圖6 關聯了交互特征偶的齒輪和軸模型 由于具有“感知”能力,這些零件模型被加載到裝配建模環境之后,即可在圖7a)中首先通過“讀取IFP”按鈕獲取所有零件的IFP,然后通過“匹配IFP”按鈕激活算法1,從而對gear的2個IFP與shaft的2個IFP進行同一性判斷;進而通過“裝配”按鈕激活算法2,創建同軸配合約束Coincident和貼合配合約束Align,并實現齒輪和軸的智能裝配建模。創建的配合約束信息,以及產生的整體產品信息模型如圖7b)左側所示。 圖7 基于設計意圖的齒輪-軸智能裝配建模 從上述實例可以看出,提出的產品信息模型可以在零件建模階段捕獲DI,并在裝配建模階段避免對DI的重復表達。更重要的是,零件建模階段捕獲的DI可以進一步向裝配建模等下游設計活動一致性傳遞,因而使零件建模、裝配建模與后續設計活動進行更高層次的融合。例如,進一步深入研究發現,基于提出的產品信息模型可以產生以下可能性:產品運動學仿真、裝配序列規劃、裝配路徑規劃、裝配過程仿真等下游設計活動可以與裝配模型融合完成,而非目前分階段完成。亦即,可以最大程度地將這些設計活動融為一體,而不僅僅是集成。這將是后續重點突破的方向。在此過程中,將完善提出的產品信息模型,使其可以支持更高層次的智能裝配建模及其與其他設計活動的融合。 圖8是基于IFP實現簡化機械臂裝配建模和裝配序列規劃一體融合的示例。簡化機械臂由6個零件組成。在裝配建模階段,為了確定零件的配合順序,首先根據體積從大到小對所有零件進行排序,形成了初始裝配序列:底座→長臂→旋轉臺→短臂→腕部→末端,基準件為底座,如圖8a)所示。其中,長臂和旋轉臺的裝配順序是錯誤的。但是,通過執行IFP同一性判斷算法和基于IFP的零件智能配合算法之后,在機械臂裝配體模型構建完成的同時,輸出了正確的裝配序列:底座→旋轉臺→長臂→短臂→腕部→末端,即,旋轉臺和長臂的裝配順序被調整正確,如圖8b)所示。顯然,基于提出的產品信息模型,裝配建模和裝配序列規劃呈現出相互支撐、相互交織的一體融合關系。而在傳統的裝配建模和裝配序列規劃中,后者是以前者的完全建立為基礎的,而且還需要手動輸入零部件之間的鄰接關系、干涉關系或者支撐關系等。 圖8 簡化機械臂一體化裝配建模和裝配序列規劃 盡管提出的產品信息模型和對計算機輔助智能裝配建模過程的支持技術初步顯示出融合下游環節的潛力優勢,但這是另一個主題,因此將在后續工作中進一步研究。 1) 以前期發展的IFP智能裝配建模方法為基礎,系統地建立了捕獲DI、支持智能裝配建模的產品信息模型框架;采用面向對象的技術,建立了對應的類模型;介紹了產品信息模型的實現流程。 2) 闡明了基于提出的產品信息模型對智能裝配建模進行支持的具體機制,設計了基于DI的零件智能裝配算法,包括IFP同一性判斷算法和零件智能配合算法。 3) 基于產品信息模型,完善了前期開發的計算機輔助智能裝配建模原型系統。可行性實例驗證表明:所提信息模型可以捕獲DI,支持智能裝配建模過程、避免DI的重復表達。 4) 后續工作將完善提出的產品信息模型,使其可以支持更高層次的智能裝配建模及與其他設計活動的融合。4 原型系統與實例驗證
4.1 原型系統

4.2 計算機輔助智能裝配建模實例驗證



5 結 論