【正文】
圖 34 二維模糊控制器 圖 35 三維模糊控制器 沈陽化工大學(xué)學(xué)士學(xué)位論文 第三章 模糊 控制器及其設(shè)計(jì) 15 從理論上講,模糊控制系統(tǒng)所選用的模糊控制器維數(shù)越高,系統(tǒng)的控制精度也就越高。 模糊控制器的隸屬函數(shù) 典型的隸屬函數(shù)有 11 種 , 即雙 S 形隸屬函數(shù)、聯(lián)合高斯型隸屬函數(shù)、高斯型隸屬函數(shù)、廣義鐘形隸屬函數(shù)、雙 S 形乘積隸屬函數(shù)、 S 狀隸屬函數(shù)、梯形隸屬函數(shù)、三角隸屬函數(shù)、 Z 形隸屬函數(shù)。 圖 42 高斯型隸屬函數(shù) ⑵ 廣義鐘形隸屬函數(shù) ba cxcbaxf 2||11),( ??? 見圖 43,它的 MATLAB 表示為 gbellmf(x,[a,b,c])。 圖 44 S 形隸屬函數(shù) ⑷ 梯形隸屬函數(shù) 見圖 45,它的 MATLAB 表示為 trapmf(x,[a,b,c,d])。 圖 46 三角形隸屬函數(shù) ⑹ Z 形隸屬 函數(shù) 見圖 47,它的 MATLAB 表示為 zmf(x,[a,b])。 ⑶ 系數(shù)加權(quán)平均法 ?? ?? i iikxku 沈陽化工大學(xué)學(xué)士學(xué)位論文 第三章 模糊 控制器及其設(shè)計(jì) 18 模糊 PID 控制器的工作原理 模糊 PID 控制器是運(yùn)用模糊數(shù)學(xué)的基本理論和方法,把控制規(guī)則的條件、操作用模糊集表示,并把這些模糊控制規(guī)則及有關(guān)專家的控制信息作為 知識存入計(jì)算機(jī)知識庫中 [8],然后計(jì)算機(jī)根據(jù)控制系統(tǒng)實(shí)際響應(yīng)狀況,運(yùn)用模糊控制規(guī)則表中的相關(guān)的規(guī)則進(jìn)行模糊推理 。 模糊 PID 控制器有多種結(jié)構(gòu)和形式,但是其原理都是基本一致的。 模糊 PID 控制器組織結(jié)構(gòu)和算法的確定 論文中, 模糊 PID 控制器 的 設(shè)計(jì)選用二維模糊控制器 。 圖 41 自適應(yīng)模糊 PID 控制器 其中 PID 控制器部分采用的是離散 PID 控制算法, 如公式 41。 論文 將輸入的誤差 (e)和誤差微分 (ec)分為 7 個(gè)模糊集: NB(負(fù)大 ), NM(負(fù)中 ), NS(負(fù)小 ), ZO(零 ), PS(正小), PM(正中 ), PB(正大 )。 沈陽化工大學(xué)學(xué)士學(xué)位論文 第四章 模糊 PID 控制器的設(shè)計(jì) 20 將輸出的Δ KP, Δ KD, Δ KI 也分為 7 個(gè)模糊集: NB(負(fù)大 ), NM(負(fù)中 ),NS(負(fù)小 ), ZO(零 ), PS(正?。?, PM(正中 ), PB(正大 )。 確定輸入輸出變量的實(shí)際論域 根據(jù)控制要求,對各個(gè)輸入,輸出變量作如下劃定: e, ec 論域 :{ 6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6} Δ KP, Δ KD, Δ KI 論域 :{ 6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6} 應(yīng)用模糊合成推理 PID 參數(shù)的整定算法。 為了 便于 系統(tǒng)輸入,輸出參數(shù)映射到 論域內(nèi) 。 定義輸入、輸出的隸屬函數(shù) 誤差 e、誤差微分及控制量的模糊集和論域確定后,需對模糊變量確定隸屬函數(shù) 。 參考輸入、輸出變量的變化規(guī)律, 依據(jù)第三章中 節(jié)相關(guān)內(nèi)容。最終作如下規(guī)定: 對于輸入量誤差 (e),誤差微分 (ec)都采用高斯型的隸屬函數(shù) (gaussmf),同時(shí)為體現(xiàn)定義的 7 個(gè)模糊子集,見圖 48 和圖 49。 沈陽化工大學(xué)學(xué)士學(xué)位論文 第四章 模糊 PID 控制器的設(shè)計(jì) 21 圖 410 KP 變化量隸屬函數(shù) 圖 411 KD 變化量隸屬函數(shù) 圖 412 KI 變化量隸屬函數(shù) 確定相關(guān)模糊規(guī)則并建立模糊控制規(guī)則表 根據(jù)參數(shù) KP、 KI、 KD 對系 統(tǒng)輸出特性的影響情況,可以歸納出系統(tǒng)在被控過程中對于不同的偏差和偏差變化率參數(shù) KP、 KI、 KD 的自整定原則 : ⑴ 當(dāng)偏差較大時(shí),為了加快系統(tǒng)的響應(yīng)速度,并防止開始時(shí)偏差的瞬間變大可能引起的微分過飽和而使控制作用超出許可范圍,應(yīng)取較大的 KP 和較小的KD。 ⑵ 當(dāng)偏差和變化率為中等大小時(shí),為了使系統(tǒng)響應(yīng)的超調(diào)量減小和保證一定的響應(yīng)速度, KP 應(yīng)取小些。 ⑶當(dāng)偏差變化較小時(shí),為 了使系統(tǒng)具有較好的穩(wěn)態(tài)性能,應(yīng)增大 KP、 KI 值,同時(shí)為避免輸出響應(yīng)在設(shè)定值附近振蕩,以及考慮系統(tǒng)的抗干擾能力,應(yīng)適當(dāng)選取 KD。 參考以上自整定原則,總結(jié)工程設(shè)計(jì)人員的技術(shù)知識和實(shí)際操作經(jīng)驗(yàn),建立合適的關(guān)于 e、 ec、 Δ KP、 Δ KD、 Δ KI 的模糊規(guī)則,如: (e is NB) and (ec is NB) then (KP is PB)(KI is NB)(KD is PS) (e is NB) and (ec is NM) then (KP is PB)(KI is NB)(KD is NS) (e is NB) and (ec is NS) then (KP is PM)(KI is NM)(KD is NB) ...... (e is PB) and (ec is PB) then (KP is NB)(KI is PB)(KD is PB) 將以上規(guī)則定義成模糊規(guī)則控制表 ,見表 41, 42, 43。 例 如 , 它的控制規(guī)則形式符合人們的思維和語言表達(dá)的習(xí)慣,控制策略能夠方便地表達(dá),控制算法簡單等。 ⑵ 規(guī)則匹配和觸發(fā) 給定輸入的誤差和誤差微分后,分別代入隸屬函數(shù)中,并 求出關(guān)于所建立七個(gè)模糊子集的隸屬度 , 統(tǒng)計(jì)輸入的誤差和誤差微分隸屬度不為零的模糊子集對數(shù),依照模糊控制規(guī)則表,查得并統(tǒng)計(jì)輸出對應(yīng)的模糊子集。對前提的可信度之間通過取小運(yùn)算來確定, 之后統(tǒng)計(jì)出規(guī)則總的可信度。 通過統(tǒng)計(jì),可以得到被觸發(fā)的若干條規(guī)則 。 以 e=,ec= 為例,解模糊過程見圖 413。 將以上參數(shù)與初始參數(shù)整合的值 KP=, KD=, KI=。沈陽化工大學(xué)學(xué)士學(xué)位論文 第五章 模糊 PID控制器的 MATLAB仿真 25 第五章 模糊 PID 控制器 的 MATLAB 仿真 模糊控制部分的 fuzzy inference system 仿真 定義輸入輸出變量并命名 在 MATLAB 提示符下鍵入下列名字啟動(dòng)系統(tǒng) “ Fuzzy”。打開 Edit 菜單并選擇 Add Variable...分別添加輸入、輸出,并分別命名為 E, EC,Δ KP, Δ KI, Δ KD。 圖 51 設(shè)置好的 FIS 編輯器 編輯隸屬函數(shù) 在上圖所示窗口中,打開 View 下拉式菜單并選擇 Edit Membership Functions...通過雙擊各個(gè)變量,設(shè)置 Range 和 Display Range。從 Edit 菜單中選擇 Add MFs...分別對系統(tǒng)的輸入輸出變量按照設(shè)計(jì)書對隸屬函數(shù)的類型、數(shù)量進(jìn)行定義,見圖 52。 圖 53 模糊規(guī)則庫 綜上,對模糊控制器的各部分設(shè)置完成,將其保存為“ ” 。 沈陽化工大學(xué)學(xué)士學(xué)位論文 第五章 模糊 PID控制器的 MATLAB仿真 27 圖 54 曲面觀察器 通過分析圖形特點(diǎn),可以看到它有明顯的梯度分布,說明所設(shè)計(jì)的模糊系統(tǒng)從誤差和誤差變化到三個(gè) PID 參數(shù)變化量的模糊映射與理論設(shè)計(jì)匹配良好。 對模糊控制器的 SIMULINK 建模 MATLAB 提供的 SIMULINK 是一個(gè)用來對動(dòng)態(tài)系統(tǒng)進(jìn)行建模,仿真與分析的軟件包 [11]。 SIMULINK 包含多個(gè)子模型庫,每個(gè)子模型庫里又包含多個(gè)功能模塊。 將模糊系統(tǒng)載入 SIMULINK SIMULINK 可以與模糊 邏輯 工具箱結(jié)合。 在 SIMULINK 中建立模糊子系統(tǒng) 在 MATLAB 的命令窗口里鍵入“ SIMULINK” 可建立一個(gè)新的 SIMULINK沈陽化工大學(xué)學(xué)士學(xué)位論文 第五章 模糊 PID控制器的 MATLAB仿真 28 仿真模型。確定模糊化因子為: ke=kec=。 建立如下模型,并將其封裝成子系統(tǒng)。 3Kd2Ki1Kp0 . 0 1G a i n 40 . 0 1G a i n 30 . 0 1G a i n 20 . 5G a i n 10 . 0 1G a i nF u zz y L o g i c C o n t r o l l e r2ec1e 圖 55 模糊控制器 PID 部分的 SIMULINK 建模 首先,在 MATLAB 提示符下鍵入下“ SIMULINK”, 啟動(dòng) SIMULINK 模塊。建立“五入單出”的 PID 控制器。 1O u t 1P r o d u ct 3P r o d u ct 2P r o d u ct 11sI n t e g r a t o rA d d5ec4Kd3e2Ki1Kp 圖 56 五輸入 PID 控制器 沈陽化工大學(xué)學(xué)士學(xué)位論文 第五章 模糊 PID控制器的 MATLAB仿真 29 模糊 PID 控制器的 SIMULINK 建模 完成各個(gè)部分的 SIMULINK 仿真 后 。為了預(yù)置初始參數(shù),利用 SIMULINK中“ Commonly Used Blocks”下的“ Constant 模塊”和“ Sum 模塊”。 依照以上要求,建立 如圖 57 模型。K i 39。e 1O u t 1KpKieKdecO ut 1P I D C o n t r o l l e rKpKiKdeecKpKiKdF u zz y co n t r o l l e r1 . 3 5C o n s t a n t 220C o n s t a n t 13 . 7C o n s t a n t2ec1e 圖 57 模糊 PID 控制器 利用子系統(tǒng)對控制系統(tǒng)進(jìn)行 SIMULINK 建模 先將各個(gè)部分封裝成子系統(tǒng) ,再 把控制器與被控對象進(jìn)行連接,設(shè)定單位負(fù)反饋回路以形成閉環(huán)系統(tǒng)。 I n1I n2O ut 1f u s s yP I D2s + 3 s + 12T r a n s f e r F 12s + 3 s + 12T r a n s f e r F T i m eT o W o r k s p a ceS t e pS co p eP I D ( s )P I D C o n t r o l l e rd u / d tD e r i va t i veC l o ck 圖 58 控制系統(tǒng) SIMULINK 模型 控制系統(tǒng) 的 SIMULINK 仿真研究 在 MATLAB 中先載入 文件,按“ F5”進(jìn)行運(yùn)行,這里工作空間包含了名為“ matrix”的矩陣,其表達(dá)了模糊控制規(guī)則的相關(guān)信息,在 MATLAB的命令欄中顯示如下: matrix = name: 39。 type: 39。 andMethod: 39。 orMethod: 39。 defuzzMethod: 39。 impMethod: 39。 aggMethod: 39。 沈陽化工大學(xué)學(xué)士學(xué)位論文 第五章 模糊 PID控制器的 MATLAB仿真 31 input: [1x2 struct] output: [1x3 struct] rule: [1x49 struct] 在模糊控制器的 SIMULINK 模型中的“ Fuzzy Logic Controller 模塊”上雙擊鼠標(biāo)左鍵,在彈出的窗口 中將“ FIS file or structure:”的值設(shè)定為: matrix。其文件名為: 。用鼠標(biāo)點(diǎn)擊“ Start simulation 按鍵”。 圖 59 控制系統(tǒng)的輸出波形 其中,黃色線表示輸入 (單位 階躍信號 );綠色表示經(jīng)典 PID 控制器的系統(tǒng)輸出;紫色表示模糊 PID 控制器的系