多軸插補運動控制

一、基本概述

     數控技術一般以標準的格式對程序段進行描述,例如程序段“N15 G02 Xlo Y25 120 JOF125 LF”就規定了一個以(10,25)爲起點,在X-Y平面上以150mm/min的進給速度順時針加工一個半徑爲20mm的整圓的過程。程序段只提供了有限的提示性信息(例如起點、終點和插補方式等),數控裝置需要在加工過程中,根據這些提示並運用一定的算法,自動地在有限座標點之間生成一系列的中間點座標數據,並使刀具及時地沿着這些實時發生的座標數據運動,這個邊計算邊執行的逼近過程就稱爲插補(interpolation)。上述程序段中的準備功能G02就指定了該程序段的執行要採用順時針方向的圓弧插補。
     插補是一個實時進行的數據密化的過程,不論是何種插補算法,運算原理基本相同,其作用都是根據給定的信息進行數字計算,不斷計算出參與運動的各座標軸的進給指令,然後分別驅動各自相應的執行部件產生協調運動,以使被控機械部件按理想的路線與速度移動,由此,軌跡插補與座標軸位置伺服控制是運動控制系統的兩個主要環節。
     插補運算是軌跡控制中最重要的計算任務,而插補計算又必須是實時的,即必須在有限的時間內完成計算任務。因此除了要保證插補計算的精度外,還要求算法簡單,一般採用迭代算法,這樣可避免三角函數計算,同時減少乘除及開方運算,它的運算速度直接影響運動系統的控制速度,而插補計算精度又影響整個運動系統的精度,人們一直在努力探求計算速度快同時計算精度又高的插補方法。
     目前普遍應用的插補算法分爲兩大類:一是脈衝增量插補,另一是數據採樣插補。下面主要介紹運動軌跡的插補原理,分別就這兩大類中的一種典型的具體方法來描繪出插補的完整過程,包括插補方法及終點判別。

二、插補原理

     插補最常見的兩種方式是直線插補和圓弧插補。插補運動至少需要兩個軸參與,進行插補運動時,將規劃軸映射到相應的機臺座標系中,運動控制器根據座標映射關係,控制各軸運動,實現要求的運動軌跡。
     插補運動指令會存入運動緩衝區,再依次從運動緩衝區中取出指令執行,直到插補運動全部執行完。

1. 直線插補原理

     直線插補方式中,兩點間的插補沿着直線的點羣來逼近。首先假設在實際輪廓起始點處沿X方向走一小段(給一個脈衝當量軸走一段固定距離),發現終點在實際輪廓的下方,則下一條線段沿Y方向走一小段,此時如果線段終點還在實際輪廓下方,則繼續沿Y方向走一小段,直到在實際輪廓上方以後,再向X方向走一小段,依此類推,直到到達輪廓終點爲止。這樣實際輪廓是由一段段的折線拼接而成,雖然是折線,但每一段插補線段在精度允許範圍內非常小,那麼此段折線還是可以近似看做一條直線段,這就是直線插補。
     正運動控制器採用硬件插補,插補精度在一個脈衝內,所以軌跡放大依然平滑。假設軸需要在在XY平面上從點(X0,Y0)運動到點(X1,Y1),其直線插補的加工過程如下圖所示。

給軸發送一個脈衝運動的距離由電機的特性決定,不同的軸單個脈衝運動距離有所不同。

2. 圓弧插補原理

     圓弧插補與直線插補類似,給出兩端點間的插補數字信息,以一定的算法計算出逼近實際圓弧的點羣,控制軸沿這些點運動,加工出圓弧曲線。圓弧插補可以是平面圓弧(至少兩個軸),還可以是空間圓弧(至少三個軸)。假設軸需要在XY平面第一象限走一段逆圓弧,圓心爲起點,其圓弧插補的加工過程如下圖所示。

     控制器的空間圓弧插補功能是根據當前點和圓弧指令參數設置的終點和中間點(或圓心),由三個點確定圓弧,並實現空間圓弧插補運動,座標爲三維座標,至少需要三個軸分別沿X軸、Y軸和Z軸運動。

三、插補運動參數計算

1. 二軸直線插補

     軸0和軸1兩軸參與直線插補運動,如下圖,二軸直線插補運動從平面的A點運動到B點,XY軸同時啓動,並同時到達終點,設置軸0的運動距離爲 \(\Delta{X}\) ,軸1的運動距離爲 \(\Delta{Y}\) ,主軸是BASE的第一個軸(此時主軸爲軸0),插補運動參數採用主軸的參數。

若插補主軸運動速度爲 \(S\) (主軸軸0的設置速度),各個軸的實際速度爲主軸的分速度,不等於 \(S\),此時:

  • 插補運動的距離:\(X=\sqrt{\Delta{X}^2+\Delta{Y}^2}\)
  • 軸0實際平均速度:\(S0=S×\Delta{X}/X\)
  • 軸1實際平均速度:\(S1=S×\Delta{Y}/X\)

2. 三軸直線插補

     軸0、軸1和軸2三軸參與直線插補運動,如下圖所示,3軸直線插補運動從A點運動到B點,XYZ軸同時啓動,並同時到達終點,設置軸0的運動距離爲 \(\Delta{X}\) ,軸1的運動距離爲 \(\Delta{Y}\) ,軸2的運動距離爲 \(\Delta{Z}\)

若插補主軸軸0的運動速度爲S,各個軸的實際速度爲主軸的分速度,不等於S,此時:

  • 插補運動距離: \(X=\sqrt{\Delta{X}^2+\Delta{Y}^2+\Delta{Z}^2}\)
  • 軸0實際速度:\(S0=S×\Delta{X}/X\)
  • 軸1實際速度:\(S1=S×\Delta{Y}/X\)
  • 軸2實際速度:\(S2=S×\Delta{Z}/X\)

四、插補運動相關指令

插補運動指令分類
在相對運動指令的基礎上加上不同的後綴之後,便具有不同的特點。

  1. 相對運動指令:插補運動的距離參數爲與當前插補起點的相對距離。例如MOVE,MOVECIRC。
  2. 絕對運動指令:插補運動的距離參數爲相對於原點的絕對距離,在相對運動指令後方加上ABS後綴。例如MOVEABS,MOVECIRCABS。
  3. SP運動指令:帶SP的指令運動速度採用FORCE_SPEED、ENDMOVE_SPEED、STARMOVE_SPEED參數運動,不帶SP的運動指令,如上面兩類,指令運動速度採用SPEED參數,SP運動指令在相對運動指令或絕對運動指令後方加上SP後綴。例如MOVESP,MOVEABSSP。

例子1:二軸直線插補

RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1) '選擇軸0,軸1
ATYPE=1,1
UNITS=100,100
SPEED=100,100 '運動速度
ACCEL=1000,1000
DECEL=1000,1000
SRAMP=100,100 'S曲線
MERGE=ON '開啓連續插補
TRIGGER '自動觸發示波器
DPOS=100,0 '座標偏移
MOVE(-50,100) '第一段相對運動
MOVE(-100,0) '第二段相對運動
MOVE(-50,-100) '第三段相對運動
MOVE(50,-100) '第四段相對運動
MOVE(100,0) '第五段相對運動
MOVE(50,100) '第六段相對運動

直線插補合成軌跡如下:起點和終點均爲(100,0),逆時針加工。

例子2:二軸直線插補

RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1)
ATYPE=1,1
UNITS=100,100
SPEED=100,100 '運動速度
ACCEL=1000,1000
DECEL=1000,1000
DPOS=0,0
SRAMP=100,100 'S曲線
MERGE=ON
TRIGGER '自動觸發示波器 
'相對運動參數,絕對運動使用MOVECIRCABS
MOVECIRC(100,0,50,0,1) '半徑50順時針畫半圓,終點座標(100,0),圓心座標(50,0)
MOVECIRC(-200,0,-100,0,1) '半徑100順時針畫半圓,終點座標(-100,0),圓心座標(0,0)
'絕對運動參數
MOVECIRCABS(100,0,50,0,1) '半徑50順時針畫半圓,終點座標(100,0)
MOVECIRCABS(-100,0,0,0,1) '半徑100順時針畫半圓,終點座標(-100,0),圓心座標(0,0)

圓弧插補合成軌跡如下圖:上方相對運動指令和絕對運動指令的運動軌跡相同。

五、軌跡前瞻

1. 基本概念

     在實際加工過程中,爲追求加工效率會開啓連續插補,運動軌跡的拐角處若不減速,當拐角較大時,會對機臺造成較大沖擊,影響加工精度。若關閉連續插補,使拐角處減速爲0,雖然保護了機臺,但是加工效率受到了較大影響,所以提供了前瞻指令,使在拐角處自動判斷是否將拐角速度降到一個合理的值,既不會影響加工精度又能提高加工的速度,這就是軌跡前瞻功能的作用。
     運動控制器的軌跡前瞻可以根據用戶的運動路徑自動計算出平滑的速度規劃,減少機臺的衝擊,從而提高加工精度。自動分析在運動緩衝區的指令軌跡將會出現的拐點,並依據用戶設置的拐角條件,自動計算拐角處的運動速度,也會依據用戶設定的最大加速度值計算速度規劃,使任何加減速過程中的加減速都不超過ACCEL和DECEL的值,防止對機械部分產生破壞衝擊力。

2. 軌跡前瞻和普通插補對比

使用軌跡前瞻和不使用軌跡前瞻的速度規劃情況:
假設運動軌跡如下,走一個長方形軌跡,分爲四段直線插補運動。

模式一: 開啓了連續插補後,得出的主軸速度隨時間變化的曲線如下,主軸的速度是連續的,軌跡拐角處仍不減速,高速運行時拐角處衝擊較大。

模式二: 模式一條件下,關閉連續插補,得出的主軸速度隨時間變化的曲線如下,每走完一段直線後便減速到0再開始第二段直線運動,加工效率不高。

模式三: 模式一條件下,開啓連續插補,並設置了軌跡前瞻參數,得出的主軸速度隨時間變化的曲線如下,拐角處按照一定的比例減速,加工效率比模式二高。

3. 軌跡前瞻相關指令

Reference

  1. ZMotion運動控制器多軸插補運動指令的使用
  2. 插補代碼參考
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章