該文件用以總結離散lqr的基本原理,反饋控制率的求解和一些拓展(時變系統,跟蹤命題等)。主要參考的是stanford的課程ee363: linear dynamical systems的部分課件。
這裡我們首先考慮乙個離散的線性系統: xt
+1=a
xt+b
ut,x
0=xi
nit
lqr的目標就在於,找到一組控制序列u0
,u1,
... 能夠使得:
然而,這兩個目標往往是衝突的,因為較大的控制作用
u 能更快地將狀態調節到零點。因此lqr就是根據需要設計出一組控制率來實現上面兩個目標的權衡。
為此,我們定義如下的二次代價函式(quadratic cost function): j(
u)=∑
τ=0n
−1(x
tτqx
τ+ut
τruτ
)+xt
nqfx
n這裡 u=
(u0,
u1,.
..,u
n−1)
,且 q=
qt≥0
,qf=
qtf≥
0,r=
rt>0
分別被稱為 state cost, final state cost, input cost 矩陣。
代價函式中的三項分別用來衡量狀態偏差,輸入偏差以及最終狀態偏差。
q 和
r用來確定狀態和輸入的相對權重。
因此,lqr的問題就是,找到一組序列:
ulqr0,
...,
ulqrn−
1 來最小化代價函式 j(
u)。通常
q 和
r的形式為: r=
ρi,q
=qf=
ctc
這裡 c∈r
p×n,
ρ∈r,
ρ>0 。
於是,代價函式就可以變形為: j(
u)=∑
τ=0n
∥yτ∥
2+ρ∑
τ=0n
−1∥u
τ∥2
這裡 y=c
x ,ρ√
在這裡給出了輸出和輸入的相對權重。
lqr命題也可以通過最小二乘(least-squares)的方法求解,但這裡我們只討論基於動態規劃的求解方法。
這裡我們首先定義乙個價值函式(value function)vt
:rn→
r vt
(z)=
minut,
...,
un−1
∑τ=t
n−1(
xtτq
xτ+u
tτru
τ)+x
tnqf
xn滿足約束 xt
=z,x
τ+1=
axτ+
buτ,
τ=t,
...,
n−1
即,vt(
z)給出的是從
t 時刻的狀態
z開始的lqr的代價函式。當 t=
0 時,v0
(x0)
就是原始的lqr代價函式。
我們可以證明 vt
是二次型,即vt
(z)=
ztpt
z ,其中 pt
=ptt
≥0。
首先,我們可以知道,當 t=
n 時有:vn
(z)=
ztqf
z 因此我們有 pn
=qf 。
現在我們假設vt
+1(z
) 已知,根據動態規劃(dp)的原理,有:vt
(z)=
minw(z
tqz+
wtrw
+vt+
1(az
+bw)
) 因此這就是乙個典型的動態規劃問題。
因為當前狀態
z與優化命題無關,因此上面的優化命題也可以改寫為:vt
(z)=
ztqz
+minw(
wtrw
+vt+
1(az
+bw)
)
也就是說,當前時刻
t 的控制率 ut
取值應該如下:
ulqrt=
argminw(
wtrw
+vt+
1(az
+bw)
) 假設v
t+1(
z)=z
tpt+
1z,p
t+1=
ptt+
1≥0 ,我們可以證明vt
具有同樣的形式。 將v
t+1(
z)=z
tpt+
1z代入上面vt
(z) 的表示式,即有:
vt(z
)=zt
qz+minw(
wtrw
+(az
+bw)
tpt+
1(az
+bw)
)
對於這樣乙個無約束的凸優化命題令其導數等於0即可以得到最優解。導數等於0得到的等式為:2w
tr+2
(az+
bw)t
pt+1
b=0
因此,當前時刻的最優控制率為:w∗
=−(r
+btp
t+1b
)−1b
tpt+
1az
將上面的結果代入vt
(x) 的表示式,即
vt(z
)=zt
qz+w
∗trw
∗+(a
z+bw
∗)tp
t+1(
az+b
w∗)=
zt(q
+atp
t+1a
−atp
t+1b
(r+b
tpt+
1)−1
btpt
+1a)
z=zt
ptz
其中,pt=
q+at
pt+1
a−at
pt+1
b(r+
btpt
+1)−
1btp
t+1a
容易證明 pt
=ptt
≥0因此,lqr的求解過程可以總結如下:
set pn
:=qf for t=
n,..
.,1,
pt−1:=q
+atp
ta−a
tptb
(r+b
tpt)
−1bt
pta
for t=
0,..
.,.n
−1, define kt
:=−(r
+btp
t+1b
)−1b
tpt+
1afor t=
0,..
.,.n
−1,
ulqrt=
ktxt
從上面的推導我們可以看出,lqr中,最優控制率是狀態的線性反饋。當t
遠小於
n的時候,穩態的 ps
s 可以近似收斂並滿足下面的方程:
pss=
q+at
pssa
−atp
ssb(
r+bt
pss)
−1bt
pssa
這個方程被稱為代數黎卡提方程(algebraic riccati equation, are)。
因此,當時刻
t 距時域終點
n較遠時,lqr的控制率可以近似看作狀態
x 的常數反饋,即 ut
=kss
xt,k
ss=−
(r+b
tpss
b)−1
btps
sa針對時變系統
xt+1
=atx
t+bt
ut我們可以定義對應的時變代價函式 j=
∑τ=0
n−1(
xtτq
τxτ+
utτr
τuτ)
+xtn
qfxn
可以看到,終點時刻的加權陣 qf
並沒有發生變化,因此前面根據dp推導得到的lqr的架構可以直接拓展到時變系統。顯然,前面提到的穩態情況下的常值反饋在時變系統中將不復存在。
針對跟蹤命題,代價函式可以寫成
j=∑τ
=0n−
1(xτ
−x¯τ
)tqτ
(xτ−
x¯τ)
+∑τ=
0n−1
(uτ−
u¯τ)
trτ(
uτ−u
¯τ)
(簡要起見這裡捨去了終端狀態的代價)
其中,x¯τ
和 u¯
τ 分別是狀態和輸入要跟蹤的軌跡。
通過一些附加的推導,前面dp推導的結果也可以運用在這樣的跟蹤命題中。
ref.
stanford, ee363: linear dynamical systems
離散余弦變換 原理及應用
二維傅利葉變換可用通用的關係式來表示 式中 x,u 0,1,2,m 1 y,v 0,1,2,n 1 g x,y,u,v 和h x,y,u,v 分別稱為正向變換核和反向變換核。如果滿足 則稱正 反變換核是可分離的。進一步,如果g1和g2,h1和h2在函式形式上一樣,則稱該變換核是對稱的。數字影象都是實...
離散余弦變換 原理及應用
二維傅利葉變換可用通用的關係式來表示 式中 x,u 0,1,2,m 1 y,v 0,1,2,n 1 g x,y,u,v 和h x,y,u,v 分別稱為正向變換核和反向變換核。如果滿足 則稱正 反變換核是可分離的。進一步,如果g1和g2,h1和h2在函式形式上一樣,則稱該變換核是對稱的。數字影象都是實...
matlab求解平面方程的原理
已知三點p1,p2,p3,求其平面方程 syms x y z p1,p2,p3的座標由自己定義。p1 x1,y1,z1 p2 x2,y2,z2 p3 x3,y3,z3 那麼求解下面矩陣q行列式就是了 q ones 4,1 x,y,z p1 p2 p3 detb det q 最後令 q 0 這裡的求解...