張慧慧,侯伯杰,高建設,郭 明
(鄭州大學機械與動力工程學院,河南 鄭州 450001)
隨著計算機的快速發展,最優控制在工程上的推廣與應用越來越廣泛,并且仍是活躍的研究領域[1]。其中最優控制策略中LQR(Linear Quadratic Regulator)即線性二次型調節器是應用較為廣泛的最優控制方法。其根據研究對象的線性狀態空間方程,求解最優反饋控制率,使選定的二次型性能指標達到極值。LQR控制性能與所選的二次型性能指標中的加權矩陣Q、R的選擇密切相關,但是它們之間尚未形成明確的對應關系[2]。倒立擺系統是一種多變量、非線性、不穩定的耦合欠驅動機械系統[3],被廣泛地應用于控制理論的教學、實驗和驗證控制算法的有效性[4]。倒立擺的穩擺控制方法在軍工、航天、機器人領域和工業工程上具有很廣泛的用途[5],如人型機器人行走過程中的平衡控制、火箭發射中的垂直度控制和衛星的姿態控制等這些類似于倒立擺的重心在上,支點在下的倒置控制問題[6-7]。因此,研究LQR控制器對倒立擺的穩擺控制不僅有深遠的理論研究意義,而且在工程應用上有一定的指導意義。
目前,國內外有許多有關倒立擺的LQR控制器研究的文章,但其中很多文章只局限于理論分析和仿真驗證,而缺少在實物倒立擺系統上進行的實驗驗證。如文獻[8]研究環形倒立擺的LQR控制器,利用改進遺傳算法對LQR的Q和R進行優化選擇,其最后只通過仿真證明采用改進遺傳算法的LQR控制器可有效的提高了環形倒立擺系統的穩定性;文獻[9]研究二級直線倒立擺系統的LQR 控制器,通過采用Simulink仿真驗證LQR 控制器能夠實現對二級直線倒立擺的控制;文獻[10]研究了直線倒立擺的LQR控制器,采用試湊法確定Q和R,但是最后只通過仿真證明其設計的LQR控制器的有效性。
這里研究了直線倒立擺的LQR 控制器設計過程,并設計了倒立擺穩擺控制的LQR控制器設計;為了驗證設計的LQR控制器,創新設計了一種以計算機+開放式運動控制器+交流伺服電機為控制核心的倒立擺系統平臺,用于驗證LQR對直線倒立擺系統穩擺控制。此實驗平臺具有編程簡單、開放性高,為研究直線倒立擺的穩擺控制以及驗證倒立擺的控制算法提供一種新的研究思路,為后續的研究打下了基礎。
為使建立的倒立擺模型與實際系統更加符合,不忽略小車滑塊與導軌間的滑動摩擦和擺桿旋轉時的轉動副摩擦阻力矩。對倒立擺系統的模型做一定的假設如下:小車為質點,其受到的摩擦力與小車的速度成正比;擺桿為質量均勻的剛體,其轉動的阻力矩與角速度成正比;忽略空氣阻力。一級直線倒立擺系統簡化模型與受力分析,如圖1所示。

圖1 倒立擺系統簡化模型與受力分析Fig.1 Simplified Model and Force Analysis of Inverted Pendulum System
倒立擺系統簡化模型圖,如圖1(a)所示。倒立擺系統受力分析圖,如圖1(b)所示。在圖1中,F—施加在小車上的驅動力;x—小車的位移;M—小車的質量;m—擺桿質量;b—小車移動的摩擦系數;I—擺桿繞其質心的轉動慣量();η—擺桿轉動阻力矩系數;θ—擺桿與豎直向下方向的夾角;?—擺桿與豎直向上方向的夾角(逆時針為正)。依據牛頓力學與運動定理,推導直線倒立擺系統的動力學方程的過程如下:
分析小車在水平方向上受力平衡,可得:
分析擺桿在水平方向上受力平衡,可得:
式(1)、式(2)中的N—滑塊與擺桿水平方向間的相互作用力,聯立式(1)、式(2)兩個方程消除N,得到一級直線倒立擺的第一個非線動力學模型方程:
分析擺桿在豎直方向上受力平衡,可得:
分析擺桿繞其質心的力矩平衡,可得:
式(2)、式(4)、式(5)方程中的N、P—滑塊與擺桿間水平、豎直方向間的相互作用力,聯立式(2)、式(4)、式(5)三個方程消除P、N,得到一級直線倒立擺第二個非線動力學模型方程:
倒立擺穩擺控制是在-0.3rad <0.3rad,此時擺角?很小,則有:cosθ=cos(?+π) ≈-1,sinθ=sin(?+π) ≈-?,=≈0。
因此,可對倒立擺系統非線性動力學方程式(3)與式(6)進行線性化處理,得到一級直線倒立擺系統線性化動力學方程:
記狀態向量X=[]T與u=F,根據方程組(7)可得到一級直線倒立擺系統的狀態空間方程如下:
對自主設計的倒立擺機械結構進測量,得到系統的物理參數及物理意義,如表1所示。

表1 倒立擺系統物理參數表Tab.1 Physical Parameters of Inverted Pendulum System
把表1中倒立擺系統物理參數代入式(9)、式(10),得到倒立擺系統矩陣A,輸入矩陣B如下:
對倒立擺系統的穩定性分析:開環系統的特征方程為:
根據式(15)計算倒立擺開環系統的特征值為:
由式(16)可知倒立擺開環系統,S平面的右側有兩個開環極點,因此系統不穩定。
計算得rand(To)=4,所以系統完全可控。
計算得rand(Co)=4,所以系統完全可觀。
LQR控制器的基本原理是:對于可控的線性定常系統,其狀態空間方程的形式為:
式中:A—系統矩陣;B—輸入矩陣;C—輸出矩陣;X—狀態向量;u—控制率;y—輸出向量。設控制率u不受約束尋找最優,使式(20)性能指標最小。
式中:Q—半正定對稱常數的狀態向量加權矩陣;R—正定對稱常數的控制率加權矩陣。
通過求解黎卡提代數方程:
可以得到P與最優狀態反饋增益矩陣K的值,使性能指標J最小的控制率u,控制率u為:
因此,LQR控制的控制性能與性能指標中的加權矩陣Q、R的選擇密切相關,合理的加權陣可使系統響應快速、平穩,反之無法滿足設計要求。
對于LQR 控制器的設計,在選取加權矩陣Q、R后,在MATLAB中調用lqr函數,即可得到系統的狀態反饋增益矩陣K=lq(rA,B,Q,R),完成LQR控制器設計。而加權矩陣Q、R的選擇與控制性能之間尚未形成明確的對應關系,下面采用仿真試湊確定Q、R,設計倒立擺系統的LQR控制器。
倒立擺系統控制器設計要求:對于給定的擺桿初始擺角?=0.3rad 和初始擺速與小車初始位移x=0m 和初始速度,設計一個使擺桿保持在倒立垂直狀態控制率u,同時要求在控制過程結束后,小車返回到期望位置x=0m。指標要求為:系統恢復穩定的調整時間不超過2.5s;小車調整的位移幅度小于0.25m;擺桿擺角與小車位移調整的峰值時間小于0.5s。
由建立的一級直線倒立擺系統狀態空間方程和對系統分析可知:其開環系統是不穩定的、可控的與可觀的;其系統有四個狀態量分別是小車位移、小車速度、擺桿擺角和擺桿角速度,狀態向量X=[]T,系統為單輸入單控制率。
因此,一級直線倒立擺系統的LQR控制器性能指標中,加權矩陣Q=diag {q11q22q33q44},R—單元素矩陣。
對加權矩陣Q和R的選擇,最簡單的情況是R=1 和Q=CTC=diag{1 0 1 0},此選擇認定控制率u與狀態量小車位移和擺桿擺角在LQR的性能指標中同等重要。按R和Q最簡單情況的選擇,在MATLAB里調用lqr函數,計算得到狀態反饋增益矩陣K=[-1-1.5273 15.7149 2.3523]。在Matlab 中仿真,初始條件為X(0)=[0 0 0.3 0]T的系統仿真響應曲線,如圖2所示。

圖2 系統仿真響應曲線Fig.2 System Simulation Response Curve
從圖2可以看出:擺桿與小車經過約7s的調節系統恢復穩定狀態,小車的超調位移-0.45m,超調峰值時間1s,擺桿超調峰值時間大于0.5s。可見選擇的這組加權矩陣Q和R設計的LQR控制器不滿足要求。
經過試湊仿真,當加權矩陣Q=diag{400 10 20 10}和R=1,狀態反饋增益K=[-20-13.8971 49.9676 8.3332]。在matlab中仿真,初始條件為X(0)=[0 0 0.3 0]T的系統仿真響應曲線,如圖3所示。

圖3 Q、R試湊后的系統仿真響應曲線Fig.3 System Simulation Response Curve After Q and R Trial
從圖3可以看出:擺桿與小車經過約2s的調節系統恢復穩定狀態,小車的超調位移-0.2m,超調峰值時間小于0.5s,擺桿超調峰值時間小于0.5s,滿足設計要求完成控制器設計。
直線倒立擺系統是由可以沿直線導軌運動的小車與一端通過轉動副固定到小車上的均勻細桿組成的系統,采用SolidWorks設計的倒立擺系統其結構示意圖,如圖4所示。搭建完成的倒立擺系統實物,如圖5所示。擺桿采用304不銹鋼;滑塊為輕質鋁材內有直線軸承;以交流伺服電機作為驅動,同步帶作為傳動結構,帶動滑塊在光軸上直線運動;絕對值編碼器作為轉動副連接小車與擺桿以及用來采集擺桿的擺角;底座采用鋁型材搭建,并且在平臺導軌兩端分別安裝了限位開關,防止小車滑塊移動過量損壞平臺。

圖4 倒立擺系統結構示意圖Fig.4 Schematic Diagram of the Structure of the Inverted Pendulum System

圖5 倒立擺系統實物圖Fig.5 Physical Picture of the Inverted Pendulum System
倒立擺控制系統采用以計算機+開放式運動控制器+交流伺服電機為控制核心,倒立擺控制系統結構,如圖6所示。開放式運動控制器采用正運動公司生產的開放式運動控制器ZMC432,支持EtherCAT總線通訊,ECAT最快1ms的刷新周期。執行機構采用臺達公司生產的100w 交流伺服電機。擺角傳感器采用15位分辨率、RS485接口標準ModbusRTU 輸出協議的絕對值數字編碼器,可避免擺角信號的零點漂移、噪聲干擾等缺點。忽略同步帶的形變,通過交流伺服電機內置的光電編碼器,可實時獲取小車位移與速度。

圖6 倒立擺控制系統結構Fig.6 Inverted Pendulum Control System Structure
在開放式運動控制器ZMC432里編寫倒立擺系統穩擺控制的LQR最優控制策略算法,控制系統程序流程,如圖7所示。倒立擺控制系統程序采用雙線程,主線程用于運動控制器與計算機信息交換,輔線程里編寫倒立擺LQR控制器算法程序。主線程的程序流程:首先對全局變量、通信協議初始化,再對伺服電機驅動器初始化,之后進入主循環。主循環里循環掃描電機報警異常,循環向計算機端發送擺角與位移等信息數據,循環接收計算機人發送回的LQR反饋增益矩陣參數與輔線程啟停指令。

圖7 倒立擺控制系統程序流程Fig.7 Inverted Pendulum Control System Program Flow
主線程里收到輔線程啟停指令,控制輔線程的啟停,實現倒立擺LQR控制器程序的啟停控制。
為基于C#編程開發計算機端實時人機交互軟件,如圖8 所示。計算機與運動控制器之間通過EtherNET連接進行數據交換通信。

圖8 計算機人機交互界面Fig.8 Computer Man-Machine Interface
在計算機端實現對倒立擺系統的擺角、位置等關鍵數據的實時顯示以及記錄。通過鍵盤可以方便得調整LQR控制器反饋增益矩陣參數,設置小車的期望位移,及修正擺桿豎直倒立時編碼器的零值等功能。
采用LQR 調節器,根據設計結果設置一級直線倒立擺控制系統參數。倒立擺系統的跟蹤仿真響應曲線,如圖9所示。倒立擺系統的實測試響應曲線,如圖10所示。

圖9 倒立擺系統的仿真跟蹤響應曲線Fig.9 Simulation Tracking Response Curve of Inverted Pendulum System

圖10 倒立擺系統的實測跟蹤響應曲線Fig.10 Measured Tracking Response Curve of Inverted Pendulum System
從圖9可以看出:在t=0s時刻,施加一個位移上的階躍信號,即是把小車的期望位移由0調整為0.1m,在控制器的調節下,經過大約1.5s 小車運動到期望位移0.1m 處,擺桿保持在倒立平穩狀態。
從圖10可以看出:在t=1.5s前,系統在控制器的作用下,擺桿可以保持在倒立平穩狀態,小車保持在x=0處,在t=1.5s時,施加一個位移上的階躍信號時,即把小車的期望位由0調整為0.1m,在控制器的調節下,經過大約1.5s小車運動到期望位移0.1m處,擺桿保持在倒立平穩狀態。
對比圖9、圖10可以看出:設計的LQR控制器對直線倒立擺穩擺控制是有效的和可行的。
但實際控制與仿真也有一定的不同,實測響應曲線顯示擺桿與小車很難在平衡點不動,而是在平衡點附近振動,小車位移的振動幅度小于±0.01m,擺桿擺角的振動幅度小于±0.05rad。
造成這種不同的原因是由于同步帶的伸縮、震動、采樣延時以及控制率的輸出延伸,致使擺桿與小車很難在平衡點不動而是在平衡點附近振動。
由上述實驗結果可知這里所設計的LQR控制器對一級直線倒立擺穩擺控制是有效的和可行的。
采用仿真試湊法選擇的加權矩陣Q、R是合理的,LQR設計過程是正確的。
設計的以計算機+開放式運動控制器+交流伺服電機為核心的直線倒立擺系統平臺,具有操作簡單、開放性高的優點,可以用來研究直線倒立擺的穩擺控制以及驗證倒立擺的控制算法。
設計的倒立擺測試平臺對小車位移x與擺桿擺角?測量采用的是數字編碼器,它在數據傳輸、處理過程中全部采用了數字處理,避免了采樣的零點漂移、噪聲等干擾。
但是由于同步帶的伸縮、震動與采樣延時,使擺桿與小車很難在平衡點不動而是在平衡點附近振動,造成仿真與實測實驗有一定的不同。