科研訓練-基于MATLAB的直線一級倒立擺仿真系統研究_第1頁
科研訓練-基于MATLAB的直線一級倒立擺仿真系統研究_第2頁
科研訓練-基于MATLAB的直線一級倒立擺仿真系統研究_第3頁
科研訓練-基于MATLAB的直線一級倒立擺仿真系統研究_第4頁
科研訓練-基于MATLAB的直線一級倒立擺仿真系統研究_第5頁
已閱讀5頁,還剩30頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、科研訓練論文科研訓練結題報告名稱:基于MATLAB的直線一級倒立擺仿真系統研究小組成員:指導教師:關于一節倒立擺系統的研究,有著各種各樣方式予以仿真并研討,其中MATLAB進行研究成為越來越大眾研究方式。倒立擺控制系統是一個復雜的、不穩定的、非線性系統。倒立擺的控制問題就是使擺桿盡快地達到一個平衡位置,并且使之沒有大的振蕩和過大的角度和速度。本次設計就是針對直線一級倒立擺系統進行研究。運用MATLAB中的Simulink仿真工具,建立起直線一級倒立擺系統的仿真模型,并對仿真模型進行封裝及添加PID控制器,使最終的仿真控制模型能夠符合設計要求。關鍵字 MATLAB軟件;倒立擺系統;PID控制器;

2、封裝子系統Title Research on simulation system of linear single inverted pendulum based on MATLABAbstractThe research on an inverted pendulum system has been simulated and studied in a variety of ways, among which, MATLAB has become an increasingly popular research method.Inverted pendulum control system

3、is a complex, unstable, non - linear system. Inverted pendulum control problem is to make the pendulum as soon as possible to reach a balance position, and so there is no large oscillation and excessive angle and speed. This design is for a straight line inverted pendulum system for research. The si

4、mulation model of the inverted inverted pendulum is established by using the Simulink simulation tool in MATLAB. The simulation model is encapsulated and the PID controller is added to make the final simulation - control model meet the design requirements. Keywords MATLAB software; inverted pendulum

5、 system; PID controller; package subsystem1.直線一級倒立擺問題簡介61.1背景簡介【1】61.2軟件特性61.3設計要求分析62. 數學模型的建立72.1 倒立擺受力分析72.2 微分方程的推導83.Simulink仿真模型93.1 Simulink仿真簡介【2】93.2 初次模型搭建103.3 二次模型搭建113.4 二次模型優化123.5最終仿真模型及仿真結果134.封裝子系統194.1 封裝子系統簡介194.2 封裝子系統設置205. PID控制205.1 PID控制理論205.2 基于SIMULINK的PID控制器設計225.3 PID參數的

6、確定246. 成果匯總與分析317. 經驗總結與心得體會32參考文獻321.直線一級倒立擺問題簡介1.1背景簡介【1】倒立擺控制系統是一個復雜的、不穩定的、非線性系統,是進行控制理論教學及開展各種控制實驗的理想實驗平臺。對倒立擺系統的研究能有效的反映控制中的許多典型問題:如非線性問題、魯棒性問題、鎮定問題、隨動問題以及跟蹤問題等。通過對倒立擺的控制,用來檢驗新的控制方法是否有較強的處理非線性和不穩定性問題的能力。倒立擺的控制問題就是使擺桿盡快地達到一個平衡位置,并且使之沒有大的振蕩和過大的角度和速度。當擺桿到達期望的位置后,系統能克服隨機擾動而保持穩定的位置。倒立擺是機器人技術、控制理論、計算

7、機控制等多個領域、多種技術的有機結合,其被控系統本身又是一個絕對不穩定、高階次、多變量、強耦合的非線性系統,可以作為一個典型的控制對象對其進行研究。倒立擺系統作為控制理論研究中的一種比較理想的實驗手段,為自動控制理論的教學、實驗和科研構建一個良好的實驗平臺,以用來檢驗某種控制理論或方法的典型方案,促進了控制系統新理論、新思想的發展。由于控制理論的廣泛應用,由此系統研究產生的方法和技術將在半導體及精密儀器加工、機器人控制技術、人工智能、導彈攔截控制系統、航空對接控制技術、火箭發射中的垂直度控制、衛星飛行中的姿態控制和一般工業應用等方面具有廣闊的利用開發前景。 倒立擺已經由原來的直線一級倒立擺擴展

8、出很多種類,典型的有直線倒立擺環形倒立擺,平面倒立擺和復合倒立擺等,本次實驗采用的是直線一級倒立擺。 1.2軟件特性 倒立擺的形式和結構各異,但所有的倒立擺都具有以下的特性: 1)非線性 2)不確定性 3)耦合性4)開環不穩定性 5)約束限制 倒立擺控制器的設計是倒立擺系統的核心內容,因為倒立擺是一個絕對不穩定的系統,為使其保持穩定并且可以承受一定的干擾,需要給系統設計控制器,本小組采用的控制方法有:PID 控制。1.3設計要求分析通過對倒立擺系統的原始模型進行適當簡化,開展了控制特性分析以及可控性研究,提出合理的控制策略和高精度控制算法設計的研究方案。在我們的 方案中通過pid控制器實現將偏

9、差的比例,積分,和微分通過線性組合構成控制量,對要運行的對象進行控制。同時運用封裝子系統對系統進行讀單獨的包裝進而實現參數的修改更為方便,內部結構也不易被修改。2. 數學模型的建立2.1 倒立擺受力分析在忽略了空氣阻力,各種摩擦之后,可將直線一級倒立擺系統抽象成小車和勻質桿組成的系統,如下圖所示。 圖2.1-1 直線一級倒立擺系統我們不妨做以下假設:為小車質量、為擺桿質量、為小車摩擦系數、為擺桿轉動軸心到桿質心的長度、為擺桿轉動慣量、為加在小車上的力、為小車位置、為擺桿與垂直向上方向的夾角、為擺桿與垂直向下方向的夾角(考慮到擺桿初始位置為豎直向下)。下圖是系統中小車和擺桿的受力分析圖。 圖2.

10、1-2(a)小車隔離受力圖 圖2.1-2(b)擺桿隔離受力圖 其中,和為小車與擺桿相互作用力的水平和垂直方向的分量。注意:在實際倒立擺系統中檢測和執行裝置的正負方向已經完全確定,因而矢量方向定義如圖所示,圖示方向為矢量正方向:2.2 微分方程的推導 在SIMULINK中對該模型建模是具有挑戰性的,因為小車和擺桿之間的是物理約束(鉸接),這減少了系統的自由度。小車和擺桿都具有一個自由度(分別是和)。我們將運用牛頓第二運動定理()來對這兩個自由度建立微分方程,如下所示。 為了建立完整的系統動態模型,方程中必然包含下車和擺桿間的相互作用力和。通常,我們是利用仿真軟件的建模能力來解決該代數問題的。因此

11、,我們將建立擺桿和分量的方程,如下所示。 由于位置坐標和是的精確函數,因此我們用含有導數的式子來表示它們的導數。最后把以上方程代入之前求出的和的方程中,得到如下形式的方程:注:在模型中,以Nx表示N,以Ny表示P。現在我們可以在SIMULINK中表示這些方程了。由于SIMULINK可以直接求解非線性方程,所以沒有必要再對方程進行線性化處理了。 3.Simulink仿真模型3.1 Simulink仿真簡介【2】Simulink是一種強有力的仿真工具,它能讓使用者在圖形方式下以最小的代價來模擬真實動態系統的運行。Simulink準備有數百種福定義的系統環節模型、最先進的有效積分算法和直觀的圖示化工

12、具。依托Simulink強健的仿真能力,用戶在原型機制造之前就可建立系統的模型,從而評估設計并修復瑕疵。Simulink具有如下的特點: (1)建立動態的系統模型并進行仿真。Simulink是一種圖形化的仿真工具,用于對動態系統建模和控制規律的研究制定。由于支持線性、非線性、連續、離散、多變量和混合式系統結構,Simulink幾乎可分析任何一種類型的真實動態系統。 (2)以直觀的方式建模。利用Simulink可視化的建模方式,可迅速地建立動態系統的框圖模型。只需在Simulink元件庫中選出合適的模塊并施放到Simulink建模窗口,鼠標點擊連續就可以了。Simulink標準庫擁有超過150中

13、,可用于構成各種不同種類的動態模型系統。模塊包括輸入信號源、動力學元件、代數函數和非線性函數、數據顯示模塊等。Simulink模塊可以被設定為觸發和使能的,用于模擬大模型系統中存在條件作用的子模型的行為。 (3)增添定制模塊元件和用戶代碼。Simulink模塊庫是可制定的,能夠擴展以包容用戶自定義的系統環節模塊。用戶也可以修改已有模塊的圖標,重新設定對話框,甚至換用其他形式的彈出菜單和復選框。Simulink允許用戶吧自己編寫的C、FORTRAN、Ada代碼直接植入Simulink模型中。 (4)快速、準確地進行設計模擬。Simulink優秀的積分算法給非線性系統仿真帶來了極高的精度。先進的常

14、微分方程求解器可用于求解剛性和非剛性的系統、具有時間觸發或不連續的系統和具有代數環的系統。Simulink的求解器能確保連續系統或離散系統的仿真速度、準確地進行。同時,Simulink還未用戶準備一個圖形化的調試工具,以輔助用戶進行系統開發。 (5)分層次的表達復雜系統。Simulink的分級建模能力使得體積龐大、結構復雜的模型構建也簡便易行。根據需要,各種模塊可以組織成若干子系統。在此基礎上,整個系統可以按照自定向下或自底向上的方式搭建。子模型的層次數量完全取決于所構建的系統,不受軟件本身的限制。為方便大型復雜結構系統的操作Simulink還提供了模型結構瀏覽的功能。 (6)交互式的仿真分析

15、。Simulink的示波器可以動畫和圖像顯示數據,運行中可調整模型參數進行What-if分析,能夠在仿真運算進行時監視仿真結果。這種交互式的特征可以幫助用戶快速的評估不同的算法,進行參數優化。 由于Simulink完全集成于MATLAB,在Simulink下計算的結果可以保存到MATLAB工作空間之中,因而就能使用MATLAB所具有的眾多分析、可視化及工具箱工具操作數據。基于上述原因,本次科研訓練,我們小組在老師的建議下,選擇了Simulink作為我們此次搭建模型的工具。可以說,Simulink很好的滿足了我們此次的設計要求,簡化了設計步驟,提高了我們的工作效率。并且,在中途的調試,最終輸出仿

16、真結果時,Simulink都呈現出了更為優秀的效果。3.2 初次模型搭建 由于對Simulink中的各種模塊了解的不夠,進行初次模型搭建時,并沒有能夠找到合適的方法來表達微分方程。因此第一次搭建的模型只用了最基礎的Sum、Gain、Product、Integrator等模塊。雖然沒有出現大的差錯,但是仿真系統非常原始,仿真的效率不高,精度也難以評定。圖3.2-1這種大量運用這些模塊的后果,就是整個模型看起來非常混亂,給后期的整理、檢查和修改增添了很大的難度。并且這種模型調試改進的空間也不大,不具備實用價值。所以最終我們并沒有將這個模型作為我們最終模型的基礎,也沒有浪費時間去運行調試這個模型,而

17、是僅僅通過搭建該模型來鍛煉根據微分方程搭建模型,熟悉Simulink工作環境,美化模塊布局的能力。3.3 二次模型搭建有了第一次搭建模型的經驗和教訓后,面對這一次的模型搭建我們做好了更為充分的準備。在更加深入的了解了Simulink模塊庫中的各個模塊的功用后,我們決定選擇Fcn與Mux模塊作為主體來表達微分方程。在變量的定義上,把原來容易在Simulink中引起歧義的角度“fi”和轉動慣量“I”改為用角度“theta”和轉動慣量“J”來代替。這樣不僅不會再混淆變量,還可以讓原來的微分方程式看起來更為整潔。由于運用了Fcn模塊和Mux模塊,模型看起來更加的簡潔明了,便于后續的檢查與修改。圖3.3

18、-1此次的模型的搭建比較成功,完善的表達出了各個微分公式的結構,但是沒有考慮到施加力的脈沖信號如何生成和輸入,參數的設置也只能靠在代碼區輸入代碼來添加到工作區中,應用和調整都有諸多不便。3.4 二次模型優化 對于上一次模型,我們能夠肯定它在仿真時完成任務,但是對數據的輸入輸出的顯示、調試及修改比較不友好。另外我們需要考慮怎樣生成一個力的脈沖信號來模擬對倒立擺施加擾動。圖3.4-1經過思考、實踐,我們最終選用兩個Step模塊相減來來生成一個里的脈沖信號。用這樣的方法,我們可以很方便的調節脈沖信號的大小和作用時間,達到我們想要的擾動效果。為了更方便調試模型和檢查仿真結果,加入Scope模塊來對x和

19、theta進行監視。相較于上一個模型,這次的模型無疑是更加容易使用了。3.5最終仿真模型及仿真結果考慮到模型完成后需要進行封裝,之前直接在工作區內為各個參數賦值不可取,也不能很方便地對參數進行修改。因此我們決定,在模型中引入Constant模塊,來將各個參數導入它們參與的微分方程中,這樣既使得賦值和修改更加的簡單和快捷了,也不會對封裝和控制造成困擾。theta角度的初值theta0的設置方法也需要進行調整,由在積分器模塊中設置,變更為在積分器打開的初值端口出鏈接一個Constant模塊進行設置。另外為了顯示起來更加簡單直觀,也為了進行PID控制時更加方便,還是決定將theta減去pi變為fi

20、之后再輸出到子系統之外。最終模型參數:小車質量 = 1 kg;擺桿質量 = 0.4 kg;小車摩擦系數 = 0.2 N/sec;擺桿轉動軸心到桿質心的長度 =0.3 m;擺桿轉動慣量 (模型圖中表示為J)= 1 kgm;加在小車上的力 ;為小車位置;為擺桿與垂直向上方向的夾角(考慮到擺桿初始位置為豎直向上);為擺桿與垂直向上方向的夾角(考慮到擺桿初始位置為豎直向上)。圖3.5-1四個FCN模塊:xddot圖3.5-2thetaddot圖3.5-3Nx(N)圖3.5-4Ny(P)圖3.5-5以下各圖中,橫坐標為時間t,單位為s縱坐標從上至下依次為外力F、位移x、擺桿與豎直方向夾角,單位分別為N、

21、m、rad。圖3.5-6圖3.5-7圖3.5-8從仿真的效果來看,最終的模型能夠很好地模擬倒立擺的平衡狀態(圖1),受到輕微擾動后的運動(圖2)和初始狀態擺桿有微小傾角的運動(圖3)。倒立擺系統的仿真工作圓滿完成。4.封裝子系統4.1 封裝子系統簡介 (1)子系統的封裝的意義 子系統封裝技術可以讓一個子系統有自己的特點。封裝后的子系統可以有自己的圖標、自己的參數和具有功能描述的控制對話框,甚至自己的help文檔,同時參數的修改更為方便(不用深入子系統,只需在對話框中修改便可),內部結構也不易被修改。(2)什么是子系統的封裝所謂子系統的封裝,就是為子系統定制對話框和圖標,使子系統本身有一個獨立的

22、操作界面,把子系統中的各模塊的參數對話框合成一個參數設置對話框,在使用時不必打開每個模塊進行參數設置,這樣使子系統的使用更加方便。 子系統的封裝過程很簡單,先選中所要封裝的子系統,再選擇模型編輯窗口Edit菜單中的Mask subsystem命令,這時將出現封裝編輯器(Mask Editor)對話框。 Mask Editor對話框中共包括4個選項卡:Icon、Parameters、Initialization和Documentation。子系統的封裝主要就是對這4頁參數進行設置。4.2 封裝子系統設置 Simulink 子系統有兩種方法:(1)對已經存在的模型的某些部分或全部使用菜單命令【Ed

23、itCreat Subsystem】將你性壓縮轉換,使之成為子系統;(2)使用 Subsystems 模塊庫中的 Subsystem 模塊直接創建子系統。 Simulink 子系統的兩種作用:系統模型更加簡捷和可讀性高;(2)子系統可以反復調用,節省建模時間。5. PID控制5.1 PID控制理論【3】 當今的閉環自動控制技術都是基于反饋的概念以減少不確定性。反饋理論的要素包括三個部分:測量、比較和執行。測量關鍵的是被控變量的實際值,與期望值相比較,用這個偏差來糾正系統的響應,執行調節控制。在工程實際中,應用最為廣泛的調節器控制規律為比例、積分、微分控制,簡稱PID控制,又稱PID調節。PID

24、控制器(比例-積分-微分控制器)是一個在工業控制應用中常見的反饋回路部件,由比例單元P、積分單元I和微分單元D組成。PID控制的基礎是比例控制;積分控制可消除穩態誤差,但可能增加超調;微分控制可加快大慣性系統響應速度以及減弱超調趨勢。 這個理論和應用的關鍵是,做出正確的測量和比較后,如何才能更好地糾正系統。PID(比例(proportion)、積分(integral)、導數(derivative)控制器作為最早實用化的控制器已有近百年歷史,現在仍然是應用最廣泛的工業控制器。PID控制器簡單易懂,使用中不需精確的系統模型等先決條件,因而成為應用最為廣泛的控制器。PID控制由比例單元(P)、積分單

25、元(I)和微分單元(D)組成。其輸入與輸出的關系為 因此它的傳遞函數為: 比例(P)控制 比例控制是一種最簡單的控制方式。其控制器的輸出與輸入誤差信號成比例關系。當僅有比例控制時系統輸出存在穩態誤差。 積分(I)控制 在積分控制中,控制器的輸出與輸入誤差信號的積分成正比關系。對一個自動控制系統,如果在進入穩態后存在穩態誤差,則稱這個控制系統是有穩態誤差的或簡稱有差系統。為了消除穩態誤差,在控制器中必須引入“積分項”。積分項對誤差取決于時間的積分,隨著時間的增加,積分項會增大。這樣,即便誤差很小,積分項也會隨著時間的增加而加大,它推動控制器的輸出增大使穩態誤差進一步減小,直到等于零。因此,比例+

26、積分(PI)控制器,可以使系統在進入穩態后無穩態誤差。 微分(D)控制 在微分控制中,控制器的輸出與輸入誤差信號的微分(即誤差的變化率)成正比關系。自動控制系統在克服誤差的調節過程中可能會出現振蕩甚至失穩。其原因是由于存在有較大慣性組件(環節)或有滯后(delay)組件,具有抑制誤差的作用,其變化總是落后于誤差的變化。解決的辦法是使抑制誤差的作用的變化“超前”,即在誤差接近零時,抑制誤差的作用就應該是零。這就是說,在控制器中僅引入“比例”項往往是不夠的,比例項的作用僅是放大誤差的幅值,而目前需要增加的是“微分項”,它能預測誤差變化的趨勢,這樣,具有比例+微分的控制器,就能夠提前使抑制誤差的控制

27、作用等于零,甚至為負值,從而避免了被控量的嚴重超調。所以對有較大慣性或滯后的被控對象,比例+微分(PD)控制器能改善系統在調節過程中的動態特性。PID控制之所以廣泛使用:首先,PID應用范圍廣。雖然很多工業過程是非線性或時變的,但通過簡化可以變成基本線性和動態特性不隨時間變化的系統,這樣PID就可控制了。其次,PID參數較易整定。也就是,PID參數,和可以根據過程的動態特性及時整定。如果過程的動態特性變化,例如可能由負載的變化引起系統動態特性變化,PID參數就可重新整定。第三,PID控制在實踐中也不斷的得到改進。但仍不可否認PID也有其固有的缺點:PID在控制非線性、時變、耦合及參數和結構不確

28、定的復雜過程時,工作地不是太好。最重要的是,如果PID控制器不能控制復雜過程,無論怎么調參數都沒用。雖然有這些缺點,PID控制是最簡單的有時卻是最好的控制方法。目前工業自動化水平已成為衡量各行各業現代化水平的一個重要標志。同時,控制理論的發展也經歷了古典控制理論、現代控制理論和智能控制理論三個階段。自動控制系統可分為開環控制系統和閉環控制系統。一個控制系統包括控制器、傳感器、變送器、執行機構、輸入輸出接口。控制器的輸出經過輸出接口、執行機構,加到被控系統上;控制系統的被控量,經過傳感器,變送器,通過輸入接口送到控制器。不同的控制系統,其傳感器、變送器、執行機構是不一樣的。比如壓力控制系統要采用

29、壓力傳感器,電加熱控制系統的傳感器是溫度傳感器。目前,PID控制及其控制器或智能PID控制器已經很多,產品已在工程實際中得到了廣泛的應用,有各種各樣的PID控制器產品,各大公司均開發了具有PID參數自整定功能的智能調節器(intelligent regulator),其中PID控制器參數的自動調整是通過智能化調整或自校正、自適應算法來實現。有利用PID控制實現的壓力、溫度、流量、液位控制器,能實現PID控制功能的可編程控制器(PLC),還有可實現PID控制的PC系統等等。可編程控制器(PLC)是利用其閉環控制模塊來實現PID控制,而可編程控制器(PLC)可以直接與CONTROLNET相連,還有

30、可以實現PID控制功能的控制器,它可以直接與CONTROLNET相連,利用網絡來實現其遠程控制功能。5.2 基于SIMULINK的PID控制器設計首先,對于倒立擺系統輸出量為擺桿的角度,它的平衡位置為垂直向上。系統控制結構框圖如下:圖5.2-1 倒立擺系統控制結構圖中是控制器傳遞函數,是被控對象傳遞函數。考慮到輸入,結構圖可以很容易的變換成:圖5.2-2 倒立擺系統控制結構按照下面的步驟,我們將建立一個參考輸入為擺桿角度,擾動為作用在小車上脈沖力的閉環模型。首先,打開之前建立的一階倒立擺的仿真模型從Simulink/Continuous 中插入一個PID控制器模塊。 雙擊修改其中的參數。按下圖連接各模塊。 圖5.2-3 倒立擺系統的simulink仿真系統結構圖5.3 PID參數的確定1在I、D保持為零的情況下,先改變P的值。、,調節。如下圖所示,從上到下分別為、的變化曲線。圖5.3-1 scope1圖示 可見變化曲

溫馨提示

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

評論

0/150

提交評論