馬文魁 李寧
摘 要:針對(duì)復(fù)雜曲面的誤差評(píng)定,本文提出了一種基于改進(jìn)序列二次規(guī)劃的誤差評(píng)定方法,并利用MATLAB軟件實(shí)現(xiàn)了誤差評(píng)定的數(shù)值模擬仿真計(jì)算。實(shí)驗(yàn)結(jié)果表明,該方法能有效提升復(fù)雜曲面輪廓度誤差的評(píng)定精度,為相關(guān)研究工作提供參考。
關(guān)鍵詞:復(fù)雜曲面;序列二次規(guī)劃;誤差評(píng)定;數(shù)值仿真
中圖分類號(hào):TH161 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1003-5168(2019)22-0050-04
Error Evaluation of Complex Surface Based on Improved
Sequential Quadratic Program Algorithm
MA Wenkui LI Ning
Abstract: Based on improved sequential quadratic program, this paper presented a new method for the error evaluation of complex surface. The numerical simulation calculation of error evaluation is realized by using MATLAB software. Experimental result shows that the proposed method can effectively improve the evaluation accuracy of the contour error of complex surface, which can provide a reference for related research work.
Keywords: complex surface;sequential quadratic program;error evaluation;numerical simulation
隨著我國(guó)高端制造技術(shù)的不斷發(fā)展和進(jìn)步,人們對(duì)機(jī)械產(chǎn)品的制造精度也提出了更高的要求。復(fù)雜曲面由于其良好的結(jié)構(gòu)性能,在航空航天、汽車、造船和軍工產(chǎn)品等領(lǐng)域具有廣泛的應(yīng)用,甚至對(duì)設(shè)備的正常運(yùn)行起到了決定性作用。在復(fù)雜曲面零件的加工與檢測(cè)過(guò)程中,高精高效的檢測(cè)手段與誤差評(píng)定方法一直以來(lái)都是研究人員關(guān)注的熱點(diǎn)問(wèn)題,且對(duì)衡量產(chǎn)品的加工質(zhì)量起到了至關(guān)重要的作用。
在零件加工質(zhì)量評(píng)定過(guò)程中,實(shí)測(cè)元素相對(duì)于圖紙規(guī)定的理論輪廓和位置所容許的變動(dòng)量定義為形位公差。國(guó)標(biāo)《形狀和位置公差》(GB/T 1182—1996)將形位公差分為形狀公差和位置公差兩類,其中包括四項(xiàng)形狀公差和八項(xiàng)位置公差。針對(duì)面輪廓度公差而言,若圖紙中標(biāo)定了基準(zhǔn)要求,即認(rèn)定為位置公差,反之為形狀公差。形位公差帶主要用于界定實(shí)際被測(cè)要素的變動(dòng)區(qū)間,即形位誤差的最大容許值。若實(shí)際被測(cè)元素完全包容于公差帶內(nèi),則認(rèn)定被測(cè)元素合格,反之為不合格[1]。
為了更好地提升復(fù)雜曲面誤差評(píng)定的精度與計(jì)算效率,本文重點(diǎn)以無(wú)基準(zhǔn)要求的曲面輪廓度公差為研究基礎(chǔ),通過(guò)對(duì)復(fù)雜曲面輪廓度誤差評(píng)定模型的分析,將序列二次規(guī)劃算法與過(guò)濾算法相結(jié)合,有效克服了序列二次規(guī)劃算法的算法缺陷,實(shí)現(xiàn)了對(duì)復(fù)雜曲面零件加工品質(zhì)高精高效的誤差評(píng)定。
1 復(fù)雜曲面輪廓度誤差評(píng)定模型
在實(shí)際的曲面檢測(cè)過(guò)程中,接觸測(cè)量和非接觸測(cè)量是獲得曲面三維形貌最主要的兩種方法。零件在數(shù)控機(jī)床加工完成后,一般利用三坐標(biāo)測(cè)量機(jī)、掃描儀等工具實(shí)現(xiàn)對(duì)復(fù)雜曲面零件的測(cè)量。通過(guò)實(shí)測(cè)要素與理論要素的比對(duì)計(jì)算,得到曲面輪廓誤差,從而實(shí)現(xiàn)對(duì)零件曲面加工質(zhì)量的評(píng)定。根據(jù)ISO[2]標(biāo)準(zhǔn)中的相關(guān)定義,復(fù)雜曲面輪廓誤差的評(píng)定是以理論曲面為基礎(chǔ),輪廓度公差為實(shí)測(cè)曲面在由理論曲面所構(gòu)成區(qū)域內(nèi)的容許變動(dòng)量。該變動(dòng)區(qū)域,即公差帶是多組直徑為公差值,球心位于理論曲面上的球被包容于兩包容曲面之間的區(qū)域,如圖1所示。當(dāng)實(shí)測(cè)點(diǎn)完全包容于該區(qū)域內(nèi),則表示實(shí)測(cè)曲面符合曲面輪廓度公差要求。
將加工完成后的曲面測(cè)點(diǎn)定義為[P=Ph=(xph,yph,zph)h=1,2,……,i],其中[i]為測(cè)量點(diǎn)的個(gè)數(shù),測(cè)量點(diǎn)經(jīng)過(guò)旋轉(zhuǎn)和平移的坐標(biāo)變換矩陣可表示為:
[Tf=Tp?Tx?Ty?Tz] ? ? ? ? ? ? ? ? ? ? ? ? ? (1)
式中,[Tp]為測(cè)量點(diǎn)的平移坐標(biāo)變換矩陣;[Tx]、[Ty]和[Tz]分別為測(cè)量點(diǎn)繞[X]、[Y]和[Z]軸的旋轉(zhuǎn)坐標(biāo)變換矩陣。這四個(gè)變量分別為:
[Tp=100001000010ΔxΔyΔz1] (2)
[Tx=10000cosαsinα00-sinαcosα00001] (3)
[Ty=cosβ0-sinβ00100sinβ0cosβ00001] (4)
[Tz=cosγsinγ00-sinγcosγ0000100001] (5)
將式(2)至式(5)代入式(1)可得:
經(jīng)過(guò)坐標(biāo)變換后的測(cè)量點(diǎn)坐標(biāo)[Q=Qh=(xqh,yqh,zqh)h=1,2,……,i]可由式(7)計(jì)算獲得。
[Q=Tf?P] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (7)
根據(jù)ISO[2]誤差評(píng)定標(biāo)準(zhǔn)引入的最小包容區(qū)域原則,應(yīng)盡量減小實(shí)測(cè)曲面與理論曲面之間的最大間隙,使其最大間隙最小化。復(fù)雜曲面輪廓度誤差評(píng)定模型建立如下公式:
[e=minmax2d(Δx,Δy,Δz,α,β,γ)] (8)
式中,[d(Δx,Δy,Δz,α,β,γ)]為實(shí)測(cè)點(diǎn)與理論曲面之間的距離;Δx,Δy和Δz分別表示實(shí)測(cè)點(diǎn)沿著[X]、[Y]和[Z]軸的平移距離;α,β和γ分別表示實(shí)測(cè)點(diǎn)繞[X]、[Y]和[Z]軸的旋轉(zhuǎn)角度。
2 誤差評(píng)定方法
由曲面誤差評(píng)定模型可以看出,基于最小區(qū)域的復(fù)雜曲面輪廓度誤差評(píng)定主要是通過(guò)不斷調(diào)整測(cè)量點(diǎn)的空間位置,保證全局測(cè)點(diǎn)到理論曲面輪廓的最大距離最小,屬于非線性多元參數(shù)優(yōu)化問(wèn)題。針對(duì)公式(8)所建立的曲面輪廓度誤差評(píng)定模型,若要實(shí)現(xiàn)對(duì)曲面的誤差值的計(jì)算,主要需要解決兩方面的重點(diǎn)問(wèn)題:一是測(cè)點(diǎn)到復(fù)雜曲面距離的計(jì)算;二是實(shí)測(cè)點(diǎn)與理論曲面的最優(yōu)匹配。對(duì)于測(cè)點(diǎn)到復(fù)雜曲面的空間距離,可利用基于STL模型的測(cè)點(diǎn)與三角面片的隸屬關(guān)系計(jì)算獲得[3];針對(duì)問(wèn)題二,本文采用改進(jìn)的序列二次規(guī)劃算法實(shí)現(xiàn)測(cè)量點(diǎn)與理論曲面的最佳匹配,求得最優(yōu)坐標(biāo)變換矩陣。
2.1 算法描述
對(duì)于約束非線性規(guī)劃問(wèn)題,通常的數(shù)學(xué)描述如下:
[min f(x)s. t. ? ? ci(x)=0, i∈E ci(x)≤0, i∈I] ? ? ? ? ? ? ? ? ? ?(9)
式中,[fx]和[cix]為定義在[Rn]上的函數(shù)。[fx]為優(yōu)化的目標(biāo)函數(shù);[cix]為約束函數(shù);[E=1, 2, …,n];[I=n+1, …,m]。序列二次規(guī)劃(Sequence Quadratic Program,SQP)算法主要在某問(wèn)題的近似解處,將初始的非線性規(guī)劃問(wèn)題拆分為一系列二次規(guī)劃的子問(wèn)題,通過(guò)對(duì)子問(wèn)題的求解,獲得下降方向,下降步長(zhǎng)由罰函數(shù)決定,循環(huán)迭代逼近最優(yōu)解[4]。由于SQP算法具有良好的理論基礎(chǔ)及較強(qiáng)的邊界搜索能力,因此,在解決非線性約束優(yōu)化問(wèn)題中得到了廣泛應(yīng)用。對(duì)于求解一般約束非線性規(guī)劃問(wèn)題,序列二次規(guī)劃的子問(wèn)題在第[k]次迭代求解時(shí),其計(jì)算公式可表示為:
[mind dTWkd+?f(xk)Tds. t. ? ? ci(xk)+?ci(xk)d=0 ci(xk)+?ci(xk)d≤0] ? ? ? ? ? ? ? ? (10)
式中,[Wk]為拉格朗日近似海瑟矩陣;[d]為搜索方向;[?f(xk)]為目標(biāo)函數(shù)在[xk]處的梯度向量;[cixk]表示不等式約束在[xk]點(diǎn)的值;[?ci(xk)]為不等式約束在[xk]處的雅克比矩陣。序列二次規(guī)劃算法的具體算法流程參見(jiàn)周敏的研究[5]。
在利用SQP算法求解二次規(guī)劃子問(wèn)題的過(guò)程中,罰函數(shù)的選擇和調(diào)整相對(duì)比較困難,選用過(guò)大或者過(guò)小的罰函數(shù)都會(huì)對(duì)計(jì)算結(jié)果造成一定的影響,而且求解多個(gè)子問(wèn)題的計(jì)算量相對(duì)較大,在一定程度上影響算法的效率。
2002年,鄧迪大學(xué)Fletcher和Leyffer[6]提出過(guò)濾算法。與傳統(tǒng)算法相比,過(guò)濾算法在二次規(guī)劃子問(wèn)題的求解中,無(wú)需使用罰函數(shù)。該算法的重點(diǎn)主要是由濾子來(lái)代替?zhèn)鹘y(tǒng)的罰函數(shù),允許一個(gè)迭代步被濾子接受當(dāng)且僅當(dāng)目標(biāo)函數(shù)值充分下降或違反約束度函數(shù)充分下降,其核心是判斷目標(biāo)函數(shù)值或約束違反度函數(shù)值是否能在試探點(diǎn)非單調(diào)下降,如果該點(diǎn)非單調(diào)下降,那么就將該試探點(diǎn)作為下一個(gè)迭代點(diǎn)進(jìn)行計(jì)算。濾子算法的最大優(yōu)勢(shì)在于降低罰因子在調(diào)整上的困難,借鑒了多目標(biāo)優(yōu)化的算法結(jié)構(gòu),將約束優(yōu)化問(wèn)題轉(zhuǎn)換為雙目標(biāo)優(yōu)化問(wèn)題,即可以使目標(biāo)函數(shù)和約束違反度在共同減小時(shí)不同步。該算法實(shí)質(zhì)上是一種非單調(diào)的方法,有利于提升算法的計(jì)算效率,并能得到非線性優(yōu)化問(wèn)題的最優(yōu)解[7-9]。因此,本文采用過(guò)濾算法與序列二次規(guī)劃相結(jié)合的方式求解實(shí)測(cè)點(diǎn)與理論曲面的最優(yōu)匹配參數(shù)。
2.2 誤差計(jì)算流程
針對(duì)無(wú)基準(zhǔn)復(fù)雜曲面輪廓度誤差評(píng)定問(wèn)題,根據(jù)劉美玲[10]提出的對(duì)濾子SQP算法的構(gòu)造及算法流程的描述,通過(guò)對(duì)復(fù)雜曲面的輪廓度誤差評(píng)定模型的建立,將(Δx,Δy,Δz,α,β,γ)作為算法優(yōu)化參數(shù),結(jié)合基于STL模型的點(diǎn)到曲面的距離函數(shù),計(jì)算獲得曲面輪廓度誤差值。復(fù)雜曲面輪廓度誤差值的計(jì)算流程如圖2所示。
3 仿真實(shí)驗(yàn)及分析
本文以如圖3所示的復(fù)雜曲面為研究對(duì)象,借助MATLAB的強(qiáng)大數(shù)學(xué)計(jì)算功能[11],利用數(shù)值模擬仿真的方式驗(yàn)證所提出算法的有效性。
在曲面上提取80個(gè)測(cè)點(diǎn),添加服從正態(tài)分布的隨機(jī)誤差[N](0,0.05),考慮到實(shí)際檢測(cè)過(guò)程中測(cè)量坐標(biāo)系與理論坐標(biāo)并不重合,添加系統(tǒng)誤差syserror (0.4,0.4,0.4,-0.2,
-0.2, 0.3)得到模擬實(shí)測(cè)點(diǎn)集。通過(guò)數(shù)值模擬仿真計(jì)算后,本方法求得曲面輪廓度誤差為0.261 5mm。為了進(jìn)一步驗(yàn)證本文提出方法的準(zhǔn)確性,將本方法的計(jì)算結(jié)果與王東霞等學(xué)者[12]所提方法的計(jì)算結(jié)果進(jìn)行對(duì)比。利用王東霞等學(xué)者[12]所提出的方法計(jì)算獲得輪廓度誤差為0.310 4mm。通過(guò)數(shù)值結(jié)果的對(duì)比可以看出,本文所提出的算法在復(fù)雜曲面輪廓度誤差評(píng)定中具有更好的評(píng)定精度。
4 結(jié)論
本文通過(guò)對(duì)復(fù)雜曲面輪廓度誤差評(píng)定模型的分析,采用過(guò)濾算法與序列二次規(guī)劃相結(jié)合的方式優(yōu)化模型匹配參數(shù),克服了序列二次規(guī)劃算法本身的局限性,提高了求解優(yōu)化匹配參數(shù)的效率。實(shí)驗(yàn)結(jié)果表明,該方法能有效實(shí)現(xiàn)復(fù)雜曲面輪廓度誤差的精確評(píng)定,在實(shí)現(xiàn)復(fù)雜曲面的高精加工方面具有一定的參考價(jià)值。
參考文獻(xiàn):
[1]張美.自由曲面測(cè)量采樣策略及輪廓度誤差評(píng)定算法研究[D].天津:天津大學(xué),2013.
[2] Geometrical product specifications (GPS) — geometrical tolerancing — tolerances of form, location and run-out: ISO 1101—2017[7].
[3]馬文魁.復(fù)雜曲面加工誤差補(bǔ)償方法與關(guān)鍵技術(shù)研究[D].天津:天津大學(xué),2016.
[4]王佳凱,桂勝華.約束非線性優(yōu)化的二階段濾子SQP算法[J].上海第二工業(yè)大學(xué)學(xué)報(bào),2006(4):279-286.
[5]周敏.約束非線性優(yōu)化的信賴域?yàn)V子SQP算法[D].洛陽(yáng):河南科技大學(xué),2014.
[6] Fletcher R, Leyffer S. Nonlinear programming without a penalty function[J]. Mathematical Programming Ser A,2002(2):239-269.
[7]張家昕.不等式約束優(yōu)化的一個(gè)濾子SQP算法[J].安徽科技學(xué)院學(xué)報(bào),2015(5):62-65.
[8]劉澤顯.一種修正的線搜索Filter-SQP算法[J].系統(tǒng)科學(xué)與數(shù)學(xué),2014(1):53-63.
[9]非線性互補(bǔ)約束均衡問(wèn)題的一個(gè)濾子SQP算法[J].應(yīng)用數(shù)學(xué)學(xué)報(bào),2012(1):49-58.
[10]劉美玲.帶等式約束二次規(guī)劃子問(wèn)題的濾子SQP算法[J].數(shù)學(xué)的實(shí)踐與認(rèn)識(shí),2015(14):272-279.
[11]王鵬飛,王建鋒,王晉鵬,等.基于機(jī)床運(yùn)動(dòng)學(xué)模型的加工面形誤差影響因素[J].制造技術(shù)與機(jī)床,2019(2):130-135.
[12]王東霞,溫秀蘭,趙藝兵.基于CAD模型引導(dǎo)測(cè)量的自由曲面定位及輪廓度誤差評(píng)定[J].光學(xué)精密工程,2012(12):2720-2727.