現控倒立擺系統分析

%% 變量賦值
m=0.1;M=1;
g=10;len=0.5;
A=[0 1 0 0 ;0 0 -m*g/M 0;0 0 0 1;0 0 (m+M)*g/(M*len) 0];
b=[0;1/M;0;-1/(M*len)];
c=[1 0 0 0];
d=0;
% 能控性分析
M=ctrb(A,b);
P=rank(M);
N=size(A,1);
%% 能觀性分析
MM=ctrb(A,b);
PP=rank(MM);

if N==P
    if N==PP
        str="該系統能控能控";
    else
        str="該系統能控不能觀";
    end
    
else
    if N==PP
        str="該系統不能控能觀";
    else
        str="該系統不能控不能觀";
    end
end
disp(str);

%% 穩定性分析
sys0=ss(A,b,c,d);
t=0:0.01:5;
[y,t,x]=step(sys0,t);
% disp(y)

figure('name','車載倒立擺系統的分析');


subplot(2,2,1);
plot(t,x(:,1),'r');
xlabel('t/s'),ylabel('x_1');
title('x1波形')%設置圖標題
grid on%開啓網格
% tx=text(0.5,0.05,str);
% set(tx,'fontweight','bold');
% sgtitle(str)

subplot(2,2,2);
plot(t,x(:,2),'g');
xlabel('t/s'),ylabel('x_2');
title('x2波形')%設置圖標題
grid on%開啓網格

subplot(2,2,3);
plot(t,x(:,3),'black');
xlabel('t/s'),ylabel('x_3');
title('x3波形')%設置圖標題
grid on%開啓網格

subplot(2,2,4);
plot(t,x(:,4),'b');
xlabel('t/s'),ylabel('x_4');
title('x4波形')%設置圖標題
grid on%開啓網格

suptitle(str);

%% 全狀態反饋控制器
K1=[-43.2 -27.36 -106.6 -23.68];
K2=-43.2;
AA=[A-b*K1 b*K2;-c 0];
BB=[zeros(4,1);1];
CC=[c 0];
DD=0;
tt=0:0.01:10;
[yy,xx,tt]=step(AA,BB,CC,DD,1,tt);%1還是len呢
x1=xx(:,1);
x2=xx(:,2);
x3=xx(:,3);
x4=xx(:,4);
w=xx(:,5);


figure('name','車載倒立擺系統全狀態反饋控制');

subplot(2,2,1);
plot(tt,x1,'r');
xlabel('t/s'),ylabel('x_1');
title('x1波形')%設置圖標題
grid on%開啓網格

subplot(2,2,2);
plot(tt,x2,'g');
xlabel('t/s'),ylabel('x_2');
title('x2波形')%設置圖標題
grid on%開啓網格

subplot(2,2,3);
plot(tt,x3,'black');
xlabel('t/s'),ylabel('x_3');
title('x3波形')%設置圖標題
grid on%開啓網格

subplot(2,2,4);
plot(tt,x4,'b');
xlabel('t/s'),ylabel('x_4');
title('x4波形')%設置圖標題
grid on%開啓網格

suptitle("全狀態反饋控制器效果");

效果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章