冷玉珊,鄧子龍,高興軍
(遼寧石油化工大學 機械工程學院,撫順 113001)
隨著科技的更新換代,串聯機器人的運用越來越普遍,串聯機器人具有快速靈活、高精度、多功能等優點,機器人運動學正逆解是機器人軌跡分析和運動控制的基礎[1]。已知機器人各個關節變量值就可求出機器人在空間笛卡爾坐標下的位置與姿稱為運動學正向求解問題;相反,已確定機器人要到達位姿的情況下求出機器所需關節變量值,使機器人位姿要求得到滿足稱為運動學逆解[2];求解6R串聯機器人的運動學逆解有多種方法如代數法、數值迭代法、幾何法等[3];沈雅瓊等運用基于齊次變換矩陣,通過建立轉動和平動的運動軌跡方程,適用于直線和圓弧軌跡規劃[4];周承仙等運用D-H參數法結合OpenG技術進行了正逆運動學三維仿真得出末梢定位的誤差小6×105mm時,與現實情況下的運動相符合[5];Liu yuan等根據D-H參數采用幾何法求運動學逆解,在VS2013進行圓插值的仿真實例,通過比較正反向運動學前后的圓,驗證了該方法的正確性[6];Tondu等在考慮時間最優的條件下,設計出了軌跡路徑點用高次多項式曲線逼近法得到合適的軌跡[7];杭魯濱等基于線性變換消元理論,用多個原始運動學方程導出只有一個變量的多項式方程并能求解一解或多解問題[8];陳慶城運用旋量理論的逆運動學子問題解法將整體逆運動學分為此類子問題和其他的Panden-Kahan逆運動學子問題來聯合求解方法是高效正確的[9]。本文以6自由度的某工業機器人為分析目標,某工業機器人結構如圖1所示。運用D-H方法在關節空間下對其運動軌跡進行分析,經分析得到終端位姿在基礎坐標系中隨關節變化的運動曲線,在運動過程中各關節加速度、速度以及位置變化的趨勢。
六自由度串聯關節型機器人結構,包括底座、機身、下臂、臂、手腕及末端操作器,每個關節對應一個自由度。根據D-H參數表示法,創建機器人D-H坐標系,取第一坐標系與基坐標系為同一個坐標系,D-H參數說明了機器人相連關節坐標系之間的轉化。某工業機器人的D-H參數坐標系如圖2所示,機器人D-H參數如表1所示。

圖1 機器人結構

圖2 D-H坐標系的建立

表1 某工業機器人D-H參數
在連接連桿的關節上建立基礎坐標系,完成從一個關節到下一個關節之間坐標系的變化。用矩陣表示基礎坐標變換,從基坐標系到末端關節坐標系的組合,得出機器人的總變換矩陣[10]。從坐標系i-1到坐標系i的變換,可通過以下變換順序來完成:
1)繞zi-1軸旋轉θ3角,使xi-1軸轉到與xi同向。
2)沿zi-1軸平移di,把xi-1移到與xi同一條直線上。
3)沿i軸平移ai-1,使連桿i-l的坐標系原點與連桿i的坐標系原點重合。
4)繞xi-1軸轉ai-1角,使zi-1轉到與zi重合。
用四個齊次變換矩陣表示連桿i相對于連桿i-1的位置和方向,基坐標系與終端坐標系之間的變換,稱Ai矩陣。此表達式為:

展開上式可得:

對于在轉動關節i后的連桿,參數為di,ai-1和ai-1。對于在聯軸關節i后的連桿,變量為θi和ai-1,通過sina和cosa求解出a角。對于轉動關節,矩陣A成為關節變量θ的函數,或變量d的函數。只要求解出這些數據之后,式中Ai變換矩陣的值就可以確定。按照規定,正數表示逆時針,負數表示順時針。

根據給出的各桿D-H參數,運用MATLAB得出T的矩陣表達式,式中:


其中:si=sinθi,ci=cosθi,s23=sin(θ2+sinθ3),c23=cos(θ2+θ3)。
上式中,前三列矩陣指的是末端連桿的位置與姿態;第四列矩陣指的是末端連桿中心點的位置,將機器人表1所示關節變量θ1θ3θ4θ5θ6=0°,θ2=-90°代入以上等式,計算結果為:

此結果運動學正解方程中的結果是一樣的,證明齊次變換矩陣正確。
在機器人控制中,運動學逆解是在已知機器人要達到的終端位置與姿態的情況下,計算出每個關節角度[θ1θ2θ3θ4θ5θ6]。與運動學正解相比較,運動學逆解在實際生活中有更廣泛的應用。機器人運動學逆解問題的復雜性和不唯一性,難以建立廣泛運用的解析方法。本文采用分離變量法,在方程左邊和右邊同時乘變換矩陣的逆矩陣,依次解出所有關于角度的未知變量θ1θ2θ3θ4θ5θ6。
根據式(3)整理矩陣各項可得:

其中:

1)求解θ1:由已知式(4)、式(5)可知:

2)求解θ3:

3)求解θ2:

4)求解θ4:

5)求解θ5:

求解方程式可知:

6)求解θ6:

求解方程式可得:

在MATLAB軟件中,利用robotics toolbox模塊中的link函數和robot函數并結合機器人的結構參數創建機器人模型,利用MATLAB軟件來檢驗動學正逆解公式。在關節變量范圍內任意選取6個關節變量值,利用運動學正解公式,得出相應的終端執行器位置和姿態,在運動逆解公式中輸入位姿矩陣,證明所求得的關節角度值與初始角度值一致。選取3組實驗數據,第一組為90°、60°、45°、0°、60°、90°,第二組為30°、45°、60°、0°、30°、90°,第三組為22.5°、77°、60°、0°、36°、90°,通過運動學正解公式求解出終端位姿矩陣T2、T3,通過運動學逆解求得出各個關節的最優角度值。

任意選取的角度變量,三組機器人的位姿和計算結果與運動學正逆解方程中的解結果一致,驗證了所運算運動學正逆解正確性。
利用MATLAB軟件建立運動學正解模型,分別計算出三組機器人位姿圖,如圖3所示。

圖3 機器人位姿圖
利用在關節變量范圍之內給出的三組數據,算出各個關節角度并輸入以上隨機選的三組關節角度,經程序算出機器人在基礎坐標系中的位姿,證明所得的三組機器人的位姿和運動學方程中計算得到的位姿一致,驗證了在MATLAB中建立的機器人模型正確。
串聯機器人的軌跡規劃分為關節空間和直角坐標空間的軌跡規劃。關節空間的軌跡規劃算法相對簡單且計算步驟較少,方便求解用時較短。在關節空間內展開軌跡規劃時,將每個關節作業路徑點轉換為關節空間路徑點,用關節角度的函數來描述機器人的軌跡。
將機器人的模擬時間設為3s,規定初始關節的值為q0=[0 0 0 0 0 0],終端的關節值為q1=[Pi/6 Pi/4 Pi/3 0 pi/6 Pi/2],運行q=Jtraj(q0,q1,t)程序則可得到各個關節的曲線趨勢和各個關節的速度和加速度的曲線形式,如圖4所示。


圖4 六個關節變量的位置、速度、加速度及軌跡曲線圖
由以上數值分析可知,確定每個關節變量的值,可以計算出該機器人終端在基礎坐標系中的齊次變換矩陣T,根據矩陣T,能夠運算出終端機器人基礎坐標系下的位姿。
在圖4(a)、圖4(b)和圖4(c)的關節空間軌跡規劃中,設定各關節的角位移、角速度和角加速度的初始值都為零,有利于控制每個關節運動方向。各個關節從零點到要到達的終端位置,在整個時間間隔內都是平滑連續的曲線,說明機器人的各個關節在作業過程中運行平穩,由圖4(d)可知機器人在運行過程中可以到達預定的位置且運動路徑更加直觀,證明機器人運動學建模合理。
本文對六自由度的某工業機器人,運用D-H參數法創建機器人連桿坐標系,完成了相鄰連桿之間的位姿矩陣和機器人運動學正逆解方程。通過運動學正逆解分析,得到機器人各個關節轉動和終端位姿之間的變化關系,通過完成機器人在關節空間中的運動軌跡分析,得出各個關節的角位移、角速度和角加速度隨時間不斷變化的曲線趨勢,證明曲線變化與各個關節位置、速度和加速度是相一致的,為機器人的控制和軌跡分析奠定了基礎。