11章7頁-14頁,
P11-7的極點安置設計Pole placement design
已知一線性非時變系統
X(t)=AX(t)+Bu(t) (11-2)
假設其狀態回授控制器為
u(t)=r(t)-KX(t) (11-3)
將(11-3)代入(11-2)得
X(t)=AX(t)+Bu(t)
=AX(t)+Br(t)-KX(t)
=(A-BK)X(t)+Br(t) ( 11-4)
而(11-2)~(11-4)所畫的系統方塊圖如圖11-3
例四:題目
% p11_8頁的程式
% 極點安置設計
damping=0.707;
wn=3;
[num1,den1]=ord2(wn,damping)%由damping 與wn所組成的標準二階微分方程(分子/分母)
% 受控系統轉換成狀態空間模表示式
num=1;%題目給的轉移函數分子
den=conv([1 1],conv([1 2],[1 3]));%題目給的轉移函數分母,兩兩相乘的多項式
[A,B,C,D]=tf2ss(num,den)%將題目所給的三階系統轉為狀態方程式A,B,C,D
length_of_A=length(A)%
Cm=ctrb(A,B);
rank_of_Cm=rank(Cm)%先判別可不可以控制
if rank_of_Cm==length_of_A%若是相等就可以控制
% 設定所需的極點
dominant_poles=roots(den1);%主極點是
由damping 與wn所組成的標準二階微分方程(分子/分母)
desired_poles=[dominant_poles' 10*real(dominant_poles(1))]%因為是三階,所以除了主極點外,再加一個10倍遠的極點
% 計算增益K
由damping 與wn所組成的標準二階微分方程(分子/分母)
desired_poles=[dominant_poles' 10*real(dominant_poles(1))]%因為是三階,所以除了主極點外,再加一個10倍遠的極點
% 計算增益K
K=place(A,B,desired_poles)
% 計算閉迴路系統狀態空間模表示式
Ac=A-B*K%課本11-4式
Bc=B
Cc=C
Dc=D
else
disp('cannot use the method of pole placement')
end
例五將7-32頁的4階倒單擺系統,作一狀態回控控制
找出阻尼比與自然無阻尼後,可以得到標準二階系統轉移函數
% P11_12.m
% 倒單擺系統之極點安置設計
damping=0.6;
wn=3.33;
[num1,den1]=ord2(wn,damping)
% 受控系統以狀態空間表示 11-11頁
A=[0 1 0 0;0 0 -0.98 0;0 0 0 1;0 0 17.97 0];
B=[0;0.5;0;-0.83];
C=[1 0 0 0;0 0 1 0];
D=[0;0];
length_of_A=length(A)
Cm=ctrb(A,B);
rank_of_Cm=rank(Cm)
if rank_of_Cm==length_of_A
% 設定所需的極點
dominant_poles=roots(den1);desired_poles=[dominant_poles' 9*real(dominant_poles(1)) 10*real(dominant_poles(1))]%多兩點無關緊要的極點
% 計算增益K
K=place(A,B,desired_poles)
% 計算閉迴路系統狀態空間模表示式
Ac=A-B*K
Bc=B
Cc=C
Dc=D
else
disp('cannot use the method of pole placement')
end
同學設計出11-14頁的Simulink程式來驗証看看是否正確!- Simulink內的Demux是全黑的,只要快按兩下到裏面將「Display option選為none,
- 按一下Demux的滑鼠右鍵/Format/show block name, 可出現下標文字Demux
所以輸出有6個,前兩個輸出y1=x1; y2=x3;
後面4個輸出:y3=x1; y4=x2; y5=x3; y6=x4;
沒有留言:
張貼留言