龔雙雙,劉 霞
(西華大學(xué)電氣與電子信息學(xué)院,四川 成都 610039)
機(jī)器人控制容易受到外部干擾等不確定性的影響,所以,設(shè)計(jì)一種能減小不確定性影響的控制器就尤為重要。滑模變結(jié)構(gòu)控制的滑動模態(tài)可以按照需要設(shè)計(jì),而且系統(tǒng)的滑模運(yùn)動與控制對象的參數(shù)變化和系統(tǒng)的外界干擾無關(guān);因此,滑模控制相比于其他控制算法具有較高的魯棒性。但是,滑模控制的不連續(xù)開關(guān)特性會產(chǎn)生不可避免的抖振現(xiàn)象,即當(dāng)系統(tǒng)狀態(tài)軌跡到達(dá)滑模面后,難于嚴(yán)格地沿著滑面向著平衡點(diǎn)滑動,而是在滑模面兩側(cè)來回穿越,從而產(chǎn)生抖振。抖振會使控制精確度降低,增加能量消耗,嚴(yán)重時會使系統(tǒng)產(chǎn)生振蕩或失穩(wěn),損壞控制器部件[1-2]。
針對機(jī)器人滑模控制抗抖振問題,學(xué)者們從不同角度提出了解決方法。文獻(xiàn)[3]針對輸送用多電機(jī)驅(qū)動雙并聯(lián)機(jī)器人的同步協(xié)調(diào)問題,提出了一種復(fù)合誤差魯棒同步滑模控制方法,與傳統(tǒng)的同步滑模控制相比,其魯棒性更好且滑模控制抖振更小。文獻(xiàn)[4]針對風(fēng)電葉片打磨機(jī)器人的力控制問題,采用非奇異快速終端滑模面和多冪次趨近率來設(shè)計(jì)帶擾動補(bǔ)償?shù)目刂坡桑箼C(jī)器人的力控制性能更精確,同時減小了滑模控制的抖振。文獻(xiàn)[5]針對農(nóng)用履帶機(jī)器人軌跡跟蹤問題,設(shè)計(jì)了一種自適應(yīng)滑模控制,將滑模控制器設(shè)計(jì)為等效控制和切換控制2 部分,使履帶機(jī)器人能跟隨期望的軌跡運(yùn)行,同時利用自適應(yīng)控制方法減小滑模控制的抖振。文獻(xiàn)[6]研究了空間三關(guān)節(jié)機(jī)器人的軌跡跟蹤問題,采用低通濾波器與滑模控制相結(jié)合,解決傳統(tǒng)滑模控制中存在的跟蹤精度低、抖振較大的問題。文獻(xiàn)[7]采用基于遺傳算法的積分滑模控制器實(shí)現(xiàn)對水下機(jī)器人的精準(zhǔn)定位和穩(wěn)定控制,用積分項(xiàng)來定位水下機(jī)器人的導(dǎo)航滑模面的誤差,縮小了導(dǎo)航定位誤差,同時減小了抖振。文獻(xiàn)[8]針對機(jī)械臂的運(yùn)動控制問題,提出基于干擾觀測器的自適應(yīng)滑模控制器,該控制器的精確度高,且減小了機(jī)械臂的抖振。在這些方法中,滑模控制器內(nèi)的切換增益都是固定不變的。由于滑模控制的抖振大小與其控制器內(nèi)的切換增益有關(guān),所以對切換項(xiàng)的增益進(jìn)行調(diào)節(jié),可以達(dá)到降低滑模控制抖振的目的。
因此,本文提出了一種基于切換增益調(diào)節(jié)的神經(jīng)網(wǎng)絡(luò)滑模控制方法。該方法在傳統(tǒng)滑模控制的基礎(chǔ)上結(jié)合了神經(jīng)網(wǎng)絡(luò)控制方法,利用神經(jīng)網(wǎng)絡(luò)逼近滑模控制中切換控制部分的增益,能使切換增益隨著機(jī)器人關(guān)節(jié)位置的變化而實(shí)時改變。仿真結(jié)果表明,與傳統(tǒng)的固定增益的滑模控制相比較,該方法能使機(jī)器人更好地跟蹤期望的位置軌跡,并有效地減輕抖振。
一個n關(guān)節(jié)機(jī)器人,其動力學(xué)模型可由二階非線性微分方程[9]來描述。

本文采用自適應(yīng)神經(jīng)滑模控制器對機(jī)器人的位置進(jìn)行控制。由于滑模控制的抖振大小是由其控制器切換增益K所決定,所以采用RBF 神經(jīng)網(wǎng)絡(luò)對切換項(xiàng)的增益K進(jìn)行調(diào)節(jié),以降低滑模控制的抖振。所設(shè)計(jì)的控制算法的思路如圖1 所示。

圖1 神經(jīng)滑模控制系統(tǒng)思路框圖
由圖1 可以看出,整個控制系統(tǒng)的輸入信號為機(jī)器人的期望關(guān)節(jié)角位移r,r減去反饋回來的機(jī)器人實(shí)際關(guān)節(jié)角位移q得 到位置的跟蹤誤差e,然后將e輸入給切換面s,得到切換面后,分別設(shè)計(jì)等效控制器 τde和切換控制器 τqi,切換控制器 τqi中的切換增益K由RBF 神經(jīng)網(wǎng)絡(luò)進(jìn)行調(diào)節(jié),接著將等效控制器和切換控制器2 部分相加得到神經(jīng)滑模控制器τ,將 τ輸入給一個有外界干擾 τd的機(jī)器人,控制機(jī)器人關(guān)節(jié)的轉(zhuǎn)矩,再接著運(yùn)用機(jī)器人運(yùn)動學(xué)逆解求出機(jī)器人的關(guān)節(jié)角加速度q¨,對q¨求2 次積分得到關(guān)節(jié)角位移q,再將q反饋給輸入信號。
機(jī)器人軌跡跟蹤的控制目標(biāo)是關(guān)節(jié)角位移q盡可能好地跟蹤期望的關(guān)節(jié)角位移r。機(jī)器人的位置跟蹤誤差定義為

滑模面[10]定義為

式中,λ為正定對角矩陣,λ=diag(λ1,λ2,λ3,···,λn),其中 λi(i=1,2,3,···,n)均為大于0 的常數(shù)。
對式(3)求導(dǎo),得

將式(2)代入式(4),可得

由式(1)可得

將式(6)代入式(5),可得

滑模控制器的等效控制部分為

式中,τde即為式(7)中的τ(為了和最終的滑模控制器公式(10)區(qū)分,故變τ為 τde)。
由于本文研究的對象為不確定的系統(tǒng),而且具有外界干擾,所以需要再設(shè)計(jì)一個切換控制器 τqi實(shí)現(xiàn)對外界干擾的穩(wěn)定性控制。切換控制部分為

式中:切換增益K=diag(k1,k2,k3,···,kn),sgn(s)表示符號函數(shù);ki(i=1,2,3,···,n)為大于0 的常數(shù)。
由式(8)和(9)可得到滑模控制器,為

控制器 τ由等效控制 τde和切換控制 τqi組成。下面將對 τqi中的切換增益K采用神經(jīng)網(wǎng)絡(luò)進(jìn)行調(diào)節(jié)。

式中:j=1,2,3,···,m;m為RBF 中隱含層的個數(shù);ρj為隱含層第j個神經(jīng)元的中心向量;ωj為高斯基函數(shù)的長度值。那么,RBF 神經(jīng)網(wǎng)絡(luò)的輸出為

其中,δj(t)(j=1,2,3,···,m)為RBF 神經(jīng)網(wǎng)絡(luò)權(quán)值系數(shù)。
為了更好地調(diào)節(jié)切換增益K,對神經(jīng)網(wǎng)絡(luò)權(quán)值系數(shù)δj(t)進(jìn)行逼近。首先定義一個變量θ,為

網(wǎng)絡(luò)權(quán)值系數(shù) δ(t)=(δ1(t),δ2(t),δ3(t),···,δm(t))按照下列方法進(jìn)行調(diào)節(jié)。

式中: μ為網(wǎng)絡(luò)學(xué)習(xí)速率;Δδ(t)為網(wǎng)絡(luò)權(quán)值系數(shù)的修正項(xiàng)。
將式(13)代入式(14),可得


將式(9)、式(12)代入式(16)整理后,可得

那么,δ(t)的學(xué)習(xí)算法為

其中,ξ為動量因子,ξ ∈(0,1)。
將式(12)代入原切換控制器式(9),得到新的切換控制器,為

由式(8)和式(19)可知,所設(shè)計(jì)的基于RBF 神經(jīng)網(wǎng)絡(luò)的滑模控制器為

為了驗(yàn)證上述神經(jīng)滑模控制算法的有效性,利用MATLAB 對雙關(guān)節(jié)機(jī)器人進(jìn)行仿真[10],并與傳統(tǒng)的滑模控制器進(jìn)行對比。
雙關(guān)節(jié)機(jī)器人的慣性矩陣M(q)為


式中:q1、q2為雙關(guān)節(jié)機(jī)器人的2 個關(guān)節(jié);m1、m2分別為機(jī)器人連桿1、連桿2 的質(zhì)量;l1、l2分別為機(jī)器人連桿1、連桿2 的長度。具體數(shù)值如表1 所示。

表1 機(jī)器人的參數(shù)取值
機(jī)器人的期望軌跡為

式中: α表示外部干擾的中值;β表示干擾作用的時間范圍。仿真中 α=1.5,β=0.09。擾動的大小由φ決定,在仿真中,設(shè)置φ=20。
神經(jīng)元的寬度取為:

網(wǎng)絡(luò)權(quán)值系數(shù)初始值取為:

高斯參數(shù)取ρ1=10×ones(4,5),ρ2=10×ones(4,5)。
此外,在仿真時,式(14)中 μ=80,式(18)中ξ=0.05。仿真結(jié)果如圖2、圖3、圖4 和圖5 所示。由圖可知:當(dāng)采用傳統(tǒng)滑模控制時,機(jī)器人2 個關(guān)節(jié)的實(shí)際位置和期望位置相差較大,最大跟蹤誤差大約有1.5 rad;當(dāng)采用基于切換增益調(diào)節(jié)的神經(jīng)網(wǎng)絡(luò)滑模控制時,機(jī)器人2 個關(guān)節(jié)的實(shí)際位置能很好地跟蹤期望位置,跟蹤誤差在0.02 rad 以內(nèi)。

圖2 關(guān)節(jié)1 的位置跟蹤
由圖6、圖7 可知:當(dāng)采用傳統(tǒng)滑模控制時,2 個關(guān)節(jié)的控制輸入會出現(xiàn)較大的抖振現(xiàn)象,尤其是在前2 s 內(nèi),抖振較為明顯;當(dāng)采用基于切換增益調(diào)節(jié)的神經(jīng)網(wǎng)絡(luò)滑模控制時,2 個關(guān)節(jié)的控制輸入會隨著期望的關(guān)節(jié)位置的變化而呈周期性的變化,控制輸入的抖振更小。
此外,由于傳統(tǒng)滑模控制中切換增益是固定的,2 個關(guān)節(jié)的切換增益將一直保持在[K1K2]T=[ 50 30 ]T不變,故沒有給出其增益變化圖。由圖8 可知,當(dāng)采用基于切換增益調(diào)節(jié)的神經(jīng)網(wǎng)絡(luò)滑模控制時,2 個關(guān)節(jié)的切換增益會不斷變化,這是由于RBF 神經(jīng)網(wǎng)絡(luò)對切換增益的實(shí)時逼近,使切換增益會隨著關(guān)節(jié)位置的變化而改變。

圖3 關(guān)節(jié)2 的位置跟蹤

圖4 關(guān)節(jié)1 的位置跟蹤誤差
表2 比較了2 種控制器對機(jī)器人關(guān)節(jié)的位置跟蹤誤差。由表可知:使用傳統(tǒng)滑模控制器控制時,機(jī)器人關(guān)節(jié)1 的位置跟蹤誤差最大值為1.523 rad,關(guān)節(jié)2 的最大位置跟蹤誤差為1.518 rad;使用切換增益調(diào)節(jié)的神經(jīng)滑膜控制器控制時,機(jī)器人關(guān)節(jié)1 的位置跟蹤誤差最大值為0.037 rad,關(guān)節(jié)2 的最大位置跟蹤誤差為0.085 rad。

圖5 關(guān)節(jié)2 的位置跟蹤誤差

圖6 關(guān)節(jié)1 的控制輸入
通過對2 種控制器的仿真結(jié)果圖進(jìn)行比較發(fā)現(xiàn):傳統(tǒng)的滑模控制器對雙關(guān)節(jié)機(jī)器人的關(guān)節(jié)位置跟蹤誤差較大,抗外部干擾的能力不強(qiáng),而且控制輸入會產(chǎn)生較大的抖振現(xiàn)象;本文設(shè)計(jì)的基于機(jī)器人切換增益調(diào)節(jié)的神經(jīng)滑模控制器,對關(guān)節(jié)的跟蹤誤差會逐漸收斂到很小的范圍內(nèi),相比于傳統(tǒng)的滑模控制,跟蹤誤差大大減小,而且有效解決了傳統(tǒng)滑模控制方法中抖振較大的問題。

圖7 關(guān)節(jié)2 的控制輸入

圖8 切換增益的變化

表2 2 種控制器的位置跟蹤誤差比較
本文針對機(jī)器人的軌跡跟蹤問題,提出了一種基于切換增益的神經(jīng)滑模控制方法。首先,設(shè)計(jì)了針對機(jī)器人位置的滑模控制器;然后,通過RBF 神經(jīng)網(wǎng)絡(luò)來調(diào)節(jié)滑模控制器中的切換增益,使切換增益能隨著外界干擾等不確定項(xiàng)的改變而改變,從而能實(shí)時地估計(jì)切換增益,解決了傳統(tǒng)滑模控制中的抖振問題。通過仿真對比結(jié)果表明,與傳統(tǒng)的固定增益滑模控制相比,本文提出的方法能有效跟蹤機(jī)器人的關(guān)節(jié)位置,大大地減小了跟蹤誤差。由于本文只在仿真層面對算法進(jìn)行了驗(yàn)證,今后可以將本文提出的方法在實(shí)際的機(jī)器人上進(jìn)行實(shí)驗(yàn),驗(yàn)證算法的有效性。