石惠文
(唐山工業(yè)職業(yè)技術(shù)學(xué)院機械工程學(xué)院,河北唐山 063299)
單擺是一個比較簡單的物理模型,但由于其非線性特性,常被用來作為高校師生研究非線性控制的典型案例,與之類似的系統(tǒng)還有欠驅(qū)動倒立擺和Pendubot 機器人等[1-3]。對于此類非線性系統(tǒng),常用的控制方法是將驅(qū)動直接作用在被控對象上。另外,還有一種利用角動量守恒定律進行姿態(tài)控制的方法,動量飛輪平衡控制就是其中之一。劉江昊等[4]設(shè)計了一種動量輪平衡的位姿控制器,使用PID 控制算法,能夠保證整機在受到一定程度的干擾時保持較好的魯棒性;孟劍新等[5]針對無人駕駛自行車自平衡問題提出了一種通過角動量守恒定律設(shè)計的動量輪來使無人駕駛自行車能夠長久地保持靜態(tài)平衡。
本文主要研究擺桿的平衡及起擺控制,但不直接驅(qū)動擺桿,而是使用LQR 控制器驅(qū)動裝配在擺桿末端的動量輪轉(zhuǎn)動來實現(xiàn)其姿態(tài)的調(diào)整,為驗證控制策略的有效性進行了仿真實驗。
在擺桿末端裝配一個由電機驅(qū)動的動量輪,則帶動量輪的單擺如圖1 所示,其由擺桿和動量輪2 部分組成,有2 個自由度。在固定鉸鏈處無驅(qū)動,驅(qū)動力矩只施加在單擺與動量輪的活動鉸鏈處,故這是一個欠驅(qū)動系統(tǒng),系統(tǒng)參數(shù)見表1。
表1 單擺系統(tǒng)參數(shù)
圖1 單擺系統(tǒng)示意圖
應(yīng)用拉格朗日法推導(dǎo)出帶動量輪的單擺系統(tǒng)的動力方程
根據(jù)牛頓第三定律,有
式中:u為輸入控制力矩。
將式(1)和式(2)聯(lián)立,得到關(guān)于擺桿和動量輪角速度的非線性狀態(tài)空間方程
在豎直向上的平衡點處對其線性化處理。夾角θ很小時,認為sinθ≈θ。取擺桿的角位移、角速度和動量輪的轉(zhuǎn)角、角速度4 個變量組成狀態(tài)向量x=,得到近似的線性狀態(tài)方程
擺桿的平衡控制采用線性二次型調(diào)節(jié)器(LQR),其屬于最優(yōu)控制策略中常用的一種控制方法,具有很好的魯棒性,控制思路是求解二次型優(yōu)化問題,目標函數(shù)為被控對象狀態(tài)x和控制輸入u的二次型函數(shù)
式中:因控制目標就是豎直向上平衡位置,x 也代表誤差向量;Q 為狀態(tài)向量懲罰系數(shù)矩陣;R為輸入懲罰系數(shù)。
LQR 最優(yōu)控制就是要實現(xiàn)計算出的狀態(tài)反饋矩陣K 使二次型目標函數(shù)J取最小值,而K由權(quán)矩陣Q 與R唯一決定。使用MATLAB 自帶的函數(shù)K=lqr(A,B,Q,R)可以直接求解出反饋矩陣K??刂七^程依據(jù)公式u=-Kx 實時計算控制量,構(gòu)成閉環(huán)最優(yōu)控制[6]。
研究擺桿在豎直向上平衡位置附近(±10°范圍)的平衡控制,此時系統(tǒng)可近似為線性系統(tǒng)。設(shè)定擺桿的初始角度,動量輪初始轉(zhuǎn)角為0,且整個系統(tǒng)處于靜止狀態(tài),即初始狀態(tài)向量為控制目標為將擺桿豎起來,不關(guān)心動量輪的轉(zhuǎn)角,故將動量輪轉(zhuǎn)角的懲罰系數(shù)設(shè)定足夠小,取0.001,其余狀態(tài)變量的懲罰系數(shù)均設(shè)定為1;考慮到電機提供驅(qū)動力矩的限制,驅(qū)動力矩的懲罰系數(shù)設(shè)置大一些,以減少優(yōu)化計算出的驅(qū)動力矩,即使用MATLAB 的lqr 函數(shù)計算得到反饋矩陣K =(-3.192 -0.417 5 -3.162×10-4-4.522×10-3)。
在MATLAB 中,編寫運行仿真腳本程序,得到擺桿角位移和動量輪轉(zhuǎn)角的變化情況如圖2 所示??梢钥闯觯?.53 s 擺桿就進入5%誤差帶,進入了平衡狀態(tài),最大超調(diào)量僅為6.37%。動量輪的轉(zhuǎn)角很大,因為其不是控制目標,為了實現(xiàn)擺桿的平衡,需要驅(qū)動動量輪快速轉(zhuǎn)動,故優(yōu)化計算條件中將其懲罰系數(shù)設(shè)置得極小。通過LQR 控制動量輪的轉(zhuǎn)動可以實現(xiàn)擺桿的快速平衡。
圖2 擺桿初始小轉(zhuǎn)角時擺桿角位移和動量輪轉(zhuǎn)角
ADAMS 是一種多體動力學(xué)仿真分析軟件,適用于機械設(shè)計、動態(tài)分析和運動控制等領(lǐng)域,可以方便地對機械系統(tǒng)進行靜力學(xué)、運動學(xué)、動力學(xué)及動態(tài)響應(yīng)等多種分析,實現(xiàn)多種計算機輔助工程的設(shè)計過程,從而提高產(chǎn)品的質(zhì)量和效率。ADAMS 可與MATLAB 聯(lián)合使用,實現(xiàn)虛擬樣機仿真。在ADAMS 中建立多體系統(tǒng)并輸出描述系統(tǒng)方程的有關(guān)參數(shù),再在MATLAB 中讀入ADAMS 輸出的信息并建立其控制方案,在計算過程中兩者進行數(shù)據(jù)交換,由ADAMS 的求解器求解系統(tǒng)方程,由MATLAB 求解控制方程,共同完成整個控制過程的計算[7]。
在SolidWorks 建立動量輪驅(qū)動的單擺系統(tǒng)實體裝配模型,以Parasolid 格式導(dǎo)入到ADAMS 中,添加運動副,設(shè)置摩擦阻力矩,得到單擺系統(tǒng)的虛擬樣機如圖3所示。
圖3 單擺系統(tǒng)的ADAMS 虛擬樣機
在虛擬樣機中,設(shè)置擺桿的角位移、角速度和動量輪的轉(zhuǎn)角,角速度為輸出量,將動量輪的驅(qū)動力矩設(shè)置為輸入量,將被控系統(tǒng)導(dǎo)出為MATLAB/Simulink 的功能塊,在Simulink 中聯(lián)接LQR 反饋控制器[8],搭建聯(lián)合仿真模型如圖4 所示。
圖4 聯(lián)合仿真框圖
擺桿從豎直向下的初始位置上擺至豎直向上的不穩(wěn)定平衡位置,系統(tǒng)的初始狀態(tài)向量狀態(tài)向量懲罰矩陣Q 保持不變,考慮到實際控制電機的驅(qū)動力矩的限制,優(yōu)化計算中增大輸入量的懲罰系數(shù),設(shè)定R=1.0×106,計算得到反饋向量K=(-0.437 2-0.056 74 -3.162×10-5-5.495 057×10-4)。將兩軟件的數(shù)據(jù)交換周期設(shè)置為0.005 s,運行3 s 仿真,擺桿的角位移變化如圖5 所示,動量輪的驅(qū)動力矩變化如圖6所示。
圖5 擺桿起擺過程中角位移
圖6 擺桿起擺過程中動量輪的驅(qū)動力矩
分析仿真結(jié)果,經(jīng)過1.06 s 的調(diào)節(jié)時間,擺桿進入平衡狀態(tài),最大超調(diào)量為23.02%。超調(diào)量和調(diào)整時間都比平衡控制時略長,原因有二:一是初始偏差較大,控制難度相對于±10°內(nèi)的控制大幅度增加;二是虛擬樣機聯(lián)合仿真的模型是非線性的,而使用的LQR 控制器仍然是線性的,這也說明LQR 對非線性模型也能夠起到較好控制效果。仿真實驗表明,使用LQR 控制策略可以通過控制動量輪的轉(zhuǎn)動實現(xiàn)擺桿的起擺以及平衡控制,使用動量輪進行姿態(tài)控制方法也為其他非線性系統(tǒng)的控制提供了一個新的控制途徑。
本文以單擺系統(tǒng)為研究對象,在擺桿末端裝配一個動量輪,利用角動量守恒通過控制動量輪的轉(zhuǎn)動間接實現(xiàn)擺桿的平衡及起擺控制。采用MATLAB 軟件編寫LQR 控制程序,仿真控制實驗結(jié)果表明:LQR 控制器控制動量輪轉(zhuǎn)動能夠使系統(tǒng)穩(wěn)定在豎直向上的平衡位置。采用MATLAB/Simulink 和ADAMS 聯(lián)合虛擬樣機仿真,LQR 控制器也能使擺桿完成起擺,進一步驗證了有效性。2 個仿真實驗綜合說明增加動量輪并使用LQR 驅(qū)動動量輪轉(zhuǎn)動可以較好地完成單擺系統(tǒng)的控制,這為其他非線性系統(tǒng)的姿態(tài)控制提供了一種新途徑。