武友德,李柏林
(1.西南交通大學 機械工程學院,成都 610031;2.四川工程職業(yè)技術學院,德陽 618000)
目前,由于產(chǎn)品的開發(fā)主要是借助三維 CAD系統(tǒng)完成產(chǎn)品設計過程,然后通過CAM 實現(xiàn)產(chǎn)品制造,因此,計算機輔助設計/制造/工程分析技術(CAD/CAM/CAE)的發(fā)展及應用水平成為衡量一個國家現(xiàn)代化的重要標志之一。然而,隨著反求工程的發(fā)展在產(chǎn)品開發(fā)中所占的地位越來越重要,以反求工程(Reverse Engineering)、快速原型(Rapid Prototyping,簡稱 RP)技術為核心的產(chǎn)品快速開發(fā)和制造技術得到廣泛的關注。反求工程、快速原型是以現(xiàn)有實物為基礎,實現(xiàn)產(chǎn)品的快速設計與制造[1,2]。反求工程作為 RP 技術的一種重要前端處理方法和二次創(chuàng)新設計的重要技術手段,使得以復制設計制造為主的 RP 技術獲得了再創(chuàng)新、再設計能力,促進了產(chǎn)品數(shù)字化與制造技術更緊密結(jié)合,更好地為產(chǎn)品再創(chuàng)新工程服務。
反求工程中特征可定義為基于測量數(shù)據(jù)提取的用于反求工程CAD模型重建的點、線、面以及它們滿足特定約束關系下的組合或復合。
機械零件產(chǎn)品通常是按一定特征設計制造的,特征是幾何模型最原始的信息之一,反映了幾何模型的設計思想。同時,特征之間具有確定的幾何約束關系。因此,在反求工程CAD模型重建過程中,一個重要的目標應是還原這些特征以及它們之間的幾何約束關系。目前反求工程中基于測量數(shù)據(jù)點云提取原始模型的基本特征有特征點、特征線、特征面。組成平面形狀特征的截面特征間的特征點經(jīng)常是曲線連續(xù)階的變化點,根據(jù)曲線連續(xù)階可將曲線連接點分為角點、折痕點、曲率極值點和拐點,在反求工程中基于測量數(shù)據(jù)點云獲取數(shù)字化輪廓時,理想平面輪廓頂點經(jīng)常退化為平滑連接,通過角點和光滑連接的識別將曲線分成基本曲線特征,實現(xiàn)截面特征的自動分割。
按照不同幾何元素在反求工程CAD建模中的不同作用,曲線特征主要分為三類:主要曲線元、次要曲線元和輔助曲線元[3]。
對于一般的缺陷輪廓數(shù)據(jù),直接進行網(wǎng)格拼接,會因數(shù)據(jù)量大造成網(wǎng)格過密和計算量過大等問題,因此有必要在保證精度的前提下對此數(shù)據(jù)進行精簡,以保證計算速度和效果的統(tǒng)一。通常的方法是找出這些輪廓點中的特殊點作為三角網(wǎng)格的頂點進行拼接,本項目采用的是切片輪廓數(shù)據(jù)的特征點,即角點,也可稱之為拐點。它一般是由直線或曲線的交點所形成的,發(fā)生在邊緣方向發(fā)生急劇變化的地方,具有局部曲率最大這一特點。因此一般可以采用基于曲率的辦法來檢測,這類方法的基本步驟為:1)估算圖像邊緣上每一點的曲率;2)找出局部曲率最大值點為待求的角點。這類方法由于要根據(jù)相鄰點陣來計算曲率,就涉及微分問題,因此計算較為復雜,計算量大。此外,利用鏈碼的特征對角點進行識別方法,由于計算簡單、效果好,成為了目前研究的熱點[4,5]。
為了在處理缺陷輪廓數(shù)據(jù)精簡的同時,有效地保持好細小的局部特征,根據(jù)相鄰點之間的鏈碼差值對特征點進行檢測。
首先,對Freeman編碼后的缺陷輪廓點進行分析,可以得出如下的連續(xù)3點之間的位置關系如圖1所示,從中可以看出b、c、d、e、f、g的中間點均可視為相對位置關系在中間點處發(fā)生急劇變化,因此將其視為特征點。分析其相對應的Freeman鏈碼值,可以看出除了a中后兩點的鏈碼值差為0外,其他的后兩點的鏈碼差值分別為1、2、3、5、6、7。因此,可以根據(jù)相鄰點的鏈碼差值來快速檢測特征點。
圖1 鏈碼表示相鄰三點之間的位置關系
為描述方便,定義k層上第i個缺陷輪廓為Cki上輪廓點集合為{P1,P2,...,Pn},n為輪廓點數(shù)目,Pi的鏈碼為F(i)。則缺陷閉合輪廓點的鏈碼差值函數(shù)為S(i)的計算方法如式(1)所示。
因此,基于Freeman鏈碼的特點檢測算法的主要步驟如下:
1)以Freeman鏈碼的起點開始遍歷鏈碼;
2)根據(jù)式(1)計算每個輪廓點對應的鏈碼差值;
3)記錄下鏈碼差值不為另0的輪廓點,將其視為特征點。
在檢測出缺陷輪廓數(shù)據(jù)的特征點之后,可以將其它數(shù)據(jù)點刪除,直接用特征點來表示該輪廓,并對其進行網(wǎng)格拼接,從而有效的減少輪廓數(shù)據(jù)和三角面片,以達到數(shù)據(jù)精簡的目的。
對上述的輪廓數(shù)據(jù)精簡結(jié)果進行存儲和記錄,從第一個特征點開始記錄,然后依次記錄方向編碼和個數(shù),即:
其中,(x0,y0)表示編碼開始的第一個起始特征點,m表示該輪廓中的特征點的總個數(shù),Oi-Ni中的Oi表示第i個特征點相對于前一個特征點的8方位Freeman位置編碼,“-”表示符號,Ni表示這兩個特征點之間精簡去的原始輪廓點數(shù)目。
這樣通過上述編碼在可以很好記錄輪廓數(shù)據(jù)的同時,方便快速地對輪廓參數(shù)進行計算。如兩個特征點之間的距離L可以通過如下的式(2)快速方便的獲得。
其中,doi表示在Freeman鏈碼方向上的連續(xù)兩點之間的距離,由于文中采用的是8方向鏈碼,則有兩類鏈碼距離即0、2、4、6方向上鏈碼距離l和1、3、5、7鏈碼方向距離
根據(jù)上述的特征點檢測方法對缺陷輪廓進行特征點檢測和數(shù)據(jù)精簡,可得如圖2所示的結(jié)果,編碼記錄如圖2所示。
圖2 數(shù)據(jù)精簡
其中,(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}。
眾所周知,在一定的層間距范圍內(nèi),相鄰層切片上相匹配的輪廓具有一定的相似性。但是由于缺陷的不規(guī)則性,使其難以被準確地描述。而凸包是描述二維形狀的主要方法,是目前物體形狀識別的有效方法之一。如果這兩個相匹配輪廓相似的,那么它們的凸包也應該是相似的,可分全局對應和局部對應兩步確定輪廓特征點的對應關系。
1)全局特征點對應
以k和k+1層上輪廓Cp(k)i和Cp(k+1)j為例,通過數(shù)據(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,兩點相似性最好。
在確定對應點對的過程中,首先根據(jù)CSp(k)i和CSp(k+1)j上任意兩點f 值的大小,找到最相似的兩點并將它們作為對應點,然后將這兩個點作為起點,再進行其它相似點的匹配。采用這種方法確定的對應輪廓間的對應點稱為全局對應點。確定全局對應點的過程與有向圖方法相似,主要的不同點在于有向圖方法找到相鄰層輪廓所有點的對應點,而在確定全局對應點的過程中只確定相似性較好的點對間的對應關系。
對如圖4所示的相鄰兩層上相匹配的缺陷輪廓的特征點的全局對應點確定試驗,其結(jié)果如圖5所示,其中內(nèi)層為k+1層上的缺陷輪廓,外層為k層上缺陷輪廓,兩輪廓上相對應的全局對應點以直線相連。
圖4 相鄰兩層上相匹配缺陷輪廓的特征點
圖5 整體特征點對應圖
2)局部特征點對應
如圖4-8所示,特征點整體匹配的結(jié)果即將缺陷輪廓按照對應的特征點將其劃分為多段對應的子區(qū)域。然后分別對這幾段內(nèi)的特征點進行相似性計算,公式如(5)所示。
其中:α+β=1;d為CSp(k)上第i個點與CSp(k+1)上第j個點在斷層平面上的投影距離;u為CSp(k)i上第i個點與CSp(k)i上第j個點間曲率差的絕對值。
圖6為圖7經(jīng)過全局對應點確定和局部對應點確定后的特征點對應結(jié)果。
為相鄰兩層ICT切片圖像中提取出并經(jīng)過上述步驟精簡后輪廓點的對應關系,內(nèi)層輪廓為上層輪廓,外層輪廓為下層輪廓,兩個輪廓具有對應關系的輪廓點以直線方式相連接。
圖6 相鄰層輪廓對應點的對應關系
圖7 輪廓特征點的增補結(jié)果
以圖6為例,定義上層虛線連接的輪廓點集合為P={P1,P2,P3…Pn},下層實線連接的輪廓點集合為Q={Q1,Q2,Q3…Qm},各輪廓線上的點均以逆時針方向排列。當相匹配對應的輪廓之間的特征點不能達到一一對應的時候,如果直接對其進行拼接,則會造成一些狹長三角形和頂點過于集中的問題。因此為了有效避免此類情況的出現(xiàn),根據(jù)輪廓點對應的結(jié)果,對完成整體和局部特征點對應后的輪廓特征點數(shù)據(jù)進行必要的補充和修改。其原則如下:在輪廓點對應中存在著一條直線段對應兩條或以上的直線段,則依據(jù)這兩條或以上的直線段在對應的直線上的投影長度的比例,在對應的直線段上插入附加輪廓點,并將這些附加輪廓點按照逆時針順序補充到確定這條直線段的兩個輪廓點中間,后面的點序號依次更新。
根據(jù)上述方法,對輪廓點集進行補充和修改,則補充后的輪廓點集合為P={P1,P2,P3…Pn…Pn+k},Q={Q1,Q2,Q3…Qm…Qm+l},使得(n+k)=(m+l)。其中k為輪廓P中補充進去的點個數(shù),l為輪廓Q中補充的點個數(shù)。經(jīng)增補后的特征點情況如圖7所示。
輪廓拼接是指用三角面片構造相鄰斷層上對應輪廓的表面。本項目通過利用上述特征點確定對應關系,然后用三角面片構造相鄰斷層上對應輪廓的表面,從而實現(xiàn)三維曲面的重夠。
研究機械零件輪廓及曲面反求系統(tǒng)的體系結(jié)構、系統(tǒng)功能和實現(xiàn)技術,開發(fā)出具有自主知識產(chǎn)權的軟件平臺。所開發(fā)的系統(tǒng)能與現(xiàn)有商用CAD軟件集成,形成適用性強的設計開發(fā)環(huán)境。該系統(tǒng)的主界面如圖8所示。
圖8 機械零件輪廓及曲面反求系統(tǒng)主界面
對二維輪廓數(shù)據(jù)點進行的輪廓處理可實現(xiàn)以下功能:按向?qū)崾镜摹拜喞c陣提取向?qū)А?,“輪廓點陣自動提取”,“輪廓追蹤”,“輪廓自動識別”,“輪廓擬合”,“手工繪制輪廓”,“三維處理導出”等。
其中“輪廓擬合”可采用“直線擬合”,“圓擬合”,“圓弧擬合”,“橢圓擬合”,“橢圓弧擬合”,“B樣條擬合”等實現(xiàn)任意曲面截取的二維輪廓擬合。如圖9所示。
圖9 輪廓處理功能
在反求過程中,關鍵是如何精確地確定零件的輪廓和曲面,從而實現(xiàn)產(chǎn)品的反求設計。本項目研制開發(fā)的機械零件輪廓及曲面反求系統(tǒng),為企業(yè)和研究所的人員提供一個經(jīng)濟高效的機械零件反求軟件平臺,某企業(yè)應用此技術后,大大提高設計效率、縮短設計周期,降低開發(fā)成本,增強研制產(chǎn)品的競爭力,從而極大地提高企業(yè)的經(jīng)濟效益。
[1] 李金從,鄧家褆.多學科優(yōu)化集成設計框架[J].現(xiàn)代制造工工程,2003,3:77-79.
[2] All wright S.Introduction to the MDO project.Royal Aeronautical Society MDOConference,1998.
[3] 王書河,何麟書,張玉珠.飛行器多學科設計優(yōu)化軟件系統(tǒng)[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] 陳琪鋒,戴金海.多目標的分布式協(xié)同進化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.