LQR, Kalman and LQG control seemed so promising, and that its robustness weakness could be adressed by robust control. Then in the very end of the video it was briefly mentioned that it could simply be replaced by loop shaping. Is there still a need for LQG control or has it become "obsolete" to the above theory?
I think this code is wrong in the last part. True tf not give to "series(K,tfcar);" that is why we can not see any difference. It should be, clear all, close all, clc % Create a car model sysCar = ss(-1,1,1,0); % A matrix -1, B matrix 1, C matrix 1 and D matrix 0 [num, den] = ss2tf(sysCar.a,sysCar.b,sysCar.c,sysCar.d); tfcar = tf(num,den); s = tf('s'); DesiredLoop = 10/s; K = DesiredLoop/tfcar; % K is controller K. sysLoop1 = series(K,sysCar); % This is loop tranfer function K x P sysCL1 = feedback(sysLoop1,1,-1); % This is feedback system tfcar = 1/(s + 0.5); % This is actual system. It is slow. This use 0.5 and model use 1 value. sysLoop2 = series(K,tfcar); % This is loop tranfer function K x P sysCL2 = feedback(sysLoop2,1,-1); % This is feedback system step(sysCL1) hold on step(sysCL2) hold on step(sysCar)
Okay, I'm assuming with the bode plot at the end, it doesn't seem right, the closed system should come into play at 0 dB, which doesn't when analysing the bode plot of sysloop. But if you do the bode plot sysCL, it works as intended, the system acts accordingly at 0 dB. I maybe wrong with this, let me know if I am :)
Just my luck, I find these lectures 2 days before my Controls Final....this would have been very helpful in lieu of the trainwreck I have to endure in class...the quality of professors at universities is abysmal.
Thanks for these lectures. I am enjoying.
LQR, Kalman and LQG control seemed so promising, and that its robustness weakness could be adressed by robust control. Then in the very end of the video it was briefly mentioned that it could simply be replaced by loop shaping. Is there still a need for LQG control or has it become "obsolete" to the above theory?
I think this code is wrong in the last part. True tf not give to "series(K,tfcar);" that is why we can not see any difference. It should be,
clear all, close all, clc
% Create a car model
sysCar = ss(-1,1,1,0); % A matrix -1, B matrix 1, C matrix 1 and D matrix 0
[num, den] = ss2tf(sysCar.a,sysCar.b,sysCar.c,sysCar.d);
tfcar = tf(num,den);
s = tf('s');
DesiredLoop = 10/s;
K = DesiredLoop/tfcar; % K is controller K.
sysLoop1 = series(K,sysCar); % This is loop tranfer function K x P
sysCL1 = feedback(sysLoop1,1,-1); % This is feedback system
tfcar = 1/(s + 0.5); % This is actual system. It is slow. This use 0.5 and model use 1 value.
sysLoop2 = series(K,tfcar); % This is loop tranfer function K x P
sysCL2 = feedback(sysLoop2,1,-1); % This is feedback system
step(sysCL1)
hold on
step(sysCL2)
hold on
step(sysCar)
@ Indramal Wansekara, You got it right.
In the code, line no. 19 should be "sysLoop = series(K, tfCar)"
Okay, I'm assuming with the bode plot at the end, it doesn't seem right, the closed system should come into play at 0 dB, which doesn't when analysing the bode plot of sysloop. But if you do the bode plot sysCL, it works as intended, the system acts accordingly at 0 dB. I maybe wrong with this, let me know if I am :)
I think you accidentally used sysCar for the "bad" model instead of tfCar. That's why you didn't see any weird differences. :)
no, it is code error. see my comment.
ive just inverted my plant weely-neely :D
Just my luck, I find these lectures 2 days before my Controls Final....this would have been very helpful in lieu of the trainwreck I have to endure in class...the quality of professors at universities is abysmal.