其他分享
首页 > 其他分享> > 学习随笔#12 最优化控制(Optimal Control)

学习随笔#12 最优化控制(Optimal Control)

作者:互联网

最优化控制(Optimal Control)

  在约束条件下达到最优的系统表现。下图是一个单输入单输出(SISO)系统的控制系统框图。
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 ∫0t​e2dt越小,则系统的跟踪性能越好;如果使得 ∫ 0 t u 2 d t \int_0^tu^2\mathrm{d}t ∫0t​u2dt越小,则系统的输入越小,因此我们就有了若干优化指标。
  如果分别调整这些优化指标,需要进行大量的调整和测试才能得到最优结果,但如果能把这些指标统一到一个式子中,那么我们只要求解这个式子就可以得到最优结果,因此我们提出了代价函数(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​−r1​y2​−r2​​]=[x1​x2​​]
此处 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=q1​x12​+q2​x22​UTRU=r1​u12​+r2​u22​​
其中 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​为权重系数。以上就是最优化控制的思路。

标签:Control,12,end,matrix,0t,int,Optimal,cases,mathrm
来源: https://blog.csdn.net/weixin_44336913/article/details/123591216