劉凌,李志成,張瑩
(1.西安交通大學(xué)電力設(shè)備電氣絕緣國家重點(diǎn)實(shí)驗(yàn)室,710049,西安;2.西安交通大學(xué)電氣工程學(xué)院,710049,西安)
隨著機(jī)械臂系統(tǒng)在生產(chǎn)生活中的應(yīng)用范圍越來越廣,機(jī)械臂系統(tǒng)的控制精度和控制穩(wěn)定性要求也越來越高。目前機(jī)械臂已經(jīng)廣泛地應(yīng)用在機(jī)械制造[1]、交通運(yùn)輸[2]、農(nóng)業(yè)生產(chǎn)[3]、航空航天[4]、醫(yī)療衛(wèi)生[5]等領(lǐng)域。由于機(jī)械臂要完成的任務(wù)很復(fù)雜,所以單關(guān)節(jié)機(jī)械臂難以實(shí)現(xiàn)這些操作,很多操作是需要多關(guān)節(jié)機(jī)械臂來完成的。多關(guān)節(jié)機(jī)械臂是一個(gè)非線性,強(qiáng)耦合的系統(tǒng)[6],機(jī)械臂控制問題的目標(biāo)是將機(jī)械臂的終端穩(wěn)定、準(zhǔn)確地控制到其期望的位置,由于其運(yùn)行時(shí)工作環(huán)境的變化而受到外界不確定因素的擾動(dòng)以及負(fù)載的變化,都會(huì)加大機(jī)械臂控制的難度。
近年來國內(nèi)外眾多學(xué)者在機(jī)械臂的控制方面做了很多研究。在機(jī)器人機(jī)械臂控制算法上有滑模控制[7-9]、自適應(yīng)控制[10-12]、PID控制[13-14]、神經(jīng)網(wǎng)絡(luò)控制[15-17]等。由于神經(jīng)網(wǎng)絡(luò)有很好的非線性逼近能力,而且神經(jīng)網(wǎng)絡(luò)控制所需條件較少,所以神經(jīng)網(wǎng)絡(luò)在機(jī)器人控制方面應(yīng)用很廣泛。運(yùn)用RBF神經(jīng)網(wǎng)絡(luò)控制有達(dá)到穩(wěn)定所需時(shí)間較長,運(yùn)行初始階段誤差較大等缺點(diǎn)。很多學(xué)者對(duì)這些情況進(jìn)行了優(yōu)化。文獻(xiàn)[18]采用了RBF神經(jīng)網(wǎng)絡(luò)估計(jì)器和觀測器對(duì)系統(tǒng)的不確定性進(jìn)行估計(jì),從而達(dá)到對(duì)神經(jīng)網(wǎng)絡(luò)權(quán)值進(jìn)行更新的目的,提高了對(duì)機(jī)械臂動(dòng)力學(xué)不確定部分的補(bǔ)償作用。文獻(xiàn)[19]設(shè)計(jì)了新型魯棒項(xiàng)來調(diào)節(jié)神經(jīng)網(wǎng)絡(luò)的權(quán)值并補(bǔ)償控制過程中的未知項(xiàng),改善了神經(jīng)網(wǎng)絡(luò)對(duì)系統(tǒng)結(jié)構(gòu)發(fā)生變化時(shí)對(duì)未知部分的補(bǔ)償效果。文獻(xiàn)[20]提出了一種利用熵聚類的方法對(duì)RBF神經(jīng)網(wǎng)絡(luò)的基函數(shù)中心值進(jìn)行計(jì)算,避免了傳統(tǒng)算法中使用K均值方法的重復(fù)迭代過程并通過梯度下降法調(diào)整神經(jīng)網(wǎng)絡(luò)傳遞權(quán)值,提高了快速性和準(zhǔn)確性。
為了克服神經(jīng)網(wǎng)絡(luò)參數(shù)固定所帶來的初始運(yùn)行誤差大、達(dá)到穩(wěn)定狀態(tài)所需時(shí)間長的問題,本文提出了一種參數(shù)可調(diào)的RBF神經(jīng)網(wǎng)絡(luò)算法對(duì)雙關(guān)節(jié)機(jī)械臂模型的控制誤差進(jìn)行補(bǔ)償。設(shè)計(jì)了一種模糊控制器對(duì)雙關(guān)節(jié)的輸出控制力矩進(jìn)行補(bǔ)償,使經(jīng)過調(diào)整后的力矩可以更好地逼近實(shí)際控制力矩。數(shù)值仿真結(jié)果表明,本文提出的方法可以有效地減小機(jī)械臂初始運(yùn)行時(shí)的誤差幅值和系統(tǒng)達(dá)到穩(wěn)定的時(shí)間。
針對(duì)n關(guān)節(jié)剛性機(jī)械臂,考慮摩擦力和外加擾動(dòng),其動(dòng)力學(xué)方程可以表示為
(1)
為了使機(jī)械臂的實(shí)際位置更快更好地趨近于理想位置。針對(duì)雙關(guān)節(jié)機(jī)械臂軌跡控制中誤差逼近過程初始誤差大的缺陷,本文提出一種改進(jìn)型RBF神經(jīng)網(wǎng)絡(luò)控制方法,網(wǎng)絡(luò)的中心以及魯棒項(xiàng)中的補(bǔ)償環(huán)節(jié)可以根據(jù)實(shí)際誤差的大小來調(diào)節(jié)自身的參數(shù)進(jìn)而實(shí)現(xiàn)軌跡跟蹤。
雙關(guān)節(jié)剛性機(jī)械臂示意圖如圖1所示。圖中l(wèi)1為連桿1的長度,l2為連桿2的長度。m1為連桿1的質(zhì)量,m2為連桿2的質(zhì)量。q1和q2分別是關(guān)節(jié)1和關(guān)節(jié)2的位置角。
圖1 機(jī)械臂結(jié)構(gòu)
對(duì)于n關(guān)節(jié)機(jī)械臂由于模型不確定項(xiàng)帶來的誤差f(x)采用RBF網(wǎng)絡(luò)進(jìn)行逼近。定義RBF網(wǎng)絡(luò)函數(shù)
(2)
f(x)=WTφ(x)+μ
(3)
式中:x為神經(jīng)網(wǎng)絡(luò)的輸入信號(hào);W為神經(jīng)網(wǎng)絡(luò)的權(quán)值向量;φ(x)為神經(jīng)網(wǎng)絡(luò)中間層的輸出向量;μ為神經(jīng)網(wǎng)絡(luò)的逼近誤差;ci是RBF神經(jīng)網(wǎng)絡(luò)第i個(gè)中間神經(jīng)元的中心值向量;b是中間神經(jīng)元函數(shù)寬度。
跟蹤誤差定義為
e(t)=qd(t)-q(t)
(4)
式中:qd為機(jī)械臂運(yùn)動(dòng)的理想位置角軌跡;e=[e1,e2,…,en]T。誤差函數(shù)定義為
(5)
式中:r=[r1,r2,…,rn]T;Λ=ΛT且為正定矩陣。機(jī)械臂速度定義為
(6)
將式(6)代入式(1)并整理得
G+F+τd-τ=-Cr-τ+f(x)+τd
(7)
式中
(8)
取神經(jīng)網(wǎng)絡(luò)的輸入為
控制率設(shè)計(jì)為
(9)
將控制率(9)代入到式(7)得
(10)
考慮存在神經(jīng)網(wǎng)絡(luò)的逼近誤差和外加未知干擾存在的情況,設(shè)計(jì)了一種參數(shù)可調(diào)的魯棒項(xiàng)h=kuo。其中k是一個(gè)正的常數(shù)。uo=[uo1,uo2,…,uon]T是補(bǔ)償器的輸出。
設(shè)計(jì)Lyapunov函數(shù)為
(11)
對(duì)式(11)求導(dǎo)并將式(10)代入得
(12)
(13)
(14)
rT(μ+τd+h)=rT(μ+τd+ku0)≤0
(15)
RBF神經(jīng)網(wǎng)絡(luò)在控制機(jī)械臂系統(tǒng)運(yùn)行的過程中,其參數(shù)b的選取對(duì)系統(tǒng)的控制穩(wěn)定性影響較大,本文通過遺傳算法確定了該參數(shù)的最優(yōu)值。本文首先選取7個(gè)不同的b值進(jìn)行測試,得到了7組機(jī)械臂實(shí)際位置和理想位置的誤差結(jié)果?;谠摻Y(jié)果進(jìn)行擬合,得到擬合曲線。利用遺傳算法對(duì)擬合得到的曲線進(jìn)行參數(shù)尋優(yōu),最終得到最優(yōu)的函數(shù)寬度b。機(jī)械臂關(guān)節(jié)角度誤差的計(jì)算公式為
(16)
式中:E為實(shí)際位置與理想位置的誤差量;H1、H2、H3、H4分別是第一關(guān)節(jié)在取得前4個(gè)實(shí)際位置波形最值時(shí)刻的誤差值。
設(shè)置尋優(yōu)參數(shù):種群個(gè)體數(shù)為40,最大遺傳代數(shù)為25,代溝設(shè)置為0.9。
傳統(tǒng)的RBF神經(jīng)網(wǎng)絡(luò)多通過對(duì)權(quán)值的調(diào)整對(duì)不確定項(xiàng)進(jìn)行逼近,使輸出可以逼近不確定項(xiàng),從而使控制力矩接近實(shí)際力矩。本文利用關(guān)節(jié)實(shí)際誤差來調(diào)整神經(jīng)網(wǎng)絡(luò)的中心參數(shù)cj,其修正參數(shù)如下
(17)
經(jīng)過n次迭代的中心參數(shù)為
cj(n+1)=cj(n)+Δcj
(18)
為了補(bǔ)償機(jī)械臂在運(yùn)行過程中由于不確定擾動(dòng)因素所帶來的影響,本節(jié)采用模糊補(bǔ)償環(huán)節(jié)對(duì)控制力矩進(jìn)行調(diào)整。在輸入?yún)?shù)變化范圍較大時(shí),輸入?yún)?shù)值可能會(huì)超出模糊補(bǔ)償環(huán)節(jié)的邊界范圍。設(shè)計(jì)伸縮因子調(diào)整模糊補(bǔ)償論域的輸入范圍可提高控制器的有效性并對(duì)輸入力矩進(jìn)行有效補(bǔ)償。在機(jī)械臂運(yùn)行過程中,檢測模塊會(huì)不斷測量理想軌跡與實(shí)際軌跡之間的誤差,將誤差和誤差變化率作為模糊控制器的輸入,并將模糊控制器的輸出傳遞到轉(zhuǎn)矩控制模塊,對(duì)機(jī)械臂轉(zhuǎn)矩參數(shù)進(jìn)行定時(shí)調(diào)整。控制器的補(bǔ)償原則為:
(1)當(dāng)軌跡之間的誤差值為正的較大值時(shí),關(guān)節(jié)電機(jī)的輸入轉(zhuǎn)矩大于理想轉(zhuǎn)矩,此時(shí)需要補(bǔ)償器返回一個(gè)負(fù)值來調(diào)整關(guān)節(jié)電機(jī)的實(shí)際轉(zhuǎn)矩;
(2)當(dāng)軌跡之間的誤差值為負(fù)的較大值時(shí),機(jī)械臂關(guān)節(jié)電機(jī)的輸入轉(zhuǎn)矩小于理想轉(zhuǎn)矩,此時(shí)需要補(bǔ)償器返回一個(gè)正的值來調(diào)整電機(jī)的實(shí)際輸出轉(zhuǎn)矩;
(3)當(dāng)軌跡之間的誤差很小的時(shí)候電機(jī)的輸出轉(zhuǎn)矩只需要很小地調(diào)整。
根據(jù)以上原則設(shè)計(jì)如下轉(zhuǎn)矩模糊補(bǔ)償器。補(bǔ)償器設(shè)計(jì)為雙輸入單輸出。二維輸入為e和ec,控制器輸出為uo。模糊規(guī)則是用來描述控制方法的語句,模糊化是將機(jī)械臂實(shí)際的軌跡和理想軌跡的誤差e和誤差變化率ec作為模糊控制器的輸入。軌跡誤差變化率模糊子集為{負(fù)大,負(fù)中,負(fù)小,0,正小,正中,正大}={NB,NM,NS,ZO,PS,PM,PB},模糊控制器的輸出為{負(fù)大,負(fù)中,負(fù)小,0,正小,正中,正大}={NB,NM,NS,ZO,PS,PM,PB},設(shè)計(jì)模糊控制規(guī)則為49條:
(1)If(eis NB)and(ecis NB)then(uois PB);
(2)If(eis PM)and(ecis 0)then(uois NB);
?
(49)If(eis PB)and(ecis PB)then(uois NB)。運(yùn)用上述的模糊控制器的輸入輸出規(guī)則可以得到模糊補(bǔ)償環(huán)節(jié)的控制規(guī)則如表1所示。
表1 uo的模糊控制規(guī)則設(shè)計(jì)
對(duì)于論域固定的模糊補(bǔ)償器,對(duì)n關(guān)節(jié)剛性機(jī)械臂受擾動(dòng)狀態(tài)下,其期望軌跡與實(shí)際軌跡之間的差值變大會(huì)超出模糊補(bǔ)償器的輸入范圍并導(dǎo)致超出論域范圍的部分失效,不能起到調(diào)節(jié)補(bǔ)償作用。本文提出用比例因子對(duì)輸入?yún)^(qū)間進(jìn)行調(diào)整的策略
ein=d(e/a)
(19)
式中:a是當(dāng)輸入?yún)?shù)e大于論域區(qū)間時(shí)的最大值,表示為
(20)
d是模糊控制器的輸入?yún)?shù)e的論域范圍的最大值;ein是經(jīng)過比例變換后的模糊控制器的輸入?yún)?shù)。
參數(shù)可調(diào)的RBF神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)框圖如圖2所示。
圖2 控制系統(tǒng)整體框圖
為了驗(yàn)證本文提出的控制方法的有效性,對(duì)雙關(guān)節(jié)機(jī)械臂系統(tǒng)進(jìn)行仿真驗(yàn)證。式(1)雙關(guān)節(jié)機(jī)械臂動(dòng)力學(xué)方程中的各參數(shù)計(jì)算公式如下
(21)
(22)
(23)
(24)
τd=[0.2sint,0.2sint]
(25)
(1)對(duì)參數(shù)b的遺傳算法仿真取RBF神經(jīng)網(wǎng)絡(luò)的c值為
當(dāng)RBF神經(jīng)網(wǎng)絡(luò)的神經(jīng)元寬度b取不同值時(shí),根據(jù)式(16)所得對(duì)應(yīng)的機(jī)械臂關(guān)節(jié)角度誤差如表2所示。
表2 參數(shù)b的值以及對(duì)應(yīng)的誤差E
對(duì)表2中的誤差結(jié)果進(jìn)行函數(shù)擬合,結(jié)果如圖3~圖6所示。
圖3 函數(shù)擬合結(jié)果圖
圖4 參數(shù)b的遺傳尋優(yōu)結(jié)果
圖5 關(guān)節(jié)1實(shí)際誤差
(a)關(guān)節(jié)1
通過遺傳算法尋優(yōu)得到的最優(yōu)解b=6.643 5,E=0.102 1。
(2)利用梯度下降法對(duì)參數(shù)c的值進(jìn)行調(diào)整,并采用模糊控制算法對(duì)機(jī)械臂轉(zhuǎn)矩進(jìn)行補(bǔ)償仿真,其中RBF神經(jīng)網(wǎng)絡(luò)的高斯基函數(shù)中的參數(shù)c的初始值為
b=10。
基本模型和含模糊補(bǔ)償器對(duì)比結(jié)果如圖7、圖8所示。
(a)關(guān)節(jié)1
(a)關(guān)節(jié)1
從圖6和圖7中利用參數(shù)b和c進(jìn)行尋優(yōu)調(diào)節(jié)的方法結(jié)果和圖8中利用模糊補(bǔ)償器對(duì)神經(jīng)網(wǎng)絡(luò)控制調(diào)整的結(jié)果可得出,參數(shù)調(diào)節(jié)以及模糊補(bǔ)償?shù)姆椒ň軐?shí)現(xiàn)對(duì)RBF神經(jīng)網(wǎng)絡(luò)控制方法的改進(jìn),可以減小機(jī)械臂起始運(yùn)行階段實(shí)際軌跡與理想軌跡之間的誤差,從而提高對(duì)期望軌跡的跟蹤精度。模糊補(bǔ)償器通過提取輸出軌跡誤差可以實(shí)時(shí)補(bǔ)償機(jī)械臂控制轉(zhuǎn)矩的變化需求,縮短了機(jī)械臂達(dá)到穩(wěn)定的時(shí)間,說明該控制方法能夠更快地逼近系統(tǒng)的不確定項(xiàng)。根據(jù)仿真結(jié)果分析,本文提出的方法不僅可以使初始運(yùn)行狀態(tài)快速達(dá)到穩(wěn)定,而且對(duì)存在擾動(dòng)的情況也可以有很好的調(diào)節(jié)效果。
本文面向多關(guān)節(jié)剛性機(jī)械臂設(shè)計(jì)了一種新型參數(shù)可調(diào)徑向基(RBF)神經(jīng)網(wǎng)絡(luò)控制器。運(yùn)用梯度下降法對(duì)RBF神經(jīng)網(wǎng)絡(luò)中心參數(shù)進(jìn)行修正,實(shí)現(xiàn)了網(wǎng)絡(luò)中心參數(shù)的在線優(yōu)化。進(jìn)一步提出了一種輸入邊界可以調(diào)整的模糊補(bǔ)償器,使補(bǔ)償后的機(jī)械臂實(shí)際軌跡更好地逼近理想軌跡。最后,采用遺傳算法對(duì)RBF神經(jīng)網(wǎng)絡(luò)函數(shù)寬度值進(jìn)行尋優(yōu)。仿真結(jié)果表明,本文提出的參數(shù)可調(diào)整的RBF神經(jīng)網(wǎng)絡(luò)控制方法提高了機(jī)械臂控制過程中的精確性和魯棒性,并有效地減少了軌跡跟蹤的時(shí)間。