鄭明軍,蘭慶洋,吳文江
(1.石家莊鐵道大學 機械工程學院,河北 石家莊 050043;2.石家莊鐵道大學 教務(wù)處,河北 石家莊 050043)
隨著高速鐵路的快速發(fā)展,我國旅客列車時速從最早的幾十km發(fā)展到如今的350 km,旅客列車運行速度快速發(fā)展的同時也暴露出很多問題,其中旅客列車上水工作是鐵路旅客運輸?shù)囊粋€重要環(huán)節(jié),高效的上水作業(yè)可以保證列車的良好運行,同時為旅客的出行用水提供保障,但旅客列車上水技術(shù)仍停留在原始人工上水狀態(tài),存在工人勞動強度大、工作效率低下、水資源浪費嚴重等問題。為此,提出一種自動上水裝置來實現(xiàn)旅客列車自動上水工作。根據(jù)鐵路路基設(shè)計要求,設(shè)計旅客列車自動上水裝置安裝在列車股道間的上水井附近,在列車進站后對車廂進行自動上水工作。通常旅客列車站停時間6~8 min,上水間隔4~6 h。按照機車車輛行業(yè)標準,旅客列車A、B型注水口外徑最小值30 mm,上水裝置接頭內(nèi)徑設(shè)計為32 mm,中心位置對接精度±1 mm。列車上水有效時間短和上水對接精度高要求自動上水裝置機械臂的軌跡控制速度與精度較高,經(jīng)過調(diào)查與統(tǒng)計,目前尚未有上水裝置可以滿足列車自動上水要求。因此,機械臂控制系統(tǒng)的研究作為自動上水裝置工作的關(guān)鍵技術(shù),其運動控制快捷性和精準性的實現(xiàn)對于降低工人勞動強度、減少站停時間、降低能源消耗、提高給水自動化水平以及提升供水的可靠性和服務(wù)水平具有重要意義。
近年來國內(nèi)外眾多學者在機械臂的控制方面做了很多研究,有神經(jīng)網(wǎng)絡(luò)控制[1-2]、模糊控制[3-5]、滑膜控制[6-8]、迭代學習控制[9]等。其中對于RBF神經(jīng)網(wǎng)絡(luò)用于控制機械臂運動時隱含層參數(shù)難以求解這一問題的研究較少,如:劉凌等[1]采用了遺傳算法和梯度下降法分別對神經(jīng)網(wǎng)絡(luò)隱含層參數(shù)進行尋優(yōu)。翟瑩瑩等[2]使用改進的聚類算法設(shè)定隱含層中心向量,再采用方差度量法計算隱含層基函數(shù)的標準化常數(shù),實驗結(jié)果表明其提出的基于參數(shù)優(yōu)化的RBF神經(jīng)網(wǎng)絡(luò)具有良好的逼近效果和泛化能力。Saeid et al[10]利用遺傳算法對神經(jīng)網(wǎng)絡(luò)隱含層超參數(shù)進行優(yōu)化,使超參數(shù)相對應變能誤差降低近50%。
以上關(guān)于神經(jīng)網(wǎng)絡(luò)參數(shù)優(yōu)化的研究都是多個階段進行學習尋優(yōu),求解的神經(jīng)網(wǎng)絡(luò)參數(shù)最優(yōu)值具有偶然性,這對于機械臂運動的控制精度和控制速度影響較大。因此利用粒子群優(yōu)化算法參數(shù)少和全局搜索性能良好等特點,將RBF神經(jīng)網(wǎng)絡(luò)控制方法與其相結(jié)合,根據(jù)控制機械臂運動過程中肩關(guān)節(jié)角度實際誤差作為粒子群粒子取值,實際誤差中的個體最小誤差和全體最小誤差分別作為粒子群算法個體極值和群體極值來搜尋參數(shù)中心向量c和標準化常數(shù)b的最優(yōu)值,完成控制系統(tǒng)中的神經(jīng)網(wǎng)絡(luò)參數(shù)同步尋優(yōu)。
考慮到機械臂工作過程中會存在摩擦力和外加擾動,雙關(guān)節(jié)機械臂系統(tǒng)動力學模型為
(1)
自動上水裝置結(jié)構(gòu)如圖1所示。雙關(guān)節(jié)剛性機械臂示意如圖2所示。圖2中l(wèi)1為連桿1的長度,l2為連桿2的長度,m1為連桿1的質(zhì)量,m2為連桿2的質(zhì)量,q1是關(guān)節(jié)1的位置角,q2是關(guān)節(jié)2的位置角。
圖1 自動上水裝置結(jié)構(gòu)圖
圖2 兩自由度機械臂示意圖
RBF神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖3所示,它是具有單隱層的前向網(wǎng)絡(luò)。輸入層神經(jīng)元傳遞輸入信號到隱含層,隱含層神經(jīng)元由高斯激活函數(shù)(RBF網(wǎng)絡(luò)函數(shù))構(gòu)成,隱含層神經(jīng)元中的RBF網(wǎng)絡(luò)函數(shù)對輸入信號在局部產(chǎn)生響應,當輸入信號靠近函數(shù)作用的中央范圍時,隱含層神經(jīng)元將產(chǎn)生較大的輸出,體現(xiàn)出作用函數(shù)的局部逼近能力,輸出層神經(jīng)元是簡單線性函數(shù)。
圖3 RBF神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)
RBF網(wǎng)絡(luò)函數(shù)為
(2)
式中,x為網(wǎng)絡(luò)的輸入信號;i為網(wǎng)絡(luò)隱含層第i個神經(jīng)元;ci為網(wǎng)絡(luò)隱含層第i個神經(jīng)元的中心向量;b是網(wǎng)絡(luò)隱含層神經(jīng)元的標準化常數(shù)。
隱含層參數(shù)中心向量c和標準化常數(shù)b的選取對控制系統(tǒng)控制精度和穩(wěn)定性影響較大。傳統(tǒng)RBF神經(jīng)網(wǎng)絡(luò)采用均值聚類算法求解中心向量c,將訓練樣本集合中的輸入向量分為若干組,在每個數(shù)據(jù)組內(nèi)找出徑向基函數(shù)的中心向量,使組內(nèi)各樣本向量距該組中心的距離最小,標準化常數(shù)b根據(jù)控制系統(tǒng)的仿真結(jié)果由人為調(diào)整得出。
f(x)=W*Th(x)+ε
(3)
式中,W*為網(wǎng)絡(luò)的理想權(quán)值向量;h為網(wǎng)絡(luò)的高斯基函數(shù)輸出,h=[hi]T;ε為網(wǎng)絡(luò)的逼近誤差,ε≤εN。
定義跟蹤誤差為
e(t)=qd(t)-q(t)
(4)
式中,qd為機械臂運動的理想位置角軌跡。
誤差函數(shù)定義為
(5)
式中,Λ=ΛT且為正定矩陣;e=[e1,e2]T。
機械臂速度定義為
(6)
將式(6)代入式(1)整理得
(7)
令
(8)
將式(8)代入到式(7)整理得
(9)
RBF神經(jīng)網(wǎng)絡(luò)的輸出為
(10)
(11)
式中,v為用于克服神經(jīng)網(wǎng)絡(luò)逼近誤差ε的魯棒項,設(shè)計為
v=-(εN+bd)sgn(r)
(12)
神經(jīng)網(wǎng)絡(luò)自適應律為
(13)
將控制率式(11)代入式(9)得
(14)
定義Lyapunov函數(shù)為
(15)
對式(15)求導并將式(14)代入得
(16)
(17)
由于
rT(ε+τd+v)=rT(ε+τd)+rTv=rT(ε+τd)-||r||(εN+bd)≤0
(18)
神經(jīng)網(wǎng)絡(luò)中心參數(shù)自尋優(yōu)通過設(shè)置參數(shù)取值范圍,設(shè)定粒子群粒子個數(shù),并將RBF神經(jīng)網(wǎng)絡(luò)自適應算法控制機械臂運動過程中肩關(guān)節(jié)角度實際誤差作為粒子群粒子取值,個體最小誤差和全體最小誤差作為粒子群個體極值和群體極值來搜尋參數(shù)最優(yōu)值。神經(jīng)網(wǎng)絡(luò)參數(shù)自尋優(yōu)流程圖如圖4所示。
圖4 神經(jīng)網(wǎng)絡(luò)參數(shù)自尋優(yōu)流程圖
算法具體步驟為:
Step1:初始化N個粒子的取值和粒子更新速度。每個粒子(pop=c1,c2,c3,c4,c5,b)是一個向量,包含中心向量和標準化常數(shù)的取值,設(shè)定粒子群的取值范圍,粒子在各自取值范圍內(nèi)隨機分布且分布均勻。粒子的初始更新速度V(N,∶)=0.1rand(N,6)。
Step2:每個粒子中心向量和標準化常數(shù)的取值傳遞給RBF神經(jīng)網(wǎng)絡(luò)控制模塊進行機械臂的軌跡運動控制,粒子當前步長運行結(jié)束后肩關(guān)節(jié)實際位置與理想位置的誤差值作為粒子的適應度fit。
Step3:對N個適應度進行排序,最小適應度對應的粒子作為粒子群群體最優(yōu)gbest,初始化的粒子作為個體最優(yōu)ibest。粒子速度更新和個體更新公式分別為
V(N,∶)=ωV(N,∶)+d1r1(ibest(N,∶)-pop(N,∶))+d2r2(gbest-pop(N,∶))
(19)
pop(N,∶)=pop(N,∶)+0.3V(N,∶)
(20)
式中,慣性因子ω取值0.1;學習因子d1和d2取值2;參數(shù)r1和r2取值rand(1)。
Step4:粒子群按照神經(jīng)網(wǎng)絡(luò)仿真步長進行尋優(yōu),每次循環(huán)將當前步長下的最優(yōu)值傳遞給控制模塊進行機械臂的軌跡跟蹤控制,循環(huán)終止條件為仿真時間結(jié)束。
綜上,PSO-RBF神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)流程如圖5所示。
圖5 PSO-RBF神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)流程圖
為了驗證PSO-RBF神經(jīng)網(wǎng)絡(luò)控制方法的有效性,對雙關(guān)節(jié)機械臂進行仿真驗證。式(1)中各參數(shù)計算公式為
(21)
(22)
(23)
(24)
(25)
圖6 RBF神經(jīng)網(wǎng)絡(luò)控制方法下肩關(guān)節(jié)軌跡位置
圖7 PSO-RBF神經(jīng)網(wǎng)絡(luò)控制方法下肩關(guān)節(jié)軌跡位置
從圖6和圖7可以得出,PSO-RBF神經(jīng)網(wǎng)絡(luò)控制方法可以根據(jù)實際誤差的大小不斷調(diào)整參數(shù)的取值,有效避免機械臂控制失效的情況發(fā)生。
(2)為探尋PSO-RBF神經(jīng)網(wǎng)絡(luò)參數(shù)的最優(yōu)解,將粒子取值范圍的上下限都設(shè)為在傳統(tǒng)控制系統(tǒng)下失效的情況,粒子的個數(shù)設(shè)置為3,進行仿真計算,仿真結(jié)果如圖8~圖11所示。
圖8 粒子1作用下2關(guān)節(jié)的不確定項f和神經(jīng)網(wǎng)絡(luò)逼近輸出fn
圖9 粒子2作用下2關(guān)節(jié)的不確定項f和神經(jīng)網(wǎng)絡(luò)逼近輸出fn
圖10 粒子3作用下2關(guān)節(jié)的不確定項f和神經(jīng)網(wǎng)絡(luò)逼近輸出fn
圖11 粒子群各粒子位置范數(shù)變化
從圖8~圖10可以看出,不同粒子作用下的PSO-RBF神經(jīng)網(wǎng)絡(luò)均能實現(xiàn)對不確定項的逼近,粒子1作用下機械臂達到穩(wěn)態(tài)的時間更短,從圖11中各粒子取值的變化也驗證這一觀點。將粒子最優(yōu)解賦值給PSO-RBF神經(jīng)網(wǎng)絡(luò)控制系統(tǒng),并與文獻[1]中RBF神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)進行仿真對比,仿真對比結(jié)果如圖12、圖13所示。
圖12 肩關(guān)節(jié)在不同控制方法下的軌跡位置
圖13 肘關(guān)節(jié)在不同控制方法下的軌跡位置
由表1可知,在控制系統(tǒng)的響應時間上,文獻[1]的RBF神經(jīng)網(wǎng)絡(luò)控制下系統(tǒng)響應時間較長,肩關(guān)節(jié)和肘關(guān)節(jié)的響應時間分別為1.86 s與1.78 s,PSO-RBF神經(jīng)網(wǎng)絡(luò)控制下系統(tǒng)響應時間較短,肩關(guān)節(jié)和肘關(guān)節(jié)的響應時間分別為0.89 s與0.94 s;在控制系統(tǒng)的控制精度上,機械臂軌跡逼近趨于穩(wěn)態(tài)后,文獻[1]的RBF神經(jīng)網(wǎng)絡(luò)控制下的最大穩(wěn)態(tài)誤差和平均穩(wěn)態(tài)誤差較大,肩關(guān)節(jié)和肘關(guān)節(jié)的最大穩(wěn)態(tài)誤差分別為5.72×10-4rad與3.25×10-4rad,平均穩(wěn)態(tài)誤差分別為5.46×10-6rad與-2.57×10-6rad,PSO-RBF神經(jīng)網(wǎng)絡(luò)控制下最大穩(wěn)態(tài)誤差較小,肩關(guān)節(jié)和肘關(guān)節(jié)的最大穩(wěn)態(tài)誤差分別為2.89×10-4rad與1.37×10-4rad,平均穩(wěn)態(tài)誤差分別為2.49×10-6rad與-1.15×10-6rad。經(jīng)對比,PSO-RBF神經(jīng)網(wǎng)絡(luò)控制方法將自動上水裝置肩關(guān)節(jié)和肘關(guān)節(jié)的響應時間縮短52%和47%,最大穩(wěn)態(tài)誤差減小49%和58%,平均穩(wěn)態(tài)誤差減小54%和55%,結(jié)果表明PSO-RBF神經(jīng)網(wǎng)絡(luò)控制方法能夠?qū)崿F(xiàn)良好的控制效果。
表1 仿真數(shù)據(jù)對比分析表
以旅客列車自動上水裝置的雙關(guān)節(jié)機械臂為研究對象,提出PSO-RBF神經(jīng)網(wǎng)絡(luò)控制方法,針對雙關(guān)節(jié)機械臂建立PSO-RBF神經(jīng)網(wǎng)絡(luò)控制系統(tǒng),與文獻[1]基于遺傳算法調(diào)節(jié)隱含層參數(shù)的RBF神經(jīng)網(wǎng)絡(luò)控制方法進行對比和分析,得到以下主要結(jié)論:
(1)PSO-RBF神經(jīng)網(wǎng)絡(luò)控制方法能夠有效解決RBF神經(jīng)網(wǎng)絡(luò)因徑向基函數(shù)參數(shù)設(shè)定不準確而導致隱含層映射失效的問題,通過全局尋優(yōu)控制系統(tǒng)參數(shù)最優(yōu)值。將粒子群算法與RBF神經(jīng)網(wǎng)絡(luò)算法結(jié)合應用于機械臂運動控制,拓展了粒子群算法的應用領(lǐng)域,這可為其他控制方法的優(yōu)化提供借鑒。
(2)PSO-RBF神經(jīng)網(wǎng)絡(luò)控制方法在雙關(guān)節(jié)機械臂運動控制中具有較好的響應速度和收斂精度,其中肩關(guān)節(jié)和肘關(guān)節(jié)響應時間縮短52%和47%,最大穩(wěn)態(tài)誤差減小49%和58%,平均穩(wěn)態(tài)誤差減小54%和55%。提出的雙關(guān)節(jié)機械臂控制方法顯著提高了機械臂運動控制的快捷性和穩(wěn)定性,為后續(xù)旅客列車自動上水裝置研制奠定了重要的控制理論基礎(chǔ)。