开环控制与闭环控制
根据最大值原理求出的最优控制是时间的函数,是一种开环控制,在开环控制的过程中不允许有任何干扰,对环境的要求很高,所以在实际工程中更希望以一种闭环控制实现,即控制函数为时间和状态的函数,但是求解闭环控制是困难的,不过对于LQ系统是可以求解的.
LQR
设系统状态方程为
x
˙
(
t
)
=
A
(
t
)
x
(
t
)
+
B
(
t
)
u
(
t
)
y
(
t
)
=
C
(
t
)
x
(
t
)
(1)
\begin{aligned} &\dot{x}(t)=A(t)x(t)+B(t)u(t)\\ &y(t)=C(t)x(t) \end{aligned}\tag{1}
x˙(t)=A(t)x(t)+B(t)u(t)y(t)=C(t)x(t)(1)
其中
x
(
t
)
x(t)
x(t)是
n
n
n维向量,
u
(
t
)
u(t)
u(t)是
r
r
r维向量,
y
(
t
)
y(t)
y(t)是
m
m
m维输出向量,
A
(
t
)
,
B
(
t
)
,
C
(
t
)
A(t), B(t), C(t)
A(t),B(t),C(t)分别为
n
×
n
,
n
×
r
,
n
×
m
n\times n, n\times r, n\times m
n×n,n×r,n×m矩阵,指标泛函为
J
=
1
2
x
T
(
T
)
S
x
(
T
)
+
1
2
∫
t
0
T
[
x
T
(
t
)
Q
(
t
)
x
(
t
)
+
u
T
(
t
)
R
(
t
)
u
(
t
)
]
d
t
(2)
J=\frac{1}{2}x^T(T)Sx(T)+\frac{1}{2}\int_{t_0}^T[x^T(t)Q(t)x(t)+u^T(t)R(t)u(t)]dt\tag{2}
J=21xT(T)Sx(T)+21∫t0T[xT(t)Q(t)x(t)+uT(t)R(t)u(t)]dt(2)
其中矩阵
S
S
S为半正定对称常数矩阵,
Q
(
t
)
Q(t)
Q(t)为半正定对称时变矩阵,
R
(
t
)
R(t)
R(t)为正定对称时变矩阵,控制
u
(
x
,
t
)
u(x, t)
u(x,t)为综合控制函数,这种问题就是LQR问题.
指标物理意义分析:
- 积分项的第一项是对过程的要求,由于 Q ( t ) Q(t) Q(t)是半正定的,在控制过程中,要求每个分量越小越好,但是分量的重要性不同,需要使用 Q ( t ) Q(t) Q(t)进行调节.
- 积分项第二项是对控制能力的要求,要求在整个控制过程中,使得能量消耗最小,考虑到如果不对 u ( t ) u(t) u(t)中每个分量都进行控制,那么 u ( t ) u(t) u(t)会出现很大的幅值,导致工程实现难度增大,并且计算中需要用到 R ( t ) R(t) R(t)的逆矩阵,所以设置 R ( t ) R(t) R(t)为正定矩阵.
- 指标第一项是对终点状态的要求,对每个分量要求不同,使用矩阵 S S S进行加权.
在一般工程中, S , Q ( T ) S, Q(T) S,Q(T)和 R ( t ) R(t) R(t)通常使用对角阵.
状态调节器
状态调节器就是选择 u ( t ) u(t) u(t)或者 u ( x , t ) u(x, t) u(x,t)使得指标泛函 ( 2 ) (2) (2)具有最小值
末端自由
根据最小值原理构造哈密顿函数
H
=
1
2
x
T
Q
(
t
)
x
+
1
2
u
T
R
(
t
)
u
+
λ
T
A
(
t
)
x
+
λ
T
B
(
t
)
u
H=\frac{1}{2}x^TQ(t)x+\frac{1}{2}u^TR(t)u+\lambda^TA(t)x+\lambda^TB(t)u
H=21xTQ(t)x+21uTR(t)u+λTA(t)x+λTB(t)u
得到伴随方程及边界条件
{
λ
˙
(
t
)
=
−
∂
H
∂
x
=
−
A
T
(
t
)
λ
−
Q
(
t
)
x
(
t
)
λ
(
T
)
=
S
x
(
T
)
\left\{ \begin{aligned} &\dot{\lambda}(t)=-\frac{\partial H}{\partial x}=-A^T(t)\lambda-Q(t)x(t)\\ &\lambda(T)=Sx(T) \end{aligned} \right.
⎩⎨⎧λ˙(t)=−∂x∂H=−AT(t)λ−Q(t)x(t)λ(T)=Sx(T)
由于
u
(
t
)
u(t)
u(t)不受限制,最优控制需要满足
∂
H
∂
u
=
R
T
(
t
)
u
(
t
)
+
B
(
t
)
T
λ
(
t
)
=
0
\frac{\partial H}{\partial u}=R^T(t)u(t)+B(t)^T\lambda(t)=0
∂u∂H=RT(t)u(t)+B(t)Tλ(t)=0
且
R
(
t
)
R(t)
R(t)为正定矩阵,可以解出
u
∗
(
t
)
=
−
R
−
1
(
t
)
B
(
t
)
T
λ
(
t
)
(3)
u^*(t)=-R^{-1}(t)B(t)^T\lambda(t)\tag{3}
u∗(t)=−R−1(t)B(t)Tλ(t)(3)
计算二阶条件,可知
u
∗
(
t
)
u^*(t)
u∗(t)为
H
H
H的极小值点
∂
2
H
∂
u
2
=
R
(
t
)
≻
0
\frac{\partial ^2H}{\partial u^2}=R(t)\succ0
∂u2∂2H=R(t)≻0
将
(
3
)
(3)
(3)代入正则方程得到
x
˙
(
t
)
=
A
(
t
)
x
(
t
)
−
B
(
t
)
R
−
1
(
t
)
B
T
(
t
)
λ
(
t
)
,
x
(
t
0
)
=
x
0
λ
˙
(
t
)
=
−
A
T
(
t
)
λ
(
t
)
−
Q
(
t
)
x
(
t
)
,
λ
(
T
)
=
S
x
(
T
)
\begin{aligned} &\dot{x}(t)=A(t)x(t)-B(t)R^{-1}(t)B^T(t)\lambda(t), x(t_0)=x_0 \\ &\dot{\lambda}(t)=-A^T(t)\lambda(t)-Q(t)x(t), \lambda(T)=Sx(T) \end{aligned}
x˙(t)=A(t)x(t)−B(t)R−1(t)BT(t)λ(t),x(t0)=x0λ˙(t)=−AT(t)λ(t)−Q(t)x(t),λ(T)=Sx(T)
可以发现方程组是关于
x
(
t
)
x(t)
x(t)和
λ
(
t
)
\lambda(t)
λ(t)的线性齐次方程,且
x
(
t
)
x(t)
x(t)和
λ
(
t
)
\lambda(t)
λ(t)的终点方程可以猜测
x
(
t
)
x(t)
x(t)和
λ
(
t
)
\lambda(t)
λ(t)的线性关系
λ
(
t
)
=
P
(
t
)
x
(
t
)
(4)
\lambda(t)=P(t)x(t)\tag{4}
λ(t)=P(t)x(t)(4)
其中,
P
(
t
)
P(t)
P(t)为矩阵,将方程
(
4
)
(4)
(4)对
t
t
t求导得到
λ
˙
(
t
)
=
P
˙
(
t
)
x
(
t
)
+
P
(
t
)
x
˙
(
t
)
=
P
˙
(
t
)
x
(
t
)
+
P
(
t
)
(
A
(
t
)
x
(
t
)
−
B
(
t
)
R
−
1
(
t
)
B
T
(
t
)
λ
(
t
)
)
=
λ
(
t
)
=
P
(
t
)
x
(
t
)
(
P
˙
(
t
)
+
P
(
t
)
A
(
t
)
−
P
(
t
)
B
(
t
)
R
−
1
(
t
)
B
T
(
t
)
P
(
t
)
)
x
(
t
)
\begin{aligned} \dot{\lambda}(t)&=\dot{P}(t)x(t)+P(t)\dot{x}(t)\\ &=\dot{P}(t)x(t)+P(t)(A(t)x(t)-B(t)R^{-1}(t)B^T(t)\lambda(t))\\ &\xlongequal{\lambda(t)=P(t)x(t)} (\dot{P}(t)+P(t)A(t)-P(t)B(t)R^{-1}(t)B^T(t)P(t))x(t) \end{aligned}
λ˙(t)=P˙(t)x(t)+P(t)x˙(t)=P˙(t)x(t)+P(t)(A(t)x(t)−B(t)R−1(t)BT(t)λ(t))λ(t)=P(t)x(t)(P˙(t)+P(t)A(t)−P(t)B(t)R−1(t)BT(t)P(t))x(t)
由正则方程中
λ
˙
(
t
)
=
−
Q
(
t
)
x
(
t
)
−
A
T
(
t
)
λ
(
t
)
=
(
−
Q
(
t
)
−
A
T
(
t
)
P
(
t
)
)
x
(
t
)
\dot{\lambda}(t)=-Q(t)x(t)-A^T(t)\lambda(t)=(-Q(t)-A^T(t)P(t))x(t)
λ˙(t)=−Q(t)x(t)−AT(t)λ(t)=(−Q(t)−AT(t)P(t))x(t)
进行系数对比,方程对所有
x
(
t
)
x(t)
x(t)成立得到关系式
P
˙
(
t
)
+
P
(
t
)
A
(
t
)
+
A
T
(
t
)
P
(
t
)
−
P
(
t
)
B
(
t
)
R
−
1
(
t
)
B
T
(
t
)
P
(
t
)
+
Q
(
t
)
=
0
(5)
\dot{P}(t)+P(t)A(t)+A^T(t)P(t)-P(t)B(t)R^{-1}(t)B^T(t)P(t)+Q(t)=0\tag{5}
P˙(t)+P(t)A(t)+AT(t)P(t)−P(t)B(t)R−1(t)BT(t)P(t)+Q(t)=0(5)
方程
(
5
)
(5)
(5)是关于矩阵
P
(
t
)
P(t)
P(t)的一阶非线性常微分方程,即Riccati方程.
可以得到Riccati方程的边界条件为
P
(
T
)
=
S
P(T)=S
P(T)=S
可以证明,当矩阵
A
(
t
)
,
B
(
t
)
,
Q
(
t
)
,
R
(
t
)
A(t), B(t), Q(t), R(t)
A(t),B(t),Q(t),R(t)的元素在
[
t
0
,
T
]
[t_0, T]
[t0,T]上都是时间
t
t
t的分段连续函数时,方程
(
5
)
(5)
(5)存在满足边界条件的唯一解.
最优控制可以表示为
u
∗
(
x
,
t
)
=
−
R
−
1
(
t
)
B
T
(
t
)
P
(
t
)
x
u^*(x, t)=-R^{-1}(t)B^T(t)P(t)x
u∗(x,t)=−R−1(t)BT(t)P(t)x
令
K
(
t
)
=
R
−
1
(
t
)
B
T
(
t
)
P
(
t
)
K(t)=R^{-1}(t)B^T(t)P(t)
K(t)=R−1(t)BT(t)P(t)
得到
u
∗
(
x
,
t
)
=
−
K
(
t
)
x
u^*(x, t)=-K(t)x
u∗(x,t)=−K(t)x
即最优控制是状态变量的线性函数,借助状态变量的线性反馈可以实现闭环最优控制. 由此将最优控制求解问题转为Riccati微分方程求解问题.
转置Riccati方程,得到
P
˙
T
(
t
)
+
A
T
(
t
)
P
T
(
t
)
+
P
T
(
t
)
A
(
t
)
−
P
T
(
t
)
B
(
t
)
(
R
−
1
(
t
)
)
T
P
(
t
)
+
Q
T
(
t
)
=
0
\dot{P}^T(t)+A^T(t)P^T(t)+P^T(t)A(t)-P^T(t)B(t)(R^{-1}(t))^TP(t)+Q^T(t)=0
P˙T(t)+AT(t)PT(t)+PT(t)A(t)−PT(t)B(t)(R−1(t))TP(t)+QT(t)=0
由于
R
(
t
)
R(t)
R(t)和
Q
(
t
)
Q(t)
Q(t)均为对称矩阵,
R
T
(
t
)
=
R
(
t
)
,
Q
T
(
t
)
=
Q
(
t
)
R^T(t)=R(t), Q^T(t)=Q(t)
RT(t)=R(t),QT(t)=Q(t),边界条件为
P
(
t
)
=
S
T
=
S
P^(t)=S^T=S
P(t)=ST=S
所以
P
T
(
t
)
P^T(t)
PT(t)也满足Riccati方程,即
P
(
t
)
P(t)
P(t)为对称,包含
n
(
n
−
1
)
2
\frac{n(n-1)}{2}
2n(n−1)个未知数.
得到最优性能指标为
J
∗
=
1
2
x
T
(
t
0
)
P
(
t
0
)
x
(
t
0
)
J^*=\frac{1}{2}x^T(t_0)P(t_0)x(t_0)
J∗=21xT(t0)P(t0)x(t0)
证明
P
(
t
)
P(t)
P(t)是半正定的,由上述方程可知
J
∗
=
1
2
x
T
(
t
0
)
P
(
t
0
)
x
(
t
0
)
=
1
2
x
T
(
T
)
S
x
(
T
)
+
1
2
∫
t
0
T
(
x
T
Q
x
+
u
T
R
u
)
d
t
J^*=\frac{1}{2}x^T(t_0)P(t_0)x(t_0)=\frac{1}{2}x^T(T)Sx(T)+\frac{1}{2}\int_{t_0}^T(x^TQx+u^TRu)dt
J∗=21xT(t0)P(t0)x(t0)=21xT(T)Sx(T)+21∫t0T(xTQx+uTRu)dt
因为
S
,
Q
(
t
)
,
R
(
t
)
S, Q(t), R(t)
S,Q(t),R(t)的半正定和正定的性质,可以知道
J
∗
≥
0
J^*\geq 0
J∗≥0.
案例
设一阶动态系统状态方程和初始条件分别为
x
˙
=
a
x
+
u
x
(
0
)
=
1
\begin{aligned} &\dot{x}=ax+u\\ &x(0)=1 \end{aligned}
x˙=ax+ux(0)=1
性能指标泛函为
J
=
1
2
s
x
2
(
T
)
+
1
2
∫
t
0
T
(
q
x
2
(
t
)
+
r
u
2
(
t
)
)
d
t
J=\frac{1}{2}sx^2(T)+\frac{1}{2}\int_{t_0}^T(qx^2(t)+ru^2(t))dt
J=21sx2(T)+21∫t0T(qx2(t)+ru2(t))dt
求使
J
J
J最小的
u
u
u.
解析:
根据上述推导可以得到最优控制
u
∗
u^*
u∗和Riccati方程和边界条件为
u
∗
=
−
1
r
p
(
t
)
x
p
˙
(
t
)
=
−
2
a
p
(
t
)
+
1
r
p
2
(
t
)
−
q
p
(
T
)
=
s
\begin{aligned} &u^*=-\frac{1}{r}p(t)x\\ &\dot{p}(t)=-2ap(t)+\frac{1}{r}p^2(t)-q\\ &p(T)=s \end{aligned}
u∗=−r1p(t)xp˙(t)=−2ap(t)+r1p2(t)−qp(T)=s
其中Riccati方程可以通过移项后两边积分得到
∫
p
(
t
)
p
(
T
)
d
p
1
r
p
2
−
2
a
p
−
q
=
∫
t
T
d
τ
\int_{p(t)}^{p(T)}\frac{dp}{\frac{1}{r}p^2-2ap-q}=\int_t^Td\tau
∫p(t)p(T)r1p2−2ap−qdp=∫tTdτ
求解得到
p
(
t
)
=
r
(
β
+
α
)
+
(
β
−
α
)
s
/
r
−
α
−
β
s
/
r
−
α
−
β
e
2
b
(
t
−
T
)
1
−
s
/
r
−
α
−
β
s
/
r
−
α
+
β
e
2
b
(
t
−
T
)
p(t)=r\frac{(\beta+\alpha)+(\beta-\alpha)\frac{s/r-\alpha-\beta}{s/r-\alpha-\beta}e^{2b(t-T)}}{1-\frac{s/r-\alpha-\beta}{s/r-\alpha+\beta}e^{2b(t-T)}}
p(t)=r1−s/r−α+βs/r−α−βe2b(t−T)(β+α)+(β−α)s/r−α−βs/r−α−βe2b(t−T)
其中
β
=
q
r
+
a
2
\beta=\sqrt{\frac{q}{r}+a^2}
β=rq+a2,最优轨线微分方程为
x
˙
(
t
)
=
(
a
−
1
r
p
(
t
)
)
x
(
t
)
x
(
0
)
=
1
\dot{x}(t)=(a-\frac{1}{r}p(t))x(t)\\ x(0)=1
x˙(t)=(a−r1p(t))x(t)x(0)=1
解之得
x
(
t
)
=
e
∫
0
t
(
a
−
p
(
t
)
/
r
)
d
τ
x(t)=e^{\int_0^t(a-p(t)/r)d\tau}
x(t)=e∫0t(a−p(t)/r)dτ
参考资料
现代控制理论(第二版) 清华大学出版社 张嗣瀛 高立群
State Space part4: What is LQR control
最优控制 LQR控制器