第一篇:基于bangbang算法的倒立擺
Bang-bang起擺控制系統設計
1、bang-bang控制原理
bang-bang控制最早由龐特里亞金提出。
對調速范圍寬、靜態誤差小和動態響應快的隨動系統來說,單閉環控制是不能滿足要求的,所以隨動系統采用電流環、速度環和位置環來完成控制。在隨動系統控制中,pid控制具有結構簡單且在對象模型不確知的情況下也可達到有效控制的特點,但對模型參數變化及干擾的適應能力較差。bang-bang控制在系統偏差大,可加大系統的控制力度,提高系統的快速性,因此,bang-bang控制是隨動系統中不可缺少的控制方式。
2.基于Bang-Bang反饋的起擺算法
我們可將起擺分為以下四個階段(定義擺桿自然下垂位置??0,以逆時針方向為正,箭頭代表擺桿運動方向)。
圖3-59 倒立擺能量起擺過程
在初始時刻,小車位于導軌中心,擺桿自然下垂。當進行起擺實驗時,先向負方向給小車一個較大的力(小車有加速度),使擺桿運動,隨后緊接著令小車停止,擺桿會在慣性的作用下,繼續沿著與小車連接處的轉軸向上運動(Ⅰ),達到最高點后,擺桿速度為零,在重力的作用下沿擺桿的軸心自動下落(Ⅱ),這時給小車施加一個相反的作用力,小車反向運動的同時通過連接軸給擺桿一個反向的力。當再次到達初始點(??0)時,令小車制動,擺桿此時的速度不為零,在慣性的作用下繼續運動,此時??0(Ⅲ)。當??0,??0時,即擺桿達到負方向的最高點,在重力的的作用下,擺桿回落,繼續給小車施加負方向的力,直到??0下車制動(Ⅳ)。反復以上動作,擺桿在小車驅動力的作用下,拋起的高度會不斷增加,直到進入穩擺區域,切換到穩擺控制算法。
對以上的四種情況進行分析,可轉化成控制算法:
??nv(1)??0,??0,控制量u,初始時刻
???0?????0???0(2)
u??nvu?nv
???0u?0(3)?
3、系統工作原理
便攜式直線一級倒立擺工作原理圖
便攜式直線一級倒立擺的工作原理是:數據采集卡采集到旋轉編碼器數據和電機尾部編碼器數據,旋轉編碼器與擺桿同軸,電機與小車通過皮帶連接,所以通過計算就可以得到擺桿的角位移以及小車位移,角位移差分得角速度,位移差分可得速度,然后根據自動控制中的各種理論轉化的算法計算出控制量。控制量由計算機通過USB數據線下發給伺服驅動器,由驅動器實現對電機控制,電機尾部編碼器連接到驅動器形成閉環,從而可以實現擺桿直立不倒以及自擺起。
物理模型
直線一級倒立擺模型
4.系統設計
倒立擺系統自擺起控制目標:通過控制小車運動,將擺桿從自由下垂狀態擺到倒置平衡位置,并使系統能保持擺桿倒置狀態,具有一定的抗干擾能力,同時還要控制小車回到初始零位附近,使整個系統處于動態平衡狀態。該過程分為兩個階段:擺起控制與穩擺控制。兩者模型的差異性決定了兩個過程中控制方法的不同,要使倒立擺的整體性能好,兩者之間的切換控制尤為重要。
4.1、模塊的搭建
1、從
中拉出兩個S-Function模塊,雙擊該模塊,將S-function name分別改為Initpend和MUL_timer。
2、從
中拉出一個Enabled Subsystem模塊,并將MUL_timer模塊與它連接。
3、雙擊Enabled Subsystem模塊,進入之后搭建如下圖所示的模塊組成
4.2、參數設置
按Ctrl+E出現如下圖所示的對話框,進行參數設置。將Stop time 設置為inf,將Solver options中的Type選擇為Fixed-step,右側選項為ode1(Euler),將Fixed step size設置為0.01,Mode選擇Single Tasking.,設置完成之后點擊OK.說明: 實驗模塊所在的文件夾一定要包含該實驗所用到的庫函數模塊所生成的動態鏈接庫,即(.dll)文件。例如在實驗七模塊所在的文件夾中必須要有Initpend.dll,MUL_timer.dll,ReadTwoChannelPulse.dll,SetMotorAcc.dll,bangbangswingup.dll。
5.Simulink仿真
下圖: 直線一級倒立擺Bang-Bang自擺起仿真模型
其中“Bang-Bang控制器”為封裝(Mask)后的Bang-Bang起擺控制器,如
Bang-Bang起擺控制器
“LQR Controller”為封裝后的LQR控制器,雙擊該模塊可以進行LQR參數設置:
LQR穩擺控制器
設置好各項參數后,點擊“”運行仿真,得到仿真結果:
Bang-Bang自擺起仿真結果
根據仿真結果我們可以看出,系統在2秒內起擺成功,2秒后由穩擺算法接管控制,系統可以很好的穩定,穩態誤差較小。但在實物控制實驗中系統是不可能在這么短的時間內起擺成功的,仿真只是在理想狀態下進行的,比如仿真時并不考慮導軌的長度,實物控制實驗時還必須考慮安全問題,擺桿擺起的速度必須加以限制,所以仿真實驗只是為了讓實驗者熟悉起擺算法,在此僅供參考。
5.1 Simulink實時控制實驗
鼠標雙擊主界面上的Select Experiment模塊,在彈出的對話框中選擇實驗編號7,然后單擊右側對應的Enabled Subsystem模塊后出現下圖所示界面。
實驗7 LQR控制(Bang-Bang自擺起)實驗
確定擺桿此時豎直向下。不用編譯連接,直接單擊“”按鈕,倒立擺進行自擺起,當擺桿與豎直向上的方向夾角小于0.5弧度時(因為Bang_Bang控制要求導軌要長一些,而基于便攜,我們設計的導軌要短,所以要在一個相對大的角度進度穩擺范圍,來抵消掉對導軌長度的要求)進入穩擺范圍,穩擺采用LQR控制算法。如果不能正常擺起,用戶可根據實際情況修改小車加速度值直到正常擺起,可以觀察到,擺桿直立不倒,小車會穩定在初始位置,一段時間后單擊“”停止仿真。雙擊打開“示波器”模塊,觀察得到的曲線圖(上面為小車位移,下面為擺桿角度),分析原因,得到相應結論。
6、利用bang-bang控制的實物展示
第二篇:倒立擺專題
洛陽理工學院畢業設計(論文)
第1章:緒論
1.1 倒立擺的發展歷史及現狀
控制理論教學領域,開展各種理論教學、控制實驗、驗證新理論的正確性的理想實驗平臺就是倒立擺控制系統。對倒立擺系統的研究能有效的反映控制中的許多典型問題,同時兼具多變性、強非線性和自然不穩定性等優點,通過對倒立擺的控制,用來檢驗新的控制方法是否有較強的處理非線性和不穩定性問題。倒立擺系統作為一個實驗裝置,形象直觀、結構簡單、構件組成參數和形狀易于改變、成本低廉,且控制效果可以通過其穩定性直觀地體現,也可以通過擺桿角度、小車位移和穩定時間直接度量其實驗效果,直觀顯著。因而從誕生之日就受到國內外學者的廣泛研究。
倒立擺系統的最初研究始于二十世紀50年代末,麻省理工學院的控制論專家根據火箭發射助推器的原理設計出一級倒立擺實驗設備。1966年Schaefer和Cannon應用Bang Bang控制理論將一個曲軸穩定于倒置位置,在60年代后期作為一個典型的不穩定嚴重非線性證例提出了倒立擺的概念,并用其檢驗控制方法對不穩定、非線性和快速性系統的控制能力受到世界各國許多科學家的重視。而后人們又參照雙足機器人控制問題研制出二級倒立擺控制設備,從而提高了檢驗控制理論或方法的能力,也拓寬了控制理論或方法的檢驗范圍。對倒立擺研究較多的是美國、日本等發達國家,如Kawamoto-Sh.等討論了有關倒立擺的非線性控制的問題以及倒立擺的模糊控制的穩定性問題為其后的倒立擺模糊控制研究開辟了道路,美國國家航空和宇航局Torres-Pornales,Wilfredo等人研究了從倒立擺的建模、系統分析到非線性控制器設計的一系列問題,比較深入的研究了倒立擺的非線性控制問題并進行了實物仿真;科羅拉多州大學的Hauser.J正在從事基于哈密爾頓函數的倒立擺控制問題的研究;日本東京大學的Sugihara.Tomorniehi等研究了倒立擺的實時控制問題及其在機器人控制中的應用問題。此外,還有如德國宇航中心的Schreiber等研究了倒立擺的零空間運動控制問題,分析了倒立擺的零空間運動特性與其穩定性之間的聯系。
國內研究倒立擺系統的控制問題起步雖晚,但成果也還是挺多較早的,如尹征琦等于1985年采用模擬調節器,實現了對倒立擺系統的穩定控制;梁任秋等于1987年討論了設計小車一二階倒立擺系統數學控制器的一般方法;任章、徐建民于1995年利用振蕩器控制原理,提出了在倒立擺的支撐點的垂直方向上加入一零均值的高頻震蕩信號以改善倒立擺系統的穩定性。同年,程福雁先生等研究了使用參變量模糊控制對倒立擺進行實時控制的問題。北京理工大學的蔣國飛、吳滄浦等實現了狀態未離散化的倒立擺的無模型學習控制。仿真表明該方法不僅能成功解決確定和隨機倒立擺模型的平衡控制具有很好的學習效果。
90年代以來,由于數學基礎理論、控制理論和計算機技術的發展,不斷地有新的控制理論和控制思想問世,使得倒立擺控制系統的研究和應用更加廣泛和深入,把這些理論應用在實際的實物控制和分析中己經成為當前控制理論研究和應用的核心問題。人們為了檢驗新的控制方法是否具有良好的處理多變量、非線性和絕對不穩定型的能力,不斷提升倒立擺系統的復雜性和難度,如增加擺桿的級數,加大擺桿的長度,改變擺的形狀和放置的形式等。2002年8月,北京師范大學教授李洪興領導的復雜系統智能控制實驗室,首次成功實現了直線運動四級倒立擺實物系統控制,2003年10月,他們采用高維變論域自適應控制理論,在世界
洛陽理工學院畢業設計(論文)
上第一個成功地實現了平面運動三級倒立擺實物系統控制。但是多年來小車一多級擺系統的控制研究主要集中在擺倒立點的穩定控制方面,同時也只是針對在水平軌道上的研究,而對于在傾斜軌道上的倒立擺的研究,還不多見。然而對于擺的擺起倒立穩定控制,由于小車多級擺擺起倒立穩定的高難性,目前國際上罕見小車二級擺以上實際系統的擺起倒立成功的例子。在小車二級擺擺起倒立控制的研究中,一般采用了混雜控制轉換的方法,即將控制過程分為擺起和倒立穩擺兩個階段。在擺起階段,采取基于能量的控制(K.J.Astrom,K.Furuta,W.spong),通過不斷增加兩擺桿的能量,直至達到倒立穩擺的位置。這樣的方法對于小車單擺系統擺起倒立十分有效。然而,由于能量是一個標量,基于能量正反饋的方法在擺起過程中,無法兼顧和有效控制欠驅動多擺桿之間的相對運動,存在著擺桿與擺桿之間相對運動難以協調控制的問題。其它的采用直接數字求解動態方程獲得理想軌跡,然后將其與實時參數比較形成閉環控制的方法,以及部分反饋線性化等方法,但這些方法都同樣存在對擺桿之間相對運動難以協調控制的問題。捷克學者J.Rubl,在研究直線小車二級擺的擺起倒立過程中,運用了數字方法、最優控制與分段線性化結合的綜合控制方法,解決了水平軌道上小車二級擺擺起倒立控制的實物實現問題。重慶大學李祖樞教授等人利用仿人智能控制方法分別成功地實現了在水平軌道上和在傾斜軌道上小車二級擺的擺起倒立穩定實時控制,而小車三級擺的擺起倒立穩定控制,由于控制難度更大,國際上尚無成功的先例。近年來在結合模糊控制與神經網絡等方面也取得了很多成果。
總之,倒立擺系統是一種能夠有效檢驗控制理論和控制算法的實驗設備。目前應用于倒立擺系統的算法主要有以下幾類:經典控制(LMI,PDI)、現代控制(LQR 最優控制法,極點配置法)、變結構倒立擺系統最初研究開始于二十世紀 50 年代,麻省理工學院的控制論專家們根據火箭發射的原理設計出了一級倒立擺實驗裝置;發展到今天,倒立擺系統已經由原來的一級直線倒立擺衍生出了異常豐富的類別。按照倒立擺擺桿的數目可以分為一級倒立擺、二級倒立擺、三級倒立擺、四級倒立擺等,且控制難度也隨著擺桿的級數增加而變大;按照倒立擺系統結構的不同,可以分為:直線倒立擺系統、旋轉倒立擺系統、平面倒立擺系統、復合倒立擺系統等;按照倒立擺擺桿的不同還可以分為剛性倒立擺和柔性倒立擺。在檢驗不同的控制方法對各種復雜的、不穩定的、非線性系統的控制效果中得到廣泛的應用,并且越來越受到世界各國科研工作者的重視
2.該課題的意義:
隨著實際工程控制系統的研究發展的需要,對于理論方面的研究迫切需要一 個平臺去檢驗新理論的正確性和在實際中的可行性,倒立擺系統作為一個具有絕 對不穩定、高階次、多變量、強藕合的典型的非線性系統,是檢驗控制理論和方 法的理想模型,所以本文選擇倒立擺系統作為研究對象具有重要的理論意義和應 用價值。相對于其他研究倒立擺系統的控制方法,Backstepping方法最大的優點是不必對系統進行線性化,可以直接對系統進行遞推性的控制器設計,保留了被控象中有用的非線性項,使得控制設計更接近實際情況,而且所設計的控制器具有很強的魯棒性。而且國內外用此方法研究倒立擺系統的成果還不多見,因而具有很大的理論研究價值;由于當前國內外對于倒立擺系統的研究大都仍只局限于理論分析或計算機軟件的數值仿真而缺少實際的實驗檢驗分析,而MATLABSim-ulink就是提供了進行仿真實驗的良好平臺,它利用自帶的模塊建立系統模型,然后進行仿真,形象直觀,非常有利于研究者進行分析和總結,同
洛陽理工學院畢業設計(論文)
時可以利用MATLAB-RTW實時工具箱構建實時控制平臺,把設計好的控制器建立的Simulink仿真樟型連接在實時內核中運行,驅動外部硬件設備,實現對倒立擺系統的實時控制,倒立擺的控制模型與直立行走機器人的平衡控制、兩輪小車的自平衡控制、導彈攔截控制、火箭發射時的垂直控制、衛星飛行中的姿態控制和航空對接控制等涉及平衡和角度的控制問題非常相似,所以在機器人、航天、軍工等領域和一般的工業過程中都有著廣泛的應用。倒立擺系統作為研究控制理論的一種典型的實驗裝置,具有較為簡單的結構、可以有效地檢驗眾多控制方法的有效性、參數和模型易于改變、相對低廉的成本等優點,研究控制理論的很多科研人員一直將它們視為主要的研究對象,用它們來描述線性控制領域中不穩定系統的穩定性以及在非線性控制領域中的無源性控制、變結構控制、非線性觀測器、自由行走、非線性模型降階、摩擦補償等控制思想,且從中不斷開發出新的控制方法和控制理論,所以倒立擺系統是研究智能控制方法較為理想的實驗裝置。倒立擺系統自身是一個典型的多變量、非線性、高階次、強耦合和絕對不穩定系統,許多抽象的控制概念如系統的可控性、穩定性、系統的抗干擾能力和系統的收斂速度等,都可以由倒立擺系統直觀地展示出來。此外,通過倒立擺系統還可以研究非線性觀測器、變結構控制、目標定位控制、摩擦補償和混合系統等。不僅如此,倒立擺系統也是進行控制理論教學的理想平臺。傳統的教學中,實驗只是作為理論教學延伸,往往是理論知識的比重大于實驗,即使有實驗課程也只是學生完全按照實驗指導書上的指導去完成實驗,整個實驗過程中學生們完全是消極的被動的接收知識,甚至學生對實驗方法、內容完全沒有興趣。很顯然,這種實驗教學方法難以培養學生綜合素質和實踐能力。所以必須在實驗環節的內容和形式上進行改革與創新,以培養學生的創新意識和實踐動手能力。因此,進行設計性、開放性的綜合實驗具有極其重要的現實意義。若在控制理論的教學中,如果構建一個高效的合理的倒立擺系統實驗平臺,就可以在深入理解控制理論知識的同時,還可以讓學生們對硬件回路仿真技術的開發流程有一定的了解,并掌握基于 MATLAB 的實時仿真操作,這樣就可以從理論和實踐上提高學生對控制理論的興趣和認識。將倒立擺系統研究應用于高校的控制理論教學和實驗早已在歐美等教育發達地區流行多年。因此,倒立擺控制策略的研究在我國高校的控制理論教學和實驗中具有廣闊的前景。較理想的控制效果,能夠快速穩定并且有很強的抗干擾能力。
3.本論文的主要工作:
本論文是對一級倒立擺系統的LQR控制器設計。驗證算法采用實驗室的倒立擺裝置。用 Matlab 中的 Simulink 搭接仿真的實驗原理圖,編寫恰當的模糊規則,通過對隸屬度曲線以及參數的適當調整,得到理想的仿真曲線。最后,通過倒立擺實驗裝置來驗證所設計的模糊控制算法的可行性。具體內容如下:
第一章是緒論部分,主要概括介紹了倒立擺控制系統研究的發展歷史及現狀,本課題研究的背景和意義,本文主要研究的內容及章節安排以及本文的創新點。初步了解目前倒立擺的研究現狀以及研究熱點,論述了控制理論在倒立擺系 統運用的不斷發展和完善,智能控制器越來越受到專家學者的關注。
第二章是預備知識,主要概述了本文主要用到的倒立擺裝置,Matlab仿真平臺簡介及應用。
洛陽理工學院畢業設計(論文)
第三章詳細介紹了一級倒立擺控制系統的工作原理、兩輪小車的硬件設計。包括自平衡小車的組成模塊及工作原理、各模塊硬件設計。
第四章介紹了MATLAB/Simulink建模原理,利用本文設計的非線性控制器在 MATLAB環境下對系統進行了離線仿真分析、能控性分析、能觀性分析,基于卡爾曼濾波器的LQR控制器設計。對單級倒立擺進行了詳細的受力分析,建立倒立擺系統的數學模型,并對倒立擺系統進行定性分析。證明了倒立擺系統是開環不穩定的,但在平衡點是能觀的和能控的,可以對系統進行控制器的設計,使系統穩定。
第五章介紹了基于MATLAB的倒立擺實時控制系統,利用所設計的非線性控 制器對實際的硬件系統進行了控制實驗,并和固高公司提供的控制器對系統的控 制效果進行了對比,然后利用所設計的非線性控制器對倒立擺系統進行了實時控 制開發的研究。
第二章:倒立擺簡介: 1.倒立擺簡介:
倒立擺系統是非線性、強藕合、多變量和自然不穩定的系統。在控制過程中,它能有效的反映諸如可鎮定性、魯棒性、隨動性以及跟蹤等許多控制中的關鍵問 題,是檢驗各種控制理論的理想模型。迄今,人們己經利用古典控制理論、現代 控制理論以及各種智能控制理論實現了多種倒立擺系統的控制。因此,對倒立擺 系統的研究無論在理論上還是在實際上均有很大的意義。
倒立擺系統包含倒立擺本體、電控箱及由計算機和運動控制卡組成的控制平臺三大部分,組成了一個閉環系統。其中電控箱內主要有以下部件:(1)交流伺服驅動器(2)1/0接口板(3)開關電源
控制平臺主要部分組成:(1)與IBM PC/AI機兼容的PC機,帶PCI/SCI總線插槽(2)GT400-SV-PCI運動控制卡
(3)GT400-SV-PCI運動控制卡用戶接口軟件
電機通過同步帶驅動小車在滑桿上來回運動,以保持擺桿平衡。其工作原理 框圖如圖3-1所示,以直線一級倒立擺為例。電機編碼器和角碼器向運動控制卡反
饋小車和擺桿位置,小車的位移可以根據光電碼盤1的反饋通過換算獲得,速度信
號可以通過對位移的差分得到,并同時反饋給伺服驅動器和運動控制卡;擺桿的 角度由光電碼盤2測量得到,而角速度信號可以通過對角度的差分得到,并同時反
饋給控制卡和伺服驅動器。計算機從運動控制卡中讀取實時數據,確定控制決策(小車向哪個方向移動,移動速度,加速度等),并由運動控制卡來實現控制決 策,產生相應的控制量,使電機轉動,帶動小車運動,保持擺桿平衡。
硬件部分包括計算機、運動控制卡、電控箱、伺服系統、倒立擺本體和旋轉光電編碼器、位移傳感器等幾大部分,它們構成一
洛陽理工學院畢業設計(論文)
個閉環
系統。伺服電機通過同步皮帶與小車相連接,并帶動小車同步運動,以此來控制小
車在水平軌道上做直線運動。勻質剛體擺桿與小車相連,由小車的水平移動來控制擺桿 的穩定豎直倒立。旋轉光電編碼器是一種角位移傳感器,其輸出的檢測信號是數字信號,因此可以直接進入計算機進行處理,而不需放大和轉換等過程,使用非常方便。可以用
它準確的測出倒立擺擺桿的偏轉角度。將旋轉光電編碼器、位移傳感器、以及狀態反饋
信息輸入運動控制器,而運動控制卡中采集的這些信息經一定的控制算法會得出控制信
息并將被輸入伺服電機。通過這樣一個閉環系統就能達到倒立擺的穩定控制。其中計算
機從運動控制卡實時讀取數據,計算并確定控制決策,即根據倒立擺的實時狀態不斷地
調用相應的函數程序如速度、加速度等,經過電控箱內的轉換電路產生相應的控制量,由此驅動伺服電機轉動的
倒立擺系統由機械部分和電路部分組成。機械部分包括底座、框架、滑軌、齒 輪帶、輪、電機、小車和擺體等。電路部分由測量電位器、C805lF020單片機(A/D 轉換器、D/A轉換器)、計算機、信號放大與功率放大、電機等組成。計算機作為數
字控制器實現對系統的實時控制,同時也為操作者提供人一機界面,完成對系統的
監督管理功能:如實時畫圖、數據采集等。C8051F020單片機(A/D轉換器、D/A 轉換器)完成模數、數模的轉換,放大器用于電壓和功率放大。電動機是系統的執 行元件和速度反饋元件,電位器是倒立擺角度的反饋測量元件。一級倒立擺系統的
整套機械部件分別安裝在兩塊底板上,底板上固定著導軌支架、電機底座、滾動軸
承等,通過導軌支架安裝好小車滑行導軌,小車用電機和滾動軸承通過傳動皮帶實
現運動,小車連接著角位移電位器。單級倒立擺原理結構圖如圖1.1所示。倒立擺是一個數字式的閉環控制系統,其工作原理:小車在電動機的拖動下沿 固定的直線軌道進行運動,相應的產生了小車的直線位移和倒立擺的轉角。小車位
移通過電動機電位器測得,角位移由安裝在倒立擺軸上的電位器測得。角位移經過
刀D轉換送到計算機經過計算機內部的實時控制程序運算產生控制指令。該控制指
令經D/A變換、再經功率放大,然后輸出給電動機,產生相應的控制作用,從而實
洛陽理工學院畢業設計(論文)
東北大學碩士學位論文第1章緒論 現對小車位移和倒立擺角位移的控制。)))))))}}}(臼臼
圖1.1單級倒立擺原理結構圖
Fig.1.1ThePrineiPleofsingleinvertedPendulumstrueturedrawing 倒立擺控制系統是一個復雜的、不穩定的、非線性系統,是進行控制理論教學 及開展各種控制實驗的理想實驗平臺。對倒立擺系統的研究能有效的反映控制中的
許多典型問題:如非線性問題、魯棒性問題、鎮定問題、隨動問題以及跟蹤問題等。
通過對倒立擺的控制,用來檢驗新的控制方法是否有較強的處理非線性和不穩定性
問題的能力。同時,其控制方法在軍工、航天、機器人和一般工業過程領域中都有
著廣泛的用途,如機器人行走過程中的平衡控制、火箭發射中的垂直度控制和衛星
飛行中的姿態控制等,且對于揭示定性定量轉換規律和策略具有普遍意義
2.MATLAB簡介及應用:
第三章 兩輪小車硬件設計(1、自平衡小車的組成模塊及工作原理
2、各模塊硬件設計)第四章 一級倒立擺的數學建模(1、一級倒立擺的數學建模
系統的建模就是用形式化模型或者抽象的表示方法,對事物本身和外部的 某些因素進行描述。科學家們通過大量的觀察和實驗,建立了抽象的表示方法
和定律,這些方法和定律是對現實世界中一些已被證明正確的假設加以形式化。
例如:愛因斯坦的相對論和牛頓萬有引力定律等等。實物系統的建模找出了所
要建模系統的基本性質,人們可以在模型上進行試驗推理、研究和設計,從而
獲得控制實物系統的方法。系統建模幫助人們不斷地加深對事物現象的認識,并且啟發人們去進行可以獲得滿意結果的實驗。因此,系統建模是研究系統的
前提條件和十分有效地手段。
系統建模是對系統進行仿真、分析、設計、控制和優化的基礎。在建模過 程中,要想模型能包含實際系統的全部信息,是難以現實的。這是因為模型中
存在著過多的實體,實體之間又存在相互關聯。因此,包含實際系統的全部信
洛陽理工學院畢業設計(論文)
息的模型難以獲得,也難以處理。對于建立好的模型,通常存在著兩個相互矛
盾的因素:簡單化和精確性。為了使模型盡可能的精確和簡單,建模者通常要
決定忽略那些次要的因素,忽略次要因素的前提是:忽略這些因素以后不會顯
著地改變整個模型行為,相反能夠使模型更加簡單化
建立系統數學模型的方法一般有兩種:第一種是機理建模,根據現實對象 的特性,分析其存在的因果關系,找出反映現實對象內部的規律,所建立的模
型一般都具有明確的物理意義或者現實意義。第二種是實驗建模,將現實對象
看作一個“黑箱”,由于內部的規律并不能直接的得到,必須分析現實對象的輸
入數據和輸出數據,用統計學方法分析。根據分析得出的結論,按先前規定的
標準來選出一個實驗數據最符合的模型。這種方法也稱為系統辯識。倒立擺系
統的形狀較為規則,是一個絕對不穩定的系統,用實驗建模方法獲取其數學模
型有一定的困難。故在下面的論文中采用機理建模對一級倒立擺系統建模。
在忽略了空氣阻力和各種摩擦之后,可將直線型一級倒立擺系統抽象成小車 和勻質擺桿組成的系統,如圖所示:
洛陽理工學院畢業設計(論文)
圖3-2一級倒立擺系統的力學示意圖 系統中小車和擺桿的受力分析圖如圖 2.2 所示。其中,N 和 P 為小車與擺桿相 互作用力的水平和垂直方向的分量。
將擺桿視為剛體,則一級倒立擺系統的參數為:小車質量M,擺桿質量m,擺 桿重心到鉸鏈的長度l,重力加速度g,小車位置x,擺桿角度9,作用在小車上 的驅動力F。當小車在水平方向運動時,若忽略摩擦力矩的非線性,對小車和擺 桿進行水平和垂直方向受力分析,如圖:
1、運用牛頓力學分析方法建立了一級倒立擺系統的數學模型。并對倒立擺系統進
行定性分析。證明了倒立擺系統是開環不穩定的,但在平衡點是能觀的和能控的,可以
對系統進行控制器的設計,使系統穩定。
2、通過建立模糊規則,研究倒立擺系統的模糊控制算法。本文把擺桿的角度和角 速度作為輸入量,單獨組成一個角度控制器;把小車的位置和速度作為輸入量,組成另
一個位置控制器。從而實現“擺體不倒,小車停住”的總體控制目標。
3、倒立擺模糊控制仿真。本文利用Simulink建立倒立擺系統模型,實現了倒立擺
模糊控制系統的仿真。仿真結果表明:模糊控制器不僅可以使擺桿穩定,還可以使小車
穩定在特定位置。
由于倒立擺系統存在不確定性、耦合性等特性,在數學上完全準確的描述它
幾乎是不可能的。為簡化系統,解決實際系統中的控制問題,我們在建模時要忽
略了一些次要因素,如空氣阻力、伺服電機的靜摩擦力、系統連接處的松弛程度、洛陽理工學院畢業設計(論文)
擺桿連接處質量分布不均勻、傳送帶的彈性、傳動齒輪的間隙等,并將小車抽象
為質點,認為擺桿是勻質剛體,從而將二級直線倒立擺簡化成小車和擺桿組成的
系統,建立一個較為精確地倒立擺系統的數學模型。
目前,對倒立擺系統建模一般采用兩種方法:牛頓力學分析方法,歐拉—拉
格朗日原理(Lagrange方程)[41]。建立被控對象的數學模型常采用牛頓力學的方法,建立倒立擺系統的數學模型先分析小車和各個擺體的受力情況,然后列出小車和
各個擺體在X方向和Y方向的運動方程以及各擺體相對各個轉軸處的轉動力矩平衡
式。再通過求解各擺體運動方程和各個轉軸處的轉動力矩平衡方程得到倒立擺系
統的數學模型。可見,采用牛頓運動定律建模,需要解算大量的微分方程組,而
且要考慮到質點組受到的約束條件,建模將更加復雜
倒立擺系統的數學建模一般有牛頓歐拉法和拉格朗日法兩種。對于結構相對簡單的
一級直線倒立擺可以使用牛頓歐拉法,先對小車和擺桿進行受力分析,并分別求出他們 的運動方程。將線性化后的兩個運動方程進行拉普拉斯變換。最后整理后可以得到系統 的狀態空間方程 [1-9]。但在對二級、三級以上的倒立擺進行數學建模時,這種方法就顯
得有些復雜。牛頓運動定律來求解質點組的運動問題時,計算量會比較大。在許多實際 的運算中,求解微分方程組會遇到較大的困難。有時,還需要確定各質點間的位移、相
互作用力、速度、加速度等關系來解決質點組中存在約束情況,聯立求解這些方程組就 更為困難 [10-13]。為了簡化倒立擺系統的數學建模過程,本章采用了分析力學中的拉格朗 日方程推導直線倒立擺的數學模型,并對該系統的可控性進行了分析。
洛陽理工學院畢業設計(論文)
2、能空性分析
3、能觀性分析
4、基于卡爾曼濾波器的LQR控制器設計)
第五章 基于MATLAB的仿真(1、基于MATLAB的倒立擺模型
于在教學和工程實驗領域廣泛應用的 MATLAB/Simulink平臺,MATLAB 實時控
制軟件實驗平臺,使得實驗和先進算法研究變得無比輕松。在不需要熟練掌握其他編程
語言的基礎上就能做控制理論實驗,只需要把精力集中在控制算法研究上而不需要接觸
艱深的硬件接口。現在,在此平臺上可以把系統的建模、仿真和實時控制,用戶的建模
和仿真結果不需要太多修改就可以直接在同一平臺上針對實際物理設備進行控制實驗 驗證。
MATLAB 實時控制軟件的特點:實控軟件采用了 MATLAB/Simulink 的實時工具箱
RTW(Real-Time Workshop)實現控制任務,運行在 Windows 操作系統基礎上,專用的
實時內核代替 Windows 操作系統接管了實時控制任務。內核任務執行的最小周期是
1ms,大大地提高了系統控制的實時性,完全可以滿足 Windows 下較高的實時性控制要
求而不用擔心 Windows 本身的實時性問題。
2、控制器設計及實時仿真)
第三篇:倒立擺課程設計
西北民族大學2012級自動化3班鐘小龍
摘 要
倒立擺系統作為一個具有絕對不穩定、高階次、多變量、強禍合 的典型的非線性系統,是檢驗新的控制理論和方法的理想模型,所以 本文選擇倒立擺系統作為研究對象具有重要的理論意義和應用價值。相對于其他研究倒立擺系統的控制方法,Backstepping方法最大的優點是不必對’系統進行線性化,可以直接對系統進行遞推性的控制器設計,保留了被控對象中有用的非線性項,使得控制設計更接近實際情況,而且所設計的控制器具有很強的魯棒性。
本文主要利用Backstepping方法設計了直線型一級倒立擺系統控制器并基于MATLAB/Simulink對系統進行了離線仿真。本文所作的主要工作或要達到的主要目的是:(一)建立直線型一級倒立擺系統的數學模型,并利用Backstepping方法設計了該倒立擺系統的控制器,然后對閉環系統進行了數值仿真并與其他方法進行了數值仿真分析比較。與當前的倒立擺研究成果相比,具有研究方法新穎、控制效果好的特點。
(二)本文利用所設計的非線性控制器在MATLAB/Simulink環境下對系統進行了離線仿真分析,并與固高公司提供的算法進行了仿真效果比較。
關鍵詞:倒立擺系統,Backstepping, MATLAB/Simulink,實時控制
西北民族大學2012級自動化3班鐘小龍
目 錄
1.倒立擺系統的簡介........................................1 1.1倒立擺系統的研究背景..........................................1 1.2倒立擺系統的研究歷史、現狀及發展趨勢..........................2 1.3倒立擺的主要控制方法..........................................4 2.一級倒立擺數學模型......................................6 2.1一級倒立擺系統的組成..........................................6 2.2一級倒立擺系統數學模型的建立..................................7 3.系統控制器的設計和閉環系統的數值仿真....................9 4.直線型一級倒立擺系統的Simulink模型和離線仿真............12 4.1基于線性控制器對線性系統的離線仿真..........................12 4.2基于線性控制器對非線性系統的離線仿真........................15 4.3基于非線性控制器對非線性系統的離線仿真......................16
5.模型的優點.............................................18 6.結論和展望.............................................19 7.參考文獻...............................................20
西北民族大學2012級自動化3班鐘小龍
1.倒立擺系統的簡介
1.1倒立擺系統的研究背景
在控制理論的研究及其應用的發展過程中,當一種新的理論產生,它的正確性及實際應用中的可行性都需要一個按其理論設計的控制器去控制一個典型對象來驗證,而倒立擺就是這樣一個被控制對象。倒立擺是一個多變量、快速、非線性、強藕合、不穩定的系統,通過對它引入一個適當的控制方法使之成為一個穩定系統,來檢驗控制方法對不穩定性、非線性和快速性系統的處理能力,而且在倒立擺的控制過程中,它能有效地反映諸如可鎮定性、魯棒性、隨動性以及跟蹤性能等許多自動控制領域中的關鍵問題。因此受到世界各國許多科學家的重視,從而用不同的控制方法控制不同類型的倒立擺,成為最具有挑戰性的課題之一。對倒立擺系統的研究不僅僅在其結構簡單、原理清晰、易于實現等特點,而且作為典型的多變量系統,可采用實驗來研究控制理論中許多方面的問題。諸如模型的建立、狀態反饋、觀測器理論、快速控制理論以及濾波理論等都可以用于這類系統。因此,倒立擺實驗模型對現代控制理論的教學來說,自然成為一個相當理想的實驗模型,而且也可以作為數控技術應用的典型的對象;另一方面對系統的研究也比較有實用價值,從日常生活中所見到的任何重心在上、支點在下的控制問題,到空間飛行器和各類伺服云臺的穩定,都和倒立擺的控制有很大的相似性,故對其的穩定控制在實際中有很多應用,如海上鉆井平臺的穩定控制、衛星發射架的穩定控制、火箭姿態控制、飛機安全著陸、機器人雙足行走機構、化工過程控制等都屬這類問題。因此對倒立擺機理的研究具有重要的理論和實際意義,成為控制理論中經久不衰的研究課題。
除此之外,由于倒立擺系統的高階次、不穩定、多變量、非線性、強耦合等特性,許多現代控制理論的研究人員一直將它們視為研究對象,用它們來描述線性控制領域中不穩定系統的穩定性和非線性控制領域中的變結構控制、無源性控制、自由行走、非線性觀測器、摩擦補償、非線性模型降階等控制思想,并且不斷從中發掘出新的控制理論和控制方法,相關的成果在航空航天和機器人學方面獲得了廣闊的應用。可見,對倒立擺系統進行研究既具有意義深遠的理論價值,又具有重要的工程背景和實際意義。
倒立擺系統有著很強的工程背景,主要體現在:(l)機器人的站立與行走類似于雙倒立擺系統,盡管第一臺機器人在美國問世至今已有三十年的歷史,機器人的關鍵技術—機器人的行走控制至今仍未能很好解決。
(2)在火箭等飛行器的飛行過程中為了保持其正確的姿態要不斷進行實時控 1
西北民族大學2012級自動化3班鐘小龍
制。
(3)通信衛星在預先計算好的軌道和確定的位置上運行的同時要保持其穩定的姿態使衛星天線一直指向地球使它的太陽能電池板一直指向太陽。
(4)偵察衛星中攝像機的輕微抖動會對攝像的圖像質量產生很大的影響,為了提高攝像的質量必須能自動地保持伺服云臺的穩定消除震動。
(5)為防一止單級火箭在拐彎時斷裂而誕生的柔性火箭(多級火箭)其飛行姿態的控制也可以用多級倒立擺系統進行研究。
由于控制理論的廣泛應用,由此系統研究產生的方法和技術將在半導體及精密儀器加工、機器人控制技術、人工智能、導彈攔截控制系統、航空對接控制技術、火箭發射中的垂直度控制、雙足機器人火箭飛行控制、伺服云臺穩定、衛星飛行中的姿態控制和一般工業應用等方面具有廣闊的利用開發前景。因此對倒立擺控制機理的研究具有重要的理論和實踐意義。
倒立擺系統大概可以歸納為如下幾類:平行式倒立擺、平面擺、柔性擺、懸掛式倒立擺和球平衡式倒擺系統。倒立擺的級數可以是一級、二級、三級乃至多級,倒立擺的運動軌道既可以是水平的,也可以是傾斜的。1.2倒立擺系統的研究歷史、現狀及發展趨勢
自從20世紀50年代倒立擺系統成為控制實驗室的經典工具以來,關于倒立擺控制的論述可以分為2個主要的方面: 1)理論方面:依靠計算機仿真對控制方法的可行性進行驗證;2)實驗方面:調查引起計算機仿真結果和實時控制之間性能差異的物理不確定性。
在理論方面,1986年,Chung和Litt對單級倒立擺系統的動態進行了辨識,并分別設計了自適應自整定反饋控制器和PD反饋控制器來保持倒立擺在垂直向上方向的穩定。1989年,Anderson和Grantham,運用函數最小化和Lyapunov穩定方法成功產生了一個優化反饋控制器。1992年,Renders和Soudak通過相平面分析,得到了一個線性控制器。1995年,任章等應用振蕩控制理論,通過在倒立擺支撐點的垂直方向上加入一個零均值的高頻振蕩信號,改善了倒立擺系統本身的穩定性。1998年,蔣國飛等將Q學習算法和BP神經網絡有效結合,實現了狀態未離散化的倒立擺的無模型學習控制。2001年,單波等利用基于神經網絡的預測控制算法對倒立擺的控制進行了仿真。在兩級倒立擺方面,Sabba(1983)把系統穩定尺度作為一個無限維不等式,從而避免了方法。1996年,翁正新等利用帶觀測器的H?狀態反饋控制器對二級倒立擺系統進行了仿真控制。1997年,翁正新等利用同樣的方法對傾斜導軌上的二級倒立擺進行了仿真控制。
Sinha和Joseph2000年,劉妹琴等用進化RBF神經網絡控制二級倒立擺。1994年,2
西北民族大學2012級自動化3班鐘小龍
利用Lyapunov?Floquet變換得到了三級倒立擺系統的計算機仿真模型(有3個控制輸入)。2001年,李洪興領導的模糊系統和模糊信息研究中心利用變論域自適應模糊控制的思想在國際上首次實現了四軸倒立擺的仿真;同年,肖軍等提出一種基于三維模糊組合變量的控制方法,仿真結果證明了該方法的有效性。在數學模型方面,Larcombe(1991 ,1992)得到了在二維坐標中的簡單多級倒立擺系統的運動方程。1992年,Larcombe和Torsneyt2發現了簡單多級倒立擺系統平衡狀態的辨識方程。隨后,Larcombe(1993)把符號算法應用于二級倒立擺系統的開環線性化動態方程,并且計算了系統的特征方程和開環極點。2001年,史曉霞等建立了二級倒立擺的數學模型,同年,張葛祥等建立了三級倒立擺的數學模型,并分析了系統的可控制性和可觀測性,給出了智能控制算法的思路。
在實驗方面,單級倒立擺系統的實驗最早出現在Roberge(1960)的論文中。1963年,Higdon 和Cannon提出了平行倒立擺的問題。Koenigsberg和Fredrick(1970)則使用了基于觀測器的輸出反饋控制器和狀態反饋調節器。Mori等((1976)設計了一個組合控制器,既可以擺起倒立擺,還可以維持它在垂直向上方向上的平衡。1992年,Simth和Blackburn利用高頻垂直振蕩獲得穩定的倒置狀態,同年,Ostertag和Carvalho?Ostertag開發了一個帶摩擦力補償的穩定模糊控制器。Wei等(1995)利用bang?bang非線性控制器擺起了倒立擺并穩定在垂直向上方向。1996年,張乃堯等實現了倒立擺的雙閉環模糊控制。1998年,王佳斌用網絡控制倒立擺。對于二級倒立擺,Loscuttof(1972)認為只有全階觀測器才能實現它的穩定;但Furuta等((1975)證明了這種結論的錯誤性,并在1978年利用一個線性函數觀測器穩定了同一系統。1980年,Furuta等控制了傾斜導軌上的同一系統,并能保持小車的正確定位。Zu?ren等在1984年運用部分狀態和線性函數觀測器結構,在模擬計算機上應用了同一算法,1987年他
Der Linden和們使用離散二次性能指標修改T這一控制器。1993年,Van Lambrechts在運用戈理論設計倒立擺的控制器時考慮了干摩擦。Yamakita等(1993)運用學習控制方法成功擺起了二級倒立擺系統,而且在1994年他們運用這相同的控制方法使倒立擺在4種平衡狀態中互相切換。1995年,程福雁等利用參變量模糊控制對二級倒立擺進行實時控制,取得了較好的效果。1999年,李巖等運用基于PD控制的專家智能控制并實現了二級倒立擺的穩定控制。2000年,林紅等利用最優反饋調節器使其在倒立位置保持平衡,并在鋸齒波信號的作用下有規律地移動,直至無限遠處。在三級倒立擺方面,Furuta(1984)和Meier等(1990)分別利用帶函數觀測器和降階觀測器的LQR方法設計了反饋控制器。1999年,李德毅利用云控制方法有效地實現了單電機控制的一、二、三級倒立擺的多種不同動平衡姿態,并給出了詳細試驗結果;同年,張飛舟等采用相平面 3
西北民族大學2012級自動化3班鐘小龍
分析法并結合人的控制經驗,實現了一、二、三級倒立擺的擬人智能控制。2000年,楊亞煒等利用擬人智能控制成功實現了在傾斜導軌上三級倒立擺的穩定,并可以控制三級倒立擺沿水平或傾斜導軌自由行走。
多年來,人們對倒立擺的研究越來越感興趣,倒立擺的種類也由簡單的單級倒立擺發展為多種形式的倒置系統。目前研究的大部分均為二維空間即平面內擺動的擺,另外近年來還出現了球擺、柔性擺、傾斜軌道式倒立擺、旋轉式倒立擺等。
國際上每年都有成百篇關于倒立擺控制研究的論文發表,其中大部分是建立在計算機基礎上的仿真研究。而且主要是以一級倒立擺作為被控對象進行仿真,用二級倒立擺和平行倒立擺來仿真的文章則很少,而用三級倒立擺乃至多級倒立擺進行仿真研究的更是罕見。三級倒立擺的控制作為控制界的經典難題一直為人們所關注,也一直是研究的熱點。目前,只有很少一部分學者在對實際物理擺進行設計、實驗和控制研究。1.3倒立擺的主要控制方法
經過幾十年的發展,對倒立擺這樣的一個典型被控對象的研究,無論在理論上和方法上都在不斷的更新。各種控制理論和方法都可以通過倒立擺控制系統得以充分實踐并且可以促成相互間的有機結合。目前倒立擺的控制方法主要可分為以下幾類:(I)線性理論控制方法
將倒立擺系統的非線性模型進行近似線性化處理,獲得系統在平衡點附近的線性化模型;然后,再利用各種線性系統控制器設計方法得到期望的控制器PID ,控制狀態反饋控制、LQR控制算法,這類方法對一二級的倒立擺(線性化后誤差較小模型較簡單)控制時可以得到較好的控制效果,但對于像非線性較強模型較復雜的多變量系統(三四級以及多級倒立擺),線性系統設計方法的局限性就十分明顯,這就要求采用更有效的方法來進行合理的設計。
(2)變結構控制和自適應控制方法
變結構控制是一種非連續控制,可將控制對象從任意位置控制到滑動曲面上仍然保持系統的穩定性和魯棒性,但是系統存在顫抖。變結構控制和自適應控制在理論上有較好的控制效果,但由于控制方法復雜,成本也高,不易在快速變化的系統上實時實現。
(3)智能控制方法
在倒立擺系統中用到的智能控制方法主要有神經網絡控制、模糊控制、擬人智能控制、仿人智能控制和云模型控制。
神經網絡控制一一神經網絡能夠任意充分地逼近復雜的非線性關系,能夠學 4
西北民族大學2012級自動化3班鐘小龍
習與適應嚴重不確定性系統的動態特性,所有定量或定性的信息都等勢分布貯存于網絡內的各種神經元,故有很強的魯棒性和容錯性,但是神經網絡控制方法存在的主要問題是缺乏一種專門適合于控制問題的動態神經網絡,而且多層網絡的層數隱層神經元的數量激發函數類型的選擇缺乏指導性原則等。
模糊控制一一經典的模糊控制器利用模糊集合理論,將專家知識或操作人員經驗形成的語言規則直接轉化為自動控制策略(通常是專家模糊規則查詢標),其設計不依靠對象精確的數學模型而是利用其語言知識模型進行設計和修正控制算法,常規的模糊控制器的設計方法有很大的局限性,首先難以建立一組比較完善的多維模糊控制規則,即使能湊成這樣一組不完整的粗糙的模糊控制規則其控制效果也是難以保證的,但是模糊控制結合其他控制方法就可能產生比較理想的效果,例如北京師范大學己經采用模糊自適應控制理論成功的研制了三級倒立擺裝置并對四級倒立擺系統做了仿真結果,接著還成功研制了四級倒立擺裝置且穩定
效果良好。但是基于這些模糊控制、神經網絡控制等智能控制理論所設計的系統往往需要龐大的知識庫和相應的推理機,不利于實現實時控制,這又阻礙了智能控制理論的發展。
擬人智能控制一一它的核心是“廣義歸約”和“擬人歸約”是人工智能中的一種問題求解方法,這種方法是將等求解的復雜問題分解成復雜程度較低的若干問題集合,再將這些集合分解成更簡單的集合,依此類推最終得到一個本原問題集合,即可以直接求解的問題。另一核心概念是擬人其含義是在控制規律形成過程中直接利用人的控制經驗直覺以及推理分析。
仿人智能控制一一它的基本思想是通過對人運動控制的宏觀結構和手動控制行為的綜合模仿,把人在控制中的動覺智能模型化,提出了仿人智能控制方法研究結果表明仿人智能控制方法解決復雜強非線性系統的控制具有很強的實用性。
云模型控制一一利用云模型實現對倒立擺的控制,用云模型構成語言值,用語言值構成規則,形成一種定性的推理機制,這種擬人控制不要求給出被控對象精確的數學模型,僅僅依據人的經驗、感受和邏輯判斷,將人用自然語言表達的控制經驗,通過語盲一原子和云模型轉換到語言控制規則器中,就能解決非線性問題和不確定性問題。
(4)魯棒控制方法
雖然目前對倒立擺系統的控制策略有如此之多,而且有許多控制策略都對倒立擺進行了穩定控制,但大多數都沒考慮倒立擺系統本身的大量不確定因素和外界干擾。
西北民族大學2012級自動化3班鐘小龍
(5)Backstepping方法
PV及其它是一種新的研究非線性系統的控制思想和方法,它是由Kokotovic 合作者在上世紀90年代提出的,但目前用此方法研究倒立擺系統的成果還不多見。Backstepping是一種構造性方法,它利用系統的結構特性遞推地構造出整個系統的Lapunov函數,所以系統Lapunov函數和控制器的設計過程有較強的系統性、靈活性和結構性,而且保留系統中有用的非線性項,加上可以控制相對階為n的非線性系統,消除了經典無源設計中相對階為1的限制正因為這些優點,后來中外學者把它廣泛地用在非線性系統的狀態反饋控制、輸出跟蹤控制、自適應控制、魯棒控制等領域的研究.2.一級倒立擺數學模型
2.1一級倒立擺系統的組成
一級倒立擺控制系統主要由以下4部分組成: 1.在有限長的軌道L上作直線運動的小車;2.與小車鉸接在一起,并能在包含L的平面內繞O點轉動的擺;3.驅動小車的直流力矩電機和轉輪、鋼絲等傳動部分;4.使擺穩定在垂直向上的平衡位置,且使小車穩定在軌道中心毛的控制器。
一級倒立擺的結構簡圖如圖1.1所示。
圖1.1倒立擺系統的結構圖
倒立擺系統主要由計算機、A/D , D/A、電機、電位計以及一些機械部件組成。計算機作為數字控制器實現對系統的實時控制,同時也為操作者提供人機界
西北民族大學2012級自動化3班鐘小龍
面,完成系統的監督管理功能,如實時畫面,數據采集;A/D , D/A板插在計算機內,完成模/數、數/模轉換;放大器用于電壓和功率放大。電機是系統的執行元件;電位計是系統的測量元件,它分別檢測了小車相對于軌道中心點的相對位置、小車的速度,擺和鉛垂線的角度偏移、角速度。倒立擺系統的整套機械部件分別安裝在一塊臺架上,底板上固定著導軌支架、電機底座等裝置。通過導軌支架安裝好小車滑行的導軌,小車用電機和轉輪通過傳動鋼絲實現運動。2.2一級倒立擺系統數學模型的建立
在忽略了空氣阻力和各種摩擦之后,可將直線型一級倒立擺系統抽象成小車 和勻質擺桿組成的系統,如圖所示:
圖1.2.1 一級倒立擺系統的力學示意圖
將擺桿視為剛體,則一級倒立擺系統的參數為:小車質量M,擺桿質量m,擺桿重心到鉸鏈的長度l,重力加速度g,小車位置x,擺桿角度?,作用在小車上的驅動力F。當小車在水平方向運動時,若忽略摩擦力矩的非線性,對小車和擺桿進行水平和垂直方向受力分析,如圖:
西北民族大學2012級自動化3班鐘小龍
圖1.2.2 小車和擺桿的受力分析圖
其中N和P為小車和擺桿間的相互作用力水平和垂直方向上的分量。分析小車水平方向上的合力,由牛頓運動定律可得:
由擺桿水平方向的受力分析可得:
即:
把式子(3.3)代入(3.1)式中,就得系統的第一個運動方程:
對擺桿垂直方向上的合力進行分析并由力矩平衡方程可得:
合并這兩個方程,約去P和N,得到第二個運動方程:
為了后面設計的方便我們對得到的兩個方程進行化簡和處理可得一級倒立擺系統的數學模型如下:
西北民族大學2012級自動化3班鐘小龍
在這里可以將倒立擺系統(3.8)看作是由小車和擺兩部分組成的具有兩個子系統的組合系統。倒立擺的擺系統控制具有高度非線性,同時考慮到實際設備長度的約束,我們必須限制小車系統的位移。以前大部分研究工作都是通過對倒立擺數學模型中的非線性項進行近似或忽略,從而簡化控制器的設計。我們采用基于 Lapunov能量反饋的方法對倒立擺進行起擺控制,這實際上是利用正反饋不斷增大擺的能量。針對擺系統,采用Backstepping方法設計非線性控制器,但此時得到的控制器不能實現對小車位移的控制;因此我們結合線性控制理論的極點配置方法獲得對小車位移和速度控制的部分控制器;兩者結合則得到整個倒立擺系統的一個非線性穩擺控制器。
3.系統控制器的設計和閉環系統的數值仿真
針對直線型一級倒立擺系統的控制器設計方法很多,包括狀態反饋控制、LQR最優控制、模糊控制和PID控制等方法,同時各種方法的相互結合使用來設計倒立擺系統己經稱為研究熱點。
針對上面的直線型一級倒立擺系統(x..1??,x2??,x3?x,x4?x),選取M?2.0kg,m?8.0kg,1?0.5m,g?9.8m/s2。我們先考慮擺子系統的動態模型:
step1令:z1?x1,x2看作是系統: 的虛擬控制。現在我們的控制目的就是設計虛擬反饋控制;x2??1(x1)去鎮定z1為此,構造Lapun函數v2..1(z1)?(1/z12,)則有v1(z1)?z1z1?z1x2。取?1(x1)??k1z,1k?1為可設計常數,并引入誤差變量0z2?x2??1(x1),則有:
西北民族大學2012級自動化3班鐘小龍
故若z2?0,則v1(z1)??k1z12?0,即z1子系統(3.10)被鎮定,下面鎮定:z2
step 2對應一個二階系統:
此時真正的控制u出現。這一步主要是鎮定z2 構造Lapunov函數V1(z1,z2)?(1/2)z12?(1/2)z2,則
令
其中k2?0為設計常數,由(3.1 5)求得系統的控制輸入:
2?0,即z1,z2子系統(3.13)被鎮定,所以代入式(3.14),則V(z1,z2)??k1z12?k2z2.進而:z1?0,反推之后可得x1,x2?0,即可得系統(3.9)在控制(3.16)z2?0,作用下被鎮定。而把z1?x1,z2?x2??1(x1)?x2?k1x1代入(3.17)可得系統(3.9)的控制輸入:
其中的k1,k2?0為可設計常數,可以根據實際系統的具體要求進行設計,這一點也是Backstepping方法的特點和優點之一。當取k1?k2?100,k1k2?1?150時相
西北民族大學2012級自動化3班鐘小龍
應的控制器:
我們先對上面得到的非線性系統(3.8)作近似線性化。考慮擺桿在平衡點(??0)附近擺動微小,對非線性系統(3.8)進行局部線性化,即令cos???,sin???做近似處理后,就得到倒立擺的線性狀態方程
.式中X?[xT.1,x2,x3,x4]?[?,?,x,x]T,u?F,輸出y?[?,x]T
其中I?(1/3)ml2
用Matlab中的place函數得到反饋矩陣:
截取K3,K4部分為x3,x4的系數,則可得
西北民族大學2012級自動化3班鐘小龍
兩者結合可得:
該控制器可以控制擺桿保持平衡的同時,跟蹤小車的位置。注意:上述F的參數可以進一步調試。對整個倒立擺做數值仿真結果如下:
圖3-4小車和擺桿的狀態響應曲線
4.直線型一級倒立擺系統的Simulink模型和離線仿真
4.1基于線性控制器對線性系統的離線仿真 在上面所設計的直線型一級倒立擺的線性控制器
該控制器的設計采用的是Backstepping方法,類似于極點配置法,設計的目的是使系統滿足工程師提出的瞬態和穩態性能指標。我們利用Simulink搭建該控制器模型如圖4-1 12
西北民族大學2012級自動化3班鐘小龍
圖4-1 線性控制器的Simulink模型
其次構建直線型一級倒立擺系統的線性系統的Simulink模型為
圖4-2 線性系統的Simulink框圖
最后對控制器模塊和線性模型模塊進行封裝,再連接起來就是倒立擺系統的閉環系統模型,如下圖4-3。
西北民族大學2012級自動化3班鐘小龍
圖4-3 倒立擺閉環系統的Simulink框圖
這樣我們就在MATLAB的Simulink環境下,搭建出狀態反饋控制系統仿真試驗研究平臺,通過示波器可以在線觀察系統的狀態變化,進而可以對倒立擺閉環系統進行實驗仿真分析了。
圖4-4 倒立擺閉環系統的Simulink仿真曲線
西北民族大學2012級自動化3班鐘小龍
4.2基于線性控制器對非線性系統的離線仿真
首先用Simulink搭建的倒立擺系統的非線性系統模型為:
圖4-5 倒立擺系統的非線性系統模型
利用4-7建好的線性控制器模塊和上面建好的非線性系統模型進行封裝,再連接起來就是倒立擺系統的閉環系統模型,如下圖4-6。
圖4-6 整體閉環系統Simulink框圖
最后模型建立好后,我們就可以對倒立擺閉環系統進行離線仿真。如下圖4-7。
西北民族大學2012級自動化3班鐘小龍
圖4-7 倒立擺閉環系統的Simulink仿真曲線
從圖4-4和圖4-7可以看出,所設計的線性控制器對線性化系統控制效果比對非線性系統的好,這說明線性控制器對非線性倒立擺系統的控制較差,而且實驗表明非線性控制器對系統的抗干擾能力和魯棒性強。4.3基于非線性控制器對非線性系統的離線仿真 先建立非線性控制器的Simulink框圖
圖4-8 非線性控制器的Simulink框圖
西北民族大學2012級自動化3班鐘小龍
圖4-9 非線性部分的Simulink框圖
對非線性控制器模塊進行封裝,再與非線性系統模型模塊連接起來就是倒立擺系統的閉環系統模型,如下圖4-10。
圖4-10 閉環系統的Simulink框圖
最后模型建立好后,我們就可以對倒立擺系統進行離線仿真。如下圖4-11。
西北民族大學2012級自動化3班鐘小龍
圖4-11 倒立擺閉環系統的Simulink仿真曲線
可以看出非線性控制器的控制效果很好,時間越長穩定性越好,內有抖動性,但收斂時間稍微有點長,但它的控制效果好,特別是對外界的抗干擾能力等。
5.模型的優缺點
該控制算法與其他算法相比,優缺點主要有以下幾點:(1)與固高公司提供的LQR最優控制算法相比,在穩定時間幾乎一樣,由于本文給出的算法里面含有可調參數,只要合適的調節參數,就可以使得穩定時間大大縮短,但這樣也會存在使控制量過大,出現系統抖動問題。另一方面本文給出的算法在抗干擾能力方面要強于LQR最優控制算法,見最后一章的分析。
(2)與精確線性化方法對比,該方法收斂速度即穩定時間要比精確線性化 方法快,而且精確線性化方法對原系統進行了線性化,故理論上與實際的系統模 型有一定的誤差。而本文設計的控制算法保留了系統的非線性項,控制效果好,但同時也增加了控制器的能量,響應時間會受到影響。
(3)與模糊邏輯控制理論相比,該方法收斂速度明顯要快,而且調節時間短,穩態性能指標也比較好。
(4)變結構控制理論設計的控制算法使得系統的抖動厲害,而本文給出的算法抖動性小,而且時間越長控制效果越好。
西北民族大學2012級自動化3班鐘小龍
(5)本文只采用一種控制設計方法,當然與那些多種控制方法結合使用的設 計方法相比存在一定的不足。把模糊控制和神經網絡控制結合控制的效果很好,在穩定性、抗干擾性方面優勢都很大。事實證明:模糊神經網絡的BP算法比一般神經網絡的BP算法快得多,在受干擾情況下,小車擺桿的恢復迅速。
6.結論和展望
倒立擺控制系統作為檢驗控制理論的試金石,對于控制理論研究方面發揮著 越來越重要的作用,值得進一步的研究和開發。本文主要利用Backstepping方法設計了直線型一級倒立擺系統控制器并基于MATLAB/Simulinkk對系統進行了離線仿真。本文所作的主要工作或要達到的主要目的是:(一)建立直線型一級倒立擺系統的數學模型,并利用Backstepping方法設 計了該倒立擺系統的控制器,然后對閉環系統進行了數值仿真并與其他方法進行 了數值仿真分析比較。與當前的倒立擺研究成果相比,具有研究方法新穎、控制 效果好的特點。
(二)本文利用所設計的非線性控制器在MATLAB/Simulink環境下對系統進 行了離線仿真分析,并與固高公司提供的算法進行了仿真效果比較。
倒立擺系統的種類有很多,本文只是在直線型一級倒立擺中進行了研究和分析,隨著控制理論研究的深入,必將會出現更多新的控制方法,而且新的控制方 法的綜合使用也將是研究的熱點,那么就需要更復雜的系統進行檢驗,需要對更 復雜的倒立擺系統進行研究;同時MATLAB/Simulink的廣泛應用,必將帶來控制理論和控制實驗方面的進一步深入和豐富。
西北民族大學2012級自動化3班鐘小龍
7.參考文獻
[1]俞立.現代控制理論【M】.北京:清華大學出版社,2007.4 [2]中國科學技術人學編.固高擺系統與自動控制實驗【Z】.2002 [3]謝克明.現代控制理論基礎【M】.北京:北京工業大學出版社,2003 [4]鄧麗霞.基于Backstepping和MATLAB/Simulink的直線型一級倒立擺系統的控制器設計與實時控制研究【J】,2008 [5]徐若冰.基于極點配置的倒立擺控制器設計【J】,2007 [6] Albertalsidori.非線性控制系統(第二版)【M】.比京:電子工業出版社,2005 [7]宋兆基,徐流美.MATLAB6.5在科學計算中的應用【M】.北京:清華大學出版社.2005 [8]周黨偉,錢富才.直線倒立擺的穩定控制研究【J】.西安理工大學碩士學位論文
第四篇:倒立擺實驗報告
一、實驗內容
1、完成Matlab Simulink 環境下的電機控制實驗。
2、完成直線一級倒立擺的建模、仿真、分析。
3、理解并掌握PID控制的的原理和方法,并應用與直線一級倒立擺
4、主要完成狀態空間極點配置控制實驗、LQR控制實驗、LQR控制(能量自擺起)實驗、直線二級倒立擺Simulink的實時控制實驗。
二、實驗設備
1、計算機。
2、電控箱,包括交流伺服機驅動器、運動控制卡的接口板、直流電源等。
3、倒立擺本體,包括一級倒立擺,二級倒立擺。
三、倒立擺實驗介紹
倒立擺是一個典型的不穩定系統,同時又具有多變量、非線性、強耦合的特性,是自動控制理論中的典型被控對象。它深刻揭示了自然界一種基本規律,即一個自然不穩定的被控對象,運用控制手段可使之具有一定的穩定性和良好的性能。許多抽象的控制概念如控制系統的穩定性、可控性、系統收斂速度和系統抗干擾能力等,都可以通過倒立擺系統直觀的表現出來。
(1)被控對象 倒立擺的被控對象為擺桿和小車。擺桿通過鉸鏈連接在小車上,并可以圍繞連接軸自由旋轉。通過給小車施加適當的力可以將擺桿直立起來并保持穩定的狀態。
(2)傳感器 倒立擺系統中的傳感器為光電編碼盤。旋轉編碼器是一種角位移傳感器,它分為光電式、接觸式和電磁感應式三種,本系統用到的就是光電式增量編碼器。
(3)執行機構 倒立擺系統的執行機構為松下伺服電機和與之連接的皮帶輪。電機的轉矩和速度通過皮帶輪傳送到小車上,從而帶動小車的運動。電機的驅動由與其配套的伺服驅動器提供。
光電碼盤1將小車的位移、速度信號反饋給伺服驅動器和運動控制卡,而光電碼盤2 將擺桿的位置、速度信號反饋回控制卡。計算機從運動控制卡中讀取實時數據,確定控制決策(小車向哪個方向移動、移動速度、加速度等),并由運動控制卡來實現該控制決策,產生相應的控制量,使電機轉動,帶動小車運動,保持擺桿平衡。
圖1 直線倒立擺系統總體結構圖
四、實驗步驟
4.1 狀態空間極點配置控制實驗
極點配置法通過設計狀態反饋控制器將多變量系統的閉環系統極點配置在期望的位置上,從而使系統滿足瞬態和穩態性能指標。前面我們已經得到了倒立擺系統的比較精確的動力學模型,下面我們針對直線型一級倒立擺系統應用極點配置法設計控制器。1)狀態空間分析
??對于控制系統X AX?Bu式中:X—狀態向量(n維);u—控制向量;A—n?n常數矩陣;B—n?1常數矩陣。
選擇控制信號為:u??KX
? 求解上式,得到:x(t)?(A?BK)(xt)(AB?K)t 方程的解為:x()t?ex(0)
圖3 狀態反饋閉環控制原理圖
可以看出,如果系統狀態完全可控,K選擇適當,對于任意的初始狀態,當t 趨于無窮時,都可以使趨于0。2)狀態空間極點配置
前面我們已經得到了直線一級倒立擺的狀態空間模型,以小車加速度作為輸 入的系統狀態方程為:
???x?0???0??x ?????????0??????????0?
100000029.40??x??0??x????0?1??????u'
?0?1??????????0?????3????x??1y?????????0?0?0即: A???0??01000000100029.4?x????0??x???0?u'
?0?0????????????????0?0??1?0?? B???
?0?1????0??3?
?1 C???000010??0? D???
0??0??對于如上所述的系統,設計控制器,要求系統具有較短的調整時間(約3秒)和合適的阻尼(阻尼比??0.5)。
下面采用極點配置的方法計算反饋矩陣。
1、檢驗系統可控性
由系統可控性分析可以得到,系統的狀態完全可控性矩陣的秩等于系統的狀態維數4,系統的輸出完全可控性矩陣的秩等于系統輸出向量的維數2,所以系統可控。
圖4 倒立擺極點配置原理圖
2、計算特征值
根據要求,并留有一定的裕量(設調整時間為2秒),我們選取期望的閉環 極點s其中:??i?1,2,3,4)i(。
????10,???10,??2?j23,???2?j231234的主導閉環極點,?1,?2位于主導閉環極點的左?3,?4是一對具有??0.5,?4n?邊,因此其影響較小,可以將系統近似為二級系統,根據公式
???1??2e??%ts?3.3??n
?1,2????n??n1??2j可得?,?n和一對主導極點?1,2 因此期望的特征方程為:
s????sss?s?10s?10s?2?j23s?2?j23????????????????1234432?s?24s??196s720s?1600????12
因此可以得到:
???24,?196,??720,??160034
由系統的特征方程:
00??s?1?0s?00??s4?29.4ssI?A???00s?1???00?29.4s??因此有a1?0,a2??29.4,a3?0,a4?0。
系統的反饋增益矩陣為:
3、確定使狀態方程變為可控標準型的變換矩陣T:
T?MW其中:
M?[B?AB?A2B?A3B]?0?1 ???0??31?1Ka????a????a??aT ??nnn?1n?12211????0?000?? 3088.2??088.20?0
?a3?aW??2?a1??
1所以:
??29.4?0
T?MW???0??00a2a110a11??0?29.4??29.410?0???00??01??00??1001?10??00??00? 00.011300.33330?0.0113?? 0??0.3333?0??0.03410??0?29.401??1?,T???0030???003??0?0.034002、求狀態反饋增益矩陣K:
K?[?4?a4??3?a3??2?a2??1?a1]T?10??0.034?0 ?0.034?[1600720196?29.424]??00?0?0?[?54.4218?24.489893.273816.1633]0.011300.33330? 0.0113??0??0.3333?0? ??93.2739??16.1633? 得到控制量: u?KX??54.4218x?24.4898x以上計算可以采用 MATLAB 編程計算。3)Simulink仿真實驗
在MATLAB Simulink下對系統進行仿真。
圖5 直線一級倒立擺極點配置控制仿真模型
雙擊“State-Space”模塊打開直線一級倒立擺的模型設置窗口如下:
圖6 系統狀態空間模型設置窗口
把參數A,B,C,D 的值設置為實際系統模型的值。
雙擊“Pole Controller”模塊打開極點配置控制器參數的設置窗口:
圖7 反饋增益矩陣輸入窗口
把上面計算得到的反饋增益矩陣K輸入,設置好各項參數后,點擊“行仿真。
4)Simulink實時控制實驗
”運
圖9 實驗五 狀態空間極點配置控制實驗
上圖中的紅色方框為設計的極點配置控制器,運行前查看是否為自己設計好的控制器,并確定保證擺桿此時豎直向下。不用編譯鏈接,直接單擊“
”按鈕,用手捏住擺桿頂端(不要抓住中部或下部),慢慢地提起,到接近豎直方向時放手,當擺桿與豎直向上的方向夾角小于0.30弧度時,進入穩擺范圍,可以觀察到,擺桿直立不倒,小車穩擺在初始位置,然后單擊“
”停止實驗。
4.2 LQR控制實驗
1)LQR控制分析
LQR控制器是應用線性二次型最優控制原理設計的控制器。當系統狀態由于任何原因偏離了平衡狀態時,能在不消耗過多能量的情況下,保持系統狀態各分量仍接近于平衡狀態。線性二次型最優控制研究的系統是線性的或可線性化的,并且性能指標是狀態變量和控制變量的二次型函數的積分。它的解很容易獲得,并且可以達到非常好的控制效果,因此在工程上有廣泛的應用。
二次型性能指標一般形式如下:
1T1TT??J?x(t)Q(t)x(t)?u(t)R(t)u(t)?x()tx()tfFf
???22t0tf
其中,Q?n?n維半正定狀態加權矩陣;R?r?r維正定控制加權矩陣;
F?n?n維半正定終端加權矩陣;
min,則其實質在于,用不大的控制來保持較小最優控制的目標就是使J?的誤差,從而達到能量和誤差綜合最優的目的。
2)LQR控制器設計 系統狀態方程為:
??AX?BuXy?CX?Du(1)二次型性能指標函數: J?1?TT[XQX?URU]dt(2)?02其中:加權矩陣Q和R是用來平衡狀態變量和輸入向量的權重,X是n維狀態變量, U是r維輸入變量, Y為m維輸出向量,如果該系統受到外界干擾而偏離零狀態,應施加怎樣的控制U*才能使得系統回到零狀態附近并同時滿足J達到最小,那么這時的U*就稱之為最優控制。由最優控制理論可知, 使式(2)取得最小值的最優控制律為: U??R?1BTPX??KX(3)式中, P就是Riccati方程的解, K是線性最優反饋增益矩陣。這時求解Riccati代數方程:PA?ATP?PBR?1BTP?Q?0(4)就可獲得P值以及最優反饋增益矩陣K值。K?R?1BTP(5)前面我們已經得到了直線一級倒立擺系統的系統狀態方程:
???x?0????0?x?? ?????0???????????0??100000029.40??x??0??x?1???0???????u'
?0?1??????????0???????3??? y???????0???x10001?x????0??x???0?u'
?0?0????????????????0?0??1?0??,B???
?0?1????0??3? 可知:
?0?0 A???0??0100000029.4?分別代表小車位移、小車速度、擺桿角度、擺桿角?,?,? 四個狀態量x,x速度,輸出y?[x,?]?包括小車位置和擺桿角度。
一般情況下:R增加時,控制力減小,角度變化減小,跟隨速度變慢。矩陣Q中某元素相對增加,其對應的狀態變量的響應速度增加,其他變量的響應速度相對減慢,如:若Q對應于角度的元素增加,使得角度變化速度減小,而位移的響應速度減慢;若Q對應于位移的元素增加,使得位移的跟蹤速度變快,而角度 的變化幅度增大。可通過Matlab中的lqr函數求解反饋矩陣K并對系統進行仿真。
3)Simulink仿真實驗
圖11 直線一級倒立擺LQR控制仿真模型
雙擊“State-Space”模塊打開直線一級倒立擺的模型設置窗口如下:
圖12 系統狀態空間模型設置窗口
把參數A,B,C,D 的值設置為實際系統模型的值。雙擊“LQR Controller”模塊打開LQR控制器參數的設置窗口:
圖13 反饋增益矩陣輸入窗口
把上面計算得到的反饋增益矩陣K輸入。設置好各項參數后,點擊“真。
4)Simulink實時控制實驗
”運行仿
圖15 實驗六 LQR控制實驗
上圖中的紅色方框為設計的LQR控制器,運行前查看是否為自己設計好的控制器,并確定保證擺桿此時豎直向下。不用編譯鏈接,直接單擊“
”按鈕,用手捏住擺桿頂端(不要抓住中部或下部),慢慢地提起,到接近豎直方向時放手,當擺桿與豎直向上的方向夾角小于0.30弧度時,進入穩擺范圍,可以觀察到,擺桿直立不倒,小車穩擺在初始位置,然后單擊“
”停止實驗。
4.3 LQR控制(能量自擺起)實驗
倒立擺系統自擺起控制目標:通過控制小車運動,將擺桿從自由下垂狀態擺到倒置平衡位置,并使系統能保持擺桿倒置狀態,具有一定的抗干擾能力,同時還要控制小車回到初始零位附近,使整個系統處于動態平衡狀態。
1)起擺過程
我們可將起擺分為以下四個階段(定義擺桿自然下垂位置??0,以逆時針方向為正,箭頭代表擺桿運動方向)。
圖16 倒立擺能量起擺過程
在初始時刻,小車位于導軌中心,擺桿自然下垂。當進行起擺實驗時,先向負方向給小車一個較大的力(小車有加速度),使擺桿運動,隨后緊接著令小車停止,擺桿會在慣性的作用下,繼續沿著與小車連接處的轉軸向上運動(Ⅰ),達到最高點后,擺桿速度為零,在重力的作用下沿擺桿的軸心自動下落(Ⅱ),這時給小車施加一個相反的作用力,小車反向運動的同時通過連接軸給擺桿一個反向的力。當再次到達初始點(??0)時,令小車制動,擺桿此時的速度不為零,??0時,即擺桿達到負方向在慣性的作用下繼續運動,此時??0(Ⅲ)。當??0,?的最高點,在重力的的作用下,擺桿回落,繼續給小車施加負方向的力,直到??0下車制動(Ⅳ)。
反復以上動作,擺桿在小車驅動力的作用下,拋起的高度會不斷增加,直到進入穩擺區域,切換到穩擺控制算法。
對以上的四種情況進行分析,可轉化成控制算法:
??0,控制量u??nv(1)??0,?,初始時刻
??0??0?(2)???????0????0u?0(3)?
u??nvu?nv
2)Simulink仿真實驗
圖17 直線一級倒立擺能量自擺起仿真模型
其中“Energy Controller”為封裝(Mask)后的能量起擺控制器,如下圖:
圖18 能量起擺控制器
“LQR Controller”為封裝后的LQR控制器,雙擊該模塊可以進行LQR參數設置:
圖19 LQR穩擺控制器
設置好各項參數后,點擊“”運行可進行仿真。
3)Simulink實時控制實驗
圖21 實驗七 LQR控制(能量自擺起)實驗
將小車移至導軌中間位置,確定擺桿此時豎直向下。不用編譯連接,直接單擊“”按鈕,倒立擺進行自擺起,當擺桿與豎直向上的方向夾角小于0.30弧度時進入穩擺范圍,穩擺采用LQR控制算法。如果不能正常擺起,用戶可自己修改調整系數直到正常擺起。可以觀察到,擺桿直立不倒,小車會穩擺在初始位置,一段時間后單擊“”停止實驗。
4.4 直線二級倒立擺實時控制實驗
啟動MATLAB(Simulink)實時控制程序reinovo.mdl,直線二級倒立擺Simulink實時控制程序的初始化界面如圖所示:
運行前查看是否為自己設計好的控制器,并確定保證擺桿此時都豎直向下。不用編譯連接,直接單擊“”按鈕,用手捏住下擺桿頂端(不要抓住中部或下部),慢慢的提起,到接近豎直方向時放手,當上擺桿與豎直向上的方向夾角小于0.25弧度時,進入穩擺范圍,可以觀察到,兩根擺桿直立不倒,小車會穩擺在初始位置,一段時間后單擊“
”停止實驗。
五、實驗總結
通過這次試驗,我們熟悉了倒立擺實驗的整個過程,學習了系統的建模方法,實驗建模就是通過在研究對象上加上一系列的研究者事先確定的輸入信號,激勵研究對象并通過傳感器檢測其可觀測的輸出,應用數學手段建立起系統的輸入-輸出關系。這里面包括輸入信號的設計選取,輸出信號的精確檢測,數學算法的研究等等內容。同時通過極點配置實驗,我們學習了狀態反饋控制器的設計方法,在Matlab中有一個acker函數,可以很簡單的計算出在確定極點處對應的狀態反饋矩陣。我們學習到狀態反饋陣的設計與C、D矩陣無關,并且在實際工程中只考慮主導極點而忽略非主導極點對控制系統的影響對實際控制效果的影響不大,學到了一種工程設計的方法。
通過LQR控制實驗,我們學習了線性二次型最有控制器的設計方法。穩定性僅僅是系統的一個指標,對一個控制系統,僅僅穩定是不夠的,還要考慮注入調節時間、超調、震蕩等動態性能及控制器所消耗的能量等因素。極點配置法保證了系統具有穩定性和動態性能,而二次型最優控制法保證了控制器在達到較好的控制效果的同時消耗的能量最小,這更具有實際意義。通過倒立擺LQR最優控制系統設計與研究,并反復實驗選取好加權陣Q和R可以很好的實現倒立擺的穩定控制,該方法與極點配置狀態反饋法一樣都能取得良好的控制效果。
在LQR控制能量自擺起實驗中,我們學習了一種控制策略,該過程分為兩個階段:擺起控制與穩擺控制。兩者模型的差異性決定了兩個過程中控制方法的不同,要使倒立擺的整體性能好,兩者之間的切換控制尤為重要。通過本次實驗我對控制理論有了一個更深入的了解,以后會加強學習和實踐。
第五篇:倒立擺實驗報告
倒立擺實驗報告 機自 82
組員:李宗澤
李航
劉凱
付榮 倒立擺與自動控制原理實驗 一.實驗目得:
1、運用經典控制理論控制直線一級倒立擺,包括實際系統模型得建立、根軌跡分析與控制器設計、頻率響應分析、PID 控制分析等內容、2、運用現代控制理論中得線性最優控制LQR 方法實驗控制倒立擺 3、學習運用模糊控制理論控制倒立擺系統 4、學習MATLAB工具軟件在控制工程中得應用 5、掌握對實際系統進行建模得方法,熟悉利用MATLAB 對系統模型進行仿真,利用學習得控制理論對系統進行控制器得設計,并對系統進行實際控制實驗,對實驗結果進行觀察與分析,非常直觀得感受控制器得控制作用。
二、
實驗設備 計算機及MATLAB、VC等相關軟件 固高倒立擺系統得軟件 固高一級直線倒立擺系統,包括運動卡與倒立擺實物 倒立擺相關安裝工具 三. 倒立擺系統介紹 倒立擺就是機器人技術、控制理論、計算機控制等多個領域、多種技術得有機結合,其被控系統本身又就是一個絕對不穩定、高階次、多變量、強耦合得非線性系統,可以作為一個典型得控制對象對其進行研究。倒立擺系統作為控制理論研究中得一種比較理想得實驗手段,為自動控制理論得教學、實驗與科研構建一個良好得實驗平臺,以用來檢驗某種控制理論或方法得典型方案,促進了控制系統新理論、新思想得發展。由于控制理論得廣泛應用,由此系統研究產生得方法與技術將在半導體及精密儀器加工、機器人控制技術、人工智能、導彈攔截控制系統、航空對接控制技術、火箭發射中得垂直度控制、衛星飛行中得姿態控制與一般工業應用等方面具有廣闊得利用開發前景. 倒立擺已經由原來得直線一級倒立擺擴展出很多 種類,典型得有直線倒立擺環形倒立擺,平面倒立擺與復合倒立擺等,本次實驗采用得就是直線一級倒立擺。
倒立擺得形式與結構各異,但所有得倒立擺都具有以下得 特性: 1)
非線性2)
不確定性3)耦合性4)開環不穩定性5)
約束限制
倒立擺 控制器得設計就是倒立擺系統得核心內容,因為倒立擺就是一個絕對不穩定得系統,為使其保持穩定并且可以承受一定得干擾,需要給系統設計控制器,本小組采用得 控制方法有:PID 控制、雙PID控制、LQR控制、模糊PID控制、純模糊控制 四.直線一級倒立擺得物理模型: 系統建模可以分為兩種:機理建模與實驗建模。實驗建模就就是通過在研究對象上加上一系列得研究者事先確定得輸入信號,激勵研究對象并通過傳感器檢測其可觀測得輸出,應用數學手段建立起系統得輸入-輸出關系。機理建模就就是在了解研究對象得運動規律基礎上,通過物理、化學得知識與數學手段建立起系統內部得輸入-狀態關系。,由于倒立擺本身就是自不穩定得系統,實驗建模存在一定得困難。但就是忽略掉一些次要得因素后,倒立擺系統就就是一個典型得運動得剛體系統,可以在慣性坐標系內應用經典力學理論建立系統得動力學方程。
下面我們采用 牛頓--歐拉方 法建立直線型一級倒立擺系統得數學模型:
在忽略了空氣阻力與各種摩擦之后,可將直線一級倒立擺系統抽象成小車與勻質桿組成得系統,如圖所示:
我們不妨做以下假設: M 小車質量 m 擺桿質量 b
小車摩擦系數 l 擺桿轉動軸心到桿質心得長度 I
擺桿慣量 F 加在小車上得力 x 小車位置 φ 擺桿與垂直向上方向得夾角 θ 擺桿與垂直向下方向得夾角(考慮到擺桿初始位置為豎直向下)圖就是系統中小車與擺桿得受力分析圖。其中,N 與P 為小車與擺桿相互作用 力得水平與垂直方向得分量。
注意:在實際倒立擺系統中檢測與執行裝置得正負方向已經完全確定,因而 矢量方向定義如圖所示,圖示方向為矢量正方向。
分析小車水平方向所受得合力,可以得到以下方程:
(3—1)由擺桿水平方向得受力進行分析可以得到下面等式:
(3-2)即:
(3-3)把這個等式代入式(3—1)中,就得到系統得第一個運動方程:
(3—4)
為了推出系統得第二個運動方程,我們對擺桿垂直方向上得合力進行分析,可以得到下面方程:
(3—5)
(3-6)
力矩平衡方程如下:
(3-7)注意:此方程中力矩得方向,由l,故等式前面有負號。
合并這兩個方程,約去P 與N,得到第二個運動方程:
(3-8)設θ=φ+π(φ就是擺桿與垂直向上方向之間得夾角),假設φ與1(單位就是弧 度)相比很小,即φ〈<1,則可以進行近似處理:
用u 來代表被控對象得輸入力F,線性化后兩個運動方程如下:
(3-9)對式(3—9)進行拉普拉斯變換,得到
(3—10)注意:推導傳遞函數時假設初始條件為0。
由于輸出為角度φ,求解方程組得第一個方程,可以得到:
或
如果令
則有:
把上式代入方程組得第二個方程,得到:
整理后得到傳遞函數:
其中
設系統狀態空間方程為:
方程組 對,解代數方程,得到解如下:
整理后得到系統狀態空間方程:
由(3-9)得第一個方程為:
對于質量均勻分布得擺桿有:
于就是可以得到:
化簡得到:
設
則有:
另外,也可以利用MATLAB 中tf2ss 命令對(3-13)式進行轉化,求得上述狀 態方程。
實際系統得模型參數如下: M 小車質量 1.096 Kg m 擺桿質量 0。109 Kg b
小車摩擦系數 0、1N/m/sec l
擺桿轉動軸心到桿質心得長度 0、2 5m I 擺桿慣量 0.0034 kg*m*m 把上述參數代入,可以得到系統得實際模型。
擺桿角度與小車位移得傳遞函數:
擺桿角度與小車加速度之間得傳遞函數為:
擺桿角度與小車所受外界作用力得傳遞函數:
以外界作用力作為輸入得系統狀態方程:
以小車加速度作為輸入得系統狀態方程:
注意事項:在固高科技所有提供得控制器設計與程序中,采用得都就是以 小車得加速度作為系統得輸入,如果用戶需要采用力矩控制得方法,可以參考以 上把外界作用力作為輸入得各式.五.系統得階越響應分析
根據已經得到系統得狀態方程,先對其進行階躍響應分析,在MATLAB 中 鍵入以下命令:
clear; 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 1 0 0];D=[ 0 0 ]’;step(A, B ,C ,D)
可以瞧出,在單位階躍響應作用下,小車位置與擺桿角度都就是發散得.六.頻率響應分析(系統穩定性分析)
前面我們已經得到了直線一級倒立擺得物理模型,實際系統得開環傳遞函數 為:
其中輸入為小車得加速度V(s),輸出為擺桿得角度Φ(s)
.在MATLAB 下繪制系統得Bode 圖與奈奎斯特圖.在MATLAB 中鍵入以下命令: clear; num=[0、02725];den=[0、0102125 0 —0、26705]; z=roots(num);p=roots(den); subplot(2,1,1)bode(num,den)subplot(2,1,2)
nyquist(num,den)得到如下圖所示得結果:
z = Empty matrix: 0—by-1 p = 5、1136 -5、1136
可以得到,系統沒有零點,但存在兩個極點,其中一個極點位于右半s平面,根據 奈奎斯特穩定判據,閉環系統穩定得充分必要條件就是:當ω 從? ∞到+ ∞變 化時,開環傳遞函數G(jω)
沿逆時針方向包圍-1 點p 圈,其中p
為開環傳遞函數 在右半S平面內得極點數。對于直線一級倒立擺,由奈奎斯特圖我們可以瞧出,開 環傳遞函數在S 右半平面有一個極點,因此G(j ω)需要沿逆時針方向包圍—1 點一圈。可以瞧出,系統得奈奎斯特圖并沒有逆時針繞—1 點一圈,因此系統不穩定, 需要設計控制器來鎮定系統。
七.具體控制方法(一)雙 雙 PID 控制
直線一級倒立擺雙 PID 控制實驗
1。PID 控制分析
經典控制理論得研究對象主要就是單輸入單輸出得系統,控制器設計時一般需
要有關被控對象得較精確模型。PID 控制器因其結構簡單,容易調節,且不需要
對系統建立精確得模型,在控制上應用較廣。
對于倒立擺系統輸出量為擺桿得角度,它得平衡位置為垂直向上得情
況。系統控制結構框圖如下:
2、雙 PID 實驗控制參數設定及仿真。
在 Simulinkzhong 建立直線一級倒立擺模型
上下兩個 PID 模塊。鼠標右鍵,選擇 “ Look under mask”打開模型內部結構分別為:
雙擊第二個模塊打開參數設置窗口
令 kp=1、ki=0、kd=0 得到擺桿角度仿真結果
可瞧出控制曲線不收斂。因此增大控制量。令 kp=-30、ki=0、kd=4、6、得到如下仿 真結果
從上面擺桿角度仿真結果可瞧出,穩定比較好。但穩定時間稍微有點長。
雙擊第一個模塊打開參數設置窗
經多次嘗試在此參數即 kp=—7,ki=0,kp=-4、5 情況下效果最好。
得到以下仿真結果
黃線為小車位置輸出曲線,紅線為擺桿角度輸出曲線.從圖中可以瞧出,系統可以比較好得穩定。穩定時間在2—3 秒之間。穩定性不錯.3。雙 PID 控制實驗 打開直線一級倒立擺爽 PID 實時控制模塊
雙擊doublePID控制模塊進入參數設置
把參數輸入 PID 控制器。編譯程序,使計算機同倒立擺連接。
運行程序.實驗結果如下圖所示
從圖中可以瞧出,倒立擺可以實現比較好得穩定性。
(二)線性最優二次控制 LQR
線性二次最優控制LQR 控制實驗
線性二次最優控制 LQR 基本原理及分析
線性二次最優控制LQR 基本原理為,由系統方程:
確定下列最佳控制向量得矩陣 K:
u(t)=—K*x(t)
使得性能指標達到最小值:
式中
Q——正定(或正半定)厄米特或實對稱陣
R——為正定厄米特或實對稱陣
圖 3-54
最優控制 LQR 控制原理圖
方程右端第二項就是考慮到控制能量得損耗而引進得,矩陣 Q 與R確定了誤差與能量損耗得相對重要性。并且假設控制向量 u(t)就是無約束得.對線性系統:
根據期望性能指標選取Q 與 R,利用 MATLAB 命令 lqr 就可以得到反饋矩陣 K 得值。
K=lqr(A,B,Q,R)
改變矩陣 Q 得值,可以得到不同得響應效果,Q 得值越大(在一定得范圍之內),系統抵抗干擾得能力越強,調整時間越短。但就是Q 不能過大
2、LQR 控制參數調節及仿真
前面我們已經得到了直線一級倒立擺系統得比較精確得動力學模型,下面我們針對直線型一級倒立擺系統應用 LQR 法設計與調節控制器,控制擺桿保持豎直向上平衡得同時,跟蹤小車得位置。
前面我們已經得到了直線一級倒立擺系統得系統狀態方程:
應 用 線 性 反 饋 控 制 器 , 控 制 系 統 結 構 如 下 圖。
圖 中 R
就是施加在小車上得階躍輸入,四個狀態量 x,x,φ,φ分別代表小車位移、小車速度、擺桿角度與擺桿角速度,輸出 y = [x,φ]’ 包括小車位置與擺桿角度。設計控制器使得當給系統施加一個階躍輸入時,擺桿會擺動,然后仍然回到垂直位置,小車可以到達新得指定位置.假設全狀態反饋可以實現(四個狀態量都可測),找出確定反饋控制規律得向量K
.在 Matlab
中得到最優控制器對應得K
。Lqr
函數允許您選擇兩個參數——R 與 Q,這兩個參數用來平衡輸入量與狀態量得權重。最簡單得情況就是假設
R = 1,Q =C’
*C.當然,也可以通過改變 Q 矩陣中得非零元素來調節控制器以得到期望得響應.其中, Q1,1 代表小車位置得權重,而 Q3,3 就是擺桿角度得權重,輸入得權重 R 就是 1。
下面來求矩陣 K,Matlab 語句為 K = lqr(A,B,Q,R)
。下面在MATLAB 中編程計算: 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]“; Q11=1500;Q33=300; Q=[Q11 0 0 0;
0 0 0 0;
0 0 Q33 0;
0 0 0 0]; R=1;K=lqr(A,B,Q,R);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,Bc,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),”-’);
legend(“cartpls”,“cartspd’,'pendang’,”pendspd’)令 Q1,1= 1,Q3,3 =1 求得
K
[—1
—1、7855
25、422
4、6849]
在 Simulink 中建立直線一級倒立擺得模型如下圖所示:
“LQR Controller”為一封裝好得模塊,在其上單擊鼠標右鍵,選擇“Look under
mask"打開 LQR Controller 結構如下:
雙擊“Matrix gain K”即可輸入控制參數:
點擊 執行仿真,得到如下仿真結果:
LQR 控制得階躍響應如上圖所示,從圖中可以瞧出,閉環控制系統響應得超調量很小,但穩定時間與上升時間偏大,我們可以通過增大控制量來縮短穩定時間與上升時間。
可以發現,Q
矩陣中,增加 Q11 使穩定時間與上升時間變短,并且使擺桿得角度變化減小.經過多次嘗試,這里取 Q1,1=1500, Q3,3 =300,則 K = [
-32、7298
-23、8255
81、6182 14、7098]
輸入參數,運行得到響應曲線如下:
從圖中可以瞧出,系統響應時間有明顯得改善,增大Q1,1 與Q3,3,系統得響應還會更快,但就是對于實際離散控制系統,過大得控制量會引起系統振蕩.3、直線一級倒立擺LQR 控制實驗 打開直線一級倒立擺 LQR 實時控制模塊
其中“LQR Controller”為 LQR 控制器模塊,“Real Control”為實時控制模塊,雙擊“LQR Controller”模塊打開 LQR 控制器參數設置窗口如下:
在“LQR Controller”模塊上點擊鼠標右鍵選擇“Look under mask“打開模
型如下:
雙擊“Real Control"模塊打開實時控制模塊如下圖:
其中“Pendulum”模塊為倒立擺系統輸入輸出模塊,輸入為小車得速度“Vel ”與“Acc ”,輸出為小車得位置“Pos”與擺桿得角度“Angle ”。
雙擊“Pendulum”模塊打開其內部結構:
其中“Set Cart’s Acc and Vel“模塊得作用就是設置小車運動得速度與加速度,Get Cart’s Position”模塊得作用就是讀取小車當前得實際位置,“Get Pend’s Angle“ 得作用就是讀取擺桿當前得實際角度.2)
運行程序,實驗運行結果如下圖所示:
其中圖片上半部分為小車得位置曲線,下半部分為擺桿角度得變化曲線,從圖中可以瞧出,小車位置與擺桿角度比較穩定。控制效果很好。
在此實驗中,R 值固定,R=1,則只調節 Q 值,Q11 代表小車位置得權重,而 Q33 就是擺桿角度得權重,若Q33增加,使得θ得變化幅度減小,而位移r得響應速度變慢;若Q11 增加,使得 r 得跟蹤速度變快,而θ得變化幅度增大.當給系統施加一個階躍輸入后,得到系統得響應結果。從響應曲線可明顯瞧出就是否滿足系統所要達到得性能指標要求。通過這樣反復不斷得試湊,選取能夠滿足系統動態性能要求得 Q 與 R。
(三)直線二級倒立擺 直線兩級倒立擺由直線運動模塊與兩級倒立擺組件組成.6、1
系統物理模型
為簡化系統,我們在建模時忽略了空氣阻力與各種摩擦,并認為擺桿為剛體。
二級倒立擺得組成如圖
6—1
所示:
圖 6—1 直線兩級倒立擺物理模型
倒立擺參數定義如下:
M
小車質量
m1
擺桿 1 得質量
m2
擺桿 2 得質量
m3
質量塊得質量
l1
擺桿 1 中心到轉動中心得距離
l2
擺桿 2 中心到轉動中心得距離
θ1 擺桿 1 與豎直方向得夾角 θ2 擺桿 2 與豎直方向得夾角
F
作用在系統上得外力
利用拉格朗日方程推導運動學方程:
拉格朗日方程為: L(q,q)=T(q,q)—V(q,q)
其中
L
為拉格朗日算子,q
為系統得廣義坐標,T 為系統得動能,V 為系統得勢能。
其中
i =1,2,3??n,f i
為系統在第 i 個廣義坐標上得外力,在二級倒立擺系統中,系統得廣義坐標有三個廣義坐標,分別為 x,θ1,θ2。
首先計算系統得動能:
其中 Tm,Tm1,Tm2,Tm3分別為小車得動能,擺桿 1 得動能,擺桿 2 得動能與質量塊得動能。
小車得動能:
Tm1
= Tm1” +Tm2 ’' 其中 Tm1“,Tm2 ’ 分別為擺桿 1 得平動動能與轉動動能。
Tm2
= Tm2 ” +Tm2 ’’ 其中 Tm2 “ ,Tm2 ’ 分別為擺桿 2 得平動動能與轉動動能.對于系統,設以下變量:
xpend1
擺桿 1 質心橫坐標;
yangle1 擺桿 1 質心縱坐標;
xpend2
擺桿 2 質心橫坐標;
yangle2 擺桿 2 質心縱坐標;
xmass
質量塊質心橫坐標;
ymass 質量塊質心縱坐標;
又有:
由于系統在θ1,θ2 廣義坐標下沒有外力作用,所以有:
在Mathematics中計算以上各式。
因其余各項為 0,所以這里僅列舉了 k12、k13、k17、k22、k23、k27
等 7 項,得到結果如下:
6、2
系統可控性分析
系統狀態矩陣 A,B,C,D 如下:
利用 MATLAB 計算系統狀態可控性矩陣與輸出可控性矩陣得秩:
得到結果如下:
或就是通過 MATLAB 命令 ctrb 與 obsv 直接得到系統得可控性與可觀測性。
運行得到:
可以得到,系統狀態與輸出都可控,且系統具有可觀測性.6、3
直線兩級倒立擺MATLAB
仿真
在 MATLAB Simulink 中建立直線兩級倒立擺得模型:
其中“State-Space”模塊為直線兩級倒立擺得狀態方程,雙擊模塊打開模型:
“Controller”模塊為控制器模塊,在“Controller”模塊上單擊鼠標右鍵,選擇 “ Look under mask”打開模型內部結構:
其中“Matrix Gain K”為反饋矩陣。
雙擊“Controller”模塊打開其參數設置窗口: 先設置參數為“1“。
“Disturbance”模塊為外界干擾模塊,其作用就是給系統施加一個階躍信號,點擊
“ ”運行模型進行開環系統仿真.得到運行結果如下:
從仿真結果可以瞧出,系統發散,為使系統穩定,需要對其添加控制器。
6、4 LQR 控制器設計及仿真
給系統添加 LQR 控制器,添加控制器后得系統閉環圖如下圖所示 :
下面利用線性二次最優控制 LQR 方法對系統進行控制器得設計 clear;clc;—=22k?;46、6=71k;26、12-=31k;96、68=21k?40、31;k23=39、45;k27=-0、088;a= [0 0 0 1 0 0;0 0 0 0 1 0;0 0 0 0 0 1;0
0 0 0
0 0;0
k12 k 13 0 0 0 ;0 k22 k23 0 0 0];?;”]72k 71k 1 0 0 0 [=b?c =[ 1
0 0 0 0 0 ;0 1 0 0 0 0;0 0 1 0 0 0];;]0;0;0[=d?q 1 1= 1 ; q 2 2 = 1;q3 3 =1;q? = [q11 0 0 0 0 0;0 q22 0 0 0 0;0 0 q33 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0;0 0 0 0 0 0];r=1;;k*b—a=aa?)r,q,b,a(rql=k?
b=b*k(1);;)d,c,b,aa(ss=sys?t=0:0、01:5;[y,t,x]=step(sys,t);plot(t,y(:,1),’g’,t,y(:,2),'r“,t,y(:,3));o dirg?n 運行得到以下結果:
LQR 控制參數為:
K=[ 1
73、818 —83、941
2、0162 4、2791-13、036]
得到仿真結果如下:
可以瞧出,系統穩定時間過長,因此增加權重 Q 得值。
設 Q11=300;Q22=500;Q33=500;
運行得到仿真結果:
LQR 控制參數為:
K=[ 17、321
110、87-197、57
18、468 2、7061 —32、142]
從圖中可以瞧出,系統可以很好得穩定,在給定倒立擺干擾后,系統在 2、5 秒內可以恢復到平衡點附近。
把以上仿真參數輸入 Simulink 模型中
得到運行結果
從圖中可知,系統穩定性還不錯。
但這未必就是最好得參數。所以,下面改變 LQR 參數,比較結果變化。
確定最合適參數。
1、設 Q11=1000;Q22=500;Q33=500;
運行得到仿真結果: LQR 控制參數為:
k=31、6228 116、7093 -238、1742 29、1041 1、2221
-39、3596
可瞧出位置在 2 秒左右就可恢復到平衡點位置。而角度依然就是在 2、5 秒內恢復到平衡位置.2、設 Q11=1500;Q22=500;Q33=500;
運行得到仿真結果: LQR 控制參數為:
k= 38、7298 119、2083 —257、0671 34、1612 0、5092
-4 2、7166
可瞧出位置在1、5—2、0秒內就可恢復到平衡點位置.而角度依然就是在 2、5 秒內恢復到平衡位置。
3、設Q11=1500;Q22=500;Q33=500;
運行得到仿真結果: LQR 控制參數為:
k =
44、7214
121、1834 —272、5934
38、3562
—0、0849
—45、4751
可瞧出位置依然在 1、5秒就可恢復到平衡點位置。而角度依然就是在 2、5 秒內恢復到平衡位置.4、設 Q11=1500;Q22=1000;Q33=1000;
運行得到仿真結果: LQR 控制參數為: k =
38、7298
129、4996 -281、3118
35、73890、4721
—46、5905
可瞧出位置在 1、5—2、0內就可恢復到平衡點位置。而角度就是在 2、5 秒內恢復到平衡位置.5、設 Q11=1500;Q22=100;Q33=100;
運行得到仿真結果: LQR 控制參數為:
k =
38、7298
108、6175 -232、1487
32、4616
0、5479
-38、7170
可瞧出位置在 1、5內就可恢復到平衡點位置.而角度就是在 2 秒內恢復到平衡位置.通過對比,第 5 個參數最合適。
LQR 控制參數為: k =38、7298
108、6175 -232、1487
32、4616
0、5479
-38、7170 把其輸入到Simulink 模型中。
得到運行結果。
此結果最好,系統不僅可以很好得穩定,而且在給定倒立擺干擾后,系統可在 2 秒內恢復到平衡點附近.八.個人小結。
倒立擺實驗個人小結
李航 08011041
大三上學期得第一次機械工程實驗,我們接觸與學習了減速器,維持一個學期得實驗,我們從結構,運動等方面,對機械有了更深得認識,而這個學期,我們要更進一步,從機械控制理論,來讓自己對機械得理解,有一個新得高度。
我們接觸得倒立擺就是機器人技術、控制理論、計算機控制等多個領域、多種技術得有機結合,其被控系統本身又就是一個絕對不穩定、高階次、多變量、強耦合得非線性系統,可以作為一個典型得控制對象對其進行研究。
倒立擺數學模型:
通過對倒立擺系統得物理模型與實際模型得認知,以及對該系統得階躍響應,可控性分析與頻率響應分析,我們可以知道倒立擺系統就是不穩定得,可控得,所以就有了我們得課題:具體得控制方法。
在前半個學期,我們學習了機械控制理論,了解了伯德圖與奈奎斯特圖,而在大一得高數學習中,我們初步學習了MATLAB,通過在圖書館以及網上查找資料,我們學習了SIMULINK仿真,為這次實驗打下了一定得基礎。
對于一級倒立擺線性系統,我們實驗了兩種控制方法:分別就是雙PID控制與LQR控制。
常規得PID控制,就是最早得也就是最經典得一種控制方式,由于其算法簡單、魯棒性好、可靠性高,因而至今仍廣泛應用于工業過程控制中。它有三個控制環節,分別就是比例、積分與微分,實驗中使用得控制器得傳遞函數就是
其中Kp、Ki、Kd分別為比例系數、積分系數與微分系數。各個系數功能如下: 1、比例系數Kp增大,閉環系統得靈敏度增加,穩態誤差減小,系統振蕩增強;比例系數超過某個值時,閉環系統可能變得不穩定。
2、積分系數Ki增大,可以提高系統得型別,使系統由有差變為無差;積分作用太強會導致閉環系統不穩定。
3、微分系數Kd增大,預測系統變化趨勢得作用增強,會使系統得超調量減小,響應時間變快.但就是上述得各個參數在調節過程中并不就是相互獨立得,而就是會相互影響。PID控制得快速性較差,而且只能對擺角進行控制,無法控制位移。
雙PID控制,則解決了傳統得PID控制只能控制擺角得缺陷,但就是對于雙PID控制,如何使擺角角度與小車位置達到協調,使系統響應收斂,就是個難題,而且PID控制就是單控制量,外部擾動對實驗結果得影響會比較大,所以我們學習了線性二次型控制,也就就是LQR控制。
LQR控制就是通過最小化性能指標,得到系統得控制量U=-KX,其中Q,R,分別就是狀態變量與輸入向量得加權矩陣,X就是狀態量,U就是控制量,K就是狀態矩陣.根據期望性能指標選取Q與R,利用MATLAB 命令lqr 就可以得到反饋矩陣K 得值。K=lqr(A,B,Q,R)
改變矩陣Q 得值,可以得到不同得響應效果,Q 得值越大(在一定得范圍之內),系統抵抗干擾得能力越強,調整時間越短。利用MATLAB自帶得函數,可以很快算出反饋矩陣各參數得值.通過實驗結果,我們發現LQR控制作為多變量得控制,穩定性,快速性與抗
干擾性都很好,LQR控制可得到狀態線性反饋得最優控制規律 ,易于構成閉環最優控制就是現代控制理論中發展最早也最為成熟得一種狀態空間設計法。
實驗心得: 比較這三種控制方法,經典PID控制方法得效果就是最不理想得,因為PID這類單輸入輸出得線性控制器,對于倒立擺這種非線性,很不穩定得系統,雖然能使其穩定,但就是快速性與抗干擾性都很差,相比較而言,LQR得效果就要好很多。
這次得倒立擺實驗,可以說就是我做過得最難得一個實驗了,不僅涉及面十分廣,而且涉及得知識也都很難。通過這次實驗,我們對機械控制理論有了更深一步得了解,也把書上學得知識,應用到了實際中. 在實驗過程中,我們認識了倒立擺這個經典得控制系統,也接觸了PID與LQR等多種控制方法,讓我們對機械,這個詞得概念,也更加深入得有了自己得理解。
而且作為一個分組實驗,我充分感受到了團隊力量得強大,也體會到了克服困難得艱辛,學會了用多種得途徑去解決難題。通過預習,借閱書籍,上網等多種途徑,也為將來得學習打下良好得基礎。
而且通過這個控制領域得經典基礎實驗,為將來考研以及科研都就是很有幫助得。
同時要感謝同學與老師對自己得幫助,讓自己能順利得完成這次實驗.但就是在實驗中,我個人也有一些建議。首先這個實驗得基礎就是機械控制理論基礎這門課,但就是這么課我們在實驗開始得時候壓根就沒學,所以前幾周只能靠自學或者毫無進展,但就是自學不能保證效率,所以實驗得時間安排感覺不就是很好。
倒立擺實驗小結
李宗澤
我就是這次倒立擺實驗我們小組得組長,由于分組得關系,我們組得組員平時成績都不就是特別理想,但就是從一開始,我們就有信心能把這次實驗完成。
這次實驗要求我們運用經典控制理論控制直線一級倒立擺,包括實際系統模型得建立、控制器設計、頻率響應分析、PID 控制分析等內容。運用現代控制理論中得線性最優控制LQR 方法實驗控制倒立擺.并且能熟練得運用matlab解決實際問題,了解SIMULINK仿真。
倒立擺就是一種典型得快速、多變量、非線性、絕對不穩定、非最小相位系統.就是進行控制理論研究得典型實驗平臺,倒立擺實驗就是運用古典控制理論,結合現代應用軟件MATLAB里得SIMULINK對其進行仿真,最后在實際實驗中對擺桿進行快速性,準確性與穩定性控制,達到理想得效果。因此,研究倒立擺具有重要得理論與實踐意義。
實驗得初期,也就就是前幾周,我們主要先大致預習了控制理論里得頻率響應與時域響應得內容,了解了伯德圖與奈奎斯特圖得含義。并且到圖書館里借閱了相關書籍,到網上查找有關資料,并且結合大一時得高數課,復習了matlab得基本操作。
這次實驗得主要內容就是利用三種控制方法,使倒立擺系統達到穩定,并且比較三種控制方法得優劣。
我們首先做得就是經典PID控制,經典PID控制就是最早發展起來得一種控制方法,由于其算法簡單、魯棒性好、可靠性高,因而至今仍廣泛應用于工業過
程控制中。該方法得主要思想就是:根據給定值r與系統得實際輸出值c構成控制偏差e,然后將偏差得比例(P)、積分(I)與微分(D)三項通過線性組合構成控制量,對被控對象進行控制,故稱為PID控制。
比例環節P得作用,就是對當前時刻得偏差信號進行放大或衰減后作為控制信號輸出。積分環節I可以累計從零時刻起到當前得輸入信號得全部值。微分環節D得輸出正比于輸入得當前變化率,作用就是有偏差信號得當前變化率來預見隨后得偏差將就是增大還就是減小,增減幅度如何。PID控制通過調節KP,KI,KD三個基本參數,來實現仿真,達到預期得控制效果,但就是PID控制就是一個單輸入輸出得控制,它只能搖桿得角度,而不能控制小車得位移。
雙PID控制就是利用兩個PID來同時控制倒立擺系統,雙PID得模型如下:
雙PID控制雖然能控制小車得位移,但就是我們在實際操作過程中,發現實驗結果得曲線很難達到收斂,往往都就是發散得。
LQR控制:線性二次型調節器(Linear Quadratic Regulator —LQR)
問題在現代控制理論中占有非常重要得位置,受到控制界得普遍重視,應用十分廣泛,就是現代控制理論得中最重要得成果之一。線性二次型(LQ)
性能指標易于分析、處理與計算,而且通過線性二次型最優設計方法得到得倒立擺系統控制方法,具好較好得魯棒性與動態特性以及能夠獲得線性反饋結構等優點,因而在實際得倒立擺控制系統設計中,得到了廣泛得應用。
LQR控制通過matlab得程序,根據期望性能指標選取Q與R,就可以得到反饋矩陣K得值。改變矩陣Q得值,可以得到不同得響應結果,Q得值越大,系統抵抗干擾能力越強,調整時間越短。
從實驗得結果來瞧,LQR控制在快速性與抗干擾性上,都要強于PID控制,這就是因為LQR就是多變量控制.經過了這次實驗,我有了很多收獲:
1.作為一個小組得組長,我體會到了自己身上得責任與壓力,從分配任務到實驗進行,實驗報告,對我自己都就是一個很好得鍛煉。
2.這次實驗過程中,我也學習到了很多平時接觸不到得知識,復習了matlab得應用,了解了simulink模塊得應用,而且也對現代控制理論有了理解,為將來得學習打下基礎.3.體會到了團隊力量得強大,大家得互相努力,才有了這次實驗得成功.4.最后離不開老師與同學對自己與我們這個小組得幫助,感謝老師與同學. 倒立擺實驗小結 機自82
劉凱
08011044 倒立擺就是進行控制理論研究得典型實驗平臺。由于倒立擺系統得控制策略與雜技運動員頂桿平衡表演得技巧有異曲同工之處,極富趣味性,而且許多抽象得控制理論概念如系統穩定性、可控性與系統抗干擾能力等等,都可以通過倒立擺系統實驗直觀得表現出來。倒立擺系統本身所具有得高階次、不穩定、多變量、非線性與強耦合特性。主要特點包括:1、開放性:采用四軸運動控制板卡,機械部分與電氣部分非常容易擴展,可以根據用戶需要進行配置.系統軟件接口充分開放,用戶不僅可以使用配套得實驗軟件,而且可以根據自己得實際需要擴展軟件得功能.2 模塊化:系統得機械部分可以選用直線或者旋轉平臺,根據實際需要配置成一級、二級或者三級倒立擺.而三級擺可以方便地改裝成兩級擺,兩級擺可以
改裝成一級擺。系統實驗軟件同樣就是基于模塊化得思想設計,用戶可以根據需要
增加或者修改相應得功能模塊。簡易安全:擺實驗系統包括運動控制板卡、電控箱(旋轉平臺系統中與機械本體聯在一起)、機械本體與微型計算機幾個部分組成,安裝升級方便。同時在機械、運動控制板卡與實驗軟件上都采取了積極措施,保證實驗時人員得安全可靠與儀器安全。方便性:倒立擺系統易于安裝、升級,同時軟件界面操作簡單。先進性:采用工業級四軸運動控制板卡作為核心控制系統,先進得交流伺服電機作為驅動,檢測元件使用高精度高性能光電碼盤。系統設計符合當今先進得運動控制發展方向。
6 實驗軟件多樣化:用于實驗得軟件包括經典得BorlandC++,VC++,以及控制領域使用最多得仿真工具 Matlab,提供完備得設備接口與程序接口,方便用戶進行實驗與開發.特性包括
1)
非線性
倒立擺就是一個典型得非線性復雜系統,實際中可以通過線性化得到系統得近似模型,線性化處理后再進行控制。也可以利用非線性控制理論對其進行控制。倒立擺得非線性控制正成為一個研究得熱點。
2)
不確定性
主要就是模型誤差以及機械傳動間隙,各種阻力等,實際控制中一般通過減少各種誤差來降低不確定性,如通過施加預緊力減少皮帶或齒輪得傳動誤差,利用滾珠軸承減少摩擦阻力等不確定因素。
3)
耦合性
倒立擺得各級擺桿之間,以及與運動模塊之間都有很強得耦合關系,在倒立擺得控制中一般都在平衡點附近進行解耦計算,忽略一些次要得耦合量。
4)
開環不穩定性
倒立擺得平衡狀態只有兩個,即在垂直向上得狀態與垂直向下得狀態,其中垂直向上為絕對不穩定得平衡點,垂直向下為穩定得平衡點。5)約束限制
由于機構得限制,如運動模塊行程限制,電機力矩限制等。為了制造方便與降低成本,倒立擺得結構尺寸與電機功率都盡量要求最小,行程限制對倒立擺得擺起影響尤為突出,容易出現小車得撞邊現象。
這個學期我們學習了機械控制理論基礎這門課程正好應用在本次實驗上。我們借閱了很多關于智能控制及現代理論控制方面得書籍,深入地了一級倒立擺,二級倒立擺得原理。,、在完成得過程中盡管遇到了重重困難,但就是在老師與同學得幫助下,在通過我們自己得努力,也順利將其克服。實驗結束了,我們受益匪淺,這次實驗不但鍛煉了我們得發現問題,思考問題,解決問題得能力,還使我們對機械控制系統得進一步認識,培養了我們小組成員得分工協作能力。