離散LQR:原理,求解與拓展

該文檔用以總結離散LQR的基本原理,反饋控制率的求解和一些拓展(時變系統,跟蹤命題等)。主要參考的是Stanford的課程EE363: Linear Dynamical Systems的部分課件。

目錄


1 有限時域離散LQR的基本原理

這裏我們首先考慮一個離散的線性系統:

xt+1=Axt+But,x0=xinit

LQR的目標就在於,找到一組控制序列u0,u1,... 能夠使得:
  • x0,x1,... 儘量小,即將狀態調節到零點;
  • u0,u1,... 儘量小,即控制器付出較小的努力;

然而,這兩個目標往往是衝突的,因爲較大的控制作用u 能更快地將狀態調節到零點。因此LQR就是根據需要設計出一組控制率來實現上面兩個目標的權衡。

爲此,我們定義如下的二次代價函數(quadratic cost function):

J(U)=τ=0N1(xTτQxτ+uTτRuτ)+xTNQfxN
這裏 U=(u0,u1,...,uN1) ,且
Q=QT0,Qf=QTf0,R=RT>0
分別被稱爲 state cost, final state cost, input cost 矩陣。

代價函數中的三項分別用來衡量狀態偏差,輸入偏差以及最終狀態偏差。QR 用來確定狀態和輸入的相對權重。
因此,LQR的問題就是,找到一組序列:ulqr0,...,ulqrN1 來最小化代價函數 J(U)

通常 QR 的形式爲:

R=ρI,Q=Qf=CTC
這裏 CRp×n,ρR,ρ>0

於是,代價函數就可以變形爲:

J(U)=τ=0Nyτ2+ρτ=0N1uτ2
這裏 y=Cxρ 在這裏給出了輸出和輸入的相對權重。

2 基於動態規劃(Dynamic Programming)的求解

LQR命題也可以通過最小二乘(least-squares)的方法求解,但這裏我們只討論基於動態規劃的求解方法。
這裏我們首先定義一個價值函數(value function)Vt:RnR

Vt(z)=minut,...,uN1τ=tN1(xTτQxτ+uTτRuτ)+xTNQfxN
滿足約束 xt=z,xτ+1=Axτ+Buτ,τ=t,...,N1

即,Vt(z) 給出的是從 t 時刻的狀態 z 開始的LQR的代價函數。當 t=0 時,V0(x0) 就是原始的LQR代價函數。

我們可以證明 Vt 是二次型,即Vt(z)=zTPtz ,其中 Pt=PTt0
首先,我們可以知道,當 t=N 時有:

VN(z)=zTQfz
因此我們有 PN=Qf

現在我們假設Vt+1(z) 已知,根據動態規劃(DP)的原理,有:

Vt(z)=minw(zTQz+wTRw+Vt+1(Az+Bw))
  • zTQz+wTRw 是從當前時刻的代價值
  • Vt+1(A+Bwz) 是從下一時刻到 N 時刻的代價值。

因此這就是一個典型的動態規劃問題。

因爲當前狀態 z 與優化命題無關,因此上面的優化命題也可以改寫爲:

Vt(z)=zTQz+minw(wTRw+Vt+1(Az+Bw))
也就是說,當前時刻 t 的控制率 ut 取值應該如下:
ulqrt=argminw(wTRw+Vt+1(Az+Bw))

假設Vt+1(z)=zTPt+1z,Pt+1=PTt+10 ,我們可以證明Vt 具有同樣的形式。
Vt+1(z)=zTPt+1z 代入上面Vt(z) 的表達式,即有:

Vt(z)=zTQz+minw(wTRw+(Az+Bw)TPt+1(Az+Bw))

對於這樣一個無約束的凸優化命題令其導數等於0即可以得到最優解。導數等於0得到的等式爲:
2wTR+2(Az+Bw)TPt+1B=0

因此,當前時刻的最優控制率爲:
w=(R+BTPt+1B)1BTPt+1Az

將上面的結果代入Vt(x) 的表達式,即

Vt(z)=zTQz+wTRw+(Az+Bw)TPt+1(Az+Bw)=zT(Q+ATPt+1AATPt+1B(R+BTPt+1)1BTPt+1A)z=zTPtz

其中,Pt=Q+ATPt+1AATPt+1B(R+BTPt+1)1BTPt+1A

容易證明 Pt=PTt0

因此,LQR的求解過程可以總結如下:

  1. set PN:=Qf
  2. for t=N,...,1,
    Pt1:=Q+ATPtAATPtB(R+BTPt)1BTPtA
  3. for t=0,...,.N1 , define Kt:=(R+BTPt+1B)1BTPt+1A
  4. for t=0,...,.N1 , ulqrt=Ktxt

從上面的推導我們可以看出,LQR中,最優控制率是狀態的線性反饋。

t 遠小於 N 的時候,穩態的 Pss 可以近似收斂並滿足下面的方程:

Pss=Q+ATPssAATPssB(R+BTPss)1BTPssA
這個方程被稱爲代數黎卡提方程(algebraic Riccati equation, ARE)。
因此,當時刻 t 距時域終點 N 較遠時,LQR的控制率可以近似看作狀態 x 的常數反饋,即
ut=Kssxt,Kss=(R+BTPssB)1BTPssA

3 一些拓展

針對時變系統

xt+1=Atxt+Btut

我們可以定義對應的時變代價函數
J=τ=0N1(xTτQτxτ+uTτRτuτ)+xTNQfxN

可以看到,終點時刻的加權陣 Qf 並沒有發生變化,因此前面根據DP推導得到的LQR的架構可以直接拓展到時變系統。顯然,前面提到的穩態情況下的常值反饋在時變系統中將不復存在。


針對跟蹤命題,代價函數可以寫成

J=τ=0N1(xτx¯τ)TQτ(xτx¯τ)+τ=0N1(uτu¯τ)TRτ(uτu¯τ)

(簡要起見這裏捨去了終端狀態的代價)
其中,x¯τu¯τ 分別是狀態和輸入要跟蹤的軌跡。
通過一些附加的推導,前面DP推導的結果也可以運用在這樣的跟蹤命題中。

Ref.
Stanford, EE363: Linear Dynamical Systems

發佈了21 篇原創文章 · 獲贊 79 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章