周 濤,段 薇,胡三寶,劉繼鵬,韓忠磊
(1.武漢理工大學(xué) 現(xiàn)代汽車零部件技術(shù)湖北省重點實驗室,湖北 武漢 430070;2.武漢理工大學(xué) 汽車零部件技術(shù)湖北省協(xié)同創(chuàng)新中心,湖北 武漢 430070;3.武漢船舶通信研究所,湖北 武漢 430079)
拓?fù)鋬?yōu)化在機械結(jié)構(gòu)設(shè)計中應(yīng)用越來越廣泛,其數(shù)值計算大多基于有限元理論,得到的結(jié)果存在棋盤格現(xiàn)象、邊緣呈明顯鋸齒狀,不便后續(xù)處理,需要產(chǎn)品設(shè)計師以拓?fù)鋬?yōu)化結(jié)果為參考,根據(jù)工藝和經(jīng)驗構(gòu)造參數(shù)化模型,限制了拓?fù)鋬?yōu)化的應(yīng)用。
三維拓?fù)鋬?yōu)化結(jié)果重構(gòu)方法主要經(jīng)歷了等值面方法、曲面重構(gòu)方法和參數(shù)化曲面重構(gòu)方法3個階段。
(1)等值面方法用等值面密度構(gòu)造三角面片(或其他類型面片)并拼接成曲面,主要用于顯示拓?fù)鋬?yōu)化結(jié)果,存在鋸齒狀邊緣,Lorensen等[1]提出的移動立方體等值面法(MC)應(yīng)用廣泛。
(2)曲面重構(gòu)方法主要有網(wǎng)格平滑濾波和基于隱式函數(shù)的方法。等值面曲面仍有鋸齒狀,可用網(wǎng)格平滑法進(jìn)行平滑,如拉普拉斯平滑[2]。隱式函數(shù)主要有泊松曲面和徑向基函數(shù)。這兩種方法主要用來顯示曲面細(xì)節(jié),加工成本較高。
(3)參數(shù)化曲面重構(gòu)方法主要有基于特征分割和基于視圖的曲面重構(gòu)方式。
特征分割是通過實體的曲面信息或輪廓信息,將需要重構(gòu)的實體分割出來進(jìn)行擬合或調(diào)整[3-4]。基于視圖的參數(shù)化曲面重構(gòu)在拓?fù)鋬?yōu)化結(jié)果重構(gòu)中應(yīng)用較多。在二維拓?fù)鋬?yōu)化結(jié)果中,大多利用直線圓弧或幾何模板對輪廓進(jìn)行規(guī)整[5-6]。在基于切片視圖的曲面重構(gòu)中,陳思等[7]和Tang[8]采用NURBS和B樣條曲面對切片數(shù)據(jù)進(jìn)行重構(gòu),需要協(xié)調(diào)實體的復(fù)雜度和可加工性。在基于多視圖的曲面重構(gòu)中,William[9]和Shane[10]用形狀模板逼近三維實體的二維輪廓,最后通過拉伸二維輪廓等操作重構(gòu)曲面,重構(gòu)曲面簡單,但對組合圖形的識別效果不好。
等值面方法和曲面重構(gòu)方法主要用于優(yōu)化結(jié)果的顯示,沒有考慮零件加工的工藝難度。參數(shù)化曲面重構(gòu)考慮了曲面加工性,但采用B樣條曲面、雙四次曲面函數(shù)等方法構(gòu)造的幾何特征工藝成本較高。單視圖方式只適合于二維的情況,對于三維結(jié)構(gòu)由于不能識別曲面其他方向視圖的幾何信息,重構(gòu)三維幾何出現(xiàn)困難。
筆者采用多視圖重構(gòu)方法對拓?fù)鋬?yōu)化結(jié)果進(jìn)行重構(gòu)。通過三視圖、局部視圖和坐標(biāo)變換識別曲面任意點的坐標(biāo)信息,結(jié)合考慮了加工工藝的整圓、橢圓和直線圓弧組合圖形,重構(gòu)出便于加工和幾何建模的三維模型??商岣咄?fù)鋬?yōu)化結(jié)果可加工性,節(jié)約工藝成本,便于尺寸/形狀優(yōu)化。
三維模型主要有線框模型、表面模型和實體模型,筆者采用實體模型描述實體全部的幾何信息和拓?fù)潢P(guān)系。二維視圖是三維實體在投影面投影生成封閉的輪廓線。其中三視圖為同一坐標(biāo)系下既相互獨立、又相互關(guān)聯(lián)的投影坐標(biāo)系統(tǒng)。
三視圖中的空間點可通過視圖坐標(biāo)獲取。局部視圖輪廓信息可通過坐標(biāo)變換轉(zhuǎn)化到三視圖坐標(biāo)系,有繞坐標(biāo)軸旋轉(zhuǎn)和平移變換,對三視圖輪廓進(jìn)行拉伸、旋轉(zhuǎn)和布爾等操作生成實體[11],如圖1所示。實體的盲孔軸線與x軸夾角為θ,圖1(a)為對齊的三視圖,取點a(xa,ya,za),b(xb,yb,zb),c(xc,yc,zc),d(xa,yd,zd),主視圖的斜盲孔為橢圓,主視圖拉伸xa-xb得到實體c,同理得實體d和e,實體f=c∩d∩e。圖1(b)為局部坐標(biāo)系下局部視圖對齊,取點e、f、g和h,同上得實體j。實體j變換到三視圖坐標(biāo)系下,如圖1(g)所示,實體f減變換實體j得實體k。
圖1 多視圖到三維實體
方向視圖描述的是結(jié)構(gòu)的二維輪廓。首先要從拓?fù)鋬?yōu)化結(jié)果(MC等值面)點云構(gòu)造出二維輪廓。
根據(jù)優(yōu)化結(jié)果確定三視圖、局部視圖和特定截面視圖的投影平面,基于MC三角片產(chǎn)生均勻曲面點云,將全部或部分點云投影到投影平面,用Alpha Shape算法[12]識別二維輪廓。
以圖2(a)為例,兩正方體內(nèi)孔分別為通孔和盲孔,孔的軸向沿x軸。采用正投影,正方體1取正視圖平面x=0為投影面,全部點云投影到投影面,即令x=0。正方體2將坐標(biāo)系沿x軸平移到盲孔底面,取此坐標(biāo)系的正視圖平面x=0為投影面,在投影坐標(biāo)系下,取x>0的部分點云投影到投影面。平面點云和二維輪廓如圖2(b)所示。
圖2 有孔的正方體點云投影與二維輪廓識別
將平面輪廓點列{Si=(xi,yi),i=1,2,…,N0}坐標(biāo)轉(zhuǎn)換為極坐標(biāo)(ρi,θi),極點/極軸為平均點/x軸。特征強度定為li=ρi/ρmax。以特征強度為y軸,點序列為x軸,繪制特征強度曲線,特征強度極大值點數(shù)目為特征點數(shù)目N(p),若N(p)>1,找到相同數(shù)目的特征點T,T={Tj,1≤j≤N(p)}并據(jù)此將輪廓分段。每段輪廓點列采用直線和圓弧近似,并構(gòu)造直線圓弧選擇函數(shù)選擇近似邊,組合為多邊形。其中特征點數(shù)N(p)等于近似多邊形的頂點數(shù)p。其輪廓分段為:
Sg={Sg1,Sg2,…,SgN(p)}
Sgj={Si,Tj≤i≤Tj+1,
j=1,2,…,TN(p)-1}
SgN(p)={Si,i≥TN(p)||i≤T1}
(1)
若N(p)=1,采用整圓近似,若N(p)=2,分別用橢圓近似和分段近似兩種方式,若N(p)>2,分段近似。多邊形為整圓、橢圓和直線圓弧組合圖形,但圓弧會增加多邊形的復(fù)雜度,因此圓弧和直線的選取需要可控。
多邊形近似評價標(biāo)準(zhǔn)壓縮比、最大誤差、靈敏值和誤差平方和不能協(xié)調(diào)多邊形頂點數(shù)最小化和近似誤差最小化。根據(jù)張鴻賓等[13]的誤差懲罰函數(shù)構(gòu)造能控制直線和圓弧邊選取的懲罰函數(shù)。
近似多邊形中圓弧/直線邊數(shù)為C(p)/L(p)。輪廓點Si到近似邊的距離為該點的誤差ei,輪廓分段誤差e(Sgj)定義為屬于該分段的點的誤差平方和,采用圓弧/直線近似的輪廓分段誤差為ec(Sgj)/el(Sgj), 其表達(dá)式如下:
ec(Sgj)/el(Sgj)=∑i∈Sgji(e2i)
(2)
e(Sgj)=ec(Sgj)ec(Sgj)+eclf el(Sgj)ec(Sgj)+eclf>el(Sgj) (3) eclf為輪廓分段選擇因子,可以控制直線和圓弧的選取。近似多邊形和輪廓點的誤差e(p)定義為輪廓分段誤差的和,即: e(p)=∑N(p)j=1e(Sgj)分段近似 ∑N0i=1(e2i)整圓橢圓 (4) 近似多邊形與輪廓點的允許誤差設(shè)為t,近似壓縮比為m, 懲罰函數(shù)為P(e),評價函數(shù)為J(p)。cf/lf是圓弧/直線邊系數(shù),其值越大,圓弧/直線邊優(yōu)先級越低。 m=N0N(p)N0<100 100N(p)N0>100 (5) P(e)=exp((e-t)/m)-1exp(1)-1 (6) J(p)=cf·C(p)+lf·L(p)+P(e(p)) (7) 式中:N0為點列數(shù)。 (1) 內(nèi)輪廓凹點和外輪廓處理。特征強度極大值作為特征點能識別凸點,不能識別凹點。拓?fù)鋬?yōu)化結(jié)果的內(nèi)輪廓整體呈現(xiàn)凸多邊形,通過平滑即可濾去微弱凹點影響。明顯凹點是優(yōu)化不徹底部分,用下述算法刪除,具體步驟如下: Step1:簡化輪廓曲線; Step2:識別簡化多邊形凹點并刪除; Step3:簡化多邊形內(nèi)外偏移2 mm(可調(diào)),偏移環(huán)內(nèi)的點為可處理的輪廓點。 去除外輪廓規(guī)整點,其余點形成獨立的分割點列,分割點列和規(guī)整點列的特征點數(shù)和作為外輪廓的特征點數(shù)。 (2) 輪廓重構(gòu)案例。二維輪廓重構(gòu)流程為: Step1:內(nèi)輪廓凹點處理和外輪廓處理;輪廓點均勻線性插值,繪制特征強度曲線; Step2:特征強度曲線多尺度平滑,取最大特征點數(shù)n,特征點數(shù)定為1~n。對每個特征點數(shù)找近似多邊形; Step3:對特征點數(shù)1~n,找最佳近似多邊形,J(p)允許值為Jtol,若J(p)大于Jtol,返回Step2,增加特征點個數(shù)重新計算; 輪廓誤差和噪聲會干擾識別特征點,用多尺度移動平滑窗口平滑濾除。輪廓點列以0.08密度均勻線性插值,移動窗口大小為點數(shù)的0.02~0.20;cf和lf取1,eclf取1,Jtol取500,重構(gòu)案例如圖3所示。 獲得輪廓最大特征點數(shù)10的特征強度曲線平滑濾波如圖3(b)所示。其中整圓近似的J(p)值為330.124 2;特征點數(shù)為4時,J(p)最小,為4.404 9,小于Jtol。 圖3 輪廓重構(gòu) 鄰邊形式為直線和直線、直線和圓弧、圓弧和直線、圓弧和圓弧,用公切圓弧和公切線連接,C1連續(xù)。根據(jù)部件尺寸和加工工藝確定合適的倒圓角半徑,制作公切圓弧半徑表。直線和圓弧相離時公切圓弧半徑要查表校正,其余的公切圓弧半徑cr統(tǒng)一確定,近似圓弧半徑為CR。 以直線圓弧相交為例說明確定公切圓過程,如圖4所示,圖4(a)黑點為特征點,白點為非特征點,虛線為近似圓、近似直線和輔助線。近似圓弧分段的輪廓點列的時針方向為近似圓弧方向WC。過渡圓弧的時針方向為過渡圓弧方向Wt。 圖4 圓弧和直線過渡連接 兩相鄰邊由3個特征點分割,依次為A1、A2、A3,其中A1、A2和圓心的連線與圓交于a1、a2,A3在直線的投影點為a3。直線與圓的交點為B1、B2,其中弧長B1A2 表1 部分鄰邊連接情況 拓?fù)鋬?yōu)化案例和優(yōu)化結(jié)果如圖5所示。 圖5 重構(gòu)實例 輪廓點插值密度取0.08,移動窗口大小為點數(shù)的0.02~0.20;cf和lf取1,eclf取1,Jtol為500。重構(gòu)過程如圖6所示,選yz視圖和xz視圖進(jìn)行輪廓重構(gòu),如圖6(a)和圖6(b)所示,以yz視圖和xz視圖為基準(zhǔn),對稱拉伸50 mm,得到圖6(c)的實體,對齊布爾交,得到圖6(d)的實體。xy視圖對重構(gòu)結(jié)果的影響不大,會顯著增加曲面加工難度。 圖6 重構(gòu)過程 案例2的cf和lf取0.8,其余參數(shù)同案例1,重構(gòu)過程如圖7所示。xz視圖輪廓及重構(gòu)過程同上,體積比為98.75%。cf和lf變小,可增加多邊形邊數(shù),一圓弧邊變?yōu)閮芍本€。 圖7 重構(gòu)過程 對拓?fù)鋬?yōu)化結(jié)果進(jìn)行預(yù)處理,刪除優(yōu)化不徹底和分離結(jié)構(gòu)可降低處理難度。通用工藝制造的零部件采用直線和圓弧造型占大多數(shù),故二維視圖輪廓采用直線和圓弧重構(gòu),再將由整圓、橢圓、直線和圓弧組合圖形重構(gòu)的二維輪廓多截面和布爾運算等操作得到簡單規(guī)整的三維實體。 對于不規(guī)則和曲面復(fù)雜的拓?fù)鋬?yōu)化結(jié)果,僅用三視圖、二維輪廓較難重構(gòu)出簡單規(guī)整的實體,需要補充局部視圖信息并增加投影截面,但過多的投影截面會增加重構(gòu)實體的曲面復(fù)雜度,可忽略部分次要曲面以降低重構(gòu)難度。1.4 二維輪廓重構(gòu)
1.5 輪廓后處理
2 算法實例
3 結(jié)論