薄雨蒙,曹明生,高慧斌
(1.中國科學(xué)院長春光學(xué)精密機械與物理研究所,吉林長春 130000;2.中國科學(xué)院大學(xué),北京 100049)
在運動控制系統(tǒng)中,前饋控制得到了廣泛的應(yīng)用,特別是在對控制精度要求很高的軌跡跟蹤任務(wù)中,前饋控制可以取得良好的控制效果.前饋控制器基于先驗知識獲得前饋控制信號對誤差進行補償,因此可以有效提高控制精度.傳統(tǒng)的前饋控制方法包括迭代學(xué)習控制(iterative learning control,ILC),基于模型的前饋控制和迭代前饋調(diào)參(iterative feedforward tuning,IFT)等.
迭代學(xué)習控制適合于具有重復(fù)性的控制任務(wù),它由Arimoto等人[1]于1984年提出,之后幾十年發(fā)展出了多種擴展的方法[2-3],并可以與其他控制方法,如自適應(yīng)控制[4-6]、魯棒控制[7-9]和模糊控制[10-11]等進行結(jié)合,根據(jù)系統(tǒng)特性和控制需求,可以達到更好的控制效果.
迭代學(xué)習控制利用以前迭代周期獲得的信息,通過學(xué)習方法估計并補償系統(tǒng)中存在的不隨迭代次數(shù)變化的擾動.但在控制過程中,非重復(fù)性擾動存在積累現(xiàn)象,從而影響控制誤差的收斂性[12].傳統(tǒng)的學(xué)習律學(xué)習的是系統(tǒng)的控制輸入,這要求期望軌跡在迭代域上嚴格重復(fù),一旦軌跡發(fā)生變化,迭代學(xué)習控制將會失效[13].針對期望軌跡變化的情況,文獻[14]提出了分段ILC,在文獻[15]中以分段ILC為基礎(chǔ),將任務(wù)分解為多個子任務(wù)進行單獨學(xué)習,但其控制性能受分段方式影響,并且增加了算法實現(xiàn)的復(fù)雜度.
相反,基于模型的前饋控制也可以達到較高的控制精度,但期望軌跡的變化不會引起控制效果的惡化[16-17].基于模型的前饋控制使用系統(tǒng)逆模型或系統(tǒng)敏感度函數(shù)建立學(xué)習濾波器,利用系統(tǒng)信息進行前饋補償,獲得的控制效果依賴于系統(tǒng)模型的質(zhì)量[18].但在工程應(yīng)用中,對復(fù)雜系統(tǒng)建立精確模型難度大,成本高,更傾向于使用數(shù)據(jù)驅(qū)動控制方法,即直接使用輸入輸出數(shù)據(jù)進行控制器設(shè)計的方法[19-20].
采用基函數(shù)可以將迭代學(xué)習控制與基于模型的前饋控制的優(yōu)點相結(jié)合,獲得適用于變軌跡任務(wù),高控制精度且不依賴于系統(tǒng)模型的前饋控制方法[21].通過基函數(shù)的引入,信號被投影到基函數(shù)張成的空間中,組成的前饋控制器可用于估計系統(tǒng)的逆模型[22].
使用基函數(shù)將前饋控制器參數(shù)化,可以將系統(tǒng)模型辨識問題轉(zhuǎn)換為參數(shù)化前饋控制器的迭代前饋調(diào)參問題,并通過最優(yōu)化方法得到最優(yōu)前饋控制器[23-24].文獻[25]使用數(shù)據(jù)驅(qū)動的梯度下降法進行調(diào)參,但文獻[25-26]證明此方法在存在噪聲時將得到參數(shù)的有偏估計,因此引入輔助變量來獲得參數(shù)的無偏估計,文獻[27]對參數(shù)估計的精確度進行了分析.文獻[28]提出了高階的優(yōu)化方法,使用過去所有迭代周期獲得的誤差信號進行參數(shù)估計,算法具有高精度和高噪聲容忍度.文獻[29-30]使用有理基函數(shù)以獲得更高的精度.
將ILC與IFT進行比較,發(fā)現(xiàn)ILC對于重復(fù)性任務(wù)可以得到很高的控制精度,但期望軌跡的變化會引起極大的效果惡化[30];反之,IFT則適用于變期望軌跡任務(wù),不依賴于系統(tǒng)模型,但控制精度低于ILC.
為了在保證高控制精度的同時,改善ILC在期望軌跡變化時的效果惡化問題,本文針對執(zhí)行變軌跡步進掃描運動的系統(tǒng),提出了一種將IFT與ILC進行結(jié)合的數(shù)據(jù)驅(qū)動的控制結(jié)構(gòu).通過引入IFT,得到最優(yōu)系統(tǒng)前饋控制器,消除期望軌跡引入的擾動,提高軌跡變化時的控制精度;通過ILC,消除系統(tǒng)重復(fù)性擾動,進一步提高控制精度.在IFT的計算過程中,引入輸入整形濾波器,在保證梯度下降法計算精度的同時簡化了計算過程.本文提出的算法在軌跡變化時仍能保證高控制精度,同時是一種數(shù)據(jù)驅(qū)動控制方法,可以直接應(yīng)用于不同工業(yè)系統(tǒng)而不依賴于系統(tǒng)的先驗信息.
控制系統(tǒng)框圖如圖1所示,其中:C是反饋控制器,Kff是參數(shù)化前饋控制器,Ky是輸入整形濾波器,KILC是迭代學(xué)習控制器,KIFT是系統(tǒng)前饋控制器.實際系統(tǒng)的系統(tǒng)模型P可以看作離散單輸入單輸出線性時不變系統(tǒng).系統(tǒng)傳遞函數(shù)可以寫作
其中B0(z),A0(z)∈R(F).此外,已知參考信號r是對預(yù)先規(guī)劃好的n階連續(xù)可導(dǎo)的軌跡以采樣時間Ts采樣得到的N個點的序列,ry是經(jīng)過輸入整形濾波器得到的整形參考信號,y是系統(tǒng)輸出,ey是整形參考信號ry與輸出y之間的誤差,uff為Kff輸出的前饋控制信號,ufb為反饋控制器C輸出的控制信號,uILC為迭代學(xué)習控制器離線輸出的前饋控制信號,uIFT為KIFT輸出的系統(tǒng)前饋控制信號.所有信號都為以采樣時間Ts進行采樣的n維離散序列.
圖1 控制結(jié)構(gòu)示意圖Fig.1 Control configuration
本文提出的控制方法在參數(shù)估計階段和迭代學(xué)習控制階段使用不同的控制結(jié)構(gòu).在系統(tǒng)控制框圖中,對虛線框表示的迭代調(diào)參前饋控制器Kff和輸入整形濾波器Ky通過基函數(shù)進行參數(shù)化,并通過最優(yōu)化迭代調(diào)參算法迭代估計收斂的最優(yōu)參數(shù)值.當?shù){(diào)參過程結(jié)束后,移除控制框圖中的虛線部分,并將最優(yōu)參數(shù)值輸入到系統(tǒng)前饋控制器KIFT中,此時的控制結(jié)構(gòu)是由前饋控制器和迭代學(xué)習控制器組合成的迭代學(xué)習控制結(jié)構(gòu).
如圖2所示,前饋控制信號uff可以由期望軌跡r和參數(shù)化前饋控制器Kff(θff)表示為
同時,整形參考信號ry可以由r和參數(shù)化輸入整形濾波器Ky(θy)表示為
其中Kff(θff)和Ky(θy)由定義1給出.
圖2 加入輸入整形濾波器的迭代前饋調(diào)參框圖Fig.2 Configuration of IFT with input shaping filter
定義1通過引入基函數(shù),參數(shù)化前饋控制器Kff(θff)和輸入整形濾波器Ky(θy)可表示為
其中:
多項式基函數(shù)表示為
各項基函數(shù)為
其中nff和ny為構(gòu)成Kff和Ky的基函數(shù)的個數(shù).通過基函數(shù),可以將輸入信號分解為各階導(dǎo)數(shù).因為所有的ψi(z)都是關(guān)于z的函數(shù),為了簡化表示,在后文中省略z.此外,為了簡化,還將Ψy和Ψff組合為一個向量Ψ,表示為
類似地,將參數(shù)向量θy和θff組合為一個向量θ,同上式表示為
通過引入輸入整形濾波器Ky,輸入整形后的參考信號ry可以表示為
根據(jù)式(2),可得到如下條件:
由式(3)可推得,ry與r在平穩(wěn)段相等,而在移動段有一段延遲,延遲長度等于Ky中基函數(shù)的個數(shù).因此,在平穩(wěn)段,e=r-y=ry-y=ey.若只需要在平穩(wěn)段的跟蹤誤差最小,控制性能的評判標準可表示為
最優(yōu)化的θff和θy需要滿足如下定義:
定義2前饋控制器和輸入整形濾波器參數(shù)向量是最優(yōu)的,如果在控制系統(tǒng)中引入使用相應(yīng)參數(shù)向量建立的前饋控制器和輸入整形濾波器測得的誤差信號滿足其中S=(I +PC)-1是系統(tǒng)敏感度函數(shù).
建立參數(shù)化前饋控制器Kff(θff)和輸入整形濾波器Ky(θy),通過最優(yōu)化迭代調(diào)參算法,算法收斂時可以得到滿足定義2的最優(yōu)參數(shù)向量θ*和相應(yīng)的的和此時Vy(θk)達到最小值.詳細算法將在下節(jié)中給出.
根據(jù)第2.2節(jié)建立的參數(shù)化前饋控制器和輸入整形濾波器,在圖2中,第k次迭代測得的信號和uk可以使用第k次迭代的參數(shù)向量θk擴展為參數(shù)化形式,表示如下:
式中 K(θk)=Kff(θk)+CKy(θk).
根據(jù)式(6)-(7),通過每次迭代的uk和yk,可以得到S和(SP)的估計值Sest和(SP)est:
假設(shè)1K-1(θk)是穩(wěn)定的.
注1如果K-1(θk)不穩(wěn)定,可以通過使用文獻[25]中的穩(wěn)定求逆算法計算得到K-1(θk).
將式(9)-(12)代入式(8)中,得到梯度向量的估計值:
其中ρ為學(xué)習增益.設(shè)置學(xué)習律為
根據(jù)以上計算,通過梯度下降法迭代求解最優(yōu)化問題(13)的步驟可以概括如下:
程序1迭代估計θk.
初始化:
1) 確定合適的學(xué)習增益ρ,0 <ρ <1,使算法在收斂速度和噪聲容忍度中取得平衡;
2) 選擇合適的基函數(shù)Ψ,用于建立參數(shù)化前饋控制器Kff,輸入整形濾波器Ky和參考信號r;
3) 確定合適的參數(shù)向量初始值θ0;
主程序:
1) 使用參數(shù)向量θk運行控制程序,獲得uk和yk;
3) 計算學(xué)習矩陣
4) 計算下一次迭代的θk+1=θk+Lkek;
5) k →k+1.返回步驟1.
注2通過程序1,根據(jù)梯度下降法的收斂性,可以得到一個收斂的參數(shù)向量θ,且這個參數(shù)向量滿足定義1,收斂性證明詳見文獻[24,26].將這個收斂的參數(shù)向量記作θ*.
注意到,誤差ey是整形參考信號ry與輸出信號y之間的差值,并不是跟蹤期望軌跡r得到的跟蹤誤差.因此,最小化的Vy(θk)并不意味著對整個期望軌跡的V(θk)的最小化.
由式(5),可以得出,誤差ey等于0的條件為
由式(14),可以得到如下結(jié)論:建立Kff和Ky是為了得到系統(tǒng)逆模型的估計值,使ey為0.如果建立的Kff和Ky使ey為0,此時就可以作為系統(tǒng)逆模型的估計值.這與文獻[22]中的迭代學(xué)習系統(tǒng)辨識概念類似.由梯度下降法的最優(yōu)性,當使用梯度下降法的程序1收斂時,可認為結(jié)果滿足定義2,即=0.此時由收斂時的組合成的可以作為系統(tǒng)逆模型的估計值.因此在控制結(jié)構(gòu)中引入KIFT=作為前饋控制器.
在Kff和Ky收斂為后,移除原本的前饋控制器Kff和輸入整形濾波器Ky,將KIFT=作為前饋控制器加入到系統(tǒng)中,補償期望軌跡引入的擾動.KIFT輸出的前饋控制量uIFT為
注3如果不穩(wěn)定,可以通過零相位跟蹤技術(shù)[31]得到穩(wěn)定的KIFT.
使用組合的KIFT=而不是直接使用作為前饋控制器,是因為單獨的Kff只能估計系統(tǒng)傳遞函數(shù)的分母部分,無法準確估計系統(tǒng)逆模型[24].而不直接將Kff參數(shù)化為分子和分母都為多項式的形式,即文獻[29]中的有理基函數(shù):
是因為對有理基函數(shù)參數(shù)化的Krat進行最優(yōu)化迭代運算時,算法復(fù)雜度高,且需要選擇合適的使算法收斂的權(quán)重矩陣,而這個矩陣是N×N維[29]或N×n維的[30],維度高導(dǎo)致待定參數(shù)過多,難以選擇使算法收斂的參數(shù)矩陣.而將Krat分解為本文的Kff和Ky,不需要設(shè)置高維權(quán)重參數(shù)矩陣進行,顯著降低了算法復(fù)雜度,同時保證算法效果.
對比ILC與IFT,發(fā)現(xiàn)IFT魯棒性很強,期望軌跡變化時控制效果依然穩(wěn)定,而ILC在變軌跡時存在嚴重的效果惡化現(xiàn)象;然而,ILC經(jīng)過幾次學(xué)習就可以達到比IFT更高的控制精度,這是由于ILC還去除了KIFT無法消除的其他重復(fù)性擾動.
僅使用第3.2節(jié)中獲得的最優(yōu)前饋控制器KIFT得到的控制精度較低.為了提高控制精度,引入迭代學(xué)習控制器KILC,采集上一個迭代周期的誤差ek-1,離線更新前饋控制量消除其他重復(fù)性擾動.在本文中,選用PD型迭代學(xué)習控制器,第k次迭代時KILC輸出的前饋控制量為
其中kp和kd為學(xué)習律的學(xué)習參數(shù).
根據(jù)上文所述的最優(yōu)化梯度下降迭代前饋調(diào)參方法,得到前饋控制器KIFT,并與PD型迭代學(xué)習控制結(jié)合,可以將完整算法流程圖表示如圖3.算法的具體步驟表示如程序2.
圖3 本文提出算法的流程圖Fig.3 Flow chart of proposed algorithm
程序2
1) 運行程序1,獲得收斂的最優(yōu)參數(shù)向量θ*;
2) 移除Kff和Ky;
3) 建立KIFT=
4) 在控制結(jié)構(gòu)中加入KIFT和KILC;
5) 根據(jù)新的控制結(jié)構(gòu)進行實驗,直到滿足停止條件.
注4由于算法只是預(yù)先消除了由期望軌跡引入的誤差,對迭代過程沒有影響,因此穩(wěn)定性與PD型迭代學(xué)習律的穩(wěn)定性相同.證明詳見文獻[14].
在本段中,對結(jié)合前饋調(diào)參與迭代學(xué)習的算法進行仿真,驗證算法的有效性.
仿真使用的離散傳遞函數(shù)模型如下:
其中采樣時間為Ts=1×10-4s.仿真中采用Kp=1.05,Kd=25的PD型反饋控制器,可以寫作
在系統(tǒng)中加入擾動μ,它的模型為μ=H?,其中:
?是標準差為1×10-7的零均值白噪聲.
仿真使用的傳遞函數(shù)的頻率響應(yīng)如圖4(a)中實線所示.根據(jù)圖中的頻率響應(yīng),可以看出系統(tǒng)主要動態(tài)特性集中在0.1~100 Hz的頻段,而Kff和Ky的引入是為了補償系統(tǒng)的主要動態(tài)特性.系統(tǒng)使用5階點到點的期望軌跡r.
根據(jù)對仿真模型的分析和第2.2 節(jié)中定義1,建立Kff(θff)和Ky(θy)如下:
對于參數(shù)向量θ,設(shè)置初始值為
設(shè)置學(xué)習增益ρ為0.9,使用以上的Kff和Ky,運行程序1.對運行結(jié)果作圖:圖4(a)為對第2次迭代的Kff和Ky分別作出頻率響應(yīng),與傳遞函數(shù)P進行對比的圖形;圖4(b)為θk隨迭代次數(shù)的變化;圖4(c)為第2次迭代的與P的對比圖.分析運行結(jié)果,可得出以下結(jié)論:
1) 通過圖4(a)看出,算法收斂時,單獨的Kff和Ky都不足以描述系統(tǒng)的動態(tài)特性;
2) 由圖4(b)可以看出,程序在第2次運行后θk變化很小,說明調(diào)參算法收斂速度快,且可以將第3次迭代的結(jié)果看作算法收斂時得到的最優(yōu)值.此外,還可以通過調(diào)整學(xué)習增益ρ來調(diào)整算法的收斂速度;
圖4(a) 仿真中算法收斂時Ky,Kff與P的伯德圖Fig.4(a) Simulation bode diagram of converged Ky and Kffcompared with P
圖4(b) θ隨迭代次數(shù)變化的仿真結(jié)果Fig.4(b) Simulation result of θ during iteration
圖4(c) 仿真中算法收斂時Ky(Kff)-1與P的伯德圖Fig.4(c) Simulation bode diagram of converged Ky(Kff)-1 compared with P
在本章中,筆者將提出的控制方法在實驗平臺上進行測試,驗證算法的有效性.
本文使用如圖5(a)所示的直線伺服控制平臺.實驗伺服系統(tǒng)由上位機PC機,POWER PMAC控制卡,AMAC驅(qū)動器和NEWPORT IDL225直線電機運動平臺組成.直線電機的位移由Heidenhain增量式編碼器測量,分辨率為20 μm,然后通過插值得到10 nm的分辨率.電機由數(shù)字伺服驅(qū)動器驅(qū)動.算法使用C語言在PowerPmac控制器中進行實現(xiàn).系統(tǒng)的采樣周期為Ts=0.0001 s.
使用掃頻法獲得實驗平臺的頻率響應(yīng)如圖5(b)所示.為了驗證算法,規(guī)劃了如圖5(c)的兩種5階點到點期望軌跡r1和r2,每個期望軌跡由N=2000個點組成.實驗中,使用線性PD型反饋控制器,表示為Cpd=其中:Kp=1.05,Kd=25.
圖5(a) 直線伺服控制實驗平臺Fig.5(a) Photograph of experimental platform
圖5(b) 實驗平臺的頻率響應(yīng)圖Fig.5(b) Frequency response of experimental platform
圖5(c) 實驗使用的兩種期望軌跡和速度、加速度示意圖Fig.5(c) Two different reference trajectorys with their velocity and acceleration
如前文所述,最優(yōu)化的Kff(θ*)和Ky(θ*)需要估計系統(tǒng)主要頻段的動態(tài)特性.根據(jù)圖5(b)中的頻率響應(yīng)圖,系統(tǒng)主要頻段為0.1~100 Hz.基函數(shù)選擇為
使用圖5(c)中的r1作為期望軌跡,在實驗平臺上運行程序1,測量每次迭代的θ和誤差并記錄.為了說明收斂情況,對建立Kff的4個參數(shù)作圖如圖6(a).可以看出,θ在第2次迭代后波動很小,可以認為參數(shù)向量在第2次迭代時收斂,算法收斂速度快,因此對程序2的運行時間影響不大.
為了驗證IFT的控制精度,記錄每次迭代的Vk,并作圖如圖6(b).可以發(fā)現(xiàn),第2次迭代之后,V 的波動很小,這也與仿真相符.通過IFT,軌跡跟蹤的誤差平方和V 減小了兩個數(shù)量級,說明IFT可以對期望軌跡引入的擾動進行一定的補償,提高控制精度.算法收斂時得到的平穩(wěn)段誤差信號如圖6(c)所示,其中1ct=10 nm.
圖6(a) 參數(shù)向量隨迭代次數(shù)的變化情況Fig.6(a) Result of θ during iteration
圖6(b) 迭代前饋調(diào)參得到的Vk隨迭代次數(shù)k的變化情況Fig.6(b) Vk achieved from IFT
圖6(c) 迭代前饋調(diào)參得到的平穩(wěn)段誤差信號Fig.6(c) Error signal during dwell period achieved from IFT
為了得到最優(yōu)前饋控制器KIFT,需要計算KIFT=并希望它描述系統(tǒng)主要頻段的動態(tài)特性.由第5.2節(jié)的實驗結(jié)果,使用第2次迭代得到的參數(shù)向量作為最優(yōu)參數(shù)向量θ*,建立KIFT=Kff(θ*)·(Ky(θ*))-1.將系統(tǒng)頻率響應(yīng)與KIFT的幅頻特性作比較,并同時作出Kff和Ky的幅頻特性,如圖7(a).圖中:灰實線為系統(tǒng)幅頻特性,黑實線為KIFT的幅頻特性,虛線為Ky,點線為Kff.從圖中可以看出,KIFT可以在主要頻段描述系統(tǒng)動態(tài)特性,而單獨的Kff(θ*)和Ky(θ*)都不足以描述系統(tǒng).因此選用KIFT作為系統(tǒng)前饋控制器是合適的.
圖7(b)顯示了僅加入最優(yōu)前饋控制器的算法與本文提出算法的V 隨迭代次數(shù)變化情況的對比,期望軌跡為r1.由圖中結(jié)果可以看出,僅使用KIFT作為前饋控制器的算法在第1 次迭代后,Vk由不加前饋時的2.5×10-8m2降低到了7.5×10-10m2,之后的10次迭代中Vk不再有顯著的下降;而使用本文提出的IFT與ILC相結(jié)合的算法,在第1次迭代后效果與僅使用KIFT時相同,但之后的10次迭代中Vk仍隨著迭代逐漸下降,在第10次迭代后Vk降低到3.4×10-11m2.可見期望軌跡不變時,本文提出的算法精度遠高于無學(xué)習的精度.
為了驗證算法在軌跡變化時的效果,在第5次迭代后將期望軌跡由r1變?yōu)閞2,對ILC和本文提出的IFTILC算法進行實驗,記錄Vk的變化情況如圖7(c).期望軌跡變化時,PD型迭代學(xué)習控制的Vk由1.8×10-10m2變?yōu)?.2×10-9m2,發(fā)生了嚴重的效果惡化,而使用本文提出的算法,在期望軌跡變化時,Vk為1.2×10-9m2,效果惡化得到減輕.可見,在期望軌跡發(fā)生變化時,僅使用PD型學(xué)習律的ILC的控制效果惡化十分嚴重,而本文提出的算法能減輕效果惡化,提高控制的魯棒性.
圖7(a) 實驗平臺頻率響應(yīng)與,和KIFT的伯德圖Fig.7(a) Frequency response of experimental platform,,and KIFT
圖7(b) 迭代前饋調(diào)參與本文算法的Vk的對比圖Fig.7(b) Comparison of Vk of IFT with proposed algorithm
圖7(c) 期望軌跡發(fā)生變化時迭代學(xué)習控制與本文算法的Vk的對比圖Fig.7(c) Comparison of Vk of ILC with proposed algorithm when reference signal changes
為了改善變軌跡控制任務(wù)中ILC的效果惡化問題,同時保證高控制精度,本文提出了一種結(jié)合輸入整形濾波器,迭代前饋調(diào)參與迭代學(xué)習控制的數(shù)據(jù)驅(qū)動控制算法.算法是數(shù)據(jù)驅(qū)動的,不需要已知模型信息,而是使用輸入輸出數(shù)據(jù),通過迭代前饋調(diào)參在算法運行過程中對模型進行估計.在迭代前饋調(diào)參過程中,使用基函數(shù)對控制器進行參數(shù)化,并使用梯度下降法進行參數(shù)優(yōu)化,從而獲得最優(yōu)前饋控制器;輸入整形濾波器的引入在保證模型估計精度的同時簡化了計算.最優(yōu)前饋控制器對期望軌跡引入誤差進行補償,減輕了軌跡變化帶來的效果惡化,而迭代學(xué)習控制的引入保證了控制精度.為了驗證算法的有效性,本文將提出的算法應(yīng)用到直線電機系統(tǒng)中,并與現(xiàn)有算法進行了對比,實驗結(jié)果表明本算法能夠更好的處理變軌跡的軌跡跟蹤問題.