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