王 聰,趙大興,袁 聰,肖 迪
(湖北工業大學機械工程學院,湖北 武漢 430068)
有很多學者對提高加工精度的精密運動控制(Precision Motion Control,PMC)的運動方法進行了研究:在單軸的跟蹤性能問題上,有迭代控制(Iterative Learning Control,ILC)學習算法[1-5],即利用系統的重復性任務和及時反饋的數據通過迭代的方式來改善單軸的跟蹤性能,這種方法雖然能夠很好地改善單軸的性能,但在單系統中,系統輪廓運動軌跡需要在兩個或者這多個軸間定位,很難準確捕捉到系統的輪廓運動軌跡,故并不能顯著提升系統性能;而交叉耦合(Cross-couple Control,CCC)控制算法[6-10],將關注的焦點從對單軸的跟蹤誤差轉移到系統的輪廓誤差,可以使最終結果更接近于期望軌跡[11-12],但該方法犧牲了單軸的跟蹤性能。為了減少多軸之間的運動協調問題引起的誤差,一些學者將迭代學習控制算法和交叉耦合算法相結合[13-16],用來更好地減少輪廓誤差。
本文在交叉耦合迭代控制學習算法的基礎上,進一步提出了雙迭代學習-交叉耦合控制算法,通過改善單軸跟蹤性能和系統輪廓性能來提高運動控制系統的精度。
大多數情況下,多軸運動系統的控制均屬于輪廓控制,即要求運動系統各軸協調運動來完成預定軌跡的運動或者加工。這就需要系統的實際輪廓更加精確。輪廓誤差是直接影響多軸系統性能好壞的一個很重要的參數,會受到多方面因素的影響。當使用雙軸來進行輪廓加工時,其誤差可以通過圖1來表示。

圖 1 輪廓誤差定義
如圖1所示,曲線L0為指令運行的期望輪廓軌跡,P0點是該時間點實際輪廓的運動點P到期望軌跡最短距離的切點,P*點是該時間點期望軌跡上的位置點。跟蹤誤差是該時間點P到P*點的距離,輪廓誤差是該時間點P到P0點的距離。
假設某雙軸運動系統加工的輪廓軌跡如圖2所示,L0是期望運動軌跡,某一時刻實際位置為P,該點的期望位置點為P*,跟蹤誤差E表示P點和P*點的距離,θ是期望運動軌跡與X軸正向的夾角,Ex和Ey分別是跟蹤誤差E在X軸和Y軸方向上的分量,輪廓誤差ε表示P點到期望軌跡L0的最短距離。
對圖2中的誤差進行幾何分解,則輪廓誤差

圖 2 直線運動軌跡的輪廓誤差幾何關系
ε=Eycosθ-Exsinθ
(1)
將輪廓誤差沿坐標軸進行分解,可得:
εx=-εsinθ,εy=εcosθ
(2)
一般定義交叉耦合增益系數
Cx=sinθ,Cy=cosθ
(3)
將式(3)代入式(1)中,可以得出輪廓誤差
ε=EyCy-ExCx
(4)
迭代學習控制是指不斷重復一個同樣軌跡的控制嘗試,并以此修正控制律,以得到非常好的控制效果的控制方法。迭代學習控制算法的工作原理:對于具有重復運動的控制系統,每次控制都將前一次期望軌跡和實際軌跡的誤差信號作為修正控制輸入信號,以產生一個新的控制信號,使得該重復運動系統在下一次執行中有更好的輪廓跟蹤效果。
迭代學習控制在閉環反饋控制中主要有兩種結構,分別是串行結構和并行結構。串行結構是把控制信號補償到參考信號上,這種結構非常適用于不支持直接修正系統控制信號的商用控制器上;并行結構是把控制信號直接補償到系統的控制量上,可以直接通過改變控制量來改善系統的跟蹤性能,并且更容易分離反饋控制器和迭代學習控制器的作用。
本文主要是把迭代學習應用到位置閉環中,需要把迭代學習控制算法與交叉耦合控制算法相結合,而本文實驗中所選用的控制器也支持并行結構,故選用的是并行結構。迭代學習控制算法在SISO系統中的結構如圖3所示。

圖 3 迭代學習控制系統
在伺服控制系統中,輪廓誤差嚴重影響著控制系統的精度。交叉耦合控制器是減小輪廓誤差的有效途徑。但是在多軸運動中只使用交叉耦合控制器并不能得到理想的控制精度,若數控加工需面對大批量的重復加工生產,產品的加工精度無法得到保證。而迭代學習也是減小誤差的有效辦法。把迭代學習直接應用到控制系統輪廓誤差上,可以在收斂范圍內不斷減小系統的輪廓誤差,在收斂后能夠有效保證產品的加工精度。Barton交叉耦合迭代學習控制(Cross-coupling Iterative Learning Control,CCILC)方法是對輪廓誤差進行迭代學習的一種算法,它能夠在有限的時間區間上減小系統的輪廓誤差,對多軸運動系統的輪廓精度具有顯著的提高。交叉耦合迭代學習的系統框架如圖4所示。

圖 4 交叉耦合迭代學習系統
由圖4知,交叉耦合迭代學習控制算法是把上一次的輪廓誤差經過迭代學習,得到新的控制信號,然后通過輪廓誤差分配模型動態補償到各軸的方法。該方法有效結合了交叉耦合控制的輪廓補償性能和迭代學習控制的軌跡跟蹤性能,能實現輪廓軌跡有限時間區間的完全跟蹤。
迭代學習控制是一種無模型綜合控制方法,對運動系統的數學模型和參數的精確度要求不是很嚴格,不需要很多的先驗知識和計算量,并且能夠有效提高跟蹤性能。交叉耦合控制器是通過建立的輪廓誤差模型,對各個軸進行輪廓誤差補償,能夠有效提高多軸運動系統的輪廓跟蹤能力,減小輪廓誤差。交叉耦合迭代學習控制雖然把迭代學習控制應用到了交叉耦合控制器中,通過對耦合誤差的學習修正控制信號,提高系統的輪廓軌跡跟蹤性能,能夠在一定程度上減小輪廓誤差,但是對單軸的跟蹤性能并沒有提高。
基于這些特點,本文結合單軸的迭代學習控制和多軸的交叉耦合迭代學習控制提出了一種雙迭代學習-交叉耦合(ILC&CCILC)的控制方法,即在交叉耦合迭代學習控制(CCILC)的基礎上,對各軸分別再進行迭代學習控制方法,既能保證系統的輪廓軌跡跟蹤性能,減小系統的輪廓誤差,又能提升單軸的跟蹤性能。其系統框架如圖5所示,其中,xr和yr分別為兩軸的期望軌跡,Ex和Ey分別為兩軸的跟蹤誤差,xj和yj分別為兩軸的實際軌跡,e為雙軸運動系統的輪廓誤差。

圖 5 雙迭代學習-交叉耦合控制方法的系統
圖5中,輪廓誤差e的迭代學習律為
uccj+1(t)=
uccj(t)+Lε(q-1)εj(t=1)
其中,Lε(q-1)是輪廓誤差的學習率,εj是輪廓誤差。
將X軸和Y軸的迭代學習律與輪廓誤差的學習率相結合,則雙迭代學習-交叉耦合控制的算法公式分別為
uxj+1=(ux+LxEx-CxLεε)j
(5)
uyj+1=(uy+LyEy+CyLεε)j
(6)
式中:Lx和Ly分別是X軸和Y軸的學習率函數,Le是輪廓誤差的學習率。Exj(t)=xr(t)-xj(t),Eyj(t)=yr(t)-yj(t)分別是兩軸的跟蹤誤差。同時,將式(3)代入式(5)和(6)中,可以得到與控制輸入和周期擾動相關的矩陣公式:
(7)
其中:M11=I-(Lx+CxLεCx)Px;M12=CxLεCyPy;M21=CyLεCxPx;M22=I-(Ly+CyLεCy)Py。
(8)
式中:i∈[1,n],λ為譜半徑。
由于max|λi|<1,則收斂條件可以轉化為:
(9)
式中:‖·‖i表示矩陣的范數,當滿足式(9)中的2-范數條件(σ(M))<1時,就可以保證系統的單調性和穩定性。式(9)中的組合矩陣可以分成單軸ILC和CCILC兩個矩陣形式,即
‖[ILCx,y]+[CCILC]‖2<1
(10)
(11)
(12)
式(10)是系統滿足穩定性和收斂性的條件。式(5)到式(12)表明可以分別設計控制器,并可將其組合成一個單輸入控制器,分別對單軸迭代學習控制器和交叉耦合迭代學習控制器進行調節,以改善系統的控制性能。
雙迭代學習-交叉耦合控制是一種針對輪廓軌跡、基于位置閉環的改進算法,主要是對多軸運動控制系統的位置軌跡進行實時跟蹤,。在實驗設計中,需要對位置閉環進行單獨設計,結合所提算法,設計快速控制原型。對雙迭代學習-交叉耦合算法的驗證主要是通過實際控制實驗進行,使用的實驗設備主要包括三個部分:上位機、運動控制器和控制對象。實驗裝置如圖6所示。

圖 6 實驗控制平臺
其中,上位機是由PC(win7以上系統,16GB內存,i7-6700處理器)和Labview組成的軟硬件系統,通過與下位機建立局域網連接,并基于TCP/IP協議實現通訊。Labview是美國國家儀器公司(NI)開發的一款系統工程軟件,是一種基于圖形化編程的語言,能夠快速訪問硬件并提供數據信息,特別是在數據采集和控制方面處理能力優越。CompactRIO 9082是一款可重配置的實時嵌入式系統,且搭載了FPGA技術,其開發是通過上位機來完成的。NI9516運動板卡是驅動接口模塊,其主要作用是對伺服系統進行伺服驅動,并帶有對光柵和編碼器的傳感器信號雙采集功能,運動控制器是在Labview環境下進行系統開發的。本實驗上位機的作用主要是用于程序的編寫和實驗過程中數據的采集和監測,而且,算法仿真程序也是在PC機上用Labview進行調試的,為在運動控制器上的系統開發做準備。
控制對象是由伺服系統和絲杠導軌組成的X-Y工作平臺,絲杠的導程均為5 mm。實驗采用了兩臺不同參數的永磁同步電機,是為了使兩軸之間動態特性不一致,從而更好地驗證算法的動態補償特性。其中,X軸采用的是三菱的MR-JE-10A系列驅動器和HF-KN13J-S100伺服電機進行驅動;Y軸采用的是松下的MSDA023A1A系列驅動器和MSMA022A1C伺服電機進行驅動。其位置信息是由長春光機生產的線位移系列封閉式光柵尺采集,型號是SGC-4.2T 250,其分辨率為5 μm。
為了驗證雙迭代學習-交叉耦合控制方法對提高單軸跟蹤性能和系統輪廓控制精度的有效性,主要做了線性輪廓軌跡實驗,并且分別進行了雙軸交叉耦合迭代學習控制(CCILC)實驗、雙軸輪廓誤差的交叉耦合控制與單軸的迭代學習控制相結合的控制(ILC&CCC)實驗和雙迭代學習-交叉耦合控制(ILC&CCILC)實驗,通過3組實驗結果比較3種控制方法的單軸跟蹤誤差和輪廓誤差。
進行線性輪廓軌跡實驗時,運行的參考輪廓時長是34 s,采樣步長是0.005 s。X軸的位置控制器參數是kpx=80,速度控制器參數是kvp=200,kvi=50;Y軸的位置控制參數是kpy=100,速度控制器參數是kvi=120,kvi=20。線性輪廓軌跡的雙迭代學習-交叉耦合控制(ILC&CCILC)的PD型迭代學習參數如表1所示。

表1 線性輪廓軌跡的PD型迭代學習控制器參數
實驗過程中運行的線性輪廓軌跡如圖7所示。圖7展示了指令輪廓軌跡及交叉耦合迭代學習控制(CCILC)、雙軸輪廓誤差的交叉耦合控制與單軸的迭代學習控制相結合的控制(ILC&CCC)和雙迭代學習-交叉耦合控制(ILC&CCC)3種輪廓誤差收斂后的輪廓軌跡。圖8a和b分別是圖7a和b兩部分的局部放大圖,可知與CCILC和ILC&CCC兩種控制相比,ILC&CCILC收斂后的輪廓軌跡與指令輪廓軌跡更接近,在軌跡拐角處也較另外兩種控制更平穩一些。

圖 7 線性輪廓軌跡

(a)左拐點處軌跡放大
三種控制方法輪廓誤差的實驗結果如圖9—11所示。由圖9—11可知,使用ILC&CCILC控制方法的輪廓誤差與CCILC和ILC&CCC的輪廓誤差比較起來更小,實際輸出軌跡與期望軌跡也更接近,能夠更顯著地降低系統的輪廓誤差。

圖 9 CCILC控制方法的輪廓誤差

圖10 ILC&CCC控制方法的輪廓誤差
圖11是雙迭代學習-交叉耦合(ILC&CCILC)算法的軌跡誤差收斂圖,表示的是輪廓誤差絕對值的平均值與迭代次數的關系。由圖11可知,使用雙迭代學習-交叉耦合(ILC&CCILC)控制方法對線性輪廓軌跡具有很好的穩定性和收斂性。表2統計了上述實驗中3種不同控制方法的均方根誤差。

圖11 ILC&CCILC控制方法的輪廓誤差

表2 線性輪廓軌跡不同控制方法的均方根誤差
從表2中可以看出,CCILC雖然能夠提高輪廓控制精度,但是單軸跟蹤性能并不好,雙迭代學習-交叉耦合(ILC&CCILC)和ILC&CCC控制方法的單軸跟蹤誤差都明顯小于CCILC控制方法。其中,ILC&CCILC控制方法的X軸的跟蹤誤差是ILC&CCC的72.65%,Y軸的跟蹤誤差是ILC&CCC的79.46%,輪廓誤差是ILC&CCC的87.71%。ILC&CCILC的輪廓誤差是CCILC的65.15%。由實驗結果知,在運行線性軌跡時,雙迭代學習-交叉耦合(ILC&CCILC)對單軸跟蹤性能和輪廓精度都有顯著的提高。
本文針對迭代學習控制重復運動過程中能夠在有限時間區間上減小系統的跟蹤誤差,結合交叉耦合控制器在多軸運動中能有效改善輪廓誤差的特性,提出了一種雙迭代學習-交叉耦合控制算法。該算法既能減小各軸跟蹤誤差,也能減小單系統的輪廓誤差。通過與交叉耦合迭代學習和迭代學習-交叉耦合兩種控制方法的對比實驗,表明本算法顯著減小了單軸跟蹤誤差和多軸輪廓誤差。