Problem with kalman function for LQG

12 次查看(过去 30 天)
I am trying to implement and LQG regulator, but for some reason I get an error related to the "kalman" function. A snippet of my code is as follows:
sys=ss(A_ae_control,[B_ae_control(:,1) B_ae_control(:,2)],C_ae_control,0);
Qn=0.7;
Rn=0.01*eye(size(A_ae_control,1));
kest=kalman(sys,Qn,Rn);
The variable B_ae_control has 2 columns, with the first column corresponding to the control input and the second column corresponding to the random noise input. The code seems to run when I set Qn to be a 2x2 matrix, but I don't see why this should be the case since I have only one noise input. I get the following error message when I run the above code:
The "kalman" command could not compute a convergent Kalman estimator for this plant model and
covariance data. To remedy the problem:
1. Make sure that all unstable poles of A are observable through C (use MINREAL to check)
2. Modify the weights QN and RN to make [G 0;H I]*[Qn Nn;Nn' Rn]*[G 0;H I]' positive definite (use EIG
to check positivity)
I have tried checking the observability and controllability of the system but I am not sure what else to do. Any insight would be appreciated!
  11 个评论
William Alberg
William Alberg 2020-5-20
I installed matlab 2017a, and i can't make it work either.
I also tried the lqe, care and icare commands, but they all seem to hit the same problem.
Arhant Sethia
Arhant Sethia 2020-5-20
Installed 2020a and it seems to work. Thanks for all your help!

请先登录,再进行评论。

回答(0 个)

产品


版本

R2017a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by