黃 勁,黃美發,2,江佳煒,趙宇飛
(1.桂林電子科技大學機電工程學院,廣西 桂林541004;2.廣西制造系統與先進制造技術重點實驗室,廣西 桂林541004)
目前很多CAD軟件都能直接針對實體模型進行公差方案的設計,但在對公差信息的處理與檢驗上仍然滯后[1]。在設計幾何公差時,需通過公差帶來控制被測要素的形位與方向,而公差帶的建立依賴于基準體系的選擇,當同一幾何要素被指定多個基準時,可能會出現基準無效、冗余、不完備的情況,影響公差帶對被測要素的幾何控制,從而導致零件不符合設計和使用要求。根據GB/T 17851-2010[2]以及文獻[6]和[7]研究,基準體系的合理性主要體現在以下三個方面:(1)基準的有效性:所有基準是否能夠有效約束被測要素的方向或位置;(2)基準的冗余性:各個基準對被測要素的約束能力是否存在冗余;(3)基準的完備性:所有基準的組合是否能夠完全滿足公差項目對被測要素的方位約束需求。針對上述三種情況對基準體系中的各個基準進行檢驗即為基準體系合理性檢驗。為保證零件加工制造的正確性,有必要對確定好的基準體系進行合理性檢驗來判斷各個基準是否滿足設計要求及公差規范。
在自動化公差設計過程中,零件的幾何自由度約束是檢驗基準體系是否合理的主要計算基礎,因而很多學者將自由度分析運用于基準體系合理性的檢驗上,例如:文獻[3]提出了幾何公差空間解析算法,以確保基準約束自由度方向的正確性;文獻[4]通過對基準幾何的自由度進行布爾運算來反映幾何要素之間的自由度約束關系;文獻[5]通過分析幾何要素約束自由度的原理,給出了幾何要素約束目標自由度能力的計算方法;文獻[6]結合自由度和多色集合理論,提出了用于判定基準冗余和基準順序不一致的算法;文獻[7]通過分析定位基準的自由度,構建了檢查定位基準體系冗余性和完備性的空間布爾運算方程。
但是,自由度信息的提取與計算依賴于產品幾何信息和公差標注信息,沒有它們的支持,無法完成相關的數學計算,同時計算出的幾何要素自由度約束關系也可能與實際情況不相符。對于復雜產品的公差設計,需要集成大量的公差標注信息和幾何信息,而上述相關研究大部分都是基于純數學的計算方法,其計算過程尚未涉及與計算機的結合,當待檢驗產品較為復雜時,其自由度信息的計算量會很龐大,單單依靠人工計算會增加檢驗成本,降低工作效率。另一方面,在考慮與計算機結合時,由于目前的計算機輔助軟件的裝配知識庫通常是獨立設計的,因此很難完成不同軟件之間知識的獲取、傳遞和重用,降低了產品幾何公差信息的利用率,進而影響零件幾何自由度的計算。
本體是一種共享概念模型的明確形式化規范說明[8],可以集成不同來源的知識,描述不同粒度的概念,并支持邏輯推理[9],通過機器可讀的形式化表示語言構建領域知識,可以直接被計算機存儲、加工、利用,或在不同的系統之間進行互操作[10]。因此大量學者開始考慮將其應用于公差技術中,以實現與計算機的結合,例如:文獻[11]利用本體技術開發了用于公差分析的信息表示模型,以描述用于公差分析的GD&T規范的語義,進而實現GD&T規范在公差分析應用領域的一致性自動檢測;文獻[12]提出了一種基于本體的公差類型自動生成方法;文獻[13]提出了下一代GPS中基于本體的圓柱度規范語義解釋;文獻[14]在現有產品建模數據交換標準的基礎上,提出了一種名為OntoSTEP的本體模型,以表示公差信息。由此可見,利用本體表示公差領域的相關知識,進而利用計算機對其進行推理的技術正在被廣泛應用且表現出其獨有的優勢與前途。
考慮到單純的數學方法難以有效表示產品幾何信息和公差信息的語義,在與計算機結合時有一定的難度。此外,僅依靠知識與設計經驗構建相應的本體及規則,無法準確判斷規則的可行性,使推理效率變得較為低下。為滿足基準體系合理性的自動檢驗需求,同時解決知識共享和知識重用的問題,擬提出一種幾何公差基準體系合理性檢驗的本體化方法,將本體技術與現有的經過論證的數學方法相結合,在更好地表達基準體系合理性的工程語義的同時增強幾何自由度約束的表示與計算效率,解決其檢驗規則及判定算法在異構系統之間難以傳遞的問題。
現有的關于計算基準幾何自由度的數學方法中,鮑強偉[7]等人結合了文獻[4]和文獻[5]的方法,針對基準冗余性和完備性的判別制定了相應的自由度計算表達式。但是該方法運用到基準體系合理性的檢驗上時,無法直觀地體現公差項目對被測要素的自由度約束,且需要人為進行判別;同時在判別基準冗余性時需考慮方向向量的空間夾角余弦值,計算較為復雜,不利于與本體的轉化。為了便于本體規則的制定與推理,通過結合該方法中基準完備性的計算表達式和文獻[6]提出的基準冗余性計算表達式,在其基礎上引入公差項目對被測要素的自由度控制要求,增加了基準有效性的判別,使基準體系合理性檢驗的計算過程更加系統和完善,進而作為構建相關本體的理論基礎。
被測要素被控制的方位由公差項目決定,其自由度控制要求如表1所示。對于單一基準的定向公差,被測要素繞基準的本征方向(即點的任意方向、直線的軸向和平面的法向)的旋轉不會影響二者之間的空間關系,此時定向公差對該方向的旋轉自由度無控制要求。表1中,ψt表示公差項目對被測要素的自由度控制函數,變量T1、T2、T3分別表示沿x、y、z坐標軸的平移自由度,R1、R2、R3分別表示繞x、y、z坐標軸的旋轉自由度。

表1 公差項目對被測要素的自由度控制要求Tab.1 Control Requirement of Degree of Freedom from Tolerance Types to Measured Elements
在實際的公差應用中,被測要素可能存在恒定度或無控制要求的自由度,需根據公差類型以及被測要素的自由度情況,按照表1對其進行篩選,因此定義了式(1)以計算被測要素中實際需要約束的自由度函數ψr(見表2),其中ψm表示被測要素的自由度函數。由于現有的基準冗余性和完備性表達式均采用布爾操作進行運算,為表述一致,使用布爾值1表示幾何要素的有效自由度及表1中有控制要求的自由度,用布爾值0表示幾何要素的恒定度以及無控制要求的自由度,例如:被測要素沿x軸的平移自由度為恒定度,則ψm(T1)=0,其他自由度的表示與其類似。

表2 基準體系合理性檢驗的計算表達式Tab.2 Formula of Rationality Verification of Datum System
表2中,下標j=1,2,3,且式(1)至式(5)以及式(8)中的Tj均可用Rj替換。
公差項目僅反映設計者對被測要素的控制要求,對被測要素起實際約束作用的是基準。由于當基準的某種自由度為非恒定度時才能對被測要素相應的自由度變化進行度量和約束,因而定義了式(2)來判別基準是否具有約束被測要素相應自由度的能力,式中表示第i基準的自由度函數,ψie表示該基準對被測要素的自由度約束函數,上標i=1,2,3。
在選擇基準時,首先需要保證基準的有效性,即選擇的基準應至少能夠約束被測要素中有實際約束要求的一個自由度,因此定義了式(5)的有效性判別公式。
由于文獻[6]和文獻[7]已有成熟的基準冗余性和基準完備性計算表達式,因此僅對其進行了適當的變形以完善檢驗過程(見表2)。式(3)和式(4)中,和分別表示第二基準和第三基準中與上級基準重復約束的自由度函數。式(8)中,k(k=1,2,3)表示基準體系中基準的個數,當基準體系中各個基準的所有自由度都滿足式(8)時基準才是完備的,反之不完備;值得注意的是,對于雙基準的定位公差,可能存在被測要素的變動不影響其與各個基準之間的空間關系的情況,此時該自由度是否被約束不影響基準的完備性。
確定領域范疇后,則需要列舉用于構建本體的術語概念。產品的幾何自由度信息和公差標注信息是基準體系合理性檢驗的核心,以此為基礎建立了如圖1所示的基準體系合理性檢驗的信息模型,其中DOF表示幾何要素的自由度情況。該信息模型自頂而下可分為公差類型、基準體系、基準、幾何要素、自由度情況5個層次。

圖1 基準體系合理性檢驗的信息模型Fig.1 Information Model for Rationality Verification of Datum System
得到的術語概念后,下一步則是利用本體標準語言OWL(Web Ontology Language)對其進行類的定義并劃分類的層次結構,如圖2所示。

圖2 基準體系合理性本體的類定義及其上下級關系Fig.2 Class Definition and Inheritance Relationship for Rationality Verification Ontology of Datum System
類與類之間的二元關系被定義為對象屬性,第五步便是定義類的對象屬性。根據圖1中層與層之間的關系,定義了如表3所示的對象屬性。對象屬性1-4分別表示公差類型層與基準體系層、基準體系層與基準層、基準層與幾何要素層、公差類型層和幾何要素層之間的隸屬關系,對象屬性5則表示基準要素對被測要素的約束關系。

表3 對象屬性及數據屬性的定義Tab.3 Definition of Object Attribute and Data Attribute
類與數據之間的二元關系被定義為數據屬性。根據表2,定義了如表3所示的數據屬性及與自由度函數的映射關系,將各個自由度函數的值以數據屬性的方式進行表示。數據屬性6-10中的“()”均可用Tx、Ty、Tz和Rx、Ry、Rz替換,以表示相應自由度函數值。數據屬性11表示基準數目,數據屬性12-14表示基準體系合理性檢驗的判定結果值,數據屬性15則表示被測要素繞z軸的旋轉自由度對空間關系的影響值。圖3所示為上述構建的基準體系合理性本體的內部關系。

圖3 基準體系合理性本體的內部關系圖Fig.3 Internal Relationship Diagram for Rationality Verification Ontology of Datum System
基準體系合理性檢驗的核心思想是確定被測要素中實際需要被約束的自由度,進而將其與基準的自由度約束能力進行比對,以此判斷基準體系是否合理。因此首先需要根據表1確定理論的自由度控制要求,其生成規則如下:
規則1:若公差項目A為定向公差,且其基準個數為1,則該公差項目需要控制被測要素沿x、y軸的平移自由度。(詳見表4中的R1-1,多基準的定向公差需額外控制被測要素沿z軸的平移自由度)

表4 基準體系合理性本體的推理規則Tab.4 Inference Rules for Rationality Verification Ontology of Datum System
規則2:若公差項目A為定位公差,則該公差項目需要控制被測要素的所有自由度。(詳見R2-1)
規則3:若被測要素B的某自由度為有效自由度,且其所在的公差項目A對該自由度有控制要求,則該自由度為被測要素實際需要被約束的自由度,反之該自由度不需要被約束。(詳見R3-1)
基準與基準、基準與被測要素之間的自由度約束關系是基準體系合理性的判別基礎,其生成規則如下:
規則4:若被測要素A和基準要素B的某自由度均為有效自由度,且A和B之間具有約束關系,則B對A的該自由度有約束功能,反之無約束功能。(詳見R4-1)
規則5:若第一基準A與第二基準B的某自由度均為有效自由度,且兩基準約束同一被測要素C,則A和B對C具有相同的自由度約束作用,反之無相同的自由度約束作用。(詳見R5-1,第三基準與其類似)
利用上述規則的推理結果,比較各個基準對自由度的約束能力,可判別其合理性,判別規則如下:
規則6:若基準要素A中具有約束功能的自由度個數小于1(大于等于1),則該基準對被測要素的約束能力是無效(有效)的。(詳見R6-1)
規則7:若對于第二基準A,篩除其與上級基準有相同約束作用的自由度后,剩下的自由度對被測要素仍具有約束功能,則A對被測要素的約束作用不冗余,反之冗余。(詳見R7-1)
規則8:對于公差項目A,若各個基準的組合能夠約束被測要素B所有需要被約束的自由度,則A所在的基準體系對被測要素B的約束能力是完備的,反之不完備。(R7-1僅展示了的雙基準的公差項目其基準體系完備的推理規則)
在進行實際的基準體系合理性自動檢驗時,上述本體及SWRL推理規則的構建僅能提供理論基礎,要實現計算機的自動檢驗,還需要結合相關的本體技術,利用推理引擎對具體實例所對應的本體信息進行推理,因此設計如下的基準體系合理性自動檢驗算法,具體流程,如圖4所示。

圖4 基準體系合理性的自動檢驗算法流程圖Fig.4 Automatic Inspection Algorithm for Rationality of Datum System
通過對ASME Y14.5-2009[16]的Fig.4-5中正確的公差標注進行修改,創建對應實例,如圖5所示。以修改后不正確的公差標注為實例,驗證本方法的有效性。其中,被測要素C的位置度公差的基準體系滿足基準的完備性,但其基準A冗余;被測要素D的位置度公差的基準體系不滿足基準的完備性,且其基準A和基準E都存在冗余。為簡要說明,這里只研究被測要素D的位置度公差所在的基準體系的合理性。

圖5 修改后的公差標注圖Fig.5 Revised Tolerance Marking Drawing
步驟1:提取相關的公差信息。根據被測要素D的公差標注框,可知該公差項目為位置度公差,其中被測要素為孔的軸線;該公差項目的基準體系中,設置了三個基準:第一基準B的基準要素為圓柱軸線,第二基準A和第三基準E的基準要素均為平面。
步驟2:提取相關幾何要素的自由度信息。在圖5所示的空間直角坐標系下,若幾何要素中的恒定度用0表示,自由度用1表示,則相關幾何要素按照x、y、z軸的平移和旋轉自由度的排列順序,其自由度信息如下:
被測要素D:[110,111];第一基準B的基準要素:[110,110];第二基準A的基準要素:[001,110];第三基準E的基準要素:[001,110]。
步驟3:構建OWL斷言公式集。根據圖5中的信息標注,利用本體及獲取的公差信息,構建OWL類斷言和屬性斷言的斷言公式集,其表示如下:
類斷言As1={Position(pos1),Datum_System(ds1),Primary Datum(pd1),Secondary_Datum(sd1),Tertiary_Datum(td1),D_Line(dl1),D_Plane(dpl1),D_Plane(dpl2),M_Line(ml1)}。該斷言中,定義pos1為一個位置度,ml1為一被測直線,其它表示與其類似。
對象屬性斷言As2={has_DS(pos1,ds1),has_Datum(ds1,pd1),has_Datum(ds1,sd1),has_Datum(ds1,td1),has_DE(pd1,dl1),has_DE(sd1,dpl1),has_DE(td1,dpl2),has_ME(pos1,ml1)}。該斷言中,has_ME(pos1,ml1)表示ml1是pos1的被測要素,其余表示與其類似。
數據屬性斷言As3={value_of_Datum_Number(ds1,3),value_of_Tx_DOF(dl1,1),value_of_Ty_DOF(dl1,1),value_of_Tz_DOF(dl1,0),value_of_Rx_DOF(dl1,1),value_of_Ry_DOF(dl1,1),value_of_Rz_DOF(dl1,0),value_of_Tx_DOF(dpl1,0),value_of_Ty_DOF(dpl1,0),value_of_Tz_DOF(dpl1,1),value_of_Rx_DOF(dpl1,1),value_of_Ry_DOF(dpl1,1),value_of_Rz_DOF(dpl1,0),value_of_Tx_DOF(dpl2,0),value_of_Ty_DOF(dpl2,0),value_of_Tz_DOF(dpl2,1),value_of_Rx_DOF(dpl2,1),value_of_Ry_DOF(dpl2,1),value_of_Rz_DOF(dpl2,0),value_of_Tx_DOF(ml1,1),value_of_Ty_DOF(ml1,1),value_of_Tz_DOF(ml1,0),value_of_Rx_DOF(ml1,1),value_of_Ry_DOF(ml1,1),value_of_Rz_DOF(ml1,1),Rz_DOF_to_Space(ml1,1)}。該斷言是利用步驟2得到的自由度信息,按照表3中的映射關系,將其數值添加到對應的數據屬性中得到的,例如:被測直線ml1沿x軸的平移自由度為有效自由度(見步驟2中被測要素D的自由度信息),參照表3,構建數據屬性斷言value_of_Tx_DOF(ml1,1)對其進行表示。
步驟4:建立個體實例。以As1、As2、As3作為輸入,利用本體編輯工具Protégé創建各個OWL斷言所對應的個體。以第一基準的類個體pd1及其基準面的類個體dl1的創建為例,其個體實例的創建如圖6所示,其他個體實例的創建與其類似。

圖6 Protégé建立的OWL斷言個體Fig.6 OWL Assertion Individuals Established by Protégé
步驟5:進行JESS轉換與推理。構建的個體實例和SWRL規則無法直接用于計算機推理,還需要對其進行JESS語言轉化,以適用于JESS推理引擎。由于Protégé集成了對OWL和SWRL語言的一鍵轉換JESS功能,因此該過程可在Protégé中自動完成,此處不做贅述。
步驟6:生成基準體系合理性推理結果。步驟5轉化的JESS語言經過推理引擎按照SWRL規則自動推理,其結果會自動生成并添加到個體實例的數據屬性中。例如:類個體Position(pos1)是類Locational_Tolerance的子類,按照R2-1推理后,生成value_of_TC_Tx_DOF(pos1,1),該結果結合斷言Position(pos1)、M_Line(ml1)、has_ME(pos1,ml1)、value_of_Tx_DOF(ml1,1)會繼續按照R3-1推理生成value_of_NC_Tx_DOF(ml1,1),以此類推,直到所有規則推理完成。該過程可由推理機自動完成,為簡要說明,此處僅展示最終推理后的檢驗結果,如圖7所示。


圖7 推理生成的基準體系合理性檢驗結果Fig.7 Inference Result for Rationality Verification of Datum System
上述推理結果中Primary_Datum(pd1)、Secondary_Datum(sd1)、Tertiary_Datum(td1)的數據屬性value_of_effectiveness的值均為1,表明該公差標注中的三個基準都是有效的;Secondary_Datum(sd1)的數據屬性value_of_redundancy的值為0,表明該公差標注中的第二基準冗余,同理,第三基準也冗余;Datum_System(ds1)的數據屬性value_of_completeness的值為0,表明該公差標注的基準體系中基準不完備;檢驗結果人工判別結果一致,說明該算法是可行的。
相較于人工判別的計算方法,利用本體化的方法可將大量的計算工作交由計算機處理,并且其推理過程有相應的可視化界面,其推理過程產生的所有結果都可以進行查閱,便于設計人員查找不合理原因;另一方面,由于本體擁有描述結構化知識的能力,各個基準的幾何信息和公差信息不需要由設計人員進行二次確認,而是會繼承到子類中,能夠即時顯示待檢驗基準的幾何類型、自由度信息、自由度約束能力及所屬的公差項目等,這是純數學的計算方法所不能比擬的。
針對基準體系合理性的自動檢驗問題,首先分析了公差項目對被測要素的控制要求,進而對已有的幾何自由度約束表達式進行了改進與完善,使其更加符合基準體系合理性的檢驗要求。其次,構建了基準體系合理性本體,并根據自由度約束表達式,利用SWRL語言建立了相應的推理規則,進而設計了基準體系合理性的自動檢驗算法。最后通過實例驗證了該算法的有效性。與其他檢驗方法相比,該方法極大地簡化了基準體系合理性的檢驗過程,通過提供公差標注框信息及相關幾何要素的自由度情況,計算機能夠自動完成基準體系合理性的推理與檢驗,減少設計人員工作量的同時降低了檢驗過程中的不確定性;另外,由于本體的特殊性,使得其檢驗規則及判定算法在異構系統之間仍然可以有效傳遞,并且可用于已有的公差領域本體,適用性與兼容性較強。