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