王 聰,趙大興,袁 聰,肖 迪
(湖北工業(yè)大學(xué)機(jī)械工程學(xué)院,湖北 武漢 430068)
有很多學(xué)者對(duì)提高加工精度的精密運(yùn)動(dòng)控制(Precision Motion Control,PMC)的運(yùn)動(dòng)方法進(jìn)行了研究:在單軸的跟蹤性能問題上,有迭代控制(Iterative Learning Control,ILC)學(xué)習(xí)算法[1-5],即利用系統(tǒng)的重復(fù)性任務(wù)和及時(shí)反饋的數(shù)據(jù)通過迭代的方式來(lái)改善單軸的跟蹤性能,這種方法雖然能夠很好地改善單軸的性能,但在單系統(tǒng)中,系統(tǒng)輪廓運(yùn)動(dòng)軌跡需要在兩個(gè)或者這多個(gè)軸間定位,很難準(zhǔn)確捕捉到系統(tǒng)的輪廓運(yùn)動(dòng)軌跡,故并不能顯著提升系統(tǒng)性能;而交叉耦合(Cross-couple Control,CCC)控制算法[6-10],將關(guān)注的焦點(diǎn)從對(duì)單軸的跟蹤誤差轉(zhuǎn)移到系統(tǒng)的輪廓誤差,可以使最終結(jié)果更接近于期望軌跡[11-12],但該方法犧牲了單軸的跟蹤性能。為了減少多軸之間的運(yùn)動(dòng)協(xié)調(diào)問題引起的誤差,一些學(xué)者將迭代學(xué)習(xí)控制算法和交叉耦合算法相結(jié)合[13-16],用來(lái)更好地減少輪廓誤差。
本文在交叉耦合迭代控制學(xué)習(xí)算法的基礎(chǔ)上,進(jìn)一步提出了雙迭代學(xué)習(xí)-交叉耦合控制算法,通過改善單軸跟蹤性能和系統(tǒng)輪廓性能來(lái)提高運(yùn)動(dòng)控制系統(tǒng)的精度。
大多數(shù)情況下,多軸運(yùn)動(dòng)系統(tǒng)的控制均屬于輪廓控制,即要求運(yùn)動(dòng)系統(tǒng)各軸協(xié)調(diào)運(yùn)動(dòng)來(lái)完成預(yù)定軌跡的運(yùn)動(dòng)或者加工。這就需要系統(tǒng)的實(shí)際輪廓更加精確。輪廓誤差是直接影響多軸系統(tǒng)性能好壞的一個(gè)很重要的參數(shù),會(huì)受到多方面因素的影響。當(dāng)使用雙軸來(lái)進(jìn)行輪廓加工時(shí),其誤差可以通過圖1來(lái)表示。
圖 1 輪廓誤差定義
如圖1所示,曲線L0為指令運(yùn)行的期望輪廓軌跡,P0點(diǎn)是該時(shí)間點(diǎn)實(shí)際輪廓的運(yùn)動(dòng)點(diǎn)P到期望軌跡最短距離的切點(diǎn),P*點(diǎn)是該時(shí)間點(diǎn)期望軌跡上的位置點(diǎn)。跟蹤誤差是該時(shí)間點(diǎn)P到P*點(diǎn)的距離,輪廓誤差是該時(shí)間點(diǎn)P到P0點(diǎn)的距離。
假設(shè)某雙軸運(yùn)動(dòng)系統(tǒng)加工的輪廓軌跡如圖2所示,L0是期望運(yùn)動(dòng)軌跡,某一時(shí)刻實(shí)際位置為P,該點(diǎn)的期望位置點(diǎn)為P*,跟蹤誤差E表示P點(diǎn)和P*點(diǎn)的距離,θ是期望運(yùn)動(dòng)軌跡與X軸正向的夾角,Ex和Ey分別是跟蹤誤差E在X軸和Y軸方向上的分量,輪廓誤差ε表示P點(diǎn)到期望軌跡L0的最短距離。
對(duì)圖2中的誤差進(jìn)行幾何分解,則輪廓誤差
圖 2 直線運(yùn)動(dòng)軌跡的輪廓誤差幾何關(guān)系
ε=Eycosθ-Exsinθ
(1)
將輪廓誤差沿坐標(biāo)軸進(jìn)行分解,可得:
εx=-εsinθ,εy=εcosθ
(2)
一般定義交叉耦合增益系數(shù)
Cx=sinθ,Cy=cosθ
(3)
將式(3)代入式(1)中,可以得出輪廓誤差
ε=EyCy-ExCx
(4)
迭代學(xué)習(xí)控制是指不斷重復(fù)一個(gè)同樣軌跡的控制嘗試,并以此修正控制律,以得到非常好的控制效果的控制方法。迭代學(xué)習(xí)控制算法的工作原理:對(duì)于具有重復(fù)運(yùn)動(dòng)的控制系統(tǒng),每次控制都將前一次期望軌跡和實(shí)際軌跡的誤差信號(hào)作為修正控制輸入信號(hào),以產(chǎn)生一個(gè)新的控制信號(hào),使得該重復(fù)運(yùn)動(dòng)系統(tǒng)在下一次執(zhí)行中有更好的輪廓跟蹤效果。
迭代學(xué)習(xí)控制在閉環(huán)反饋控制中主要有兩種結(jié)構(gòu),分別是串行結(jié)構(gòu)和并行結(jié)構(gòu)。串行結(jié)構(gòu)是把控制信號(hào)補(bǔ)償?shù)絽⒖夹盘?hào)上,這種結(jié)構(gòu)非常適用于不支持直接修正系統(tǒng)控制信號(hào)的商用控制器上;并行結(jié)構(gòu)是把控制信號(hào)直接補(bǔ)償?shù)较到y(tǒng)的控制量上,可以直接通過改變控制量來(lái)改善系統(tǒng)的跟蹤性能,并且更容易分離反饋控制器和迭代學(xué)習(xí)控制器的作用。
本文主要是把迭代學(xué)習(xí)應(yīng)用到位置閉環(huán)中,需要把迭代學(xué)習(xí)控制算法與交叉耦合控制算法相結(jié)合,而本文實(shí)驗(yàn)中所選用的控制器也支持并行結(jié)構(gòu),故選用的是并行結(jié)構(gòu)。迭代學(xué)習(xí)控制算法在SISO系統(tǒng)中的結(jié)構(gòu)如圖3所示。
圖 3 迭代學(xué)習(xí)控制系統(tǒng)
在伺服控制系統(tǒng)中,輪廓誤差嚴(yán)重影響著控制系統(tǒng)的精度。交叉耦合控制器是減小輪廓誤差的有效途徑。但是在多軸運(yùn)動(dòng)中只使用交叉耦合控制器并不能得到理想的控制精度,若數(shù)控加工需面對(duì)大批量的重復(fù)加工生產(chǎn),產(chǎn)品的加工精度無(wú)法得到保證。而迭代學(xué)習(xí)也是減小誤差的有效辦法。把迭代學(xué)習(xí)直接應(yīng)用到控制系統(tǒng)輪廓誤差上,可以在收斂范圍內(nèi)不斷減小系統(tǒng)的輪廓誤差,在收斂后能夠有效保證產(chǎn)品的加工精度。Barton交叉耦合迭代學(xué)習(xí)控制(Cross-coupling Iterative Learning Control,CCILC)方法是對(duì)輪廓誤差進(jìn)行迭代學(xué)習(xí)的一種算法,它能夠在有限的時(shí)間區(qū)間上減小系統(tǒng)的輪廓誤差,對(duì)多軸運(yùn)動(dòng)系統(tǒng)的輪廓精度具有顯著的提高。交叉耦合迭代學(xué)習(xí)的系統(tǒng)框架如圖4所示。
圖 4 交叉耦合迭代學(xué)習(xí)系統(tǒng)
由圖4知,交叉耦合迭代學(xué)習(xí)控制算法是把上一次的輪廓誤差經(jīng)過迭代學(xué)習(xí),得到新的控制信號(hào),然后通過輪廓誤差分配模型動(dòng)態(tài)補(bǔ)償?shù)礁鬏S的方法。該方法有效結(jié)合了交叉耦合控制的輪廓補(bǔ)償性能和迭代學(xué)習(xí)控制的軌跡跟蹤性能,能實(shí)現(xiàn)輪廓軌跡有限時(shí)間區(qū)間的完全跟蹤。
迭代學(xué)習(xí)控制是一種無(wú)模型綜合控制方法,對(duì)運(yùn)動(dòng)系統(tǒng)的數(shù)學(xué)模型和參數(shù)的精確度要求不是很嚴(yán)格,不需要很多的先驗(yàn)知識(shí)和計(jì)算量,并且能夠有效提高跟蹤性能。交叉耦合控制器是通過建立的輪廓誤差模型,對(duì)各個(gè)軸進(jìn)行輪廓誤差補(bǔ)償,能夠有效提高多軸運(yùn)動(dòng)系統(tǒng)的輪廓跟蹤能力,減小輪廓誤差。交叉耦合迭代學(xué)習(xí)控制雖然把迭代學(xué)習(xí)控制應(yīng)用到了交叉耦合控制器中,通過對(duì)耦合誤差的學(xué)習(xí)修正控制信號(hào),提高系統(tǒng)的輪廓軌跡跟蹤性能,能夠在一定程度上減小輪廓誤差,但是對(duì)單軸的跟蹤性能并沒有提高。
基于這些特點(diǎn),本文結(jié)合單軸的迭代學(xué)習(xí)控制和多軸的交叉耦合迭代學(xué)習(xí)控制提出了一種雙迭代學(xué)習(xí)-交叉耦合(ILC&CCILC)的控制方法,即在交叉耦合迭代學(xué)習(xí)控制(CCILC)的基礎(chǔ)上,對(duì)各軸分別再進(jìn)行迭代學(xué)習(xí)控制方法,既能保證系統(tǒng)的輪廓軌跡跟蹤性能,減小系統(tǒng)的輪廓誤差,又能提升單軸的跟蹤性能。其系統(tǒng)框架如圖5所示,其中,xr和yr分別為兩軸的期望軌跡,Ex和Ey分別為兩軸的跟蹤誤差,xj和yj分別為兩軸的實(shí)際軌跡,e為雙軸運(yùn)動(dòng)系統(tǒng)的輪廓誤差。
圖 5 雙迭代學(xué)習(xí)-交叉耦合控制方法的系統(tǒng)
圖5中,輪廓誤差e的迭代學(xué)習(xí)律為
uccj+1(t)=
uccj(t)+Lε(q-1)εj(t=1)
其中,Lε(q-1)是輪廓誤差的學(xué)習(xí)率,εj是輪廓誤差。
將X軸和Y軸的迭代學(xué)習(xí)律與輪廓誤差的學(xué)習(xí)率相結(jié)合,則雙迭代學(xué)習(xí)-交叉耦合控制的算法公式分別為
uxj+1=(ux+LxEx-CxLεε)j
(5)
uyj+1=(uy+LyEy+CyLεε)j
(6)
式中:Lx和Ly分別是X軸和Y軸的學(xué)習(xí)率函數(shù),Le是輪廓誤差的學(xué)習(xí)率。Exj(t)=xr(t)-xj(t),Eyj(t)=yr(t)-yj(t)分別是兩軸的跟蹤誤差。同時(shí),將式(3)代入式(5)和(6)中,可以得到與控制輸入和周期擾動(dòng)相關(guān)的矩陣公式:
(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,則收斂條件可以轉(zhuǎn)化為:
(9)
式中:‖·‖i表示矩陣的范數(shù),當(dāng)滿足式(9)中的2-范數(shù)條件(σ(M))<1時(shí),就可以保證系統(tǒng)的單調(diào)性和穩(wěn)定性。式(9)中的組合矩陣可以分成單軸ILC和CCILC兩個(gè)矩陣形式,即
‖[ILCx,y]+[CCILC]‖2<1
(10)
(11)
(12)
式(10)是系統(tǒng)滿足穩(wěn)定性和收斂性的條件。式(5)到式(12)表明可以分別設(shè)計(jì)控制器,并可將其組合成一個(gè)單輸入控制器,分別對(duì)單軸迭代學(xué)習(xí)控制器和交叉耦合迭代學(xué)習(xí)控制器進(jìn)行調(diào)節(jié),以改善系統(tǒng)的控制性能。
雙迭代學(xué)習(xí)-交叉耦合控制是一種針對(duì)輪廓軌跡、基于位置閉環(huán)的改進(jìn)算法,主要是對(duì)多軸運(yùn)動(dòng)控制系統(tǒng)的位置軌跡進(jìn)行實(shí)時(shí)跟蹤,。在實(shí)驗(yàn)設(shè)計(jì)中,需要對(duì)位置閉環(huán)進(jìn)行單獨(dú)設(shè)計(jì),結(jié)合所提算法,設(shè)計(jì)快速控制原型。對(duì)雙迭代學(xué)習(xí)-交叉耦合算法的驗(yàn)證主要是通過實(shí)際控制實(shí)驗(yàn)進(jìn)行,使用的實(shí)驗(yàn)設(shè)備主要包括三個(gè)部分:上位機(jī)、運(yùn)動(dòng)控制器和控制對(duì)象。實(shí)驗(yàn)裝置如圖6所示。
圖 6 實(shí)驗(yàn)控制平臺(tái)
其中,上位機(jī)是由PC(win7以上系統(tǒng),16GB內(nèi)存,i7-6700處理器)和Labview組成的軟硬件系統(tǒng),通過與下位機(jī)建立局域網(wǎng)連接,并基于TCP/IP協(xié)議實(shí)現(xiàn)通訊。Labview是美國(guó)國(guó)家儀器公司(NI)開發(fā)的一款系統(tǒng)工程軟件,是一種基于圖形化編程的語(yǔ)言,能夠快速訪問硬件并提供數(shù)據(jù)信息,特別是在數(shù)據(jù)采集和控制方面處理能力優(yōu)越。CompactRIO 9082是一款可重配置的實(shí)時(shí)嵌入式系統(tǒng),且搭載了FPGA技術(shù),其開發(fā)是通過上位機(jī)來(lái)完成的。NI9516運(yùn)動(dòng)板卡是驅(qū)動(dòng)接口模塊,其主要作用是對(duì)伺服系統(tǒng)進(jìn)行伺服驅(qū)動(dòng),并帶有對(duì)光柵和編碼器的傳感器信號(hào)雙采集功能,運(yùn)動(dòng)控制器是在Labview環(huán)境下進(jìn)行系統(tǒng)開發(fā)的。本實(shí)驗(yàn)上位機(jī)的作用主要是用于程序的編寫和實(shí)驗(yàn)過程中數(shù)據(jù)的采集和監(jiān)測(cè),而且,算法仿真程序也是在PC機(jī)上用Labview進(jìn)行調(diào)試的,為在運(yùn)動(dòng)控制器上的系統(tǒng)開發(fā)做準(zhǔn)備。
控制對(duì)象是由伺服系統(tǒng)和絲杠導(dǎo)軌組成的X-Y工作平臺(tái),絲杠的導(dǎo)程均為5 mm。實(shí)驗(yàn)采用了兩臺(tái)不同參數(shù)的永磁同步電機(jī),是為了使兩軸之間動(dòng)態(tài)特性不一致,從而更好地驗(yàn)證算法的動(dòng)態(tài)補(bǔ)償特性。其中,X軸采用的是三菱的MR-JE-10A系列驅(qū)動(dòng)器和HF-KN13J-S100伺服電機(jī)進(jìn)行驅(qū)動(dòng);Y軸采用的是松下的MSDA023A1A系列驅(qū)動(dòng)器和MSMA022A1C伺服電機(jī)進(jìn)行驅(qū)動(dòng)。其位置信息是由長(zhǎng)春光機(jī)生產(chǎn)的線位移系列封閉式光柵尺采集,型號(hào)是SGC-4.2T 250,其分辨率為5 μm。
為了驗(yàn)證雙迭代學(xué)習(xí)-交叉耦合控制方法對(duì)提高單軸跟蹤性能和系統(tǒng)輪廓控制精度的有效性,主要做了線性輪廓軌跡實(shí)驗(yàn),并且分別進(jìn)行了雙軸交叉耦合迭代學(xué)習(xí)控制(CCILC)實(shí)驗(yàn)、雙軸輪廓誤差的交叉耦合控制與單軸的迭代學(xué)習(xí)控制相結(jié)合的控制(ILC&CCC)實(shí)驗(yàn)和雙迭代學(xué)習(xí)-交叉耦合控制(ILC&CCILC)實(shí)驗(yàn),通過3組實(shí)驗(yàn)結(jié)果比較3種控制方法的單軸跟蹤誤差和輪廓誤差。
進(jìn)行線性輪廓軌跡實(shí)驗(yàn)時(shí),運(yùn)行的參考輪廓時(shí)長(zhǎng)是34 s,采樣步長(zhǎng)是0.005 s。X軸的位置控制器參數(shù)是kpx=80,速度控制器參數(shù)是kvp=200,kvi=50;Y軸的位置控制參數(shù)是kpy=100,速度控制器參數(shù)是kvi=120,kvi=20。線性輪廓軌跡的雙迭代學(xué)習(xí)-交叉耦合控制(ILC&CCILC)的PD型迭代學(xué)習(xí)參數(shù)如表1所示。
表1 線性輪廓軌跡的PD型迭代學(xué)習(xí)控制器參數(shù)
實(shí)驗(yàn)過程中運(yùn)行的線性輪廓軌跡如圖7所示。圖7展示了指令輪廓軌跡及交叉耦合迭代學(xué)習(xí)控制(CCILC)、雙軸輪廓誤差的交叉耦合控制與單軸的迭代學(xué)習(xí)控制相結(jié)合的控制(ILC&CCC)和雙迭代學(xué)習(xí)-交叉耦合控制(ILC&CCC)3種輪廓誤差收斂后的輪廓軌跡。圖8a和b分別是圖7a和b兩部分的局部放大圖,可知與CCILC和ILC&CCC兩種控制相比,ILC&CCILC收斂后的輪廓軌跡與指令輪廓軌跡更接近,在軌跡拐角處也較另外兩種控制更平穩(wěn)一些。
圖 7 線性輪廓軌跡
(a)左拐點(diǎn)處軌跡放大
三種控制方法輪廓誤差的實(shí)驗(yàn)結(jié)果如圖9—11所示。由圖9—11可知,使用ILC&CCILC控制方法的輪廓誤差與CCILC和ILC&CCC的輪廓誤差比較起來(lái)更小,實(shí)際輸出軌跡與期望軌跡也更接近,能夠更顯著地降低系統(tǒng)的輪廓誤差。
圖 9 CCILC控制方法的輪廓誤差
圖10 ILC&CCC控制方法的輪廓誤差
圖11是雙迭代學(xué)習(xí)-交叉耦合(ILC&CCILC)算法的軌跡誤差收斂圖,表示的是輪廓誤差絕對(duì)值的平均值與迭代次數(shù)的關(guān)系。由圖11可知,使用雙迭代學(xué)習(xí)-交叉耦合(ILC&CCILC)控制方法對(duì)線性輪廓軌跡具有很好的穩(wěn)定性和收斂性。表2統(tǒng)計(jì)了上述實(shí)驗(yàn)中3種不同控制方法的均方根誤差。
圖11 ILC&CCILC控制方法的輪廓誤差
表2 線性輪廓軌跡不同控制方法的均方根誤差
從表2中可以看出,CCILC雖然能夠提高輪廓控制精度,但是單軸跟蹤性能并不好,雙迭代學(xué)習(xí)-交叉耦合(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%。由實(shí)驗(yàn)結(jié)果知,在運(yùn)行線性軌跡時(shí),雙迭代學(xué)習(xí)-交叉耦合(ILC&CCILC)對(duì)單軸跟蹤性能和輪廓精度都有顯著的提高。
本文針對(duì)迭代學(xué)習(xí)控制重復(fù)運(yùn)動(dòng)過程中能夠在有限時(shí)間區(qū)間上減小系統(tǒng)的跟蹤誤差,結(jié)合交叉耦合控制器在多軸運(yùn)動(dòng)中能有效改善輪廓誤差的特性,提出了一種雙迭代學(xué)習(xí)-交叉耦合控制算法。該算法既能減小各軸跟蹤誤差,也能減小單系統(tǒng)的輪廓誤差。通過與交叉耦合迭代學(xué)習(xí)和迭代學(xué)習(xí)-交叉耦合兩種控制方法的對(duì)比實(shí)驗(yàn),表明本算法顯著減小了單軸跟蹤誤差和多軸輪廓誤差。