潘俊朋+桑運曉+呂國娜+任保飛+劉樹駿

摘 要::本文首先通過分析單級倒立擺系統建立相應的狀態空間數學模型,然后對倒立擺系統進行LQR 控制器設計,最后使用Matlab 進行仿真,結果表明在本文加權矩陣Q、R 的取值下,LQR 控制器可使系統達到有效的控制,小車位置跟著擺桿的角度動作,系統具有較短的調整時間、較小的超調量和較好的動靜態性能。
關鍵詞:倒立擺 Matlab LQR 控制
一、前言
單級倒立擺系統是一種不穩定、多變量且具有強耦合的非線性系統。如果把它當做一個單輸出系統來處理將無法到達控制要求,所以對于這樣的多輸出系統,我們需要用到狀態空間數學模型來對其進行分析。
二、建立系統的狀態空間數學模型
為了方便而又不失精確的對單級倒立擺系統建立數學模型,實際中忽略一些次要的因素后的一級倒立擺系統簡圖如圖1所示,系統受力分析如圖2所示。
定義各參數:作用在小車的外力用F表示;擺桿與垂直向上方向的夾角用φ表示;擺桿與垂直向下方向的夾角用θ表示;采樣時間為T=0.005s;擺桿的質量為m=0.2kg;擺桿的慣量為I=0.006kg*m*m;擺桿轉動軸心到擺桿質心的距離為l=0.3m;小車的摩擦系數為b=0.1N/m/sec;小車的質量為M=0.5kg;小車的位置用x表示。
應用Newton方法來建立系統的動力學方程并經過整理后得到系統狀態空間方程:
三、LQR控制器設計及其Matlab仿真
為了同時對小車的位置和擺桿的角度都進行有效控制,我們使用線性二次性最優控制算法(LQR)。這種控制算法在現代控制理論中占有舉足輕重的地位,通過多年的研究,使最優控制算法得到越來越廣泛的工程應用。
LQR控制系統框圖如圖3所示。其中R是作用于小車的階躍信號,四個狀態量 和 分別代表小車的位移和速度、擺桿的位置和角速度。設計這個控制器的目的就是要達到以下效果:當給系統作用一個階躍信號輸入時,擺桿晃動后會重新回到垂直位置,小車會重新處于一個命令位置。
通過Matlab仿真程序求出狀態方程系數矩陣如下:
系統是能控的是最優控制的前提條件,需要先判斷系統的能控能觀性:
系統的能控矩陣的秩:rank[B AB A2B A3B]=4;
系統的能觀矩陣的秩:rank[C CA CA2 CA3]=4。所以,系統是能控能觀的。
在使用LQR算法進行控制器設計時,主要是求得反饋向量K的值。為了使問題簡化及加權矩陣具有比較明確的物理意義,將Q取為對角陣。經過實驗取
編寫LQR的m文件,使用Matlab控制系統工具箱中的lqr函數進行運算,得到反饋控制向量:K=[-70.7107 -37.8345 105.5298 20.9238]。
運行得到仿真曲線,即LQR控制階躍響應曲線如圖4所示。
從系統階躍響應曲線圖中可以看出,在本文加權矩陣Q、R的取值下,LQR控制器可使系統達到有效的控制,小車位置跟著擺桿的角度動作,系統具有較短的調整時間、較小的超調量,符合設計要求。
參考文獻:
[1] 張靜. MATLAB在控制系統中的應用[M].北京:電子工業出版社,2007.
[2] 李俊芳,牛文興,張振東.基于狀態空間法的倒擺系統穩定控制[J].天津理工學院學報,2003(2):34 -36.
[3] 王小侃,馮冬青.基于MATLAB的LQR控制器設計方法研究