鄭力銘,蔡小可,羅偉林
(1.福州大學(xué)海洋學(xué)院,福州 350108;2.福州大學(xué)機(jī)械工程及自動化學(xué)院,福州 350108)
由于機(jī)器人具有較高的定位精度和較大的靈活性,在日常生活以及工業(yè)生產(chǎn)中的運用越來越廣泛[1]。同時,機(jī)器人的結(jié)構(gòu)也在向復(fù)雜化的方向發(fā)展,對機(jī)器人的運動學(xué)分和動力學(xué)析也越來越復(fù)雜[2-3]。要對機(jī)器人進(jìn)行運動學(xué)分析,就需要建立機(jī)器人模型[4-5]。進(jìn)行機(jī)器人建模的方法有很多,其中最常用的方法是DH 法則[6]。在建模的過程當(dāng)中,傳統(tǒng)的DH 法則計算出基座坐標(biāo)系和夾爪坐標(biāo)系的關(guān)系,進(jìn)而分析推導(dǎo)出機(jī)械手臂的的夾爪位姿[7-8]。由于機(jī)器人工作環(huán)境的復(fù)雜化多樣化,使得使用傳統(tǒng)的DH 法則建立機(jī)器人坐標(biāo)系可能會造成失真的情況,導(dǎo)致建模錯誤,嚴(yán)重的話可能會對后續(xù)的運動學(xué)乃至動力學(xué)分析產(chǎn)生連鎖性誤差。
本文提出一種建立在DH法則基礎(chǔ)上的機(jī)器人建模改進(jìn)方法——幾何向量法,使用這種方法可以彌補(bǔ)復(fù)雜機(jī)械結(jié)構(gòu)對模型建立的影響,提高機(jī)器人建模的準(zhǔn)確性。
對于給定的機(jī)器人,各種坐標(biāo)系的選擇不是唯一的,不同的工程師有可能得到不同的DH參數(shù)表,但是最終得到的運動學(xué)結(jié)果是相同的。機(jī)器人一般由多個關(guān)節(jié)和連桿按順序鏈接構(gòu)成,關(guān)節(jié)可以是旋轉(zhuǎn)關(guān)節(jié)也可以是移動關(guān)節(jié)。以直觀的方式指定軸z0,z1,…,zn-1,其中將zi指定為關(guān)節(jié)i+1 的驅(qū)動軸。即,z0是關(guān)節(jié)1 的驅(qū)動軸,z1是關(guān)節(jié)2 的驅(qū)動軸,以此類推。此時,有兩種情況需要考慮:(1)如果關(guān)節(jié)i+1 是旋轉(zhuǎn)的,zi是關(guān)節(jié)i+1的旋轉(zhuǎn)軸;(2)如果關(guān)節(jié)i+1是移動的,zi是關(guān)節(jié)i+1 的平移軸。一旦建立了鏈接的z軸,就建立了基架。基架的選擇幾乎是任意的。可以選擇基架的原點o0為z0上的任意點。然后以任何方便的方式選擇x0,y0,只要得到的坐標(biāo)系符合右手定則即可。設(shè)置的第0坐標(biāo)系也可以稱為基坐標(biāo)系,一旦第0 個坐標(biāo)系已經(jīng)建立,就可以開始迭代,在這個過程中,從第1 個坐標(biāo)系開始,用第i-1 個坐標(biāo)系定義第i個坐標(biāo)系[9]。
在上述基礎(chǔ)條件下,為解決運用DH法則進(jìn)行機(jī)器人建模的局限性,提出一種建模方法——幾何向量法,使用這種方法可以提高機(jī)器人建模的準(zhǔn)確性,其建立步驟如下。
(1)按照傳統(tǒng)的DH法則建立DH參數(shù)表。
(2)按照傳統(tǒng)方法判斷扭角(α)和連桿間距(d)和轉(zhuǎn)角(θ)[10-11]。
(3)重新定義桿長a,與傳統(tǒng)DH法不同,這里將桿長定位為一個向量,長度為其中:l為實際桿長,d為連桿間距。方向記作γ,為向量oioi-1與向量xi的夾角,定義繞zi順時針旋轉(zhuǎn)為正。
(4)在運動學(xué)分析設(shè)置轉(zhuǎn)角參數(shù)的時候,把該關(guān)節(jié)的參數(shù)均加上γ即可。
圖1 所示為一個兩軸的機(jī)械 手 , 連 桿 長 度 為l1=200 mm,l2=400 mm 。 在第二個關(guān)節(jié)處建立x方向坐標(biāo)時有兩種情況,分別表示為x1與x′1。
圖1 兩軸機(jī)械手
運用DH 法則分別對其在Matlab 中建立機(jī)器人模型[12],針對x1與x′1兩種情況,DH參數(shù)表如表1 和2 所示。從表2 可以看出,連桿1 的桿長被誤判。
表1x1情況下DH參數(shù)
表2x′1情況下DH參數(shù)
圖2 兩軸機(jī)械手模型(x1 情況) 圖3 兩軸機(jī)械手模型(x′1 情況)
圖4 兩軸機(jī)械手賦初值模型(x1 情況)
圖5 兩軸機(jī)械手賦初值模型(x′1 情況)
將幾何向量法應(yīng)用于圖1 所示的機(jī)械手建模,設(shè)置兩個關(guān)節(jié)初始參數(shù)為q0=[0, -π/2],最終位置為qf=[π /6, -5π/6],運動時間設(shè)置為4 s。運用軌跡生成函數(shù)(jtraj)指令得到數(shù)值仿真結(jié)果,如圖6所示(黑色線條)。
圖6 二軸機(jī)械手末端夾爪位置軌跡
為了檢驗幾何向量法的準(zhǔn)確性,運用幾何法進(jìn)行求解,幾何法是基于坐標(biāo)軸的之間的幾何關(guān)系,通過三角函數(shù)直接建立夾爪中心點與基座之間的位置表達(dá)式,可以準(zhǔn)確地表達(dá)出夾爪基于基座的空間位置。通過坐標(biāo)變換矩陣得到的夾爪中心點在基座坐標(biāo)系中的表達(dá)式,將表達(dá)式中的關(guān)節(jié)參數(shù)從起始位置到終點位置進(jìn)行平均分割,再一一代入表達(dá)式中求得對應(yīng)的夾爪中心點位置。取出其中的夾爪中心點的位移量,忽略其中夾爪的朝向,并且將這些離散的位移點光順成曲線。幾何法所對應(yīng)的坐標(biāo)轉(zhuǎn)換陣為:
通過計算,可得夾爪中心點坐標(biāo)為:
進(jìn)行數(shù)值模擬時,將θ1和θ2分成40 等分進(jìn)行軌跡模擬,每個角度對應(yīng)一個時刻。計算得出的夾爪位置軌跡如圖6所示(紅色線條)。從結(jié)果對比可以看出,應(yīng)用本文提出的幾何向量法其結(jié)果與幾何解一致。其中,x-y的位移圖完全一致說明幾何向量法的可靠性。至于x-t圖和y-t圖的斜率略有偏差是因為幾何向量法使用了Matlab 中的軌跡生成函數(shù)(jtraj)指令,jtraj指令對夾爪始末位置的加速度進(jìn)行了平滑處理,以達(dá)到運動的穩(wěn)定。而幾何法中并沒有對始末位置平滑處理,因此x-t圖和y-t圖分別在斜率上略有偏差,但總體運動趨勢一致。
圖7 六軸機(jī)械手模型
再以一個更復(fù)雜的對象為例驗證幾何向量法的有效性,圖7所示為一個六軸的機(jī)械手。為了使得裝置正常,分別給第3 個關(guān)節(jié)和第5 個關(guān)節(jié)賦初值-p/6、p/6。需要注意的是第3 個關(guān)節(jié)賦初值是為了使桿長不失真,第5個關(guān)節(jié)賦值則是為了使其初始處于圖示位置——最后一根桿垂直向下,否則它就會和前面的桿重疊,無法顯示機(jī)械臂的全部桿件。
采用幾何向量法建立DH參數(shù),如表3所示。
表3 DH參數(shù)
坐標(biāo)轉(zhuǎn)換陣為:
夾爪中心點坐標(biāo):
設(shè)置6 個關(guān)節(jié)初始參數(shù)為q0=[5 0, 0, -π/6, 0, π/6, 0],最終位置為運動時間設(shè)置為5 s。運用軌跡生成函數(shù)(jtraj)指令可得到幾何向量法的數(shù)值仿真結(jié)果。同理,運用幾何法也可計算得出夾爪的位置軌跡,結(jié)果對比如圖8所示。
圖8 六軸機(jī)械手末端夾爪位置軌跡
從仿真結(jié)果可以看出,x-y-z圖函數(shù)關(guān)系一致,而x-t、y-t與z-t三圖之間存在一定誤差,但趨勢相同。誤差是由于Matab當(dāng)中的jtraj指令會對夾爪中心點始末的加速度進(jìn)行平滑處理,以達(dá)到運動的穩(wěn)定。
針對使用DH法則進(jìn)行機(jī)器人建模以及運動分析時容易產(chǎn)生失真現(xiàn)象而提出一種基于幾何向量法的機(jī)器人建模方法。通過實例說明了本文提出的建模方法在處理復(fù)雜的機(jī)械結(jié)構(gòu)時具有良好的普適性和可靠性。該方法可以改進(jìn)使用DH法則時出現(xiàn)的誤差,且較為簡便,只需要將DH 參數(shù)中的桿長(a)換一種方式設(shè)定即可。