




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第3章基于Simulink的神經(jīng)網(wǎng)絡控制系統(tǒng)
3.1基于Simulink的神經(jīng)網(wǎng)絡模塊3.2基于Simulink的三種典型神經(jīng)網(wǎng)絡控制系統(tǒng)1第3章基于Simulink的13.1基于Simulink的神經(jīng)網(wǎng)絡模塊
神經(jīng)網(wǎng)絡工具箱中提供了一套可在Simulink中用來建立神經(jīng)網(wǎng)絡的模塊,對于在MATLAB工作空間中建立的網(wǎng)絡,也能夠使用函數(shù)gensim()生成一個相應的Simulink網(wǎng)絡模塊。
23.1基于Simulink的神經(jīng)網(wǎng)絡模塊23.1.1模塊的設置在Simulink庫瀏覽窗口的NeuralNetworkBlockset節(jié)點上,通過單擊鼠標右鍵后,便可打開如圖3-1所示的NeuralNetworkBlockset模塊集窗口。
圖3-1NeuralNetworkBlockset模塊集在NeuralNetworkBlockset模塊集中包含了四個模塊庫,用鼠標的左鍵雙擊各個模塊庫的圖標,便可打開相應的模塊庫。
33.1.1模塊的設置31.傳輸函數(shù)模塊庫(TransferFunctions)用鼠標的左鍵雙擊TransferFunctions模塊庫的圖標,便可打開如圖3-2所示的傳輸函數(shù)模塊庫窗口。傳輸函數(shù)模塊庫中的任意一個模塊都能夠接受一個網(wǎng)絡輸入向量,并且相應地產(chǎn)生一個輸出向量,這個輸出向量的組數(shù)和輸入向量相同。
圖3-2傳輸函數(shù)模塊庫窗口
41.傳輸函數(shù)模塊庫(TransferFunctions)2.網(wǎng)絡輸入模塊庫(NetInputFunctions)用鼠標的左鍵雙擊NetInputFunctions模塊庫的圖標,便可打開如圖3-3所示的網(wǎng)絡輸入模塊庫窗口。網(wǎng)絡輸入模塊庫中的每一個模塊都能夠接受任意數(shù)目的加權輸入向量、加權的層輸出向量,以及偏值向量,并且返回一個網(wǎng)絡輸入向量。
圖3-3網(wǎng)絡輸入模塊庫窗口
52.網(wǎng)絡輸入模塊庫(NetInputFunctions3.權值模塊庫(WeightFunctions)用鼠標的左鍵雙擊WeightFunctions模塊庫的圖標,便可打開如圖3-4所示的權值模塊庫窗口。權值模塊庫中的每個模塊都以一個神經(jīng)元權值向量作為輸入,并將其與一個輸入向量(或者是某一層的輸出向量)進行運算,得到神經(jīng)元的加權輸入值。
圖3-4權值模塊庫窗口
上面的這些模塊需要的權值向量必須定義為列向量。這是因為Simulink中的信號可以為列向量,但是不能為矩陣或者行向量。
63.權值模塊庫(WeightFunctions)64.控制系統(tǒng)模塊庫(ControlSystems)用鼠標的左鍵雙擊ControlSystems模塊庫的圖標,便可打開如圖3-5所示的控制系統(tǒng)模塊庫窗口。
圖3-5控制系統(tǒng)模塊庫窗口
神經(jīng)網(wǎng)絡的控制系統(tǒng)模塊庫中包含三個控制器和一個示波器。關于它們的使用方法將在下一節(jié)專門介紹。
74.控制系統(tǒng)模塊庫(ControlSystems)73.1.2模塊的生成在MATLAB工作空間中,利用函數(shù)gensim(),能夠?qū)σ粋€神經(jīng)網(wǎng)絡生成其模塊化描述,從而可在Simulink中對其進行仿真。gensim()函數(shù)的調(diào)用格式為:gensim(net,st)其中
第一個參數(shù)指定了MATLAB工作空間中需要生成模塊化描述的網(wǎng)絡,第二個參數(shù)指定了采樣時間,它通常情況下為一正數(shù)。如果網(wǎng)絡沒有與輸入權值或者層中權值相關的延遲,則指定第二個參數(shù)為-1,那么函數(shù)gensim()將生成一個連續(xù)采樣的網(wǎng)絡。
83.1.2模塊的生成8例3-1設計一個線性網(wǎng)絡,并生成其模塊化描述。定義網(wǎng)絡的輸入為:X=[12345],相應的目標為:T=[13579]。解實現(xiàn)以上任務的MATLAB命令為:Ex3_1結果顯示:y=13579可以看出,網(wǎng)絡已經(jīng)正確地解決了問題。>>gensim(net,-1)9例3-1設計一個線性網(wǎng)絡,并生成其模塊化描述。定義網(wǎng)絡
3.2
基于Simulink的神經(jīng)網(wǎng)絡控制系統(tǒng)神經(jīng)網(wǎng)絡在系統(tǒng)辨識和動態(tài)系統(tǒng)控制中已經(jīng)得到了非常成功的使用。由于神經(jīng)網(wǎng)絡具有全局逼近能力,使得其在對非線性系統(tǒng)建模和對一般情況下的非線性控制器的實現(xiàn)等方而應用的比較普遍。本節(jié)將介紹三種在神經(jīng)網(wǎng)絡工具箱的控制系統(tǒng)模塊(ControlSystems)中利用Simulink實現(xiàn)的比較普遍的神經(jīng)網(wǎng)絡結構,它們常用于預測和控制,并已在MATLAB對應的神經(jīng)網(wǎng)絡工具箱中給出了實現(xiàn)。103.2基于Simulink的神經(jīng)網(wǎng)絡控制系統(tǒng)10這三種神經(jīng)網(wǎng)絡結構分別是:.神經(jīng)網(wǎng)絡模型預測控制(NNPredictiveController).反饋線性化控制(NARMA-L2Controller).模型參考控制(ModelReferenceController)
使用神經(jīng)網(wǎng)絡進行控制時,通常有兩個步驟:系統(tǒng)辨識和控制設計。
11這三種神經(jīng)網(wǎng)絡結構分別是:11在系統(tǒng)辨識階段,主要任務是對需要控制的系統(tǒng)建立神經(jīng)網(wǎng)絡模型;在控制設計階段,主要使用神經(jīng)網(wǎng)絡模型來設計(訓練)控制器。在本節(jié)將要介紹的三種控制網(wǎng)絡結構中,系統(tǒng)辨識階段是相同的,而控制設計階段則各不相同。對于模型預測控制,系統(tǒng)模型用于預測系統(tǒng)未來的行為,并且找到最優(yōu)的算法,用于選擇控制輸入,以優(yōu)化未來的性能。對于NARMA-L2(反饋線性化)控制,控制器僅僅是將系統(tǒng)模型進行重整。對于模型參考控制,控制器是一個神經(jīng)網(wǎng)絡,它被訓練以用于控制系統(tǒng),使得系統(tǒng)跟蹤一個參考模型,這個神經(jīng)網(wǎng)絡系統(tǒng)模型在控制器訓練中起輔助作用。
12在系統(tǒng)辨識階段,主要任務是對需要控制的系統(tǒng)建立神經(jīng)網(wǎng)3.2.1神經(jīng)網(wǎng)絡模型預測控制1.模型預測控制理論
神經(jīng)網(wǎng)絡預測控制器是使用非線性神經(jīng)網(wǎng)絡模型來預測未來模型性能??刂破饔嬎憧刂戚斎?,而控制輸入在未來一段指定的時間內(nèi)將最優(yōu)化模型性能。模型預測第一步是要建立神經(jīng)網(wǎng)絡模型(系統(tǒng)辨識);第二步,使用控制器來預測未來神經(jīng)網(wǎng)絡性能。
133.2.1神經(jīng)網(wǎng)絡模型預測控制131)系統(tǒng)辨識模型預測的第一步就是訓練神經(jīng)網(wǎng)絡未來表示網(wǎng)絡的動態(tài)機制。模型輸出與神經(jīng)網(wǎng)絡輸出之間的預測誤差,用來作為神經(jīng)網(wǎng)絡的訓練信號,該過程用圖3-11來表示。
圖3-11訓練神經(jīng)網(wǎng)絡141)系統(tǒng)辨識圖3-11訓練神經(jīng)網(wǎng)絡14神經(jīng)網(wǎng)絡模型利用當前輸入和當前輸出預測神經(jīng)未來輸出值。神經(jīng)網(wǎng)絡模型結構如圖3-12所示,該網(wǎng)絡可以以批量再線訓練。圖3-12神經(jīng)網(wǎng)絡模型結構15神經(jīng)網(wǎng)絡模型利用當前輸入和當前輸出預測神經(jīng)未來輸出值2)模型預測模型預測方法是基于水平后退的方法,神經(jīng)網(wǎng)絡模型預測在指定時間內(nèi)預測模型響應。預測使用數(shù)字最優(yōu)化程序來確定控制信號,通過最優(yōu)化如下的性能準則函數(shù):式中N2為預測時域長度;Nu為控制時域長度;u(t)為控制信號;yr為期望響應,ym為網(wǎng)絡模型響應,為控制量加權系數(shù)。
162)模型預測16圖3-13描述了模型預測控制的過程??刂破饔缮窠?jīng)網(wǎng)絡模型和最優(yōu)化方塊組成,最優(yōu)化方塊確定u(通過最小化J),最優(yōu)u值作為神經(jīng)網(wǎng)絡模型的輸入,控制器方塊可用Simulink實現(xiàn)。圖3-13預測模型控制的過程17圖3-13描述了模型預測控制的過程??刂破饔缮窠?jīng)網(wǎng)2.模型預測神經(jīng)網(wǎng)絡控制實例分析——攪拌器控制系統(tǒng)在MATLAB神經(jīng)網(wǎng)絡工具箱中實現(xiàn)的神經(jīng)網(wǎng)絡預測控制器使用了一個非線性系統(tǒng)模型,用于預測系統(tǒng)未來的性能。接下來這個控制器將計算控制輸入,用于在某個未來的時間區(qū)間里優(yōu)化系統(tǒng)的性能。進行模型預測控制首先要建立系統(tǒng)的模型,然后使用控制器來預測未來的性能。下面將結合MATLAB神經(jīng)網(wǎng)絡工具箱中提供的一個演示實例,介紹Simulink中的實現(xiàn)過程。
182.模型預測神經(jīng)網(wǎng)絡控制實例分析——攪拌器控制系統(tǒng)181).問題的描述要討論的問題基于一個攪拌器(CSTR),如圖3-14所示。對于這個系統(tǒng),其動力學模型為:圖3-14攪拌器
191).問題的描述圖3-14攪拌器19其中h(t)為液面高度,Cb(t)為產(chǎn)品輸出濃度,w1(t)為濃縮液Cb1的輸入流速,w2(t)為稀釋液Cb2的輸入流速。輸入濃度設定為:Cb1=24.9,Cb2=0.1。消耗常量設置為:k1=1,k2=1??刂频哪繕耸峭ㄟ^調(diào)節(jié)流速w2(t)來保持產(chǎn)品濃度。為了簡化演示過程,不妨設w1(t)=0.1。在本例中不考慮液面高度h(t)。
20其中h(t)為液面高度,Cb(t)為產(chǎn)品輸出濃度,w1(2).建立模型在MATLAB神經(jīng)網(wǎng)絡工具箱中提供了這個演示實例。只需在MATLAB命令窗口中輸入命令:predcstr。就會自動地調(diào)用Simulink,并且產(chǎn)生如圖3-15所示的模型窗口。
圖3-15模型窗口
212).建立模型圖3-15模型窗口21其中神經(jīng)網(wǎng)絡預測控制模塊(NNPredctiveController)和X(2Y)Graph模塊由神經(jīng)網(wǎng)絡模塊集(NeuraiNetworkBlockset)中的控制系統(tǒng)模塊庫(ControlSystems)復制而來。圖3-20中的Plant(ContinuousStirredTankReactor)模塊包含了攪拌器系統(tǒng)的Simulink模型。雙擊這個模塊,可以得到具體的Simulink實現(xiàn),此處將不加以深入討論。NNPredictiveController模塊的ControlSignal端連接到攪拌器系統(tǒng)模型的輸入端,同時攪拌器系統(tǒng)模型的輸出端連接到NNPredictiveController模塊的PlantOutput端,參考信號連接到NNPredictiveController模塊的Reference端。
22其中神經(jīng)網(wǎng)絡預測控制模塊(NNPredctiv雙擊NNPredctiveController模塊,將會產(chǎn)生一個神經(jīng)網(wǎng)絡預測控制器參數(shù)設置窗口(NeuralNetworkPredctiveControl),如圖3-16所示。這個窗口用于設計模型預測控制器。圖3-16神經(jīng)網(wǎng)絡模型預測控制器參數(shù)設置窗口23雙擊NNPredctiveController模
在這個窗口中,有多項參數(shù)可以調(diào)整,用于改變預測控制算法中的有關參數(shù)。將鼠標移到相應的位置,就會出現(xiàn)對這一參數(shù)的說明。2424
3).系統(tǒng)辨識在神經(jīng)網(wǎng)絡預測控制器的窗口中單擊[PlantIdentification]按鈕,將產(chǎn)生一個模型辨識參數(shù)設置窗口(PlantIdentification),用于設置系統(tǒng)辨識的參數(shù),如圖3-17所示。
圖3-17模型辨識參數(shù)設置窗口
253).系統(tǒng)辨識圖3-17模型辨識參數(shù)設置窗口254).系統(tǒng)仿真
在Simulink模型窗口圖3-15中,首先選擇【Simulation】菜單中的【parameter】命令設置相應的仿真參數(shù),然后從【Simulation】菜單中單擊【Start】命令開始仿真。仿真的過程需要一端時間。當仿真結束時,將會顯示出系統(tǒng)的輸出和參考信號。如圖3-21。
圖3-21輸出和參考信號
264).系統(tǒng)仿真圖3-21輸出和參考信號265).數(shù)據(jù)保存在圖3-17中,利用[ImportData]和[ExportData]命令,可以將設計好的網(wǎng)絡和訓練數(shù)據(jù)保存到工作空間中或是保存到磁盤文件中。神經(jīng)網(wǎng)絡預測控制是使用神經(jīng)網(wǎng)絡系統(tǒng)模型來預測系統(tǒng)未來的行為。優(yōu)化算法用于確定控制輸入,這個控制輸入優(yōu)化了系統(tǒng)在一個有限時間段里的性能。系統(tǒng)訓練僅僅需要對于靜態(tài)網(wǎng)絡的成批訓練算法,當然,訓練速度非常快??刂破鞑灰诰€的優(yōu)化算法,這就需要比其他控制器更多的計算。
275).數(shù)據(jù)保存23.2.2反饋線性化控制
1.反饋線性化控制理論
反饋線性化(NARMA-L2)的中心思想是通過去掉非線性,將一個非線性系統(tǒng)變換成線性系統(tǒng)。
283.2.2反饋線性化控制281).辨識NARMA-L2模型與模型預測控制一樣,反饋線性化控制的第一步就是辨識被控制的系統(tǒng)。通過訓練一個神經(jīng)網(wǎng)絡來表示系統(tǒng)的前向動態(tài)機制,在第一步中首先選擇一個模型結構以供使用。一個用來代表一般的離散非線性系統(tǒng)的標準模型是:非線性自回歸移動平均模型(NARMA),用下式來表示:式中,u(k)表示系統(tǒng)的輸入,y(k)表示系統(tǒng)的輸出。在辨識階段,訓練神經(jīng)網(wǎng)絡使其近似等于非線性函數(shù)N。
291).辨識NARMA-L2模型29如果希望系統(tǒng)輸出跟蹤一些參考曲線y(k+d)=yr(k+d),下一步就是建立一個有如下形式的非線性控制器:
使用該類控制器的問題是,如果想訓練一個神經(jīng)網(wǎng)絡用來產(chǎn)生函數(shù)G(最小化均方差),必須使用動態(tài)反饋,且該過程相當慢。由Narendra和Mukhopadhyay提出的一個解決辦法是,使用近似模型來代表系統(tǒng)。
30如果希望系統(tǒng)輸出跟蹤一些參考曲線y(k+d)=yr(在這里使用的控制器模型是基于NARMA-L2近似模型該模型是并聯(lián)形式,控制器輸入u(k)沒有包含在非線性系統(tǒng)里。這種形式的優(yōu)點是,能解決控制器輸入使系統(tǒng)輸出踉蹤參考曲線y(k+d)=yr(k+d)。最終的控制器形式如下:31在這里使用的控制器模型是基于NARMA-L2近似模直接使用該等式會引起實現(xiàn)問題,因為基于輸出y(k)的同時必須同時得到u(k),所以采用下述模型:式中d2。
2).NARMA-L2控制器利用NARMA-L2模型,可得到如下的控制器:式中d2。
32直接使用該等式會引起實現(xiàn)問題,因為基于輸出y(k)的2.NARMA-L2(反饋線性化)控制實例分析——磁懸浮控制系統(tǒng)l).問題的描述
如圖1-22所示,有一塊磁鐵,被約束在垂直方向上運動。在其下方有一塊電磁鐵,通電以后,電磁鐵就會對其上的磁鐵產(chǎn)生小電磁力作用。目標就是通過控制電磁鐵,使得其上的磁鐵保持懸浮在空中,不會掉下來。
圖1-22懸浮磁鐵控制系統(tǒng)332.NARMA-L2(反饋線性化)控制實例分析——磁懸浮控建立這個實際問題的的動力學方程為:式中y(t)表示磁鐵離電磁鐵的距離,i(t)代表電磁鐵中的電流,M代表磁鐵的質(zhì)量,g代表重力加速度,代表粘性摩擦系數(shù),它由磁鐵所在的容器的材料決定;代表場強常數(shù),它由電磁鐵上所繞的線圈圈數(shù),以及磁鐵的強度所決定。
34建立這個實際問題的的動力學方程為:342).建立模型MATLAB的神經(jīng)網(wǎng)絡工具箱中提供了這個演示實例。只需在MATLAB命令窗口中輸入:narmamaglev,就會自動地調(diào)用Simulink,并且產(chǎn)生如圖3-23所示模型窗口。圖3-23模型窗口
352).建立模型圖3-23模型窗口353).系統(tǒng)辨識
雙擊NARMA-L2Controller模塊,將會產(chǎn)生一個新的窗口,如圖3-24所示。圖3-24系統(tǒng)辨識參數(shù)設置窗口
363).系統(tǒng)辨識圖3-24系統(tǒng)辨識參數(shù)設置窗口364).系統(tǒng)仿真在Simulink模型窗口圖3-23中,首先選擇【Simulation】菜單中的【parameter】命令設置相應的仿真參數(shù),然后從【Simulation】菜單中單擊【Start】命令開始仿真。仿真的過程需要一端時間。當仿真結束時,將會顯示出系統(tǒng)的輸出和參考信號。如圖3-25。
圖3-25輸出和參考信號
374).系統(tǒng)仿真圖3-25輸出和參考信號373.2.3模型參考控制
1.模型參考控制理論神經(jīng)模型參考控制采用兩個神經(jīng)網(wǎng)絡:一個控制器網(wǎng)絡和一個實驗模型網(wǎng)絡,如圖3-26中所示。首先辨識出實驗模型,然后訓練控制器,使得實驗輸出跟隨參考模型輸出。
圖3-26神經(jīng)模型參考控制系統(tǒng)383.2.3模型參考控制圖3-26神2.模型參考神經(jīng)網(wǎng)絡控制實例分析——機械臂控制系統(tǒng)
圖3-27顯示了神經(jīng)網(wǎng)絡實驗模型的詳細情況,每個網(wǎng)絡由兩層組成,并且可以選擇隱含層的神經(jīng)元數(shù)目。
圖3-27神經(jīng)網(wǎng)絡實驗模型
392.模型參考神經(jīng)網(wǎng)絡控制實例分析——機械臂控制系統(tǒng)圖3-2有三組控制器輸入:延遲的參考輸入、延遲的控制輸出和延遲的系統(tǒng)輸出。對于每一個這種輸入,可以選擇延遲值。通常,隨著系統(tǒng)階次的增加,延遲的數(shù)目也增加。對于神經(jīng)網(wǎng)絡系統(tǒng)模型,有兩組輸入:延遲的控制器輸出和延遲的系統(tǒng)輸出。
下而結合MATLAB神經(jīng)網(wǎng)絡工具箱中提供的一個實例,來介紹神經(jīng)網(wǎng)絡控制器的訓練過程。
40有三組控制器輸入:延遲的參考輸入、延遲的控制輸出和1)問題的描述圖3-28中顯示了一個簡單的單連接機械臂,目的是控制它的運動。首先,建立它的運動方程式,如下所示:式中代表機械臂的角度,u代表DC(直流)電機的轉(zhuǎn)矩。目標是訓練控制器,使得機械臂能夠跟蹤參考模型:式中yr代表參考模型的輸出,r代表參考信號。
圖3-28簡單的單連接機械臂
411)問題的描述圖3-28簡單的單連接機械臂412)模型的建立MATLAB的神經(jīng)網(wǎng)絡工具箱中提供了這個演示實例??刂破鞯妮斎氚藘蓚€延遲參考輸入、兩個延遲系統(tǒng)輸出和一個延遲控制器輸出,采樣間隔為0.05秒。422)模型的建立42
只需在MATLAT命令行窗口中輸入:mrefrobotarm,就會自動地調(diào)用Simulink,并且產(chǎn)生如圖3-29所示的模型窗口。
圖3-29模型窗口
43只需在MATLAT命令行窗口中輸入:mrefrobo3)系統(tǒng)辨識
神經(jīng)網(wǎng)絡模型參考控制體系結構使用兩個神經(jīng)網(wǎng)絡:一個控制器神經(jīng)網(wǎng)絡和一個系統(tǒng)模型神經(jīng)網(wǎng)絡。首先,對系統(tǒng)模型神經(jīng)網(wǎng)絡進行辨識,然后,對控制器神經(jīng)網(wǎng)絡進行辨識(訓練),使得系統(tǒng)輸出跟蹤參考模型的輸出。
443)系統(tǒng)辨識44(1)對系統(tǒng)模型神經(jīng)網(wǎng)絡進行辨識雙擊模型參考控制模塊,將會產(chǎn)生一個模型參考控制參數(shù)(ModeReferenceControl)設置窗口,如圖3-31所示。這個窗口用于訓練模型參考神經(jīng)網(wǎng)絡。窗口中各參數(shù)的設置說明參前解釋。
圖3-31模型參考控制參數(shù)設置窗口45(1)對系統(tǒng)模型神經(jīng)網(wǎng)絡進行辨識圖3-31模型參考控制參數(shù)在圖3-31所示的模型參考控制窗口中單擊【PlantIdentification】按鈕,將會彈出一個如圖3-37所示的系統(tǒng)辨識窗口。系統(tǒng)辨識過程的操作同前,當系統(tǒng)辨識結束后,單擊圖3-32【OK】按鈕,返回到模型參考控制窗口圖3-31。
圖3-32系統(tǒng)辨識參數(shù)設置窗口
46在圖3-31所示的模型參考控制窗口中單擊【Plant(2)對控制器神經(jīng)網(wǎng)絡進行辨識(訓練)當系統(tǒng)模型神經(jīng)網(wǎng)絡辨識完成后,首先在圖3-36所示的模型參考控制窗口中單擊【GenerateTrainingData】按鈕,程序就會提供一系列隨機階躍信號,來對控制器產(chǎn)生訓練數(shù)據(jù)。當接受這些數(shù)據(jù)后,就可以利用圖3-31中的【TrainController】按鈕對控制器進行訓練。控制器訓練需要的時間比系統(tǒng)模型訓練需要的時間多得多。這是因為控制器必須使用動態(tài)反饋算法。
47(2)對控制器神經(jīng)網(wǎng)絡進行辨識(訓練)47訓練過程誤差曲線如圖3-33所示。訓練結束后,返回到模型參考控制器窗口圖3-31中,如果控制器的性能不準確,那么,可以再次單擊【TrainController】按鈕,這樣就會繼續(xù)使用同樣的數(shù)據(jù)對控制器進行訓練。
圖3-33訓練過程誤差曲線48訓練過程誤差曲線如圖3-33所示。訓練結束后,返回到模如果需要使用新的數(shù)據(jù)繼續(xù)訓練,可以在單擊【TrainController】按鈕之前再次單擊【GenerateTrainingData】按鈕或者【ImportData】按鈕(注意,要確認UseCurrentWeights被選中)。另外,如果系統(tǒng)模型不夠準確,也會影響控制器的訓練。在模型參考控制窗口中單擊【OK】按鈕,將訓練好的神經(jīng)網(wǎng)絡控制器權值導入Simulink模型窗口的,并返回到Simulink模型窗口。
49如果需要使用新的數(shù)據(jù)繼續(xù)訓練,可以在單擊【Trai4).系統(tǒng)仿真
在Simulink模型窗口圖3-34中,首先選擇【Simulation】菜單中的【parameter】命令設置相應的仿真參數(shù),然后從【Simulation】菜單中單擊【Start】命令開始仿真。仿真的過程需要一端時間。當仿真結束時,將會顯示出系統(tǒng)的輸出和參考信號。如圖3-34所示。
圖3-34系統(tǒng)的輸出和參考信號
504).系統(tǒng)仿真圖3-34系統(tǒng)的輸出和參考信號50
小結本章首先介紹了基于Simulink的神經(jīng)網(wǎng)絡系統(tǒng)模塊的使用方法和神經(jīng)網(wǎng)絡的Simulink模塊的生成方法;最后介紹了基于Simulink的神經(jīng)網(wǎng)絡模型預測控制系統(tǒng)、反饋線性化控制系統(tǒng)和模型參考控制系統(tǒng)等三種典型神經(jīng)網(wǎng)絡控制系統(tǒng)。51
第3章基于Simulink的神經(jīng)網(wǎng)絡控制系統(tǒng)
3.1基于Simulink的神經(jīng)網(wǎng)絡模塊3.2基于Simulink的三種典型神經(jīng)網(wǎng)絡控制系統(tǒng)52第3章基于Simulink的13.1基于Simulink的神經(jīng)網(wǎng)絡模塊
神經(jīng)網(wǎng)絡工具箱中提供了一套可在Simulink中用來建立神經(jīng)網(wǎng)絡的模塊,對于在MATLAB工作空間中建立的網(wǎng)絡,也能夠使用函數(shù)gensim()生成一個相應的Simulink網(wǎng)絡模塊。
533.1基于Simulink的神經(jīng)網(wǎng)絡模塊23.1.1模塊的設置在Simulink庫瀏覽窗口的NeuralNetworkBlockset節(jié)點上,通過單擊鼠標右鍵后,便可打開如圖3-1所示的NeuralNetworkBlockset模塊集窗口。
圖3-1NeuralNetworkBlockset模塊集在NeuralNetworkBlockset模塊集中包含了四個模塊庫,用鼠標的左鍵雙擊各個模塊庫的圖標,便可打開相應的模塊庫。
543.1.1模塊的設置31.傳輸函數(shù)模塊庫(TransferFunctions)用鼠標的左鍵雙擊TransferFunctions模塊庫的圖標,便可打開如圖3-2所示的傳輸函數(shù)模塊庫窗口。傳輸函數(shù)模塊庫中的任意一個模塊都能夠接受一個網(wǎng)絡輸入向量,并且相應地產(chǎn)生一個輸出向量,這個輸出向量的組數(shù)和輸入向量相同。
圖3-2傳輸函數(shù)模塊庫窗口
551.傳輸函數(shù)模塊庫(TransferFunctions)2.網(wǎng)絡輸入模塊庫(NetInputFunctions)用鼠標的左鍵雙擊NetInputFunctions模塊庫的圖標,便可打開如圖3-3所示的網(wǎng)絡輸入模塊庫窗口。網(wǎng)絡輸入模塊庫中的每一個模塊都能夠接受任意數(shù)目的加權輸入向量、加權的層輸出向量,以及偏值向量,并且返回一個網(wǎng)絡輸入向量。
圖3-3網(wǎng)絡輸入模塊庫窗口
562.網(wǎng)絡輸入模塊庫(NetInputFunctions3.權值模塊庫(WeightFunctions)用鼠標的左鍵雙擊WeightFunctions模塊庫的圖標,便可打開如圖3-4所示的權值模塊庫窗口。權值模塊庫中的每個模塊都以一個神經(jīng)元權值向量作為輸入,并將其與一個輸入向量(或者是某一層的輸出向量)進行運算,得到神經(jīng)元的加權輸入值。
圖3-4權值模塊庫窗口
上面的這些模塊需要的權值向量必須定義為列向量。這是因為Simulink中的信號可以為列向量,但是不能為矩陣或者行向量。
573.權值模塊庫(WeightFunctions)64.控制系統(tǒng)模塊庫(ControlSystems)用鼠標的左鍵雙擊ControlSystems模塊庫的圖標,便可打開如圖3-5所示的控制系統(tǒng)模塊庫窗口。
圖3-5控制系統(tǒng)模塊庫窗口
神經(jīng)網(wǎng)絡的控制系統(tǒng)模塊庫中包含三個控制器和一個示波器。關于它們的使用方法將在下一節(jié)專門介紹。
584.控制系統(tǒng)模塊庫(ControlSystems)73.1.2模塊的生成在MATLAB工作空間中,利用函數(shù)gensim(),能夠?qū)σ粋€神經(jīng)網(wǎng)絡生成其模塊化描述,從而可在Simulink中對其進行仿真。gensim()函數(shù)的調(diào)用格式為:gensim(net,st)其中
第一個參數(shù)指定了MATLAB工作空間中需要生成模塊化描述的網(wǎng)絡,第二個參數(shù)指定了采樣時間,它通常情況下為一正數(shù)。如果網(wǎng)絡沒有與輸入權值或者層中權值相關的延遲,則指定第二個參數(shù)為-1,那么函數(shù)gensim()將生成一個連續(xù)采樣的網(wǎng)絡。
593.1.2模塊的生成8例3-1設計一個線性網(wǎng)絡,并生成其模塊化描述。定義網(wǎng)絡的輸入為:X=[12345],相應的目標為:T=[13579]。解實現(xiàn)以上任務的MATLAB命令為:Ex3_1結果顯示:y=13579可以看出,網(wǎng)絡已經(jīng)正確地解決了問題。>>gensim(net,-1)60例3-1設計一個線性網(wǎng)絡,并生成其模塊化描述。定義網(wǎng)絡
3.2
基于Simulink的神經(jīng)網(wǎng)絡控制系統(tǒng)神經(jīng)網(wǎng)絡在系統(tǒng)辨識和動態(tài)系統(tǒng)控制中已經(jīng)得到了非常成功的使用。由于神經(jīng)網(wǎng)絡具有全局逼近能力,使得其在對非線性系統(tǒng)建模和對一般情況下的非線性控制器的實現(xiàn)等方而應用的比較普遍。本節(jié)將介紹三種在神經(jīng)網(wǎng)絡工具箱的控制系統(tǒng)模塊(ControlSystems)中利用Simulink實現(xiàn)的比較普遍的神經(jīng)網(wǎng)絡結構,它們常用于預測和控制,并已在MATLAB對應的神經(jīng)網(wǎng)絡工具箱中給出了實現(xiàn)。613.2基于Simulink的神經(jīng)網(wǎng)絡控制系統(tǒng)10這三種神經(jīng)網(wǎng)絡結構分別是:.神經(jīng)網(wǎng)絡模型預測控制(NNPredictiveController).反饋線性化控制(NARMA-L2Controller).模型參考控制(ModelReferenceController)
使用神經(jīng)網(wǎng)絡進行控制時,通常有兩個步驟:系統(tǒng)辨識和控制設計。
62這三種神經(jīng)網(wǎng)絡結構分別是:11在系統(tǒng)辨識階段,主要任務是對需要控制的系統(tǒng)建立神經(jīng)網(wǎng)絡模型;在控制設計階段,主要使用神經(jīng)網(wǎng)絡模型來設計(訓練)控制器。在本節(jié)將要介紹的三種控制網(wǎng)絡結構中,系統(tǒng)辨識階段是相同的,而控制設計階段則各不相同。對于模型預測控制,系統(tǒng)模型用于預測系統(tǒng)未來的行為,并且找到最優(yōu)的算法,用于選擇控制輸入,以優(yōu)化未來的性能。對于NARMA-L2(反饋線性化)控制,控制器僅僅是將系統(tǒng)模型進行重整。對于模型參考控制,控制器是一個神經(jīng)網(wǎng)絡,它被訓練以用于控制系統(tǒng),使得系統(tǒng)跟蹤一個參考模型,這個神經(jīng)網(wǎng)絡系統(tǒng)模型在控制器訓練中起輔助作用。
63在系統(tǒng)辨識階段,主要任務是對需要控制的系統(tǒng)建立神經(jīng)網(wǎng)3.2.1神經(jīng)網(wǎng)絡模型預測控制1.模型預測控制理論
神經(jīng)網(wǎng)絡預測控制器是使用非線性神經(jīng)網(wǎng)絡模型來預測未來模型性能??刂破饔嬎憧刂戚斎?,而控制輸入在未來一段指定的時間內(nèi)將最優(yōu)化模型性能。模型預測第一步是要建立神經(jīng)網(wǎng)絡模型(系統(tǒng)辨識);第二步,使用控制器來預測未來神經(jīng)網(wǎng)絡性能。
643.2.1神經(jīng)網(wǎng)絡模型預測控制131)系統(tǒng)辨識模型預測的第一步就是訓練神經(jīng)網(wǎng)絡未來表示網(wǎng)絡的動態(tài)機制。模型輸出與神經(jīng)網(wǎng)絡輸出之間的預測誤差,用來作為神經(jīng)網(wǎng)絡的訓練信號,該過程用圖3-11來表示。
圖3-11訓練神經(jīng)網(wǎng)絡651)系統(tǒng)辨識圖3-11訓練神經(jīng)網(wǎng)絡14神經(jīng)網(wǎng)絡模型利用當前輸入和當前輸出預測神經(jīng)未來輸出值。神經(jīng)網(wǎng)絡模型結構如圖3-12所示,該網(wǎng)絡可以以批量再線訓練。圖3-12神經(jīng)網(wǎng)絡模型結構66神經(jīng)網(wǎng)絡模型利用當前輸入和當前輸出預測神經(jīng)未來輸出值2)模型預測模型預測方法是基于水平后退的方法,神經(jīng)網(wǎng)絡模型預測在指定時間內(nèi)預測模型響應。預測使用數(shù)字最優(yōu)化程序來確定控制信號,通過最優(yōu)化如下的性能準則函數(shù):式中N2為預測時域長度;Nu為控制時域長度;u(t)為控制信號;yr為期望響應,ym為網(wǎng)絡模型響應,為控制量加權系數(shù)。
672)模型預測16圖3-13描述了模型預測控制的過程??刂破饔缮窠?jīng)網(wǎng)絡模型和最優(yōu)化方塊組成,最優(yōu)化方塊確定u(通過最小化J),最優(yōu)u值作為神經(jīng)網(wǎng)絡模型的輸入,控制器方塊可用Simulink實現(xiàn)。圖3-13預測模型控制的過程68圖3-13描述了模型預測控制的過程??刂破饔缮窠?jīng)網(wǎng)2.模型預測神經(jīng)網(wǎng)絡控制實例分析——攪拌器控制系統(tǒng)在MATLAB神經(jīng)網(wǎng)絡工具箱中實現(xiàn)的神經(jīng)網(wǎng)絡預測控制器使用了一個非線性系統(tǒng)模型,用于預測系統(tǒng)未來的性能。接下來這個控制器將計算控制輸入,用于在某個未來的時間區(qū)間里優(yōu)化系統(tǒng)的性能。進行模型預測控制首先要建立系統(tǒng)的模型,然后使用控制器來預測未來的性能。下面將結合MATLAB神經(jīng)網(wǎng)絡工具箱中提供的一個演示實例,介紹Simulink中的實現(xiàn)過程。
692.模型預測神經(jīng)網(wǎng)絡控制實例分析——攪拌器控制系統(tǒng)181).問題的描述要討論的問題基于一個攪拌器(CSTR),如圖3-14所示。對于這個系統(tǒng),其動力學模型為:圖3-14攪拌器
701).問題的描述圖3-14攪拌器19其中h(t)為液面高度,Cb(t)為產(chǎn)品輸出濃度,w1(t)為濃縮液Cb1的輸入流速,w2(t)為稀釋液Cb2的輸入流速。輸入濃度設定為:Cb1=24.9,Cb2=0.1。消耗常量設置為:k1=1,k2=1??刂频哪繕耸峭ㄟ^調(diào)節(jié)流速w2(t)來保持產(chǎn)品濃度。為了簡化演示過程,不妨設w1(t)=0.1。在本例中不考慮液面高度h(t)。
71其中h(t)為液面高度,Cb(t)為產(chǎn)品輸出濃度,w1(2).建立模型在MATLAB神經(jīng)網(wǎng)絡工具箱中提供了這個演示實例。只需在MATLAB命令窗口中輸入命令:predcstr。就會自動地調(diào)用Simulink,并且產(chǎn)生如圖3-15所示的模型窗口。
圖3-15模型窗口
722).建立模型圖3-15模型窗口21其中神經(jīng)網(wǎng)絡預測控制模塊(NNPredctiveController)和X(2Y)Graph模塊由神經(jīng)網(wǎng)絡模塊集(NeuraiNetworkBlockset)中的控制系統(tǒng)模塊庫(ControlSystems)復制而來。圖3-20中的Plant(ContinuousStirredTankReactor)模塊包含了攪拌器系統(tǒng)的Simulink模型。雙擊這個模塊,可以得到具體的Simulink實現(xiàn),此處將不加以深入討論。NNPredictiveController模塊的ControlSignal端連接到攪拌器系統(tǒng)模型的輸入端,同時攪拌器系統(tǒng)模型的輸出端連接到NNPredictiveController模塊的PlantOutput端,參考信號連接到NNPredictiveController模塊的Reference端。
73其中神經(jīng)網(wǎng)絡預測控制模塊(NNPredctiv雙擊NNPredctiveController模塊,將會產(chǎn)生一個神經(jīng)網(wǎng)絡預測控制器參數(shù)設置窗口(NeuralNetworkPredctiveControl),如圖3-16所示。這個窗口用于設計模型預測控制器。圖3-16神經(jīng)網(wǎng)絡模型預測控制器參數(shù)設置窗口74雙擊NNPredctiveController模
在這個窗口中,有多項參數(shù)可以調(diào)整,用于改變預測控制算法中的有關參數(shù)。將鼠標移到相應的位置,就會出現(xiàn)對這一參數(shù)的說明。7524
3).系統(tǒng)辨識在神經(jīng)網(wǎng)絡預測控制器的窗口中單擊[PlantIdentification]按鈕,將產(chǎn)生一個模型辨識參數(shù)設置窗口(PlantIdentification),用于設置系統(tǒng)辨識的參數(shù),如圖3-17所示。
圖3-17模型辨識參數(shù)設置窗口
763).系統(tǒng)辨識圖3-17模型辨識參數(shù)設置窗口254).系統(tǒng)仿真
在Simulink模型窗口圖3-15中,首先選擇【Simulation】菜單中的【parameter】命令設置相應的仿真參數(shù),然后從【Simulation】菜單中單擊【Start】命令開始仿真。仿真的過程需要一端時間。當仿真結束時,將會顯示出系統(tǒng)的輸出和參考信號。如圖3-21。
圖3-21輸出和參考信號
774).系統(tǒng)仿真圖3-21輸出和參考信號265).數(shù)據(jù)保存在圖3-17中,利用[ImportData]和[ExportData]命令,可以將設計好的網(wǎng)絡和訓練數(shù)據(jù)保存到工作空間中或是保存到磁盤文件中。神經(jīng)網(wǎng)絡預測控制是使用神經(jīng)網(wǎng)絡系統(tǒng)模型來預測系統(tǒng)未來的行為。優(yōu)化算法用于確定控制輸入,這個控制輸入優(yōu)化了系統(tǒng)在一個有限時間段里的性能。系統(tǒng)訓練僅僅需要對于靜態(tài)網(wǎng)絡的成批訓練算法,當然,訓練速度非常快??刂破鞑灰诰€的優(yōu)化算法,這就需要比其他控制器更多的計算。
785).數(shù)據(jù)保存23.2.2反饋線性化控制
1.反饋線性化控制理論
反饋線性化(NARMA-L2)的中心思想是通過去掉非線性,將一個非線性系統(tǒng)變換成線性系統(tǒng)。
793.2.2反饋線性化控制281).辨識NARMA-L2模型與模型預測控制一樣,反饋線性化控制的第一步就是辨識被控制的系統(tǒng)。通過訓練一個神經(jīng)網(wǎng)絡來表示系統(tǒng)的前向動態(tài)機制,在第一步中首先選擇一個模型結構以供使用。一個用來代表一般的離散非線性系統(tǒng)的標準模型是:非線性自回歸移動平均模型(NARMA),用下式來表示:式中,u(k)表示系統(tǒng)的輸入,y(k)表示系統(tǒng)的輸出。在辨識階段,訓練神經(jīng)網(wǎng)絡使其近似等于非線性函數(shù)N。
801).辨識NARMA-L2模型29如果希望系統(tǒng)輸出跟蹤一些參考曲線y(k+d)=yr(k+d),下一步就是建立一個有如下形式的非線性控制器:
使用該類控制器的問題是,如果想訓練一個神經(jīng)網(wǎng)絡用來產(chǎn)生函數(shù)G(最小化均方差),必須使用動態(tài)反饋,且該過程相當慢。由Narendra和Mukhopadhyay提出的一個解決辦法是,使用近似模型來代表系統(tǒng)。
81如果希望系統(tǒng)輸出跟蹤一些參考曲線y(k+d)=yr(在這里使用的控制器模型是基于NARMA-L2近似模型該模型是并聯(lián)形式,控制器輸入u(k)沒有包含在非線性系統(tǒng)里。這種形式的優(yōu)點是,能解決控制器輸入使系統(tǒng)輸出踉蹤參考曲線y(k+d)=yr(k+d)。最終的控制器形式如下:82在這里使用的控制器模型是基于NARMA-L2近似模直接使用該等式會引起實現(xiàn)問題,因為基于輸出y(k)的同時必須同時得到u(k),所以采用下述模型:式中d2。
2).NARMA-L2控制器利用NARMA-L2模型,可得到如下的控制器:式中d2。
83直接使用該等式會引起實現(xiàn)問題,因為基于輸出y(k)的2.NARMA-L2(反饋線性化)控制實例分析——磁懸浮控制系統(tǒng)l).問題的描述
如圖1-22所示,有一塊磁鐵,被約束在垂直方向上運動。在其下方有一塊電磁鐵,通電以后,電磁鐵就會對其上的磁鐵產(chǎn)生小電磁力作用。目標就是通過控制電磁鐵,使得其上的磁鐵保持懸浮在空中,不會掉下來。
圖1-22懸浮磁鐵控制系統(tǒng)842.NARMA-L2(反饋線性化)控制實例分析——磁懸浮控建立這個實際問題的的動力學方程為:式中y(t)表示磁鐵離電磁鐵的距離,i(t)代表電磁鐵中的電流,M代表磁鐵的質(zhì)量,g代表重力加速度,代表粘性摩擦系數(shù),它由磁鐵所在的容器的材料決定;代表場強常數(shù),它由電磁鐵上所繞的線圈圈數(shù),以及磁鐵的強度所決定。
85建立這個實際問題的的動力學方程為:342).建立模型MATLAB的神經(jīng)網(wǎng)絡工具箱中提供了這個演示實例。只需在MATLAB命令窗口中輸入:narmamaglev,就會自動地調(diào)用Simulink,并且產(chǎn)生如圖3-23所示模型窗口。圖3-23模型窗口
862).建立模型圖3-23模型窗口353).系統(tǒng)辨識
雙擊NARMA-L2Controller模塊,將會產(chǎn)生一個新的窗口,如圖3-24所示。圖3-24系統(tǒng)辨識參數(shù)設置窗口
873).系統(tǒng)辨識圖3-24系統(tǒng)辨識參數(shù)設置窗口364).系統(tǒng)仿真在Simulink模型窗口圖3-23中,首先選擇【Simulation】菜單中的【parameter】命令設置相應的仿真參數(shù),然后從【Simulation】菜單中單擊【Start】命令開始仿真。仿真的過程需要一端時間。當仿真結束時,將會顯示出系統(tǒng)的輸出和參考信號。如圖3-25。
圖3-25輸出和參考信號
884).系統(tǒng)仿真圖3-25輸出和參考信號373.2.3模型參考控制
1.模型參考控制理論神經(jīng)模型參考控制采用兩個神經(jīng)網(wǎng)絡:一個控制器網(wǎng)絡和一個實驗模型網(wǎng)絡,如圖3-26中所示。首先辨識出實驗模型,然后訓練控制器,使得實驗輸出跟隨參考模型輸出。
圖3-26神經(jīng)模型參考控制系統(tǒng)893.2.3模型參考控制圖3-26神2.模型參考神經(jīng)網(wǎng)絡控制實例分析——機械臂控制系統(tǒng)
圖3-27顯示了神經(jīng)網(wǎng)絡實驗模型的詳細情況,每個網(wǎng)絡由兩層組成,并且可以選擇隱含層的神經(jīng)元數(shù)目。
圖3-27神經(jīng)網(wǎng)絡實驗模型
902.模型參考神經(jīng)網(wǎng)絡控制實例分析——機械臂控制系統(tǒng)圖3-2有三組控制器輸入:延遲的參考輸入、延遲的控制輸出和延遲的系統(tǒng)輸出。對于每一個這種輸入,可以選擇延遲值。通常,隨著系統(tǒng)階次的增加,延遲的數(shù)目也增加。對于神經(jīng)網(wǎng)絡系統(tǒng)模型,有兩組輸入:延遲的控制器輸出和延遲的系統(tǒng)輸出。
下而結合MATLAB神經(jīng)網(wǎng)絡工具箱中提供的一個實例,來介紹神經(jīng)網(wǎng)絡控制器的訓練過程。
91有三組控制器輸入:延遲的參考輸入、延遲的控制輸出和1)問題的描述圖3-28中顯示了一個簡單的單連接機械臂,目的是控制它的運動。首先,建立它的運動方程式,如下所示:式中代表機械臂的角度,u代表DC(直流)電機的轉(zhuǎn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 木蘭詞中英雄形象塑造分析教案
- 國學小名士觀后感
- 在線服務技術維護與支持服務合同協(xié)議
- 貨幣銀行學知識點測試卷
- 產(chǎn)品委托加工承攬合同協(xié)議
- 新聞傳媒產(chǎn)業(yè)發(fā)展趨勢試題集錦
- 智慧城市交通出行優(yōu)化方案設計報告
- 員工請假及銷假記錄表
- 格林童話幼兒故事解讀
- 木地板購銷質(zhì)量保證合同
- 駕駛員應急駕駛操作指南
- 細胞和組織損傷與修復復習題
- 2023年長沙民政職業(yè)技術學院單招面試題庫及答案解析
- GB/T 9793-2012熱噴涂金屬和其他無機覆蓋層鋅、鋁及其合金
- GB/T 30839.33-2015工業(yè)電熱裝置能耗分等第33部分:工頻無心感應爐
- DB14T 2586-2022“山西標準”(標識)評價技術規(guī)范 釀造用高粱
- 刑事強制措施制度課件
- 西方失語癥評定量表
- 女性兩癌篩查知識和預防措施課件
- 《礦山機械設備》講稿
- 三八婦女節(jié)活動策劃PPT模板
評論
0/150
提交評論