天天看點

matlab-直線一級倒立擺現代控制方法研究LQR

直線一級倒立擺控制方法研究

1 研究背景​

倒立擺是一個開環不穩定的強非線性系統,其控制政策與雜技運動員頂杆平衡表演的技巧有異曲同工之處,目的在于使得擺杆處于臨界穩定狀态,是進行控制理論研究的典型實驗平台。20世紀50年代,麻省理工學院的控制論專家根據火箭助推器原理設計出了第一套倒立擺實驗裝置,開啟了最初的相關研究工作。倒立擺的種類豐富多樣,按照其結構可将其分為:直線倒立擺、環形倒立擺以及平面倒立擺等,按照擺杆級數又可将其分為:一級、二級甚至三級等。

matlab-直線一級倒立擺現代控制方法研究LQR

圖1 直線一級倒立擺原理

按照工作原理可将現有的直線一級倒立擺實驗裝置抽象成小車和擺杆組成的系統,其中小車可沿固定導軌左右移動,擺杆可繞小車與擺杆之間的鉸接點自由轉動,如圖1所示。控制系統依據讀取到的小車位置以及擺杆角度信号,通過控制作用在小車上的水準力,使其沿固定導軌左右移動,可以使得擺杆始終處于垂直向上這樣一個臨界穩定位置,實驗裝置具體參數如表1所示。

表1實驗裝置參數

小車品質
matlab-直線一級倒立擺現代控制方法研究LQR
擺杆品質
matlab-直線一級倒立擺現代控制方法研究LQR
小車與導軌間的阻力系數
matlab-直線一級倒立擺現代控制方法研究LQR
擺杆/小車鉸接點與擺杆質心的距離
matlab-直線一級倒立擺現代控制方法研究LQR
擺杆繞其質心的轉動慣量
matlab-直線一級倒立擺現代控制方法研究LQR
備注:可忽略了空氣阻力以及小車與擺杆之間鉸接點上的摩擦力矩。

2 模型推導​

設N和P為小車與擺杆互相作用力的水準和垂直方向的分量。

matlab-直線一級倒立擺現代控制方法研究LQR

圖2 小車受力分析圖

下面N和P為小車與擺杆互相作用力的水準和垂直方向的分量。

分析小車水準方向所受的合力,可得到方程為:

matlab-直線一級倒立擺現代控制方法研究LQR

(1)

由擺杆水準方向的受力進行分析可以得到下面等式:

matlab-直線一級倒立擺現代控制方法研究LQR

(2)

把這個等式代入(1)式中,得到系統的第一個運動方程:

matlab-直線一級倒立擺現代控制方法研究LQR

(3)

為了推出系統的第二個運動方程,對擺杆垂直方向的合力進行分析,得到下面的方程:

matlab-直線一級倒立擺現代控制方法研究LQR
matlab-直線一級倒立擺現代控制方法研究LQR

(4)

力矩平衡方程如下:

matlab-直線一級倒立擺現代控制方法研究LQR

(5)

方程中力矩的方向,由于

matlab-直線一級倒立擺現代控制方法研究LQR

matlab-直線一級倒立擺現代控制方法研究LQR

,故等式前面有負号。合并這兩個方程,約去P和N,得到第二個運動方程:

matlab-直線一級倒立擺現代控制方法研究LQR

(6)

假設

matlab-直線一級倒立擺現代控制方法研究LQR

與1(機關是弧度)相比很小,即

matlab-直線一級倒立擺現代控制方法研究LQR

,則可進行近似處理:

matlab-直線一級倒立擺現代控制方法研究LQR

matlab-直線一級倒立擺現代控制方法研究LQR

代表被控對象的輸入力,線性化後兩個運動方程如下:

matlab-直線一級倒立擺現代控制方法研究LQR
matlab-直線一級倒立擺現代控制方法研究LQR

(7)

3 現代控制理論分析​

3.1 狀态空間方程​

已知模型的方程表達式如下:

matlab-直線一級倒立擺現代控制方法研究LQR

取狀态變量為

matlab-直線一級倒立擺現代控制方法研究LQR

matlab-直線一級倒立擺現代控制方法研究LQR

,根據空間表達式

matlab-直線一級倒立擺現代控制方法研究LQR

得到:

matlab-直線一級倒立擺現代控制方法研究LQR

帶入已知資料,則狀态方程可以寫為:

matlab-直線一級倒立擺現代控制方法研究LQR

3.2 能控性和能觀性​

在MATLAB中進行計算,代碼如下:

matlab-直線一級倒立擺現代控制方法研究LQR

輸出結果rank(B A*B A^2*B A^3*B)=4;rank(C;C*A)=4;

則系統可觀、可測。

3.3 狀态回報和狀态觀測器​

運用MATLAB計算系統的傳遞函數,得到

num = 0 0 0.8864 0.0000 -26.3474

0 0 -2.3739 -0.4191 -0.0000

den = 1.0000 0.0879 -27.9913 -2.3068 0

matlab-直線一級倒立擺現代控制方法研究LQR
matlab-直線一級倒立擺現代控制方法研究LQR

系統的極點為:p1=0;p2=-0.0824;p3=-5.2935;p4=5.288;

`其中極點p4在右半平面,p1在原點,由極點可以看出系統是不穩定的,圖3為MATLAB中給系統一個階躍信号的響應。

matlab-直線一級倒立擺現代控制方法研究LQR

圖3 倒立擺階躍響應

極點配置的方法就是通過一個适當的狀态回報增益矩陣,将閉環系統的極點配置到任意期望的位置。

matlab-直線一級倒立擺現代控制方法研究LQR

,其中x是狀态變量,u是控制信号,這裡選取控制信号為

matlab-直線一級倒立擺現代控制方法研究LQR

matlab-直線一級倒立擺現代控制方法研究LQR

,系統的穩态響應和瞬态響應特性由矩陣A-BK的特征決定。

設定系統的綜合名額:

  • 輸出超調量Mp≤10%;
  • 峰值時間tp≤2s;

系統是4階的,則極點數n=4,根據主導二階極點方法,選其中一對為主導極點s1和s2,另一對為遠極點,并且認為系統的性能主要有主導極點決定的,遠極點隻有微小的影響,

根據二階系統的關系式,先定出主導極點,

matlab-直線一級倒立擺現代控制方法研究LQR
matlab-直線一級倒立擺現代控制方法研究LQR

matlab-直線一級倒立擺現代控制方法研究LQR

,可以推出

matlab-直線一級倒立擺現代控制方法研究LQR

matlab-直線一級倒立擺現代控制方法研究LQR

,當

matlab-直線一級倒立擺現代控制方法研究LQR

時,

matlab-直線一級倒立擺現代控制方法研究LQR

,取

matlab-直線一級倒立擺現代控制方法研究LQR

,則極點公式為

matlab-直線一級倒立擺現代控制方法研究LQR

,得到兩個共轭極點為.

則取極點為s1=-7.07+7.07i;s2=-7.07-7.07i;

matlab-直線一級倒立擺現代控制方法研究LQR

遠極點應選擇使得它和原點的距離遠大于5|s1|,現取|s3|=6|s1|,則選擇s3=s4=-60。

狀态觀測器期望極點選擇,一般為了考慮觀測器的響應速度要比閉環系統快,又要考慮幹擾抑制,一般極點為閉環極點的2~5倍。觀測器期望極點選取為s1=s2= s3=s4=-30,

在MATLAB中進行計算得到,代碼如下:

matlab-直線一級倒立擺現代控制方法研究LQR

計算得到狀态回報陣為

matlab-直線一級倒立擺現代控制方法研究LQR

狀态觀測器的矩陣為

matlab-直線一級倒立擺現代控制方法研究LQR

3.4 仿真驗算​

在MATLAB>simulink中建立空間狀态模型,MATLAB代碼見附錄,simulink模型如圖4。

matlab-直線一級倒立擺現代控制方法研究LQR

圖4 simulink倒立擺模型

仿真結果如圖,

matlab-直線一級倒立擺現代控制方法研究LQR

圖5 加控制的倒立擺仿真結果

matlab-直線一級倒立擺現代控制方法研究LQR
matlab-直線一級倒立擺現代控制方法研究LQR

a)小車實際位移與觀測位移 b) 實際與觀測位移誤差

圖6 加控制的小車位移

matlab-直線一級倒立擺現代控制方法研究LQR
matlab-直線一級倒立擺現代控制方法研究LQR

a)倒立擺實際角度與觀測角度 b) 實際與觀測角度誤差

圖7 加控制的倒立擺角度

附錄​

繼續閱讀