天天看點

基于LQR的一階倒立擺控制仿真(1)LQR簡介(2)LQR的特點(3)LQR針對的問題(4)LQR應用原理

(1)LQR簡介

LQR(linear quadratic regulator)即線性二次型調節器,其對象是現代理論中以狀态空間形式給出的線性系統。LQR最優設計是指設計出的狀态回報控制器 K要使二次型目标函數J 取最小值,而 K由權矩陣Q 與 R 唯一決定,故此 Q、 R 的選擇尤為重要。

(2)LQR的特點

LQR理論是現代控制理論中發展最早也最為成熟的一種狀态空間設計法。特别可貴的是 ,LQR可得到狀态線性回報的最優控制規律 ,易于構成閉環最優控制。而且 Matlab 的應用為LQR 理論仿真提供了條件 ,更為我們實作穩、準、快的控制目标提供了友善。

(3)LQR針對的問題

LQ問題的幾種特殊情況

1、狀态調節器問題:用不大的控制能量,使系統狀态X(t)保持在零值附近

2、輸出調節器問題:用不大的控制能量,使系統輸出Y(t)保持在零值附近

3、跟蹤問題:用不大的控制量,使系統輸出Y(t)緊緊跟随Yr(t)的變化

(4)LQR應用原理

線性二次型是指系統的狀态方程是線性的,名額函數是狀态變量和控制變量的二次型。考慮線性系統的狀态方程為:

基于LQR的一階倒立擺控制仿真(1)LQR簡介(2)LQR的特點(3)LQR針對的問題(4)LQR應用原理

找一狀态回報控制律:

基于LQR的一階倒立擺控制仿真(1)LQR簡介(2)LQR的特點(3)LQR針對的問題(4)LQR應用原理

使得二次型性能名額最小化:

基于LQR的一階倒立擺控制仿真(1)LQR簡介(2)LQR的特點(3)LQR針對的問題(4)LQR應用原理

其中,x(t)為系統的狀态變量;t0,tf 為起始時間與終止時間;S為終态限制矩陣;Q(t)為運動限制矩陣;R(t)為限制控制矩陣。其中Q(t)、R(t)決定了系統誤差與控制能量消耗之間的相對重要性。為使J最小,由最小值原理得到最優控制為:

基于LQR的一階倒立擺控制仿真(1)LQR簡介(2)LQR的特點(3)LQR針對的問題(4)LQR應用原理

基于LQR的一階倒立擺控制仿真(1)LQR簡介(2)LQR的特點(3)LQR針對的問題(4)LQR應用原理

式中,矩陣P(t)為微分Riccatti方程的解

基于LQR的一階倒立擺控制仿真(1)LQR簡介(2)LQR的特點(3)LQR針對的問題(4)LQR應用原理

對于最優回報系數矩陣,使用Matlab中專門的求解工具lqr()來求取。 [K,P]=lqr(A,B,Q,R).

以下是以一階倒立擺為研究對象,使用LQR算法實作倒立擺的穩定。

步驟一:将倒立擺系統表達為狀态間的形式,詳細的推導可參考其他資料。

步驟二:利用matlab的lqr函數求解K。

步驟三:将輸入u(t)=-K*x(t)帶入系統中。

基于LQR的一階倒立擺控制仿真(1)LQR簡介(2)LQR的特點(3)LQR針對的問題(4)LQR應用原理

(下方第一幅圖為輸入力的大小,斷點為添加的幹擾,第二幅圖的為位置x的變化,第三幅圖為擺杆與垂直方向的夾角随時間的變化,初始倒立擺的角度為10°)

仿真源碼

LQR