冷玉珊,鄧子龍,高興軍
(遼寧石油化工大學(xué) 機(jī)械工程學(xué)院,撫順 113001)
隨著科技的更新?lián)Q代,串聯(lián)機(jī)器人的運用越來越普遍,串聯(lián)機(jī)器人具有快速靈活、高精度、多功能等優(yōu)點,機(jī)器人運動學(xué)正逆解是機(jī)器人軌跡分析和運動控制的基礎(chǔ)[1]。已知機(jī)器人各個關(guān)節(jié)變量值就可求出機(jī)器人在空間笛卡爾坐標(biāo)下的位置與姿稱為運動學(xué)正向求解問題;相反,已確定機(jī)器人要到達(dá)位姿的情況下求出機(jī)器所需關(guān)節(jié)變量值,使機(jī)器人位姿要求得到滿足稱為運動學(xué)逆解[2];求解6R串聯(lián)機(jī)器人的運動學(xué)逆解有多種方法如代數(shù)法、數(shù)值迭代法、幾何法等[3];沈雅瓊等運用基于齊次變換矩陣,通過建立轉(zhuǎn)動和平動的運動軌跡方程,適用于直線和圓弧軌跡規(guī)劃[4];周承仙等運用D-H參數(shù)法結(jié)合OpenG技術(shù)進(jìn)行了正逆運動學(xué)三維仿真得出末梢定位的誤差小6×105mm時,與現(xiàn)實情況下的運動相符合[5];Liu yuan等根據(jù)D-H參數(shù)采用幾何法求運動學(xué)逆解,在VS2013進(jìn)行圓插值的仿真實例,通過比較正反向運動學(xué)前后的圓,驗證了該方法的正確性[6];Tondu等在考慮時間最優(yōu)的條件下,設(shè)計出了軌跡路徑點用高次多項式曲線逼近法得到合適的軌跡[7];杭魯濱等基于線性變換消元理論,用多個原始運動學(xué)方程導(dǎo)出只有一個變量的多項式方程并能求解一解或多解問題[8];陳慶城運用旋量理論的逆運動學(xué)子問題解法將整體逆運動學(xué)分為此類子問題和其他的Panden-Kahan逆運動學(xué)子問題來聯(lián)合求解方法是高效正確的[9]。本文以6自由度的某工業(yè)機(jī)器人為分析目標(biāo),某工業(yè)機(jī)器人結(jié)構(gòu)如圖1所示。運用D-H方法在關(guān)節(jié)空間下對其運動軌跡進(jìn)行分析,經(jīng)分析得到終端位姿在基礎(chǔ)坐標(biāo)系中隨關(guān)節(jié)變化的運動曲線,在運動過程中各關(guān)節(jié)加速度、速度以及位置變化的趨勢。
六自由度串聯(lián)關(guān)節(jié)型機(jī)器人結(jié)構(gòu),包括底座、機(jī)身、下臂、臂、手腕及末端操作器,每個關(guān)節(jié)對應(yīng)一個自由度。根據(jù)D-H參數(shù)表示法,創(chuàng)建機(jī)器人D-H坐標(biāo)系,取第一坐標(biāo)系與基坐標(biāo)系為同一個坐標(biāo)系,D-H參數(shù)說明了機(jī)器人相連關(guān)節(jié)坐標(biāo)系之間的轉(zhuǎn)化。某工業(yè)機(jī)器人的D-H參數(shù)坐標(biāo)系如圖2所示,機(jī)器人D-H參數(shù)如表1所示。
圖1 機(jī)器人結(jié)構(gòu)
圖2 D-H坐標(biāo)系的建立
表1 某工業(yè)機(jī)器人D-H參數(shù)
在連接連桿的關(guān)節(jié)上建立基礎(chǔ)坐標(biāo)系,完成從一個關(guān)節(jié)到下一個關(guān)節(jié)之間坐標(biāo)系的變化。用矩陣表示基礎(chǔ)坐標(biāo)變換,從基坐標(biāo)系到末端關(guān)節(jié)坐標(biāo)系的組合,得出機(jī)器人的總變換矩陣[10]。從坐標(biāo)系i-1到坐標(biāo)系i的變換,可通過以下變換順序來完成:
1)繞zi-1軸旋轉(zhuǎn)θ3角,使xi-1軸轉(zhuǎn)到與xi同向。
2)沿zi-1軸平移di,把xi-1移到與xi同一條直線上。
3)沿i軸平移ai-1,使連桿i-l的坐標(biāo)系原點與連桿i的坐標(biāo)系原點重合。
4)繞xi-1軸轉(zhuǎn)ai-1角,使zi-1轉(zhuǎn)到與zi重合。
用四個齊次變換矩陣表示連桿i相對于連桿i-1的位置和方向,基坐標(biāo)系與終端坐標(biāo)系之間的變換,稱Ai矩陣。此表達(dá)式為:
展開上式可得:
對于在轉(zhuǎn)動關(guān)節(jié)i后的連桿,參數(shù)為di,ai-1和ai-1。對于在聯(lián)軸關(guān)節(jié)i后的連桿,變量為θi和ai-1,通過sina和cosa求解出a角。對于轉(zhuǎn)動關(guān)節(jié),矩陣A成為關(guān)節(jié)變量θ的函數(shù),或變量d的函數(shù)。只要求解出這些數(shù)據(jù)之后,式中Ai變換矩陣的值就可以確定。按照規(guī)定,正數(shù)表示逆時針,負(fù)數(shù)表示順時針。
根據(jù)給出的各桿D-H參數(shù),運用MATLAB得出T的矩陣表達(dá)式,式中:
其中:si=sinθi,ci=cosθi,s23=sin(θ2+sinθ3),c23=cos(θ2+θ3)。
上式中,前三列矩陣指的是末端連桿的位置與姿態(tài);第四列矩陣指的是末端連桿中心點的位置,將機(jī)器人表1所示關(guān)節(jié)變量θ1θ3θ4θ5θ6=0°,θ2=-90°代入以上等式,計算結(jié)果為:
此結(jié)果運動學(xué)正解方程中的結(jié)果是一樣的,證明齊次變換矩陣正確。
在機(jī)器人控制中,運動學(xué)逆解是在已知機(jī)器人要達(dá)到的終端位置與姿態(tài)的情況下,計算出每個關(guān)節(jié)角度[θ1θ2θ3θ4θ5θ6]。與運動學(xué)正解相比較,運動學(xué)逆解在實際生活中有更廣泛的應(yīng)用。機(jī)器人運動學(xué)逆解問題的復(fù)雜性和不唯一性,難以建立廣泛運用的解析方法。本文采用分離變量法,在方程左邊和右邊同時乘變換矩陣的逆矩陣,依次解出所有關(guān)于角度的未知變量θ1θ2θ3θ4θ5θ6。
根據(jù)式(3)整理矩陣各項可得:
其中:
1)求解θ1:由已知式(4)、式(5)可知:
2)求解θ3:
3)求解θ2:
4)求解θ4:
5)求解θ5:
求解方程式可知:
6)求解θ6:
求解方程式可得:
在MATLAB軟件中,利用robotics toolbox模塊中的link函數(shù)和robot函數(shù)并結(jié)合機(jī)器人的結(jié)構(gòu)參數(shù)創(chuàng)建機(jī)器人模型,利用MATLAB軟件來檢驗動學(xué)正逆解公式。在關(guān)節(jié)變量范圍內(nèi)任意選取6個關(guān)節(jié)變量值,利用運動學(xué)正解公式,得出相應(yīng)的終端執(zhí)行器位置和姿態(tài),在運動逆解公式中輸入位姿矩陣,證明所求得的關(guān)節(jié)角度值與初始角度值一致。選取3組實驗數(shù)據(jù),第一組為90°、60°、45°、0°、60°、90°,第二組為30°、45°、60°、0°、30°、90°,第三組為22.5°、77°、60°、0°、36°、90°,通過運動學(xué)正解公式求解出終端位姿矩陣T2、T3,通過運動學(xué)逆解求得出各個關(guān)節(jié)的最優(yōu)角度值。
任意選取的角度變量,三組機(jī)器人的位姿和計算結(jié)果與運動學(xué)正逆解方程中的解結(jié)果一致,驗證了所運算運動學(xué)正逆解正確性。
利用MATLAB軟件建立運動學(xué)正解模型,分別計算出三組機(jī)器人位姿圖,如圖3所示。
圖3 機(jī)器人位姿圖
利用在關(guān)節(jié)變量范圍之內(nèi)給出的三組數(shù)據(jù),算出各個關(guān)節(jié)角度并輸入以上隨機(jī)選的三組關(guān)節(jié)角度,經(jīng)程序算出機(jī)器人在基礎(chǔ)坐標(biāo)系中的位姿,證明所得的三組機(jī)器人的位姿和運動學(xué)方程中計算得到的位姿一致,驗證了在MATLAB中建立的機(jī)器人模型正確。
串聯(lián)機(jī)器人的軌跡規(guī)劃分為關(guān)節(jié)空間和直角坐標(biāo)空間的軌跡規(guī)劃。關(guān)節(jié)空間的軌跡規(guī)劃算法相對簡單且計算步驟較少,方便求解用時較短。在關(guān)節(jié)空間內(nèi)展開軌跡規(guī)劃時,將每個關(guān)節(jié)作業(yè)路徑點轉(zhuǎn)換為關(guān)節(jié)空間路徑點,用關(guān)節(jié)角度的函數(shù)來描述機(jī)器人的軌跡。
將機(jī)器人的模擬時間設(shè)為3s,規(guī)定初始關(guān)節(jié)的值為q0=[0 0 0 0 0 0],終端的關(guān)節(jié)值為q1=[Pi/6 Pi/4 Pi/3 0 pi/6 Pi/2],運行q=Jtraj(q0,q1,t)程序則可得到各個關(guān)節(jié)的曲線趨勢和各個關(guān)節(jié)的速度和加速度的曲線形式,如圖4所示。
圖4 六個關(guān)節(jié)變量的位置、速度、加速度及軌跡曲線圖
由以上數(shù)值分析可知,確定每個關(guān)節(jié)變量的值,可以計算出該機(jī)器人終端在基礎(chǔ)坐標(biāo)系中的齊次變換矩陣T,根據(jù)矩陣T,能夠運算出終端機(jī)器人基礎(chǔ)坐標(biāo)系下的位姿。
在圖4(a)、圖4(b)和圖4(c)的關(guān)節(jié)空間軌跡規(guī)劃中,設(shè)定各關(guān)節(jié)的角位移、角速度和角加速度的初始值都為零,有利于控制每個關(guān)節(jié)運動方向。各個關(guān)節(jié)從零點到要到達(dá)的終端位置,在整個時間間隔內(nèi)都是平滑連續(xù)的曲線,說明機(jī)器人的各個關(guān)節(jié)在作業(yè)過程中運行平穩(wěn),由圖4(d)可知機(jī)器人在運行過程中可以到達(dá)預(yù)定的位置且運動路徑更加直觀,證明機(jī)器人運動學(xué)建模合理。
本文對六自由度的某工業(yè)機(jī)器人,運用D-H參數(shù)法創(chuàng)建機(jī)器人連桿坐標(biāo)系,完成了相鄰連桿之間的位姿矩陣和機(jī)器人運動學(xué)正逆解方程。通過運動學(xué)正逆解分析,得到機(jī)器人各個關(guān)節(jié)轉(zhuǎn)動和終端位姿之間的變化關(guān)系,通過完成機(jī)器人在關(guān)節(jié)空間中的運動軌跡分析,得出各個關(guān)節(jié)的角位移、角速度和角加速度隨時間不斷變化的曲線趨勢,證明曲線變化與各個關(guān)節(jié)位置、速度和加速度是相一致的,為機(jī)器人的控制和軌跡分析奠定了基礎(chǔ)。