許萬,袁聰,肖迪
(湖北工業大學機械工程學院,湖北武漢430068)
隨著現代工業的發展,復雜型面零件的加工越來越常見,對數控加工系統的性能要求越來越高。許多曲線和曲面的加工需要依賴3個軸的協調運動,提高零件的加工精度不僅需要降低單個軸的跟蹤誤差,還需要降低各軸之間不協調運動產生的輪廓誤差。
近年來,學者們針對降低多軸加工誤差提出了很多研究方法,如自適應滑模控制[1]、模糊PID控制[2]、神經網絡控制[3]、基于位置域迭代學習控制[4]、基于極坐標變換的迭代學習控制[5]等,均能有效改善加工性能,但無法同時協調單軸的跟蹤誤差和多軸之間的輪廓誤差。BARTON和ALLEYNE提出了一種將迭代學習控制和交叉耦合控制相結合的方法,能夠同時改善單軸的跟蹤誤差和多軸之間的輪廓誤差[6];同時提出了范數最優交叉耦合-迭代學習控制方法,并通過增加耦合權值來調節單軸跟蹤誤差和多軸輪廓誤差之間的平衡關系[7];文獻[8]則在單軸迭代學習和多軸交叉耦合的控制方法的基礎上,增加了多軸輪廓誤差的迭代學習控制,使輪廓誤差能夠得到有效改善;文獻[9-10]則考慮到單軸載荷變化和多軸之間的動態特性不匹配問題,提出了雙迭代學習-交叉耦合控制方法,考慮到不同軌跡和時變隨機擾動設計了時變加權矩陣,并設計出快速控制樣機進行了實驗研究。雖然常見的雙軸運動系統已經有了非常成熟的研究,但應用到三軸運動系統中有著一定的局限性,在空間中的軌跡跟蹤誤差和輪廓誤差之間的耦合關系也需要進行新的研究與計算,最大的難題在于其誤差向量平面不再同屬于一個平面上,需要根據實際的情況重新估計各軸的分配耦合系數。文獻[11]中提出基于相鄰軸的交叉耦合方法,雖然能實現高精度的同步,但也會產生較大的滯后,實時性降低。文獻[12]中提出了一種基于任務極坐標系變換的方法,將三維問題轉換成二維問題來進行計算,該方法具有計算速度快、輪廓精度高等優點,但也犧牲了單軸的跟蹤精度。文獻[13]中拋棄了基于時域控制的觀念,提出了一種基于位置域跟蹤的交叉耦合控制方法,該方法在單軸跟蹤上仍然存在較大誤差,并且對曲線軌跡沒有較好的跟蹤性能。
本文作者針對單軸跟蹤,運用迭代學習控制方法來降低單軸的跟蹤誤差,在多軸協調運動上運用交叉耦合控制方法來減小輪廓誤差,利用誤差向量和空間軌跡的切向量來計算三軸之間交叉耦合系數,提出了一種基于向量法誤差模型的空間三軸交叉耦合-迭代學習的控制方法,并在仿真實驗平臺上進行了驗證,結果表明:該方法能夠有效減小單軸跟蹤誤差和多軸輪廓誤差。
本文作者采用的交流永磁同步直線電機具有損耗低、響應快等一系列優點,其工作原理與交流旋轉電機相似。對于這種電機,目前應用最廣泛的是矢量控制方法[14]。
將模型簡化是研究問題的首要任務,作者對同步直線電機作出如下假設:(1)不考慮磁滯、渦流等的影響;(2)忽略電樞電流產生的溫度變化;(3)忽略電機動子質量干擾變化。
依據上述假設,結合電磁轉矩公式和勵磁電流分量id=0可以得出同步直線電機的數學模型[15]:
(1)
其中:G(s)為電機傳遞函數;K為常值比例系數;B為黏性摩擦系數;J為電機轉動慣量;s為拉普拉斯算子。
在許多研究兩軸協同運動的文獻中,大多都是運用幾何法來定義兩軸的輪廓誤差,如圖1所示。

圖1 二維平面下的輪廓誤差和跟蹤誤差
圖中:L是理論的運動軌跡;P*和P0分別表示某一時刻的理論插補點和實際插補點;θ是期望輪廓與x軸正方向的夾角;用P0和P*之間的距離表示跟蹤誤差E,Ex和Ey分別是跟蹤誤差E在x軸和y軸方向上的分量;用點P0到理論輪廓L的最短距離表示輪廓誤差ε。
由圖1可以看出,輪廓誤差ε可以由跟蹤誤差Ex和Ey表示:
(2)
根據此公式可以將輪廓誤差的交叉耦合系數定義為
(3)
傳統的兩軸加工輪廓誤差是基于平面坐標系計算的,是根據軌跡點的曲率來計算各軸跟蹤誤差與輪廓誤差之間的幾何關系,并作為輪廓誤差補償,并不能減小單軸的跟蹤誤差[16]。
如果是三維空間運動軌跡,計算幾何關系則變得相當復雜,而且輪廓誤差向量與運動軌跡可能不在一個平面內,交叉耦合系數需要用向量法重新作近似計算。而在這種方法中,耦合系數不僅與曲率有關,而且還和前一次迭代的跟蹤誤差有關。空間圓弧運動軌跡曲線如圖2所示。

圖2 三維坐標系下的輪廓誤差和跟蹤誤差

設該點圓弧方程為x=φ(t)、y=ψ(t)、z=η(t),則該點切向量為
T=(φ′(t),ψ′(t),η′(t))
(4)
則可以求出單位切向量t。假設n=at+be,兩邊同乘以向量t,可以得到
(5)
(6)
故可以求出向量n,輪廓誤差絕對值可以表示為
(7)
其中:e=(ex,ey,ez),n=(nx,ny,nz)。故可以將輪廓誤差耦合系數定義為
(8)
迭代學習控制(Iterative Learning Control,ILC)適用于改善重復運動的系統性能,是利用上一次迭代產生的跟蹤誤差作為下一次的前饋控制信號[17],能提高單個對象的重復跟蹤效果。目前最常用的是頻域設計方法:
uj+1=Q(uj+Lej)
(9)
其中:uj是第j次控制輸入信號的傅里葉變換;ej是第j次誤差信號的傅里葉變換;L和Q為線性時不變系統濾波器。
頻域設計方法的PD型ILC系統框圖如圖3所示。

圖3 PD型迭代學習控制(ILC)系統框圖
圖3中,P為系統的狀態空間方程。PD型迭代學習控制系統的學習律為
uj+1(t)=uj(t)+kpej+1(t)+kdej(t)
(10)
其中:kp、kd為迭代學習系數。
交叉耦合控制(Cross-Coupled Control,CCC)主要是為了改善各單軸運動的不協調,從而減小多軸協調運動的輪廓誤差。
交叉耦合控制的基本思想是:根據各單軸的跟蹤誤差來估算多軸協同運動的輪廓誤差,然后經過交叉耦合控制器對各單軸的跟蹤誤差進行補償,以此來對各軸之間的運動進行協調,從而降低多軸運動的輪廓誤差。圖4是兩軸運動系統的交叉耦合控制框圖。

圖4 交叉耦合系統框圖
圖4中:xr和yr分別表示x軸和y軸的輸入信號;xj和yj分別表示x軸和y軸的輸出信號;ε表示系統的輪廓誤差;Cx和Cy分別表示x軸和y軸的交叉耦合分配系數。
將迭代學習控制和基于誤差向量計算的交叉耦合控制相結合,可以得到基于向量法計算輪廓誤差的三軸交叉耦合-迭代學習控制(Cross-Coupling Iterative Learning Control,CCILC)方法,原理框圖如圖5所示。

圖5 三軸交叉耦合-迭代學習控制算法框圖
該方法利用單軸的迭代學習控制來降低各軸的跟蹤誤差,交叉耦合控制器利用各軸合成跟蹤誤差矢量計算出交叉耦合系數,然后將得到的交叉耦合補償加入到各反饋控制器的輸出中,再將補償后的結果傳入到迭代學習控制器中,進行下一次的迭代計算。
已知x軸、y軸和z軸的迭代學習律分別為
ux,j+1=[ux+(kpx+kdx)ex+Cx(kpε+kdε)ε]j
uy,j+1=[uy+(kpy+kdy)ey+Cy(kpε+kdε)ε]j
uz,j+1=[uz+(kpz+kdz)ez+Cz(kpε+kdε)ε]j
其中:kpx和kdx、kpy和kdy、kpz和kdz分別為x軸、y軸和z軸的迭代學習系數。
因為ε=Cxex+Cyey+Czez,代入上式可以得到:
其中:
M11=I-[(kpx+kdx)+Cx(kpε+kdε)Cx]Qx;
M12=Cx(kpε+kdε)CyQy;
M13=Cx(kpε+kdε)CzQz;
M21=Cy(kpε+kdε)CxQx;
M22=I-[(kpy+kdy)+Cy(kpε+kdε)Cy]Qy;
M23=Cy(kpε+kdε)CzQz;
M13=Cz(kpε+kdε)CxQx;
M32=Cz(kpε+kdε)CyQy;
M33=I-[(kpz+kdz)+Cz(kpε+kdε)Cz]Qz。
其中:i=0,1,…,n;λi為譜半徑。由于max|λi|<1,故收斂條件可以簡化為
式中:‖*‖表示一個矩陣的范數。當滿足公式中的范數條件時,則可以保證系統的穩定性和收斂性。
為了驗證三軸交叉耦合-迭代學習算法的可行性,分別對空間曲線運動軌跡的三軸迭代學習控制和三軸交叉耦合-迭代學習控制進行了實驗驗證,并對兩者的輪廓誤差和跟蹤誤差進行比較。
實驗裝置如圖6所示,其中,上位機是由PC和LabVIEW組成的軟硬件系統,通過局域網連接與下位機NI ComapactRIO9082實現TCP/IP通信。運動控制卡9516是搭載在ComapactRIO9082上的驅動接口模塊,負責數據采集與命令發送,主要是對伺服系統發送驅動命令并對光柵和編碼器進行傳感信號采集。控制器的控制對象是3臺不同的伺服電機和絲桿滑臺組成的三軸xyz運動工作平臺,為了更好地驗證算法的有效性,選擇3臺不同參數的伺服電機,其型號分別是:z軸選用三菱的MR-JE-10A系列伺服驅動器和HF-KN13J-S100伺服電機,y軸選用松下的MSDA023A1A系列伺服驅動器和MSMA022A1C伺服電機,x軸選用邁信的EP1C-TL05系列伺服驅動器和60MSL00630伺服電機。每個伺服電機上裝有一個長春光機生產的線位移系列封閉式光柵編碼器,負責采集工作臺的線性位移信息。

圖6 實驗控制平臺
在實驗開始前,對實際工況中的控制參數進行近似預估。為保證算法的一般適用性,選用3臺不同型號的伺服電機進行實驗。經查閱資料,各個電機的傳遞函數分別是:
在進行實驗時,設定采樣周期為T=0.005 s,總運行時間為7 s,迭代次數為20次。實驗中各控制器的增益系數如表1所示。

表1 各控制器的PD型增益系數
實驗過程中運行的理論空間曲線軌跡如圖7所示。圖8是根據空間理論輪廓軌跡分解到各軸的運動軌跡。

圖7 空間曲線輪廓軌跡 圖8 各軸運動軌跡
三軸交叉耦合-迭代學習控制和三軸迭代學習控制的各軸跟蹤誤差如圖9—圖11所示。圖12表示的是三軸交叉耦合-迭代學習控制和三軸迭代學習控制的輪廓誤差絕對值與時間的關系。比較兩者可以得知:三軸交叉耦合-迭代學習控制的輪廓誤差和跟蹤誤差比三軸迭代學習控制要小,實際軌跡與理論軌跡也更接近,能夠顯著降低三軸系統的跟蹤誤差和輪廓誤差。

圖9 x軸跟蹤誤差與時間的關系 圖10 y軸跟蹤誤差與時間的關系

圖11 z軸跟蹤誤差與時間的關系 圖12 輪廓誤差與迭代次數的關系
表2統計了上述兩種控制方法的均方根誤差。可以看出:三軸交叉耦合-迭代學習控制方法能有效降低三軸控制系統的跟蹤誤差和輪廓誤差,相比較于三軸迭代學習控制方法,x軸的跟蹤誤差降低了33.1%,y軸的跟蹤誤差降低了37.2%,z軸的跟蹤誤差降低了29.8%,輪廓誤差降低了44.6%。由實驗結果可知:三軸交叉耦合-迭代學習控制使三軸控制系統的跟蹤性能和輪廓精度都有明顯的提高,其迭代收斂速度也更快。

表2 空間曲線軌跡不同控制方法的均方根誤差
針對空間曲線運動軌跡提出了一種基于向量法誤差模型的三軸交叉耦合-迭代學習控制算法。迭代學習控制能減小重復運動過程中的跟蹤誤差,交叉耦合控制能減小多軸運動之間的輪廓誤差。基于以上兩種算法的特性,設計了一個三軸交叉耦合-迭代學習控制器,進行了三軸迭代學習控制和三軸交叉耦合-迭代學習控制的對比實驗。實驗結果表明:該控制算法能夠有效減小各軸的跟蹤誤差和三軸之間的輪廓誤差。