潘炳成,張 禹,于浩然
(沈陽工業(yè)大學(xué)機(jī)械工程學(xué)院,遼寧沈陽110870)
目前,水下機(jī)械手被認(rèn)為是執(zhí)行水下干預(yù)作業(yè)的最合適工具。因此,無人水下航行器,如有纜遙控式水下機(jī)器人,在水下作業(yè)時(shí)通常搭載一個(gè)或多個(gè)水下機(jī)械手[1]。帶機(jī)械手的無人水下航行器通常被稱為水下機(jī)器人-機(jī)械手系統(tǒng)(UVMS),無人水下航行器使用的大多數(shù)水下機(jī)械手都是擬人化的,即它們被設(shè)計(jì)成類似于人的手臂[2]。這些機(jī)械手由一系列連桿組成,這些連桿通過關(guān)節(jié)相互連接,它們與連接在末端執(zhí)行器上的夾具或其他可互換工具之間有適當(dāng)?shù)慕俏灰芠3]。
本文介紹了一種小型四自由度水下機(jī)械手的設(shè)計(jì),該機(jī)械手設(shè)計(jì)用于搭載實(shí)驗(yàn)室現(xiàn)有水下機(jī)器人BlueRov2。小尺寸機(jī)械手除了提供高機(jī)動(dòng)性外,還適合執(zhí)行簡單的干預(yù)任務(wù),它可以適應(yīng)各種類型的水下機(jī)器人。水下機(jī)械手將電力驅(qū)動(dòng)和機(jī)械結(jié)合起來,解決了許多關(guān)于防水、重量輕和模塊化機(jī)械手設(shè)計(jì)的問題[4]。機(jī)械手的工作性能可以在真實(shí)的水下機(jī)器人-機(jī)械手系統(tǒng)上進(jìn)行測試。
由于本文的水下機(jī)械手需要搭載在水下機(jī)器人BlueRov2上,BlueRov2配備了六個(gè)推進(jìn)器控制其六個(gè)自由度的運(yùn)動(dòng),因此機(jī)械手末端位姿可以依靠機(jī)器人和機(jī)械手兩部分共同作用來實(shí)現(xiàn)。綜合考慮,確定本文設(shè)計(jì)為四自由度水下機(jī)械手。
和傳統(tǒng)的水下機(jī)械手一樣,四自由度水下機(jī)械手主要組成部分為底座、肩關(guān)節(jié)、肘關(guān)節(jié)、腕關(guān)節(jié)和機(jī)械手爪。機(jī)械手在三維空間坐標(biāo)系中進(jìn)行工作,如圖1所示,即為底座回轉(zhuǎn)、大臂俯仰、小臂俯仰、腕部回轉(zhuǎn)和手爪開合。
圖1 水下機(jī)械手結(jié)構(gòu)簡圖
由于搭載的本體BlueRov2工作水深為100 m,結(jié)合水下作業(yè)所需的深度范圍,以及水下作業(yè)任務(wù)環(huán)境多樣化等情況,本文的機(jī)械手工作水深為10 m。如表1所示為機(jī)械手的主要指標(biāo)。
表1 主要參數(shù)指標(biāo)
由于搭載的水下機(jī)器人本體比較小巧,所以要求安裝的機(jī)械手必須滿足具有最大工作空間、輕型化、體積小、耐高壓等要求。為了滿足這些設(shè)計(jì)條件,采用了關(guān)節(jié)坐標(biāo)型結(jié)構(gòu),以擴(kuò)大工作空間。選用3D打印作為本體材料,以減輕重量。
圖2 水下舵機(jī)實(shí)物
同時(shí),舵機(jī)作為機(jī)械手常用的關(guān)節(jié)驅(qū)動(dòng)電機(jī),不僅可以輸出較大力矩,且體積小、易安裝,同時(shí)部分舵機(jī)具有防水功能,滿足機(jī)械手的水下工作要求。因此,本文設(shè)計(jì)的機(jī)械手采用的是角度控制的水下舵機(jī),所有的舵機(jī)都密封安裝在關(guān)節(jié)中,來完成對(duì)應(yīng)平面內(nèi)的運(yùn)動(dòng)。選用的舵機(jī)如圖2所示,是由策??萍脊旧a(chǎn)的D30號(hào)專用水下舵機(jī),具有良好的防水性能,滿足設(shè)計(jì)要求的同時(shí)也減少了機(jī)械手的防水與密封。
結(jié)合上述設(shè)計(jì)準(zhǔn)則,機(jī)械手由底座、大臂、小臂、手爪等結(jié)構(gòu)組成,采用SolidWorks對(duì)機(jī)械手進(jìn)行建模,如圖3所示。
圖3 水下機(jī)械手三維模型
運(yùn)動(dòng)學(xué)分析作為水下機(jī)械手運(yùn)動(dòng)控制的基礎(chǔ),其前提是建立運(yùn)動(dòng)學(xué)模型,本文所設(shè)計(jì)的機(jī)械手是由幾個(gè)開鏈串聯(lián)的運(yùn)動(dòng)鏈所構(gòu)成的[5]。為了描述和研究水下機(jī)械手的運(yùn)動(dòng)學(xué)、關(guān)節(jié)之間的相對(duì)位置和方向,應(yīng)用D-H參數(shù)法建立坐標(biāo)系,它是為機(jī)械手關(guān)節(jié)鏈中每個(gè)連桿坐標(biāo)系建立關(guān)系矩陣的一種方法,用于任何復(fù)雜結(jié)構(gòu)的機(jī)器人[6]。
根據(jù)四自由度水下機(jī)器手的整體結(jié)構(gòu),建立如圖4所示的四關(guān)節(jié)水下機(jī)械手坐標(biāo)系。
圖4 水下機(jī)械手坐標(biāo)系
各個(gè)關(guān)節(jié)連桿參數(shù)如表2所示。
表2 D-H參數(shù)表
根據(jù)水下機(jī)械手坐標(biāo)系可知,其基坐標(biāo)系固定在底座關(guān)節(jié)處。根據(jù)D-H法的坐標(biāo)變換,得到相鄰連桿間坐標(biāo)系變換矩陣的通用公式:
nx=sθ1sθ4+cθ1cθ4c(θ2+θ3)
ny=sθ1cθ4c(θ2+θ3)-cθ1sθ4
nz=-cθ4s(θ2+θ3)
ox=sθ1cθ4-cθ1sθ4c(θ2+θ3)
oy=-cθ1cθ4-sθ1sθ4c(θ2+θ3)
oz=sθ4s(θ2+θ3)
ax=-cθ1s(θ2+θ3)
ay=-sθ1s(θ2+θ3)
az=-c(θ2+θ3)
px=L1cθ1-L3cθ1s(θ2+θ3)+L2cθ1cθ2
py=L1sθ1-L3sθ1s(θ2+θ3)+L2sθ1cθ2
pz=-L2sθ2-L3c(θ2+θ3)
其中,n為末端執(zhí)行器法向量;o為末端執(zhí)行器的方位矢量;a為末端執(zhí)行器的接近矢量;p為末端手部相對(duì)于基坐標(biāo)的位置矢量。
運(yùn)動(dòng)學(xué)逆解對(duì)于機(jī)械手運(yùn)動(dòng)分析、運(yùn)動(dòng)仿真具有重要作用。求解機(jī)械手運(yùn)動(dòng)學(xué)逆解的目的是在己知機(jī)械手末端執(zhí)行器笛卡爾空間位姿的情況下,求出關(guān)節(jié)空間變量,作為驅(qū)動(dòng)關(guān)節(jié)上的控制角度輸入,從而使末端執(zhí)行器的位姿滿足期望要求[7]。
即:
通過計(jì)算令等式兩邊的 (1,1)、(1,3)、(1,4)、(2,4)元素相等,并結(jié)合所求得的px、py、pz,得到:
nxcθ1+nysθ1=cθ4c(θ2+θ3)
axcθ1+aysθ1=-s(θ2+θ3)
pxcθ1+pysθ1=L1+L2cθ2-L3s(θ2+θ3)
pxcθ1-pysθ1=0
求得四自由度水下機(jī)械手的四個(gè)解θ1、θ2、θ3、θ4。求得的結(jié)果中可能存在多種解,應(yīng)選擇其中最合適的解來滿足機(jī)械手的工作需求。
Robotics toolbox是Matlab中專門用于機(jī)器人學(xué)的仿真工具包,為機(jī)器人的仿真提供了豐富的函數(shù),通過工具箱中robot函數(shù)以及Link函數(shù)構(gòu)建機(jī)械手的初始位姿[8]。根據(jù)所得出的D-H參數(shù)表,采用改進(jìn)D-H參數(shù)建立機(jī)械手模型,實(shí)現(xiàn)機(jī)械手運(yùn)動(dòng)學(xué)仿真。
建立第i個(gè)連桿命令如下:
Li=Link([thetadaalpha],modified)
通過SerialLink函數(shù)將4個(gè)桿件依次連接起來,建立連桿向量,命令如下:
robot=SerialLink([L1L2L3L4])
利用teach函數(shù)控制機(jī)械手模型,通過對(duì)關(guān)節(jié)變量進(jìn)行控制,以此調(diào)節(jié)機(jī)械手的位姿運(yùn)動(dòng)。如圖5所示為四自由度機(jī)械手仿真模型。
圖5 四自由度機(jī)械手模型
工作空間是機(jī)器手在各關(guān)節(jié)范圍的限制下,末端參考點(diǎn)所達(dá)空間參考點(diǎn)的集合。工作空間的大小反映了機(jī)械手的運(yùn)動(dòng)范圍,是機(jī)械手運(yùn)動(dòng)學(xué)分析的基礎(chǔ)。蒙特卡洛法是指使用隨機(jī)數(shù)來解決計(jì)算問題的方法,通過對(duì)機(jī)械手各關(guān)節(jié)轉(zhuǎn)角范圍隨機(jī)采樣,求得末端執(zhí)行器的對(duì)應(yīng)位置。具體步驟為:
1)依據(jù)正運(yùn)動(dòng)學(xué)方程,求解機(jī)器手末端執(zhí)行器相對(duì)于基坐標(biāo)系的位置向量P=[PxPyPz]T。
2)在每個(gè)關(guān)節(jié)變量的變化范圍內(nèi),利用rand函數(shù)在0~1之間產(chǎn)生N個(gè)隨機(jī)數(shù),得到關(guān)節(jié)隨機(jī)步長,計(jì)算得到關(guān)節(jié)變量的隨機(jī)值θi=θi,min+(θi,max-θi,min)rand,i的范圍為1~4。
3)將N個(gè)隨機(jī)數(shù)代入P=[PxPyPz]T,計(jì)算得出機(jī)械手的位置,即為機(jī)械手工作空間,隨著所得數(shù)目越多越接近真實(shí)的工作空間。設(shè)置循環(huán)次數(shù)N=30000,通過圖像來表示機(jī)械手的可達(dá)工作空間點(diǎn)的集合,二維平面和三維空間如圖6-圖9所示。其中,x軸的運(yùn)動(dòng)范圍為0~400 mm,y軸的運(yùn)動(dòng)范圍為-400~400 mm,z軸的運(yùn)動(dòng)范圍為-200~400 mm。
圖6 三維工作空間 圖7 XOY平面
圖8 XOZ平面 圖9 YOZ平面
根據(jù)圖像可知,機(jī)械手的工作可達(dá)空間近似一個(gè)半橢球體,由于機(jī)械手搭載在BlueRov2底部,安裝位置附近不能到達(dá),半橢球體存在缺口,但球體內(nèi)不存在空心,說明連桿參數(shù)的設(shè)置及關(guān)節(jié)的轉(zhuǎn)角范圍合理,利用蒙特卡洛法計(jì)算機(jī)械手工作空間是可行的。
本文針對(duì)現(xiàn)有水下機(jī)器人BlueRov2,設(shè)計(jì)了一種四自由度水下機(jī)械手,包括一個(gè)手爪抓取自由度和三個(gè)旋轉(zhuǎn)自由度。通過SolidWorks構(gòu)建機(jī)械手的三維模型。根據(jù)機(jī)械手的結(jié)構(gòu)特點(diǎn),建立了機(jī)械手關(guān)節(jié)坐標(biāo)系,采用D-H法建立了機(jī)械手模型,并進(jìn)行了正運(yùn)動(dòng)學(xué)和逆運(yùn)動(dòng)學(xué)分析。通過Matlab中的Robotics toolbox工具箱建立了機(jī)械手仿真模型,并運(yùn)用蒙特卡洛法計(jì)算了機(jī)械手的三維工作空間,得到的工作空間分布均勻,直觀感強(qiáng),為后續(xù)的水下機(jī)械手運(yùn)動(dòng)控制奠定了基礎(chǔ)。