黃文杰,向鳳紅,毛劍琳
(昆明理工大學信息工程與自動化學院,云南 昆明 650500)
板球系統(tǒng)作為典型的多輸入多輸出系統(tǒng),具有欠驅動、耦合性和非線性強等特點[1],對其控制算法的優(yōu)化可有效提高板球系統(tǒng)的定位控制和軌跡跟蹤的控制精度。盡管PID控制器[2]憑借結構簡
單、可靠性高的特點在工程應用中被廣泛使用,但在板球系統(tǒng)這一類非線性控制系統(tǒng)中很難達到控制要求[3,4]。因此,國內外學者提出了自適應控制策略[5]、T-S模糊控制[6]、H2控制器和魯棒性較強的H∞控制器[7]等方案,推動了板球系統(tǒng)理論研究的發(fā)展。近年來,隨著人工智能研究的不斷深入,遺傳算法[8,9]、蟻群算法[10]、粒子群算法等近代啟發(fā)式優(yōu)化算法相繼在板球系統(tǒng)上得到應用。從仿真結果上看,無論是小球的軌跡震蕩情況還是控制時間的長短,都得到了一定程度的改進,說明這些語法結構簡單和運算能力較強的智能算法均具有一定的應用可行性。
目前板球系統(tǒng)的研究情況大多停留在理論論證方面,將可行方法應用在實物實驗的軌跡跟蹤的文獻較少。本文選取深圳固高科技公司自主研發(fā)的GBP2001型板球系統(tǒng)作為研究對象,研究了板球系統(tǒng)的方形軌跡跟蹤控制問題;將徑向基函數(shù)RBF(Radical Basis Function)神經(jīng)網(wǎng)絡與經(jīng)典PID控制相結合,引入動量因子改進RBF-PID控制算法,用LM(Levenberg-Marquardt)算法代替梯度下降法整定PID控制參數(shù),以解決板球系統(tǒng)穩(wěn)定性差、運動軌跡復現(xiàn)度差等問題。本文將該參數(shù)調整過程命名為LM_RBF-PID控制算法。LM算法具有局部收斂性,同時有魯棒性強的特點[11],在整定PID控制參數(shù)方面得到成功應用[12]。但是,結合自適應控制,針對板球系統(tǒng)這一類非線性控制系統(tǒng)的應用工作尚屬首次,本文采用RBF-PID控制算法和LM_RBF-PID控制算法分別在GPB2001型板球系統(tǒng)完成軌跡跟蹤控制實驗,實驗結果對比分析表明,LM_RBF-PID控制算法具有更好的控制效果。
在GBP2001板球系統(tǒng)中,以球盤中心作為坐標原點(0,0)建立坐標系,如圖1所示。o′x′y′z′是世界坐標系,oxyz是球板的運動坐標系,z軸始終與球盤垂直,x軸和y軸始終與球盤平面平行,o與o′重合。
Figure 1 Ball and plate system coordinate definition schematic diagram圖1 板球系統(tǒng)坐標定義示意圖
由圖1可知,板球系統(tǒng)包括小球位置坐標(x,y)、球板轉動角度(θ,β)4個自由度,由于其復雜的非線性特性,難以獲取其精確的數(shù)學模型,建模過程中在不影響系統(tǒng)特性的情況下做以下假設:
(1)小球在平板上無滑動和繞小球垂直中心軸旋轉的運動[13];
(2)忽略平板傾斜角度的限制以及平板面積的影響;
(3)小球在平板上始終和平板保持接觸狀態(tài);
(4)小球和平板之間所有摩擦忽略不計;
(5)板體在x、y軸方向上關于其支撐點對稱并控制兩軸的機械條件相同。
分別在x、y2個方向對平板上的小球運動完成解耦,得出x方向和y方向的二維分解示意圖,如圖2所示。
Figure 2 Two-dimensional decomposition of ball and plate system圖2 板球二維分解示意
經(jīng)分析,建立以拉格朗日法為基礎的板球系統(tǒng)數(shù)學模型,板球系統(tǒng)中各個參數(shù)如表1所示。
Table 1 Ball and plate system parameters table表1 板球系統(tǒng)參數(shù)表
進一步通過動力學分析,可得板球系統(tǒng)在x軸和y軸的非線性耦合動力學方程如式(1)和式(2)所示:
(1)
(2)
在實際操作中,式(1)和式(2)中描述的非線性模型難以應用。將其線性化后可得式(3)和式(4),如下所示:
(3)
(4)
RBF神經(jīng)網(wǎng)絡在整定PID參數(shù)方面具有自學習和非線性逼近的能力,由此設計的控制器可以實現(xiàn)參數(shù)的自適應調整,達到提高板球系統(tǒng)的穩(wěn)定性和高精度控制的目的。
如圖3所示,對板球系統(tǒng)完成解耦后可知x軸與y軸控制原理相同,x方向和y方向的控制器相同,通過庫設計控制器以控制x軸、y軸方向的誤差,從而使小球能實現(xiàn)沿設定軌跡運動的控制目標。以rin(k)為輸入,yout(k)為輸出,e(k)為控制誤差,ymout(k)為辨識網(wǎng)絡的輸出,RBF神經(jīng)網(wǎng)絡整定PID的控制結構如圖4所示。
Figure 3 Ball and plate system RBF-PID parameter self-tuning control structure圖3 板球系統(tǒng)RBF-PID參數(shù)自整定控制結構
Figure 4 RBF neural network PID control structure圖4 RBF神經(jīng)網(wǎng)絡整定PID控制結構
系統(tǒng)控制誤差為:
e(k)=rin(k)-yout(k)
(5)
RBF-PID控制器的3個輸入為:
(6)
u(k)表示第k次采樣時刻PID控制器的輸出值,其控制算法為:
u(k)=u(k-1)+Kpxc(1)+
Kixc(2)+Kdxc(3)
(7)
(8)
Kp、Ki、Kd3個參數(shù)如式(9)所示:
(9)
在PID參數(shù)的在線優(yōu)化過程中,X=[x1,x2,…,xn]T為網(wǎng)絡的輸入向量。設RBF神經(jīng)網(wǎng)絡隱含層節(jié)點徑向基向量H=[h1,h2,…,hj,…,hf]T,其中hj為高斯基函數(shù)。第j個節(jié)點的中心矢量為Cj=[cj1,cj2,…,cji,…,cjn]T,bj為隱含層節(jié)點j的基寬,網(wǎng)絡的權向量為W=[w1,w2,…,wj,…,wn]T。?yout(k)/?u(k)(Jacobian矩陣信息)通過神經(jīng)網(wǎng)絡辨識得到,第k時刻的?yout(k)/?u(k)可以近似等于?ymout(k)/?u(k)。
(10)
(11)
針對RBF-PID控制的軌跡跟蹤控制實驗中系統(tǒng)實時性差且小球震蕩大的問題,本文提出使用LM算法代替梯度下降法的同時,引入動量因子的解決方案。LM_RBF整定PID的控制結構如圖5所示。
Figure 5 LM_RBF neural network PID control structure diagram圖5 LM_RBF神經(jīng)網(wǎng)絡整定PID控制結構
RBF神經(jīng)網(wǎng)絡的參數(shù),在整定過程中均采用梯度下降法來尋找變量的局部極值。針對梯度下降法在實驗中穩(wěn)定性較差且收斂速度慢的問題,在LM算法中引入動量因子α,以達到削弱參數(shù)調整中震蕩的目的,引入動量因子α后RBF神經(jīng)網(wǎng)絡參數(shù)的迭代算法遵循式(12):
(12)
其中,η為學習速率。
動量因子α在參數(shù)調節(jié)過程中作為阻尼項,確保修正結果沿著參數(shù)收斂方向進行調整,算法的收斂速度在很大程度上取決于動量因子α的大小[14]。若α取值過小,收斂速度慢且穩(wěn)態(tài)偏差小,α取值過大,算法產生的穩(wěn)態(tài)偏差較大,故動量因子α的取值對算法的整體控制效果至關重要,α取值與第k次的誤差指標E(k)和第k-1次的誤差指標的變化量ΔE(k-1)有關:
(13)
LM算法充分應用RBF網(wǎng)絡辨識得到的Jacobian信息實現(xiàn)了很好的控制效果。LM算法能有效處理參數(shù)的冗余問題,是介于梯度下降法和高斯牛頓法之間的一種非線性尋優(yōu)算法,非常適用于非線性問題的求解。
用x(k)表示第k次迭代時的參數(shù),第k+1次迭代時新的參數(shù)為:
x(k+1)=x(k)-[JT(k)J(k)+μI]-1JT(k)e(k)
(14)
其中,e(k)為控制誤差,J為Jacobian矩陣,I表示單位矩陣,μ為大于0的標量。Jacobian 矩陣信息為:
(15)
將上述算法應用到PID控制器的參數(shù)整定過程中,PID參數(shù)向量K=[Kp,Ki,Kd],則有:
(16)
用LM算法進行優(yōu)化整定,板球系統(tǒng)中參數(shù)向量的變化量為:
(17)
采用LM算法整定PID參數(shù)和引入動量因子的LM_RBF-PID控制算法步驟如下所示:
步驟1設置RBF神經(jīng)網(wǎng)絡參數(shù)初值bj(0)、cji(0)、wj(0)和隱含層神經(jīng)元個數(shù)f、學習速率η,由式(13)判斷決定動量因子α的取值;
步驟2由系統(tǒng)的輸入γin(k)和輸出yout(k)通過式(6)和式(7)計算u(k);
步驟4采用式(9)計算參數(shù)Kp(k)、Ki(k)、Kd(k),利用LM_RBF-PID算法整定參數(shù);
步驟5采用誤差反向傳播法,調整RBF神經(jīng)網(wǎng)絡參數(shù)bj(k)、cji(k)、wj(k);
步驟6令k→k+1,重復步驟2~步驟5,直至算法收斂或達到終止條件,完成循環(huán)。
為驗證RBF-PID控制算法及其改進算法的控制可行性,設計了RBF-PID控制算法和LM_RBF-PID控制算法的對比仿真實驗。分別設置幅值為0.2的階躍信號和幅值為0.2、頻率為0.1 Hz的方波信號,Kp、Ki、Kd的初始值設置為0.02,0,0.5。在Matlab中搭建板球系統(tǒng)的控制仿真模型,二者階躍響應和方波響應曲線如圖6和圖7所示。
Figure 6 Response curves of step signal and square wave signal of RBF-PID algorithm圖6 RBF-PID算法的階躍信號和方波信號響應曲線
Figure 7 Response curves of step signal and square wave signal of LM_RBF-PID algorithm圖7 LM_RBF-PID算法的階躍信號和方波信號響應曲線
圖6和圖7中曲線分別為RBF-PID控制算法和LM_RBF-PID控制算法對階躍信號和方波信號的系統(tǒng)響應曲線。對系統(tǒng)輸入階躍信號,由RBF-PID控制時板球系統(tǒng)的響應曲線可知系統(tǒng)的超調量為12.25%,調節(jié)時間為8.3 s;采用LM_RBF-PID控制時板球系統(tǒng)的超調量為0,調節(jié)時間為1 s,LM_RBF-PID算法跟蹤方波響應的效果也較好??梢?,在方波信號作用下RBF-PID控制算法和LM_RBF-PID控制算法均能跟蹤方波信號,適用于時變系統(tǒng)的控制,而LM_RBF-PID控制算法的超調量低、響應精度高,控制效果優(yōu)于RBF-PID控制算法。
為驗證本文改進算法的有效性,以GBP2001板球系統(tǒng)作為實物驗證平臺,設定以坐標(0,0)為中心、邊長為60 mm的正方形目標軌跡,選取多次軌跡跟蹤控制實驗中控制效果較好的參數(shù)值,小球的初始位置坐標設定為(0,0),分別采用RBF-PID控制算法和LM_RBF-PID控制算法在板球系統(tǒng)完成控制時間為30 s的方形軌跡跟蹤控制實驗。經(jīng)多次實驗對比及整定分析,實驗中RBF神經(jīng)網(wǎng)絡的主要參數(shù)設置如表2所示。表2中隱含層節(jié)點數(shù)目設為6,學習速率為0.01,PID的初始參數(shù)值設定為Kp=20,Ki=1和Kd=120。選取RBF-PID和LM_RBF-PID控制算法分別完成方形軌跡跟蹤的實驗。為提高實驗準確度和可重復性,實驗過程中保持實驗平臺、小球初始位置、光線等環(huán)境不變,實驗結果如圖8所示。RBF-PID和LM_RBF-PID的方形軌跡跟蹤誤差對比量化結果如表3所示。其中,振幅5%以上表示小球運動軌跡在63*63(mm)以外。
Table 2 Initial value of each control parameter in the experiment表2 實驗中各控制參數(shù)初始值
由圖8可知,小球在球盤上運動過程中,小球的目標位置和小球的運動方向在正方形頂點處會發(fā)生較大變化,且小球的慣性會造成響應延遲,導致在小球整段軌跡中4個頂點位置處的軌跡波動較大。在RBF-PID控制過程中軌跡的誤差較大,運動曲線不夠穩(wěn)定,對于設定的方形軌跡不能精確復現(xiàn),如表3所示,其最大震蕩位移為68.4 mm,且軌跡振幅>5%的時長為22.8 s。而在LM_RBF-PID控制過程中,小球的最大震蕩位移為63.8 mm,運動軌跡振幅>5%的時長也縮短至8.5 s,隨著小球運動時間的增加,誤差越來越小,軌跡跟蹤精度越來越高,能夠完成方形軌跡的精確跟蹤。
Figure 8 Square trajectory tracking curve of the ball圖8 小球方形軌跡跟蹤曲線
Table 3 Tracking error comparison of square trajectory表3 方形軌跡跟蹤誤差對比
本文主要研究了GPB2001非線性板球控制系統(tǒng),提出用LM算法代替梯度下降法整定PID控制參數(shù),以實現(xiàn)RBF-PID控制的優(yōu)化,通過在Matlab中的仿真實驗,證明了其跟蹤非線性時變系統(tǒng)的有效性。通過軌跡跟蹤的實驗結果可以看出,RBF-PID和LM_RBF-PID控制算法均完成了板球系統(tǒng)的方形軌跡跟蹤控制,LM_RBF-PID控制算法在軌跡跟蹤實驗中,得到的小球軌跡的精確度更高、穩(wěn)定性更強,控制精度優(yōu)于RBF-PID控制算法的,能夠取得更好的控制效果。