石惠文
(唐山工業職業技術學院機械工程學院,河北唐山 063299)
單擺是一個比較簡單的物理模型,但由于其非線性特性,常被用來作為高校師生研究非線性控制的典型案例,與之類似的系統還有欠驅動倒立擺和Pendubot 機器人等[1-3]。對于此類非線性系統,常用的控制方法是將驅動直接作用在被控對象上。另外,還有一種利用角動量守恒定律進行姿態控制的方法,動量飛輪平衡控制就是其中之一。劉江昊等[4]設計了一種動量輪平衡的位姿控制器,使用PID 控制算法,能夠保證整機在受到一定程度的干擾時保持較好的魯棒性;孟劍新等[5]針對無人駕駛自行車自平衡問題提出了一種通過角動量守恒定律設計的動量輪來使無人駕駛自行車能夠長久地保持靜態平衡。
本文主要研究擺桿的平衡及起擺控制,但不直接驅動擺桿,而是使用LQR 控制器驅動裝配在擺桿末端的動量輪轉動來實現其姿態的調整,為驗證控制策略的有效性進行了仿真實驗。
在擺桿末端裝配一個由電機驅動的動量輪,則帶動量輪的單擺如圖1 所示,其由擺桿和動量輪2 部分組成,有2 個自由度。在固定鉸鏈處無驅動,驅動力矩只施加在單擺與動量輪的活動鉸鏈處,故這是一個欠驅動系統,系統參數見表1。

表1 單擺系統參數

圖1 單擺系統示意圖
應用拉格朗日法推導出帶動量輪的單擺系統的動力方程
根據牛頓第三定律,有
式中:u為輸入控制力矩。
將式(1)和式(2)聯立,得到關于擺桿和動量輪角速度的非線性狀態空間方程
在豎直向上的平衡點處對其線性化處理。夾角θ很小時,認為sinθ≈θ。取擺桿的角位移、角速度和動量輪的轉角、角速度4 個變量組成狀態向量x=,得到近似的線性狀態方程
擺桿的平衡控制采用線性二次型調節器(LQR),其屬于最優控制策略中常用的一種控制方法,具有很好的魯棒性,控制思路是求解二次型優化問題,目標函數為被控對象狀態x和控制輸入u的二次型函數
式中:因控制目標就是豎直向上平衡位置,x 也代表誤差向量;Q 為狀態向量懲罰系數矩陣;R為輸入懲罰系數。
LQR 最優控制就是要實現計算出的狀態反饋矩陣K 使二次型目標函數J取最小值,而K由權矩陣Q 與R唯一決定。使用MATLAB 自帶的函數K=lqr(A,B,Q,R)可以直接求解出反饋矩陣K。控制過程依據公式u=-Kx 實時計算控制量,構成閉環最優控制[6]。
研究擺桿在豎直向上平衡位置附近(±10°范圍)的平衡控制,此時系統可近似為線性系統。設定擺桿的初始角度,動量輪初始轉角為0,且整個系統處于靜止狀態,即初始狀態向量為控制目標為將擺桿豎起來,不關心動量輪的轉角,故將動量輪轉角的懲罰系數設定足夠小,取0.001,其余狀態變量的懲罰系數均設定為1;考慮到電機提供驅動力矩的限制,驅動力矩的懲罰系數設置大一些,以減少優化計算出的驅動力矩,即使用MATLAB 的lqr 函數計算得到反饋矩陣K =(-3.192 -0.417 5 -3.162×10-4-4.522×10-3)。
在MATLAB 中,編寫運行仿真腳本程序,得到擺桿角位移和動量輪轉角的變化情況如圖2 所示。可以看出,0.53 s 擺桿就進入5%誤差帶,進入了平衡狀態,最大超調量僅為6.37%。動量輪的轉角很大,因為其不是控制目標,為了實現擺桿的平衡,需要驅動動量輪快速轉動,故優化計算條件中將其懲罰系數設置得極小。通過LQR 控制動量輪的轉動可以實現擺桿的快速平衡。

圖2 擺桿初始小轉角時擺桿角位移和動量輪轉角
ADAMS 是一種多體動力學仿真分析軟件,適用于機械設計、動態分析和運動控制等領域,可以方便地對機械系統進行靜力學、運動學、動力學及動態響應等多種分析,實現多種計算機輔助工程的設計過程,從而提高產品的質量和效率。ADAMS 可與MATLAB 聯合使用,實現虛擬樣機仿真。在ADAMS 中建立多體系統并輸出描述系統方程的有關參數,再在MATLAB 中讀入ADAMS 輸出的信息并建立其控制方案,在計算過程中兩者進行數據交換,由ADAMS 的求解器求解系統方程,由MATLAB 求解控制方程,共同完成整個控制過程的計算[7]。
在SolidWorks 建立動量輪驅動的單擺系統實體裝配模型,以Parasolid 格式導入到ADAMS 中,添加運動副,設置摩擦阻力矩,得到單擺系統的虛擬樣機如圖3所示。

圖3 單擺系統的ADAMS 虛擬樣機
在虛擬樣機中,設置擺桿的角位移、角速度和動量輪的轉角,角速度為輸出量,將動量輪的驅動力矩設置為輸入量,將被控系統導出為MATLAB/Simulink 的功能塊,在Simulink 中聯接LQR 反饋控制器[8],搭建聯合仿真模型如圖4 所示。

圖4 聯合仿真框圖
擺桿從豎直向下的初始位置上擺至豎直向上的不穩定平衡位置,系統的初始狀態向量狀態向量懲罰矩陣Q 保持不變,考慮到實際控制電機的驅動力矩的限制,優化計算中增大輸入量的懲罰系數,設定R=1.0×106,計算得到反饋向量K=(-0.437 2-0.056 74 -3.162×10-5-5.495 057×10-4)。將兩軟件的數據交換周期設置為0.005 s,運行3 s 仿真,擺桿的角位移變化如圖5 所示,動量輪的驅動力矩變化如圖6所示。

圖5 擺桿起擺過程中角位移

圖6 擺桿起擺過程中動量輪的驅動力矩
分析仿真結果,經過1.06 s 的調節時間,擺桿進入平衡狀態,最大超調量為23.02%。超調量和調整時間都比平衡控制時略長,原因有二:一是初始偏差較大,控制難度相對于±10°內的控制大幅度增加;二是虛擬樣機聯合仿真的模型是非線性的,而使用的LQR 控制器仍然是線性的,這也說明LQR 對非線性模型也能夠起到較好控制效果。仿真實驗表明,使用LQR 控制策略可以通過控制動量輪的轉動實現擺桿的起擺以及平衡控制,使用動量輪進行姿態控制方法也為其他非線性系統的控制提供了一個新的控制途徑。
本文以單擺系統為研究對象,在擺桿末端裝配一個動量輪,利用角動量守恒通過控制動量輪的轉動間接實現擺桿的平衡及起擺控制。采用MATLAB 軟件編寫LQR 控制程序,仿真控制實驗結果表明:LQR 控制器控制動量輪轉動能夠使系統穩定在豎直向上的平衡位置。采用MATLAB/Simulink 和ADAMS 聯合虛擬樣機仿真,LQR 控制器也能使擺桿完成起擺,進一步驗證了有效性。2 個仿真實驗綜合說明增加動量輪并使用LQR 驅動動量輪轉動可以較好地完成單擺系統的控制,這為其他非線性系統的姿態控制提供了一種新途徑。