何智穎,陳自然
(1.重慶理工大學 機械檢測技術與裝備教育部工程研究中心, 重慶 400054;2.重慶理工大學 時柵傳感及先進檢測技術重慶市重點實驗室, 重慶 400054)
迭代學習控制算法由日本學者Uchiyama[1]和Arimoto等[2]于20世紀七八十年代提出后,已經發展成為工業控制領域執行重復性、周期性的無模型控制任務的有力工具[3]。因其具備無需精確的被控系統模型和無需過多的先驗信息的優勢,被廣泛應用于機器人及伺服控制[4-5]、特定軌跡跟蹤[6-7]以及交通運輸[8-9]等領域,在近半個世紀的發展過程中體現出其強大的生命力。
傳統的迭代學習控制是一種在重復跟蹤同一目標的誤差中學習,并基于此誤差對控制量進行修正,最后使被控系統的輸出趨近于設定的跟蹤目標的控制算法。傳統的迭代學習控制算法在嚴格可重復(即同一系統從同一初始狀態對同一目標進行跟蹤)工況下的可行性和收斂性得到了嚴格的數學證明[10]。但是,傳統迭代學習控制算法存在如下兩方面的弊端:第一是其要求每一個迭代周期嚴格可重復,即每一個周期內必須是同一系統對特定目標進行跟蹤,其他系統對同一目標跟蹤的信息不能用于修正當前系統的控制量,無論是系統的參數存在差異,還是初始狀態發生變化,抑或是跟蹤目標的時間尺度或幅值發生變化,在傳統迭代學習的架構下都需要重新學習以保證一定的控制性能[11];第二是收斂速率的問題,迭代學習控制算法在初始控制量的基礎上,需要經過多次迭代與修正才能達到滿意的控制效果。
而在工業控制領域,參數攝動[12]、跟蹤軌跡變化[13]等不可避免的內部或外部因素打破了傳統迭代學習控制算法所要求的嚴格可重復性。在工業規模不斷擴大、設備不斷增加、加工精度不斷提升的背景下,傳統迭代學習控制算法在效率和成本上的劣勢更加地凸顯出來[14]。例如,受自身部件精度和外界環境的影響,即使是執行同一任務具有相同結構的系統,在系統參數上也存在一定的差異。而傳統迭代學習控制算法對重復性的嚴苛要求使得這一組系統中每一個獨立的系統都需要獨立地進行迭代學習,大量重復的迭代過程造成了大量的人力、物力、財力浪費。
同結構近參數系統運行時會產生一定的共性信息,而這些在傳統迭代學習控制算法中通常被忽略的共性信息,卻成為迭代學習控制算法改進算法研究的切入點。例如,Chien[15]利用多個周期的平均誤差與平均控制量建立了迭代學習控制律,消除了變系統狀態對迭代學習控制過程的影響;Li等[16]基于多個周期中誤差的平均值提出了一種迭代平均算子,解決了變尺度工況下的迭代學習控制問題;He等[17]則是通過匹配與當前工況最接近的控制量進行迭代學習。上述算法利用“平均”“近似”等思想獲取了不同周期中的共性信息,解決了同一系統在非嚴格重復周期下的迭代學習控制問題,也為利用大量系統的共性信息研究同結構近參數系統的迭代學習控制算法提供了思路和啟示。
本文針對一組結構相同、參數相近的系統,提出協同迭代學習控制算法,從建立具有一定經驗信息的初始控制量和突破迭代學習控制算法對系統參數嚴格可重復性的角度出發,形成以相似系統共性為基礎的協同控制量及其協同迭代學習控制律,提升對一組同結構近參數系統的迭代學習控制效率。
圖1是同結構近參數系統協同迭代學習控制算法所對應的控制系統的典型框圖。具有相同結構(形式)和相近參數的單狀態單輸入單輸出系統如式(1)所示。

圖1 控制系統框圖

(1)
式中:k為離散時刻序號,對應的連續時刻為t=k/fs;j為迭代周期序號;xi(k,j)、ui(k,j)及yi(k,j)分別為第i個控制系統在第j個迭代周期的k時刻的狀態、控制量和輸出,其中,初始狀態xi(0,k)=xd(k);fa(·)、fc(·)為一個與狀態有關的有界函數,fb(·)、fd(·)為一個與控制量有關的函數,且aifa(x)≤Aix,bifb(x)≤Bix,cifc(x)≤Cix以及difd(x)≤Dix,ai、bi、ci及di分別為正態分布N(μa,σa)、N(μb,σb)、N(μc,σc)及N(μd,σd)的非負參數,且對?i有Ai∈(0,1)、Bi>0、Ci>0、Di>0。


(2)

1) 當j→∞時,在控制量ui(k,j)=udi(k)作用下,輸出yi(k)趨近于期望輸出yd(k),其中udi(k)為系統i的期望控制量。
人類在不斷發展以及認識新事物的過程中,不同的人在不同時段,在前人的基礎上反復學習、不斷總結,最終優化得到新事物的共性,形成一系列的共性認知。當形成固定的、確切的共性認知后,后人無需再重復前人的認知過程,而是在前人的共性認知的基礎上結合環境和自身需求建構自身的認知。受此啟發,提出一種協同迭代學習控制算法,其思想與人類認知新事物進行學習認知的過程如圖2所示。

圖2 協同迭代學習控制算法過程示意圖
具體的算法過程為:
1) 在不存在收斂且準確的協同控制量時,忽略系統之間的參數差異,建立協同迭代控制律,按固定時序進行迭代。即采用上一時序的控制誤差對本次控制過程的控制量進行修正,最終形成具有共性特征的、收斂的且準確的協同控制量。
2) 在存在收斂且準確的協同控制量時,考慮系統在參數、環境上存在的差異及控制精度要求,以協同控制量為初值,采用傳統迭代學習控制算法進行獨立迭代,使其滿足性能要求。
如圖2(b)所示,由于忽略了系統之間的參數差異,采用協同迭代控制律時,在同樣多的總迭代次數下,對控制量進行修正的次數會多于采用傳統迭代學習控制算法時的修正次數,即協同迭代學習控制律有提升算法效率的潛在優勢。而體現這一優勢的關鍵在于選擇準確且收斂的協同控制量及合理的協同迭代學習控制律。因此,需從理論角度對協同控制量的選取及其迭代學習控制律進行分析。


(3)


(4)


(5)
式中:is為同結構近參數系統的個數。
此時,選取協同控制量

(6)
此時,誤差期望E[δi(k)]最小。
若存在與誤差ei(k,j)相關的修正量L[ei(k,j)]以及傳統迭代學習控制律
ui(k,j)=ui(k,j-1)+L[ei(k,j)]
(7)
使控制量能夠收斂至udi(k),則在j→∞時,有un(k,j-1)→un(k,j),此時下式成立。
(8)
因此,設在對第j周期第in個系統進行迭代時,協同控制量的估計值為

(9)
根據圖2(b),考慮到當前協同控制量由上一時序系統的協同控制量進行迭代得到,則可以設協同迭代學習控制律為

(10)
式中:Lc為修正量。結合式(7)、式(9)可知,當協同迭代控制律中的修正量Lc為

(11)
圖3為迭代學習控制算法的流程框圖。

圖3 協同迭代學習控制算法流程框圖
具體算法流程如下:
1) 判斷是否已有此類同結構近參數系統的協同控制量;若存在,則無需進行協同迭代,直接按第3)步進行。

選取若干個具有相同的狀態空間方程(同結構)的系統進行算法的仿真分析,狀態空間方程為

(12)
其中,狀態方程和輸出方程均為非線性方程,用于仿真非線性系統情況。狀態方程中,函數fb[ui(k,j)]=(-0.06k/fs+0.2)ui(k,j)。為模擬輸出的隨機擾動,選取φ(k,j)∈[-0.000 1, 0.000 1]。各系統參數均服從正態分布。本文為模擬“近參數”工況,選取ai~N(0.8,0.000 8),bi~N(0.5,0.000 5),ci~N(0.9,0.000 9)以及di~N(0.3,0.000 3)。
若干個同結構近參數系統都具有相同跟蹤目標。選取的跟蹤目標(期望輸出)為
yd(k)=5sin(0.8πk/fs)+8
(13)
選取的傳統迭代學習控制律為P型迭代學習控制律,即修正量可以表示為
L[ei(k,j)]=Kpei(k,j)
(14)
由文獻[18]知,當Kp足夠小時,此時算法是收斂的。由式(11)知,對應的協同迭代學習修正量為

(15)


圖4 5個相似系統在不同迭代學習控制算法作用下,各迭代周期最大絕對誤差曲線
若定義效率比為

(16)
式中:NO和NC分別為采用傳統迭代學習控制算法和協同迭代學習控制算法時,所有同結構近參數系統最大絕對誤差小于限值elim所需的迭代總次數。


表1 無協同控制量情況下,取不同誤差限值時總迭代次數及效率比



圖5 不同初始量作用下,最大絕對誤差隨迭代周期的變化曲線


表2 以協同控制量為初始控制量時,取不同誤差限值時總迭代次數及效率比
在第500個迭代周期時,在相同的條件下,通過傳統迭代學習控制算法和協同迭代學習控制算法得到的輸出之差最大值僅為10-19量級,說明經足夠次迭代后,協同迭代學習控制算法對輸出的精度不會產生影響。
可見,在以協同控制量作為初始控制量進行同結構近參數系統的迭代時,由于無需重新進行由隨機初始控制量到協同控制量的迭代過程,因此具有更高的效率,同時也能保證一定的精度。
不同于傳統迭代學習控制算法中要求每一個周期內系統參數均應保持相同,本文中研究的協同迭代學習控制算法一方面充分利用了同結構近參數系統之間的共性信息,利用協同迭代學習控制律,生成協同控制量;另一方面,在生成協同控制量后,以其為初始控制量按傳統迭代學習控制律進行迭代,以縮短特定系統從開始迭代到達到誤差限值要求的時間。從協同迭代算法出發,在理論上對協同控制量的選取、協同迭代控制律的設計以及協同迭代學習控制算法開展了研究,并采用仿真的方法對算法進行了分析。結果表明,協同迭代學習控制算法在控制律合理的前提下,在保證控制精度的同時,可有效提升對一組同結構近參數系統進行迭代學習控制的效率。
本文中的研究僅僅是對協同迭代控制算法的初步研究,仍存在許多需要在未來研究中解決的問題。首先,本文中僅對單輸入、單輸出以及單狀態的同結構近參數的系統的協同迭代學習控制算法進行了討論,算法并未推廣到更為廣泛的多維輸入、多維輸出、多維狀態的情況,也沒有突破系統同結構的要求;其次,由于協同迭代學習控制算法中可能存在協同迭代學習控制律和傳統迭代學習律2種控制律,需研究限值Llim的形式與選取方式,實現快速、準確地控制律的切換,提升算法的效率;最后,為使式(8)成立,算法仍需按照固定的時序進行迭代,需進一步研究任意時序下的協同控制量的形式及其協同迭代學習控制律。