模糊數(shù)學倒立擺優(yōu)化_第1頁
模糊數(shù)學倒立擺優(yōu)化_第2頁
模糊數(shù)學倒立擺優(yōu)化_第3頁
模糊數(shù)學倒立擺優(yōu)化_第4頁
模糊數(shù)學倒立擺優(yōu)化_第5頁
免費預覽已結(jié)束,剩余13頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、小車倒擺模糊系統(tǒng)控制簡介迄今為止,相當多的模糊神經(jīng)網(wǎng)絡都是結(jié)合控制問題,特別是倒擺控制問題提出的。作為智能控制研究中的一個經(jīng)典對象,在倒擺問題中應用神經(jīng)網(wǎng)絡方法, 首推Widrow等人的工作。但較具代表性的結(jié)果則主要是由加州大學伯克利分校, 以L.A.Zadeh為首的“fuzzy group ”作出的。1992年J.S.Jang 提出的自適應 神經(jīng)網(wǎng)絡模糊控制的方法對于倒擺控制系統(tǒng)這個經(jīng)典問題又有了極大的發(fā)展。下面我們使用基于自適應網(wǎng)絡的模糊推理系統(tǒng) ANFIS來研究倒擺的控制問題。二、小車倒擺動力學模型圖1中給出了二維的桿和滑車系統(tǒng),滑車可以沿軌道運動。如圖1所示。倒 立擺不是穩(wěn)定的,如果沒

2、有適當?shù)目刂屏ψ饔迷谒厦妫鼘㈦S時可能向任何方向傾倒。這里只考慮二維問題,即認為倒立擺只在圖2所示平面內(nèi)運動。控制力 F作用于小車上。假設擺桿白重心位于其幾何中心 Ao在滑車的質(zhì)量重心的控制力為F,現(xiàn)設計其控制器,使桿盡可能平衡,同時滑車的水平位置也得到控制, 跟蹤一個指令信號xd(t)。其中M為滑車的質(zhì)量;m為桿的質(zhì)量;l為桿長的一八c ,2半;g 9.8m/s為重力加速度圖1倒立擺系統(tǒng)圖2隔離體受力圖建立該系統(tǒng)的運動方程式,首先設輸入作用力為 F ,輸出為擺角o設擺桿(Xa, Ya)于是:Xax l sinYal cos擺桿圍繞中心A點轉(zhuǎn)動方程為:d2J2- Vl sin Hl cosd

3、t2式中J為擺桿圍繞重心A的轉(zhuǎn)動慣量。擺桿重心A沿x軸的運動方程為:mH dt2d2m2(x lsin ) H dt2桿重心A沿y軸方向運動方程:md yA V mg dt2d2m dt2( l cos ) V mg小車沿x軸方向運動方程式為:MdF FJ 1ml23ml( sincos2) VMgm(xdt2l sin )m(x l (cos sin2)(M m) x ml cosmlsin 24ml2 3lmcos xMgml cos43ml2ml cosmlsinMg此倒擺系統(tǒng)為非線性系統(tǒng)。為了運用線性系統(tǒng)理論和模糊控制中的 Takagi-Sugeno模型進行控制器的分析和設計,可考慮將

4、其先進行局部線性化, 使之成為若干子系統(tǒng),再將這些子系統(tǒng)進行綜合。其物理意義是:將整個四維狀 態(tài)空間分為L個模糊子空間集合,對每個模糊子空間,系統(tǒng)的動力學特性可用一 個局部線性狀態(tài)方程來描述。整個系統(tǒng)動力學的特性則是這些局部線性模型的加 權和。該模糊建模方法的本質(zhì)在于將一個整體非線性的動力學模型用多個局部線 性模型進行模糊逼近。三、車桿系統(tǒng)的MATLA嚷型MATLA提供了函數(shù)linmod ,從而可以在不同狀態(tài)點處對非線性系統(tǒng)進行線 性化。下面利用這個函數(shù)來對小車模型進行線性化。首先,把車桿系統(tǒng)輸入到 MATLAB在Simulink編輯環(huán)境中創(chuàng)建如圖3所示 的一個車桿系統(tǒng)模型,將其存盤為In.m

5、dl o圖3車棒系統(tǒng)動力學模型四、對象模糊線性化為了對小車模糊進行分析,可以將小車模型用開環(huán)子系統(tǒng)封裝起來。用Create Subsystem命令產(chǎn)生一個車體動力學*S型子系統(tǒng)。模型如圖4所示:圖4車棒對象系統(tǒng)封裝模型在初始化項中加入初始狀態(tài)設置和系統(tǒng)參數(shù)的設置:初始狀態(tài)設置為0,0,0,0(即平衡位置);小車質(zhì)量M 1;桿的質(zhì)量為m 0.1;桿的長度的一半l 0.5;重力加速度 g 9.8。右擊 Cart&Pole Dynamics 選擇 Mask Parameters ,彈出Function Block Parameters對話框,修改參數(shù)設置如圖 5所示:圖5參數(shù)設置在系統(tǒng)的仿真

6、模型中采用了系統(tǒng)的, 完全的,非線性的模型,但是在設計系 統(tǒng)的控制器時,上述非線性的模型雖然精確,但由于過于復雜,非常不利于設計 出簡單、實用的的系統(tǒng)控制器。因為在設計系統(tǒng)控制器時,希望利用一些不那么 精確卻簡單的系統(tǒng)模型,例如,線性系統(tǒng)模型,這就需要把非線性模型轉(zhuǎn)化為線性模型。通常的做法是將非線性模型在系統(tǒng)的某個工作狀態(tài)進行線性化,這時可用MATLAB勺命令linmod將系統(tǒng)線性化,其調(diào)用格式為A, B, C, D=linmod( 'In.mdl ' ,0,0,0,0, 0)得到的系統(tǒng)線性模型如下:''系統(tǒng)狀態(tài)變量為x=,系統(tǒng)輸入為控制力U=F,系統(tǒng)卒&

7、;出為y''xx系統(tǒng)狀態(tài)方程為 ' x Ax Bu系統(tǒng)輸出方程為'_ 一y Cx Du這樣我們就得到了系統(tǒng)的一個線性化模型?;谶@種線性模型,用線性系統(tǒng)理論很容易就能夠設計出其控制器。五、 Takagi-Sugeno型自適應神經(jīng)網(wǎng)絡模型控制器的設計用Takagi-Sugeno模型設計的模糊控制器,對應于其用 also連接的第一條 模糊規(guī)則??梢詫⒃撃:刂破骺醋饕粋€線性控制器, 而整體的控制器由多條模 糊推理規(guī)則處理,經(jīng)過模糊綜合、清晰化等過程后,逼近一個非線性的控制器。它的物理意義是:將一個非線性系統(tǒng)在不同的若干狀態(tài)下進行線性化,然后分別設計控制器,將分別設計

8、的線性控制器用模糊控制的理論進行綜合,使之成為一個非線性的控制器??梢钥闯觯绻x擇了合適的線性化狀態(tài)、模糊空間劃分、 模糊隸屬度函數(shù)、局部線性控制器,其最終得到的控制系統(tǒng)將優(yōu)于一般的線性理 論所得到控制器??刂破髂P涂芍苯邮褂肧imulink中的Fuzzy controller 來實現(xiàn),控制的參 數(shù)和類型只需對Fuzzy controller模塊的參數(shù)Fismatrix進行設置來實現(xiàn)。Takagi-Sugeno型模糊控制器的設計關鍵是得到輸入的模糊集合隸屬度函 數(shù)以及輸入、輸出規(guī)則??梢愿鶕?jù)經(jīng)驗和習慣來確定輸入的模糊集合及其隸屬度 函數(shù),而模糊規(guī)則 可以在相應的模糊集合隸屬度函數(shù)的最大值點來

9、 設計 (Takagi-Sugeno型控制器的輸入、輸出規(guī)則為線性函數(shù),可以設計為該點處的車桿閉環(huán)系統(tǒng)模型結(jié)構(gòu)如最優(yōu)控制或是用極點配置等方法得到線必性控制器)圖6所示:六、確定輸入變量空間根據(jù)實際控制要求,可以大致確定的狀態(tài)變量和控制變量的范圍如下:設定桿平衡指標0.3,0.3,1 1,1;跟蹤目標指標xd(t) 2.5,2.5;控制位置偏差指標x 3,3;跟蹤速度指標x' 3,3;控制力限制F 10,10。七、輸入空間數(shù)據(jù)點的選取根據(jù)上述的范圍分析,可以劃分狀態(tài)空間。這里采用MATLA卻度來自動產(chǎn)生狀態(tài)空間中的點集,程序 genstate.m 和order.m用來產(chǎn)生狀態(tài)空間的點。

10、order.m用來將輸入各個變量的分割數(shù)目的排列組合,genstate.m 用來調(diào)用order.m 來生成輸入變量數(shù)據(jù)點。函數(shù) order.m 和genstate.m 原代碼如下:刷數(shù) order. mfunction h=order(x) %x=3,2,4,5;n=length(x);%計算輸入變量個數(shù)w=prod(x,2); h=;%+算總數(shù)據(jù)點數(shù)N = n1 x n2 x n3 x n4 for i=1:n a=w/prod(x(1:i),2); b=w/x(i)/a; c=;m=;for k=1 :x(i);c=c;k*ones(a,1);endfor j=1:b;m=m;c;endh

11、=h,m;endreturn ;%S 數(shù) genstate. mfunction h=genstate()n1=5;%輸入變量一的分割點數(shù)目n2=5;%輸入變量二的分割點數(shù)目n3=5;%輸入變量三的分割點數(shù)目n4=5;%輸入變量四的分割點數(shù)目%止述數(shù)目不必相等難們在每個變量方向上都選5個點data=order(n1 n2 n3 n4);al =linspace(-0.3,0.3,n1);a2=linspace(-1,1,n2);a3=linspace(-3,3,n3);a4=linspace(-3,3,n4);%h面是進行均勻分割呦口果不想使用均勻分割可以直接給定其他的分割點%且是個數(shù)必須與前

12、面指定的相當涮如 al=-0.25 -0.15 0 0.2 0.3;for i=1:length(data);data(i,1)=al (data(i,1);data(i,2)=a2(data(i,2);data(i,3)=a3(data(i,3);data(i,4)=a4(data(i,4);end;%h述語句將各個輸入變量組合成數(shù)據(jù)h=data;return ;編寫好上述函數(shù)并存盤在MATLAB工作目錄下,可以通過下列命令來觀察這 兩個函數(shù)的作用:order(3,2,4,5) genstate()八、數(shù)據(jù)點輸出計算對于上面劃分的模糊BO心間,用上述的每個離散狀態(tài)空間點 X1,X2,.,Xn

13、<線性化線性車桿模型,選擇合適的 LQR控制參數(shù)Q,R,N ,設計出線性最優(yōu)控制0000器2,心,.,(。根據(jù)控制要求和仿真結(jié)果選擇一組 Q,R,N :500 1000,R 0.5, N10 000經(jīng)仿真發(fā)現(xiàn)閉環(huán)系統(tǒng)的系統(tǒng)動態(tài)性能比較能符合要求。在MATLAB提供函數(shù)K,S,E lqr(A,B,Q,R,N)來針對每個空間輸入點來設計最優(yōu)控制器Kl ,這里A,B是前面線性化得到的九、訓練生成ANFIS模糊推理系統(tǒng)當獲得了足夠的數(shù)據(jù),就可以用自適應神經(jīng)網(wǎng)絡模糊系統(tǒng)來模糊這些離散狀 態(tài)的和并且模糊綜合那些線性控制器Ki, K2,,Kn ,即訓練產(chǎn)生模糊規(guī)則和隸屬度函數(shù)。下面,用模糊神經(jīng)網(wǎng)絡并根

14、據(jù)上述的離散狀態(tài)空間采樣點及其相應的控 制力Fi,F2,.Fn ,來訓練產(chǎn)生模糊控制器。MATLA中提供函數(shù)ANFISA完成,經(jīng)過 訓練得到的模糊控制參數(shù)矩陣包括輸入的模糊隸屬度函數(shù)及輸出Sugen那模糊控制規(guī)則。下面函數(shù)genfismat.m來完成ANFISS統(tǒng)的訓練過程:爐中k為前面生成的輸入空間數(shù)據(jù)function h= genfismat(k) q=10 0 0 0;0 5 0 0;0 0 100 0;0 0 0 5;%最優(yōu)控制參數(shù)Qr=0.5;%最優(yōu)控制參數(shù)Rn=0 ;0 ; 0; 0;%1優(yōu)控制參數(shù)Nlk=size(k);lk=lk(1);data=;for i=1:lk;a,b,

15、c,d=linmod( 'ln' ,k(i,:); 照4所生成的對象模型K,S,E=lqr(a,b,q,r,n);X=k(i,:)*K'R=k(i,:),-X;data=data;R; end h=data;return下面這段命令用來結(jié)合前面的所有程序和過程來完整地生成車桿系統(tǒng)的模糊控制器。在確認前面所編寫的函數(shù) genfismat.m、genstate.m、genrules.m、 order.m以及模型cp1.mdl文件都已經(jīng)存在之后,輸入下面命令來生成該車桿系統(tǒng) 的模糊控制器:state=genstate;fismatrix=genrules(state);輸出結(jié)

16、果如下圖所示firis =nan.eztype1andJletlLod: orllet?ied! defuz Method: inpffetiod:input: output :rule:'anfis1'stif eno?* prod''jitaj!,f vrt avex?'ptotTr imi3工1x4 struct1x1 s-t ruct1x16 st met 還可以通過圖形化的工具來進一步觀察和修改結(jié)果模糊系統(tǒng),如下圖所示10 Rule- Vir'rrz arflsFile Edrt 曲ew Oprt dhs輸入命令:fuzzy(fisma

17、trix)« £ 皿如 IK百Id 匚1ifiSIMI 一 L - IH . L J I-IB L - - -1 - L=J - L B - II -LJ -"0K MUInp4l域隼ip可hpirt2L ®pduJput.15"必:邑gU心期1 MN|911皿中0|1 rsr十、模型仿真根據(jù)上述的倒擺模型和線性化理論,用模糊神經(jīng)網(wǎng)絡訓練產(chǎn)生模糊規(guī)則,用 MATLA般計函數(shù)genrules來產(chǎn)生控制參數(shù)矩陣fismatrix ,利用命令save xz.fis fismatrix 來生成xz.fis 文件,以后可以使用前調(diào) 用命令fiamatri

18、x=readfis ( 'xz.fis ')就可以進行仿真了。MATLA中自帶了車棒系統(tǒng)的仿真本K型以及一個設計好的Sugeno型模糊控制系統(tǒng)。仿真模型可以通過 SLCP可以打開這個仿真模塊。如果我們希望使用剛才自己所創(chuàng)建的模糊推理系統(tǒng)xz.fis ,可以在打開模型以后,在MATLAB!作命令行環(huán)境里輸入命令 fiamatrix=readfis ( 'xz.fis ') 用我們創(chuàng)建好的模糊模型來替換系統(tǒng)自帶的推理系統(tǒng)。仿真圖如下。卜一、對控制參數(shù)進行修改已達到最優(yōu)控制1、先對R0.5進行修改,當Rfi從0.5減小到0.1時,圖形變化如下:R=0.1時的仿真將上圖

19、與R=0.5時的仿真進行對比,可以看出,仿真結(jié)果變化不大,系統(tǒng) 能達到控制的效果。當Rfi從0.5逐漸增大時,圖形變化如下:R=1R=2將上述兩圖與R0,5時進行對比,可以看出,R逐漸增大時,系統(tǒng)不能達到 控制的效果。綜上所述:最優(yōu)控制參數(shù)RR好維持在0.1 ,1.0的區(qū)間內(nèi),系統(tǒng)才能達到控制的效果。2、對控制參數(shù)n=0 ;0 ; 0;0 進行修改,當n=10 ;0 ; 0; 0 時,仿真結(jié)果如 下:當門=0 ;10 ; 0; 0時,仿真結(jié)果如下:當時0 ;0 ; 10; 0時,仿真結(jié)果會出現(xiàn)錯誤,無法仿真。當時0 ;0 ; 0; 10時,當時10;0 ; 10;0時,將上述仿真結(jié)果與n=0 ;0 ; 0;0時進行對

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論