張偉辰, 孫玉文
(大連理工大學(xué) 機(jī)械工程學(xué)院,遼寧大連116024)
大型復(fù)雜結(jié)構(gòu)特征零件廣泛應(yīng)用于航空、汽車和國防等行業(yè),如大型發(fā)動(dòng)機(jī)機(jī)匣、航空發(fā)動(dòng)機(jī)葉片、精密摸具等。該類零件作為產(chǎn)品的腔體,對(duì)尺寸精度與表面質(zhì)量要求高,考慮到該類零件具有尺寸大、結(jié)構(gòu)復(fù)雜的特點(diǎn),加工時(shí)通常穿插各式各樣的測(cè)量任務(wù),導(dǎo)致其加工周期長。
建立在位測(cè)量制造系統(tǒng),可以免除傳統(tǒng)三坐標(biāo)機(jī)測(cè)量方法的重復(fù)定位誤差,同時(shí)提高工作效率。測(cè)量所用的測(cè)頭分為接觸式測(cè)頭和非接觸式測(cè)頭,接觸式測(cè)頭有著測(cè)量精度高、不易受到外界影響的優(yōu)點(diǎn),適合用于大型復(fù)雜結(jié)構(gòu)零件的高精度在位檢測(cè)工作。使用接觸式測(cè)頭進(jìn)行在位測(cè)量時(shí),測(cè)頭在零件上按規(guī)劃的軌跡依次測(cè)量采樣點(diǎn)坐標(biāo),測(cè)量效率直接受所規(guī)劃軌跡影響,不合理的測(cè)量軌跡甚至將直接導(dǎo)致測(cè)量失敗。針對(duì)旨在提高測(cè)量效率的在線測(cè)量軌跡規(guī)劃問題,國內(nèi)外學(xué)者和公司做了大量研究,MW Cho[1]將測(cè)頭軌跡求優(yōu)歸為TSP問題,得到針對(duì)自由曲面的測(cè)頭最短移動(dòng)路徑;Honghee Lee[2]將大型復(fù)雜結(jié)構(gòu)零件測(cè)量軌跡規(guī)劃分為整體與局部規(guī)劃,運(yùn)用啟發(fā)式算法確定各待測(cè)面之間的檢測(cè)順序;劉海波[3]對(duì)自由曲面測(cè)量路徑進(jìn)行了優(yōu)化,有效提高了在位測(cè)量效率;劉達(dá)新[4]開發(fā)了三坐標(biāo)機(jī)測(cè)量規(guī)劃系統(tǒng),改進(jìn)了多處測(cè)量規(guī)劃方法;Autodesk 公司推出了三維測(cè)量軟件PowerINSPECT,可以驅(qū)動(dòng)各種測(cè)量設(shè)備進(jìn)行檢測(cè)。
本文提出一種針對(duì)大型復(fù)雜結(jié)構(gòu)零件的在位測(cè)量軌跡規(guī)劃方法,基于遺傳算法與模擬退火算法的混合框架,創(chuàng)建合適的基因型,以及與之對(duì)應(yīng)的交叉算子、變換算子、目標(biāo)函數(shù)等,并把碰撞干涉問題融入到規(guī)劃方法中進(jìn)行優(yōu)化求解,最后通過實(shí)例進(jìn)行測(cè)試,證實(shí)了該方法的有效性。另外開發(fā)了一套具有用戶交互能力的在位測(cè)量規(guī)劃系統(tǒng),使得用戶方便地對(duì)零件的測(cè)量軌跡進(jìn)行合理的參數(shù)設(shè)置,實(shí)現(xiàn)測(cè)量軌跡的模擬及機(jī)代碼的輸出。
為了獲得更短的路徑,許多研究者對(duì)規(guī)劃方法進(jìn)行了改進(jìn)。旅行商問題(TSP)與測(cè)量路徑規(guī)劃問題相似,特別是在復(fù)雜曲面上有著廣泛的應(yīng)用,但由于大型零件待測(cè)面眾多,若把所有面上的測(cè)量點(diǎn)統(tǒng)一做路徑規(guī)劃,則需要規(guī)劃多達(dá)上萬個(gè)測(cè)量點(diǎn),傳統(tǒng)解法已經(jīng)不再適用。本文將全局測(cè)量軌跡分為單個(gè)待測(cè)面測(cè)量軌跡與待測(cè)面之間的測(cè)量軌跡,進(jìn)而設(shè)計(jì)軌跡優(yōu)化算法,并進(jìn)行軌跡碰撞檢測(cè)和規(guī)避處理,最后得到無碰撞測(cè)量軌跡。
采樣點(diǎn)的合理分布是進(jìn)行測(cè)量軌跡規(guī)劃的前提,設(shè)計(jì)尺寸與公差、零件的加工方法、加工精度及測(cè)頭的精度都對(duì)采樣點(diǎn)分布有很大的影響。目前很多研究都給出了采樣點(diǎn)步長的確定方法,但實(shí)際測(cè)量時(shí)仍需要技術(shù)人員的經(jīng)驗(yàn)來綜合考慮。
本文結(jié)合以往研究,對(duì)于待測(cè)面采用均勻自適應(yīng)網(wǎng)格劃分,并進(jìn)行合法性檢測(cè)及邊界處理,同時(shí)添加用戶交互接口方便用戶對(duì)采樣點(diǎn)的步長及分布進(jìn)行調(diào)節(jié)。圖1為多邊形待測(cè)面與不規(guī)則待測(cè)面的采樣點(diǎn)分布。
得到待測(cè)面的采樣點(diǎn)后,單個(gè)待測(cè)面的測(cè)量軌跡規(guī)劃問題可以看作TSP問題,特別是針對(duì)自由曲面的測(cè)量軌跡規(guī)劃方面,有大量文獻(xiàn)對(duì)此進(jìn)行研究[5],本文采用遺傳算法作為主要方法,對(duì)每個(gè)待測(cè)面進(jìn)行軌跡規(guī)劃。
由于單個(gè)待測(cè)面沒有規(guī)定起始點(diǎn)與終止點(diǎn),優(yōu)化后的軌跡有多種近似最優(yōu)解,為了后續(xù)多待測(cè)面軌跡規(guī)劃的需要,本文對(duì)每個(gè)待測(cè)面規(guī)定多對(duì)起始點(diǎn)與終止點(diǎn),具體做法是:對(duì)每個(gè)待測(cè)面得到的采樣點(diǎn)群組,建立最小包絡(luò)長方體,長方體的頂點(diǎn)與棱中點(diǎn)都可作為起始點(diǎn)或終止點(diǎn),由此即可獲得多對(duì)出入口組合。
圖1 測(cè)量采樣點(diǎn)分布
根據(jù)不同的出入口組合,通過遺傳算法可得到每種組合的優(yōu)化軌跡,同樣每種組合的軌跡長度也略有差異。為方便演示,選用圖1多邊形平面采樣點(diǎn)群組,采樣步長為5 mm,分別規(guī)定不同出入口組合進(jìn)行優(yōu)化得出測(cè)量軌跡,圖2為包絡(luò)長方形,圖3以A-F為出入口,得到起止點(diǎn)P1,AF,0和P1,AF,1,軌跡長度為d1,AF=144.14 mm;圖4以B-F為出入口,得到起止點(diǎn)P1,BF,0和P1,BF,1,軌跡長度為d2,BF=142.07 mm;圖5以A點(diǎn)為出入口,得到起止點(diǎn)P1,AA,0和P1,AA,1,軌跡長度為d3,AA=142.07 mm。
圖4 B-F路徑
圖5 A-A路徑
由此可知,每個(gè)待測(cè)面都擁有多種測(cè)量軌跡,若對(duì)包絡(luò)長方形的8個(gè)起止點(diǎn)都做規(guī)劃,最多可以得到36種測(cè)量軌跡,不過實(shí)際計(jì)算時(shí)很多軌跡都是相同的,即使是包絡(luò)長方體,一個(gè)待測(cè)面的軌跡平均有20種左右,這樣既保證了后續(xù)軌跡規(guī)劃算法有更大的優(yōu)化空間,也不會(huì)使算法耗時(shí)過長。
全局測(cè)量軌跡分為單個(gè)待測(cè)面測(cè)量軌跡及待測(cè)面之間的測(cè)量軌跡。由于單個(gè)待測(cè)面測(cè)量軌跡變得多樣化,各待測(cè)面之間的測(cè)量軌跡已經(jīng)不同于傳統(tǒng)TSP問題,不同之處有:1) 每個(gè)待測(cè)面測(cè)量軌跡的起始點(diǎn)和終止點(diǎn)有多對(duì),且每對(duì)起止點(diǎn)都對(duì)應(yīng)一個(gè)面內(nèi)軌跡長度;2) 待測(cè)面測(cè)量軌跡的起始點(diǎn)與終止點(diǎn)可以互換,面內(nèi)軌跡長度相同;3)待測(cè)面之間相互嵌套,一個(gè)待測(cè)面內(nèi)嵌套眾多小待測(cè)面,每個(gè)小待測(cè)面同樣擁有多對(duì)起止點(diǎn);4) 測(cè)量軌跡有用戶給定的測(cè)頭初始位置與終止位置。
為解決上述問題,本文選用遺傳算法與模擬退火算法的混合框架,創(chuàng)建合適的基因型,以及與此對(duì)應(yīng)的交叉算子、變換算子和目標(biāo)函數(shù)等,求解該問題。
為了貼合單個(gè)待測(cè)面擁有多種測(cè)量軌跡的特點(diǎn),首先創(chuàng)建合適的基因型:設(shè)定一個(gè)結(jié)構(gòu)體單元代表一個(gè)待測(cè)面,每個(gè)單元擁有多對(duì)出入口,單元中每一行代表一對(duì)出入口,每對(duì)出入口擁有與之對(duì)應(yīng)的測(cè)量該待測(cè)面所需軌跡長度,依然以圖1多邊形待測(cè)面為例,其單元結(jié)構(gòu)如圖6所示,數(shù)字10代表測(cè)量軌跡種類數(shù),第一行代表以A-F為出入口的測(cè)量軌跡,以此類推。所有待測(cè)面單元按一定順序組成一條染色體,即一種規(guī)劃路徑。
交叉算子與傳統(tǒng)交叉方式類似,選取隨機(jī)片段進(jìn)行交換,并進(jìn)行合法性檢測(cè)。變異算子除了待測(cè)面互相交換外,需要針對(duì)單個(gè)待測(cè)面內(nèi)部進(jìn)行合法變異。待測(cè)面內(nèi)部變異分為兩種:第一種為待測(cè)面多種軌跡方案的互換,如圖7所示;第二種為待測(cè)面每種軌跡方案的首尾互換,如圖8所示。
目標(biāo)函數(shù)為順序遍歷整個(gè)染色體的距離總和:選取每個(gè)待測(cè)面單元的第一對(duì)起止點(diǎn)及對(duì)應(yīng)的軌跡長度,然后連接測(cè)頭初始位置和終止位置,相加后得到目標(biāo)函數(shù)。例如圖9所示的情況,目標(biāo)函數(shù)為
F=D(PStart,P1,BF,0)+D(P1,BF,1,P2,EH,1)+D(P2,EH,0,PEnd)+d1,BF+d2,EH。
圖6 基因型結(jié)構(gòu)
圖7 自體變異類型Ⅰ
圖8 自體變異類型Ⅱ
上述軌跡規(guī)劃算法是建立在每個(gè)待測(cè)面并列的基礎(chǔ)上,但實(shí)際應(yīng)用中有些嵌套特征并不適合此算法,比如孔、凹槽等,出現(xiàn)一個(gè)大待測(cè)面內(nèi)包含多個(gè)小待測(cè)面的情況,顯然不能再將這些待測(cè)面看成并列關(guān)系。
針對(duì)這一問題,需要重新規(guī)劃這些待測(cè)面的測(cè)量軌跡,具體做法是:將大待測(cè)面上的每個(gè)采樣點(diǎn)看成無限小的待測(cè)面,此待測(cè)面只有一對(duì)出入口,且內(nèi)部軌跡長度為零,再將孔、凸臺(tái)的待測(cè)面加入進(jìn)去,使用待測(cè)面之間的規(guī)劃算法得到組合軌跡。如圖10所示,一個(gè)圓臺(tái)中內(nèi)嵌了一個(gè)孔特征,外部圓臺(tái)面采樣點(diǎn)的基因型結(jié)構(gòu)由藍(lán)色框體表示,內(nèi)嵌面的基因型結(jié)構(gòu)由黃色框體表示,此時(shí)運(yùn)用上一節(jié)的規(guī)劃算法即可得到嵌套特征的組合軌跡。
圖9 目標(biāo)函數(shù)的計(jì)算
圖10 待測(cè)面的嵌套
針對(duì)路徑碰撞問題,本文采用掃描體法對(duì)該類問題進(jìn)行預(yù)檢測(cè),在獲得測(cè)頭及刀柄的幾何參數(shù)后,對(duì)軌跡方向進(jìn)行掃描可以獲得測(cè)頭掃描體,此時(shí)無需知道運(yùn)動(dòng)中每一時(shí)刻的測(cè)頭位置,若掃描體與零件重疊則必然意味著發(fā)生碰撞。關(guān)于碰撞規(guī)避點(diǎn)的確定,本文主要采用包圍盒法,在此不再贅述。
碰撞檢測(cè)與路徑規(guī)劃的先后順序一直是個(gè)難題:若不進(jìn)行軌跡規(guī)劃,碰撞檢測(cè)就無從談起;若先進(jìn)行軌跡規(guī)劃,碰撞規(guī)避又會(huì)影響規(guī)劃好的路徑,原本最優(yōu)的軌跡通過碰撞規(guī)避操作后,由于規(guī)避附加路徑過長而導(dǎo)致優(yōu)化失效;若在優(yōu)化目標(biāo)函數(shù)中寫入碰撞檢測(cè)規(guī)避條件,則需要對(duì)種群中所有路徑進(jìn)行檢測(cè)規(guī)避運(yùn)算,極大地延長了優(yōu)化時(shí)間。
本文將碰撞規(guī)避與路徑規(guī)劃兩者融合,具體做法是:在規(guī)劃算法計(jì)算初始距離矩陣時(shí),對(duì)矩陣中所有基本路徑進(jìn)行碰撞檢測(cè)與規(guī)避處理,使所有基本路徑合法化,此時(shí)再進(jìn)行路徑優(yōu)化,得到無碰撞最優(yōu)檢測(cè)路徑,如圖11所示。由于在優(yōu)化之前完成碰撞規(guī)避的預(yù)處理,無需在優(yōu)化中進(jìn)行多余操作,對(duì)優(yōu)化算法運(yùn)行時(shí)間基本無影響。
圖11 距離矩陣的碰撞修正
為方便用戶交互和直觀地進(jìn)行測(cè)量軌跡規(guī)劃,本節(jié)講述在位測(cè)量軌跡規(guī)劃系統(tǒng)的開發(fā)。系統(tǒng)是基于Visual C++開發(fā)設(shè)計(jì)的包含多個(gè)框架的交互系統(tǒng)。系統(tǒng)調(diào)用的框架主要有三維數(shù)據(jù)處理內(nèi)核ACIS、三維模型顯示框架VTK、圖形用戶界面應(yīng)用程序開發(fā)框架QT等。由于篇幅原因,本文著重介紹模型可視化過程及系統(tǒng)實(shí)現(xiàn)的功能。
系統(tǒng)的輸入為三維建模軟件生成的模型文件,讀入三維模型文件后,通過ACIS內(nèi)核對(duì)模型數(shù)據(jù)進(jìn)行數(shù)據(jù)提取、特征識(shí)別及坐標(biāo)變換,經(jīng)過VTK可視化管線處理,最終由QT聯(lián)動(dòng)視口進(jìn)行顯示。同時(shí)讀入的模型可以在視口內(nèi)通過捕獲器與用戶進(jìn)行交互,實(shí)現(xiàn)模型的旋轉(zhuǎn)、放大縮小、視圖變換等基本功能,也可通過點(diǎn)選器查看各特征的詳細(xì)參數(shù)。數(shù)據(jù)收集完畢后交由軌跡規(guī)劃模塊進(jìn)行整理分析,通過本文提出的新型啟發(fā)式求優(yōu)算法得到最優(yōu)軌跡。為了方便進(jìn)行后續(xù)的規(guī)劃工作,本系統(tǒng)提供了用戶數(shù)據(jù)交互窗口和命令行控制臺(tái),方便獲取用戶軌跡規(guī)劃參數(shù),實(shí)現(xiàn)對(duì)整個(gè)規(guī)劃過程進(jìn)行監(jiān)控。系統(tǒng)界面如圖12所示。
系統(tǒng)實(shí)現(xiàn)的功能主要有:模型文件幾何數(shù)據(jù)與拓?fù)鋽?shù)據(jù)的讀取與識(shí)別、模型的顯示與交互操作、單個(gè)待測(cè)面測(cè)量軌跡規(guī)劃、多待測(cè)面間的測(cè)量軌跡規(guī)劃、軌跡后處理與輸出等。
圖12 系統(tǒng)用戶界面
本系統(tǒng)選用ACIS作為三維數(shù)據(jù)處理內(nèi)核,讀入模型的格式為SAT格式,此格式通過ACIS邊界表示法(B-Rep)定義,除保存特征的幾何數(shù)據(jù)外,還將模型文件的拓?fù)浣Y(jié)構(gòu)寫入文件,通過解析模型文件的拓?fù)鋽?shù)據(jù),可以明確各特征的層次關(guān)系、空間位置關(guān)系,如圖13右下ACIS幾何解析部分所示,將三維模型讀入后,根據(jù)拓?fù)潢P(guān)系進(jìn)行細(xì)分,為后續(xù)工作提供了保證。
本系統(tǒng)選用VTK作為三維圖形顯示引擎,在此基礎(chǔ)上進(jìn)行模型的顯示、渲染、視圖操作、法矢調(diào)整、模型修改、缺陷檢測(cè)等操作。VTK數(shù)據(jù)結(jié)構(gòu)如圖13上半部分所示,由于模型可能存在著復(fù)雜曲面,VTK并沒有合適的拓?fù)浣Y(jié)構(gòu),本系統(tǒng)將ACIS分解得到的面統(tǒng)一進(jìn)行三角面片化處理,并將其拓?fù)浣Y(jié)構(gòu)和頂點(diǎn)信息交由VTK的組織結(jié)構(gòu)進(jìn)行重組,最終獲得多邊形數(shù)據(jù)集。
圖13 總體視口底層結(jié)構(gòu)圖
VTK可視化管線如圖13左下部分所示,數(shù)據(jù)集進(jìn)入可視化管線進(jìn)行渲染,依次加入坐標(biāo)軸、燈光、相機(jī)及交互器,最終導(dǎo)入到QT窗口,三維模型得以在用戶界面上顯示。
本節(jié)以電動(dòng)機(jī)齒輪變速箱殼體為例驗(yàn)證算法的有效性。根據(jù)工藝要求,某工序需要對(duì)此零件的23個(gè)待測(cè)面進(jìn)行在位測(cè)量,測(cè)量步長統(tǒng)一設(shè)為10 mm。選用雷尼紹RMP600高精度測(cè)頭,測(cè)頭幾何參數(shù)為:測(cè)柄直徑為63 mm,長為76 mm,測(cè)針直徑為6 mm,長為45 mm,安全距離為10 mm。下面通過在位測(cè)量規(guī)劃系統(tǒng)實(shí)現(xiàn)測(cè)量軌跡的優(yōu)化,得到無碰撞測(cè)量軌跡,并與原軌跡進(jìn)行對(duì)比分析。
第一步,根據(jù)工藝要求和用戶給定的參數(shù)確定合理步長,對(duì)所有待測(cè)面分布采樣點(diǎn),如圖14所示。
第二步,對(duì)每個(gè)待測(cè)面進(jìn)行軌跡規(guī)劃,獲得多種測(cè)量軌跡,并進(jìn)行碰撞規(guī)避預(yù)處理,如圖15所示,圖中顯示了每個(gè)待測(cè)面的一種軌跡的結(jié)果。
第三步,對(duì)零件全局進(jìn)行測(cè)量軌跡規(guī)劃,獲得包括嵌套面在內(nèi)的全局測(cè)量軌跡,如圖16所示的紅色軌跡。
通過將軌跡導(dǎo)入到UG/NX軟件進(jìn)行仿真模擬,容易得出,本方法可以有效避免碰撞問題,同時(shí),利用本方法規(guī)劃的測(cè)量軌跡總長為13 902 mm,相較于原軌跡縮短了22%,明顯減少了測(cè)量長度,提高了在位測(cè)量的測(cè)量效率。
圖14 采樣點(diǎn)分布
圖15 單待測(cè)面測(cè)量軌跡
圖16 全局測(cè)量軌跡
本文針對(duì)大型復(fù)雜結(jié)構(gòu)零件在位測(cè)量軌跡規(guī)劃問題,提出了一種高效率無碰撞測(cè)量軌跡規(guī)劃方法,并同時(shí)基于該方法開發(fā)了在位測(cè)量軌跡規(guī)劃系統(tǒng)。
本文所提方法基于遺傳算法及模擬退火算法的混合框架,通過創(chuàng)建新的基因型,以及與之對(duì)應(yīng)的交叉、變換算子、目標(biāo)函數(shù)等實(shí)現(xiàn)了對(duì)最短測(cè)量軌跡的求解,并在求解過程充分考慮了干涉碰撞因素,適用于工件結(jié)構(gòu)復(fù)雜情況下高效率測(cè)量軌跡的求解?;谒_發(fā)的在位測(cè)量軌跡規(guī)劃系統(tǒng),用戶可直觀準(zhǔn)確地進(jìn)行模型讀取、顯示及測(cè)量軌跡參數(shù)調(diào)節(jié)等操作,從而生成滿足用戶需求的測(cè)量軌跡機(jī)代碼。最后對(duì)所提方法進(jìn)行了驗(yàn)證,結(jié)果證明了該方法可以有效地完成測(cè)量軌跡規(guī)劃,得到無碰撞測(cè)量軌跡,顯著提高測(cè)量效率。