模糊PID控制(理論 simulink)

2021-10-07 07:27:14 字數 1913 閱讀 2487

經典pid控制原理簡單,使用方便,適應性強的特點,但是缺點是精度低、抗干擾能力差等,因此為了改善pid效果,我們希望pid的引數不是固定不變的,而是根據當前的系統狀態實時調整pid引數,於是就產生了很多自適應調參的方法,其中之一就是模糊pid控制方法。

模糊pid控制方法:以誤差e 和誤差變化率ec 作為輸入,利用模糊規則進行模糊推理,查詢模糊矩陣表進行引數調整,來滿足不同時刻的 e和

ec對pid引數自整定的要求。即實時根據e和ec來調整pid引數。

這裡將以乙個簡單的例子,按照步驟來講解

模糊pid控制器有兩個輸入值,乙個是偏差e,以及當前偏差和上次偏差的變化(差值)ec兩個值(連續系統就是偏差的微分)。

我們要對這兩個值進行模糊化。首先我們需要先確定e和ec的值域,在這裡我們假設該e的區間為-240到240,再假設ec的區間為-40到+40。

接著我們要對這兩個區間進行分段,便於模糊化。我現在將e的區間(-240 到 240)分成8段,因此需要7個分段點(不包含兩端端點),那麼這8段分別為

-

240~

-180,

-180~-

120 ,

-120~-

60, -60~

0, 0

~60,

60~120,

120~180

180~

240。

然後我們把7個分段點-180,-120,-60,0,60,120,180分別命名為nb,nm,ns,zo,ps,pm,pb表示(個人理解n為negative,p為positive,b為big,m為middle,s為small,zo為zero)。例如,當e = 170時,此時的e屬於pm和pb之間,因此此時e既屬於pm也屬於pb,自然就會涉及到e屬於pm的程度和屬於pb的程度。e屬於pm(120)的百分比為(180 - 170) / (180 - 120) = 1 / 6 ,而同理屬於pb(180)的百分比為(170 - 120) / (180 - 120) = 5 / 6 。意思就是120到180進行線性分割了,e離pm和pb哪個更近,則隸屬於哪個就更大(當輸出值e大於180(pb)時,則隸屬度為1,隸屬度值為pb,即e完全隸屬於pb,同理當e小於 - 180 (nb)時也一樣)。

同理對ec進行模糊化,ec也會有他對應的nb,nm,ns,zo,ps,pm,pb。

前面我們已經確定e和ec的隸屬和隸屬度,下面我們進行查表,這個表的名稱為:模糊規則表

首先找到e的兩個隸屬,比如假設為pm、pb,且假設e屬於pm的隸屬度為a(a < 1),屬於pb的隸屬度為(1 - a),再假設ec的兩個隸屬度為nb、nm,且ec屬於nm的隸屬度為b,則屬於nb的隸屬度為(1 - b)。然後我們順著表差,就可以查到四個值:

比如上面這張圖我們查到四個值:zo,zo,zo,ns,他們的概率分別為:a(1-b),ab,(1-a)*(1-b),(1-a)*b,因此通過該模糊規則的輸出為:zo * a(1-b)+ zo *ab+ zo (1-a)(1-b)+ns * (1-a)*b。

注意:這裡的輸出對應的就是pid的三個引數,每個引數都有其對應的規則表,且規則表裡面的nb,nm,ns,zo,ps,pm,pb是pid的三個引數各自的分段點!!!!!所以我們在開始前還需要對pid的三個引數進行分段!!!!

模糊PID控制

在現實控制中,被控系統並非是線性時不變的,往往需要動態調整pid的引數,而模糊控制正好能夠滿足這一需求,所以在接下來的這一節我們將討論模糊pid控制器的相關問題。模糊pid控制器是將模糊演算法與pid控制引數的自整定相結合的一種控制演算法。可以說是模糊演算法在pid引數整定上的應用。模糊演算法是一種...

模糊PID控制演算法

在pid控制演算法的c 語言實現中,文章已經對模糊pid的實質做了乙個簡要說明。基本概念和思路進行一下說明,相信有c 語言基礎的朋友可以通過這些介紹性的文字自行實現。這篇文章主要說明一下模糊演算法的含義和原理。實際上模糊演算法屬於智慧型演算法,智慧型演算法也可以叫非模型演算法,也就是說,當我們對於系...

控制理論 PID抗積分飽和控制

當系統輸入達到極限值而控制器的積分器仍未停止積分時,積分器會繼續增加,但是輸出無法反映到系統輸入上,而過高的積分器狀態又會使系統的瞬態響應效能下降,從而整個系統的超調增大,調整時間延長。積分飽和問題來自包含積分的控制器,如pid控制器 pi控制器,而且系統中包含 輸出限幅 saturation 簡單...