劉二林,姜香菊
LIU Er-lin1, JIANG Xiang-ju2
(1.蘭州交通大學 機電工程學院,蘭州 730070;2.蘭州交通大學 自動化與電氣工程學院,蘭州 730070)
倒立擺系統(tǒng)與兩輪自平衡機器人一樣,均與火箭飛行,兩足機器人行走有很大的相似性。對倒立擺系統(tǒng)進行理論研究有理論和實踐意義。人們可以通過對倒立擺系統(tǒng)的控制來檢驗所使用的控制方法對不穩(wěn)定系統(tǒng)的控制能力。倒立擺的種類很多,有直線倒立擺、旋轉(zhuǎn)倒立擺、平面倒立擺等。旋轉(zhuǎn)倒立擺是三種形式的倒立擺中結(jié)構(gòu)較簡單的一種,但是其受力分析較其他兩種復雜,具有不穩(wěn)定性及非線性,對控制算法有更高的要求。旋轉(zhuǎn)倒立擺的運動控制是指旋轉(zhuǎn)倒立擺在倒立狀態(tài)下,能按照要求穩(wěn)定的向某一方向勻速旋轉(zhuǎn),這種運行模式類似于兩足機器人的行走過程,可以將這種控制研究作為對兩足機器人運行的模擬研究[1,2]。
PID控制器是自動控制領域出現(xiàn)最早的控制方法,其應用非常廣泛,有著較強的實用性及通用型,在文獻[3]、[4]中,作者都采用了PID對倒立擺狀態(tài)進行控制。文獻[5]中,作者則針對直線倒立擺,用PD、PI和PID實現(xiàn)了對倒立擺的平衡控制,并對控制效果進行了對比。線性二次型最優(yōu)控制器LQR (linear quadratic regulator)又稱為線性二次型調(diào)節(jié)器。LQR的控制對象為線性系統(tǒng),常用于求解動態(tài)系統(tǒng)的最優(yōu)問題。在文獻[6]至文獻[9]中,均采用LQR來實現(xiàn)對倒立擺或者兩輪直立車的平衡控制。文獻[10]中則是利用LQR實現(xiàn)對兩輪平衡車的狀態(tài)保持控制,然后用另一種控制模式對平衡車進行運動控制。
本文中首先設計了一個一級旋轉(zhuǎn)倒立擺,然后根據(jù)實際情況建立了倒立擺的數(shù)學模型,并在平衡點附近給出系統(tǒng)的線性化狀態(tài)方程。分別使用雙PID控制算法和LQR狀態(tài)跟隨控制算法來實現(xiàn)其運動控制。并通過仿真及實測來檢驗其優(yōu)劣。
旋轉(zhuǎn)倒立擺主要由倒立擺支撐機架、電機、減速裝置、擺桿、旋臂、1024線位置式編碼器、BT7960構(gòu)成的H橋電路及微控制器芯片組成。倒立實物圖如圖1所示。
圖1 倒立擺結(jié)構(gòu)
在圖1中,旋轉(zhuǎn)倒立擺的旋臂與減速器的輸出軸聯(lián)接,減速器由直流電機驅(qū)動,編碼器1的齒輪與直流電機主軸齒輪嚙合。通過獲取編碼器1的角度和角速度可以計算出旋臂的角度和角速度。編碼器2安裝在旋臂末端,且編碼器2的旋轉(zhuǎn)軸與旋臂的主軸平行;擺桿安裝在編碼器2的旋轉(zhuǎn)軸上,擺桿軸線與編碼器旋轉(zhuǎn)軸垂直。系統(tǒng)中,旋臂只能以減速器動力輸出軸為圓心做水平旋轉(zhuǎn),擺桿只能以編碼器2旋轉(zhuǎn)軸為圓心在旋臂末端旋轉(zhuǎn)軌跡的切面上做豎直旋轉(zhuǎn)[11,12]。
對倒立擺進行受力分析,建立廣義坐標系。系統(tǒng)的簡化模型如圖2所示。利用拉格朗日方程建立系統(tǒng)的運動學微分方程[1,2,4]。
由圖2可知,系統(tǒng)中擺桿與旋臂各有一個自由度,所以,可以取α和θ為廣義坐標。則倒立擺系統(tǒng)的動能由四部分組成。
其中,T1為旋臂的轉(zhuǎn)動動能,T2為擺桿的轉(zhuǎn)動動能,T3為擺桿沿X軸方向運動的動能,T4為擺桿沿Y軸方向運動的動能,
因為α→0,所以sinα→0,cosα→1,將式1各項進行計算合并,并且對其進行線性化處理可得:
圖2 系統(tǒng)簡化模型
由式(3)可得:
式(5)中,Tout為電機輸出扭矩,由式(4)可得:
將式(4)、式(5)聯(lián)立組成方程組,得到倒立擺系統(tǒng)線性化狀態(tài)方程
以上各式中參數(shù)的物理意義、數(shù)值及單位如表1所示。
因為采用了絕對式編碼器來進行角度檢測,所以在獲取角度和角速度時系統(tǒng)不存在滯后和噪音。建立系統(tǒng)的傳遞函數(shù),利用李雅譜諾夫穩(wěn)定性理論進行分析可知,系統(tǒng)可控。用雙PID控制器可以使系統(tǒng)穩(wěn)定運動。控制器中有兩路PID,PID1控制倒立擺擺桿的狀態(tài)(這時取KI=0);PID2控制旋臂的運動(PID的極性為負);控制器的兩個輸入量分別是倒立擺擺桿旋臂角速度θ˙,倒立擺擺桿角度α。同時,要使系統(tǒng)穩(wěn)定,則要保證PID2的KP不能太大,PID2的輸出要小于PID1的輸出。旋轉(zhuǎn)倒立擺雙PID運動控制仿真圖如圖3所示。
表1 狀態(tài)方程中各參數(shù)列表
圖3 雙PID運動控制Simulink仿真程序
在M文件中,取KP1=100,KD1=20,KI1=0;KP2=2.0,KD2=0.08,KI2=0.0185。仿真結(jié)果如圖4所示。在圖4中可以看出,倒立擺擺桿在3s以內(nèi)完成直立,旋臂速度在4s以內(nèi)達到設定值,旋臂按照設定要求在倒立擺倒立的情況下向設定方向穩(wěn)定運動。
在仿真過程中,KP1決定了系統(tǒng)的響應速度,KP1越大,倒立擺響應速度越快;KD1決定了系統(tǒng)是否震蕩(相當于倒立擺的阻尼系數(shù)),如果KD1變小,則系統(tǒng)會產(chǎn)生震蕩。KP2決定了旋臂速度的響應時間,但如果KP2取值太大,則倒立擺系統(tǒng)不穩(wěn)定;KD2可以改善系統(tǒng)的超調(diào),但是KD2太大也會使系統(tǒng)的抗干擾能力變差,甚至發(fā)散;KI2的作用是減小靜差,但是KI2太大會使系統(tǒng)震蕩。雙PID旋轉(zhuǎn)倒立擺運動控制調(diào)節(jié)參數(shù)較為麻煩。
圖4 雙PID控制仿真結(jié)果
根據(jù)現(xiàn)代控制理論,設狀態(tài)反饋控制律的形式為:u=-K×xu。在本模型中,由于x是四維狀態(tài)變量;所以,K=[k1,k2,k3,k4] ,K的取值要滿足使線性二次型最優(yōu)性能指標J最小。
其中u不受限制,Q是半正定常數(shù)矩陣,R為正定常數(shù)矩陣。求得狀態(tài)反饋矩陣K=-R-1BTP,P為滿足代數(shù)Riccati方程的唯一正定對稱解。
代數(shù)方程為:
Q和R確定后,利用MATLAB便可以求得狀態(tài)反饋矩陣K,調(diào)整對角矩陣Q中的參數(shù),也即各輸入量的權(quán)重,便可以在仿真時得到期望的效果。該LQR最優(yōu)控制可以使系統(tǒng)從任意初始狀態(tài)返回到平衡狀態(tài)(0狀態(tài))[6~10]。
其中A、B、C同前面倒立擺數(shù)學模型中的A,B,C。對增廣系統(tǒng)的可控性進行分析,系統(tǒng)能控。設計基于LQR的狀態(tài)跟隨控制器如圖5所示。
圖5 LQR狀態(tài)跟隨Simulink仿真程序
圖6 LQR控制仿真結(jié)果
設定不同的參數(shù),控制效果對比結(jié)果如表2所示。
表2 兩種控制方式效果對比
通過對比仿真結(jié)果可以看出,LQR狀態(tài)跟隨器控制效果明顯優(yōu)于雙PID控制器??刂平Y(jié)果可以明顯看出,LQR狀態(tài)跟隨控制器的超調(diào)小,響應速度快;同時,LQR參數(shù)調(diào)整方便。在仿真實驗中還驗證了LQR狀態(tài)跟隨控制器魯棒性好。而雙PID控制的優(yōu)點在實現(xiàn)方便,不過分依賴于所建立的數(shù)學模型。
最后,將MATLAB計算出的K值及其相關(guān)算法移植到微控制器中對實物進行了控制,經(jīng)過對參數(shù)進行進一步的調(diào)整,實際運行效果驗證了仿真結(jié)果的正確性。
設計的創(chuàng)新點在于研究了單級旋轉(zhuǎn)倒立擺的運動控制問題。在利用拉格朗日方程建立倒立擺系統(tǒng)的線性化狀態(tài)方程后,利用雙PID控制器和LQR狀態(tài)跟隨控制器對模型進行了控制。單級旋轉(zhuǎn)倒立擺與兩輪直立機器人的運動有極大相似性,論文通過LQR狀態(tài)跟隨控制器對旋轉(zhuǎn)倒立擺進行了運動控制,控制仿真結(jié)果及實測結(jié)果證明:LQR狀態(tài)跟隨控制器不經(jīng)過解耦也可以很好控制不穩(wěn)定體的運動,并且響應速度快,超調(diào)小,系統(tǒng)魯棒性好。
[1] 吳愛國,張小明,張釗.基于Lagrange方程建模的單級旋轉(zhuǎn)倒立擺控制[J].中國工程科學,2005,7(10):11-15.
[2] S.Awtar,N.King,T.Allen,I.Bang,M.Hanan,D.Skidmore,K.Craig. Inverted pendulum systems: rotary and arm-driven-a mechatronic system design case study[J].Mechatronics,2002,(12):357-370.
[3] 曹敏,徐凌樺.單神經(jīng)元PID算法在倒立擺控制系統(tǒng)中的應用[J].微計算機信息,2009,25(1-1):70-71.
[4] 江晨,王富東.旋轉(zhuǎn)式倒立擺系統(tǒng)的算法研究及仿真[J].工業(yè)控制計算機,2010,23(5):54-56.
[5] 楊世勇,徐莉蘋,王培進.單級倒立擺的PID控制研究[J].控制工程,2007,14(增刊):23-24,53.
[6] 邢景虎,陳其工,江明.基于LQR的直線一級倒立擺最優(yōu)控制系統(tǒng)研究[J].工業(yè)儀表與自動化裝置,2007(6):3-5.
[7] 張金學,掌明.兩輪自平衡機器人的LQR實時平衡控制[J].自動化與儀表,2013(5):5-9.
[8] 諶海云,杜振華,鄒寧波,石明江.多種群遺傳算法的倒立擺LQR控制器設計[J].控制工程,2014,21(3):391-394.
[9] 于海洋.基于LQR理論的直線單級倒立擺PID控制仿真研究[J].佳木斯大學學報(自然科學版),2010,28(6):821-823.
[10] 阮曉鋼,趙建偉.基于PWM伺服控制及LQR的兩輪自平衡移動機器人[J].控制工程,2009,16(3):363-366.
[11] 張朝陽,魏曉赟,王少峰.基于52單片機的旋轉(zhuǎn)倒立擺的研究和與設計[J].廊坊師范學院學報(自然科學版),2014,14(4):49-52.
[12] Du Gaixin,Huang Nanchen, Wu Gang. The rotational invertedpendulum based on DSP controller[A].Proc of the 4th World Congress on Intelligent Control and Automation[C].China Shanghai,2002,7(4):3101-3105.