柘龍炫,李少波,張星星,宋啟松
(貴州大學(xué)機(jī)械工程學(xué)院,貴陽(yáng) 550025)
六自由度機(jī)械臂具有較高的靈活性,能模仿人的手臂完成空間抓取動(dòng)作,越來(lái)越廣泛應(yīng)用于國(guó)防、航天、醫(yī)療、日常生活等生產(chǎn)活動(dòng)。機(jī)械臂作為機(jī)器人的主要執(zhí)行機(jī)構(gòu),運(yùn)用機(jī)械臂不但可以減少勞動(dòng)力,降低勞動(dòng)成本,還能提高產(chǎn)品的生產(chǎn)質(zhì)量和效率,是未來(lái)工業(yè)發(fā)展的必然趨勢(shì)[1]。當(dāng)前機(jī)械臂在分揀、碼垛以及裝配等重復(fù)性流水作業(yè)中最為常見(jiàn)[2]。為了滿足目前高效率生產(chǎn)的需求,國(guó)內(nèi)外學(xué)者對(duì)機(jī)械臂軌跡規(guī)劃已經(jīng)進(jìn)行了深入研究,如文獻(xiàn)[1]選用D-H法建立機(jī)械臂在笛卡爾空間的運(yùn)動(dòng)學(xué)模型,對(duì)機(jī)械臂進(jìn)行運(yùn)動(dòng)學(xué)分析,通過(guò)直線插補(bǔ)和圓弧插補(bǔ)對(duì)機(jī)械臂運(yùn)動(dòng)軌跡進(jìn)行優(yōu)化;文獻(xiàn)[3]利用了自適應(yīng)遺傳算法在三次樣條插值的基礎(chǔ)上,對(duì)關(guān)節(jié)空間軌跡進(jìn)行優(yōu)化;文獻(xiàn)[4]對(duì)比了三次多項(xiàng)式插值法與五次多項(xiàng)式插值法的關(guān)節(jié)軌跡規(guī)劃效果,得出五次多項(xiàng)式插值后機(jī)械臂運(yùn)動(dòng)更為平穩(wěn);文獻(xiàn)[5]建立了機(jī)械臂的D-H坐標(biāo)系,將A*搜尋算法與拉格朗日插值法相結(jié)合,規(guī)劃出機(jī)械臂的運(yùn)動(dòng)軌跡;文獻(xiàn)[6]從運(yùn)動(dòng)學(xué)角度出發(fā),提出基于RBF神經(jīng)網(wǎng)絡(luò)的圓弧軌跡規(guī)劃,通仿真表明規(guī)劃軌跡平滑、逼近誤差小。與BP神經(jīng)網(wǎng)絡(luò)相比,RBF神經(jīng)網(wǎng)絡(luò)的規(guī)模大,且函數(shù)逼近能力、學(xué)習(xí)速度、分類和模式識(shí)別能力更優(yōu)[7]。
基于上述內(nèi)容,為了提高機(jī)械臂末端執(zhí)行器的軌跡精度,設(shè)計(jì)了六自由度機(jī)械臂模型、并根據(jù)模型建立D-H坐標(biāo)系與D-H參數(shù)表。通過(guò)機(jī)械臂的運(yùn)動(dòng)學(xué)求解得到末端執(zhí)行器的運(yùn)動(dòng)位置和姿態(tài),利用RBF神經(jīng)網(wǎng)絡(luò)對(duì)運(yùn)動(dòng)學(xué)得到的運(yùn)動(dòng)軌跡進(jìn)行優(yōu)化。
機(jī)械臂通常由若干關(guān)節(jié)和連桿按依次連接而成,如圖1a所示,各個(gè)關(guān)節(jié)的運(yùn)動(dòng)可以是轉(zhuǎn)動(dòng)或滑動(dòng),各連桿長(zhǎng)度根據(jù)實(shí)際需要,可以是任意值。機(jī)械臂運(yùn)動(dòng)學(xué)模型基于各關(guān)節(jié)和連桿建立的坐標(biāo)系變換求得,因此根據(jù)機(jī)械臂模型,建立六自由度機(jī)械臂的D-H坐標(biāo)系如圖1b所示,其中o0-x0y0z0為固定參考坐標(biāo)系,通常將其固定在基座上。

(a) 機(jī)械臂模型 (b) D-H坐標(biāo)系圖1 機(jī)器臂模型及其D-H坐標(biāo)系
如圖2所示,軸zn與關(guān)節(jié)n+1的軸線重合,根據(jù)關(guān)節(jié)n+1的旋轉(zhuǎn)方向,按右手定則判定軸zn方向;軸xn與公法線an重合,方向沿an由軸線zn-1指向軸線zn;yn軸方向與on-xnzn垂直;建立關(guān)節(jié)坐標(biāo)系oi-xiyizi。

圖2 相鄰連桿坐標(biāo)系
連桿各參數(shù)定義如下:
θn+1為軸xn繞zn軸旋轉(zhuǎn)θn+1度后,與軸xn+1平行。
dn+1為關(guān)節(jié)偏移,即軸zn上兩條相鄰的公垂線an、an+1之間的距離。
an為連桿名義長(zhǎng)度,即軸zn-1與軸zn公垂線的長(zhǎng)度。
αn為扭角,即軸zn-1與軸zn之間的角度。
根據(jù)矩陣右乘運(yùn)算法則,相鄰兩坐標(biāo)系之間位置和姿態(tài)由前向后的通用變換矩陣為:

(1)
根據(jù)圖1得機(jī)械臂D-H參數(shù)如表1所示。

表1 D-H 參數(shù)表
為了求出機(jī)械臂末端執(zhí)行器相對(duì)于固定坐標(biāo)系o0-x0y0z0的位置和姿態(tài),需建立機(jī)械臂的運(yùn)動(dòng)學(xué)方程。在該六自由度機(jī)械臂的坐標(biāo)系變換中,根據(jù)D-H坐標(biāo)系和D-H參數(shù)表,得6個(gè)變換矩陣依次為:
通過(guò)依次右乘變換矩陣可實(shí)現(xiàn)相鄰坐標(biāo)系之間位置和姿態(tài)變換,所以機(jī)械臂末端執(zhí)行器坐標(biāo)系相對(duì)于固定參考坐標(biāo)系o0-x0y0z0變化矩陣為:
(2)
在直角坐標(biāo)系中對(duì)機(jī)械臂末端執(zhí)行器位置和姿態(tài)對(duì)時(shí)間進(jìn)行的規(guī)劃稱作笛卡爾空間軌跡規(guī)劃[9],在笛卡空間對(duì)機(jī)械臂末端執(zhí)行器運(yùn)動(dòng)軌跡規(guī)劃,是為了確保各關(guān)節(jié)的位置、速度函數(shù)圖像在運(yùn)行過(guò)程中為光滑曲線[4]。如圖3 所示,在空間有無(wú)數(shù)條曲線可通過(guò)A,B,C三個(gè)點(diǎn),在實(shí)際的生產(chǎn)過(guò)程中,要考慮生產(chǎn)現(xiàn)場(chǎng)條件、效率等因素,因此需要在笛卡爾坐標(biāo)空間對(duì)機(jī)械臂末端執(zhí)行器進(jìn)行軌跡規(guī)劃。

圖3 空間路徑點(diǎn)
RBF神經(jīng)網(wǎng)絡(luò)即徑向基函數(shù)網(wǎng)絡(luò)(Radial basis function network,縮寫為:RBF network),是一種使用徑向基函數(shù)作為激活函數(shù)的人工神經(jīng)網(wǎng)絡(luò)[10]。如圖4所示,RBF神經(jīng)網(wǎng)絡(luò)是一種三層前向網(wǎng)絡(luò)。

圖4 RBF神經(jīng)網(wǎng)絡(luò)
第一層為輸入層,由信號(hào)源結(jié)點(diǎn)組成;第二層為隱含層,以徑向基函數(shù)為隱含層各單元的變換函數(shù),輸入層到隱含層為衰減的非負(fù)非線性函數(shù),即RBF神經(jīng)網(wǎng)絡(luò)隱含層的功能是將低維輸入通過(guò)非線性函數(shù)映射到一個(gè)高維空間。然后在這個(gè)高維空間進(jìn)行曲線的擬合;第三層為輸出層,對(duì)輸入信號(hào)作出響應(yīng),隱含層到輸出則是線性變換的函數(shù),即隱含層的信號(hào)通過(guò)線性的加權(quán)求值得到輸出層的輸出值,其中權(quán)值為可調(diào)參數(shù)ωij。
隨機(jī)選取J個(gè)樣本作為RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練集,激活函數(shù)選取Gauss徑向基函數(shù),表達(dá)式為:
(3)

Gauss徑向基函數(shù)為目前在RBF神經(jīng)網(wǎng)絡(luò)中使用最廣泛的激活函數(shù),其表達(dá)式如下:
(4)
Gauss徑向基函數(shù)圖像如圖5所示。其中σ為隱藏層中核心函數(shù)的平均偏差,橫軸就是到中心的距離用半徑r表示,當(dāng)距離等于0時(shí),徑向基函數(shù)等于1,距離越遠(yuǎn)衰減越快,選擇性就越好。

圖5 Gauss徑向基函數(shù)圖像
RBF神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)可得輸出函數(shù)表達(dá)式為:
(5)
其中,j=1,2,···,n;n為輸出樣本數(shù)或分類數(shù)。
在RBF神經(jīng)網(wǎng)絡(luò)中,主要的學(xué)習(xí)參數(shù)分別為基函數(shù)中心、方差和權(quán)值,學(xué)習(xí)過(guò)程分為兩個(gè)步驟:首先是通過(guò)無(wú)監(jiān)督學(xué)習(xí),確定隱含層的中心和方差,其次是通過(guò)有監(jiān)督的學(xué)習(xí),確定隱含層到輸出層的連接權(quán)值。
常采用K-均值聚類算法確定隱含層的中心,設(shè)xi(n)(i=1,2,···,I)是第n此迭代時(shí)基函數(shù)的中心,其算法流程如圖6所示。

圖6 K-均值聚類算法流程圖
RBF神經(jīng)網(wǎng)絡(luò)的基函數(shù)為高斯函數(shù)時(shí),方差可由下式求解:
(6)
式中,dmax為所選取中心之間的最大距離;h為隱層節(jié)點(diǎn)的個(gè)數(shù)。
隱含層至輸出層之間神經(jīng)元的連接權(quán)值可以用最小均方誤差LMS直接計(jì)算得到,計(jì)算公式如下:
w=φ+d
(7)
公式中d=[d1,d2,···,dn]為期望響應(yīng)。
φ+為偽逆矩陣,其表達(dá)式為:
φ+=(φTφ)-1φT
(8)
矩陣φ為:
φ={φqi}
(9)
(10)
xq為第q個(gè)輸入向量。
為了驗(yàn)證所提出的軌跡優(yōu)化方法是否有效可行,通過(guò)80步圓弧插補(bǔ)進(jìn)行仿真實(shí)驗(yàn),得到機(jī)械臂末端執(zhí)行器在笛卡爾空間的仿真軌跡如圖7所示。由圖7可看出末端執(zhí)行器能從起始點(diǎn)A(60,-120,0)連續(xù)運(yùn)動(dòng)到終止點(diǎn)B(33,230,0),證明了此次路徑規(guī)劃的合理性。

圖7 仿真軌跡
為了更直觀顯示機(jī)械臂各關(guān)節(jié)角度隨時(shí)間的變化關(guān)系,圖8a表示了各關(guān)節(jié)角隨時(shí)間的變化情況;圖8b表示了各關(guān)節(jié)角速度隨時(shí)間的變化情況,起始速度和終止速度都為零、且速度曲線平滑無(wú)突變和拐點(diǎn),表明機(jī)械臂末端執(zhí)行器運(yùn)動(dòng)過(guò)程平穩(wěn)。

(a) 各關(guān)節(jié)角度曲線

(b) 各關(guān)節(jié)角速度曲線圖8 各關(guān)節(jié)角度和角速度曲線
將獲得的運(yùn)動(dòng)軌跡取時(shí)間間隔為0.1 s離散轉(zhuǎn)換后,在笛卡爾空間得到一系列路徑離散點(diǎn),采用圓弧插補(bǔ)算法使末端執(zhí)行器運(yùn)動(dòng)軌跡逼近規(guī)劃軌跡。利用MATLAB軟件中的神經(jīng)網(wǎng)絡(luò)工具箱,設(shè)計(jì)RBF神經(jīng)網(wǎng)絡(luò),通過(guò)RBF神經(jīng)網(wǎng)絡(luò)優(yōu)化,機(jī)械臂末端執(zhí)行器運(yùn)動(dòng)軌跡誤差曲線如圖9所示。

圖9 各軸誤差
由圖9可看出:經(jīng)過(guò)RBF神經(jīng)網(wǎng)絡(luò)優(yōu)化后,機(jī)械臂末端執(zhí)行器運(yùn)動(dòng)軌跡誤差在各軸上的垂直投影均低于±0.4 mm,即末端執(zhí)行器運(yùn)動(dòng)軌跡能趨近于優(yōu)化軌跡,證明此優(yōu)化方法精度高。
為了更直觀的驗(yàn)證本文提出的軌跡規(guī)劃方法是否可行,在新一代柔性機(jī)械臂xMate平臺(tái)上進(jìn)行了試驗(yàn)。此機(jī)械臂的6個(gè)關(guān)節(jié)均由伺服電機(jī)驅(qū)動(dòng),實(shí)驗(yàn)過(guò)程如圖10所示: 確定目標(biāo)物如圖10a所示,由工業(yè)攝像頭確定抓取目標(biāo)后,吸盤與目標(biāo)物在同一豎直線上;抓取目標(biāo)如圖10b所示,在抓取目標(biāo)時(shí),吸盤吸住目標(biāo)的上表面;抓取過(guò)程如10c、圖10d所示,到達(dá)終點(diǎn)后將目標(biāo)物平穩(wěn)放下。機(jī)械臂在整個(gè)抓取過(guò)程中運(yùn)動(dòng)平穩(wěn),試驗(yàn)達(dá)到了預(yù)期的效果,驗(yàn)證了此次將RBF神經(jīng)網(wǎng)絡(luò)運(yùn)用于機(jī)械臂軌跡規(guī)劃的合理性。

(a) 確定目標(biāo) (b) 抓取目標(biāo) (c) 抓取過(guò)程 (d) 到達(dá)終點(diǎn)圖10 機(jī)械臂運(yùn)動(dòng)過(guò)程
本文研究了機(jī)械臂軌跡規(guī)劃中軌跡偏差問(wèn)題,通過(guò)機(jī)械臂運(yùn)動(dòng)學(xué)求解得末端執(zhí)行器的位置和姿態(tài);通過(guò)仿真實(shí)驗(yàn),得到機(jī)械臂末端執(zhí)行器在笛卡爾空間的仿真運(yùn)動(dòng)軌跡;借助MATLAB中的神經(jīng)網(wǎng)絡(luò)工具箱設(shè)計(jì)RBF神經(jīng)網(wǎng)絡(luò),通過(guò)圓弧插補(bǔ)軌跡離散點(diǎn)對(duì)RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練,得到運(yùn)動(dòng)軌跡在各軸上垂直投影的趨近誤差均低于±0.4 mm。仿真結(jié)果表明此次規(guī)劃得到的軌跡能滿足機(jī)械臂末端執(zhí)行器運(yùn)動(dòng)要求,通過(guò)實(shí)驗(yàn)驗(yàn)證了此次軌跡規(guī)劃的可行性,對(duì)進(jìn)一步將機(jī)械臂運(yùn)用于實(shí)際生產(chǎn)奠定了基礎(chǔ)。