摘 要: 針對復(fù)雜輪廓的曲線,在數(shù)據(jù)采樣插補原理的基礎(chǔ)上,采用了一種基于三次樣條函數(shù)的插補算法。該方法能精確地擬合出復(fù)雜曲線的輪廓,且使得該曲線具有很好的連續(xù)性。在基于ARM數(shù)控裝置上,對此算法進行了實驗驗證,驗證了該方法的可行性。
關(guān)鍵詞: 三次樣條函數(shù);曲線擬合;插補算法;ARM
隨著微電子技術(shù)、計算機技術(shù)、自動控制技術(shù)和通信技術(shù)的不斷進步,現(xiàn)代數(shù)控系統(tǒng)的發(fā)展趨向高性能化。其中性能的完善主要體現(xiàn)在高速度、高精度、高可靠性、多功能化、網(wǎng)絡(luò)化、小型化、多樣化、智能化和開放性等方面。插補技術(shù)是數(shù)控系統(tǒng)的核心,為使高檔數(shù)控系統(tǒng)能發(fā)揮其功能,高精度、高速度、高效率的插補算法成為目前研究需要突破的難點[1]。
在數(shù)控插補裝置上,針對船身外放樣時的樣條曲線,汽車、飛機及各種產(chǎn)品的外形曲線等無法用標準代數(shù)方程描述的復(fù)雜曲線,一般都采用直線逼近或圓弧逼近的方法來實現(xiàn)其插補,然而這種方法所編寫的算法較為復(fù)雜,且在計算過程中還會產(chǎn)生計算誤差及誤差的累積,降低了插補的精度。而三次樣條函數(shù)基于可使曲線各分段處保持一定程度的光滑性,其具有很好的保凸性和光順性,且能保持曲線的連續(xù)性。同時三次樣條函數(shù)的應(yīng)用范圍廣泛,特別是在給定型值點的曲線擬合方面,如在插補裝置中實現(xiàn)凸輪、汽車外輪廓等曲線。因此對于某些復(fù)雜零件,采用三次樣條函數(shù)的插補方法描述其輪廓是一種極為有效的手段?;谌螛訔l函數(shù)的上述特性,本文描述了三次樣條曲線形成曲線輪廓并在數(shù)控插補裝置上實現(xiàn)插補的過程。該方法既能提高插補精度,又使計算不太復(fù)雜[2,3]。
2 三次樣條曲線輪廓的擬合原理
利用三次樣條函數(shù)解決復(fù)雜曲線插補問題的思路是:在被插補的復(fù)雜曲線上找到一定數(shù)量的型值點,采用三次樣條求出插補中間點,然后利用相鄰兩端曲線交點處的一階導(dǎo)數(shù)、二階導(dǎo)數(shù)相等這一條件,實現(xiàn)整段曲線連續(xù)且在曲線連接處平滑過渡的效果。
以[xj,xj+1]為例,該算法的插補過程如下:此為三次樣條曲線中第j段的插補,x軸以xj為起點坐標, x每次累加△x,再根據(jù)函數(shù)表達式計算出Sj(x)的值,照此循環(huán)計算,就可算出每一段函數(shù)每一點x所對應(yīng)的函數(shù)值,最終得到插補點X、Y軸的坐標值,并輸出每一點的坐標值,直到x=xj+1,整段的插補即完成了。其中△x為正整數(shù),且其所取值必須使得(xj+1-xj)/△x為整數(shù),并確保Y坐標值的變化量大于1。其他段按上述原理繼續(xù)進行相應(yīng)的插補計算。
4 在數(shù)控裝置上的實現(xiàn)
4.1 數(shù)控裝置的介紹
本文使用以S3C2410為主芯片的ARM開發(fā)板作為數(shù)控裝置。ARM采用RISC結(jié)構(gòu),能在一個機器周期內(nèi)執(zhí)行一條指令。此開發(fā)板屬于ARM9處理器系列,具有ICache和DCache,提高了存儲器訪問的效率,具有64 MB NAND Flash和64 MB SDRAM的儲存容量。其晶振頻率為12 MHz,而時鐘控制邏輯能夠產(chǎn)生4倍晶振頻率的PCLK時鐘信號,即為48 MHz。用該PCLK值計算所得的定時器輸入頻率高,從而使得定時時間能設(shè)定得很短。以上特性使此插補算法能在該裝置上得以運行,且具有較高的插補速度,以實現(xiàn)三次樣條曲線的插補。
在ARM開發(fā)板上外接兩個步進電機,分別用于實現(xiàn)X軸和Y軸方向的插補。通過改變定時計數(shù)器的初值,使得脈沖輸出速度不同,從而實現(xiàn)步進電機以不同速度沿X軸和Y軸運行。
三次樣條曲線的插補算法流程如圖1所示。
4.2 實驗結(jié)果及分析
為了驗證三次樣條函數(shù)插補方法的可行性,取一組滿足三次樣條函數(shù)的型值點,根據(jù)三次樣條函數(shù)的擬合原理編程,擬合出如圖2所示的三次樣條曲線。
圖2是整個三次樣條曲線的輪廓,為了把這種方法應(yīng)用在數(shù)控插補上,還必須在此基礎(chǔ)上取適當?shù)牟逖a點,在ADS1.2集成環(huán)境下,用ARM開發(fā)板進行調(diào)試,在此裝置上運行之后,使得步進電機依插補結(jié)果運轉(zhuǎn),運行結(jié)果如圖3所示。
按照以上兩圖的實現(xiàn)結(jié)果進行如下分析:圖2是按照擬合原理擬合出來的完整三次樣條曲線的輪廓,該曲線相鄰兩端交點處一階導(dǎo)數(shù)、二階導(dǎo)數(shù)相等,具有很好的光順性,且保持良好的連續(xù)性。圖3是在三次樣條曲線基礎(chǔ)上取適當?shù)牟逖a點進行插補的結(jié)果,取的插補點越密集,插補結(jié)果就越接近真實曲線,精度也就越高。由插補算法可知Y坐標值是根據(jù)X坐標值計算所得,最終求得y的變化量,因此x所對應(yīng)的I/O每輸出一個脈沖,y對應(yīng)的I/O輸出的脈沖數(shù)根據(jù)計算結(jié)果而變化。由于插補的每個點都確保在此三次樣條曲線上,比起用直線或圓弧逼近曲線的方法,插補效果在準確度和精確度上明顯提高。
在數(shù)控裝置上,利用三次樣條函數(shù)不僅能夠進行簡單曲線的插補計算,對于無法通過直線、圓弧以及其他二次曲線來描述其輪廓的復(fù)雜零件,同樣能實現(xiàn)其插補,同時具有很好的保凸性和光順性,且保證了插值函數(shù)的連續(xù)性及插補的精度,增加了數(shù)控裝置的曲線應(yīng)用范圍。本文以ARM開發(fā)板作為數(shù)控裝置,對此插補算法進行了驗證,該方法算法簡單,易實現(xiàn),精度較高,插補效果好。
參考文獻
[1] 盧勝利,王睿鵬,祝玲.現(xiàn)代數(shù)控系統(tǒng)—原理、構(gòu)成與實例[M].北京:機械工業(yè)出版社,2007.
[2] 包園園.三次樣條函數(shù)在自由曲線測量中的應(yīng)用研究[J].機械制造與自動化,2009,38(2):88-89.
[3] 王茹傳,黃海平,林巧民.計算機圖形學(xué)(第2版)[M].北京:人民郵電出版社,2009.
[4] 聶玉峰.Lagrange插值和Hermite插值的內(nèi)在統(tǒng)一理論[J]. 高等數(shù)學(xué)研究,2010,13(1):13-14.
[5] 鄒淑芳.三次樣條函數(shù)的基樣條法和三彎矩法之異同比較[J].云南電大學(xué)報,2009,11(2):93-96.
[6] Sun Ningping,AYABE T,NISHIZAKI T.Efficient spline interpolation curve modeling[C].Intelligent Information Hiding and Multimedia Signal Processing,2007:59-62.
[7] 許小勇,鐘太勇.三次樣條插值函數(shù)的構(gòu)造與Matlab實現(xiàn)[J].自動測量與控制,2006,25(11):76-78.
[8] 孫令德.計算機圖形學(xué)實踐教程(Visual C++版)[M].北京:清華大學(xué)出版社,2008.
(收稿日期:2011-01-21)