付 偉 唐 謙
(重慶工業(yè)職業(yè)技術(shù)學(xué)院人工智能與大數(shù)據(jù)學(xué)院 重慶 401120)
“中國(guó)制造2025”主攻方向是全面推進(jìn)智能制造[1],這必然離不開(kāi)信息化和工業(yè)化的深度融合。智能制造的條件和基礎(chǔ)是工業(yè)云,因此工業(yè)控制必將進(jìn)入云控制時(shí)代。當(dāng)前,云控制系統(tǒng)(Cloud control system,CCS)的研究和應(yīng)用還存在許多挑戰(zhàn)。將工業(yè)云接入生產(chǎn)過(guò)程,這對(duì)于網(wǎng)絡(luò)時(shí)延、故障、性能及計(jì)算力都提出了非常高的要求。CCS是網(wǎng)絡(luò)控制系統(tǒng)(Networked control system,NCS)的進(jìn)一步擴(kuò)展[2]。因此,對(duì)NCS時(shí)延、錯(cuò)序、性能及穩(wěn)定性的研究是云控制系統(tǒng)的基礎(chǔ)理論,也是構(gòu)建工業(yè)云平臺(tái)的核心,具有非常重要的學(xué)術(shù)價(jià)值和現(xiàn)實(shí)意義。
實(shí)際生產(chǎn)過(guò)程是復(fù)雜多變的,通過(guò)網(wǎng)絡(luò)連接的控制系統(tǒng)往往無(wú)法建模。隨著通信技術(shù)、物聯(lián)網(wǎng)技術(shù)的發(fā)展,系統(tǒng)運(yùn)行過(guò)程中的海量數(shù)據(jù)能夠獲取并存儲(chǔ)。從數(shù)據(jù)角度出發(fā),利用各種智能算法實(shí)現(xiàn)系統(tǒng)自主控制,是該研究領(lǐng)域的趨勢(shì),很多學(xué)者為此做了大量工作。Pang等[3]針對(duì)存在丟包和測(cè)量噪聲的網(wǎng)絡(luò)控制系統(tǒng),提出一種數(shù)據(jù)驅(qū)動(dòng)方法并設(shè)計(jì)相應(yīng)控制器。Dins等[4]提出了一種基于數(shù)據(jù)的預(yù)測(cè)混合驅(qū)動(dòng)控制方法,設(shè)計(jì)出基于數(shù)據(jù)的無(wú)模型自適應(yīng)控制器(PMFAC)以補(bǔ)償網(wǎng)絡(luò)問(wèn)題,并在理論上證明了系統(tǒng)的穩(wěn)定性。Siddiqui等[5]提出一種具有級(jí)聯(lián)結(jié)構(gòu)的時(shí)間刻度分離滑模控制和模型預(yù)測(cè)控制器,并采用子空間辨識(shí)實(shí)現(xiàn)飛行控制系統(tǒng)的閉環(huán)。目前,子空間方法已在各行業(yè)實(shí)際系統(tǒng)中得到了應(yīng)用[6-12],并取得了良好的效果。盡管子空間方法理論得到了很大發(fā)展和應(yīng)用,但在一些基本問(wèn)題上還沒(méi)有形成較系統(tǒng)和完備的理論,如系統(tǒng)穩(wěn)定性及估計(jì)誤差的收斂性等問(wèn)題。特別是針對(duì)NCS的子空間方法的研究還不多。文獻(xiàn)[13-14]將子空間方法應(yīng)用到NCS系統(tǒng)并設(shè)計(jì)相應(yīng)控制器,但由于假設(shè)系統(tǒng)輸入與噪聲不相關(guān),導(dǎo)致了估計(jì)的偏差性,使控制器不能滿(mǎn)足系統(tǒng)性能要求。為此,本文考慮NCS閉環(huán)運(yùn)行特點(diǎn),構(gòu)造閉環(huán)子空間方法以克服估計(jì)的有偏性,然后根據(jù)辨識(shí)的系統(tǒng)參數(shù)設(shè)計(jì)預(yù)測(cè)控制器主動(dòng)補(bǔ)償網(wǎng)絡(luò)時(shí)延的影響。同時(shí)考慮系統(tǒng)實(shí)時(shí)性,采用一種簡(jiǎn)單的參數(shù)矩陣更新方法替代復(fù)雜的矩陣LQ分解,從而減小最優(yōu)多步控制量的在線遞推計(jì)算量,最后通過(guò)仿真對(duì)控制算法進(jìn)行有效性驗(yàn)證。
NCS系統(tǒng)結(jié)構(gòu)如圖1所示。被控對(duì)象為離散對(duì)象,控制器至執(zhí)行器的前向通道和傳感器至控制器的反饋通道均有網(wǎng)絡(luò)連接。輸入輸出數(shù)據(jù)經(jīng)采集后以[u(k),y(k)]的形式打包,并經(jīng)網(wǎng)絡(luò)傳送至控制器,由控制器計(jì)算控制量。執(zhí)行器端設(shè)有延遲補(bǔ)償器,接收控制器發(fā)送的數(shù)據(jù)主動(dòng)補(bǔ)償時(shí)延的影響。
圖1 主動(dòng)補(bǔ)償型網(wǎng)絡(luò)控制系統(tǒng)結(jié)構(gòu)圖
為便于后續(xù)理論分析,對(duì)系統(tǒng)作以下假設(shè):
假設(shè)1傳感器周期性地對(duì)數(shù)據(jù)進(jìn)行采樣;在執(zhí)行器和控制器端,當(dāng)數(shù)據(jù)到達(dá)后立即動(dòng)作。在反饋網(wǎng)絡(luò)中,數(shù)據(jù)傳輸不存在時(shí)序錯(cuò)亂和丟包現(xiàn)象。
假設(shè)2帶有時(shí)間戳的數(shù)據(jù)包以單包形式傳送。控制器和延遲補(bǔ)償器均設(shè)有足夠容量的先進(jìn)先出(FIFO)緩存區(qū),用以緩存一定時(shí)序的數(shù)據(jù)包。
子空間方法也是一種數(shù)據(jù)驅(qū)動(dòng)方法,其利用輸入輸出數(shù)據(jù)辨識(shí)系統(tǒng)狀態(tài)空間矩陣??紤]如下離散線性時(shí)不變狀態(tài)空間形式:
(1)
式中:A、B和C為具有相應(yīng)維數(shù)的常矩陣;K為卡爾曼濾波增益;e(k)為噪聲序列;x(k)∈Rn為系統(tǒng)狀態(tài);系統(tǒng)輸出為y(k)∈Rm;作用于被控對(duì)象的控制量u(k)∈Rl。
對(duì)式(1)進(jìn)行迭代可得如下的輸入輸出方程[15]:
(2)
式中:Xp和Xf代表系統(tǒng)“過(guò)去”和“將來(lái)”的狀態(tài)矩陣;Up、Uf、Yp、Yf和Ef為Hankel矩陣。數(shù)據(jù)傳輸存在時(shí)延現(xiàn)象,控制器狀態(tài)空間模型需考慮時(shí)延因素:
(3)
式中:τ為傳輸時(shí)延;v(k)為白噪聲輸入;控制器輸入即為系統(tǒng)輸出y;控制器輸出即為系統(tǒng)輸入u(k);控制器狀態(tài)向量為xc(k+1)??紤]時(shí)延因素,將Bc和Dc參數(shù)改為受時(shí)延影響的變量形式,模型可改寫(xiě)為:
用下列暫態(tài)形式替代式(1)和式(3)的白噪聲項(xiàng)e(k)、v(k):
其值根據(jù)輸入輸出序列的更新通過(guò)如下公式進(jìn)行更新:
(4)
(5)
(6)
將式(1)的等式兩邊對(duì)W[k0k+1)作正交投影可得到:
(7)
Σ[k0k)=U[k0k)∨Θ[k0k)
(8)
式中:U[k0k)=span{u(s)|k0≤s 若定義Y[k0k)=span{y(s)|k0≤s U[k0k+s]=U[k0k)+U[kk+s] 由此,可以根據(jù)定理1構(gòu)造新的狀態(tài)空間。 (9) 由此,可通過(guò)閉環(huán)子空間方法對(duì)系統(tǒng)矩陣進(jìn)行辨識(shí)。首先構(gòu)造輸入輸出矩陣以及誤差向量,根據(jù)式(8)構(gòu)造擴(kuò)展子空間,將Y[kk+s]沿子空間Σ[kk+s]和W[k0k)分解成兩部分之和: Y[kk+s]=Y[kk+s]/Σ[kk+s]W[k0k)+ U[kk+s]/W[k0k]Σ[kk+s] (10) 式(10)中第二項(xiàng)可表示為: 而式(10)的第一項(xiàng)可作為ΓNX[kk+s]的近似,即: 然后通過(guò)矩陣SVD分解可得到矩陣ΓN,最后分別計(jì)算出系統(tǒng)矩陣A、B和C。 證明由式(2)可知: (11) 對(duì)式(11)進(jìn)行斜投影得: Y[kk+s]/Σ[kk+s]W[k0k)=ΓNX[kk+s]/Σ[kk+s]W[k0k)+ (12) 根據(jù)擴(kuò)展子空間Σ[kk+s]的定義及斜投影的性質(zhì),式(12)第二項(xiàng)為零,則有: Y[kk+s]/Σ[kk+s]W[k0k]=ΓNX[kk+s]/Σ[kk+s]W[k0k)= (13) 閉環(huán)子空間方法對(duì)系統(tǒng)矩陣{A,B,C}估計(jì)的具體算法步驟如下: ① 根據(jù)輸入輸出數(shù)據(jù)構(gòu)造矩陣U[k0k)、U[kk+s]、Y[k0k)、Y[kk+s]、W[k0k); ② 計(jì)算暫態(tài)形式的向量e(k)、v(k),從而得到Θ[k0k+s],通過(guò)式(7)構(gòu)造閉環(huán)子空間Σ[k0k+s]; ③ 計(jì)算斜投影: ΓNX[kk+s]=Y[k0k+s]/Σ[k0k+s]W[k0k+s); ④ 通過(guò)矩陣SVD分解求出ΓN; 式中:k時(shí)刻控制器收到的數(shù)據(jù)[u(k),y(k)]實(shí)際為k-τsc時(shí)刻傳感器端發(fā)送的數(shù)據(jù)[u(k-τsc),y(k-τsc)]。時(shí)延τsc可根據(jù)數(shù)據(jù)包時(shí)間戳計(jì)算并補(bǔ)償。若p+N-1個(gè)數(shù)據(jù)對(duì)[u(k),y(k)]為已知,對(duì)系統(tǒng)表達(dá)式迭代展開(kāi)可得到: (14) 式中:Zp稱(chēng)為過(guò)去輸入輸出數(shù)據(jù)矩陣。 (15) 式(15)可通過(guò)矩陣LQ分解進(jìn)行求解: (16) 假設(shè)預(yù)測(cè)長(zhǎng)度為f,令: 在k時(shí)刻可預(yù)測(cè)未來(lái)f步系統(tǒng)輸出[14]: (17) 式中: (18) 假定參考信號(hào)序列為: 設(shè)定如下目標(biāo)函數(shù): (19) 當(dāng)加入新數(shù)據(jù)向量并去掉舊數(shù)據(jù)向量后,構(gòu)造向量: znew=[uT(k-p+1)yT(k-p+1)uT(k-p+ 2)yT(k-p+2) …uT(k)yT(k)]T zold=[uT(k-p-N+2)yT(k-p-N+2)uT(k- p-N+3)yT(k-p-N+3) …uT(k-N+ 1)yT(k-N+1)]T ynew=y(k+1)yold=y(k-N+2) 向量znew、zold、ynew、yold滿(mǎn)足下列關(guān)系: (20) (21) 以一個(gè)單輸入單輸出的二階直流電機(jī)伺服系統(tǒng)為實(shí)驗(yàn)對(duì)象,對(duì)本文提出的控制方法進(jìn)行仿真驗(yàn)證。直流電機(jī)模型由如下傳遞函數(shù)來(lái)描述: 設(shè)采樣時(shí)間T=0.04 s,反饋時(shí)延和前向時(shí)延上界均為2T。首先將傳遞函數(shù)離散化為狀態(tài)空間模型: 電機(jī)轉(zhuǎn)速由系統(tǒng)輸出y表示,電機(jī)輸入電壓由系統(tǒng)輸入u表示。為辨識(shí)系統(tǒng)矩陣參數(shù),將圖2的偽隨機(jī)二值信號(hào)施加于被控對(duì)象,得到圖3所示的輸出信號(hào)。 圖2 偽隨機(jī)二值序列輸入信號(hào) 圖3 用于辨識(shí)的直流電機(jī)輸出響應(yīng) 將本文方法與文獻(xiàn)[13-14]的開(kāi)環(huán)子空間方法作比較。用開(kāi)環(huán)子空間方法時(shí),先不考慮加入反饋閉環(huán),通過(guò)輸入輸出數(shù)據(jù)構(gòu)建Hankel矩陣,再按相應(yīng)算式及矩陣QR分解方法,計(jì)算出Lw和Lu,然后根據(jù)Lw和Lu在線計(jì)算未來(lái)控制輸入序列。 (22) (23) 采用本文的閉環(huán)擴(kuò)展子空間方法對(duì)被控對(duì)象進(jìn)行辨識(shí),可得到系統(tǒng)矩陣的估計(jì)值為: 取p=10,f=5,N=100,Q=I,R=I,按本文算法主動(dòng)補(bǔ)償時(shí)延影響。圖4和圖5分別表示總時(shí)延小于等于2T、4T時(shí),兩種不同方法的階躍響應(yīng)情況。從性能上看,本文方法明顯優(yōu)于開(kāi)環(huán)子空間方法。 圖4 總時(shí)延小于等于2T時(shí)的閉環(huán)系統(tǒng)階躍響應(yīng) 圖5 總時(shí)延小于等于4T時(shí)的閉環(huán)系統(tǒng)階躍響應(yīng) 實(shí)際工程中NCS往往難以建模,本文從數(shù)據(jù)角度出發(fā)基于子空間方法設(shè)計(jì)主動(dòng)補(bǔ)償控制算法。由于NCS閉環(huán)反饋環(huán)節(jié)的存在,針對(duì)NCS的開(kāi)環(huán)子空間方法因有偏性變得難以適用。本文通過(guò)計(jì)算系統(tǒng)的輸入輸出誤差序列,構(gòu)建閉環(huán)擴(kuò)展子空間估計(jì)系統(tǒng)參數(shù),并給出估計(jì)的一致性分析。在此基礎(chǔ)上,設(shè)計(jì)預(yù)測(cè)控制算法主動(dòng)補(bǔ)償時(shí)延影響。為減小在線遞推計(jì)算量,提高實(shí)時(shí)性,采用一種簡(jiǎn)單的參數(shù)更新方法替代復(fù)雜的矩陣LQ分解。最后通過(guò)仿真驗(yàn)證了本文方法的有效性。
Y[k0k+s]=Y[k0k)+Y[kk+s]
Θ[k0k+s]=Θ[k0k)+Θ[kk+s]3 控制器設(shè)計(jì)
4 實(shí)驗(yàn)仿真與結(jié)果
5 結(jié) 語(yǔ)