(中國石油大學(xué)(華東)化學(xué)工程學(xué)院,山東 青島 266580)
隨著工業(yè)4.0和中國制造2025戰(zhàn)略的提出,生產(chǎn)制造業(yè)朝著數(shù)字化、智能化快速發(fā)展。而機械臂在制造業(yè)中有著重要的地位,多種操作任務(wù)都需要機械臂通過相互協(xié)作才能完成[1-3]。人們往往無法獲取機械臂所有精確的動力學(xué)參數(shù),難以為其建立準(zhǔn)確的數(shù)學(xué)模型[4-5]。并且機械臂在操作過程中還存在各種干擾等不確定因素,這就使其數(shù)學(xué)模型更加偏離實際系統(tǒng)。因此,機械臂同步控制的關(guān)鍵就在于其精確系統(tǒng)模型的建立以及對外界干擾的估計和補償,其中還需考慮各子系統(tǒng)之間的耦合關(guān)系[6]。
由于神經(jīng)網(wǎng)絡(luò)對非線性系統(tǒng)具有極好的學(xué)習(xí)能力,因此對于機械臂這種多輸入多輸出的復(fù)雜非線性系統(tǒng),神經(jīng)網(wǎng)絡(luò)控制方法已經(jīng)有一定的研究和應(yīng)用。Cansever[7]針對三連桿機械臂設(shè)計了一種基于徑向基函數(shù)(radical basis fanction,RBF)神經(jīng)網(wǎng)絡(luò)的模糊滑??刂破鳎渲蠷BF徑向基函數(shù)(radical basis fanction,RBF)神經(jīng)網(wǎng)絡(luò)用于計算系統(tǒng)動力學(xué)所要求的等效控制ueq,模糊邏輯則用于調(diào)整滑??刂破髟鲆妗n櫫x坤等[8]基于自回歸神經(jīng)網(wǎng)絡(luò)和自適應(yīng)動態(tài)面方法設(shè)計了針對柔性關(guān)節(jié)機械臂的控制器,使得柔性關(guān)節(jié)的軌跡跟蹤精度顯著提高。Tang等[9]針對機械臂系統(tǒng)的強非線性和參數(shù)不確定性問題提出了一種基于RBF神經(jīng)網(wǎng)絡(luò)的自適應(yīng)PID控制器,其中PID控制器參數(shù)和雅克比矩陣采用神經(jīng)網(wǎng)絡(luò)進行調(diào)節(jié)和在線識別[9]。董君等[10]針對機械臂軌跡運動誤差的問題,將神經(jīng)網(wǎng)絡(luò)與非線性積分滑模相結(jié)合設(shè)計了控制器,提高了定位精度,并與傳統(tǒng)控制方法進行了對比。乃永強等[11]采用極限學(xué)習(xí)機對單隱層前饋神經(jīng)網(wǎng)絡(luò)的隱層節(jié)點和權(quán)重系數(shù)選擇進行優(yōu)化,提高了學(xué)習(xí)速度,對剛性機械臂系統(tǒng)不確定性進行逼近,保證了閉環(huán)系統(tǒng)的穩(wěn)定性。Kumar等[12]基于RBF神經(jīng)網(wǎng)絡(luò)對結(jié)構(gòu)不確定性進行離線訓(xùn)練,設(shè)計了一種針對冗余機械臂的自適應(yīng)軌跡跟蹤控制器,并利用自適應(yīng)控制器對非結(jié)構(gòu)不確定性和網(wǎng)絡(luò)建模誤差的邊界進行了估計。
雖然目前神經(jīng)網(wǎng)絡(luò)在機械臂控制中已經(jīng)取得了一定成果,但大多只用于對系統(tǒng)不確定項或外界干擾的估計。而在系統(tǒng)極為復(fù)雜難以建模或全部參數(shù)都未知的情況下,尚無較好的控制方法。本研究首先對機械臂任務(wù)空間動力學(xué)模型進行簡單分析,運用RBF神經(jīng)網(wǎng)絡(luò)對模型重力、哥氏力等分別獨立進行建模和在線學(xué)習(xí),并基于圖論原理定義了各機械臂之間的耦合關(guān)系,根據(jù)滑??刂品椒ㄔO(shè)計出一種新的無模型自適應(yīng)神經(jīng)網(wǎng)絡(luò)同步控制算法。所設(shè)計的同步控制器不僅具有較強的魯棒性,而且不依賴受控系統(tǒng)的數(shù)學(xué)模型。
圖1 多機械臂系統(tǒng)模型Fig. 1 Multiple robotic manipulators system model
假設(shè)由n個m關(guān)節(jié)串聯(lián)機械臂在同一任務(wù)空間完成操作任務(wù),其系統(tǒng)模型如圖1所示。
取被控對象為多機械臂系統(tǒng),根據(jù)Euler- Lagrange定理可知,在關(guān)節(jié)空間內(nèi)其動力學(xué)方程為:
(1)
由于大多數(shù)操作任務(wù)都與機械臂末端執(zhí)行器的空間位置相關(guān),需要直接在任務(wù)空間中設(shè)計控制算法,因此需將機械臂系統(tǒng)動力學(xué)模型由關(guān)節(jié)空間轉(zhuǎn)換到任務(wù)空間中。假定任務(wù)空間有界,Jacobian矩陣是非奇異的,可以通過轉(zhuǎn)換函數(shù)和Jacobian矩陣將關(guān)節(jié)空間坐標(biāo)轉(zhuǎn)換到笛卡爾坐標(biāo)空間中[5]:
(2)
則機械臂系統(tǒng)任務(wù)空間中的動力學(xué)模型為:
(3)
RBF神經(jīng)網(wǎng)絡(luò)是一種結(jié)構(gòu)簡單、訓(xùn)練高效的前饋式神經(jīng)網(wǎng)絡(luò),被廣泛應(yīng)用于模式識別和非線性函數(shù)逼近等領(lǐng)域[13-15]。
圖2 RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig. 2 RBF neural network structure
RBF神經(jīng)網(wǎng)絡(luò)算法可以表示為:
(4)
考慮其中任意一個機械臂子系統(tǒng),采用RBF神經(jīng)網(wǎng)絡(luò)對其動力學(xué)各部分分別進行建模。由于機械臂轉(zhuǎn)動慣量矩陣Mix(q)和重力矩陣Gix(q)僅是q的函數(shù),因此采用靜態(tài)神經(jīng)網(wǎng)絡(luò)建模如下[16]:
其中:mxkj、gxk分別為Mix(q)、Gix(q)中的元素,k、j分別表示矩陣的行和列,l表示神經(jīng)網(wǎng)絡(luò)節(jié)點;θkjl、βkl∈R分別為mxkj(q)和gxk(q)的神經(jīng)網(wǎng)絡(luò)權(quán)重;ξkjl(q)、ηkl(q)∈R為相應(yīng)的徑向基函數(shù),其輸入均為q;εmkj(q)、εgk(q)∈R為建模誤差,假設(shè)其有界。
根據(jù)神經(jīng)網(wǎng)絡(luò)模型,第i個機械臂在任務(wù)空間中的動力學(xué)方程可以寫為:
(5)
其中:
(6)
其中,{Θi}、{Αi}、{Ξi(q)}和{Ζi(z)}為GL矩陣,其元素分別為θkj、αkj、ξkj(q)和ζkj,{Βi}和{Ηi(q)}為GL向量,其元素分別為βk和ηk(q),矩陣EMi(q)、ECi(z)∈Rm×m和EGi(q)∈Rm的元素分別為建模誤差εmkj(q)、εckj(z)和εgk(q)。
對機械臂之間的同步誤差進行定義,基于滑??刂品椒ㄔO(shè)計了神經(jīng)網(wǎng)絡(luò)自適應(yīng)同步控制器。
機械臂的跟蹤誤差可以定義為:
e=xd-x。
(7)
根據(jù)圖論思想,每個機械臂之間的耦合關(guān)系可以由拉普拉斯矩陣進行定義:
L=D-A。
(8)
則機械臂系統(tǒng)的同步誤差可以寫成如下形式:
(9)
機械臂子系統(tǒng)之間的交叉耦合誤差定義為:
(10)
定義如下形式:
(11)
滑模函數(shù)定義為如下形式:
(12)
則:
(13)
其中,Λ=ΛT>0。
將式(6)、(11)代入機械臂動力學(xué)方程(3)中可得:
(14)
設(shè)計神經(jīng)網(wǎng)絡(luò)同步控制器如下:
(15)
將式(11)、(15)代入式(14)可得:
(16)
設(shè)計神經(jīng)網(wǎng)絡(luò)自適應(yīng)律為:
(17)
定理1針對式(5)所示的機械臂系統(tǒng),若滑模面設(shè)計如式(12),神經(jīng)網(wǎng)絡(luò)自適應(yīng)律為式(17),在同步控制律(15)的控制作用下,每個機械臂都可以從任意初始位置追蹤期望軌跡,且同步誤差最終可以漸進收斂至零。
證明:選取如下Lyapunov函數(shù):
(18)
求導(dǎo)可得:
(19)
(20)
(21)
即當(dāng)t→∞時,s→0。
當(dāng)s=0時,可得:
選取Lyapunov函數(shù)如下:
(22)
則:
(23)
以兩個平面二連桿機械臂為例,設(shè)計機械臂任務(wù)空間同步控制Matlab仿真。假設(shè)每個機械臂初始位置和速度不同,但具有相同的結(jié)構(gòu)和動力學(xué)參數(shù),動力學(xué)方程如下:
其中:
其中,pl為負載,P為機械臂參數(shù)向量,l1、l2為兩連桿的長度。
由于給定的期望軌跡一般直接在任務(wù)空間中表示,因此需要將關(guān)節(jié)角位置坐標(biāo)轉(zhuǎn)換為連桿末端的笛卡爾坐標(biāo):
機械臂Jacobian矩陣為:
則
機械臂實際有關(guān)參數(shù)如下:
在笛卡爾坐標(biāo)空間中期望軌跡設(shè)置為:
表1 控制器參數(shù)設(shè)置Tab. 1 Controller parameter setting
兩個二連桿機械臂在任務(wù)空間中的初始狀態(tài)參數(shù)為:
同步控制器參數(shù)設(shè)置見表1,拉普拉斯矩陣設(shè)置為:
神經(jīng)網(wǎng)絡(luò)初值設(shè)為0,其他參數(shù)設(shè)置如下:
基于上述參數(shù)的仿真結(jié)果如圖3~9所示。
多機械臂系統(tǒng)任務(wù)空間的軌跡和速度跟蹤仿真結(jié)果如圖3~5,可以看出,兩機械臂從任務(wù)空間中的不同位置出發(fā),在神經(jīng)網(wǎng)絡(luò)同步控制器(15)的作用下,大約0.8 s左右時可以同時到達預(yù)定的期望軌跡;0.4 s左右時,兩機械臂可以達到期望的運動速度。在到達期望軌跡后,兩機械臂均沿期望繼續(xù)保持同步運動,且不再發(fā)生較大波動。在第4 s時使兩機械臂的載荷增加,在增加的瞬間,機械臂會略微偏離預(yù)定軌跡,但在神經(jīng)網(wǎng)絡(luò)同步控制器(15)的作用下可以迅速向期望軌跡收斂。機械臂系統(tǒng)在任務(wù)空間中的仿真結(jié)果如圖4,可以看出,在到達預(yù)定軌跡前,兩機械臂首先實現(xiàn)了同步運動。
圖3 機械臂x、y方向軌跡跟蹤曲線Fig. 3 Trajectories tracking of robotic manipulators in x and y direction
通過仿真結(jié)果圖6可以看出,兩機械臂關(guān)節(jié)的輸出力矩雖在初始時刻有較大波動,但隨后即穩(wěn)定在|τ|≤40 N·m范圍內(nèi)。在第4 s載荷增加后,力矩則維持在|τ|≤90 N·m的范圍內(nèi)進行波動。機械臂神經(jīng)網(wǎng)絡(luò)建模仿真結(jié)果如圖7,圖中分別表示了機械臂動力學(xué)方程Mx、Cx和Gx項的神經(jīng)網(wǎng)絡(luò)建模結(jié)果。 可以看出,機械臂動力學(xué)模型可以通過神經(jīng)網(wǎng)絡(luò)進行逼近,但未收斂到理想值,存在一定的建模誤差,造成這種不收斂現(xiàn)象的原因主要有兩種:一是指令信息未能達到持續(xù)激勵條件,即不足夠豐富而造成;二是除真實值外,還存在多個估計值滿足軌跡跟蹤收斂條件。但此誤差可以通過滑模魯棒項進行抵消。
圖4 任務(wù)空間中機械臂軌跡跟蹤曲線Fig. 4 Trajectories tracking of robotic manipulators in task space
通過仿真結(jié)果圖8和圖9可知,在系統(tǒng)受擾動后兩機械臂跟蹤誤差最終可以向0漸進收斂,兩機械臂同步誤差也可以在控制器作用下快速地收斂到0。即在同步控制器(15)的控制作用下,雖然在第4 s時載荷發(fā)生變化,兩機械臂依然可以實現(xiàn)同步運動并滿足操作精度要求。
綜合分析仿真結(jié)果3~9,可以得到以下結(jié)論:利用所提出的神經(jīng)網(wǎng)絡(luò)自適應(yīng)同步控制算法,在機械臂系統(tǒng)結(jié)構(gòu)參數(shù)未知和存在外界干擾的情況下,即使各子系統(tǒng)均具有較大的初始誤差,也可以使機械臂末端位置在控制器的作用下快速收斂至期望軌跡,并實現(xiàn)同步運動。
圖5 機械臂x、y方向速度跟蹤曲線Fig. 5 Velocity tracking of robotic manipulators in x and y direction
圖6 兩連桿機械臂關(guān)節(jié)驅(qū)動力矩Fig. 6 The joint driving torque of two connecting rod manipulators
圖7 機械臂動力學(xué)模型逼近Fig. 7 Manipulator dynamics model approximation
圖8 兩機械臂x、y方向跟蹤誤差Fig. 8 Tracking error of the two robotic manipulators in x and y direction
圖9 兩機械臂x、y方向同步誤差Fig. 9 Synchronization error of the two robotic manipulators in x and y direction
針對結(jié)構(gòu)復(fù)雜難以建立準(zhǔn)確數(shù)學(xué)模型或系統(tǒng)參數(shù)未知、多變的復(fù)雜多機械臂系統(tǒng)的任務(wù)空間同步控制問題進行了研究,設(shè)計出一種新的任務(wù)空間神經(jīng)網(wǎng)絡(luò)自適應(yīng)同步控制算法。主要結(jié)論如下:
1) 對多機械臂系統(tǒng)進行動力學(xué)分析,利用RBF神經(jīng)網(wǎng)絡(luò)對系統(tǒng)不同動力學(xué)結(jié)構(gòu)分別進行網(wǎng)絡(luò)建模,對實際模型進行實時逼近,擺脫了數(shù)學(xué)模型的限制;
2) 考慮了各機械臂之間的耦合關(guān)系,并根據(jù)圖論思想定義了各子系統(tǒng)之間的交叉耦合誤差,在此基礎(chǔ)上設(shè)計的同步控制器可以保證系統(tǒng)在載荷發(fā)生改變等不確定情況下依然能夠?qū)崿F(xiàn)同步;
3) 結(jié)合滑??刂圃恚岢隽艘环N任務(wù)空間中的機械臂無模型神經(jīng)網(wǎng)絡(luò)自適應(yīng)同步控制算法,在初始誤差較大的情況下也可以保證對期望軌跡實現(xiàn)快速跟蹤,提高了控制器的魯棒性。