武友德,李柏林
(1.西南交通大學 機械工程學院,成都 610031;2.四川工程職業技術學院,德陽 618000)
目前,由于產品的開發主要是借助三維 CAD系統完成產品設計過程,然后通過CAM 實現產品制造,因此,計算機輔助設計/制造/工程分析技術(CAD/CAM/CAE)的發展及應用水平成為衡量一個國家現代化的重要標志之一。然而,隨著反求工程的發展在產品開發中所占的地位越來越重要,以反求工程(Reverse Engineering)、快速原型(Rapid Prototyping,簡稱 RP)技術為核心的產品快速開發和制造技術得到廣泛的關注。反求工程、快速原型是以現有實物為基礎,實現產品的快速設計與制造[1,2]。反求工程作為 RP 技術的一種重要前端處理方法和二次創新設計的重要技術手段,使得以復制設計制造為主的 RP 技術獲得了再創新、再設計能力,促進了產品數字化與制造技術更緊密結合,更好地為產品再創新工程服務。
反求工程中特征可定義為基于測量數據提取的用于反求工程CAD模型重建的點、線、面以及它們滿足特定約束關系下的組合或復合。
機械零件產品通常是按一定特征設計制造的,特征是幾何模型最原始的信息之一,反映了幾何模型的設計思想。同時,特征之間具有確定的幾何約束關系。因此,在反求工程CAD模型重建過程中,一個重要的目標應是還原這些特征以及它們之間的幾何約束關系。目前反求工程中基于測量數據點云提取原始模型的基本特征有特征點、特征線、特征面。組成平面形狀特征的截面特征間的特征點經常是曲線連續階的變化點,根據曲線連續階可將曲線連接點分為角點、折痕點、曲率極值點和拐點,在反求工程中基于測量數據點云獲取數字化輪廓時,理想平面輪廓頂點經常退化為平滑連接,通過角點和光滑連接的識別將曲線分成基本曲線特征,實現截面特征的自動分割。
按照不同幾何元素在反求工程CAD建模中的不同作用,曲線特征主要分為三類:主要曲線元、次要曲線元和輔助曲線元[3]。
對于一般的缺陷輪廓數據,直接進行網格拼接,會因數據量大造成網格過密和計算量過大等問題,因此有必要在保證精度的前提下對此數據進行精簡,以保證計算速度和效果的統一。通常的方法是找出這些輪廓點中的特殊點作為三角網格的頂點進行拼接,本項目采用的是切片輪廓數據的特征點,即角點,也可稱之為拐點。它一般是由直線或曲線的交點所形成的,發生在邊緣方向發生急劇變化的地方,具有局部曲率最大這一特點。因此一般可以采用基于曲率的辦法來檢測,這類方法的基本步驟為:1)估算圖像邊緣上每一點的曲率;2)找出局部曲率最大值點為待求的角點。這類方法由于要根據相鄰點陣來計算曲率,就涉及微分問題,因此計算較為復雜,計算量大。此外,利用鏈碼的特征對角點進行識別方法,由于計算簡單、效果好,成為了目前研究的熱點[4,5]。
為了在處理缺陷輪廓數據精簡的同時,有效地保持好細小的局部特征,根據相鄰點之間的鏈碼差值對特征點進行檢測。
首先,對Freeman編碼后的缺陷輪廓點進行分析,可以得出如下的連續3點之間的位置關系如圖1所示,從中可以看出b、c、d、e、f、g的中間點均可視為相對位置關系在中間點處發生急劇變化,因此將其視為特征點。分析其相對應的Freeman鏈碼值,可以看出除了a中后兩點的鏈碼值差為0外,其他的后兩點的鏈碼差值分別為1、2、3、5、6、7。因此,可以根據相鄰點的鏈碼差值來快速檢測特征點。

圖1 鏈碼表示相鄰三點之間的位置關系
為描述方便,定義k層上第i個缺陷輪廓為Cki上輪廓點集合為{P1,P2,...,Pn},n為輪廓點數目,Pi的鏈碼為F(i)。則缺陷閉合輪廓點的鏈碼差值函數為S(i)的計算方法如式(1)所示。

因此,基于Freeman鏈碼的特點檢測算法的主要步驟如下:
1)以Freeman鏈碼的起點開始遍歷鏈碼;
2)根據式(1)計算每個輪廓點對應的鏈碼差值;
3)記錄下鏈碼差值不為另0的輪廓點,將其視為特征點。
在檢測出缺陷輪廓數據的特征點之后,可以將其它數據點刪除,直接用特征點來表示該輪廓,并對其進行網格拼接,從而有效的減少輪廓數據和三角面片,以達到數據精簡的目的。
對上述的輪廓數據精簡結果進行存儲和記錄,從第一個特征點開始記錄,然后依次記錄方向編碼和個數,即:

其中,(x0,y0)表示編碼開始的第一個起始特征點,m表示該輪廓中的特征點的總個數,Oi-Ni中的Oi表示第i個特征點相對于前一個特征點的8方位Freeman位置編碼,“-”表示符號,Ni表示這兩個特征點之間精簡去的原始輪廓點數目。
這樣通過上述編碼在可以很好記錄輪廓數據的同時,方便快速地對輪廓參數進行計算。如兩個特征點之間的距離L可以通過如下的式(2)快速方便的獲得。

其中,doi表示在Freeman鏈碼方向上的連續兩點之間的距離,由于文中采用的是8方向鏈碼,則有兩類鏈碼距離即0、2、4、6方向上鏈碼距離l和1、3、5、7鏈碼方向距離
根據上述的特征點檢測方法對缺陷輪廓進行特征點檢測和數據精簡,可得如圖2所示的結果,編碼記錄如圖2所示。

圖2 數據精簡
其中,(x0,y0)為起始點。
{(x0,y0)|6-5,7-1,0-1,7-1,0-5,7-3,0-3,6-1,0-3,1-2,2-2,1-4,2-4,3-2,4-7,3-1,4-4,5-1,4-1,5-1,4-2,5-1,4-3,5-1}。
眾所周知,在一定的層間距范圍內,相鄰層切片上相匹配的輪廓具有一定的相似性。但是由于缺陷的不規則性,使其難以被準確地描述。而凸包是描述二維形狀的主要方法,是目前物體形狀識別的有效方法之一。如果這兩個相匹配輪廓相似的,那么它們的凸包也應該是相似的,可分全局對應和局部對應兩步確定輪廓特征點的對應關系。
1)全局特征點對應
以k和k+1層上輪廓Cp(k)i和Cp(k+1)j為例,通過數據精簡后的輪廓特征點集合為Sp(k)i和Sp(k+1)j,用直線段連接相鄰的特征點構成輪廓,然后分別求出各自的凸包CSp(k)i和CSp(k+1)j,以及求解出各自的形心,然后以各自形心為原點求出CSp(k)i和CSp(k+1)j上各點的極坐標。采用式(3)評價CSpc(k)i和CSp(k+1)j上各點的相似性。

其中:α+β+γ=1;d為CSi上第i個點與CSjp(k)p(k+1)上第j個點在斷層平面上的投影距離;g為CSp(k)i上第i個點與CSp(k+1)j上第j個點間極角差的絕對值;u為CSp(k)i上第i個點與CSp(k+1)j上第j個點間曲率差的絕對值。
對于精簡后的特征點的有序集合Pi(i=1,2,…,n)確定的多邊形凸包輪廓,頂點Pi處的曲率ki可由相鄰的三點Pi-1,Pi,Pi+1所確定的圓所決定,如圖3所示。圓的曲率即為點Pi的曲率,計算公式如式(4)所示。


圖3 曲率計算原理圖
當i=1,即Pi為輪廓點集合的起點時,由于缺陷輪廓是閉合的,在該點的曲率計算時,Pi-1可以設定為Pn即可。同樣的,當i=n,即Pi為輪廓點集合的終點時,在該點的曲率計算時,Pi+1可以設定為P1即可。
當CSp(k)i和CSp(k+1)j的形心在斷層平面上的投影重合時候,d和u可以反映CSp(k)i和CSp(k+1)j上兩點的相似性,利用g消除CSp(k)i和CSp(k+1)j的形心在斷層平面投影上不重合的影響。當d、g和u變大時,f變小,兩點的相似性變差;當d、g和u變小時,f變大,兩點的相似性變好;當d、g和u均等于零時,f等于1,兩點相似性最好。
在確定對應點對的過程中,首先根據CSp(k)i和CSp(k+1)j上任意兩點f 值的大小,找到最相似的兩點并將它們作為對應點,然后將這兩個點作為起點,再進行其它相似點的匹配。采用這種方法確定的對應輪廓間的對應點稱為全局對應點。確定全局對應點的過程與有向圖方法相似,主要的不同點在于有向圖方法找到相鄰層輪廓所有點的對應點,而在確定全局對應點的過程中只確定相似性較好的點對間的對應關系。
對如圖4所示的相鄰兩層上相匹配的缺陷輪廓的特征點的全局對應點確定試驗,其結果如圖5所示,其中內層為k+1層上的缺陷輪廓,外層為k層上缺陷輪廓,兩輪廓上相對應的全局對應點以直線相連。

圖4 相鄰兩層上相匹配缺陷輪廓的特征點

圖5 整體特征點對應圖
2)局部特征點對應
如圖4-8所示,特征點整體匹配的結果即將缺陷輪廓按照對應的特征點將其劃分為多段對應的子區域。然后分別對這幾段內的特征點進行相似性計算,公式如(5)所示。

其中:α+β=1;d為CSp(k)上第i個點與CSp(k+1)上第j個點在斷層平面上的投影距離;u為CSp(k)i上第i個點與CSp(k)i上第j個點間曲率差的絕對值。
圖6為圖7經過全局對應點確定和局部對應點確定后的特征點對應結果。
為相鄰兩層ICT切片圖像中提取出并經過上述步驟精簡后輪廓點的對應關系,內層輪廓為上層輪廓,外層輪廓為下層輪廓,兩個輪廓具有對應關系的輪廓點以直線方式相連接。

圖6 相鄰層輪廓對應點的對應關系

圖7 輪廓特征點的增補結果
以圖6為例,定義上層虛線連接的輪廓點集合為P={P1,P2,P3…Pn},下層實線連接的輪廓點集合為Q={Q1,Q2,Q3…Qm},各輪廓線上的點均以逆時針方向排列。當相匹配對應的輪廓之間的特征點不能達到一一對應的時候,如果直接對其進行拼接,則會造成一些狹長三角形和頂點過于集中的問題。因此為了有效避免此類情況的出現,根據輪廓點對應的結果,對完成整體和局部特征點對應后的輪廓特征點數據進行必要的補充和修改。其原則如下:在輪廓點對應中存在著一條直線段對應兩條或以上的直線段,則依據這兩條或以上的直線段在對應的直線上的投影長度的比例,在對應的直線段上插入附加輪廓點,并將這些附加輪廓點按照逆時針順序補充到確定這條直線段的兩個輪廓點中間,后面的點序號依次更新。
根據上述方法,對輪廓點集進行補充和修改,則補充后的輪廓點集合為P={P1,P2,P3…Pn…Pn+k},Q={Q1,Q2,Q3…Qm…Qm+l},使得(n+k)=(m+l)。其中k為輪廓P中補充進去的點個數,l為輪廓Q中補充的點個數。經增補后的特征點情況如圖7所示。
輪廓拼接是指用三角面片構造相鄰斷層上對應輪廓的表面。本項目通過利用上述特征點確定對應關系,然后用三角面片構造相鄰斷層上對應輪廓的表面,從而實現三維曲面的重夠。
研究機械零件輪廓及曲面反求系統的體系結構、系統功能和實現技術,開發出具有自主知識產權的軟件平臺。所開發的系統能與現有商用CAD軟件集成,形成適用性強的設計開發環境。該系統的主界面如圖8所示。

圖8 機械零件輪廓及曲面反求系統主界面
對二維輪廓數據點進行的輪廓處理可實現以下功能:按向導提示的“輪廓點陣提取向導”,“輪廓點陣自動提取”,“輪廓追蹤”,“輪廓自動識別”,“輪廓擬合”,“手工繪制輪廓”,“三維處理導出”等。
其中“輪廓擬合”可采用“直線擬合”,“圓擬合”,“圓弧擬合”,“橢圓擬合”,“橢圓弧擬合”,“B樣條擬合”等實現任意曲面截取的二維輪廓擬合。如圖9所示。

圖9 輪廓處理功能
在反求過程中,關鍵是如何精確地確定零件的輪廓和曲面,從而實現產品的反求設計。本項目研制開發的機械零件輪廓及曲面反求系統,為企業和研究所的人員提供一個經濟高效的機械零件反求軟件平臺,某企業應用此技術后,大大提高設計效率、縮短設計周期,降低開發成本,增強研制產品的競爭力,從而極大地提高企業的經濟效益。
[1] 李金從,鄧家褆.多學科優化集成設計框架[J].現代制造工工程,2003,3:77-79.
[2] All wright S.Introduction to the MDO project.Royal Aeronautical Society MDOConference,1998.
[3] 王書河,何麟書,張玉珠.飛行器多學科設計優化軟件系統[J].北京航空航天大學學報,2005,31(1):51-55.
[4] Stephen M.Batill, Marc A.Stelmack,Xiong Qing Yu.Multidisciplinary design optimization of an electric-powered unmanned air vehicle[J].Aircraft Design, 1999,2:1-18.
[5] 陳琪鋒,戴金海.多目標的分布式協同進化MDO算法[J].國防科技大學學報,2002, 24(4):12-16.
[6] Ting-Yu Chen,Chen-Ming Yang.Multidisciplinary design optimization of mechanisms[J].Advances in Engineering Software,2005,36:301-311.
[7] Marc A.Stelmack,Stephen M,Batill,Bryan C.Design of an Aircraft Brake Component Using an Interactive Multidisciplinary Design Optimization Framework[J].Transactions of the ASME,2000,122:70-77.