0

在最优控制跟踪问题中,有一个增益矩阵K (t)的Riccati方程为:

\dot{ K }(t) = - K (t) A - A ^{T} K (t) - Q + K (t) B R ^{-1} B ^{T} K (t)

在 Tf 的最后时刻,给出了终端边界条件K(Tf)。

编辑:经过考虑,我认为问题是如何将增益矩阵与给定的终端边界条件进行数值反向积分并将结果保存在查找表中以获得区间 [t0,Tf] 上的解,以便在 Simulink 中进行进一步计算?

4

1 回答 1

1

该方程的数值解可在Optimal Control Systems一书中找到

例如,以下是该技术的摘录:

E=B*inv(R)*B';  % the  matrix  E  =  BR^{-1}B' 
% 
% solve  matrix  difference  Riccati  equation  backwards 
% starting from  kf  to  kO 
% use  the  form  P(k)  =  A'P(k+1)[I  +  EP(k+1)]^{-1}A  +  Q 
% first  fix  the  final  condition  P(k_f)  =  F 

Pkplus1=F; 
p11(N)=F(1); 
p12(N)=F(2); 
p21(N)=F(3); 
p22(N)=F(4); 

for  k=N-1:-1:1, 
    Pk  =  A' *Pkplus1*inv(I+E*Pkplus1)*A+Q; 
    p11 (k)  =  Pk(1); 
    p12(k)  =  Pk(2); 
    p21(k)  =  Pk(3); 
    p22(k)  =  Pk(4); 
    Pkplus1  =  Pk; 
end 

如需更多信息,您可以查看这本书。它很棒而且内容丰富。

于 2013-10-06T03:50:58.757 回答