1. 离散时间系统无限时间最优调节器
考虑离散时间线性定常系统:
x
(
k
+
1
)
=
A
x
(
k
)
+
B
u
(
k
)
x(k+1) = Ax(k)+Bu(k)
x(k+1)=Ax(k)+Bu(k)
性能指标:
J
=
1
2
∑
k
=
k
0
∞
[
x
T
(
k
)
Q
x
(
k
)
+
u
T
(
k
)
R
u
(
k
)
]
J = \frac{1}{2}\sum_{k=k_0}^\infty [x^{T}(k)Qx(k)+u^{T}(k)Ru(k)]
J=21k=k0∑∞[xT(k)Qx(k)+uT(k)Ru(k)]
定义:
J
[
x
(
j
)
]
=
1
2
∑
k
=
j
∞
[
x
T
(
k
)
Q
x
(
k
)
+
u
T
(
k
)
R
u
(
k
)
]
J[x(j)]=\frac{1}{2}\sum_{k=j}^\infty[x^{T}(k)Qx(k)+u^{T}(k)Ru(k)]
J[x(j)]=21k=j∑∞[xT(k)Qx(k)+uT(k)Ru(k)]
要使得代价函数达到最小,的最优控制律为
u
(
j
)
=
−
R
−
1
B
T
∂
J
∗
[
x
(
j
+
1
)
]
∂
x
(
j
+
1
)
u(j) = -R^{-1}B^{T}\frac{\partial J^{*}[x(j+1)]}{\partial x(j+1)}
u(j)=−R−1BT∂x(j+1)∂J∗[x(j+1)]
则相应的最小代价函数为:
J ∗ [ x ( j ) ] = 1 2 x T ( j ) Q x ( j ) + J ∗ [ x ( j + 1 ) ] + 1 2 ∂ J ∗ [ x ( j + 1 ) ] ∂ x T ( j + 1 ) B R − 1 B T ∂ J ∗ [ x ( j + 1 ) ] ∂ x ( j + 1 ) J^{*}[x(j)]=\frac{1}{2}x^{T}(j)Qx(j)+J^{*}[x(j+1)]+\frac{1}{2}\frac{\partial J^{*}[x(j+1)]}{\partial x^{T}(j+1)}BR^{-1}B^{T}\frac{\partial J^{*}[x(j+1)]}{\partial x(j+1)} J∗[x(j)]=21xT(j)Qx(j)+J∗[x(j+1)]+21∂xT(j+1)∂J∗[x(j+1)]BR−1BT∂x(j+1)∂J∗[x(j+1)]
注意到上式结构,且 Q Q Q和 B R T B T BR^{T}B^{T} BRTBT是常数矩阵,因此可令:
J
∗
[
x
(
j
)
]
=
1
2
x
T
(
j
)
P
x
(
j
)
J^{*}[x(j)]=\frac{1}{2}x^{T}(j)Px(j)
J∗[x(j)]=21xT(j)Px(j)
将其偏导数带入控制律中:
u
(
j
)
=
−
R
−
1
B
T
P
x
(
j
+
1
)
u(j)=-R^{-1}B^{T}Px(j+1)
u(j)=−R−1BTPx(j+1)
带入系统中得到:
x
(
j
+
1
)
=
Λ
x
(
j
+
1
)
x(j+1) = \varLambda x(j+1)
x(j+1)=Λx(j+1)
其中
Λ
=
A
−
B
[
R
+
B
T
P
B
]
−
1
B
T
P
A
\varLambda =A-B[R+B^{T}PB]^{-1}B^{T}PA
Λ=A−B[R+BTPB]−1BTPA
因此我们可以带入最小代价函数中得到:
1
2
x
T
(
j
)
P
x
(
j
)
=
1
2
x
T
(
j
)
Q
x
(
j
)
+
1
2
x
T
(
j
)
Λ
T
P
Λ
x
(
j
)
+
1
2
x
T
(
j
)
Λ
T
P
B
R
−
1
B
T
P
Λ
x
(
j
)
\frac{1}{2}x^{T}(j)Px(j)=\frac{1}{2}x^{T}(j)Qx(j)+\frac{1}{2}x^{T}(j)\varLambda^{T}P\varLambda x(j)+\frac{1}{2}x^{T}(j)\varLambda^{T}PBR^{-1}B^{T}P\varLambda x(j)
21xT(j)Px(j)=21xT(j)Qx(j)+21xT(j)ΛTPΛx(j)+21xT(j)ΛTPBR−1BTPΛx(j)
可得到P满足:
P
=
Q
+
Λ
T
P
Λ
+
Λ
T
P
B
R
−
1
B
T
P
Λ
P = Q+\varLambda^{T}P\varLambda+\varLambda^{T}PBR^{-1}B^{T}P\varLambda
P=Q+ΛTPΛ+ΛTPBR−1BTPΛ
将
Λ
\varLambda
Λ的表达式带入上式中得到:
P
=
Q
+
A
T
P
A
−
A
T
P
B
(
R
+
B
T
P
B
)
−
1
B
T
P
A
P = Q+A^{T}PA-A^{T}PB(R+B^{T}PB)^{-1}B^{T}PA
P=Q+ATPA−ATPB(R+BTPB)−1BTPA
u ( k ) = − K x ( k ) u(k)=-Kx(k) u(k)=−Kx(k)
K = ( R + B T P B ) − 1 B T P A K = (R+B^{T}PB)^{-1}B^{T}PA K=(R+BTPB)−1BTPA
2.离散时间系统有限时间最优调节器
对于离散时间系统:
x
(
k
+
1
)
=
A
x
(
k
)
+
B
u
(
k
)
x(k+1) = Ax(k)+Bu(k)
x(k+1)=Ax(k)+Bu(k)
性能指标:
J
=
1
2
x
T
(
N
)
S
(
N
)
x
(
N
)
+
1
2
∑
k
=
k
0
N
−
1
[
x
T
(
k
)
Q
x
(
k
)
+
u
T
(
k
)
R
u
(
k
)
]
J = \frac{1}{2}x^{T}(N)S(N)x(N)+\frac{1}{2}\sum_{k=k_0}^{N-1} [x^{T}(k)Qx(k)+u^{T}(k)Ru(k)]
J=21xT(N)S(N)x(N)+21k=k0∑N−1[xT(k)Qx(k)+uT(k)Ru(k)]
令
J
[
x
(
k
)
,
k
]
=
1
2
x
T
(
N
)
S
(
N
)
x
(
N
)
+
1
2
∑
j
=
k
N
−
1
[
x
T
(
j
)
Q
x
(
j
)
+
u
T
(
j
)
R
u
(
j
)
]
J[x(k),k]=\frac{1}{2}x^{T}(N)S(N)x(N)+\frac{1}{2}\sum_{j=k}^{N-1} [x^{T}(j)Qx(j)+u^{T}(j)Ru(j)]
J[x(k),k]=21xT(N)S(N)x(N)+21j=k∑N−1[xT(j)Qx(j)+uT(j)Ru(j)]
则当
k
=
N
k=N
k=N时,
J
∗
[
x
(
N
)
,
N
]
=
J
[
x
(
N
)
,
N
]
=
1
2
x
T
(
N
)
S
(
N
)
x
(
N
)
J^{*}[x(N),N]=J[x(N),N]=\frac{1}{2}x^{T}(N)S(N)x(N)
J∗[x(N),N]=J[x(N),N]=21xT(N)S(N)x(N)
其中 P ( N ) = S ( N ) P(N)=S(N) P(N)=S(N)
当
k
=
N
−
1
k=N-1
k=N−1时,
J
∗
[
x
(
N
−
1
)
,
N
−
1
]
=
min
u
(
N
−
1
)
{
1
2
x
T
(
N
−
1
)
Q
(
N
−
1
)
x
(
N
−
1
)
+
1
2
u
T
(
N
−
1
)
R
(
N
)
u
(
N
−
1
)
+
J
∗
[
x
(
N
)
,
N
]
}
J^{*}[x(N-1),N-1]=\min \limits_{u(N-1)}\left\{ \frac{1}{2}x^{T}(N-1)Q(N-1)x(N-1) +\frac{1}{2}u^{T}(N-1)R(N)u(N-1)+J^{*}[x(N),N]\right\}
J∗[x(N−1),N−1]=u(N−1)min{21xT(N−1)Q(N−1)x(N−1)+21uT(N−1)R(N)u(N−1)+J∗[x(N),N]}
其中
x
(
N
)
=
A
x
(
N
−
1
)
+
B
u
(
N
−
1
)
x(N)=Ax(N-1)+Bu(N-1)
x(N)=Ax(N−1)+Bu(N−1)
将上式带入
J
∗
[
x
(
N
−
1
)
,
N
−
1
]
J^{*}[x(N-1),N-1]
J∗[x(N−1),N−1]中得:
J
∗
[
x
(
N
−
1
)
,
N
−
1
]
=
min
u
(
N
−
1
)
{
1
2
x
T
(
N
−
1
)
Q
(
N
−
1
)
x
(
N
−
1
)
+
1
2
u
T
(
N
−
1
)
R
(
N
)
u
(
N
−
1
)
+
1
2
[
A
(
N
−
1
)
x
(
N
−
1
)
+
B
(
N
−
1
)
u
(
N
−
1
)
]
T
P
(
N
)
[
A
(
N
−
1
)
x
(
N
−
1
)
+
B
(
N
−
1
)
u
(
N
−
1
)
]
}
\begin{aligned} J^{*}[x(N-1),N-1]=\min \limits_{u(N-1)}\{ & \frac{1}{2}x^{T}(N-1)Q(N-1)x(N-1) +\frac{1}{2}u^{T}(N-1)R(N)u(N-1)\\ &+\frac{1}{2}[A(N-1)x(N-1)+B(N-1)u(N-1)]^{T}P(N)[A(N-1)x(N-1)\\ &+B(N-1)u(N-1)]\} \end{aligned}
J∗[x(N−1),N−1]=u(N−1)min{21xT(N−1)Q(N−1)x(N−1)+21uT(N−1)R(N)u(N−1)+21[A(N−1)x(N−1)+B(N−1)u(N−1)]TP(N)[A(N−1)x(N−1)+B(N−1)u(N−1)]}
其中令:
H
=
1
2
u
T
(
N
−
1
)
R
(
N
)
u
(
N
−
1
)
+
1
2
[
A
(
N
−
1
)
x
(
N
−
1
)
+
B
(
N
−
1
)
u
(
N
−
1
)
]
T
P
(
N
)
[
A
(
N
−
1
)
x
(
N
−
1
)
+
B
(
N
−
1
)
u
(
N
−
1
)
]
\begin{aligned} H&=\frac{1}{2}u^{T}(N-1)R(N)u(N-1)\\ &+\frac{1}{2}[A(N-1)x(N-1)+B(N-1)u(N-1)]^{T}P(N)[A(N-1)x(N-1)+B(N-1)u(N-1)] \end{aligned}
H=21uT(N−1)R(N)u(N−1)+21[A(N−1)x(N−1)+B(N−1)u(N−1)]TP(N)[A(N−1)x(N−1)+B(N−1)u(N−1)]
要使得
J
∗
[
x
(
N
−
1
)
,
N
−
1
]
J^{*}[x(N-1),N-1]
J∗[x(N−1),N−1]最小,则求
∂
H
∂
u
\frac{\partial H}{\partial u}
∂u∂H
∂
H
∂
u
=
R
u
(
N
−
1
)
+
B
T
(
N
−
1
)
P
(
N
−
1
)
[
A
(
N
−
1
)
X
(
N
−
1
)
+
B
(
N
−
1
)
u
(
N
−
1
)
]
=
0
\frac{\partial H}{\partial u}=Ru(N-1)+B^{T}(N-1)P(N-1)[A(N-1)X(N-1)+B(N-1)u(N-1)]=0
∂u∂H=Ru(N−1)+BT(N−1)P(N−1)[A(N−1)X(N−1)+B(N−1)u(N−1)]=0
则我们得到
u
(
N
−
1
)
=
−
K
(
N
−
1
)
x
(
N
−
1
)
u(N-1)=-K(N-1)x(N-1)
u(N−1)=−K(N−1)x(N−1)
K
(
N
−
1
)
=
[
R
+
B
T
P
(
N
)
B
]
−
1
B
T
P
(
N
)
A
K(N-1)=[R+B^{T}P(N)B]^{-1}B^{T}P(N)A
K(N−1)=[R+BTP(N)B]−1BTP(N)A
将
u
(
N
−
1
)
u(N-1)
u(N−1)带入
J
∗
[
x
(
N
−
1
)
,
N
−
1
]
J^{*}[x(N-1),N-1]
J∗[x(N−1),N−1]得:
J
∗
[
x
(
N
−
1
)
,
N
−
1
]
=
1
2
x
T
(
N
−
1
)
P
(
N
−
1
)
x
(
N
−
1
)
J^{*}[x(N-1),N-1]=\frac{1}{2}x^{T}(N-1)P(N-1)x(N-1)
J∗[x(N−1),N−1]=21xT(N−1)P(N−1)x(N−1)
其中
P
(
N
−
1
)
=
Q
+
A
T
P
A
−
A
T
P
B
K
−
(
A
T
P
B
K
)
T
+
K
T
[
R
+
B
T
P
(
N
)
B
]
K
P(N-1)=Q +A^{T}PA-A^{T}PBK-(A^{T}PBK)^{T}+K^{T}[R+B^{T}P(N)B]K
P(N−1)=Q+ATPA−ATPBK−(ATPBK)T+KT[R+BTP(N)B]K
因此我们得到了递推公式如下所示:
u ( k ) = − K ( k ) x ( k ) u(k)=-K(k)x(k) u(k)=−K(k)x(k)
K ( k ) = [ R + B T P ( k + 1 ) B ] − 1 B T P ( k + 1 ) A K(k)=[R+B^{T}P(k+1)B]^{-1}B^{T}P(k+1)A K(k)=[R+BTP(k+1)B]−1BTP(k+1)A
P ( k ) = Q + A T P A − A T P B K ( k ) − ( A T P B K ( k ) ) T + K T ( k ) [ R + B T P ( k + 1 ) B ] K ( k ) P(k)=Q +A^{T}PA-A^{T}PBK(k)-(A^{T}PBK(k))^{T}+K^{T}(k)[R+B^{T}P(k+1)B]K(k) P(k)=Q+ATPA−ATPBK(k)−(ATPBK(k))T+KT(k)[R+BTP(k+1)B]K(k)
P ( N ) = S ( N ) P(N)=S(N) P(N)=S(N)