明 飛
(上海電氣電站工程公司)
自適應(yīng)逆控制的關(guān)鍵在于被控對(duì)象逆模型的建立,在實(shí)際中,絕大部分情況下無(wú)法得到被控對(duì)象精確的數(shù)學(xué)模型。 很多情況下,采用一些智能計(jì)算方法可得到被控對(duì)象的逆模型, 例如Volterra 基 函 數(shù) 網(wǎng) 絡(luò)[1,2]、神 經(jīng) 網(wǎng) 絡(luò)[3,4]及 模 糊 系統(tǒng)[5,6]等。
T-S模糊模型由一組if-then規(guī)則來(lái)建立,其后件部分是一線(xiàn)性等式,被廣泛應(yīng)用于非線(xiàn)性系統(tǒng)的建模與控制。T-S模糊模型應(yīng)用于自適應(yīng)逆控制器的基本思路為: 首先根據(jù)試驗(yàn)得到輸入-輸出訓(xùn)練數(shù)據(jù),然后在訓(xùn)練數(shù)據(jù)的基礎(chǔ)上進(jìn)行結(jié)構(gòu)辨識(shí)和參數(shù)辨識(shí)。 結(jié)構(gòu)辨識(shí)一般包括輸入變量的選擇、輸入變量空間的劃分等,輸入變量的選擇一般根據(jù)運(yùn)行經(jīng)驗(yàn)或者專(zhuān)家知識(shí)等進(jìn)行,輸入空間的劃分方法包括網(wǎng)格法、模糊數(shù)法及模糊聚類(lèi)算法等。 完成T-S模糊模型的結(jié)構(gòu)辨識(shí)后,在此基礎(chǔ)上進(jìn)行T-S模糊模型的參數(shù)辨識(shí),參數(shù)辨識(shí)包括前件參數(shù)辨識(shí)和后件參數(shù)辨識(shí)。
模糊C均值(Fuzzy C-means,F(xiàn)CM)聚類(lèi)算法是一種無(wú)監(jiān)督學(xué)習(xí)算法,常應(yīng)用于T-S模糊前件參數(shù)的辨識(shí)。 FCM聚類(lèi)算法不需要先驗(yàn)知識(shí),直接根據(jù)訓(xùn)練數(shù)據(jù)得到模糊系統(tǒng)的前件部分。 定義了聚類(lèi)的個(gè)數(shù)即對(duì)應(yīng)了模糊系統(tǒng)的規(guī)則數(shù),可避免模糊系統(tǒng)的規(guī)則爆炸問(wèn)題, 實(shí)施起來(lái)也較為簡(jiǎn)單。 后件參數(shù)可以通過(guò)最小二乘算法或者正交最小二乘算法得出,最小二乘算法是一種較常使用的函數(shù)擬合算法,易于實(shí)現(xiàn)。
筆者提出一種基于FCM聚類(lèi)算法的自適應(yīng)逆控制器設(shè)計(jì)算法,并通過(guò)兩個(gè)非線(xiàn)性對(duì)象的仿真試驗(yàn)驗(yàn)證筆者提出的控制器的控制效果。
T-S模糊模型的if-then規(guī)則描述為[7]:
這里,樣本表示為(xk,yk)(k=1,2,…,N)。 通過(guò)FCM聚類(lèi)算法,第i條規(guī)則的激發(fā)隸屬度即為數(shù)據(jù)通過(guò)FCM聚類(lèi)算法得到的隸屬度。T-S模糊模型的輸出可表示為:
前件參數(shù)通過(guò)FCM聚類(lèi)算法得到,步驟為:
a. 根據(jù)系統(tǒng)輸入-輸出數(shù)據(jù),生成N對(duì)以向量形式描述的訓(xùn)練數(shù)據(jù);
b. 對(duì)N對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行聚類(lèi)運(yùn)算, 聚類(lèi)算法結(jié)束以后得到c類(lèi)中心;
c. 每一組訓(xùn)練數(shù)據(jù), 根據(jù)中心得到c個(gè)隸屬度,分別對(duì)應(yīng)c條模糊規(guī)則的激發(fā)隸屬度。
在前件參數(shù)的基礎(chǔ)上,本項(xiàng)目T-S模糊模型的后件參數(shù)通過(guò)最小二乘(Least Squares,LS)算法計(jì)算。 LS算法通過(guò)最小化誤差的平方和尋找數(shù)據(jù)的最佳函數(shù)匹配。 利用最小二乘法可以簡(jiǎn)便地求得未知的數(shù)據(jù),并使得這些求得的數(shù)據(jù)與實(shí)際數(shù)據(jù)之間誤差的平方和最小。
根據(jù)LS算法,P的最小二乘估計(jì)為:
其中,X是根據(jù)T-S模糊模型前件參數(shù)和輸入變量組合得到的一組向量,Y為系統(tǒng)的輸出向量。
LS算法有個(gè)缺陷就是需要矩陣X是可逆的,這在實(shí)際過(guò)程中不一定能完全滿(mǎn)足,為了避免矩陣求逆,可以采用遞推最小二乘算法。 設(shè)X的第i個(gè)行向量為,Y的第i個(gè)分量為Yi,則遞推最小二乘算法為:
初始條件P0=0,S0=αI。 α一般取大于10 000的實(shí)數(shù),I是L×L的單位矩陣,L=(M+1)c,M是T-S模糊模型的輸入變量個(gè)數(shù),c是T-S模糊模型的規(guī)則數(shù)目。
自適應(yīng)逆控制器的基本思想是用被控對(duì)象的逆作為串聯(lián)控制器來(lái)對(duì)系統(tǒng)的動(dòng)態(tài)特性進(jìn)行開(kāi)環(huán)控制,從而避免了因反饋閉環(huán)而引起的不穩(wěn)定問(wèn)題,同時(shí)又能做到對(duì)系統(tǒng)動(dòng)態(tài)特性的控制與對(duì)象擾動(dòng)的控制分開(kāi)處理而互不影響。 與傳統(tǒng)的控制類(lèi)似,自適應(yīng)逆控制的最終目的是使得系統(tǒng)設(shè)定值和系統(tǒng)輸出值的偏差最小。
自適應(yīng)逆控制器的一般結(jié)構(gòu)如圖1所示[8]。
圖1 自適應(yīng)逆控制器的一般結(jié)構(gòu)
自適應(yīng)逆控制器的第1步是建立模糊逆模型。 本項(xiàng)目的模糊逆模型采用T-S模糊模型,其最終模型參數(shù)使得模糊逆模型的輸出和實(shí)際輸出的偏差最小,也即模糊逆模型盡可能地?cái)M合實(shí)際對(duì)象。 自適應(yīng)逆控制的輸入是設(shè)定值和對(duì)象前幾個(gè)時(shí)刻的輸入或者輸出,具體的輸入變量根據(jù)實(shí)際對(duì)象特性選擇。 控制器的參數(shù)通過(guò)設(shè)定值和系統(tǒng)輸出的偏差來(lái)調(diào)整, 調(diào)整算法基于最小均方(Least Mean Square,LMS)算法。 這里的模糊逆模型是通過(guò)前文描述的FCM聚類(lèi)算法建立的。
LMS是一種高效的濾波算法[9],是梯度下降法的一種改進(jìn),LMS算法無(wú)需輸入信號(hào)和期望信號(hào)的特征值, 計(jì)算簡(jiǎn)單, 在平穩(wěn)信號(hào)情況下收斂性好,在自適應(yīng)控制中應(yīng)用較為廣泛。 其計(jì)算式為:
其中,a為T(mén)-S模糊模型的后件參數(shù),自適應(yīng)逆控制器的參數(shù)調(diào)整即是調(diào)整a;μ為學(xué)習(xí)步長(zhǎng),此處采用固定步長(zhǎng);e(k)為當(dāng)前時(shí)刻設(shè)定值和系統(tǒng)輸出的誤差,e(k)=r-y(k);ω(x(k))為包含了當(dāng)前模型輸入和T-S模糊模型參數(shù)的一個(gè)表達(dá)式,即:
本例選擇如下離散對(duì)象:
該對(duì)象正模型的輸入為y(k)和u(k),輸出為y(k+1);逆模型的輸入為y(k)和y(k+1),逆模型的輸出為u(k)。 根據(jù)筆者提出的方法,利用FCM聚類(lèi)算法建立該對(duì)象的逆模型。 首先在[-1,1]區(qū)間內(nèi)產(chǎn)生均勻分布的隨機(jī)數(shù)作為系統(tǒng)輸入u(k),通過(guò)對(duì)象模型生成100組建立逆模型所需的輸入輸出對(duì)。 在實(shí)際中,訓(xùn)練數(shù)據(jù)可根據(jù)現(xiàn)場(chǎng)運(yùn)行數(shù)據(jù)得到。 本例所選擇的聚類(lèi)個(gè)數(shù)(模糊規(guī)則數(shù))為4。 設(shè)置系統(tǒng)的期望輸出r(k)=0.6sin(2kπ/250)+0.2sin(2kπ/250),圖2對(duì)比了筆者方法的輸出和期望輸出曲線(xiàn),圖3為誤差曲線(xiàn)。 從圖2可以看出,兩條曲線(xiàn)基本上是重合的,說(shuō)明系統(tǒng)輸出能夠很好地跟蹤設(shè)定值。 從圖3的誤差曲線(xiàn)也可以看出誤差很小,基本接近于零。
本例選擇如下離散對(duì)象:
圖2 筆者方法和期望輸出曲線(xiàn)
圖3 筆者方法和期望輸出誤差曲線(xiàn)
該 對(duì) 象 正 模 型 的 輸 入 為y(k)、y(k-1)和u(k),輸出為y(k+1);逆模型的輸入為y(k-1)、y(k)和y(k+1),輸出為u(k)。 根據(jù)筆者提出的算法,利用FCM聚類(lèi)算法建立該對(duì)象的逆模型。 首先在[-1,1]區(qū)間內(nèi)產(chǎn)生均勻分布的隨機(jī)數(shù)作為系統(tǒng)輸入u(k),通過(guò)對(duì)象模型生成100組建立逆模型所需的輸入輸出對(duì)。 本例選擇的聚類(lèi)個(gè)數(shù)(模糊規(guī)則數(shù))為4。 假設(shè)系統(tǒng)的期望輸出r(k)=0.6sin(2kπ/250)+0.2sin(2kπ/250),圖4對(duì)比了筆者方法的輸出和期望輸出曲線(xiàn),圖5為誤差曲線(xiàn)。從圖4可以看出,兩條曲線(xiàn)基本上是重合的。 從圖5的誤差曲線(xiàn)也可以看出, 系統(tǒng)輸出與設(shè)定值的誤差較小,基本接近于零。
圖4 筆者方法和期望輸出曲線(xiàn)
圖5 筆者方法和期望輸出誤差曲線(xiàn)
筆者提出了一種基于FCM聚類(lèi)算法的自適應(yīng)逆控制器設(shè)計(jì)算法。 首先利用FCM聚類(lèi)算法建立對(duì)象的逆模型,F(xiàn)CM聚類(lèi)算法建模簡(jiǎn)單, 辨識(shí)前件參數(shù)數(shù)量較少且模糊規(guī)則的激發(fā)隸屬度求解簡(jiǎn)單。 聚類(lèi)結(jié)果即是模糊規(guī)則的激發(fā)隸屬度,不需要分別求取每個(gè)輸入變量的隸屬度,簡(jiǎn)化了前件參數(shù)的辨識(shí)過(guò)程。 在逆模型的基礎(chǔ)上,設(shè)計(jì)自適應(yīng)逆控制器,與被控對(duì)象串聯(lián),使得系統(tǒng)的輸出能夠跟蹤設(shè)定值。 兩個(gè)非線(xiàn)性對(duì)象的仿真試驗(yàn)表明:筆者提出的自適應(yīng)逆控制器的系統(tǒng)輸出與設(shè)定值誤差較小,系統(tǒng)輸出基本上能夠立刻跟蹤上設(shè)定值,驗(yàn)證了筆者提出的算法具有較好的控制效果。