1. 程式人生 > >模糊控制(二)

模糊控制(二)

應用例項:

假如控制一輛小車,輸入量為距離dst,角度 phi,輸出為線速度v,角速度w,

這裡共有6個變數;輸入有4個:距離,距離偏差,角度,角度偏差,輸出2個,線速度,角速度

假設線速度的變化範圍為線速度0.07m/s~0.8m/s,角速度0-0.4rad/s,0.4rad大概為23度

將距離量化為6個等級 【零,小,中小,中,中大,大】

_table_dst[6]= [0.01,0.2,0.5,0.8,1.0,1.2]]//

距離偏差量化為8個等級 【負大,負中,負小,負零,正零,正小,正中,正大】

table_len[8]= [-0.45,-0.25,-0.18,-0.07,0.07,0.18,0.25,0.45]

 

角度量化為6個等級

_table_alpha [6]=[0,15,40,60,80,100]

 _table_alpha[6 ]=【0,0.26,0.698,1.047,1.396,1.745】//實際用的是已經將角度轉換成了弧度

角度偏差量化為9個等級

_table_phi [9]=[-40,-25,-10,-5,0,5,10,25,40]//度數

_table_phi[9]= [-0.698,-0.436,-0.174,-0.08,0,0.08,0.174,0.436,0.698]//弧度

 

將線速度量化為6個等級【零,小,中小,中,中大,大】【0.0,0.2,0.4,0.6,0.8,1】

將角速度量化為9個等級【負大,負中,負小,負零,零,正零,正小,正中,正大】=【-1,-0.8,-0.4,-0.2,0,0.2,0.4,0.8,1】

將上面的6個變數的基本論域都劃分為13個等級,他們的離散論域分別可表示為

_table_v={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}

table_w={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}

 

模糊推理

IF A AND B THEN C確定了三元模糊關係R,即R=(AXB)‘XC

其中(AXB)‘為模糊關係矩陣(AXB)構成的mxn列向量,n和m分別為A和B論域元素的個數,基於模糊推理規則,根據模糊關係R,可求得給定輸入A1和B1對應的輸出C1

C1=(A1xB1)'R