第一章 控制系統狀態空間表達式的建立
1.1建立物理模型
在忽略摩擦等阻力之後,可將一級倒立擺系統抽象成小車和勻質杆組成的系統,假設 M爲小車質量;m爲擺杆質量;b爲小車摩擦係數;l爲擺杆轉動軸心到杆質心的長度;I爲擺杆慣量;F爲加在小車上的力;爲小車位置;爲擺杆與垂直向上方向的夾角;爲擺杆與垂直向下方向的夾角。
圖2是系統中小車和擺杆的受力分析圖。其中,N和P爲小車與擺杆相互作用力的水平和垂直方向的分量。值得注意的是: 在實際倒立擺系統中檢測和執行裝置的正負方向已確定, 因而矢量方向定義如圖2所示, 圖示方向爲矢量正向。
(a) (b)
圖2 小車和擺杆的受力分析圖
分析小車水平方向所受的合力,可以得到以下方程:
(1)
由擺杆水平方向的受力進行分析可以得到下面等式:
(2)
把這個等式代入上式中,就得到系統的第一個運動方程:
(3)
爲了推出系統的第二個運動方程,我們對擺杆垂直方向上的合力進行分析,可以得到下面方程:
(4)
力矩平衡方程如下:
(5)
合併這(4)、(5)兩個方程,約去P和N,得到第二個運動方程:
(6)
假設與1(單位是弧度)相比很小,即<<1,則可以進行近似處理:
(7)
用u來代表被控對象的輸入力F,線性化後兩個運動方程如下:
(8)
1.2 狀態空間方程
選擇小車的位移、小車的速度、小車的角度、小車的角速度作爲狀態變量,方程組(8)對解代數方程,整理後的系統狀態空間方程爲:
對於質量均勻分佈的擺杆有:,於是可得:
化簡得:
設 ,則有:
1.3 實際系統模型
查找相關資料得,實際系統模型參數: M=1.096 Kg;m=0.109 Kg;b=0.1 N/m/s;l=0.25 m;I=0.0034 kg·m·m;採樣頻率 T =5 ms。
以小車加速度作爲輸入的系統狀態方程:
第二章 控制系統狀態空間表達式的解
對於狀態空間方程後,我們若單考慮這部分(沒有輸入,此時系統爲自治系統,即齊次系統),是可以求出解的,求出的解稱爲狀態轉移矩陣,有了狀態轉移矩陣,任給一個初始狀態向量,這個向量與狀態轉移矩陣相乘,便可以得到任意時刻的狀態。值得注意的是對於定常線性系統,這個解就是矩陣指數函數。當然若是非齊次的,即有輸入矩陣B(t),還是可以解出通解的,通解的表達式爲:
系統在t1時刻的狀態解爲:
當然也有輸出解爲:
A=[ 0 1 0 0;0 0 0 0;0 0 0 1;0 0 29.4 0 ];
%B=[ 0 ;1; 0;3 ] ;
%C=[ 1 0 0 0;0 0 1 0];
%D=[ 0; 0 ];
syms t s ;
G=inv(s*eye(size(A))-A)
eat=ilaplace(G)
求出狀態轉移矩陣:
G =
[ 1/s, 1/s^2, 0, 0]
[ 0, 1/s, 0, 0]
[ 0, 0, (5*s)/(5*s^2 - 147), 5/(5*s^2 - 147)]
[ 0, 0, 147/(5*s^2 - 147), (5*s)/(5*s^2 - 147)]
eat =
[ 1, t, 0, 0]
[ 0, 1, 0, 0]
[ 0, 0, cosh((7*3^(1/2)*5^(1/2)*t)/5), (3^(1/2)*5^(1/2)*sinh((7*3^(1/2)*5^(1/2)*t)/5))/21]
[ 0, 0, (7*3^(1/2)*5^(1/2)*sinh((7*3^(1/2)*5^(1/2)*t)/5))/5,cosh((7*3^(1/2)*5^(1/2)*t)/5)]
第三章 控制系統的能控性和能觀性
對於連續時間系統:
系統狀態完全可控的條件爲:當且僅當向量組B,AB,B…B是線性無關的,或n×n維矩陣:
的秩爲n。
當rankUc=n時,系統狀態完全能控,否則系統不能控。在Matlab中,可利用ctrb()函數直接求出能控性矩陣,從而確定系統的狀態能控性,它的調用格式爲:Uc=ctrb(A,B)。
應用以上原理對系統進行可控性分析。
MATLAB計算過程如下:
clear all;
A=[ 0 1 0 0;0 0 0 0;0 0 0 1;0 0 29.4 0 ];
B=[ 0 ;1; 0;3 ] ;
C=[ 1 0 0 0;0 0 1 0];
D=[ 0; 0 ];
Uc=ctrb(A,B);n=4;
if(n==rank(Uc))
disp('系統能控')
end
其結果爲:系統能控。可以看出,系統的狀態完全可控性矩陣的秩等於系統的狀態變量維數,系統的輸出完全可控性矩陣的秩等於系統輸出向量y 的維數,所以系統可控。
同理可以通過Uo=obsv(A,C); r=rank(Uo);可判斷系統能觀。
因此可以對系統進行狀態反饋控制器的設計,使系統穩定。
第四章 控制系統的穩定性
4.1 根據階躍響應分析系統穩定性
上面已經得到系統的狀態方程式,對其進行階躍響應分析,在MATLAB 指令區中鍵入以下命令:
clear all;
A=[ 0 1 0 0;0 0 0 0;0 0 0 1;0 0 29.4 0 ];
B=[ 0 ;1; 0;3 ] ;
C=[ 1 0 0 0;0 0 1 0];
D=[ 0; 0 ];
step(A,B,C,D)
曲線如下圖所示。
可以看出,在單位階躍響應作用下,小車位置和擺杆角度都是發散的。即系統是不穩定的。
4.2 根據傳遞函數極點法分析系統穩定性
根據零極點在複平面的分佈情況可以判斷系統的穩定性,若系統的零極點在右辦平面存在,則系統是不穩定的。
在MATLAB 指令區中鍵入以下命令:
clear all;
A=[ 0 1 0 0;0 0 0 0;0 0 0 1;0 0 29.4 0 ];
B=[ 0 ;1; 0;3 ] ;
C=[ 1 0 0 0;0 0 1 0];
D=[ 0; 0 ];
[z,p,k]=ss2zp(A,B,C,D);
sys=ss(A,B,C,D);
tfun=tf(sys);
zpm=zpk(sys);
p =
5.4222
-5.4222
0
0
>> z
z =
-5.4222 0
5.4222 0
可以看出,有一個極點位於右半平面,系統不穩定。
第五章 狀態空間的極點配置
針對直線型一級倒立擺系統應用極點配置法設計控制器。
極點位置的確定,要充分考慮它們對於系統性能的主導影響及其與系統零點分佈狀況的關係。前面我們已經得到了直線一級倒立擺的狀態空間模型,以小車加速度作爲輸入的系統狀態方程爲:
通過查閱有關資料,得到了系統極點方程:
這次,我們設定令系統的最大超調量,調節時間,
算出阻尼比爲0.707,無阻尼振盪角頻率大於9.46所以由公式得解爲-7.07+7.07j, -7.07-7.07j,另外去兩個極點-10,-10。設極點J=[ -7.07+7.07j, -7.07-7.07j,-10,-10]。求出狀態反饋增益陣,使用MATLAB進行極點配置,編寫如下代碼:
clear all;
A=[ 0 1 0 0;0 0 0 0;0 0 0 1;0 0 29.4 0 ];
B=[ 0 ;1; 0;3 ] ;
C=[ 1 0 0 0;0 0 1 0];
D=[ 0; 0 ];
[num,den]=ss2tf(A,B,C,D,1);
G=ss(A,B,C,D);
Co=ctrb(G);
r=rank(Co);
p=[ -7.07+7.07j, -7.07-7.07j,-10,-10];
K=place(A,B,p);
>> Co
Co =
0 1.0000 0 0
1.0000 0 0 0
0 3.0000 0 88.2000
3.0000 0 88.2000 0
>> r
r =
4
>> K
K =
-340.0333 -116.1019 284.0677 50.0806
由以上結果可以看出該系統是完全能控的,且其狀態反饋陣爲K=[-340.0333 -116.1019 284.0677 50.0806]。
第六章 Simulink仿真
在MATLAB Simulink 下對系統進行仿真,模型如下圖所示:
圖5 直線一級倒立擺極點配置控制仿真模型
仿真結果:
從結果可以看出在存在干擾的情況下,系統在1秒內基本上可以恢復到新的平衡位置,結果表明,如此進行了極點配置可以有效的使輸出快速的收斂,使得系統穩定。
參考文獻
[1] 劉豹,唐萬生.《現代控制理論基礎》[M] 機械工業出版社,2006
[2] 張德豐.《MATLAB控制系統設計與仿真》[M].清華大學出版社,2014
[3] 王晶,翁國慶,張有兵.《電力系統的MATLAB/SIMULINK仿真與應用》[M] 西安電子科技大學出版社,2017