(北京理工大學自動化學院, 北京100081)
迭代學習控制的思想最先是由日本學者Uchiyama[1]提出的,只是未引起人們廣泛的關注。一般認為,Arimoto在1984年提出的學習算法被認為是關于迭代學習控制的開創性研究。
迭代學習控制適合于一類具有重復運行特性的被控對象,其任務是尋找控制輸入,使得被控系統的實際輸出軌跡在有限時間區間上沿整個期望輸出軌跡實現零誤差的完全跟蹤,并且整個控制過程要求快速完成[2-4]。
迭代學習控制經過近20年的發展,無論在理論還是在應用上都取得了豐碩的成果。近些年來提出的基于系統逆的迭代學習控制(IIC)[5]技術提供了一種直接的方式來量化和說明系統動態不確定性對迭代學習控制性能的影響, 從而達到迭代控制輸入的快速收斂[6-7]。然而, 這種方法仍然需要動力學模型和建模過程,模型質量直接限制了IIC技術的性能。MIIFC算法消除動力學建模過程,并顯著提高跟蹤性能[8]。在相關研究的基礎上,提出了一種新型的MIIFC控制結構,分析了存在外界干擾下控制器的性能,與傳統的ILC控制相比,加快了系統收斂的速度,改變了控制量對誤差的補償方式;配合一般的PID控制器,可以省略繁瑣的PID參數整定過程,在粗略給出PID參數的情況下通過迭代學習達到精確的軌跡跟蹤。通過電液伺服系統的跟隨給定實驗,表明了該控制方法的有效性。
MIIFC算法如下:
u0(jω)=αyd(jω),k=0,
(1)
算法的迭代學習需要一組初始的輸入輸出數據u0(jω)、y0(jω),初始控制量u0(jω)可由給定軌跡yd(jω)乘以一個系數α獲得,α可以選取系統增益的倒數。
考慮一種存在輸出干擾的情況:
y(jω)=yl(jω)+yn(jω)
(2)
其中,yl(jω)為由控制輸入得到的輸出,yn(jω)則代表了輸出干擾項。
定義NSR(noise/disturbance to signal ratio)為噪聲與信號的比值。算法收斂性與跟蹤性能的優劣由NSR的值來確定。
為了驗證算法的收斂性和對跟蹤性能的提升,定義在k次迭代過程中迭代控制輸入和期望輸入的比值為:
(3)
其中,pk(jω) 是在頻率ω下,過去所有迭代過程中NSR的乘積,Sk(jω)則是pk(jω)的累加[3]。

推論:當NSR的值小于一個常數時,可以保證迭代學習算法的收斂性;通過進一步界定NSR的值,可以使跟蹤性能得到顯著提高。
(5)
由式(5),可以得到隨著迭代次數增加,迭代輸入與期望的輸入比值為:

(6)
若每次迭代過程中NSR的值滿足小于一個正數ε,ε的范圍為:
(7)
則S∞(jω)是有界的:
(8)
聯合式(6),系統的相對跟蹤誤差為:
(9)
將式(8)的結果代入式(9)中,有:
(10)
至此,迭代學習的收斂性得到證明。同時,圖1描述了不同NSR取值下系統的相對跟蹤誤差。

圖1 不同NSR取值下的相對跟蹤誤差
可以看出,如果在某特定頻率ω下NSR滿足:
(11)
則該頻率ω處的跟蹤誤差的頻率分量小于期望的輸出的頻率分量,跟蹤性能得到提升:
(12)
本研究中采用的控制對象為電液伺服閥控缸位置控制系統,系統空載時的傳遞函數為:
(13)
式中,Ap—— 液壓缸的有效作用面積
Kq—— 流量增益
開環系統的傳遞函數是一個積分環節,存在位于原點的極點,因此系統是不穩定的[9-10]。
MIIFC是一種開環控制,它并不能使系統鎮定,所以在許多迭代學習控制設計中總是假設系統是穩定的,或者反饋控制器已經存在[11]。如果考慮受控對象不穩定或具有模型不確定與非重復擾動時,就應該考慮設計一個能使系統鎮定的反饋控制器[12-13]。因此,引入圖2中虛線框內的輸出反饋對系統進行鎮定。

圖2 MIIFC控制框圖
其中,uk(jw),yk(jw),yk,n(jw)分別為第k次迭代學習控制的控制量uk(t)、系統輸出yk(t)、外界干擾yk,n(t)的傅立葉變換;uk+1(jw)為第k+1次迭代學習控制器的輸出uk+1(t)的傅立葉變換;yd(jw)為系統期望輸出yd(t)的傅立葉變換。MIIFC控制器根據第k次迭代過程中一定長度(通常為重復給定軌跡的一個周期)的數據,在頻域內計算出k+1次迭代過程的控制量,然后通過逆傅立葉變換到時域,并開環給出;接下來,該控制量由PID環節進行逐點的閉環控制。
通常情況下,PID控制器要想達到精確的控制效果,需要一個反復調節PID參數的過程。如果PID控制器沒有經過參數整定,那么跟蹤結果一般會存在靜差。為了省略復雜的參數整定過程,消除PID控制存在的靜差,從而精確的跟蹤給定曲線,加入MIIFC控制器來進行迭代學習控制。具體控制過程如下:第一步,先根據經驗預估一組PID參數,之后由PID單獨進行控制,待運行結果穩定,截取一組原始的輸入輸出數據,因為PID控制器未經參數整定,所以這組數據是帶有靜差的。第二步,通過MIIFC控制器不斷迭代學習,對靜差進行修正直到收斂。可以看出,PID控制器和MIIFC是配合使用的,其中,PID主要用于系統鎮定,使跟蹤結果穩定不發散即可,由于未經參數整定,因此其消除誤差的作用有限,尤其是當干擾較大或者誤差較大時,僅依靠PID控制依然會存在很大的靜差,因此主要的誤差消除工作仍需MIIFC迭代學習控制來完成。此外,PID控制作為反饋控制器,本身存在固有的滯后現象,對于高頻信號尤為明顯。而加入MIIFC前饋控制之后,通過上一迭代周期的迭代控制器輸出、被控對象輸出和給定軌跡離線計算出下一個迭代周期的控制量,可以對滯后現象帶來的誤差進行補償。
實驗中參考輸入為不同頻率、不同幅值的正弦信號,被控對象為電液伺服閥控缸系統。
以單個對稱伺服閥控制非對稱缸系統為研究對象,整體的實驗平臺主要由泵站、閥控缸、工控機組成。閥控缸系統由慣性負載、彈性負載、控制器、1個四通伺服閥、1個非對稱液壓缸、1個活塞桿位置傳感器以及其他附件和液壓管路組成。工控機采用主從機結構,主機為1臺筆記本電腦,從機是NI公司的8101機箱,裝載有PXI-6251采集卡,具有16路16位模擬輸入,單通道采樣率最大可達1.25 MS/s,用于數據采集、AD/DA轉換和控制算法的實現。終端安裝有NI LabVIEW的實時系統(Real-time System),可以在指定時間內完成規定操作,具有很高的時間精度和可靠度,保證了實時信號不間斷采集存儲和傳輸。開發環境為LabVIEW 2012,MIIFC控制器采用MATLAB編寫,包括傅立葉變換以及算法具體的計算過程,縮短了控制周期。
實驗中,使液壓缸分別跟隨幅值為10 mm、頻率為1 Hz和幅值為2 mm、頻率為10 Hz的正弦給定曲線。首先初步估計PID控制器參數,并使系統在PID控制下跟蹤正弦曲線,得到初始的輸入輸出數據;之后開始MIIFC迭代控制過程。
圖3a為單純的采用估計PID參數進行控制的位移y跟蹤1 Hz、10 mm正弦曲線;圖3b為在圖3a的基礎上,利用MIIFC迭代5次之后液壓缸的跟蹤給定曲線;圖4a為單純的采用估計PID參數進行控制的位移y跟蹤10 Hz、2 mm正弦曲線;圖4b為在圖4a的基礎上,利用MIIFC迭代5次之后液壓缸的跟蹤給定曲線;可以看出,MIIFC迭代控制器可以消除原有的跟蹤誤差,實現對給定曲線的精確跟蹤,并且有較快的收斂速度。

圖3 1 Hz,10 mm正弦跟蹤實驗曲線
在實際工況中,如果開始運行時通過PID控制能穩定的話,那么接下來的擾動一般是緩慢變化的,帶來的誤差可以通過迭代逐漸消除;假如出現大擾動的情況,可能會破壞系統的穩定性而導致發散,那么就需要重新進行迭代找到新的控制量。

圖4 10 Hz,2 mm正弦跟蹤實驗曲線
設計的MIIFC迭代控制器,結構簡單,易于實現;省去了相關的建模過程, 減少了模型不確定度帶來的誤差;應用NSR考慮了可能存在的外界噪聲的范圍,并理論證明了預期達到的控制精度;通過迭代學習對跟蹤誤差進行了準確的補償,省略了反復的PID參數整定過程。實驗表明,基于逆的迭代控制具有快速的收斂性和跟蹤精度,是一種簡單有效的迭代控制算法。