劉澤洋
(上海交通大學自動化系,上海 200240)
現在一般伺服運動中,如果是控制電機走固定位置的方式,上位控制系統PLC 一般都是讓伺服走一個梯形的位置塊。這種模式都是單軸的運動模式,在這種情況下,每個軸的運動都是獨立的,而不是關聯的。在這類運動方式下,如果要將2個軸或者多個軸的運動建立聯系,只能通過上位PLC 將2個軸或多個軸進行邏輯關聯。
例如在某個時間節點,PLC 通過邏輯判斷要某2個軸一起運動,則發出一個觸發信號,觸發2個軸開始運行先前設定好的速度指令或者位置指令。但是在這個模式下,一旦PLC 發出觸發指令后,2個軸就開始各自進行運動,在完成當前運動前,PLC 是無法進行過程干預,或者2個軸之間是無法進行速度或者位置關聯的。所以,這類模式是無法保證過程中的2個軸的關聯性。
如果在運行的過程中,任意一個軸的速度有變化,或者位置有波動,其他軸是無法獲知這個情況,還是會根據之前的設定繼續完成該步驟。

圖1 PLC 控制的2 軸運動方式圖
所以為了解決這個問題,市場上出現了運動控制器。運動控制器集成了原先PLC 的所有功能,同時增加了多軸的同步運動控制。
多軸的同步運動控制,就是將原先PLC 的軸和軸之前的邏輯關系,轉變成了一一對應的位置關系。

圖2 走位置同步的從軸塊位移和速度曲線圖
圖2 顯示的就是一條同步運動中從軸相對于主軸的位置曲線。紅色的是位置曲線,藍色的是速度曲線。用戶先在程序中完成想要實現的曲線動作,然后下載到運動控制器中,運動控制器在程序運行的過程中,根據這條曲線來判斷主軸和從軸的位置關系,并實時地根據主軸反饋回來的位置信號,發送對應的位置命令給從軸,從而實現了軸和軸之間的位置同步功能。
這個功能在市場上一部分運動控制器中都能夠實現。但并不是說,使用了這個功能做出來的設備的效果,就一定非常好,非常完美了。
從圖2 中可以發現,在伺服電機從位置零走到100%完成點的過程中,位移曲線實際上是一條由3段曲線拼接而成的。第一段是一條加速曲線,中間是段勻速區間,最后一段是條勻減速曲線。
相對應的,速度曲線也是由3 段曲線拼接完成,第一段是斜率恒定的勻加速曲線,所以速度是從0開始加速上升的;中間段是勻速過程,所以速度值是一個恒定的值;最后一段是勻減速,所以速度從勻速值開始減速下來到0。
這條曲線初看起來好像挺不錯的,位移曲線比較圓滑,速度是勻加速的,也沒有跳變。但是再進一步分析之后,就會發現有問題存在。

圖3 走梯形位置塊速度和加速度曲線圖
圖3 中綠色的線是加速度曲線,可以發現加速度曲線也是分成3 段的,而速度曲線的加速和減速,實際上是因為加速度曲線的改變。在速度曲線的勻加速段,加速度曲線有一個恒定的正向輸出值,從0時刻開始存在,一直到勻加速段結束。在勻速運動段,加速度為零。在勻減速段中,加速度值從0 變為負值,是伺服電機的速度從勻速開始逐步減速到0。
這個時候問題就出現了,雖然位移和速度都是逐步變化,沒有跳變,但是對于加速度來說,則是一個跳變的過程。因為從零位開始,加速度是從0 直接跳變到一個恒定值,中間沒有遞變過程;然后在要達到勻速運動的時候,又是一個加速度跳變,從恒定值直接跳變回0;在勻減速運動開始的時候,又從0 直接跳變成一個負值;最后在運動結束的時候,再次從負值直接跳變成0。
這樣問題就出來了:對于伺服系統來說,加速度對應伺服電機的扭矩,加速度的變化對應的實際上就是電機扭矩的變化。如果伺服系統的加速度跳變的話,對應的伺服電機的扭矩就會跳變。上圖顯示的一個完整的運動過程中,一共有4 次加速度跳變,所以對于伺服電機來說,一個運動周期就會有4 次扭矩跳變。雖然扭矩的變化對于伺服電機來說比較正常,但是如果伺服系統帶的負載是一個比較大的設備,扭矩輸出很大;或者負載端是比較精密的設備,不允許有任何跳變引起的振動;又或者產品剛性比較差,不允許有扭矩的突變的話,這個時候,問題就比較麻煩了。
這樣回到最初的問題,因為現在的伺服系統基本都是采用這種運動方式來走定位,如果不能采用梯形位置塊模式,那還能采用什么模式呢?
通過查閱相關資料,加上一些研究,發現有一種類型的曲線,可以不受加速度跳變的限制,并且可以自由設定加速度值,甚至可以設定加速度的加速度,即加加速度。這種曲線就是5 次方曲線。

圖4 5 次方曲線圖
圖4 顯示的是一條標準的5 次方曲線,紅色的是位移曲線,藍色的是速度曲線,綠色的是加速度曲線,紫色的是加加速度曲線??梢园l現,和普通曲線相比,多了一條加加速度曲線,也正式因為有了這條加加速度曲線,加速度曲線才能不用跳變。
如果將5 次方曲線應用在之前的梯形位移曲線上,效果會如何?

圖5 應用5 次方曲線后的梯形位置塊
可以很明顯的發現,在應用了5 次方曲線之后,速度曲線、加速度曲線,都比之前的曲線更平滑柔順,沒有任何的階躍和跳變了。速度曲線和之前一樣,是從0 開始增加,一直增加到勻速段,之后勻速運行到減速段,在逐步減速到0。
而加速度曲線則和之前的完全不同:之前的曲線,加速度是從0 直接跳變的,之后保持恒定值,直到勻速段后再突然跳變回0。而現在5 次方曲線中,加速度是從0 開始有弧度的增加,在達到拐點后再有弧度的減少,當曲線要達到勻速運行段的時候,加速度正好回復到0。這中間沒有一點階躍或者跳變,都是平滑的運動。減速段也是一樣,平滑地減速到0。
所以在用了5 次方曲線之后,就不用擔心因為扭矩階躍跳變而引起的負載突然變化,精度變差甚至損壞產品的問題發生了。
那么5 次方曲線到底是個什么曲線?為什么叫做5 次方曲線?曲線的方程式是什么?它又是如何影響曲線的速度,加速度和加加速度的呢?
5 次方曲線之所以叫做5 次方曲線,是因為在其位移方程式中,對于自變量X 最高有5 次方指數來影響方程式結果的。5 次方的方程式具體結構如下:

式中A、B、C、D、E 都是系數,而X 代表的是時間,或者是主軸的位置;而Y 代表的是從軸(或者說是該伺服電機本身)的位置。
5 次方曲線按照上面方程式求出來的結果是位置值,也就是位移曲線;如果要求速度曲線,就必須將該方程式求導,也就是將位移對時間求導,得出速度曲線。所以5 次方曲線的速度曲線方程式是:

同樣的,加速度曲線的方程就是對速度曲線方程再求一次導:

而加加速度的方程就是對加速度方程求導:

現在方程式有了,但是方程式的系數ABCDE 都沒有確定,還是無法求出具體數值的。所以需要將特殊的點帶入方程式中,來求出系數ABCDE。
通常選取的特殊點是曲線的起始點和終點。比如起始點的起始位置是0,對應的從軸位置也是0,起始速度是0,加速度是0,則對應的求解方程就有:

根據這3個方程式,可以得出D 和E 的值是0。
但是知道這2個系數還不夠,還需要知道ABC的值才能最終確定方程式。所以我們需要終點的數據:終點X 位置值1(100%),從軸位置1(100%),速度為0,加速度0。


同時帶入之前求得的D 和E,求出ABC 的值分別為:
A =6,B=-15,C=10。
所以按照之前給的設定條件,初始點和終點的具體值:
初始點:主軸位 置0,從軸位置0,起始速度0,起始加速度0;
終點:主軸位置1,從軸位置1,終點速度0,終點加速度0;
得到的5 次方曲線為:

這個就是條標準5 次方曲線的方程了,如果按照方程式畫出曲線來的樣子就如下:

圖6 5 次方曲線位置,速度,加速度和加加速度圖
但是有一點要確定的是,每條5 次方曲線都會因為初始條件的不同(起始點和終點的位置,速度,加速度),而是每條曲線的ABCDE 都不一樣。所以,只要前提條件變化了,就必須重新計算方程式,不然曲線就不是一樣平滑的5 次方曲線了。