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