徐智超,文曉燕,張 雷
(北京建筑大學(xué)電氣與信息工程學(xué)院,北京 102600)
隨著機(jī)器人技術(shù)的發(fā)展,機(jī)械臂的應(yīng)用領(lǐng)域不斷拓寬,現(xiàn)已廣泛應(yīng)用在工業(yè)制造、醫(yī)療健康、航空航天、海洋探索[1-4]等領(lǐng)域。其中,軌跡跟蹤控制問(wèn)題始終是機(jī)械臂研究的熱點(diǎn)。由于機(jī)械臂是非線性、強(qiáng)耦合的復(fù)雜系統(tǒng),且在實(shí)際運(yùn)行中存在摩擦和外部干擾等不確定項(xiàng),難以實(shí)現(xiàn)精確的軌跡跟蹤控制。因此,實(shí)現(xiàn)機(jī)械臂的高精度、高穩(wěn)定性軌跡跟蹤是一項(xiàng)具有挑戰(zhàn)性的任務(wù)。傳統(tǒng)的控制算法如PID控制、魯棒控制等,這些方法雖然具有不依賴系統(tǒng)模型、簡(jiǎn)單易實(shí)現(xiàn)的優(yōu)點(diǎn),但是通常難以滿足愈加復(fù)雜的操作任務(wù)和工作環(huán)境對(duì)機(jī)械臂控制性能的要求。
近年來(lái),各種新型控制方法應(yīng)運(yùn)而生,以解決機(jī)械臂軌跡跟蹤控制問(wèn)題。YI、SUN等[5-7]分別提出了滑??刂婆c自適應(yīng)控制、擴(kuò)展?fàn)顟B(tài)觀測(cè)器以及魯棒自適應(yīng)模糊控制相結(jié)合的控制方法。其中,YI等[5]引入自適應(yīng)方法對(duì)系統(tǒng)不確定性進(jìn)行補(bǔ)償,保證了系統(tǒng)性能,并進(jìn)一步提高了機(jī)械臂軌跡跟蹤的精度。SUN等[6]利用擴(kuò)展?fàn)顟B(tài)觀測(cè)器來(lái)估計(jì)機(jī)械臂系統(tǒng)參數(shù)不確定性和外部干擾。YIN等[7]將機(jī)械臂系統(tǒng)中的集中不確定性和干擾分為低頻分量和高頻分量,采用自適應(yīng)方法補(bǔ)償?shù)皖l分量,建立模糊邏輯系統(tǒng)補(bǔ)償高頻分量。此外,KUMAR等[8]為三連桿機(jī)械臂系統(tǒng)設(shè)計(jì)了一種分?jǐn)?shù)階自整定模糊PID控制器,通過(guò)與其他方法的對(duì)比實(shí)驗(yàn),證明了該控制器在軌跡跟蹤、干擾抑制、噪聲抑制和補(bǔ)償模型不確定性方面性能更佳。陳引娟等[9]針對(duì)存在建模不確定性和外部干擾的機(jī)械臂系統(tǒng),設(shè)計(jì)了一種標(biāo)稱計(jì)算力矩控制器和變論域模糊補(bǔ)償器相結(jié)合的控制方案。利用計(jì)算力矩控制器求解標(biāo)稱系統(tǒng)控制力矩,通過(guò)變論域模糊補(bǔ)償器對(duì)不確定項(xiàng)進(jìn)行估計(jì)和補(bǔ)償,實(shí)驗(yàn)表明該控制方案有效提升了系統(tǒng)的跟蹤性能。盡管上述研究在提升軌跡跟蹤精度方面取得了一定的成果,然而上述控制方法均未考慮機(jī)械臂系統(tǒng)的狀態(tài)約束和控制輸入約束,會(huì)導(dǎo)致不可預(yù)測(cè)的安全性問(wèn)題以及影響跟蹤性能。
模型預(yù)測(cè)控制(model predictive control,MPC)是一種基于預(yù)測(cè)模型的閉環(huán)尋優(yōu)控制策略,能夠處理耦合、約束和時(shí)變等問(wèn)題,克服了上述方法的缺點(diǎn)。SHI等[10]對(duì)MPC、滑模控制、力矩控制3種控制方法在機(jī)械臂軌跡跟蹤中的性能進(jìn)行了比較,結(jié)果表明MPC的跟蹤效果更為突出。INCREMONA、NICOLIS等[11-12]均提出了將滑模控制與MPC結(jié)合的魯棒控制方案,利用滑??刂蒲a(bǔ)償未建模的系統(tǒng)動(dòng)力學(xué)和干擾,MPC用于保證滿足運(yùn)動(dòng)和驅(qū)動(dòng)約束。KANG等[13]提出了一種基于神經(jīng)網(wǎng)絡(luò)的模型預(yù)測(cè)控制方法。該方法引入兩組徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)(RBFNNs),分別用于處理系統(tǒng)不確定性和解決優(yōu)化問(wèn)題。XIE等[14]將機(jī)械臂的學(xué)習(xí)模型與標(biāo)稱模型引入了MPC框架,提出了一種基于學(xué)習(xí)的非線性模型預(yù)測(cè)控制方法,在學(xué)習(xí)模型中利用神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)了一個(gè)在線參數(shù)估計(jì)器來(lái)處理系統(tǒng)的不確定性。雖然滑模控制和神經(jīng)網(wǎng)絡(luò)與MPC結(jié)合的控制方法能夠有效處理系統(tǒng)不確定性,但滑模控制存在因控制變量不連續(xù)而導(dǎo)致的系統(tǒng)出現(xiàn)抖振的問(wèn)題和滑模面選擇困難的問(wèn)題;同時(shí),神經(jīng)網(wǎng)絡(luò)需要大量的數(shù)據(jù)進(jìn)行訓(xùn)練,迭代成本較高。模糊控制理論能夠用自然語(yǔ)言描述系統(tǒng)性能,確定控制規(guī)則,簡(jiǎn)單高效地實(shí)現(xiàn)控制目標(biāo),有較強(qiáng)的魯棒性[15],可以彌補(bǔ)上述方法的不足,所以本文利用模糊控制理論設(shè)計(jì)模糊補(bǔ)償器,以補(bǔ)償機(jī)械臂系統(tǒng)存在的不確定項(xiàng)。
基于上述研究,本文針對(duì)機(jī)械臂系統(tǒng)存在未知摩擦項(xiàng)和外部干擾的情況,充分考慮了機(jī)械臂系統(tǒng)的狀態(tài)約束和控制輸入約束,設(shè)計(jì)了一種模型預(yù)測(cè)控制與模糊補(bǔ)償相結(jié)合的控制方案。首先利用逆動(dòng)力學(xué)方法實(shí)現(xiàn)機(jī)械臂系統(tǒng)反饋線性化,然后利用模型預(yù)測(cè)控制得到機(jī)械臂系統(tǒng)已知部分的最優(yōu)控制量,并利用模糊補(bǔ)償器對(duì)機(jī)械臂系統(tǒng)存在的不確定項(xiàng)進(jìn)行補(bǔ)償,最后將兩者結(jié)合構(gòu)成新的機(jī)械臂軌跡跟蹤控制策略。
針對(duì)任意一個(gè)n關(guān)節(jié)的機(jī)械臂,利用Lagrange方法建立其動(dòng)力學(xué)模型,其Lagrange函數(shù)為:
L=EK-EP
(1)
式中:EK和EP分別表示機(jī)械臂系統(tǒng)的總動(dòng)能和總勢(shì)能。則機(jī)械臂Lagrange動(dòng)力學(xué)方程為:
(2)
(3)
在實(shí)際應(yīng)用中,機(jī)械臂系統(tǒng)存在未知摩擦項(xiàng)和外部干擾等不確定性因素,因此機(jī)械臂動(dòng)力學(xué)方程可表示為:
(4)
為了將非線性機(jī)械臂系統(tǒng)簡(jiǎn)化為線性系統(tǒng),使用逆動(dòng)力學(xué)方法[16]實(shí)現(xiàn)反饋線性化。機(jī)械臂的逆動(dòng)力學(xué)方程可以在關(guān)節(jié)空間中寫成系統(tǒng)輸入和輸出之間的非線性關(guān)系,根據(jù)動(dòng)力學(xué)方程(4),將控制律轉(zhuǎn)化為如下形式:
(5)
(6)
(7)
針對(duì)式(3),只采用模型預(yù)測(cè)控制算法可以得到良好的跟蹤效果,然而機(jī)械臂系統(tǒng)具有強(qiáng)耦合、高度非線性的特點(diǎn),尤其是當(dāng)機(jī)械臂系統(tǒng)存在不確定項(xiàng)時(shí),可能會(huì)引起控制系統(tǒng)質(zhì)的變化和系統(tǒng)不穩(wěn)定[18],進(jìn)而導(dǎo)致軌跡跟蹤效果不理想。因此,本文利用模糊邏輯理論構(gòu)建模糊補(bǔ)償器,以此來(lái)消除不確定項(xiàng)對(duì)軌跡跟蹤的影響,將得到的補(bǔ)償控制量與模型預(yù)測(cè)控制相結(jié)合,實(shí)現(xiàn)機(jī)械臂對(duì)期望軌跡的跟蹤控制。
多連桿機(jī)械臂軌跡跟蹤控制的目標(biāo)是使實(shí)際關(guān)節(jié)角度位置q精準(zhǔn)跟蹤期望關(guān)節(jié)角度位置qd,故本文根據(jù)式(5)~式(7),將新的控制變量Vc進(jìn)一步設(shè)計(jì)為:
Vc=vmpc+vfuzzy
(8)
式中:vmpc是MPC控制器輸出的控制量,vfuzzy是模糊補(bǔ)償器輸出的補(bǔ)償控制量。本文提出的控制方法整體控制框圖如圖1所示,模糊補(bǔ)償器的作用是對(duì)機(jī)械臂系統(tǒng)存在的未知摩擦項(xiàng)及外部干擾等不確定性因素進(jìn)行補(bǔ)償,通過(guò)與MPC控制器結(jié)合,使機(jī)械臂在滿足狀態(tài)約束和控制輸入約束條件下以最優(yōu)的方式跟蹤目標(biāo)軌跡。
圖1 整體控制方案框圖
(9)
因?yàn)轭A(yù)測(cè)模型一般是線性離散的,因此需要將式(9)轉(zhuǎn)換為線性離散的預(yù)測(cè)模型。本文利用逆動(dòng)力學(xué)方法來(lái)實(shí)現(xiàn)反饋線性化。令:
(10)
則式(9)可以轉(zhuǎn)換為線性系統(tǒng):
(11)
將式(11)改寫成狀態(tài)空間形式:
(12)
式中:A、B、C為系數(shù)矩陣。
假設(shè)采樣周期為T,在t=k時(shí)刻采用前向歐拉法對(duì)式(12)進(jìn)行離散化,有:
(13)
(14)
式中:Ad=I+TA,Bd=TB,Cd=C。
在k時(shí)刻,給出一組輸入U(xiǎn)k和當(dāng)前狀態(tài)x(k),向后預(yù)測(cè)N步,則可以根據(jù)式(14)得到:
(15)
通過(guò)遞推和迭代運(yùn)算,可以得到:
(16)
式(16)可進(jìn)一步寫成:
Xk=Fx(k)+GUk
(17)
現(xiàn)定義k時(shí)刻的跟蹤誤差為:
e(k)=x(k)-xr(k)
(18)
式中:xr(k)為k時(shí)刻的期望狀態(tài)。同理,向后預(yù)測(cè)N步,可以得到:
2. The questions are concerning the knowledge, skills and professional dispositions of a qualified mathematics teacher in community college.
(19)
式(19)可進(jìn)一步寫成:
Ek=Fx(k)+GUk-Rk
(20)
考慮代價(jià)函數(shù):
(21)
式中:Q為狀態(tài)誤差權(quán)重矩陣,R為控制輸入權(quán)重矩陣。將式(20)代入式(21)可得:
(22)
對(duì)式(22)進(jìn)行歸納整理,并忽略不影響最小化代價(jià)函數(shù)J的項(xiàng),可以得到:
(23)
令H=GTQG+R,f=GTQ(Fx(k)-Rk),則式(23)可以寫為:
(24)
考慮機(jī)械臂系統(tǒng)的約束,假設(shè)系統(tǒng)狀態(tài)約束和控制輸入約束分別定義為:
xmin≤x≤xmax
(25)
vmin≤vmpc≤vmax
(26)
由于模型預(yù)測(cè)控制向后預(yù)測(cè)N步,為了滿足約束條件,結(jié)合式(17),式(25)、式(26)可化為:
Xmin≤Fx(k)+GUk≤Xmax
(27)
Umin≤Uk≤Umax
(28)
綜上所述,可以將MPC問(wèn)題轉(zhuǎn)化為QP(quadratic programming)問(wèn)題,即:
(29)
在機(jī)械臂運(yùn)行時(shí),檢測(cè)模塊會(huì)不斷測(cè)量實(shí)際軌跡與目標(biāo)軌跡之間的誤差,并將誤差和誤差變化率作為模糊補(bǔ)償器的輸入,輸出補(bǔ)償控制量。本文分別定義誤差和誤差變化率為:
(30)
(31)
表1 模糊控制規(guī)則表
(a) 輸入量誤差的隸屬函數(shù) (b) 輸入量誤差變化率的隸屬函數(shù)
整個(gè)控制部分的運(yùn)行方案如下:
步驟4:將控制力矩τ作用到機(jī)械臂,得到k+1時(shí)刻的狀態(tài)量,并置k=k+1返回步驟1。
為了驗(yàn)證本文所提出控制方案的有效性,以及不失一般性,選擇UR5機(jī)械臂第2、3關(guān)節(jié)所構(gòu)成的二連桿機(jī)械臂作為被控對(duì)象,并且為了更好地看出機(jī)械臂的實(shí)時(shí)運(yùn)動(dòng)情況,以及驗(yàn)證模型的正確性,本文在SimMechanics中建立UR5機(jī)械臂第2、3關(guān)節(jié)的簡(jiǎn)化模型,采用MATLAB/SimMechanics聯(lián)合仿真。圖3是UR5機(jī)械臂模型,圖4是二連桿機(jī)械臂簡(jiǎn)化圖。
圖3 UR5機(jī)械臂模型圖4 二連桿機(jī)械臂簡(jiǎn)化圖
在圖4中,m1,m2分別表示連桿1和連桿2的質(zhì)量,l1,l2分別表示連桿1和連桿2的長(zhǎng)度,C1和C2分別表示連桿1和連桿2的質(zhì)心,b1和b2分別表示關(guān)節(jié)1、2到質(zhì)心1、2的距離,q1,q2為關(guān)節(jié)角,g為重力加速度。經(jīng)計(jì)算推導(dǎo),機(jī)械臂動(dòng)力學(xué)方程式(4)中各參數(shù)計(jì)算表達(dá)式為:
(32)
(33)
(34)
式中:p=b2l1cosq2。機(jī)械臂相關(guān)參數(shù)為m1=1 kg,m2=1 kg,l1=1 m,l2=0.8 m,b1=0.5 m,b2=0.4 m,g=9.8 N/kg。
為了模擬摩擦和擾動(dòng),參考文獻(xiàn)[19],采用庫(kù)倫粘滯摩擦和外部干擾:
(35)
τd=0.2sin(t)
(36)
針對(duì)機(jī)械臂系統(tǒng)考慮和不考慮摩擦和外部干擾等不確定項(xiàng)的兩種情況,本文進(jìn)行了對(duì)比研究,如圖5~圖8所示。為了模擬實(shí)際機(jī)械臂系統(tǒng)存在的摩擦和外部干擾等不確定項(xiàng)的情況,引入式(35)、式(36)所示的摩擦和外部干擾。圖5和圖6展示了機(jī)械臂系統(tǒng)中加入不確定項(xiàng)對(duì)MPC控制下軌跡跟蹤性能的影響,二者分別是雙關(guān)節(jié)機(jī)械臂的軌跡跟蹤曲線和誤差曲線。
圖5 MPC-雙關(guān)節(jié)軌跡跟蹤結(jié)果 圖6 MPC-雙關(guān)節(jié)跟蹤誤差曲線
由圖5和圖6可以看出,在不考慮摩擦和外部干擾等不確定項(xiàng)的情況下,單獨(dú)利用MPC控制器就可以得到良好的軌跡跟蹤效果,軌跡跟蹤準(zhǔn)確度較高。關(guān)節(jié)1的最大跟蹤誤差為0.008 34 rad,關(guān)節(jié)2的最大跟蹤誤差為0.019 46 rad。但是,摩擦和外部干擾等不確定項(xiàng)的加入,會(huì)顯著影響軌跡跟蹤的效果,單獨(dú)的MPC控制器控制性能較差,雙關(guān)節(jié)軌跡跟蹤誤差都有所增大。其中,關(guān)節(jié)1的最大跟蹤誤差增大為0.014 88 rad;關(guān)節(jié)2的軌跡跟蹤準(zhǔn)確度下降明顯,最大跟蹤誤差為0.072 67 rad。
在考慮摩擦和干擾等不確定項(xiàng)的前提下,分別采用MPC和本文所提的融入模糊補(bǔ)償?shù)腗PC控制策略時(shí),雙關(guān)節(jié)機(jī)械臂的軌跡跟蹤曲線和誤差曲線分別如圖7和圖8所示。
(a) 關(guān)節(jié)1位置跟蹤 (b) 關(guān)節(jié)2位置跟蹤
(a) 關(guān)節(jié)1跟蹤誤差 (b) 關(guān)節(jié)2跟蹤誤差
從圖7可以看出融入模糊補(bǔ)償后的控制器實(shí)現(xiàn)的跟蹤效果有了明顯改善。
由圖8a可知,關(guān)節(jié)1的軌跡跟蹤誤差基本穩(wěn)定在零值,圖8b所示關(guān)節(jié)2的軌跡跟蹤誤差也明顯減小,最大跟蹤誤差減小為0.024 8 rad。
表2是在3種情況下,雙關(guān)節(jié)機(jī)械臂軌跡跟蹤的平均絕對(duì)誤差和均方根誤差。
表2 雙關(guān)節(jié)機(jī)械臂軌跡跟蹤誤差
由表中數(shù)據(jù)可以看出,摩擦和外部干擾等不確定項(xiàng)的存在會(huì)使平均絕對(duì)誤差和均方根誤差變大,但在加入模糊補(bǔ)償后,兩種誤差均顯著減小,經(jīng)計(jì)算得,相對(duì)于單獨(dú)的MPC控制器,雙關(guān)節(jié)軌跡跟蹤的平均絕對(duì)誤差分別減小了88.63%和88.30%,均方根誤差分別減小了96.84%和97.85%。
該實(shí)驗(yàn)結(jié)果說(shuō)明將模糊補(bǔ)償融入模型預(yù)測(cè)控制能夠有效補(bǔ)償機(jī)械臂系統(tǒng)中存在的摩擦和干擾等不確定性因素對(duì)軌跡跟蹤的影響,提高軌跡跟蹤精度,改善軌跡跟蹤效果。
本文針對(duì)機(jī)械臂在實(shí)際軌跡跟蹤過(guò)程中存在的未知摩擦項(xiàng)和外部干擾,易導(dǎo)致跟蹤精度不足的問(wèn)題,考慮狀態(tài)約束和控制輸入約束,提出了一種融入模糊補(bǔ)償?shù)臋C(jī)械臂軌跡跟蹤模型預(yù)測(cè)控制方案。首先,采用逆動(dòng)力學(xué)方法進(jìn)行反饋線性化,將非線性機(jī)械臂系統(tǒng)簡(jiǎn)化為線性系統(tǒng);然后,利用模型預(yù)測(cè)控制處理多變量約束問(wèn)題,并實(shí)現(xiàn)在線滾動(dòng)優(yōu)化;最后,使用模糊補(bǔ)償處理摩擦和外部干擾等不確定項(xiàng)。通過(guò)聯(lián)合仿真實(shí)驗(yàn)驗(yàn)證本文所提出的方案可以有效補(bǔ)償不確定項(xiàng)對(duì)控制性能以及跟蹤效果的影響,提高了機(jī)械臂軌跡跟蹤的精確度和系統(tǒng)穩(wěn)定性。此外,本文所提出的控制策略易于擴(kuò)展到更多自由度的機(jī)械臂。