基於模糊控制和PID結合的簡單倒立擺系統MATLAB仿真

目錄

 

1 倒立擺小車模型搭建

2倒立擺傳遞函數模型實現

3 控制系統仿真設計

3.1 仿真模型

3.2 控制系統搭建過程

3.2.1 PID控制器設計

3.2.2 模糊PID控制器設計


1 倒立擺小車模型搭建

倒立擺小車模型參考了《MATLAB建模與仿真》一書中的P342,主要參數爲M=0.98kg、m=0.4kg、b=0.15N/(m.s)、I=0.005kg.m2、l=0.4m、g=9.8N/kg.其具體含義如圖1-1所示。

            1-1倒立擺小車模型

通過模型看到,當擺杆夾角遠遠小於1弧度時,可以進行近似處理,從而令cosθ=-1sinθ=-φdt2=0

可得微分方程如圖1-2所示。

1.2倒立擺小車微分方程

然後可以建立起以擺杆角度爲輸出量,給予小車的推力爲輸入量的傳遞函數模型,如圖1-3所示

1-3倒立擺小車傳遞函數模型

2倒立擺傳遞函數模型實現

我採用的是MATLAB R2017b,通過腳本文件編寫了GetPendulum函數,輸入小車質量,擺杆質量和擺杆長度即可得到倒立擺的傳遞函數。具體的代碼如圖2-1所示,調用過程如圖2-2所示。

2-1 GetPendulum函數代碼

 

2-2 GetPendulum函數調用

3 控制系統仿真設計

3.1 仿真模型

基於模糊調參的PID倒立擺控制系統仿真模型如圖3-1所示,其中紅色框部分爲模糊控制和可調參數的PID控制,藍框部分爲單一的PID控制,通過一個階躍信號產生擾動,可以在二種控制方案之間進行對比實驗,這裏的模糊控制器選用帶Ruleviewer功能的模塊,可以在仿真時看到控制規律。同時也方便後面對規則進行調試更改。

3-1 基於模糊調參的PID倒立擺控制系統

3.2 控制系統搭建過程

3.2.1 PID控制器設計

3-2 PID控制器參數
3-2 PID控制下的輸出響應

3.2.2 模糊PID控制器設計

3-3 新建模糊控制規則

在命令行輸入fuzzy即可打開模糊控制器的規則設置界面,如圖3-3所示,我們可以在這裏創建輸入變量,輸出變量和規則庫。我選擇的是第一個,Mamdani類型,然後可以開始控制器的設計。

3-4 控制器基本設置

如圖3-4所示,爲控制器的基本設置,輸入變量有兩個,一個是擺杆角度,一個是角度的變化率,輸出變量爲三個,分別對應PID的三個參數,左側可以看到去模糊化的方法爲重心法。中間就是我們的規則庫。點擊可以進入詳細的配置界面,各變量具體設置如下圖所示:

3-5 輸入變量基本設置

如圖3-5所示,左側爲角度變量的取值範圍和隸屬度函數,右側爲角度對應時間的變化率,這裏我的範圍規定都是-5到5之間,隸屬度函數是三角形,實際使用時要根據輸入量的具體情況,串入一個Gain模塊,設置我們的比例因子,使輸入範圍在設置值之間。  

3-6 輸出變量基本設置

輸出變量的設置如圖3-6所示,同樣採用三角形隸屬度函數,P的範圍設置爲110-120,I的範圍設置爲115-125,D的範圍設置爲80-90,通過不同的輸入值,可以相應選擇不同的PID參數。點擊圖3-4中間的模塊可以進入規則庫編輯界面,如圖3-7所示,可見,當角度和角度變化率都在mf2這個位置時,PID三個參數輸出爲mf2,按照這樣的方式,建立起完整的規則庫。

3-7 規則庫的基本設置

 

3-8 建好的規則庫

4 仿真結果與分析

4-1 模糊控制狀態實時預覽

如圖4-1所示,可以在仿真過程中實時預覽輸入輸出量,很直觀的看到隸屬度函數是如何對整個模糊空間進行切割的,又是如何根據重心法得出精確解的。

如圖4-2所示,爲階躍輸出響應曲線,其中紅色表示PID控制曲線,黑色表示模糊控制和PID結合的控制曲線,通過圖可以看到,PID有很大的超調量,但趨於穩定的速度更快,模糊控制曲線更爲平緩,且比PID控制更接近穩定值。

當採用隨機信號發生器作爲干擾的激勵源時,其響應曲線如圖4-3所示,可以看到,傳統的PID控制器基本已經失效了,完全隨着激勵而變化,但黑色線代表的模糊控制器,還可以保持住一定的穩定性。所以,通過實現可以知道,模糊控制PID更適用於環境參數容易變化的場合。

 

4-2 階躍響應和隨機信號響應

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章