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