岳玉環(huán),趙永華,郜峰
(嘉興職業(yè)技術(shù)學院,浙江 嘉興 314036)
眾所周知,在很多情況下,精確地求解系統(tǒng)吸引區(qū)域是非常困難的,所以只能采用估算的方法來盡可能地近似地求解吸引區(qū)域。常用的方法是基于Lyapunov 函數(shù)的方法。由于Lyapunov 函數(shù)的選擇對于吸引區(qū)域的估計有很大的影響,所以如何選擇一個合適的Lyapunov函數(shù)來估計吸引區(qū)域仍然具有很大的難度。 其中相對簡單的二次Lyapunov 函數(shù)常用來進行吸引區(qū)域的估算[1]。此外,文獻[2-3]對多項式系統(tǒng)的吸引區(qū)域估計提出不同解決方法。然而,其中很多實際系統(tǒng),例如輪擺、有飽和系統(tǒng)等都屬于非多項式系統(tǒng)。在文獻[4] 中提出了針對非多項式系統(tǒng)尋找吸引區(qū)域的估計方法。這些方法都是基于線性矩陣不等式(LMI)展開式求解多項式最優(yōu)解實現(xiàn)的,計算量很大。
本文以兩輪自平衡車為例,介紹利用二次Lyapunov 函數(shù)通過坐標變換方法來擴大吸引區(qū)域估算值。通過與吸引區(qū)域估算結(jié)果的對比,證明了該坐標變換方法的有效性和計算的簡便性。
兩輪自平衡車以其結(jié)構(gòu)簡單,運動靈活的特點廣泛應(yīng)用于現(xiàn)代交通中。它是一種多變量、 非線性、絕對不穩(wěn)定的兩輪機器人系統(tǒng),典型的商業(yè)化產(chǎn)品有Segway。兩輪自平衡車在靜止狀態(tài)下不能穩(wěn)定平衡。車體的平衡是一個動態(tài)過程,在平衡點附近根據(jù)車體實時的方位信息和運動速度來調(diào)節(jié)控制信號以保持車體的平衡,這實際上是一個運動的倒立擺平衡系統(tǒng)[5-9]。兩輪自平衡車的結(jié)構(gòu)簡圖如圖1所示,變量定義及具體數(shù)值見表1[10]。本文只研究兩輪自平衡車沿直線運動的情況。
圖1 兩輪自平衡車結(jié)構(gòu)簡圖
接下來應(yīng)用拉格朗日方程建立系統(tǒng)的數(shù)學模型。
系統(tǒng)的總動能T包括車體的動能T1, 左、右輪子動能T2,即
T=T1+T2=
表1 兩輪自平衡車的變量
以車輪中心軸線所在的x-y平面為零勢能面,系統(tǒng)的勢能為U=mpgLcosθ。
(1)
(2)
式中τ為電動機的轉(zhuǎn)矩。為了計算簡便,此處忽略了電動機電刷處的摩擦力。
由此得到系統(tǒng)的狀態(tài)方程為
應(yīng)用文獻[11] 中的部分反饋線性化方法,將電動機的轉(zhuǎn)矩τ作為控制輸入信號,并選擇如下形式:
(3)
此外,在構(gòu)造平衡車結(jié)構(gòu)時,使條件α=η成立。此時,該系統(tǒng)的狀態(tài)方程可表示為
(4)
為了控制車體在豎直方向的平衡穩(wěn)定,將系統(tǒng)在期望的平衡點(x1,x2,x3)=(0,0,ν0) 處進行線性化。這里需要說明的是:在x3=C(常數(shù))時(狀態(tài)變量x3是相對角速度),(x1,x2,x3)=(0,0,C)均為系統(tǒng)平衡點。
應(yīng)用泰勒展開得到該系統(tǒng)的線性狀態(tài)方程
x=Ax+Bu
(5)
該線性系統(tǒng)顯然是可控的,所以可以通過選擇合適參數(shù)的PID控制策略u=-Kx實現(xiàn)該系統(tǒng)在豎直位置的平衡控制,此處K=(k1,k2,k3)。
從最基本的二次Lyapunov函數(shù)出發(fā),在吸引區(qū)域內(nèi)部通過尋找適當?shù)膸缀螆D形來逼近吸引區(qū)域邊界,從而近似估計吸引區(qū)域的大小。
將控制信號u=-Kx施加到式(5)中,得到的閉環(huán)系統(tǒng)的表達式為
(6)
進一步得到
(7)
在橢球中,最大的球體可以表示為
(8)
采用表1中的數(shù)值, 應(yīng)用Python語言編寫程序進行吸引區(qū)域的數(shù)值估算[13]。通過調(diào)用scipy庫中的linalg.solve_continuous_are()函數(shù)和solve_lyapunov()函數(shù),估算出吸引區(qū)域約為R=1.2×10-3。可見,該吸引區(qū)域的估算數(shù)值非常小,不足以滿足系統(tǒng)實際控制和調(diào)試之用。
本小節(jié),通過坐標變換的方法尋找更大的吸引區(qū)域估計值。為了簡單起見,假定
(9)
在新坐標系下,式(6)可寫作
與原坐標系下的閉環(huán)系統(tǒng)表達式(6)對比,得到
在新坐標系下,線性系統(tǒng)的Lyapunov方程
至此,可以得到如式(8)相同定義的最大球體
(10)
觀察式(10),它實質(zhì)上是一個在原坐標系下受到M值影響的橢球。
(11)
通過選取合理的M值,相當于對原坐標系下的式(8)進行適當?shù)乩欤梢暂^為明顯地擴大x的取值范圍,即擴大吸引區(qū)域。
參照得到的較大的吸引區(qū)域估算值,選取偏離平衡位置較遠的點x=(0.1rad,-0.5rad/s,3rad/s)作為系統(tǒng)的初始條件,利用Python程序進行系統(tǒng)的響應(yīng)仿真,仿真結(jié)果如圖2所示。
圖2 系統(tǒng)的響應(yīng)曲線
圖2中實線為K=(-90.18,-2.83,-0.79),可以看出車體在4s內(nèi)達到平衡點并穩(wěn)定下來,說明了線性控制器u=-Kx的有效性,同時證明了吸引區(qū)域的估算值的可用性。虛線為K=(-90.18,-10,-0.79)得到的系統(tǒng)響應(yīng)效果,發(fā)現(xiàn)系統(tǒng)獲得了較好的動態(tài)響應(yīng)效果。由此也可以得出:在進行吸引區(qū)域估計時得到的K能夠?qū)崿F(xiàn)系統(tǒng)的穩(wěn)定控制,并且為PID線性控制器的參數(shù)整定優(yōu)化提供一定的方向性指導。
基于二次Lyapunov函數(shù),對兩輪自平衡車的平衡控制通過變換坐標的方法來獲得較大吸引區(qū)域估算值,并從幾何學上直觀地解釋了坐標變化的意義。通過Python程序仿真系統(tǒng)響應(yīng)過程,驗證了在擴大的吸引區(qū)域內(nèi)的初始條件,均可通過PID線性控制器達到穩(wěn)定平衡的控制效果。這種利用開源的Python 對控制系統(tǒng)的控制仿真獲得了成本更低、更簡便直觀的良好效果,對Python在眾多科研人員中的普及和推廣有很好的借鑒意義。