






摘 要:針對插補運動系統中存在機械振動較大的問題,提出一類基于恒定加加速度的二維直線插補算法。在確定加加速度的前提下,將直線插補的運動過程分為7個不同的階段。利用運動學定律分析每個階段的加速度、速度和位移的表達式,獲取各運動階段的初始條件。在基于二維系統的位移要求確定二維同步關系的基礎上,實現了各階段算法的離散化,最終完成了基于PLC(可編程邏輯控制器)的算法設計。實測效果表明,該算法同步精度小于0.5%,運行時間誤差小于1 s,運行效果良好,滿足應用場景的需求。
關鍵詞:二維同步;插補;S7-200 Smart
中圖分類號:TP273 文獻標志碼:A
0 引言(Introduction)
插補是指采用多項式對曲線進行擬合,使被控部件實現期望運動軌跡的算法,常用于機床、機械手控制以及篆刻等場合。為便于數字化設備控制,通常將被擬合曲線進行分段切分,然后對分段切分后的節點采用直線連接的方式實現曲線擬合。
根據運動軌跡類型,插補算法主要有直線插補和曲線插補兩種類型。曲線插補主要通過對每一分段采用高階多項式替代直線的方法改進擬合效果,例如利用逐點插補原理,對圓弧曲線進行算法設計[1-2],或采用線性優化補償插補軌跡的誤差[3-5]。此類算法的優點在于精度較高,但計算相對復雜,通常應用于實時性要求較低的場合。直線插補則根據曲線的變化率自適應動態調整周期,從而提高擬合精度[6],或者利用空間幾何轉換手段,采用逐點比較和角度逼近或高斯函數采用直線插補算法[7-8],或采用在多項式軌跡中插入時間點的綜合算法[9]。此類算法的實時性更高,但在運動中的加減速變化可能導致較強的機械振動。
本文針對二維同步插補系統,以減少機械加減速時產生的振動為目的,改變傳統以固定加速度為前提條件的運動模式,獲取了當加加速度為定值條件下的插補系統分階段運動的加速度、速度和位移的表達式及邊界條件;同時,根據設定位移確定同步系數,在算法離散化后,實現了二維系統直線插補算法在S7-200 Smart系列PLC上的應用,同步精度小于0.5%,運行時間誤差小于1 s,數據效果表明算法效果良好,滿足應用場景要求。
1 二維插補算法(Two-axis interpolation algorithm)
1.1 二維插補的基本概念
二維插補系統是被控操作點在二維平面上運動,因此需要在垂直的兩個方向分別進行運動軌跡擬合。在實際應用中通常采用兩臺伺服驅動器控制兩臺伺服電機,運動方向呈直角,分別為水平方向的x 軸和垂直方向的y 軸。以每個周期運動開始的位置為原點建立二維直角坐標系,并且每隔一段固定的時間,將曲線分解成若干個有橫縱坐標的點,直線擬合矢量圖如圖1所示。
已知單個周期內二維位移值分別為Δx=xi-xi-1 和Δy=yi-yi-1,若結果為正,則表示電機正向運動,若結果為負,則表示電機反向運動,其絕對值代表運動的距離,用它除以伺服電機每接收一個脈沖帶動設備移動的距離,就可以知道應該在該固定時間內分別向這兩臺伺服電機發送的總脈沖數。
1.2 直線插補算法
根據運動曲線,系統具有如下運動方式:剛啟動時,以某固定的加加速度使加速度增加至最大值;以最大加速度運行一段時間后,再以同樣大小的加加速度使加速度減小至0,此時速度剛好到達最大值。當接近目標時,加速度以同樣的方式反向增大至最大值,維持一段時間后再減小至0,此時速度也剛好減為0,全程運動距離和設定距離相等,插補曲線示意圖如圖2所示,①~⑦分別代表運動中的7個加減速過程。
以下分析在每個階段的時間內的速度和位移的運動方式,其中設實時加速度為a,實時速度為v,實時位移為s,系統允許的最大加速度為amax,最大速度為vmax,加加速度為β。
第一階段:該階段為加速度增加階段,該階段內有a=βt,對其進行積分,并已知v0=0,可得
(2)將v 和s=(s+v)T/2賦值給|Δx|和|Δy|中值較大的運動軸子程序的速度與位移變量,同時將vγ 和sγ 賦值給值較小的運動軸子程序的速度與位移變量。
(3)重復上述過程直至程序結束。
2 實驗驗證(Experiment results)
為驗證算法效果,將上述算法編制為S7-200 Smart PLC程序后,應用于兩軸運動系統。同時,設定參數如下:最大加速度為1,加加速度為1,最大速度為1.5,采樣周期為0.05。通過設定不同的位移,得到的實驗結果如表1所示。
對上述數據進行分析可知,最大相對誤差小于0.5%,誤差主要由浮點數四舍五入為雙整型脈沖值時的舍入誤差(正誤差)導致;實際時長均大于理想時長,主要由中斷調用和運行時占用時間所致,上述數據均達到了應用場景的工藝要求。
3 結論(Conclusion)
本文研究了一類基于固定加加速度的二維插補算法及其在S7-200 Smart上的應用。首先在加加速度恒定的前提條件下,設計了二維直線插補方法,其次在對不同階段運動方式進行分析的基礎上,獲取了運動公式及相應的邊界條件,并通過離散化和增量化得到了可應用于S7-200 Smart PLC的算法。實測效果表明,真實位移與理想位移的相對誤差均小于0.5%,運行時間誤差均小于1 s,滿足應用場景的運行要求。該算法目前僅適用于直線運動系統,后續將進一步研究可實現快速的曲線插補算法。
參考文獻(References)
[1] 宮哲,雷志偉,張新. 經濟型可編程控制器插補算法的研究與應用[J]. 機械工程與自動化,2019(3):191-192.
[2] WANG Y Q,LU W K,LI Y S. A self-adaptive antialiasing framework for seismic data interpolation[J]. IEEE transactions on geoscience and remote sensing,2023,61:233-237.
[3] 桂昊,張立強,楊青平,等. 非可展直紋面側銑刀具插補軌跡優化方法[J]. 制造業自動化,2023,45(9):148-152.
[4] RAZVAN D. Generalised graded interpolation[J]. International journal of approximate reasoning,2023,152:236-261.
[5] ZHANG N,CANINI K,SILVA S,et al. Fast linear interpolation[J]. ACM journal on emerging technologies in computing systems,2021,17(2):1-15.
[6] 李進文,何素梅,吳海彬. 一種直線插補算法及其在機器人中的應用研究[J]. 機電工程,2015,32(7):966-970.
[7] 李文江,鄭曉琳,孫宏. 基于PLC的馬鞍型焊接機自動控制系統[J]. 計算機系統應用,2012,21(10):31-35.
[8] DEGIRMENCI A H,PERRIN R D,DOUGLAS P. Gaussian process regression for ultrasound scanline interpolation[J].Journal of medical imaging,2022,9(3):37-39.
[9] 馮建超,魯文其,林軍華,等. 基于3-5-3多項式插補的六軸機器人軌跡優化[J]. 機械與電子,2023,41(10):75-80.
作者簡介:
張益波(1978-),男,博士,副教授。研究領域:工業控制算法研究,軟件開發。
姚曉曉(1987-),男,本科,工程師。研究領域:機械設計與制造,機電一體化。