董 哲,王 喆
(北方工業(yè)大學(xué) 電氣與控制工程學(xué)院,北京 100144)
隨著計(jì)算機(jī)網(wǎng)絡(luò)的廣泛應(yīng)用和不斷發(fā)展,控制系統(tǒng)的結(jié)構(gòu)也在發(fā)生變化。通常一個(gè)典型的控制系統(tǒng)包括傳感器、執(zhí)行器、被控對(duì)象和控制器等部分,控制系統(tǒng)的結(jié)構(gòu)變化充分體現(xiàn)在這幾部分上。傳統(tǒng)的模擬硬接線方式正逐步被各式的通信網(wǎng)絡(luò)所取代,控制系統(tǒng)的結(jié)構(gòu)從封閉的集中體系向開放的分布式體系演變發(fā)展。網(wǎng)絡(luò)化控制系統(tǒng)(NCS)的出現(xiàn)是這一趨勢(shì)的集中體現(xiàn),其一般指通過(guò)網(wǎng)絡(luò)形成閉環(huán)的反饋控制系統(tǒng),基本結(jié)構(gòu)如圖1所示。NCS與傳統(tǒng)的點(diǎn)對(duì)點(diǎn)結(jié)構(gòu)的系統(tǒng)相比,具有安裝與維護(hù)方便,系統(tǒng)靈活性強(qiáng)、高診斷能力,可以實(shí)現(xiàn)資源共享、遠(yuǎn)程操作與控制等優(yōu)點(diǎn)。
NCS有眾多優(yōu)點(diǎn)的同時(shí),也給控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)帶來(lái)了眾多新的問(wèn)題和挑戰(zhàn),主要表現(xiàn)在以下方面:①在網(wǎng)絡(luò)環(huán)境下,各節(jié)點(diǎn)共享信道且流量變化不規(guī)則,這必然會(huì)導(dǎo)致網(wǎng)絡(luò)誘導(dǎo)延時(shí),且延時(shí)大小具有隨機(jī)性和不確定性;②傳輸數(shù)據(jù)流經(jīng)眾多設(shè)備且路徑不位移,易導(dǎo)致數(shù)據(jù)包的亂序和丟包;③分布式的系統(tǒng)結(jié)構(gòu)使各個(gè)部分無(wú)法共享同一時(shí)鐘,帶來(lái)了網(wǎng)絡(luò)同步問(wèn)題;④當(dāng)系統(tǒng)分布在較大的地域范圍中,使用公共的網(wǎng)絡(luò)設(shè)施進(jìn)行通訊時(shí),如何保證信息安全準(zhǔn)確地到達(dá)成為不得不考慮的問(wèn)題。
圖1 NCS結(jié)構(gòu)圖
文獻(xiàn)[1]提出了針對(duì)前向通道延時(shí)的網(wǎng)絡(luò)化預(yù)測(cè)控制(Networked Predictive Control,NPC),其基本思想是在控制端對(duì)未來(lái)時(shí)刻的若干步輸出進(jìn)行預(yù)測(cè),進(jìn)而計(jì)算出未來(lái)若干步的控制量,并利用網(wǎng)絡(luò)包傳輸?shù)奶匦?,將此序列傳輸?shù)綀?zhí)行器端,在執(zhí)行器端設(shè)置足夠大小的緩沖區(qū),通過(guò)判斷延時(shí)時(shí)間提取出合適的控制量輸出給控制對(duì)象。在這之后,文獻(xiàn)[2]、[3]、[4]又針對(duì)前向通道和反饋通道都存在延時(shí)的情況,分別基于狀態(tài)空間和多項(xiàng)式模型給出了穩(wěn)定性判據(jù),并在實(shí)物對(duì)象上驗(yàn)證了NPC方法在網(wǎng)絡(luò)化控制中的可行性和有效性,證明它能夠很好地補(bǔ)償網(wǎng)絡(luò)延時(shí)帶來(lái)的影響。
但是,NPC方法也存在著弊端,即它要求更多的計(jì)算量,更多的網(wǎng)絡(luò)通訊量,更大的內(nèi)存空間,不僅帶來(lái)網(wǎng)絡(luò)資源的浪費(fèi),也更易造成數(shù)據(jù)包的擁塞,進(jìn)而帶來(lái)更大的網(wǎng)絡(luò)延時(shí)。而且,NPC對(duì)硬件的計(jì)算能力也提出了更高的要求,在一些快速采樣系統(tǒng)中難于實(shí)現(xiàn)。因此本文在對(duì)實(shí)際網(wǎng)絡(luò)對(duì)象測(cè)試和分析的基礎(chǔ)上,著力尋找一種減少計(jì)算量、降低通訊量的方法,使其更易于在工程中推廣和應(yīng)用。
本文的主要思想為:將前向通道與反饋通道都有延時(shí)的NCS通過(guò)等效變換轉(zhuǎn)化為僅前向通道有延時(shí)的NCS,將網(wǎng)絡(luò)延時(shí)建模為Markov鏈,在每個(gè)控制周期,測(cè)量τsc與τca,并通過(guò)Markov狀態(tài)轉(zhuǎn)移矩陣估算本時(shí)刻網(wǎng)絡(luò)誘導(dǎo)延時(shí)的最大值和最小值。將網(wǎng)絡(luò)誘導(dǎo)延時(shí)寫成兩部分之和,一部分恒定,一部分隨機(jī)變化,將恒定的網(wǎng)絡(luò)誘導(dǎo)延時(shí)與系統(tǒng)延時(shí)相加作為等效系統(tǒng)延時(shí),按時(shí)滯系統(tǒng)來(lái)處理。只對(duì)隨機(jī)變化的部分進(jìn)行預(yù)測(cè),得到的預(yù)測(cè)控制序列輸出給執(zhí)行器,執(zhí)行器在預(yù)測(cè)序列中選擇對(duì)當(dāng)前時(shí)刻的預(yù)測(cè)值輸出。該方法的最大優(yōu)點(diǎn)是大幅減少了在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)量,同時(shí)也減少了計(jì)算量。
在圖1所示的系統(tǒng)中,執(zhí)行器、傳感器、控制器為分布式結(jié)構(gòu),它們通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)通訊,傳感器到控制器、控制器到執(zhí)行器之間的延時(shí)大小分別為τsc、τca??紤]圖2所示的兩種結(jié)構(gòu),結(jié)構(gòu)1是前向通道和反饋通道都有延時(shí),結(jié)構(gòu)2僅前向通道有延時(shí),反饋通道無(wú)延時(shí)。兩種結(jié)構(gòu)具有等效的傳遞函數(shù),區(qū)別是:結(jié)構(gòu)1,在控制器C(z-1)處,延時(shí)dsc可得,結(jié)構(gòu)2,在控制器C(z-1)處,延時(shí)dsc不可得。因此,對(duì)于前向通道和反饋通道都有延時(shí)的NCS系統(tǒng),可以按照僅前向通道有延時(shí)的系統(tǒng)來(lái)設(shè)計(jì),在設(shè)計(jì)中可以充分利用已知的dsc信息。
圖2 網(wǎng)絡(luò)化控制系統(tǒng)的等效結(jié)構(gòu)圖
為了便于分析,對(duì)圖1所示的NCS做如下假設(shè):
(1)τsc與τca隨機(jī)有界,將其離散化為系統(tǒng)采樣時(shí)間的整數(shù)倍后分別以dsc、τca表示,其中dsc可測(cè),是已知量。dca有時(shí)變的上下界,分別記為dcamin(k)、dcamax(k)。
(2)傳感器、執(zhí)行器采用時(shí)間驅(qū)動(dòng),控制器采用事件驅(qū)動(dòng)。
(3)網(wǎng)絡(luò)延時(shí)為Markov過(guò)程,具有對(duì)稱性,dca=dac。
(4)數(shù)據(jù)傳輸過(guò)程中數(shù)據(jù)包帶有時(shí)間戳。
考慮SISO系統(tǒng)采用CARIMA模型描述:
由式(1)得
為了簡(jiǎn)單起見,常令C(z-1)=1。采用目標(biāo)函數(shù):
式中,N為預(yù)測(cè)時(shí)域長(zhǎng)度;λ為控制加權(quán)因子;yr(k+d(k)+j),j=1,2,……,N,為輸出參考軌跡。
為了得到y(tǒng)(k+d+j),引入如下Diophantine方程:
其中:
其中g(shù)0,g1,…,gN-1是被控對(duì)象的脈沖響應(yīng)系數(shù),為簡(jiǎn)化書寫,下面將多項(xiàng)式括號(hào)內(nèi)的z-1因子省略。由式(2)、(5)、(6)可得被控對(duì)象j步廣義預(yù)報(bào)方程:
取j=1,2,……,N,將式(7)寫成向量矩陣形式:
其中:
考慮式(3)給出的性能指標(biāo),寫成矩陣型式為:
注意到式(8)中E所代表的噪聲項(xiàng)全部來(lái)自將來(lái)時(shí)刻,采用期望算子,將式(8)代入式(9)中求偏導(dǎo),可求得使式(9)最小的控制率增量的向量為:
在NCS中,如圖3所示,k時(shí)刻,控制器可以得到的數(shù)據(jù)為系統(tǒng)輸出y(k),y(k-1),…,及對(duì)應(yīng)的輸入數(shù)據(jù)u(k-d(k)),u(k-d(k)-1),…;無(wú)法得到的數(shù)據(jù)為系統(tǒng)輸出y(k+1),…,y(k+d(k)),及其對(duì)應(yīng)的輸入數(shù)據(jù)u(k-d(k)+1),…,u(k);需要預(yù)測(cè)并輸出的數(shù)據(jù)為u(k+1),…,u(k+N)。
圖3 NCS傳感器、控制器、執(zhí)行器時(shí)序圖
在式(10)中,F(xiàn)、H、G為參數(shù)矩陣,只和系統(tǒng)模型參數(shù)相關(guān),Yr為輸出參考軌跡,Yb、Ub為k時(shí)刻可以得到的輸入輸出數(shù)據(jù),通過(guò)這些已知數(shù)據(jù)可以計(jì)算得到U。向量U中(k-d(k)+1|k),…,(k|k)為控制器對(duì)未知輸入信息的估計(jì)值,不需輸出給執(zhí)行器,(k+1|k),…,(k+N|k)為控制器對(duì)控制輸出的多步預(yù)測(cè)值,定義:
Kp為矩陣K的最后N行,則
ΔUp(k)即為控制器向執(zhí)行器傳送的預(yù)測(cè)控制序列。
NCS中的前向通道網(wǎng)絡(luò)誘導(dǎo)延時(shí)以隨機(jī)變量τca來(lái)表示,τca的概率分布由 Markov鏈中的狀態(tài)給出。假設(shè)生成隨機(jī)變量τca的Markov鏈有s個(gè)狀態(tài),即γk∈{1,2,…,s},且假設(shè) Markov鏈的一步狀態(tài)轉(zhuǎn)移矩陣為Q={qij},i,j∈{1,2,…,s}其中
Markov鏈的狀態(tài)概率為:
假設(shè)在k-n時(shí)刻,測(cè)得網(wǎng)絡(luò)誘導(dǎo)延時(shí)為dr(k-n),則k時(shí)刻,網(wǎng)絡(luò)誘導(dǎo)延時(shí)dr(k)的概率分布矢量為:
其中:
式中,m=rank(Q),即π(k)為矩陣Qn的第dr(k-n)行。
網(wǎng)絡(luò)誘導(dǎo)延時(shí)可以建模為Markov過(guò)程,而且其一步狀態(tài)轉(zhuǎn)移矩陣Q可以通過(guò)測(cè)試得到,且參數(shù)保持穩(wěn)定。當(dāng)Q確定后,即可由k-n時(shí)刻的網(wǎng)絡(luò)誘導(dǎo)延時(shí)dca(k-n),得出k時(shí)刻的網(wǎng)絡(luò)誘導(dǎo)延時(shí)dca(k)的概率分布,進(jìn)而得到dcamax與dcamin。
在式(17)中,設(shè)置了容錯(cuò)區(qū)間β,β可以取0.05,β的設(shè)置能夠使dcamin增大,預(yù)測(cè)維度減小,如當(dāng)dca(kn)=9,n=4時(shí),β取0時(shí)dcamin=2,β取0.05時(shí)dcamin=8,可以較大幅度減小數(shù)據(jù)傳輸量。但是,β的設(shè)置也會(huì)造成dca<dcamin的情況,設(shè)該數(shù)據(jù)包到達(dá)執(zhí)行器的時(shí)刻為k,此時(shí),包中的輸出預(yù)測(cè)序列不含有對(duì)k時(shí)刻的輸出值,在這種情況下,補(bǔ)償器將選擇使用以前時(shí)刻得到的輸出預(yù)測(cè)序列中對(duì)本時(shí)刻的預(yù)測(cè)值。這樣雖然帶來(lái)了一定的保守性,但由于該事件發(fā)生的概率很小,因此對(duì)控制性能影響甚微。
由2.1中假設(shè)(3),dca(k)可以使用dca(k)代替。為了得到dca(k),執(zhí)行期在每個(gè)采樣周期向控制器發(fā)送本地時(shí)間,控制器收到該數(shù)據(jù)的時(shí)刻為,控制器與執(zhí)行期已經(jīng)時(shí)鐘同步,因此時(shí)刻的延時(shí),再利用式(15)、(16)、(17)計(jì)算dcamax(k)和dcamin(k),進(jìn)而計(jì)算出預(yù)測(cè)控制序列維數(shù)N。
Markov矩陣可以通過(guò)辨識(shí)得到,本文使用的網(wǎng)絡(luò)具有較強(qiáng)的Markov特性,其參數(shù)經(jīng)過(guò)一定時(shí)間辨識(shí)趨于穩(wěn)定,將此時(shí)的參數(shù)保存于控制器中,形成一個(gè)參數(shù)表??刂破髟谏深A(yù)測(cè)序列前查表并運(yùn)算得到預(yù)測(cè)維數(shù)N(k)。
在2.1節(jié)中,控制器在每個(gè)采樣時(shí)刻k輸出一預(yù)測(cè)控制序列Up(k),該預(yù)測(cè)控制序列被封裝在一個(gè)數(shù)據(jù)包中,連同其時(shí)間戳k及參數(shù)d(k)一起發(fā)送至執(zhí)行器。在執(zhí)行器端,設(shè)置有一個(gè)延時(shí)補(bǔ)償器,它的功能是在已收到的數(shù)據(jù)包中找到含有對(duì)本時(shí)刻預(yù)測(cè)值的控制量。
假設(shè)在t時(shí)刻,執(zhí)行器從控制器端得到的預(yù)測(cè)序列共有m個(gè),分別為:
則網(wǎng)絡(luò)補(bǔ)償器為:
按照以上規(guī)則,網(wǎng)絡(luò)補(bǔ)償器將從所有預(yù)測(cè)控制序列中找到由最后得到的傳感器數(shù)據(jù)計(jì)算出的對(duì)本時(shí)刻的預(yù)測(cè)值。
基于上述分析,給出如下的網(wǎng)絡(luò)預(yù)測(cè)控制系統(tǒng)的實(shí)現(xiàn)步驟,系統(tǒng)結(jié)構(gòu)見圖4。
(1)建立被控系統(tǒng)的CARIMA模型。
(2)辨識(shí)出網(wǎng)絡(luò)的Markov狀態(tài)轉(zhuǎn)移矩陣。
(3)計(jì)算延時(shí)dac(k-n),并通過(guò) Markov狀態(tài)轉(zhuǎn)移矩陣計(jì)算dcamax與dcamin。
(4)計(jì)算系統(tǒng)等效時(shí)延d(k)和預(yù)測(cè)控制序列維度N。
(5)根據(jù)式(10)計(jì)算控制輸出序列Um(k)。
(6)執(zhí)行器端設(shè)置網(wǎng)絡(luò)延時(shí)補(bǔ)償器,由式(19)計(jì)算控制輸出。
圖4 網(wǎng)絡(luò)化預(yù)測(cè)控制系統(tǒng)結(jié)構(gòu)
針對(duì)上文所述的網(wǎng)絡(luò)化預(yù)測(cè)控制解決方案,在直流電機(jī)系統(tǒng)上進(jìn)行了實(shí)驗(yàn)。實(shí)驗(yàn)涉及的硬件包括兩臺(tái)Netcon控制器,直流電機(jī)和驅(qū)動(dòng)器。一臺(tái)控制器與直流電機(jī)直接相連,作為網(wǎng)絡(luò)傳感器和網(wǎng)絡(luò)執(zhí)行器使用,位于北方工業(yè)大學(xué),見圖5;另一臺(tái)控制器位于某研究所,它作為網(wǎng)絡(luò)化控制器使用。兩臺(tái)控制器基于無(wú)線網(wǎng)橋的IP網(wǎng)絡(luò)互相通訊。整個(gè)系統(tǒng)的結(jié)構(gòu)見圖6。
直流電機(jī)經(jīng)過(guò)辨識(shí)為一個(gè)含有純延時(shí)的一階系統(tǒng),其模型為:
實(shí)驗(yàn)網(wǎng)絡(luò)經(jīng)過(guò)較長(zhǎng)時(shí)間的測(cè)試,基于無(wú)線網(wǎng)絡(luò)環(huán)境,辨識(shí)出了21階的一步Markov狀態(tài)轉(zhuǎn)移矩陣,見式(21)。
Z1,Z2分別為5×7、7×7階全0矩陣。
圖5 NetCon網(wǎng)絡(luò)化控制器與直流電機(jī)系統(tǒng)
圖6 網(wǎng)絡(luò)化控制實(shí)驗(yàn)結(jié)構(gòu)圖
預(yù)測(cè)控制序列生成器的最大前向預(yù)測(cè)長(zhǎng)度為20步,實(shí)際的預(yù)測(cè)長(zhǎng)度的均值為7.31步。比文獻(xiàn)[4]中采用的NPC方法的傳輸量減少了63.45%。當(dāng)發(fā)送數(shù)據(jù)維數(shù)為10時(shí),控制程序運(yùn)行一個(gè)周期需要的時(shí)間為9 ms,當(dāng)發(fā)送數(shù)據(jù)維數(shù)為20時(shí),控制程序運(yùn)行一個(gè)周期需要的時(shí)間為17 ms。預(yù)測(cè)長(zhǎng)度的縮小使系統(tǒng)能夠運(yùn)行于更高的采樣率下,使NPC方法能夠應(yīng)用于更快速的系統(tǒng)控制中。電機(jī)的階躍響應(yīng)曲線如圖7所示,可以看出使用本文中介紹的方法對(duì)于補(bǔ)償隨機(jī)網(wǎng)絡(luò)延時(shí)具有較好的效果。
本文針對(duì)無(wú)線網(wǎng)絡(luò)化控制系統(tǒng)存在的延時(shí),使用網(wǎng)絡(luò)化預(yù)測(cè)控制(NPC)方法,對(duì)延時(shí)進(jìn)行補(bǔ)償。針對(duì)以前文獻(xiàn)中NPC方法需要在網(wǎng)絡(luò)中傳送大規(guī)模預(yù)測(cè)序列,占用網(wǎng)絡(luò)帶寬大,運(yùn)算速度慢的缺點(diǎn),對(duì)其進(jìn)行改進(jìn)。采用了維數(shù)自適應(yīng)的預(yù)測(cè)控制序列,基于Morkov過(guò)程對(duì)網(wǎng)絡(luò)建模,通過(guò)Markov狀態(tài)轉(zhuǎn)移矩陣預(yù)測(cè)網(wǎng)絡(luò)延時(shí)情況,確定預(yù)測(cè)維度,有效減少了控制器發(fā)包的大小,使其能夠運(yùn)用于快速系統(tǒng)的網(wǎng)絡(luò)化控制中。最后通過(guò)實(shí)驗(yàn)驗(yàn)證了該方法的可行性和有效性。
圖7 電機(jī)的階躍響應(yīng)曲線
[1] Liu G P,Mu J X,Rees D.Networked predictive control of system with random communication delay[C].In Proceedings of UKACC Control'04,2004.
[2] Liu G,Rees D,Chai S.Design and practical implementation of networked predictive control systems[C].In Proceedings of the 2005 Conference on Networking,Sensing and Control,2005:336-341.
[3] Hu W,Guoping Liu,Rees D.Event-Driven Networked Predictive Control[J].Industrial Electronics,IEEE Transactions on,2007,54(3):1603 1613.
[4] Dong Zhe,Liu Guoping,Tao Yuegang.Design and Implementation of Networked Predictive Control over Wireless IP Networks[C].Control Conference,2007,Chinese.
[5] Design Considerations for Software Only Implementations of the IEEE1588 Precision Time Protocol[Z].
[6] 王飛雪.IEEE1588時(shí)間同步協(xié)議在Linux下的實(shí)現(xiàn)[D].重慶:重慶郵電大學(xué)碩士論文,2010.
[7] 劉明哲,徐皚冬,趙偉.基于IEEE1588的時(shí)鐘同步算法軟件實(shí)現(xiàn)[J].儀器儀表學(xué)報(bào),2006,27(6):34-37.
[8] McLoone M,McCanny J V.A high performance FPGA implementation of DES Signal Processing Systems[J].SiPS 2000.IEEE Workshop on 11-13 Oct.2000:374 –383.