李勇波,裴雪豐
(中國(guó)地質(zhì)大學(xué) (武漢)機(jī)械與電子信息學(xué)院,湖北武漢 430074)
三次參數(shù)樣條曲線恒線速插補(bǔ)的研究
李勇波,裴雪豐
(中國(guó)地質(zhì)大學(xué) (武漢)機(jī)械與電子信息學(xué)院,湖北武漢 430074)
針對(duì)非線性曲線輪廓的插補(bǔ),在數(shù)據(jù)采樣插補(bǔ)的基礎(chǔ)上,研究三次參數(shù)樣條曲線恒線速插補(bǔ)方法,并通過構(gòu)建OpenGL渲染環(huán)境,對(duì)數(shù)據(jù)進(jìn)行仿真,完成了曲線恒線速插補(bǔ)的G代碼設(shè)計(jì),實(shí)現(xiàn)了復(fù)雜零件輪廓的插補(bǔ)。
三次參數(shù)樣條曲線;恒線速插補(bǔ);OpenGL
由于樣條曲線的二階連續(xù)性,在具有復(fù)雜輪廓的曲面機(jī)械加工中,其實(shí)現(xiàn)方法得到廣泛研究,其參數(shù)化實(shí)現(xiàn)是國(guó)內(nèi)外數(shù)控和CAD/CAM技術(shù)的研究熱點(diǎn)[1-3]。復(fù)雜零件輪廓的加工實(shí)現(xiàn),傳統(tǒng)的做法是通
過微小直線段來逼近曲面輪廓,為了滿足精度要求,直線段取值很小,造成NC代碼量大的問題。為了滿足復(fù)雜曲線高速、高精度加工要求,在分析數(shù)控系統(tǒng)數(shù)據(jù)采樣插補(bǔ)方法的基礎(chǔ)上,研究了樣條曲線的參數(shù)實(shí)現(xiàn)方式,并對(duì)參數(shù)方程進(jìn)行微分處理,實(shí)現(xiàn)恒線速插補(bǔ)。插補(bǔ)實(shí)現(xiàn)原理如下:在已知曲線控制點(diǎn)坐標(biāo)的前提下,將曲線分段,分別求出相鄰兩點(diǎn)之間的曲線
參數(shù)方程;由進(jìn)給速度計(jì)算每個(gè)插補(bǔ)周期的進(jìn)給量,由恒線速原理計(jì)算各軸向進(jìn)給量,送給伺服系統(tǒng)實(shí)現(xiàn)插補(bǔ)。
數(shù)控系統(tǒng)中數(shù)據(jù)采樣插補(bǔ)在以直流或交流電機(jī)為執(zhí)行機(jī)構(gòu)的閉環(huán)和半閉環(huán)位置采樣系統(tǒng)中應(yīng)用較多。
三次樣條插值方法數(shù)值穩(wěn)定性好,曲線具有一階、二階導(dǎo)數(shù)連續(xù)的性質(zhì),精度與樣條函數(shù)的次數(shù)無關(guān)[4]。但也存在其局限性,如不能模擬大撓度曲線、依賴于坐標(biāo)系的選擇、缺乏幾何不變性等,采用參數(shù)曲線可克服上述問題[5-7]。
對(duì)給定的一組控制點(diǎn)Q0,Q1,…,Qn,假設(shè)曲線由n段r(t)拼接而成。
由上節(jié)求出參數(shù)樣條曲線方程,恒線速插補(bǔ)即在曲線切線方向上單位進(jìn)給量不變,令單位進(jìn)給量為DIV。如圖1所示,圖中的點(diǎn)C和點(diǎn)D之間通過兩個(gè)插補(bǔ)周期即可完成,以兩段直線段來代替曲線段。
圖1 插補(bǔ)示意圖
Δx,Δy即為每軸單位時(shí)間內(nèi)的插補(bǔ)進(jìn)給量,曲線切線方向的單位進(jìn)給量d s(t)=DIV保持恒定。
樣條曲線在數(shù)控領(lǐng)域應(yīng)用比較廣泛,以電子凸輪為例,傳統(tǒng)的機(jī)械凸輪是通過凸輪實(shí)現(xiàn)非線性的加工軌跡,而電子凸輪則直接將軌跡點(diǎn)輸入到驅(qū)動(dòng)器內(nèi),方便根據(jù)需求更改曲線,并且沒有機(jī)械凸輪的磨損。
例如加工出如圖2所示凸輪中間輪廓,按照輪廓參數(shù)要求設(shè)定控制點(diǎn)坐標(biāo) (以圓心為坐標(biāo)系原點(diǎn)),采樣12個(gè)控制點(diǎn) (單位mm):
圖2 凸輪
為了驗(yàn)證計(jì)算結(jié)果的正確性,通過OpenGL對(duì)計(jì)算的數(shù)據(jù)進(jìn)行仿真。OpenGL是個(gè)專業(yè)的圖形程序接口,通過調(diào)用底層圖形庫(kù)實(shí)現(xiàn)繪圖,同樣應(yīng)用在數(shù)控仿真領(lǐng)域[8]。按照一定的步驟在VC++6.0開發(fā)環(huán)境下進(jìn)行配置[9],令DIV=10.0 mm。按上述方法計(jì)算每段曲線的參數(shù)方程,通過恒線速處理,得到各軸向每段時(shí)間的單位時(shí)間進(jìn)給量xi(t),yi(t)并描繪出來,仿真曲線如圖3所示,改變DIV=5.0 mm,插值點(diǎn)的個(gè)數(shù)增加,見圖4。
圖3 OpenGL仿真圖(DIV=10.0mm)
圖4 OpenGL仿真圖(DIV=5.0 mm)
圖3中標(biāo)注的為控制點(diǎn),其余為插值點(diǎn),控制點(diǎn)按照在曲線上的順序依次賦值。圖5為AutoCAD所繪的非閉合樣條曲線圖 (擬合公差為0)。對(duì)比3個(gè)圖可知:用該方法得到的參數(shù)曲線通過微分處理后,將曲線分成若干小直線段,通過設(shè)置DIV來調(diào)節(jié)小直線段,進(jìn)而提高精度。
圖5 AutoCAD所繪的非閉合樣條曲線圖
分析上述樣條曲線可知,所需參數(shù)如下:控制點(diǎn)各軸坐標(biāo)、插補(bǔ)周期、進(jìn)給速度。
在數(shù)控系統(tǒng)中將各控制點(diǎn)坐標(biāo)存儲(chǔ)在用戶變量中,起點(diǎn)為上節(jié)G代碼的結(jié)束點(diǎn);插補(bǔ)周期在以數(shù)控采樣插補(bǔ)為主的系統(tǒng)中為恒定值;進(jìn)給速度由用戶定義,可以更改。因此可定義如下G代碼格式:
其中:G06為自定義G碼,可以設(shè)為其他值;Q、E分別是控制點(diǎn)坐標(biāo)的起始、結(jié)束地址;D為坐標(biāo)指定方式 (0絕對(duì)或1相對(duì));A、B為樣條曲線結(jié)束點(diǎn)坐標(biāo)值;F為進(jìn)給速度。
設(shè)置以上G代碼格式,其執(zhí)行流程如圖6所示。
圖6 樣條曲線執(zhí)行流程圖
將OpenGL仿真程序稍做更改,移植到數(shù)控系統(tǒng)中進(jìn)行描圖,并進(jìn)行測(cè)試。將上述采樣數(shù)據(jù)點(diǎn)保存在起始地址為1000的變量中,測(cè)試G碼如下:
根據(jù)數(shù)控器程式預(yù)覽功能,得到如圖7所示的描圖軌跡。
圖7 樣條曲線測(cè)試圖
從測(cè)試可知:該方法有效地描繪了復(fù)雜曲線的軌跡,測(cè)試程序簡(jiǎn)單,可移植性強(qiáng)。
綜上所述,采用建立三次參數(shù)樣條曲線方程的方法,在已知復(fù)雜曲線關(guān)鍵控制點(diǎn)的前提下,仿真效果明顯,并在實(shí)際數(shù)控系統(tǒng)中得到應(yīng)用。
[1]蓋榮麗,王允森,孫一蘭,等.樣條曲線插補(bǔ)方法綜述[J].小型微型計(jì)算機(jī)系統(tǒng),2012,33(12):2744-2748.
[2]黃建,宋愛平,陶建明,等.一種三次插值樣條曲線的插補(bǔ)方法研究[J].現(xiàn)代制造工程,2012(4):46-49.
[3]LIN Bin.Parametric Cubic Spline Method for the Solution of the Nonlinear Schrodinger Equation[J].Computer Physics Communications,2012(2):60-65.
[4]李慶揚(yáng).數(shù)值分析[M].北京:清華大學(xué)出版社,2008.
[5]張彩明.高精度三次參數(shù)樣條曲線的構(gòu)造[J].計(jì)算機(jī)學(xué)報(bào),2002,25(3):262-268.
[6]MOHANTY R K,JAIN M K,DHALL Deepika.High Accuracy Cubic Spline Approximation for Two Dimensional Quasi-linear Elliptic Boundary Value Problems[J].Applied Mathematical Modelling,2012(2):155-171.
[7]FYFED J.The Use of Cubic Splines in the Solution of Twopoint Boundary Value Problems[J].Computer Journal,1969,12(2):188-192.
[8]李琳茹,游林儒,劉少君.利用OpenGL實(shí)現(xiàn)數(shù)控系統(tǒng)加工過程的三維動(dòng)態(tài)仿真[J].組合機(jī)床與自動(dòng)化加工技術(shù),2012(1):62-65.
[9]王正強(qiáng).OpenGL在VC++6.0開發(fā)環(huán)境下的編程實(shí)現(xiàn)[J].軟件技術(shù),2011(1):89-91.
Research on Constant Linear Velocity Interpolation of Parametric Cubic Sp line
LIYongbo,PEIXuefeng
(College of Mechanical& Electronic Information,China University of Geosciences,Wuhan Hubei430074,China)
In order to realize nonlinear curve contour interpolation,how to achieve constant linear velocity interpolation was discussed for parametric cubic spline and OpenGLwas used to do some data simulation based on data sampling interpolation,then G code of constant linear velocity interpolation was designed.Interpolation of outline of complex partswas completed.
Parametric cubic spline curves;Constant linear velocity interpolation;OpenGL
TP29
A
1001-3881(2014)10-025-3
10.3969/j.issn.1001-3881.2014.10.007
2013-04-16
李勇波 (1967—),男,碩士,副教授,研究方向?yàn)闄C(jī)電一體化與自動(dòng)控制。E-mail:13986290039@139.com。