何智穎,陳自然
(1.重慶理工大學(xué) 機(jī)械檢測(cè)技術(shù)與裝備教育部工程研究中心, 重慶 400054;2.重慶理工大學(xué) 時(shí)柵傳感及先進(jìn)檢測(cè)技術(shù)重慶市重點(diǎn)實(shí)驗(yàn)室, 重慶 400054)
迭代學(xué)習(xí)控制算法由日本學(xué)者Uchiyama[1]和Arimoto等[2]于20世紀(jì)七八十年代提出后,已經(jīng)發(fā)展成為工業(yè)控制領(lǐng)域執(zhí)行重復(fù)性、周期性的無模型控制任務(wù)的有力工具[3]。因其具備無需精確的被控系統(tǒng)模型和無需過多的先驗(yàn)信息的優(yōu)勢(shì),被廣泛應(yīng)用于機(jī)器人及伺服控制[4-5]、特定軌跡跟蹤[6-7]以及交通運(yùn)輸[8-9]等領(lǐng)域,在近半個(gè)世紀(jì)的發(fā)展過程中體現(xiàn)出其強(qiáng)大的生命力。
傳統(tǒng)的迭代學(xué)習(xí)控制是一種在重復(fù)跟蹤同一目標(biāo)的誤差中學(xué)習(xí),并基于此誤差對(duì)控制量進(jìn)行修正,最后使被控系統(tǒng)的輸出趨近于設(shè)定的跟蹤目標(biāo)的控制算法。傳統(tǒng)的迭代學(xué)習(xí)控制算法在嚴(yán)格可重復(fù)(即同一系統(tǒng)從同一初始狀態(tài)對(duì)同一目標(biāo)進(jìn)行跟蹤)工況下的可行性和收斂性得到了嚴(yán)格的數(shù)學(xué)證明[10]。但是,傳統(tǒng)迭代學(xué)習(xí)控制算法存在如下兩方面的弊端:第一是其要求每一個(gè)迭代周期嚴(yán)格可重復(fù),即每一個(gè)周期內(nèi)必須是同一系統(tǒng)對(duì)特定目標(biāo)進(jìn)行跟蹤,其他系統(tǒng)對(duì)同一目標(biāo)跟蹤的信息不能用于修正當(dāng)前系統(tǒng)的控制量,無論是系統(tǒng)的參數(shù)存在差異,還是初始狀態(tài)發(fā)生變化,抑或是跟蹤目標(biāo)的時(shí)間尺度或幅值發(fā)生變化,在傳統(tǒng)迭代學(xué)習(xí)的架構(gòu)下都需要重新學(xué)習(xí)以保證一定的控制性能[11];第二是收斂速率的問題,迭代學(xué)習(xí)控制算法在初始控制量的基礎(chǔ)上,需要經(jīng)過多次迭代與修正才能達(dá)到滿意的控制效果。
而在工業(yè)控制領(lǐng)域,參數(shù)攝動(dòng)[12]、跟蹤軌跡變化[13]等不可避免的內(nèi)部或外部因素打破了傳統(tǒng)迭代學(xué)習(xí)控制算法所要求的嚴(yán)格可重復(fù)性。在工業(yè)規(guī)模不斷擴(kuò)大、設(shè)備不斷增加、加工精度不斷提升的背景下,傳統(tǒng)迭代學(xué)習(xí)控制算法在效率和成本上的劣勢(shì)更加地凸顯出來[14]。例如,受自身部件精度和外界環(huán)境的影響,即使是執(zhí)行同一任務(wù)具有相同結(jié)構(gòu)的系統(tǒng),在系統(tǒng)參數(shù)上也存在一定的差異。而傳統(tǒng)迭代學(xué)習(xí)控制算法對(duì)重復(fù)性的嚴(yán)苛要求使得這一組系統(tǒng)中每一個(gè)獨(dú)立的系統(tǒng)都需要獨(dú)立地進(jìn)行迭代學(xué)習(xí),大量重復(fù)的迭代過程造成了大量的人力、物力、財(cái)力浪費(fèi)。
同結(jié)構(gòu)近參數(shù)系統(tǒng)運(yùn)行時(shí)會(huì)產(chǎn)生一定的共性信息,而這些在傳統(tǒng)迭代學(xué)習(xí)控制算法中通常被忽略的共性信息,卻成為迭代學(xué)習(xí)控制算法改進(jìn)算法研究的切入點(diǎn)。例如,Chien[15]利用多個(gè)周期的平均誤差與平均控制量建立了迭代學(xué)習(xí)控制律,消除了變系統(tǒng)狀態(tài)對(duì)迭代學(xué)習(xí)控制過程的影響;Li等[16]基于多個(gè)周期中誤差的平均值提出了一種迭代平均算子,解決了變尺度工況下的迭代學(xué)習(xí)控制問題;He等[17]則是通過匹配與當(dāng)前工況最接近的控制量進(jìn)行迭代學(xué)習(xí)。上述算法利用“平均”“近似”等思想獲取了不同周期中的共性信息,解決了同一系統(tǒng)在非嚴(yán)格重復(fù)周期下的迭代學(xué)習(xí)控制問題,也為利用大量系統(tǒng)的共性信息研究同結(jié)構(gòu)近參數(shù)系統(tǒng)的迭代學(xué)習(xí)控制算法提供了思路和啟示。
本文針對(duì)一組結(jié)構(gòu)相同、參數(shù)相近的系統(tǒng),提出協(xié)同迭代學(xué)習(xí)控制算法,從建立具有一定經(jīng)驗(yàn)信息的初始控制量和突破迭代學(xué)習(xí)控制算法對(duì)系統(tǒng)參數(shù)嚴(yán)格可重復(fù)性的角度出發(fā),形成以相似系統(tǒng)共性為基礎(chǔ)的協(xié)同控制量及其協(xié)同迭代學(xué)習(xí)控制律,提升對(duì)一組同結(jié)構(gòu)近參數(shù)系統(tǒng)的迭代學(xué)習(xí)控制效率。
圖1是同結(jié)構(gòu)近參數(shù)系統(tǒng)協(xié)同迭代學(xué)習(xí)控制算法所對(duì)應(yīng)的控制系統(tǒng)的典型框圖。具有相同結(jié)構(gòu)(形式)和相近參數(shù)的單狀態(tài)單輸入單輸出系統(tǒng)如式(1)所示。
圖1 控制系統(tǒng)框圖
(1)
式中:k為離散時(shí)刻序號(hào),對(duì)應(yīng)的連續(xù)時(shí)刻為t=k/fs;j為迭代周期序號(hào);xi(k,j)、ui(k,j)及yi(k,j)分別為第i個(gè)控制系統(tǒng)在第j個(gè)迭代周期的k時(shí)刻的狀態(tài)、控制量和輸出,其中,初始狀態(tài)xi(0,k)=xd(k);fa(·)、fc(·)為一個(gè)與狀態(tài)有關(guān)的有界函數(shù),fb(·)、fd(·)為一個(gè)與控制量有關(guān)的函數(shù),且aifa(x)≤Aix,bifb(x)≤Bix,cifc(x)≤Cix以及difd(x)≤Dix,ai、bi、ci及di分別為正態(tài)分布N(μa,σa)、N(μb,σb)、N(μc,σc)及N(μd,σd)的非負(fù)參數(shù),且對(duì)?i有Ai∈(0,1)、Bi>0、Ci>0、Di>0。
(2)
1) 當(dāng)j→∞時(shí),在控制量ui(k,j)=udi(k)作用下,輸出yi(k)趨近于期望輸出yd(k),其中udi(k)為系統(tǒng)i的期望控制量。
人類在不斷發(fā)展以及認(rèn)識(shí)新事物的過程中,不同的人在不同時(shí)段,在前人的基礎(chǔ)上反復(fù)學(xué)習(xí)、不斷總結(jié),最終優(yōu)化得到新事物的共性,形成一系列的共性認(rèn)知。當(dāng)形成固定的、確切的共性認(rèn)知后,后人無需再重復(fù)前人的認(rèn)知過程,而是在前人的共性認(rèn)知的基礎(chǔ)上結(jié)合環(huán)境和自身需求建構(gòu)自身的認(rèn)知。受此啟發(fā),提出一種協(xié)同迭代學(xué)習(xí)控制算法,其思想與人類認(rèn)知新事物進(jìn)行學(xué)習(xí)認(rèn)知的過程如圖2所示。
圖2 協(xié)同迭代學(xué)習(xí)控制算法過程示意圖
具體的算法過程為:
1) 在不存在收斂且準(zhǔn)確的協(xié)同控制量時(shí),忽略系統(tǒng)之間的參數(shù)差異,建立協(xié)同迭代控制律,按固定時(shí)序進(jìn)行迭代。即采用上一時(shí)序的控制誤差對(duì)本次控制過程的控制量進(jìn)行修正,最終形成具有共性特征的、收斂的且準(zhǔn)確的協(xié)同控制量。
2) 在存在收斂且準(zhǔn)確的協(xié)同控制量時(shí),考慮系統(tǒng)在參數(shù)、環(huán)境上存在的差異及控制精度要求,以協(xié)同控制量為初值,采用傳統(tǒng)迭代學(xué)習(xí)控制算法進(jìn)行獨(dú)立迭代,使其滿足性能要求。
如圖2(b)所示,由于忽略了系統(tǒng)之間的參數(shù)差異,采用協(xié)同迭代控制律時(shí),在同樣多的總迭代次數(shù)下,對(duì)控制量進(jìn)行修正的次數(shù)會(huì)多于采用傳統(tǒng)迭代學(xué)習(xí)控制算法時(shí)的修正次數(shù),即協(xié)同迭代學(xué)習(xí)控制律有提升算法效率的潛在優(yōu)勢(shì)。而體現(xiàn)這一優(yōu)勢(shì)的關(guān)鍵在于選擇準(zhǔn)確且收斂的協(xié)同控制量及合理的協(xié)同迭代學(xué)習(xí)控制律。因此,需從理論角度對(duì)協(xié)同控制量的選取及其迭代學(xué)習(xí)控制律進(jìn)行分析。
(3)
(4)
(5)
式中:is為同結(jié)構(gòu)近參數(shù)系統(tǒng)的個(gè)數(shù)。
此時(shí),選取協(xié)同控制量
(6)
此時(shí),誤差期望E[δi(k)]最小。
若存在與誤差ei(k,j)相關(guān)的修正量L[ei(k,j)]以及傳統(tǒng)迭代學(xué)習(xí)控制律
ui(k,j)=ui(k,j-1)+L[ei(k,j)]
(7)
使控制量能夠收斂至udi(k),則在j→∞時(shí),有un(k,j-1)→un(k,j),此時(shí)下式成立。
(8)
因此,設(shè)在對(duì)第j周期第in個(gè)系統(tǒng)進(jìn)行迭代時(shí),協(xié)同控制量的估計(jì)值為
(9)
根據(jù)圖2(b),考慮到當(dāng)前協(xié)同控制量由上一時(shí)序系統(tǒng)的協(xié)同控制量進(jìn)行迭代得到,則可以設(shè)協(xié)同迭代學(xué)習(xí)控制律為
(10)
式中:Lc為修正量。結(jié)合式(7)、式(9)可知,當(dāng)協(xié)同迭代控制律中的修正量Lc為
(11)
圖3為迭代學(xué)習(xí)控制算法的流程框圖。
圖3 協(xié)同迭代學(xué)習(xí)控制算法流程框圖
具體算法流程如下:
1) 判斷是否已有此類同結(jié)構(gòu)近參數(shù)系統(tǒng)的協(xié)同控制量;若存在,則無需進(jìn)行協(xié)同迭代,直接按第3)步進(jìn)行。
選取若干個(gè)具有相同的狀態(tài)空間方程(同結(jié)構(gòu))的系統(tǒng)進(jìn)行算法的仿真分析,狀態(tài)空間方程為
(12)
其中,狀態(tài)方程和輸出方程均為非線性方程,用于仿真非線性系統(tǒng)情況。狀態(tài)方程中,函數(shù)fb[ui(k,j)]=(-0.06k/fs+0.2)ui(k,j)。為模擬輸出的隨機(jī)擾動(dòng),選取φ(k,j)∈[-0.000 1, 0.000 1]。各系統(tǒng)參數(shù)均服從正態(tài)分布。本文為模擬“近參數(shù)”工況,選取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)。
若干個(gè)同結(jié)構(gòu)近參數(shù)系統(tǒng)都具有相同跟蹤目標(biāo)。選取的跟蹤目標(biāo)(期望輸出)為
yd(k)=5sin(0.8πk/fs)+8
(13)
選取的傳統(tǒng)迭代學(xué)習(xí)控制律為P型迭代學(xué)習(xí)控制律,即修正量可以表示為
L[ei(k,j)]=Kpei(k,j)
(14)
由文獻(xiàn)[18]知,當(dāng)Kp足夠小時(shí),此時(shí)算法是收斂的。由式(11)知,對(duì)應(yīng)的協(xié)同迭代學(xué)習(xí)修正量為
(15)
圖4 5個(gè)相似系統(tǒng)在不同迭代學(xué)習(xí)控制算法作用下,各迭代周期最大絕對(duì)誤差曲線
若定義效率比為
(16)
式中:NO和NC分別為采用傳統(tǒng)迭代學(xué)習(xí)控制算法和協(xié)同迭代學(xué)習(xí)控制算法時(shí),所有同結(jié)構(gòu)近參數(shù)系統(tǒng)最大絕對(duì)誤差小于限值elim所需的迭代總次數(shù)。
表1 無協(xié)同控制量情況下,取不同誤差限值時(shí)總迭代次數(shù)及效率比
圖5 不同初始量作用下,最大絕對(duì)誤差隨迭代周期的變化曲線
表2 以協(xié)同控制量為初始控制量時(shí),取不同誤差限值時(shí)總迭代次數(shù)及效率比
在第500個(gè)迭代周期時(shí),在相同的條件下,通過傳統(tǒng)迭代學(xué)習(xí)控制算法和協(xié)同迭代學(xué)習(xí)控制算法得到的輸出之差最大值僅為10-19量級(jí),說明經(jīng)足夠次迭代后,協(xié)同迭代學(xué)習(xí)控制算法對(duì)輸出的精度不會(huì)產(chǎn)生影響。
可見,在以協(xié)同控制量作為初始控制量進(jìn)行同結(jié)構(gòu)近參數(shù)系統(tǒng)的迭代時(shí),由于無需重新進(jìn)行由隨機(jī)初始控制量到協(xié)同控制量的迭代過程,因此具有更高的效率,同時(shí)也能保證一定的精度。
不同于傳統(tǒng)迭代學(xué)習(xí)控制算法中要求每一個(gè)周期內(nèi)系統(tǒng)參數(shù)均應(yīng)保持相同,本文中研究的協(xié)同迭代學(xué)習(xí)控制算法一方面充分利用了同結(jié)構(gòu)近參數(shù)系統(tǒng)之間的共性信息,利用協(xié)同迭代學(xué)習(xí)控制律,生成協(xié)同控制量;另一方面,在生成協(xié)同控制量后,以其為初始控制量按傳統(tǒng)迭代學(xué)習(xí)控制律進(jìn)行迭代,以縮短特定系統(tǒng)從開始迭代到達(dá)到誤差限值要求的時(shí)間。從協(xié)同迭代算法出發(fā),在理論上對(duì)協(xié)同控制量的選取、協(xié)同迭代控制律的設(shè)計(jì)以及協(xié)同迭代學(xué)習(xí)控制算法開展了研究,并采用仿真的方法對(duì)算法進(jìn)行了分析。結(jié)果表明,協(xié)同迭代學(xué)習(xí)控制算法在控制律合理的前提下,在保證控制精度的同時(shí),可有效提升對(duì)一組同結(jié)構(gòu)近參數(shù)系統(tǒng)進(jìn)行迭代學(xué)習(xí)控制的效率。
本文中的研究僅僅是對(duì)協(xié)同迭代控制算法的初步研究,仍存在許多需要在未來研究中解決的問題。首先,本文中僅對(duì)單輸入、單輸出以及單狀態(tài)的同結(jié)構(gòu)近參數(shù)的系統(tǒng)的協(xié)同迭代學(xué)習(xí)控制算法進(jìn)行了討論,算法并未推廣到更為廣泛的多維輸入、多維輸出、多維狀態(tài)的情況,也沒有突破系統(tǒng)同結(jié)構(gòu)的要求;其次,由于協(xié)同迭代學(xué)習(xí)控制算法中可能存在協(xié)同迭代學(xué)習(xí)控制律和傳統(tǒng)迭代學(xué)習(xí)律2種控制律,需研究限值Llim的形式與選取方式,實(shí)現(xiàn)快速、準(zhǔn)確地控制律的切換,提升算法的效率;最后,為使式(8)成立,算法仍需按照固定的時(shí)序進(jìn)行迭代,需進(jìn)一步研究任意時(shí)序下的協(xié)同控制量的形式及其協(xié)同迭代學(xué)習(xí)控制律。