最优化控制(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)。如果我们使得∫0te2dt\int^t_0e^2\mathrm{d}t∫0te2dt越小,则系统的跟踪性能越好;如果使得∫0tu2dt\int_0^tu^2\mathrm{d}t∫0tu2dt越小,则系统的输入越小,因此我们就有了若干优化指标。
如果分别调整这些优化指标,需要进行大量的调整和测试才能得到最优结果,但如果能把这些指标统一到一个式子中,那么我们只要求解这个式子就可以得到最优结果,因此我们提出了代价函数(Cost Function)的概念。
J=∫0t(qe2+ru2)dt
J=\int^t_0(qe^2+ru^2)\mathrm{d}t
J=∫0t(qe2+ru2)dt
通过求解代价函数的最小值,我们就可以得到最优的输入信号。方程中的qqq和rrr是两个因数,若q≪rq\ll rq≪r,说明我们更重视误差eee对结果的影响;若q≫rq\gg rq≫r,说明我们更重视输入uuu对结果的影响。
对于多输入多输出(MIMO)系统来说,设其状态方程为
{dxdt=Ax+BuY=Cx
\begin{cases}
\displaystyle\frac{\mathrm{d}x}{\mathrm{d}t}=Ax+Bu\\Y=Cx
\end{cases}
⎩⎨⎧dtdx=Ax+BuY=Cx
则其代价函数为
J=∫0t(ETQE+UTRU)dt
J=\int^t_0(E^TQE+U^TRU)\mathrm{d}t
J=∫0t(ETQE+UTRU)dt
其中
E=Y−R=[y1−r1y2−r2]=[x1x2]
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]
注意此处RRR为参考矩阵,与上下文的调节矩阵不同。
所以
{ETQE=q1x12+q2x22UTRU=r1u12+r2u22
\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
其中QQQ、RRR为调节矩阵,q1q_1q1、q2q_2q2、r1r_1r1、r2r_2r2为权重系数。以上就是最优化控制的思路。