付興建,于士賢
(北京信息科技大學(xué) 自動(dòng)化學(xué)院,北京 100192)
隨著現(xiàn)代控制系統(tǒng)規(guī)模的不斷擴(kuò)大,系統(tǒng)的機(jī)械復(fù)雜度和環(huán)境復(fù)雜度越來越高,整個(gè)系統(tǒng)往往呈現(xiàn)出復(fù)雜的非線性和不確定性。不確定性的存在使得傳統(tǒng)控制理論很難或者無法設(shè)計(jì)出滿足性能要求的控制系統(tǒng)。近些年來,很多學(xué)者針對(duì)不確定系統(tǒng)設(shè)計(jì)了各種各樣的控制系統(tǒng)[1-4],并取得了較好的效果。
滑??刂频幕驹硎歉鶕?jù)系統(tǒng)當(dāng)前的狀態(tài)有目的地改變系統(tǒng)的“結(jié)構(gòu)”,使系統(tǒng)按照預(yù)定的“滑動(dòng)模態(tài)”的狀態(tài)軌跡運(yùn)動(dòng),故稱滑??刂剖且环N變結(jié)構(gòu)控制。由于滑??刂凭哂小安蛔冃浴保?dāng)系統(tǒng)處于滑動(dòng)模態(tài)運(yùn)動(dòng)狀態(tài)時(shí),系統(tǒng)動(dòng)力學(xué)行為完全由設(shè)計(jì)的“滑動(dòng)模態(tài)”決定,而與系統(tǒng)內(nèi)部參數(shù)的不確定性和外部擾動(dòng)無關(guān),此時(shí)系統(tǒng)具有完全魯棒性,使其在不確定系統(tǒng)的控制中得到廣泛應(yīng)用[5-7],并取得了較好的效果。但是滑??刂拼嬖谝粋€(gè)較為嚴(yán)重的缺點(diǎn),就是當(dāng)系統(tǒng)狀態(tài)軌跡到達(dá)滑模面后,難以嚴(yán)格地沿著滑模面向平衡點(diǎn)移動(dòng),而是會(huì)在滑模面兩側(cè)來回穿越,即發(fā)生抖振。一方面,抖振的存在會(huì)很容易激發(fā)系統(tǒng)的未建模特性,從而使控制性能下降甚至導(dǎo)致系統(tǒng)發(fā)散;另一方面,抖振的存在對(duì)于控制系統(tǒng)的硬件也具有一定的損傷,導(dǎo)致控制系統(tǒng)的壽命大大縮短。對(duì)此,文獻(xiàn)[8]利用BP神經(jīng)網(wǎng)絡(luò)的輸出來調(diào)整離散指數(shù)趨近律中的到達(dá)速度常數(shù)和趨近速度指數(shù);文獻(xiàn)[9]針對(duì)板球系統(tǒng),設(shè)計(jì)了一種基于蟻群的直接自適應(yīng)模糊滑??刂破?;文獻(xiàn)[10]針對(duì)磁軸承系統(tǒng),設(shè)計(jì)了一種自適應(yīng)滑??刂破?;文獻(xiàn)[11]針對(duì)一類不確定系統(tǒng),設(shè)計(jì)了一種將CMAC與滑??刂葡嘟Y(jié)合的基于自組織小波CMAC的不確定非線性系統(tǒng)魯棒自適應(yīng)終端滑??刂?。
本文針對(duì)一類不確定系統(tǒng)的跟蹤控制問題,設(shè)計(jì)了一種將GBF-CMAC和滑??刂葡嘟Y(jié)合的控制系統(tǒng)。利用符號(hào)函數(shù)和分層結(jié)構(gòu)減少了神經(jīng)網(wǎng)絡(luò)所需存儲(chǔ)器的數(shù)量,進(jìn)一步提出了一種神經(jīng)網(wǎng)絡(luò)參數(shù)的自適應(yīng)學(xué)習(xí)律。并將設(shè)計(jì)的控制器用于含有不確定性和欠驅(qū)動(dòng)結(jié)構(gòu)的高階柔性直線系統(tǒng)的跟蹤控制。
CMAC本質(zhì)是一種基于表格查詢技術(shù)的[12],局部連接的類感知器型聯(lián)想記憶神經(jīng)網(wǎng)絡(luò)。由于CMAC具有局部連接、收斂速度快和逼近精度高等優(yōu)點(diǎn),所以在控制領(lǐng)域(尤其是機(jī)器人控制系統(tǒng)中)得到廣泛應(yīng)用[13-15]。其中Chiang等[16]將Albus提出的CMAC的常數(shù)型基函數(shù)推廣到了一般類型的基函數(shù),并引入了可微型基函數(shù),GBF-CMAC即為其中一種。
GBF-CMAC神經(jīng)網(wǎng)絡(luò)映射原理如圖1所示,其中GBF-CMAC的基本參數(shù)為:輸入維數(shù)、輸出維數(shù)、聯(lián)想空間層數(shù)、聯(lián)想空間每層分塊數(shù)和量化等級(jí)。
CMAC包含5層(輸入層I、離散層S、聯(lián)想層A、存儲(chǔ)層M和輸出層O)和4個(gè)映射(離散映射I→S、聯(lián)想映射S→A、存儲(chǔ)映射A→M和輸出映射M→O)。4個(gè)映射過程進(jìn)一步可以分為兩部分。
圖1 GBF-CMAC映射原理Fig. 1 Mapping principle of GBF-CMAC
GBF-CMAC在傳統(tǒng)CMAC的映射過程中附加了一個(gè)基函數(shù)的計(jì)算?;瘮?shù)矩陣是一個(gè)對(duì)角矩陣,其對(duì)角線元素中有個(gè)非零值,位置為,其計(jì)算如式(1)所示。
GBF-CMAC的輸出如式(2)所示:
以二維輸入為例,利用符號(hào)距離減少神經(jīng)網(wǎng)絡(luò)輸入維數(shù)的原理如圖2所示,過程為:
圖2 符號(hào)距離原理圖Fig. 2 Principle of signed distance
分層結(jié)構(gòu)GBF-CMAC原理如圖3所示。假設(shè)網(wǎng)絡(luò)輸入維數(shù)為,若使用1個(gè)GBF-CMAC,其聯(lián)想層數(shù),每層分塊數(shù),則需要的存儲(chǔ)器總數(shù),這在實(shí)際應(yīng)用中幾乎無法達(dá)到。若使用兩層結(jié)構(gòu),每個(gè)GBF-CMAC網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)都選為,則需要的存儲(chǔ)器總數(shù)最少為,這在實(shí)際應(yīng)用中就可以很容易地實(shí)現(xiàn)。這種做法的實(shí)質(zhì)是通過增加少量的算法復(fù)雜度而達(dá)到大量減少所需存儲(chǔ)器個(gè)數(shù)的目的,隨著處理器計(jì)算能力的加強(qiáng),這種方法完全具有可操作性[18-19]。
圖3 分層結(jié)構(gòu)GBF-CMAC原理圖Fig. 3 Principle of hierarchical GBF-CMAC
分層結(jié)構(gòu)GBF-CMAC學(xué)習(xí)過程的參數(shù)更新一般采用反向傳播和梯度下降法[20-21]。在此基礎(chǔ)上,本文提出了一種分層結(jié)構(gòu)多GBF-CMAC的參數(shù)自適應(yīng)學(xué)習(xí)律。不失一般性,現(xiàn)以輸出維數(shù)為例說明其學(xué)習(xí)過程,當(dāng)時(shí)僅需輸出的每一維做下述運(yùn)算即可。
性能指標(biāo)如式(4):
1)在分層結(jié)構(gòu)多GBF-CMAC神經(jīng)網(wǎng)絡(luò)中,對(duì)于具有封閉性質(zhì)的GBF-CMAC神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)(和)和學(xué)習(xí)參數(shù)(和),每個(gè)GBFCMAC變量名稱一樣,但實(shí)際使用過程對(duì)于每個(gè)網(wǎng)絡(luò)都有相互獨(dú)立的參數(shù)值,且其生存期為神經(jīng)網(wǎng)絡(luò)的整個(gè)工作周期,另外為一種固定表示形式。
2)在分層結(jié)構(gòu)的多GBF-CMAC神經(jīng)網(wǎng)絡(luò)中,對(duì)于具有開放性質(zhì)的網(wǎng)絡(luò)參數(shù)(輸入變量和輸出變量),對(duì)于每個(gè)GBF-CMAC都作了有區(qū)別的命名。分層結(jié)構(gòu)的多GBF-CMAC神經(jīng)網(wǎng)絡(luò)整體:輸入向量為,輸出為。內(nèi)部第一層網(wǎng)絡(luò):輸入向量為,輸出為,且為固定表示形式。內(nèi)部第二層網(wǎng)絡(luò):輸入向量為輸出為,且為固定表示形式。
3)在分層結(jié)構(gòu)多GBF-CMAC神經(jīng)網(wǎng)絡(luò)中,對(duì)于臨時(shí)參數(shù)(存儲(chǔ)器地址和輸入量化結(jié)果l)僅根據(jù)其因變量進(jìn)行附加型命名,如第一層兩個(gè)參數(shù)分別命名為和,第二層兩個(gè)參數(shù)分別命名為和。另外,這兩個(gè)參數(shù)的作用域和生存期為GBF-CMAC神經(jīng)網(wǎng)絡(luò)內(nèi)部的一個(gè)學(xué)習(xí)周期。
4)在分層結(jié)構(gòu)多GBF-CMAC神經(jīng)網(wǎng)絡(luò)中,由于本文只討論兩層結(jié)構(gòu)GBF-CMAC的參數(shù)學(xué)習(xí)律,故。但結(jié)果不失一般性,如果需要采用更多分層結(jié)構(gòu),僅需在前一層網(wǎng)絡(luò)中計(jì)算參數(shù)就可以對(duì)后一層網(wǎng)絡(luò)的參數(shù)進(jìn)行更新,通過這種遞推過程就可以實(shí)現(xiàn)任意分層數(shù)的網(wǎng)絡(luò)參數(shù)自適應(yīng)更新。
考慮如下形式的不確定系統(tǒng):
對(duì)上述不確定系統(tǒng)的輸出跟蹤控制問題,滑模控制器的設(shè)計(jì)如下。
1) 定義系統(tǒng)誤差
從系統(tǒng)狀態(tài)方程式(12)可知系統(tǒng)的狀態(tài)向量包含兩部分:第一部分為系統(tǒng)輸出;第二部分為系統(tǒng)輸出的導(dǎo)數(shù)。所以系統(tǒng)的輸出跟蹤控制即為部分狀態(tài)的跟蹤控制。設(shè)狀態(tài)期望值,定義系統(tǒng)的誤差及其導(dǎo)數(shù)如式(13)、(14)所示:
2) 設(shè)計(jì)滑模面
為保證系統(tǒng)的輸出跟蹤滿足一定的性能品質(zhì),設(shè)計(jì)的滑模面及其導(dǎo)數(shù)如式(15)、(16)所示:
3) 設(shè)計(jì)滑??刂破?/p>
滑模面的有限時(shí)間可達(dá)條件如式(17)所示:
采用等速趨近律設(shè)計(jì)的滑??刂破魅缡?18)所示:
采用積分類型的滑模面就可以構(gòu)成積分滑??刂?。針對(duì)上述不確定系統(tǒng),設(shè)計(jì)的積分滑模面如式(20)所示。采用指數(shù)趨近律設(shè)計(jì)的積分滑??刂破魅缡?21)所示。
神經(jīng)網(wǎng)絡(luò)用于控制系統(tǒng)設(shè)計(jì)時(shí),一種典型的結(jié)構(gòu)是利用神經(jīng)網(wǎng)絡(luò)逼近非線性映射的能力,將神經(jīng)網(wǎng)絡(luò)與其他控制器并聯(lián)組成復(fù)合控制器。針對(duì)上述不確定系統(tǒng)的輸出控制問題,設(shè)計(jì)GBF-CMAC和滑??刂平Y(jié)合的控制系統(tǒng)結(jié)構(gòu)如圖4所示。
圖4 控制系統(tǒng)結(jié)構(gòu)圖Fig. 4 Structure of control system
總控制量u(t)為式(22)所示:
將設(shè)計(jì)的控制系統(tǒng)用于高階柔性直線系統(tǒng)的跟蹤控制[22],實(shí)際系統(tǒng)如圖5所示,系統(tǒng)狀態(tài)空間表達(dá)式如式(24)所示。該系統(tǒng)是一種典型的欠驅(qū)動(dòng)系統(tǒng),其部分小車無法直接控制,而只能通過各個(gè)小車之間的耦合作用實(shí)現(xiàn)控制的目的。
圖5 高階柔性直線系統(tǒng)Fig. 5 High-order flexible linear system
跟蹤控制系統(tǒng)MATLAB/SIMULINK仿真圖如圖6~8所示。圖6為控制系統(tǒng)總體結(jié)構(gòu)圖;圖7所示為滑模面計(jì)算子系統(tǒng),其中利用一個(gè)切換開關(guān)可以實(shí)現(xiàn)一般滑模面和積分滑模面之間的切換;圖8為GBF-CMAC子系統(tǒng),包括符號(hào)函數(shù)計(jì)算部分和分層GBF-CMAC兩部分。
圖6 控制系統(tǒng)總體仿真結(jié)構(gòu)圖Fig. 6 Simulation of control system
圖7 滑模面計(jì)算圖Fig. 7 Calculation of sliding surface
圖8 高斯基函數(shù)小腦模型關(guān)節(jié)控制器Fig. 8 GBF-CMAC
GBF-CMAC部分首先利用符號(hào)函數(shù)將18維輸入變成9維輸入,然后利用4個(gè)GBF-CMAC構(gòu)成兩層結(jié)構(gòu),其參數(shù)設(shè)置為:,,,。4個(gè)GBF-CMAC的結(jié)構(gòu)參數(shù)和學(xué)習(xí)參數(shù)都設(shè)置為相同的值:,=3、22、42,,。
1) 復(fù)合控制器中神經(jīng)網(wǎng)絡(luò)不同分塊數(shù)(3、22、42)下控制效果對(duì)比實(shí)驗(yàn)
3種控制器的控制量輸出如圖9所示,跟蹤誤差如圖10所示。
圖9 3種控制器輸出對(duì)比Fig. 9 Output contrast of three controllers
2) 一般滑??刂啤⒎e分滑??刂啤鹘y(tǒng)CMAC復(fù)合控制和改進(jìn)GBF-CMAC復(fù)合控制對(duì)比實(shí)驗(yàn)
4種控制器的控制量輸出如圖11所示,跟蹤誤差如圖12所示。
圖10 3種控制器跟蹤誤差Fig. 10 Tracking error of three controllers
圖11 4種控制器輸出對(duì)比Fig. 11 Output contrast of four controller
圖12 4種控制器跟蹤誤差Fig. 12 Tracking error of four controllers
從圖11和圖12可以看出,一般滑??刂贫墩癯潭茸畲?;積分滑??刂贫墩癯潭刃?,但魯棒性和跟蹤精度最差;本文設(shè)計(jì)的改進(jìn)GBF-CMAC復(fù)合控制器,不僅抖振基本消除,而且具有較好的魯棒性,同時(shí)輸出跟蹤精度要比一般滑??刂啤⒎e分滑??刂坪蛡鹘y(tǒng)CMAC復(fù)合控制器好。
針對(duì)一類不確定系統(tǒng),設(shè)計(jì)了將GBF-CMAC與滑??刂平Y(jié)合的復(fù)合控制器,采用符號(hào)函數(shù)和分層結(jié)構(gòu)減少了GBF-CMAC所需存儲(chǔ)器的數(shù)量,提出了一種分層結(jié)構(gòu)多GBF-CMAC參數(shù)的自適應(yīng)學(xué)習(xí)律。并將設(shè)計(jì)的復(fù)合控制器應(yīng)用于高階柔性直線系統(tǒng)的輸出跟蹤控制中。從實(shí)驗(yàn)結(jié)果可以看出,本文所提的復(fù)合控制器不僅具有較好的魯棒性,并基本消除抖振現(xiàn)象,而且跟蹤精度比一般滑??刂坪头e分滑模控制要好。此外,結(jié)果顯示可以通過調(diào)節(jié)復(fù)合控制器中神經(jīng)網(wǎng)絡(luò)的參數(shù)對(duì)控制系統(tǒng)抖振程度、魯棒性和跟蹤精度進(jìn)行調(diào)節(jié),從而可以在抖振程度、魯棒性和跟蹤精度之間進(jìn)行最優(yōu)選擇。