一階倒立擺控制的課設 自己編的MATLAB程序_第1頁
一階倒立擺控制的課設 自己編的MATLAB程序_第2頁
一階倒立擺控制的課設 自己編的MATLAB程序_第3頁
一階倒立擺控制的課設 自己編的MATLAB程序_第4頁
一階倒立擺控制的課設 自己編的MATLAB程序_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、沈陽航空航天大學課程設計論文 基于狀態空間極點配置的一階倒立擺控制目 錄0. 前言21. 基于狀態空間極點配置的一階倒立擺系統的基本理論31.1. 一階倒立擺系統建模31.2. 一階倒立擺系統的性能分析61.3. GUI功能72. 方案設計73. 基于狀態空間極點配置的倒立擺控制83.1. 極點配置理論83.2 反饋矩陣的算法94. 軟件編程105. 系統調試和結果分析126. 結論及進一步設想15參考文獻16附錄1 程序17課設體會19基于狀態空間極點配置的一階倒立擺控制劉錫婷 沈陽航空航天大學自動化學院摘要:倒立擺系統是一個具有不確定性、耦合性、開環不穩定性的系統,通過對它的研究,可以解決

2、控制中的理論問題并綜合其所涉及的學科,應用在工程實踐中。根據建立系統的數學模型,運用狀態空間極點配置方法設計狀態反饋控制器,將多變量系統的閉環系統極點配置在期望的位置上,編寫Matlab語言并進行調試,從而使系統實現倒立擺的平衡控制,并通過設計GUI界面進行參數的輸入和顯示的輸出。關鍵詞:一階倒立擺;極點配置;狀態反饋控制器;平衡控制;0. 前言1) 倒立擺系統研究的背景及意義倒立擺系統是自動控制理論中的典型實驗設備,也是控制理論教學和科研中不可多得的典型物理模型。倒立擺為典型的快速、多變量、非線性、絕對不穩定系統,同時又是雙足行走機器人和火箭垂直姿態等許多控制對象的最簡模型,由于倒立擺在數學

3、模型上復雜但直觀上又簡單,所以倒立擺控制問題常用來檢驗新的控制理論和方法的有效性,是控制理論中較為理想的實驗手段。倒立擺的典型性在于:作為一個實驗裝置,它成本低廉、結構簡單、形象直觀、構件組成參數和形狀易于改變、便于實現模擬和數字兩種不同的控制方式;作為一個被控對象又相當復雜,就其本身而言,是一個高階次、不穩定、多變量、非線性、強耦合的快速系統,這樣一個自然不穩定的被控對象,可采用一些控制方法使之具有良好的穩定性。迄今人們已經利用經典控制理論、現代控制理論以及各種智能控制理論實現了多種倒立擺系統的穩定控制。20世紀90年代以來,各種復雜的倒立擺系統不斷地采用不同的控制方法,極大的促進了控制理論

4、的發展,同時這些新的控制方法又在航天航空控制和機器人控制方面的得到了廣泛的應用。通過對倒立擺系統的研究,不僅可以解決控制中的理論問題,用來檢驗某種控制理論或方法的典型方案,促進了控制系統新理論、新思想的發展,還能綜合控制理論所涉及的學科,在倒立擺系統中進行綜合應用。在多種控制理論與方法的研究和應用中,特別是在工程實踐中,也存在一種可行性的試驗問題,將其理論和方法得到有效的經驗,倒立擺為此提供一個從控制理論通往實踐的橋梁。因此倒立擺系統的研究不僅有其深刻的理論意義,同時還有重要的工程背景。2) 課設內容及任務 本文主要研究了基于狀態空間極點配置的一階倒立擺系統的控制策略。在控制系統的分析和設計中

5、,首先要建立系統的數學模型,描述系統內部物理量和變量之間關系,即小車的位置和速度及擺桿的角度和速度四個狀態變量,在得到倒立擺系統的實際模型后,我們就可以運用控制理論的相關知識對其特性進行分析,其中最重要的是系統的穩定性、能控性和能觀性。在現控制理論中,狀態空間方法可以很方便地處理初始條件,又可以適用于非線性系統、多輸入多輸出系統、時變系統、隨機系統和離散系統,同時又可以很方便地用計算機求解,所以它很快發展起來并得到廣泛的應用。本文運用現代控制理論中的狀態空間極點配置的方法來實現倒立擺系統的狀態反饋控制,根據線性系統控制理論,完全能控和完全能觀的系統可以通過對狀態反饋矩陣的適當選擇,使閉環系統的

6、極點按性能指標得到任意的配置,并配置在期望的位置上,通過Matlab語言程序設計,得到設計后相應狀態變量的時間響應,并設法調整閉環系統的極點分布,以構成閉環穩定的倒立擺系統,從而使系統滿足瞬態和穩態性能指標。運用Matlab中的GUI功能設計極點配置系統的界面,通過界面輸入被控對象的參數,顯示狀態反饋控制器的參數及系統輸出的波形。1. 基于狀態空間極點配置的一階倒立擺系統的基本理論1.1. 一階倒立擺系統建模 在控制系統的分析和設計中,首先要建立系統的數學模型。控制系統的數學模型是描述系統內部物理量和變量之間關系的數學表達式。利用數學結構來反映實際系統內部之間、系統內與外部某些主要相關因素之間

7、的精確的定量表示。數學模型是分析、設計、預測以及控制一個系統的理論基礎。 由于狀態反饋要求被控系統是一個線性系統,而倒立擺系統本身是一個非線性的系統,因此用狀態反饋來控制倒立擺系統首先要將這個非線性系統近似成為一個線性系統。對于這樣一種復雜的要求快速性很高,有很強非線性的系統,經過小心的假設忽略掉一些次要的因素后, 它便是一個典型的機電一體化系統,其機械部分遵守牛頓運動定律,其電子部分遵守電磁學的基本定律,因此可以通過機理建模得到系統較為精確的數學模型。 一級倒立擺系統是所以在建立數學模型時基于以下假設:1) 擺桿為剛體。 2) 皮帶長度無變化,與皮帶輪之間無相對滑動。 3) 小車的驅動力直接

8、加在小車上,大小正比于功率放大器的輸入,且無延遲。 4) 各部分的摩擦力與相對速度成正比。可將倒立擺系統抽象成小車和勻質桿組成的系統,并進行受力分析,如圖1所示。 圖1 倒立擺系統小車和擺桿的受力分析 其中,M為小車質量,m為擺桿質量,b為小車摩擦系數,l為擺桿轉動軸心到桿質心的長度,I為擺桿慣量,F為加在小車上的力,x為小車位置,為擺桿與垂直向上方向的夾角(逆時針為正),為擺桿與垂直向下方向的夾角(考慮到擺桿初始位置為豎直向下,順時針為正)。分析小車水平方向上的合力,可以得到以下的方程: (1)分析擺桿水平方向上的受力,可以得到如下的方程: (2)即: (3)綜合(1)和(3),可以得到以下

9、的動力學方程: (4)分析擺桿垂直方向上的合力,可以得到如下的方程: (5)即: (6)根據擺桿的力矩平衡方程,可以得到如下的方程: (7)在(7)式中我們令為擺桿與垂直向下方向的夾角,則。合并(6)與(7)可以得到以下的動力方程: (8)因為倒立擺在保持垂直向方向上的平衡時的很小,則可以進行做近似處理。設u代表被控對象的輸入力F,式(4)和式(8)經線性化后為: (9)對式(9)進行拉普拉斯變換,得到以下的方程式: (10)在(10)式中推導傳遞函數時假設初始條件為0。由于輸出為角度,求解方程組(10)的第一個方程可以得: (11)令,則有: (12)將式(12)代入方程組(10)的第二個方

10、程,可以得到: (13)其中, (14)設系統的狀態空間方程為: (15)對方程組(7)進行代數變換可得: (16)整理得到系統的狀態方程為: (17) (18)其中,x為小車的位移,為小車的速度,為擺桿的擺角,為擺桿的角速度,u為輸入力F,y為輸出矩陣。1.2. 一階倒立擺系統的性能分析在得到倒立擺系統的實際模型后,我們就可以運用控制理論的相關知識對其特性進行分析,其中最重要的是系統的穩定性、能控性和能觀性。在分析倒立擺系統的性能之前,有必要了解相關的定理。定理1(穩定性判據): Lyapunov第一法則判定定理:對于線性定常系統有:(1)系統的每一平衡狀態是在Lyapunov意義下穩定的充

11、分必要條件是:A的所有特征值均具有非正(負或零)實部,且具有零實部的特征值為A的最小多項式的單根。(2)系統的唯一平衡狀態是漸進穩定的充分必要條件是:A的所有特征值具有負實部。定理2(能控性判據): n階線性定常連續系統狀態完全能控,當且僅當系統的能控性矩陣: (19)滿秩,即:。 (20)定理3(能觀性判據): n階線性定常連續系統 (21)狀態完全能觀,當且僅當系統的能觀性矩陣: (22)滿秩,即: (23)倒立擺系統的狀態方程如式(15)所示,將A的值帶入特征方程中,經過計算可以得到系統的特征值,根據定理1判斷倒立擺是否穩定。將A、B、C的值分別帶入到M和V的表達式中,可以得到兩個矩陣的

12、秩,由定理2,3判斷倒立擺系統能控性、能觀性。1.3. GUI功能GUI即圖形用戶界面。本文主要是借助于GUI開發工具GUIDE的設計方法,在Matlab中提供了用戶圖形界面開發程序GUIDE,支持可視化的編輯。首先通過不同方式啟動GUIDE,如在Matlab File菜單中選New/GUI,創建新的GUI并創建初始界面,設計所需要的文本控件(Static Text)和按鈕控件(Push Button),可以雙擊控件調出屬性編輯器進行其屬性的設置。本文中通過GUI輸入矩陣A、B、C及期望極點矩陣JX,并通過界面顯示出反饋矩陣k和小車及擺桿的響應圖形。2. 方案設計 對一階倒立擺系統進行控制,基

13、本目的有兩個,一是為了使倒立擺系統穩定;二是使系統的瞬態和穩態的性能良好,特別是系統的調節過程迅速振蕩不要過甚并且能很好地改善穩態時的擺動現象。在現控制理論中,狀態空間方法可以很方便地處理初始條件,又可以適用于非線性系統、多輸入多輸出系統、時變系統、隨機系統和離散系統,同時又可以很方便地用計算機求解。本文的研究主要是基于狀態空間極點配置理論的方法,設計出合理的狀態反饋控制器。根據線性系統控制理論,完全能控和完全能觀的系統可以通過對狀態反饋矩陣的適當選擇,使系統的極點按性能指標得到任意的配置,所以倒立擺系統經狀態反饋后,得到的穩定的閉環系統。通過設計通用的Matlab程序來得出狀態反饋矩陣,再利

14、用Matlab中的GUI功能設計極點配置系統的界面,被控對象的參數可以通過界面進行任意的輸入,通過GUI界面顯示狀態反饋控制器的參數和系統輸出及控制器輸出的波形,并根據固高倒立擺系統進行驗證。3. 基于狀態空間極點配置的倒立擺控制3.1. 極點配置理論如果給出了對象的狀態方程模型,則我們經常希望引入某種控制器,使得閉環系統的極點可以移動到指定的位置,因為這樣可以適當的指定系統閉環極點的位置,使得其動態性能得到改進,在控制理論中將這種移動極點的方法稱為極點配置。一般來說,閉環系統的穩定性和響應品質同閉環極點密切相關,控制系統的各種特性及其各種品質指標很大程度上由其閉環系統的零點和極點的位置決定的

15、。在經典控制理論中通常用調整開環增益及引入串、并聯校正裝置來配置閉環極點。在現代控制理論中,廣泛采用狀態變量反饋來配置極點,就是通過對狀態反饋矩陣的選擇,使閉環系統的極點配置在所希望的位置上,從而達到期望的性能指標的要求。對于完全能控和完全能觀的系統,其狀態方程如式(21)所示,則控制規律選擇為線性狀態反饋為: u=U-KX (24) 式中,將式(25)代入式(21)中,可以得到閉環系統的狀態方程為: (25)顯然,閉環系統的特征多項式應為: (26)因此通過改變反饋矩陣K使閉環系統有所需要的極點配置,達到期望的性能指標要求。其極點配置的原理圖如圖2所示。圖2 倒立擺極點配置原理圖3.2 反饋

16、矩陣的算法 極點配置法通過設計狀態反饋控制器將多變量系統的閉環極點配置在期望的位置上,從而使系統滿足瞬態和穩態的性能指標。現行的設計技術是根據瞬態響應和頻率響應要求(速度、衰減率或帶寬等),確定所期望的閉環極點。假定定出所期望的閉環極點是:,那么,如果原系統是狀態完全可控的,通過選擇合適的狀態反饋增益矩陣,就可以使系統具有所期望位置的閉環極點。極點配置法的反饋矩陣K的算法主要有系統匹配法、Ackermann配置法、Gura-Bass算法等幾種方法。假設期望的閉環極點,則系統的開環特征方程為: (27)閉環系統的特征方程為: (28)1) 統匹配法是計算反饋矩陣的一種最直接的方法,它主要是通過比

17、較系統特征方程的系數來求解,此方法較為簡單,但是只適合于低階系統。2) Ackermann配置算法是先把系統的描述轉化為某種可控規范型,然后利用規范型的性質求解。這里只給出具體的結果:所求反饋增益矩陣,其中: , (29) P(A)為將A代入式(27)得出的矩陣多項式的值,可以由Matlab語句poly()函數求出。 3) Gura-Bass算法是最為常用的方法,其具體的步驟為:(1) 檢驗系統的可控性條件。(2) 利用矩陣A的特征多項式,如式(27)所示,來確定的值。 (3) 確定是狀態方程變為可控標準型的變換矩陣T:TM*W 其中,M為可控性矩陣,如式(19)所示。 (30)(4) 利用所

18、期望的特征值,寫出期望的多項式,如式(28)所示,并確定的值。 (5) 需要的狀態反饋增益矩陣K可由以下的方程確定: (31)4. 軟件編程 倒立擺實物控制系統是一個典型的計算機控制系統,其反饋控制器是通過軟件編程實現的,因此控制程序的編寫是實現倒立擺實物系統控制的重要環節。Matlab軟件的出現使控制系統的分析和設計問題變得相對簡單了,它具有很強的矩陣運算能力,特別適合現代控制理論控制系統的分析和設計。本文主要利用Matlab完成狀態空間極點配置通用程序設計,并將所設計的狀態反饋控制器應用到固高倒立擺系統進行驗證。 根據建立一階倒立擺數學模型,可以得到狀態空間表達式。通過編寫Matlab的循

19、環語句,可以實現通用的程序設計,并設計出GUI界面。具體分為這樣7步:1) 通過循環寫出可控性矩陣M,檢驗系統的可控性,程序如下所示:n=size(A);M=B;Q=B;for i=1:n-1 Q=A*Q; M=M Q;endr=rank(M);if r=n elseif r<ndisp('no');end2) 利用矩陣A計算開懷系統特征值,程序如下所示:JP=poly(A);3) 通過循環語句寫出矩陣W,確定可控標準型的變換矩陣T,程序如下所示:F=eye(n);for i=1:n for j=1:n for c=1:n-1 if i-j=c z=c; F(i,j)=J

20、P(z+1); end end endendG=rot90(F);H=rot90(G);W=rot90(H);T=M*W;4) 利用所期望的特征值,寫出期望的多項式,并計算特征值,程序如下所示:JX=-10 0 0 0;0 -10 0 0;0 0 -2-2*sqrt(3)*j 0;0 0 0 -2+2*sqrt(3)*j;JJ=poly(JX); 5) 通過循環語句寫出期望特征值與開環特征值的差值,計算出需要的狀態反饋增益矩陣k。程序如下所示:E=JJ(2)-JP(2);for m=3:n+1 E=JJ(m)-JP(m) E;endk=E*(inv(T); 6) 顯示小車位移曲線、速度曲線,擺

21、桿的角度曲線、角速度曲線,程序如下所示:Ac=(A-B*k);Bc=B;Cc=C;Dc=D;T=0:0.005:5;U=0.2*ones(size(T);Cn=1 0 0 0;Nbar=rscale(A,B,Cn,0,k); %計算增益Bcn=Nbar*B;Y,X=lsim(Ac,Bcn,Cc,Dc,U,T); %求階躍響應的曲線plot(T,X(:,1),'*');hold on;plot(T,X(:,2),'-');hold on;plot(T,X(:,3),'.');hold on;plot(T,X(:,4),'-');le

22、gend('CartPos','CartSpd','PendAng','PendSpd')7) 通過GUI界面進行參數的輸入和輸出的顯示,程序如下:A=str2num(get(handles.edit1,'string') %通過界面輸入矩陣A的值B=str2num(get(handles.edit2,'string') %通過界面輸入矩陣B的值C=str2num(get(handles.edit3,'string') %通過界面輸入矩陣C的值JX=str2num(get(handl

23、es.edit4,'string') %通過界面輸入矩陣JX的值set(handles.edit5,'string',num2str(k) %通過界面輸出矩陣K的值 輸出波形見圖3所示,整體程序見附錄1所示。5. 系統調試和結果分析假設有實際系統模型的參數如下: M 小車質量 1.096 m 擺桿質量 0.109 B 小車摩擦系數 0.1 L 擺桿長度 0.25 I 擺桿慣量 0.0034以外界作用力為輸入的系統的狀態方程如下: (32) (33)以小車加速度為輸入的系統的狀態方程如下: (34) 1) 首先構造被控系統的能控性矩陣,通過計算可以得到rank(M

24、C)=4,即系統是可控的。2) 計算特征值根據要求,并留有一定的裕量(設調整時間為2秒),選取期望的閉環極點,其中:根據期望的特征方程: (35)因此可得:將矩陣A的值代入到式(27)中,可以得到: (36) 因此有:3) 確定使狀態方程變為可控標準型的變換矩陣T:將矩陣A、矩陣B和n的分別代入式(19)可以得到: (37)將的值分別代入式(30)可以得到: (38)于是可以得到: (39)4) 狀態反饋增益矩陣K為: (40)將此固高倒立擺模型的參數值輸入到GUI功能界面中,根據所設計的Matlab通用程序運計算出狀態反饋增益矩陣的值,結果如下:圖3 GUI功能界面的輸入輸出顯示 結果顯示,

25、此程序運行結果于理論值相同,此通用程序有效,且極點配置法可以對倒立擺系統能夠進行有效的控制,并且具有良好的穩態性能。6. 結論及進一步設想 根據實際的固高倒立擺系統,利用極點配置的算法,將期望的閉環極點分別配置到相應的位置,利用Matlab程序進行相應的仿真實驗,取得了良好的控制效果,使系統有良好的穩態性能。因此,運用現代控制理論中的狀態空間極點配置的方法來實現倒立擺系統的狀態反饋控制這個方案是可行的。 但是,狀態反饋的控制方法要設法調整閉環系統的極點分布,才能構成閉環穩定的倒立擺系統,它有一定的局限性。只要偏離平衡位置較遠,系統就成了非線性系統,狀態反饋就難以控制。實際上,用線性化模型進行極

26、點配置求得的狀態反饋陣,不一定能使倒立擺穩定豎起來,能使倒立擺豎立起來的狀態反饋陣是實際調試出來的,這個調試出來的狀態反饋陣肯定滿足極點配置。這就是說,滿足穩定極點配置的狀態反饋陣很多,而能使倒立擺穩定豎立的狀態反饋陣只有很少的一個范圍,這個范圍要花大量的時間去尋找。參考文獻1 劉永信. 現代控制理論. 北京:中國林業出版社,2006.82 盧伯英, 于海勛譯. 現代控制工程(第四版). 北京: 電子工業出版社.20033 吳曉燕,張雙選.MATLAB在自動控制中的應用M.西安:西安電子科技大學出版 社.2006年。4 劉海龍. 倒立擺實驗系統的設計與研究: 碩士學位論文. 20065 深圳固

27、高公司. GIP21002L倒立擺實驗指導書.20016 王曉明, 曹立明等. MATLAB 應用與軟件實現. 西安: 西安交通大學出版社.20027 趙廣元. MATLAB與控制系統仿真實踐. 北京: 北京航空航天大學出版社.2009.88 蔡增威.一級直線倒立擺控制技術的研究.哈爾濱工業大學碩士論文.2004附錄1 程序A=0,1,0,0;0 0 0 0;0 0 0 1;0 0 29.4 0;B=0;1;0;3C=1,0,0,0;0,0,1,0;D=0;0;n=size(A);M=B;Q=B;for i=1:n-1 Q=A*Q; M=M Q;endr=rank(M);if r=nJP=poly(A);JX=-10 0 0 0;0 -10 0 0;0 0 -2-2*sqrt(3)*j 0;0 0 0 -2+2*sqrt(3)*j;JJ=poly(JX);E=JJ(2)-JP(2);for m=3:n+1 E=JJ(m)-JP(m) E;endF=eye(n);for i=1:n for j=1:n for c=1:n-1 if i-j=c z=c; F(i,j)=JP(z+1); end end endendG=rot90(F);H=rot90(G);W=rot90(H);T=M*W;k

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論