李昊哲, 王宏偉,2*
(1.新疆大學(xué)電氣工程學(xué)院, 烏魯木齊 830047; 2.大連理工大學(xué)控制科學(xué)與工程學(xué)院, 大連 116024)

分析上述研究可以發(fā)現(xiàn),采用一致性原理解決多智能體系統(tǒng)參數(shù)辨識問題的有關(guān)成果,大多是針對輸入和輸出數(shù)據(jù)可觀測,且存在獨立隨機噪聲干擾的系統(tǒng)展開的研究。而且上述研究中,不同智能體的數(shù)據(jù)傳輸方式大都采用時間驅(qū)動(數(shù)據(jù)經(jīng)過通信網(wǎng)絡(luò)以分組的方式被周期性的發(fā)送和接收)。由于信道容量和通訊資源的限制,時間驅(qū)動通信方案可能不適合一些實際應(yīng)用,如無線傳感器網(wǎng)絡(luò)要求較低的能量消耗。為解決時間驅(qū)動通信的不足,事件驅(qū)動通信方案在多智能體控制器的設(shè)計中已廣泛使用,文獻[13]提出基于事件驅(qū)動的自適應(yīng)控制方法,使多個智能體的控制效果達到一致?;谑录|發(fā)的分布式濾波問題在文獻[14-15]中進行了研究,狀態(tài)估計值或協(xié)方差信息以間歇通信的方式傳輸給其他智能體,實現(xiàn)狀態(tài)估計的一致性。文獻[16]提出基于事件觸發(fā)的遞歸分布式估計器,估計多智能體系統(tǒng)參數(shù)。但是,事件驅(qū)動的相關(guān)文獻對含有色噪聲的多智能體系統(tǒng)參數(shù)辨識研究上,還缺乏有效方法。主要困難為:①系統(tǒng)內(nèi)部含有未知的中間變量;②測量數(shù)據(jù)的有色噪聲干擾;③設(shè)計事件驅(qū)動通信機制,在保證系統(tǒng)參數(shù)估計精度的同時,降低通信網(wǎng)絡(luò)中數(shù)據(jù)傳輸頻率。
針對上述問題,研究Box-Jenkins模型描述的多智能體系統(tǒng)參數(shù)辨識。首先,從數(shù)據(jù)驅(qū)動建模的角度出發(fā),利用輔助模型思想解決各個智能體系統(tǒng)內(nèi)部不可測的中間變量和噪聲項。其次,通過構(gòu)造含有一致性策略的均方誤差指標,得到數(shù)據(jù)傳輸協(xié)議。 然后,引入多新息思想將誤差標量轉(zhuǎn)換為誤差向量提高辨識結(jié)果精度。同時,各個智能體間通過事件觸發(fā)條件決定當前參數(shù)估計值是否應(yīng)該傳輸分享給鄰居智能體。最終,每個智能體都可以得到全局系統(tǒng)的模型參數(shù)。
首先,定義多個智能體之間通信網(wǎng)絡(luò)拓撲圖的關(guān)系為G?(V,E,A),其中V={v1,v2,…,vn}中的元素稱為頂點,每個頂點表示一個智能體系統(tǒng),該有限集合中一共包含n個頂點,節(jié)點vi代表第i個智能體系統(tǒng)。拓撲圖中E?V×V表示邊集合,其中E={e1,e2,…,en},由無序頂點對{vi,vj}定義的邊ep屬于頂點集V。A=[aij]n×n是加權(quán)鄰接矩陣,其中aij>0或aij=0。若每個節(jié)點都沒有與自己相連的邊,則aij=0。如果任意兩個節(jié)點vi,vj∈V間存在一條路徑,定義為邊en=(vi,vj),這表明節(jié)點vi和節(jié)點vj可以進行數(shù)據(jù)分享,那么就稱多個智能體之間是聯(lián)通的。如果對任意vi,vj∈V都有(vi,vj)∈E?(vj,vi)∈E成立,則稱拓撲圖G是無向且連通。


圖1 Box-Jenkins多模型描述的多智能體系統(tǒng)辨識示意圖
智能體i的模型描述為

i=1,2,…,q
(1)
式(1)中:{yi(k)}和{ui(k)}分別為智能體i的輸入和輸出序列;{vi(k)}為零均值、不相關(guān)隨機白噪聲且不可觀測;Ai(z)、Bi(z)、Ci(z)和Di(z)均為已知階(na,nb,nc,nd)的多項式,表達式為
(2)
式(2)中:z-1是后移算子,z-1yi(k)=yi(k-1),記n=na+nb+nc+nd,定義未知中間變量xi(k)和不可觀測的噪聲項wi(k)為
(3)
(4)
每個智能體i的外界干擾噪聲wi(k)既是一個自回歸滑動平均過程,同時也是一個有色噪聲過程。
定義智能體i的參數(shù)向量θi和信息向量φi(k)為
(5)
(6)
由于中間變量xi(k)、wi(k)和白噪聲vi(k)是不可測的,所以信息向量φi(k)和ψi(k)未知。由式(3)和式(4)得
xi(k)=[1-Ai(z)]xi(k) +Bi(z)ui(k)=
(7)
wi(k)=[1-Ci(z)]wi(k) +Di(z)vi(k)=
(8)
將式(3)和式(4)代入式(1)中得到辨識模型為

(9)
由于智能體i的信息向量φi(k)中包含著未知的φi(k)和ψi(k),因此需采用輔助模型思想解決該問題。

-xai(k-na),ui(k-1),
ui(k-2), …,ui(k-nb)]T∈Rna+nb
(10)
輔助模型的輸出定義為
(11)
式(11)與式(3)具有相同的結(jié)構(gòu),同理xai(k)也可描述成向量形式,即
(12)

(13)



(14)

(15)
設(shè)參數(shù)向量θi在k時刻的估計值為
(16)

(17)
(18)
為解決時間驅(qū)動通信所造成的節(jié)點能量、帶寬和計算資源的浪費,下面介紹事件觸發(fā)通信機制。
假設(shè)通信網(wǎng)絡(luò)是理想的,即不考慮網(wǎng)絡(luò)丟包、網(wǎng)絡(luò)延時和計算延時。下面將智能體i的觸發(fā)事件記作Fi(k)定義為
(19)
對于智能體i,定義參數(shù)向量估計值的事件驅(qū)動誤差eθi和跟蹤誤差函數(shù)eθi(k)為
(20)
(21)
定義一個事件驅(qū)動函數(shù)Τi(k,eθi)為
Τi(k,eθi)=eθi(k)-gi(k)
(22)
式(22)中:gi(k)=1/(k+1)ρi,ρi>0為設(shè)計參數(shù),當智能體i的驅(qū)動函數(shù)滿足條件
Ti(k,eθi)>0
(23)
鄰居節(jié)點j就會向智能體i傳輸分享數(shù)據(jù)。

(24)
為產(chǎn)生事件驅(qū)動通信,需定義激活函數(shù)?i(k),即

(25)



(26)
式(26)中:γ為較小的常數(shù),γ∈(0,1);I為單位矩陣;Fi(k)是事件驅(qū)動激活函數(shù)矩陣,即
(27)
由式(26)作如下推導(dǎo),令

(28)

(29)
得到式(28)和式(29)的梯度為

(k-1)+[I-Fi(k-1)]×
(30)

(31)
使用梯度下降法得

(32)
式(32)中:μ∈(0,1],γ∈(0,1)。
智能體的誤差新息向量Ei(p,k)表示為
Ei(p,k)=[ei(k),ei(k-1),…,ei(k-p+1)]T∈Rp
(33)
式(33)中:p是正整數(shù),稱作新息向量長度。
(34)


(35)
下面定義智能體i的信息矩陣Φi(p,k)和疊加的輸出向量Yi(p,k)分別為

(36)
Yi(p,k)=[yi(k),yi(k-1),…,yi(k-p+1)]T∈Rp
(37)
通過整理,智能體i的新息向量Ei(p,k)重新表示為
(38)


(39)
將式(39)中的Ei(1,k)和Φi(1,k)中的“1”置換成p就可以得到新息長度為p的,基于事件驅(qū)動的分布式最小均方算法,即

(40)
本文中提出的辨識算法步驟如下。

Step2采集數(shù)據(jù)樣本,每個智能體i通過式(22)來判斷是否滿足事件驅(qū)動條件。若滿足事件驅(qū)動條件則執(zhí)行Step3。若沒有滿足則執(zhí)行Step 4。


Step5令k=k+1,如果k (41) 利用式(41),參數(shù)估計式(40)可以整理為 (42) 若存在時變參數(shù)C1、C2、C3,則存在 (43) 則式(42)展開為 (44) (45) 為了獲得最優(yōu)值,令 (46) 則式(45)可以寫為 V(k)=V(k-1)-μRiV(k-1)+μPV(k-1)= (I-μR+μP)V(k-1) (47) 為了保證算法收斂,矩陣I-μR+μP的所有特征值必須在單位圓內(nèi),那么學(xué)習(xí)率必須滿足 -I (48) 這時,學(xué)習(xí)率μ的選擇為 (49) 式(49)中:λmax(x)表示x的最大特征值。 不等式(49)給出了學(xué)習(xí)率的選取原則,在實際計算時,可以選取較小的學(xué)習(xí)率。 如果選取學(xué)習(xí)率小于不等式最右邊的值,辨識算法就能收斂。 考慮拓撲結(jié)構(gòu)已知的三個智能體按圖2所示的網(wǎng)絡(luò)結(jié)構(gòu)連接,鄰接矩陣A=[aij]n×n由式(50)給出。 圖2 網(wǎng)絡(luò)拓撲結(jié)構(gòu) (50) 其中,智能體i的模型結(jié)構(gòu)為 i=1,2,…,3 (51) 圖3 不同智能體的參數(shù)估計誤差 圖4給出在采樣范圍0~300內(nèi),不同智能體的跟蹤誤差eθi(k)和衰減閾值函數(shù)gi(k)的關(guān)系。跟蹤誤差eθi(k)的變化范圍有界,且變化范圍始終約束在衰減閾值函數(shù)gi(k)內(nèi)。當跟蹤誤差eθi(k)為零時,則智能體i的事件驅(qū)動通信產(chǎn)生,則智能體間存在信息傳輸。圖5給出在采樣范圍0~300內(nèi)的不同智能體所對應(yīng)的事件時刻。 圖4 智能體的閾值函數(shù)和跟蹤誤差關(guān)系 圖5 不同智能體事件時間間隔 定義事件驅(qū)動通信觸發(fā)率εi,反映不同智能體的通信情況,即 (52) 式(52)中:qi表示采樣過程中第i個智能體的事件觸發(fā)次數(shù);N表示系統(tǒng)采樣次數(shù)。最后在5 000次的采樣過程中,各個智能體的事件驅(qū)動通信觸發(fā)率分別是:ε1=17.5%、ε2=16.8%和ε3=21.82%。 為探究新息長度p對參數(shù)估計精度的影響,下面進行1 000次獨立實驗,以智能體1為例,統(tǒng)計參數(shù)估計誤差δ分布情況。 其中,p=10,20,30。獨立實驗統(tǒng)計結(jié)果如圖6所示。實驗結(jié)果表明,新息長度p的增加會使誤差分布范圍直方圖向左移動,這說明參數(shù)估計誤差δ1更接近于零。誤差范圍和平均值如表1所示。從表1以及圖6可以得出結(jié)論,系統(tǒng)參數(shù)估計誤差會隨著新息長度p的增加而減小。 圖6 不同新息長度下的獨立實驗統(tǒng)計結(jié)果 表1 誤差范圍和平均值 圖7 不同方法參數(shù)估計誤差的箱形圖 下面以3個永磁同步發(fā)電機協(xié)同辨識為例,進一步驗證所提方法的有效性。3個永磁同步發(fā)電機按圖2所示的拓撲通信結(jié)構(gòu)連接,進行參數(shù)辨識結(jié)果的傳輸分享,鄰接矩陣A=[aij]n×n如式(50)所示。由文獻[17-18]可知,永磁同步電機在d-q同步旋轉(zhuǎn)坐標系下的數(shù)學(xué)模型為 (53) 式(53)中:p為微分算子;ΨPM是永磁體磁鏈;ωr是轉(zhuǎn)子轉(zhuǎn)速;ωe=2πnωr是電角度;n是極對數(shù);Rs為定子電阻;ud、uq、id、iq、Ld和Ld分別是d軸和q軸對應(yīng)的電壓、電流和感抗。由于轉(zhuǎn)子的對稱結(jié)構(gòu),則Ld=Lq=L,因此,式(53)可重新整理為 (54) 下面,對式(54)進行離散化,若采樣時間T足夠小,可以得到離散方程為 (55) 一般為使控制算法的有效運行,需對參數(shù)Rs,L和ΨPM進行辨識,利用q軸電流分量,得到回歸模型為 j=1,2,…,3 (56) 圖8 電機定子電阻辨識 針對Box-Jenkins模型表示的多智能體系統(tǒng),提出一種基于事件觸發(fā)的最小均方算法,并討論了算法的收斂性。仿真結(jié)果驗證了該算法的有效性。從上述的仿真可以得出以下結(jié)論。 (1)對于單個智能體,受輸入信號頻率帶寬的限制,雖然可以激勵模型內(nèi)充分多的動力學(xué)參數(shù),但獲得的信息依然是局部的,所以會造成智能體間參數(shù)估計差異。 (2)由于異步通信協(xié)議的存在,使得各個智能體不僅擁有本地信息,而且還擁有鄰居信息,就可以減少各個智能體間參數(shù)估計差異。 (3)事件驅(qū)動的異步通信協(xié)議,能夠降低節(jié)點的數(shù)據(jù)傳輸頻率,節(jié)約帶寬和計算資源。而且,適當?shù)脑黾有孪㈤L度會減小系統(tǒng)參數(shù)估計誤差。 同時,實際上多智能體往往是非線性的,且采樣方式存在量化、多采樣率和非均勻采樣情況。數(shù)據(jù)在通信傳輸過程中還會遭遇網(wǎng)絡(luò)延時、數(shù)據(jù)丟包等問題。因此,這方面的后續(xù)研究是非常有意義。
3 算法性能分析





4 數(shù)值分析
4.1 數(shù)值仿真














4.2 永磁同步發(fā)電機參數(shù)協(xié)同辨識




5 結(jié)論