最优化控制(Optimal Control)
在约束条件下达到最优的系统表现。下图是一个单输入单输出(SISO)系统的控制系统框图。
在这个系统中,我们定义误差
e
(
t
)
e(t)
e(t)为参考信号
r
(
t
)
r(t)
r(t)与输出信号
y
(
t
)
y(t)
y(t)的差,即
e
(
t
)
=
y
(
t
)
−
r
(
t
)
e(t)=y(t)-r(t)
e(t)=y(t)−r(t)。如果我们使得
∫
0
t
e
2
d
t
\int^t_0e^2\mathrm{d}t
∫0te2dt越小,则系统的跟踪性能越好;如果使得
∫
0
t
u
2
d
t
\int_0^tu^2\mathrm{d}t
∫0tu2dt越小,则系统的输入越小,因此我们就有了若干优化指标。
如果分别调整这些优化指标,需要进行大量的调整和测试才能得到最优结果,但如果能把这些指标统一到一个式子中,那么我们只要求解这个式子就可以得到最优结果,因此我们提出了代价函数(Cost Function)的概念。
J
=
∫
0
t
(
q
e
2
+
r
u
2
)
d
t
J=\int^t_0(qe^2+ru^2)\mathrm{d}t
J=∫0t(qe2+ru2)dt
通过求解代价函数的最小值,我们就可以得到最优的输入信号。方程中的
q
q
q和
r
r
r是两个因数,若
q
≪
r
q\ll r
q≪r,说明我们更重视误差
e
e
e对结果的影响;若
q
≫
r
q\gg r
q≫r,说明我们更重视输入
u
u
u对结果的影响。
对于多输入多输出(MIMO)系统来说,设其状态方程为
{
d
x
d
t
=
A
x
+
B
u
Y
=
C
x
\begin{cases} \displaystyle\frac{\mathrm{d}x}{\mathrm{d}t}=Ax+Bu\\Y=Cx \end{cases}
⎩⎨⎧dtdx=Ax+BuY=Cx
则其代价函数为
J
=
∫
0
t
(
E
T
Q
E
+
U
T
R
U
)
d
t
J=\int^t_0(E^TQE+U^TRU)\mathrm{d}t
J=∫0t(ETQE+UTRU)dt
其中
E
=
Y
−
R
=
[
y
1
−
r
1
y
2
−
r
2
]
=
[
x
1
x
2
]
E=Y-R=\left[\begin{matrix}y_1-r_1\\y_2-r_2\end{matrix}\right]=\left[\begin{matrix}x_1\\x_2\end{matrix}\right]
E=Y−R=[y1−r1y2−r2]=[x1x2]
注意此处
R
R
R为参考矩阵,与上下文的调节矩阵不同。
所以
{
E
T
Q
E
=
q
1
x
1
2
+
q
2
x
2
2
U
T
R
U
=
r
1
u
1
2
+
r
2
u
2
2
\begin{cases} E^TQE=q_1x_1^2+q_2x_2^2\\U^TRU=r_1u_1^2+r_2u_2^2 \end{cases}
{ETQE=q1x12+q2x22UTRU=r1u12+r2u22
其中
Q
Q
Q、
R
R
R为调节矩阵,
q
1
q_1
q1、
q
2
q_2
q2、
r
1
r_1
r1、
r
2
r_2
r2为权重系数。以上就是最优化控制的思路。