模糊控制詳細(xì)講解實例_第1頁
模糊控制詳細(xì)講解實例_第2頁
模糊控制詳細(xì)講解實例_第3頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一、速度控制算法:首先定義速度偏差-50 km/hwe (k)<50km/h, -20 < ec (i ) = e (k) - e (k-1 ) < 20,閥值 eswith =10km/h設(shè)計思想:油門控制采用增量式PID控制算法,剎車控制采用模糊控制算法,最 后通過選擇規(guī)則進(jìn)行選擇控制量輸入。選擇規(guī)則:e (k) <0 e (k) >- eswith and throttlr_1 工0 選擇油門控制 否則:先將油門控制量置0,再選擇剎車控制0<e (k)先選擇剎車控制,再選擇油門控制e (k) =0直接跳出選擇 剎車控制:剎車采用模糊控制算法1. 確定模

2、糊語言變量e基本論域取-50,50, ec基本論域取-20,20,剎車控制量輸出u基本論域取-30,30,這里我將這三個變量按照下面的公式進(jìn)行離散化:2n可ba(x-)其中,x a,b,n為離散度E、ec和u均取離散度n=3,離散化后得到三個量的語言值論域分別為:E=EC=U=-3,-2,-1,0,1,2,3其對應(yīng)語言值為 NB,NM,NS,ZO, PS,PM,PB 2. 確定隸屬度函數(shù)E/EC和U取相同的隸屬度函數(shù)即:g(x, -5, -1)trig (x, -3, -2,0)trig (x, 3,1,1)%,唱映=* trig (x, -2,0, 2)trig (x,-1,1,3) tri

3、g (x,0, 2,3)j g(x,1,5)說明:邊界選擇鐘形隸屬度函數(shù),中間選用三角形隸屬度函數(shù),圖像略 實際EC和E輸入值若超出論域范圍,則取相應(yīng)的端點值。3. 模糊控制規(guī)則由隸屬度函數(shù)可以得到語言值隸屬度(通過圖像直接可以看出)如下表: 表1: E/EC和U語言值隸屬度向量表-3-2-10123NB10.00000P05NM010.0000P15NS00.10.000P255ZO000.10.00P355PS0000.10.0P455PM00000.10P55PB000000.1P65設(shè)置模糊規(guī)則庫如下表: 表2:模糊規(guī)則表UEECNBNMNSZOPSPMPBNBPBPBPMPMPSZO

4、ZONMPBPMPMPSZOZONSNSPMP PMPSPSZONSNSZOPMPSPSZOZONSNMPSPSPSZOZOZONSNMPMPSP ZOZOZONSNMNBPBZOZOZONS*NMNMNB3.模糊推理由模糊規(guī)則表3可以知道輸入E與EC和輸出U的模糊關(guān)系,這里我取兩個 例子做模糊推理如下:if (E is NB) and (EC is NM) the n (U is PB)那么他的模糊關(guān)系子矩陣為:R 二 Re1 ReC2 Ru1其中,RE1 = PO = (1,0.5,0,0)17,即表1中NB對應(yīng)行向量,同理可以得到,010030 7 7fEC2 = P1 = (0,1,0

5、.5,0,0)1 7 ,農(nóng)1 = P0 = (1,0.5,0,0)1 7010.5 00 0.5 0.5 0Re1 沢Rec2=(1,0.5,0,,0)J(0,1,0.5,0,0)=000099990000Re1ec2 =(0,1,0.5,0,0,0,0,0,0.5,0.5,0,0)149000010.500Ri=Reiec2匯Rui=(0,1,0.5,,0)T x(1,0.5,0,0) =0.50.500aaas000 00100a0 -49x7R2 = RE1REC1RU1結(jié)果略if (E is NVBor NB) and (EC is NVB) then (U is PVB)按此法可得到

6、27個關(guān)系子矩陣,對所有子矩陣取并集得到模糊關(guān)系矩陣如下:R 二 RR2R(i=1,2, ,27)由R可以得到模擬量輸出為:U =(E EC)?R4. 去模糊化由上面得到的模擬量輸出為1 x 7的模糊向量,每一行的行元素(u (Zj ) 對應(yīng)相應(yīng)的離散變量Zj ,則可通過加權(quán)平均法公式解模糊:21V U(Zj)Zju =胃 (i = j =12,21) ' U(Zj )i=0從而得到實際剎車控制量的精確值 u。 油門控制:油門控制采用增量式PID控制,即:u(k)=u(k-1) (kp kikd)e(k) (-kp-2kd)e(k-1) kde(k-2)只需要設(shè)置kp、 ki、kd三個

7、參數(shù)即可輸出油門控制量、程序?qū)崿F(xiàn)及參數(shù)調(diào)節(jié)clear all(%*模糊算法%/* 隸屬度向量*Q/qP0=1,0.5,0,0,0,0,0;%*nbP1=0,1,0.5,0,0,0,0;%*nmP2=0,0.5,1,0.5,0,0,0;%*NsP3=0,0,0.5,1,0.5,0,0;(%*ZP4=0,0,0,0.5,1,0.5,0;(%*psP5=0,0,0,0,0.5,1,0;%*PMP6=0,0,0,0,0,0.5,1;(%*PBNB=-3;NM=-2;NS=-1;ZO=0;PS=1;PM=2;PB=3;*%*語言%/*模糊規(guī)則表 *%Pg=PB PB PM PM PS ZO ZO;PB

8、PM PM PS ZO ZO NS;PM PM PS PS ZO NS NS;PM PS PS ZO ZO NS NM;PS PS ZO ZO ZO NS NM;PS ZO ZO ZO NS NM NB;ZO ZO ZO NS NM NM NB;%/*根據(jù)規(guī)則表計算模糊關(guān)系矩陣*%R1_=dikaer(xbi ng(P0,P1),7,P0,7);R1_=reshape(R1_,1,49);R1=dikaer(R1_,49,P6,7);R2_=dikaer(xbi ng(P2,P3),7,P0,7);R2_=reshape(R2_,1,49);R2=dikaer(R2_,49,P5,7);R3_

9、=dikaer(P0,7,P1,7);R3_=reshape(R3_,1,49);R3=dikaer(R2_,49,P6,7);R4_=dikaer(xbi ng(P1,P2),7,P1,7);R4_=reshape(R4_,1,49);R4=dikaer(R4_,49,P5,7);R5_=dikaer(P3,7,P1,7);R5_=reshape(R5_,1,49);R5=dikaer(R5_,49,P4,7);R6_=dikaer(xbi ng(P0,P1),7,P2,7);R6_=reshape(R6_,1,49);R6=dikaer(R6_,49,P5,7);R7_=dikaer(xb

10、i ng(P2,P3),7,P2,7);R7_=reshape(R7_,1,49);R7=dikaer(R7_,49,P4,7);R8_=dikaer(P0,7,P3,7);R8_=reshape(R8_,1,49);R8=dikaer(R8_,49,P5,7);R9_=dikaer(xbi ng(P1,P2),7,P3,7);R9_=reshape(R9_,1,49);R9=dikaer(R9_,49,P4,7);R10_=dikaer(P3,7,P3,7);R10_=reshape(R10_,1,49);R10=dikaer(R10_,49,P3,7);R11_=dikaer(xbi ng

11、(P0,P1),7,P4,7);R11_=reshape(R11_,1,49);R11= dikaer(R11_,49,P4,7);P45=xb in g(P4,P5);R12_=dikaer(xbi ng(P2,P3),7,P45,7);R12_=reshape(R12_,1,49);R12=dikaer(R12_,49,P3,7);R13_=dikaer(P0,7,P5,7);R13_=reshape(R13_,1,49);R13=dikaer(R13_,49,P4,7);R14_=dikaer(P1,7,P5,7);R14_=reshape(R14_,1,49);R14=dikaer(R

12、14_,49,P3,7);P01=xb in g(P0,P1);R15_=dikaer(xbi ng(P01,P2),7,P6,7);R15_=reshape(R15_,1,49);R15=dikaer(R15_,49,P3,7);R16_=dikaer(P3,7,P6,7);R16_=reshape(R16_,1,49);R16=dikaer(R16_,49,P2,7);R17_=dikaer(P4,7,P0,7);R17_=reshape(R17_,1,49);R17=dikaer(R17_,49,P4,7);R18_=dikaer(xbi ng(P5,P6),7,P0,7);R18_=r

13、eshape(R18_,1,49);R18=dikaer(R18_,49,P3,7);R19_=dikaer(xbi ng(P4,P5),7,P1,7);R19_=reshape(R19_,1,49);R19=dikaer(R19_,49,P3,7);R20_=dikaer(P6,7,xbi ng(P1,P2),7);R20_=reshape(R20_,1,49);R20=dikaer(R20_,49,P2,7);P23=xbi ng(P2,P3);R21_=dikaer(P4,7,xb in g(P23,P4),7);R21_=reshape(R21_,1,49);R21=dikaer(R2

14、1_,49,P3,7);R22_=dikaer(P5,7,xb in g(P23,P4),7);R22_=reshape(R22_,1,49);R22=dikaer(R22_,49,P2,7);R23_=dikaer(P6,7,xbi ng(P3,P4),7);R23_=reshape(R23_,1,49);R23=dikaer(R23_,49,P1,7);R24_=dikaer(P4,7,P5,7);R24_=reshape(R24_,1,49);R24=dikaer(R24_,49,P2,7);R25_=dikaer(P5,7,P5,7);R25_=reshape(R25_,1,49);R

15、25=dikaer(R25_,49,P1,7);R26_=dikaer(P6,7,xbi ng(P6,P5),7);R26_=reshape(R26_,1,49);R26=dikaer(R26_,49,P0,7);R27_=dikaer(xbi ng(P4,P5),7,P6,7);R27_=reshape(R27_,1,49);R27=dikaer(R27_,49,P1,7);m=R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,R14,R15,R16,R17,R18,R19,R20,R21,R22,R 23,R24,R25,R26,R27;R=bi ngj

16、i(m);(%*初始化參量e=0;ec=0;y_1=0;y_2=0;u=0;u_1=0;u_2=0;u_3=0;e_1=0;e_2=0;Eswith=10;throttle_ 仁 0;brake_1=0;x=0 0 0;ts=0.001;sys=tf(1,1,2,1, 'in putdelay' ,0.5); dsys=c2d(sys,ts, 'zoh');num,den=tfdata(dsys, 'v');for k=1:1:40000%*制系統(tǒng)time(k)=k*ts;if (k<25000)vd(k)=40;elsevd(k)=0;e

17、ndy(k)=-de n(2)*y_1-de n( 3)*y_2+num(2)*u_1+ num(3)*u_2; e=vd(k)-y(k);ec=e-e_1;u_3=u_2;u_2=u_1;u_1=u;y_2=y_1;y_1=y(k);x(1)=e; x(2)=(e-e_1)/ts; x(3)=x (3)+e*ts;油門PID控制(%* kp=0.42;Ti=30;Td=0.0018;ki=kp*ts/Ti;kd=kp*Td/ts;dthrottle=kp*x(1)+kd*x(2)+ki*x(3);throttle=u_1+dthrottle;if (throttle>2000)thro

18、ttle=2000;end剎車控制(%*%/*壓縮輸入變量*%E=lisa n(-50,50,3,e);EC=lisa n(-20,20,3,ec);%/*計算實際輸入變量隸屬度向量*%E_R(1)=lbell(E,1,4,-3);E_R(2)=trig(E,-3,-2,0);E_R(3)=trig(E,-3,-1,1);E_R(4)=trig(E,-2,0,2);E_R(5)=trig(E,-1,1,3);E_R( 6)=trig(E,0,2,3);E_R=rbell(E,1,4,3);EC_R(1)=lbell(EC,1,4,-3);EC_R (2)=trig(EC,-3,-2,0);EC

19、_R (3)=trig(EC,-3,-1,1);EC_R(4)=trig(EC,-2,0,2);EC_R(5)=trig(EC,-1,1,3);EC_R(6)=trig(EC,0,2,3);EC_R(7)=rbell(EC,1,4,3);%/* 模糊推理過程 *%U_R1=dikaer(E_R,7,EC_R,7);U_R1=reshape(U_R1,1,49);U_R2=jdikaer(U_R1,49,R,7);U_R=max(U_R2);u_L=mea n(U_R); end(%/*去模糊化*%brake=-flisa n(-150,150,3,u_L);e_2=e_1;e_1=e;(%/*

20、選擇if (e<0)if (e>-Eswith)|(throttle_1=0)if (throttle<=throttle_1)throttle_1=throttle;u=throttle;Q(k)=u;W(k)=0;elsethrottle=0;throttle_1=throttle; u=throttle;Q(k)=u;W(k)=0;elseif (throttle_ 1=0) brake_1=brake; u=brake;W(k)=u;Q(k)=O;elsethrottle=0; throttle_1=throttle; u=throttle;Q(k)=u;W(k)=0;endendelseif (e=0)if (brake_仁=0) throttle_1=throttle; u=throttle;Q(k)=u;W(k)=0;elsebrake=0;brake_1=brake; u=brake;endelseu=0;W(k)=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論