在前面两节最优控制理论 二、哈密尔顿函数法,我们利用Hamilton函数法讨论了终端等式约束的非线性控制系统的最优控制,它所解决的是
x
˙
=
f
[
x
(
t
)
,
u
(
t
)
,
t
]
;
x
(
t
o
)
=
x
0
t
o
≤
t
≤
t
f
min
u
(
t
)
J
=
φ
[
x
(
t
f
)
,
t
f
]
+
∫
t
o
t
f
L
[
x
(
t
)
,
u
(
t
)
,
t
]
d
t
ψ
(
x
(
t
f
)
,
t
f
)
=
0
(问题0)
\dot{\boldsymbol {x}}=f[\boldsymbol x(t), \boldsymbol u(t), t] ; \quad \boldsymbol x\left(t_{o}\right)=\boldsymbol x_0\quad t_{o} \leq t \leq t_{f} \tag{问题0}\\ \min_{u(t)}J=\varphi\left[\boldsymbol x\left(t_{f}\right), t_{f}\right]+\int_{t_{o}}^{t_{f}} L[\boldsymbol x(t), \boldsymbol u(t), t] \text d t\\ \psi(\boldsymbol x(t_f),t_f)=0
x˙=f[x(t),u(t),t];x(to)=x0to≤t≤tfu(t)minJ=φ[x(tf),tf]+∫totfL[x(t),u(t),t]dtψ(x(tf),tf)=0(问题0)
这样的问题。
我们下面来讨论,更特殊一些的,连续线性系统、线性反馈、二次型性能指标、无约束问题的最优控制。事实上,前面两章的方法由于解析解不易推导及BVP问题难以直接求解,所以基本只能用来进行离线的轨迹规划;而LQR方法简单到调用一个命令就可以给出反馈增益矩阵,能在工程应用中实现实时在线控制。
线性时变系统的二次型最优控制
对于这样一个性能指标为二次型函数的线性时变系统:
x
˙
=
A
(
t
)
x
+
B
(
t
)
u
,
x
(
0
)
=
x
0
≠
0
0
≤
t
≤
t
f
min
u
(
t
)
J
=
1
2
x
T
(
t
f
)
S
f
x
(
t
f
)
+
1
2
∫
0
t
f
(
x
T
Q
(
t
)
x
+
u
T
R
(
t
)
u
)
d
t
(问题1)
\dot{\boldsymbol{x}}=A(t)\boldsymbol{x}+B(t)\boldsymbol{u}, \quad \boldsymbol{x}(0)=\boldsymbol{x}_{0}\neq0\quad 0 \leq t \leq t_{f}\tag {问题1}\\ \min_{\boldsymbol u(t)}J=\frac{1}{2} \boldsymbol{x}^{\mathrm T}(t_f) \boldsymbol{S}_f\boldsymbol{x}(t_f) +\frac{1}{2} \int_{0}^{t_f}\left(\boldsymbol{x}^{\mathrm T} \boldsymbol{Q}(t) \boldsymbol{x}+\boldsymbol{u}^{\mathrm T} \boldsymbol{R}(t) \boldsymbol{u}\right) \text d t
x˙=A(t)x+B(t)u,x(0)=x0=00≤t≤tfu(t)minJ=21xT(tf)Sfx(tf)+21∫0tf(xTQ(t)x+uTR(t)u)dt(问题1)
其中
x
0
,
t
f
\boldsymbol x_0,t_f
x0,tf给定,
x
∈
R
n
,
u
(
t
)
∈
R
m
,
S
=
S
T
≽
0
,
Q
=
Q
T
≽
0
,
R
=
R
T
≻
0
\boldsymbol x\in\Reals^n,\boldsymbol u(t)\in\Reals^m,S=S^{\mathrm T}\succcurlyeq0, Q=Q^{\mathrm T}\succcurlyeq0,R=R^{\mathrm T}\succ0
x∈Rn,u(t)∈Rm,S=ST≽0,Q=QT≽0,R=RT≻0,(正定对称矩阵)状态方程中的
A
(
t
)
,
B
(
t
)
A(t),B(t)
A(t),B(t)、以及性能指标中的
Q
(
t
)
,
R
(
t
)
Q(t),R(t)
Q(t),R(t)均为时变矩阵。
终端控制器问题(LQ Terminal Controller)的要求是,求出一个控制器使得从不为0的初始状态,经过一段时间后转移到接近零状态
x
(
t
f
)
≈
0
≠
0
\boldsymbol x(t_f)\approx 0\neq0
x(tf)≈0=0。显然若终端状态彻底为0,则性能指标就没有存在第一项的必要了。
Riccati方程
问题的一阶必要条件按照Hamilton函数法建立问题描述:
- 构建Hamiltonian
H = 1 2 ( x T Q x + u T R u ) + λ T ( A x + B u ) H=\frac{1}{2}\left(\boldsymbol{x}^{\mathrm T} \boldsymbol{Q} \boldsymbol{x}+\boldsymbol{u}^{\mathrm T}\boldsymbol{R} \boldsymbol{u}\right)+\lambda^{\mathrm T}(\boldsymbol{A} \boldsymbol{x}+\boldsymbol{B} \boldsymbol{u}) H=21(xTQx+uTRu)+λT(Ax+Bu) - Euler方程(这是由Hamilton函数法推导得到的)
x ˙ = A x + B u λ ˙ = − H x = − Q x − A T λ \dot{\boldsymbol{x}}=A\boldsymbol{x}+B\boldsymbol{u}\\ \dot{\lambda}=-H_{\mathrm{x}}=-\boldsymbol{Q} \boldsymbol{x}-\boldsymbol{A}^{\mathrm T} \boldsymbol{\lambda} x˙=Ax+Buλ˙=−Hx=−Qx−ATλ - 控制方程(最优控制的必要条件)
∂ H ∂ u = R u + B T λ = 0 ⟹ u = − R − 1 B T λ \frac{\partial H}{\partial \boldsymbol u}=\boldsymbol{R} \boldsymbol{u}+\boldsymbol{B}^{\mathrm{T}} \lambda=\boldsymbol{0} \quad \implies \boldsymbol{u}=-\boldsymbol{R}^{-1} \boldsymbol{B}^{\mathrm{T}} \lambda ∂u∂H=Ru+BTλ=0⟹u=−R−1BTλ - 终端时刻的边界条件
x ( 0 ) = x 0 λ ( t f ) = ∂ φ ∂ x T ⟹ λ ( t f ) = S f x ( t f ) \boldsymbol{x}(0)=\boldsymbol{x}_{0}\\ \lambda(t_f)=\frac{\partial \varphi}{\partial \boldsymbol x^{\mathrm T}}\implies \lambda(t_f)=S_f\boldsymbol x(t_f) x(0)=x0λ(tf)=∂xT∂φ⟹λ(tf)=Sfx(tf)
假设协态变量始终和状态变量成线性关系
λ
(
t
)
=
S
(
t
)
x
(
t
)
(1)
\lambda(t)=S(t)x(t)\tag 1
λ(t)=S(t)x(t)(1)其中
S
(
t
)
S(t)
S(t)矩阵未知。这个假设的合理性可以考虑Hamilton系统状态转移矩阵的线性性:
[
x
(
t
f
)
λ
(
t
f
)
]
=
Φ
(
t
f
;
t
)
[
x
(
t
)
λ
(
t
)
]
=
[
Φ
11
Φ
12
Φ
21
Φ
22
]
[
x
(
t
)
λ
(
t
)
]
\begin{bmatrix}x(t_f)\\ \lambda(t_f)\end{bmatrix}= \Phi(t_f;t) \begin{bmatrix}x(t)\\\lambda(t)\end{bmatrix}= \begin{bmatrix}\Phi_{11}\quad \Phi_{12}\\ \Phi_{21}\quad \Phi_{22}\end{bmatrix} \begin{bmatrix}x(t)\\\lambda(t)\end{bmatrix}\\
[x(tf)λ(tf)]=Φ(tf;t)[x(t)λ(t)]=[Φ11Φ12Φ21Φ22][x(t)λ(t)]然后展开即可证明这个假设是合理的:
Φ
21
x
+
Φ
22
λ
=
λ
(
t
f
)
=
S
f
x
(
t
f
)
=
S
f
[
Φ
11
x
+
Φ
12
λ
]
⇓
λ
(
t
)
=
[
Φ
22
−
S
f
Φ
12
]
−
1
[
S
f
Φ
11
−
Φ
21
]
x
(
t
)
≡
S
(
t
)
x
(
t
)
\Phi_{21}x+\Phi_{22}\lambda= \textcolor{blue}{\lambda(t_f)=S_f\boldsymbol x(t_f)} =S_f[\Phi_{11}x+\Phi_{12}\lambda]\\ \Downarrow\\ \lambda(t)=[\Phi_{22}-S_f\Phi_{12}]^{-1}[S_f\Phi_{11}-\Phi_{21}]\boldsymbol x(t)\equiv S(t)\boldsymbol x(t)
Φ21x+Φ22λ=λ(tf)=Sfx(tf)=Sf[Φ11x+Φ12λ]⇓λ(t)=[Φ22−SfΦ12]−1[SfΦ11−Φ21]x(t)≡S(t)x(t)
由上述假设,可得到最优的控制器是状态反馈控制器,且它的形式为
u
∗
(
t
)
=
−
R
−
1
B
T
S
(
t
)
x
(
t
)
=
−
K
(
t
)
x
(
t
)
(2)
u^*(t)=-R^{-1}B^{\mathrm T}S(t)\boldsymbol x(t)=-K(t)\boldsymbol x(t)\tag 2
u∗(t)=−R−1BTS(t)x(t)=−K(t)x(t)(2)
式中的
K
(
t
)
K(t)
K(t)为未知的反馈增益矩阵。把控制代入状态方程和协态变量,构成两点边值问题为
x
˙
=
A
x
−
B
R
−
1
B
T
S
(
t
)
x
=
(
A
−
B
R
−
1
B
T
S
(
t
)
)
x
λ
˙
=
S
˙
x
+
S
(
t
)
x
˙
=
S
˙
(
t
)
x
+
S
(
t
)
(
A
−
B
R
−
1
B
T
S
(
t
)
)
x
=
−
Q
x
−
A
T
S
(
t
)
x
(3)
\begin{aligned} \dot{\boldsymbol{x}}&=A \boldsymbol{x}-B R^{-1} B^{\mathrm T} S(t) \boldsymbol{x}=\quad \left(A-B R^{-1} B^{\mathrm T} S(t)\right) \boldsymbol{x} \\ \dot{\lambda}&=\dot{ S} \boldsymbol{x}+ S(t) \dot{\boldsymbol{x}}=\quad \dot{ S} (t)\boldsymbol{x}+ S(t)\left(A-B R^{-1} B^{\mathrm T} S(t)\right) \boldsymbol{x}\\&=-Q \boldsymbol{x}-A^{\mathrm T} S(t) \boldsymbol{x} \end{aligned}\quad\tag 3
x˙λ˙=Ax−BR−1BTS(t)x=(A−BR−1BTS(t))x=S˙x+S(t)x˙=S˙(t)x+S(t)(A−BR−1BTS(t))x=−Qx−ATS(t)x(3)
将最优控制 ( 3 ) (3) (3)代入状态方程,即可得到闭环系统的动态方程:
[ x ˙ λ ˙ ] = [ A − B R − 1 B T − Q − A T ] [ x λ ] (3*) \begin{bmatrix} \dot{\boldsymbol{x}} \\ \dot{\lambda} \end{bmatrix}=\begin{bmatrix} A &-{B R}^{-1} B^{\mathrm T} \\ -Q & -A^{\mathrm T} \end{bmatrix}\begin{bmatrix} \boldsymbol{x} \\ \lambda \end{bmatrix}\tag {3*} [x˙λ˙]=[A−Q−BR−1BT−AT][xλ](3*)
这个两点边值问题(TPBVP)的未知变量数2n,初始状态提供n个边界条件,终端时刻
λ
(
t
f
)
=
S
x
(
t
f
)
\lambda(t_f)=S\boldsymbol x(t_f)
λ(tf)=Sx(tf)提供n个横截条件。
公式
(
3
)
(3)
(3)中
S
(
t
)
S(t)
S(t)是一个与时间相关的函数矩阵,它在终端时刻的值就是性能指标中我们设定的值。考虑公式
(
3
)
(3)
(3)最后一个等式关系,可以求解出
S
(
t
)
S(t)
S(t):
−
S
˙
(
t
)
=
A
T
S
+
S
A
−
S
B
R
−
1
B
T
S
+
Q
,
S
(
t
f
)
=
S
f
(4)
-\dot{S}(t)=A^{\mathrm T} S+S A-S B R^{-1} B^{\mathrm T} S+Q, \quad S(t_f)=S_f\tag 4
−S˙(t)=ATS+SA−SBR−1BTS+Q,S(tf)=Sf(4)
这个公式
(
4
)
(4)
(4)称为矩阵黎卡提Riccati方程,也会称作状态相关黎卡提方程(State-dependent Riccati Equation, SDRE)。
可以证明
S
(
t
)
S(t)
S(t)是半正定对称矩阵。已知
S
(
t
f
)
S(t_f)
S(tf),按照时间逆向积分,可以得到
S
(
t
)
S(t)
S(t),最终得到
S
(
t
0
)
S(t_0)
S(t0);然后考虑到
λ
(
t
0
)
=
S
(
t
0
)
x
0
\lambda(t_0)=S(t_0)\boldsymbol x_0
λ(t0)=S(t0)x0可以得到问题
(
3
∗
)
(3*)
(3∗)的初值,然后再正向积分一次即可得到所有的结果。
非对角阵形式的性能指标
如果遇到下面这种形式的性能指标:
J
=
1
2
x
T
(
t
f
)
S
f
x
(
t
f
)
+
1
2
∫
0
t
f
(
x
T
Q
x
+
u
T
R
u
+
2
x
T
N
u
)
d
t
=
1
2
x
T
(
t
f
)
S
f
x
(
t
f
)
+
1
2
∫
t
0
t
f
[
X
U
]
T
[
Q
N
N
T
R
]
[
X
U
]
d
t
(问题1*)
J=\frac{1}{2} \boldsymbol{x}^{\mathrm T}(t_f) \boldsymbol{S}_f \boldsymbol{x}(t_f)+ \frac 1 2\int_{0}^{t_f}\left(x^{T} Q x+u^{T} R u+2 x^{T} N u\right) \text d t\\ =\frac{1}{2} \boldsymbol{x}^{\mathrm T}(t_f) \boldsymbol{S}_f\boldsymbol{x}(t_f)+ \frac{1}{2} \int_{t_{0}}^{t_{f}}\begin{bmatrix} X \\U \end{bmatrix}^{\mathrm{T}}\begin{bmatrix} Q & N \\ N^{\mathrm{T}} & R \end{bmatrix} \begin{bmatrix}X \\U \end{bmatrix} \mathrm{d} t\tag{问题1*}
J=21xT(tf)Sfx(tf)+21∫0tf(xTQx+uTRu+2xTNu)dt=21xT(tf)Sfx(tf)+21∫t0tf[XU]T[QNTNR][XU]dt(问题1*)
也就是性能指标中包含了状态
x
x
x和控制
u
u
u的耦合项。其中
Q
≽
0
,
R
≻
0
且
Q
−
N
R
−
1
N
T
≽
0
Q \succcurlyeq 0, R\succ0 \text { 且 } Q-N R^{-1} N^{\mathrm T}\succcurlyeq0
Q≽0,R≻0 且 Q−NR−1NT≽0,这个情况可以通过配方法转换成对角阵的形式[2]:
[
X
U
]
T
[
Q
N
N
T
R
]
[
X
U
]
=
X
T
Q
X
+
2
X
T
N
U
+
U
T
R
U
=
X
T
Q
X
+
U
T
R
U
+
X
T
N
U
+
U
T
N
T
X
+
X
T
N
R
−
1
N
T
X
−
X
T
N
R
−
1
N
T
X
=
X
T
(
Q
−
N
R
−
1
N
T
)
X
+
(
U
+
R
−
1
N
T
X
)
T
R
(
U
+
R
−
1
N
T
X
)
\begin{aligned} &\begin{bmatrix} X \\U \end{bmatrix}^{\mathrm{T}}\begin{bmatrix} Q & N \\ N^{\mathrm{T}} & R \end{bmatrix} \begin{bmatrix}X \\U \end{bmatrix}\\ &=X^{\mathrm{T}} Q X+2 X^{\mathrm{T}} N U+U^{\mathrm{T}} R U \\&=X^{\mathrm{T}} Q X+U^{\mathrm{T}} R U+X^{\mathrm{T}} N U+U^{\mathrm{T}} N^{\mathrm{T}} X +X^{\mathrm{T}} N R^{-1} N^{\mathrm{T}} X-X^{\mathrm{T}} N R^{-1} N^{\mathrm{T}} X \\&=X^{\mathrm{T}}\left(Q-N R^{-1} N^{\mathrm{T}}\right) X+\left(U+R^{-1} N^{\mathrm{T}} X\right)^{\mathrm{T}} R\left(U+R^{-1} N^{\mathrm{T}} X\right) \end{aligned}
[XU]T[QNTNR][XU]=XTQX+2XTNU+UTRU=XTQX+UTRU+XTNU+UTNTX+XTNR−1NTX−XTNR−1NTX=XT(Q−NR−1NT)X+(U+R−1NTX)TR(U+R−1NTX)
令
{
Q
~
=
Q
−
Q
1
R
−
1
N
T
U
~
=
U
+
R
−
1
N
T
X
(5)
\left\{\begin{array}{l} \tilde{Q}=Q-Q_{1} R^{-1} N^{\mathrm{T}} \\ \tilde{U}=U+R^{-1} N^{\mathrm{T}} X \end{array}\right.\tag 5
{Q~=Q−Q1R−1NTU~=U+R−1NTX(5)可把原系统化成新的形式
x
˙
=
A
x
+
B
(
u
~
−
R
−
1
N
T
x
)
=
(
A
−
B
R
−
1
N
T
)
x
+
B
u
~
\dot x=Ax+B(\tilde u-R^{-1} N^{\mathrm{T}} x) =(A-BR^{-1} N^{\mathrm{T}} )x+B\tilde u
x˙=Ax+B(u~−R−1NTx)=(A−BR−1NT)x+Bu~
这个新系统可以套用前面所述的方法,
(
问题
1
∗
)
(问题1*)
(问题1∗)等价于求解
(
问题
1
)
(问题1)
(问题1):
J
=
1
2
x
T
(
t
f
)
S
f
x
(
t
f
)
+
1
2
∫
0
t
f
(
x
T
Q
~
x
+
u
~
T
R
u
~
)
d
t
J=\frac{1}{2} \boldsymbol{x}^{\mathrm T}(t_f) \boldsymbol{S}_f \boldsymbol{x}(t_f)+ \frac 1 2\int_{0}^{t_f}\left(x^{T} \tilde Q x+\tilde u^{T} R \tilde u\right) \text d t
J=21xT(tf)Sfx(tf)+21∫0tf(xTQ~x+u~TRu~)dt
总结
把非线性系统在标称状态附近线性化,就可得到线性时变系统。在这个意义上,上面讨论的问题很宽泛。此外,问题还在于只能采用数值计算方法,要计算
x
(
t
)
,
λ
(
t
)
,
S
(
t
0
)
\boldsymbol x(t),\lambda(t),S(t_0)
x(t),λ(t),S(t0),以及反馈控制采用的是时变增益
K
(
t
)
K(t)
K(t)。在工程上使用更多的是线性定常系统、无穷时域的相关问题。也就是我们下面要讨论的LQR问题。
t f = ∞ t_f=\infty tf=∞的线性二次型调节器
线性系统(定常或时变)、二次型指标的状态调节器问题一般称为线性二次型调节器(Linear Quadratic Regulator,LQR),其任务通常为
- 有限时间内,把状态调节到接近0
- 无穷时域,使状态在干扰下保持在0附近,以上两种都是状态调节器问题
- 无穷时域,使状态保持在参考轨迹 x r e f ( t ) x_{ref}(t) xref(t)附近,等价于使跟踪误差 δ x = x − x r e f \delta x=x-x_{ref} δx=x−xref维持在0附近,也就是状态跟踪器问题
- 输出调节器和输出跟踪器问题,都是增加了一项观测方程 y = C x \boldsymbol y=C\boldsymbol x y=Cx,控制的对象是 y ( t ) y(t) y(t)
无限时域、线性定常系统的LQR问题是
(
问题
1
)
(\text{问题}1)
(问题1)的特殊形式,其中时变矩阵为常值矩阵
A
(
t
)
=
A
,
B
(
t
)
=
B
,
Q
(
t
)
=
Q
,
R
(
t
)
=
R
A(t)=A,B(t)=B,Q(t)=Q,R(t)=R
A(t)=A,B(t)=B,Q(t)=Q,R(t)=R,且
S
f
=
0
S_f=0
Sf=0,即
x
˙
=
A
x
+
B
u
,
x
(
0
)
=
x
0
0
≤
t
<
∞
min
u
(
t
)
=
−
K
x
(
t
)
J
=
1
2
∫
t
0
∞
[
x
(
t
)
T
Q
x
(
t
)
+
u
(
t
)
T
R
u
(
t
)
]
d
t
(问题2)
\dot{\boldsymbol{x}}=A\boldsymbol{x}+B\boldsymbol{u}, \quad \boldsymbol{x}(0)=\boldsymbol{x}_{0}\quad 0 \leq t \lt\infty\\ \min_{u(t)=-Kx(t)}J=\frac{1}{2} \int_{t_{0}}^{\infty}\left[x(t)^{\mathrm T} Q x(t)+u(t)^{\mathrm T} R u(t)\right] \text d t\tag{问题2}
x˙=Ax+Bu,x(0)=x00≤t<∞u(t)=−Kx(t)minJ=21∫t0∞[x(t)TQx(t)+u(t)TRu(t)]dt(问题2)
采用线性反馈控制器. 控制回路如下图:
要满足线性反馈,即
u
∗
(
t
)
=
−
K
x
(
t
)
\boldsymbol u^*(t)=-K\boldsymbol x(t)
u∗(t)=−Kx(t),考虑最优控制
u
∗
(
t
)
=
−
R
−
1
B
T
λ
(
t
)
\boldsymbol u^*(t)=-\boldsymbol{R}^{-1} \boldsymbol{B}^{\mathrm T}\lambda(t)
u∗(t)=−R−1BTλ(t),可以导出协态变量与状态变量成线性关系:
λ
(
t
)
=
S
∗
x
(
t
)
\lambda(t)=S^*\boldsymbol x(t)
λ(t)=S∗x(t),即公式
(
1
)
(1)
(1)中的
S
(
t
)
=
S
∗
⟹
S
˙
(
t
)
=
0
S(t)=S^*\implies\dot S(t)=0
S(t)=S∗⟹S˙(t)=0。考虑到矩阵Riccati方程的终端条件
S
(
t
f
)
=
S
f
=
0
S(t_f)=S_f=0
S(tf)=Sf=0,可得稳态状态的Riccati方程:
0
=
A
T
S
+
S
A
−
S
B
R
−
1
B
T
S
+
Q
(6)
0=A^{\mathrm T} S+S A-S B R^{-1} B^{\mathrm T} S+Q\tag 6
0=ATS+SA−SBR−1BTS+Q(6)
方程
(
6
)
(6)
(6)中唯一需要求解的矩阵是
S
=
S
T
≽
0
S=S^\mathrm T\succcurlyeq0
S=ST≽0。需要注意的是,虽然
lim
t
f
→
∞
S
(
t
f
)
=
0
,
S
˙
(
t
)
=
0
\lim_{t_f\to\infty}S(t_f)=0,\dot S(t)=0
limtf→∞S(tf)=0,S˙(t)=0,但似乎不能直接假设
S
=
0
S=0
S=0。对这个矩阵的求解方法,可以参考文献[3]中的描述。知道它,就可以得到我们所关心的增益矩阵K:
K
=
R
−
1
B
T
S
(7)
K=\boldsymbol{R}^{-1} \boldsymbol{B}^{\mathrm T}S\tag 7
K=R−1BTS(7)
此时闭环系统的状态方程为:
x ˙ = A x + B u = ( A − B R − 1 B T S ) x (8) \dot{\boldsymbol x}=A\boldsymbol x+B\boldsymbol u=(A-BR^{-1} B^{\mathrm T}S)\boldsymbol x\tag 8 x˙=Ax+Bu=(A−BR−1BTS)x(8)
至此可以求解闭环系统了。
调用MATLAB中的函数[K,S,e] = LQR(A,B,Q,R,N)
,我们的任务只有设置合适的权重
Q
,
R
Q,R
Q,R,对于这一点,目前还只能靠经验。Q越大,相当于越强调状态迅速归零;对于轨迹跟踪控制,则跟踪误差越小。这种情况对控制的需求较大,控制带宽和饱和幅值较小的执行机构可能无法做出有效的响应。R越大,越强调最小能量消耗,即控制最少,此时状态误差可能在较大范围内抖动。这两者之间是一个权衡关系。进一步的介绍可以参看知乎文章 - 21. LQR控制器— 线性二次型调节器 Linear Quadratic Regulator。
渐近稳定性证明
由以下两个常用的定理:
定理1:闭环系统
x
˙
=
A
c
x
\dot{\boldsymbol x}=A_c\boldsymbol x
x˙=Acx渐进稳定等价于对
∀
Q
=
Q
T
≻
0
\forall Q=Q^{\mathrm T}\succ0
∀Q=QT≻0,Lyapunov方程
A
c
T
P
+
P
A
c
=
−
Q
A_c^{\mathrm T}P+PA_c=-Q
AcTP+PAc=−Q存在唯一对称正定解
P
P
P。
定理2:闭环系统
A
c
A_c
Ac渐进稳定的充分条件是:存在正定的Lyapunov函数
V
(
x
)
V(\boldsymbol x)
V(x),沿闭环系统的状态方程满足
d
V
d
t
<
0
\frac{\mathrm d V}{\mathrm dt}<0
dtdV<0。
最优线性反馈的闭环系统满足公式
(
8
)
(8)
(8),闭环状态矩阵
A
c
=
A
−
B
R
−
1
B
T
S
A_c=A-BR^{-1} B^{\mathrm T}S
Ac=A−BR−1BTS,则Lyapunov方程要求解正定矩阵P:
A
c
T
P
+
P
A
c
≺
0
A_c^{\mathrm T}P+PA_c\prec0
AcTP+PAc≺0
把Riccati方程两边同时减去
2
S
B
R
−
1
B
T
S
=
2
K
T
R
K
2SBR^{-1}B^{\mathrm T}S=2K^{\mathrm T}RK
2SBR−1BTS=2KTRK,可得
A
T
S
+
S
A
+
Q
=
S
B
R
−
1
B
T
S
(
A
−
B
R
−
1
B
T
S
)
T
S
+
S
(
A
−
B
R
−
1
B
T
S
)
=
−
S
B
R
−
1
B
T
S
−
Q
A
c
T
S
+
S
A
c
<
−
Q
≺
0
\begin{aligned} A^{\mathrm T} S+S A+Q&=S B R^{-1} B^{\mathrm T} S\\ (A-BR^{-1} B^{\mathrm T}S)^{\mathrm T} S+S (A-BR^{-1} B^{\mathrm T}S)&=-S B R^{-1} B^{\mathrm T} S-Q\\ A_c^{\mathrm T}S+SA_c&<-Q\prec0 \end{aligned}
ATS+SA+Q(A−BR−1BTS)TS+S(A−BR−1BTS)AcTS+SAc=SBR−1BTS=−SBR−1BTS−Q<−Q≺0
则闭环系统渐进稳定。
最优性证明
Riccati方程 ( 4 ) (4) (4)和 ( 6 ) (6) (6)是按照最优控制的必要条件推导得到的,可以证明它是唯一的充分条件。证明这一点可以运用连续系统最优性的充要条件,即求解连续系统动态规划法的 Hamilton-Jacobi-Bellman \text {Hamilton-Jacobi-Bellman} Hamilton-Jacobi-Bellman方程可以证明,请参考文献[3]。
参考文献
[1]. Wikipedia: Linear-quadratic regulator-The free Dictionary
[2]. 邢继祥. 最优控制应用基础. 第四章 线性系统二次型最优控制[M]. 科学出版社, 2003.
[3]. Bryson A E , Ho Y C ,Applied optimal control : optimization, estimation, and control. Ch.5 Linear system with quadratic criteria: linear feedback[J]. IEEE Transactions on Systems Man & Cybernetics, 1975
[4]. 知乎专栏 - 21. LQR控制器— 线性二次型调节器 Linear Quadratic Regulator
[5]. 知乎专栏 - 最优控制理论(七)LQR伺服跟踪控制器设计