劉凌,李志成,張瑩
(1.西安交通大學電力設備電氣絕緣國家重點實驗室,710049,西安;2.西安交通大學電氣工程學院,710049,西安)
隨著機械臂系統在生產生活中的應用范圍越來越廣,機械臂系統的控制精度和控制穩定性要求也越來越高。目前機械臂已經廣泛地應用在機械制造[1]、交通運輸[2]、農業生產[3]、航空航天[4]、醫療衛生[5]等領域。由于機械臂要完成的任務很復雜,所以單關節機械臂難以實現這些操作,很多操作是需要多關節機械臂來完成的。多關節機械臂是一個非線性,強耦合的系統[6],機械臂控制問題的目標是將機械臂的終端穩定、準確地控制到其期望的位置,由于其運行時工作環境的變化而受到外界不確定因素的擾動以及負載的變化,都會加大機械臂控制的難度。
近年來國內外眾多學者在機械臂的控制方面做了很多研究。在機器人機械臂控制算法上有滑模控制[7-9]、自適應控制[10-12]、PID控制[13-14]、神經網絡控制[15-17]等。由于神經網絡有很好的非線性逼近能力,而且神經網絡控制所需條件較少,所以神經網絡在機器人控制方面應用很廣泛。運用RBF神經網絡控制有達到穩定所需時間較長,運行初始階段誤差較大等缺點。很多學者對這些情況進行了優化。文獻[18]采用了RBF神經網絡估計器和觀測器對系統的不確定性進行估計,從而達到對神經網絡權值進行更新的目的,提高了對機械臂動力學不確定部分的補償作用。文獻[19]設計了新型魯棒項來調節神經網絡的權值并補償控制過程中的未知項,改善了神經網絡對系統結構發生變化時對未知部分的補償效果。文獻[20]提出了一種利用熵聚類的方法對RBF神經網絡的基函數中心值進行計算,避免了傳統算法中使用K均值方法的重復迭代過程并通過梯度下降法調整神經網絡傳遞權值,提高了快速性和準確性。
為了克服神經網絡參數固定所帶來的初始運行誤差大、達到穩定狀態所需時間長的問題,本文提出了一種參數可調的RBF神經網絡算法對雙關節機械臂模型的控制誤差進行補償。設計了一種模糊控制器對雙關節的輸出控制力矩進行補償,使經過調整后的力矩可以更好地逼近實際控制力矩。數值仿真結果表明,本文提出的方法可以有效地減小機械臂初始運行時的誤差幅值和系統達到穩定的時間。
針對n關節剛性機械臂,考慮摩擦力和外加擾動,其動力學方程可以表示為
(1)

為了使機械臂的實際位置更快更好地趨近于理想位置。針對雙關節機械臂軌跡控制中誤差逼近過程初始誤差大的缺陷,本文提出一種改進型RBF神經網絡控制方法,網絡的中心以及魯棒項中的補償環節可以根據實際誤差的大小來調節自身的參數進而實現軌跡跟蹤。
雙關節剛性機械臂示意圖如圖1所示。圖中l1為連桿1的長度,l2為連桿2的長度。m1為連桿1的質量,m2為連桿2的質量。q1和q2分別是關節1和關節2的位置角。

圖1 機械臂結構
對于n關節機械臂由于模型不確定項帶來的誤差f(x)采用RBF網絡進行逼近。定義RBF網絡函數
(2)
f(x)=WTφ(x)+μ
(3)
式中:x為神經網絡的輸入信號;W為神經網絡的權值向量;φ(x)為神經網絡中間層的輸出向量;μ為神經網絡的逼近誤差;ci是RBF神經網絡第i個中間神經元的中心值向量;b是中間神經元函數寬度。
跟蹤誤差定義為
e(t)=qd(t)-q(t)
(4)
式中:qd為機械臂運動的理想位置角軌跡;e=[e1,e2,…,en]T。誤差函數定義為
(5)
式中:r=[r1,r2,…,rn]T;Λ=ΛT且為正定矩陣。機械臂速度定義為
(6)
將式(6)代入式(1)并整理得
G+F+τd-τ=-Cr-τ+f(x)+τd
(7)
式中
(8)
取神經網絡的輸入為
控制率設計為
(9)
將控制率(9)代入到式(7)得
(10)

考慮存在神經網絡的逼近誤差和外加未知干擾存在的情況,設計了一種參數可調的魯棒項h=kuo。其中k是一個正的常數。uo=[uo1,uo2,…,uon]T是補償器的輸出。
設計Lyapunov函數為
(11)
對式(11)求導并將式(10)代入得
(12)
(13)
(14)
rT(μ+τd+h)=rT(μ+τd+ku0)≤0
(15)

RBF神經網絡在控制機械臂系統運行的過程中,其參數b的選取對系統的控制穩定性影響較大,本文通過遺傳算法確定了該參數的最優值。本文首先選取7個不同的b值進行測試,得到了7組機械臂實際位置和理想位置的誤差結果。基于該結果進行擬合,得到擬合曲線。利用遺傳算法對擬合得到的曲線進行參數尋優,最終得到最優的函數寬度b。機械臂關節角度誤差的計算公式為
(16)
式中:E為實際位置與理想位置的誤差量;H1、H2、H3、H4分別是第一關節在取得前4個實際位置波形最值時刻的誤差值。
設置尋優參數:種群個體數為40,最大遺傳代數為25,代溝設置為0.9。
傳統的RBF神經網絡多通過對權值的調整對不確定項進行逼近,使輸出可以逼近不確定項,從而使控制力矩接近實際力矩。本文利用關節實際誤差來調整神經網絡的中心參數cj,其修正參數如下
(17)

經過n次迭代的中心參數為
cj(n+1)=cj(n)+Δcj
(18)
為了補償機械臂在運行過程中由于不確定擾動因素所帶來的影響,本節采用模糊補償環節對控制力矩進行調整。在輸入參數變化范圍較大時,輸入參數值可能會超出模糊補償環節的邊界范圍。設計伸縮因子調整模糊補償論域的輸入范圍可提高控制器的有效性并對輸入力矩進行有效補償。在機械臂運行過程中,檢測模塊會不斷測量理想軌跡與實際軌跡之間的誤差,將誤差和誤差變化率作為模糊控制器的輸入,并將模糊控制器的輸出傳遞到轉矩控制模塊,對機械臂轉矩參數進行定時調整??刂破鞯难a償原則為:
(1)當軌跡之間的誤差值為正的較大值時,關節電機的輸入轉矩大于理想轉矩,此時需要補償器返回一個負值來調整關節電機的實際轉矩;
(2)當軌跡之間的誤差值為負的較大值時,機械臂關節電機的輸入轉矩小于理想轉矩,此時需要補償器返回一個正的值來調整電機的實際輸出轉矩;
(3)當軌跡之間的誤差很小的時候電機的輸出轉矩只需要很小地調整。
根據以上原則設計如下轉矩模糊補償器。補償器設計為雙輸入單輸出。二維輸入為e和ec,控制器輸出為uo。模糊規則是用來描述控制方法的語句,模糊化是將機械臂實際的軌跡和理想軌跡的誤差e和誤差變化率ec作為模糊控制器的輸入。軌跡誤差變化率模糊子集為{負大,負中,負小,0,正小,正中,正大}={NB,NM,NS,ZO,PS,PM,PB},模糊控制器的輸出為{負大,負中,負小,0,正小,正中,正大}={NB,NM,NS,ZO,PS,PM,PB},設計模糊控制規則為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)。運用上述的模糊控制器的輸入輸出規則可以得到模糊補償環節的控制規則如表1所示。

表1 uo的模糊控制規則設計
對于論域固定的模糊補償器,對n關節剛性機械臂受擾動狀態下,其期望軌跡與實際軌跡之間的差值變大會超出模糊補償器的輸入范圍并導致超出論域范圍的部分失效,不能起到調節補償作用。本文提出用比例因子對輸入區間進行調整的策略
ein=d(e/a)
(19)
式中:a是當輸入參數e大于論域區間時的最大值,表示為
(20)
d是模糊控制器的輸入參數e的論域范圍的最大值;ein是經過比例變換后的模糊控制器的輸入參數。
參數可調的RBF神經網絡控制系統框圖如圖2所示。

圖2 控制系統整體框圖
為了驗證本文提出的控制方法的有效性,對雙關節機械臂系統進行仿真驗證。式(1)雙關節機械臂動力學方程中的各參數計算公式如下
(21)
(22)
(23)
(24)
τd=[0.2sint,0.2sint]
(25)

(1)對參數b的遺傳算法仿真取RBF神經網絡的c值為
當RBF神經網絡的神經元寬度b取不同值時,根據式(16)所得對應的機械臂關節角度誤差如表2所示。

表2 參數b的值以及對應的誤差E
對表2中的誤差結果進行函數擬合,結果如圖3~圖6所示。

圖3 函數擬合結果圖

圖4 參數b的遺傳尋優結果

圖5 關節1實際誤差

(a)關節1
通過遺傳算法尋優得到的最優解b=6.643 5,E=0.102 1。
(2)利用梯度下降法對參數c的值進行調整,并采用模糊控制算法對機械臂轉矩進行補償仿真,其中RBF神經網絡的高斯基函數中的參數c的初始值為
b=10。
基本模型和含模糊補償器對比結果如圖7、圖8所示。

(a)關節1

(a)關節1
從圖6和圖7中利用參數b和c進行尋優調節的方法結果和圖8中利用模糊補償器對神經網絡控制調整的結果可得出,參數調節以及模糊補償的方法均能實現對RBF神經網絡控制方法的改進,可以減小機械臂起始運行階段實際軌跡與理想軌跡之間的誤差,從而提高對期望軌跡的跟蹤精度。模糊補償器通過提取輸出軌跡誤差可以實時補償機械臂控制轉矩的變化需求,縮短了機械臂達到穩定的時間,說明該控制方法能夠更快地逼近系統的不確定項。根據仿真結果分析,本文提出的方法不僅可以使初始運行狀態快速達到穩定,而且對存在擾動的情況也可以有很好的調節效果。
本文面向多關節剛性機械臂設計了一種新型參數可調徑向基(RBF)神經網絡控制器。運用梯度下降法對RBF神經網絡中心參數進行修正,實現了網絡中心參數的在線優化。進一步提出了一種輸入邊界可以調整的模糊補償器,使補償后的機械臂實際軌跡更好地逼近理想軌跡。最后,采用遺傳算法對RBF神經網絡函數寬度值進行尋優。仿真結果表明,本文提出的參數可調整的RBF神經網絡控制方法提高了機械臂控制過程中的精確性和魯棒性,并有效地減少了軌跡跟蹤的時間。