袁 媛
(西安航空職業(yè)技術(shù)學(xué)院 航空維修工程學(xué)院,陜西 西安 710089)
串聯(lián)機械臂作為現(xiàn)代工業(yè)中常用的機械臂,具有多自由度、多連桿的特點,被廣泛應(yīng)用于焊接機器人及汽車、船舶、航天等零部件的焊接及噴涂操作中[1]。
作為控制的基本問題,運動學(xué)及奇異性已經(jīng)被廣泛研究。安梓銘等[2]基于矢量分析方法建立了3-PRP型并聯(lián)機構(gòu)的運動學(xué)正逆解模型,并基于雅克比矩陣對其速度和奇異性各向同性配置進行了分析。肖永飛等[3]針對設(shè)計的一種上肢外骨骼機構(gòu)進行了運動學(xué)與奇異性分析,針對機械臂在工作空間內(nèi)的奇異形位提出了一種消除的方法。李瑞霞等[4]建立了六自由度機械臂的運動學(xué)坐標系,基于D-H法建立了機械臂的正運動學(xué)模型,并進行了工作空間的分析。李憲華等[5]建立了六自由度模塊化機械臂的運動學(xué)模型,并對工作空間內(nèi)的奇異構(gòu)型進行了分析。劉夢軍等[6]針對三自由度機械臂進行了運動學(xué)正逆解的推導(dǎo)。宋晨等[7]針對所設(shè)計的調(diào)姿機構(gòu)建立了其運動學(xué)模型,并對其末端誤差和誤差靈敏度進行了分析。夏田等[8]研究了下肢康復(fù)機械臂的運動學(xué)模型,并進行了仿真分析。李麗等[9]分析了6R串聯(lián)機械臂的正運動學(xué)模型,并進行了奇異位置分析。丁希侖等[10]對機械臂的空間位姿誤差分析方法進行了總結(jié)。李志宏等[11]分析了機械臂連桿參數(shù)誤差對機械臂末端位姿偏差量和末端位姿可靠性的影響。吳碩等[12]基于D-H法推導(dǎo)了五自由度機械臂的運動學(xué)模型。趙磊等[13]建立了平面6桿機械臂的運動學(xué)模型,并對系統(tǒng)中存在的幾何誤差對機械臂的控制精度進行了分析。葛為民等[14]通過仿真分析了機器人幾何靜態(tài)誤差參數(shù)對末端位置誤差的影響,并構(gòu)建了誤差參數(shù)靈敏度系數(shù)模型。張永貴等[15]基于示教器顯示的機械臂的位姿建立了運動學(xué)參數(shù)未知的機械臂的逆運動學(xué)模型。王帥等[16]基于D-H法建立了六連桿機械臂的運動學(xué)模型,并基于Matlab搭建了仿真模型進行了仿真分析。
本文針對六自由度機械臂的運動分析問題,對機械臂運動學(xué)數(shù)學(xué)模型、末端位置誤差、機械臂奇異形位等方面進行研究。
六自由度串聯(lián)機械臂如圖1所示。
圖1 六自由度串聯(lián)機械臂Ji—關(guān)節(jié)的轉(zhuǎn)軸;θi—關(guān)節(jié)轉(zhuǎn)角;Oi—關(guān)節(jié)坐標系原點
六自由度機械臂有6個旋轉(zhuǎn)自由度的串聯(lián)型機械臂,末端位置只與前3個驅(qū)動關(guān)節(jié)相關(guān),后3個旋轉(zhuǎn)關(guān)節(jié)的存在將提高機械臂的靈活性,使得機械臂的靈巧度更高。
為了建立其運動學(xué)模型,首先筆者基于D-H關(guān)節(jié)坐標系后置的方法建立其運動學(xué)坐標系,通過D-H法規(guī)定的兩個相鄰坐標系之間的變換規(guī)則,得到運動學(xué)模型的D-H參數(shù),如表1所示。
表1 焊接機器人的D-H參數(shù)
通過相鄰坐標系之間的變換矩陣式可以得到相鄰關(guān)節(jié)之間的齊次坐標變換矩陣,并通過坐標系之間的變換得到機械臂末端在其自身基礎(chǔ)坐標系下的位置向量與姿態(tài)角。相鄰坐標系之間的變換矩陣如下:
i-1Ti=
(1)
將機械臂的D-H參數(shù)代入式(1),即可求得各個關(guān)節(jié)坐標系之間的坐標轉(zhuǎn)換矩陣。根據(jù)求得的相鄰關(guān)節(jié)坐標系之間的坐標變換矩陣,機械臂的正向運動學(xué)模型可通過相鄰坐標系變換矩陣的乘積求得:
(2)
式中:0Tn—末端坐標系到基坐標系的變換矩陣;i-1Ti—第i關(guān)節(jié)坐標系到第i-1關(guān)節(jié)的變換矩陣(i=1..,6)。
其中,各轉(zhuǎn)角范圍為:
為了驗證建立的運動學(xué)正解模型的正確性,首先,本文借助于Matlab的機器人工具箱,搭建六自由度機械臂的機構(gòu)模型,以此模型的輸出作為真實的輸出結(jié)果,給定運動學(xué)模型與仿真的結(jié)構(gòu)模型相同的關(guān)節(jié)轉(zhuǎn)角,比較得到的兩種模型的輸出的末端位置[px,py,pz]與姿態(tài)角[α,β,γ],以兩種模型之間的誤差大小來衡量所搭建的正運動模型的正確性。其中姿態(tài)角的解析方法采用RPY解析法,由于此種方法比較成熟,筆者通過機械臂末端的姿態(tài)矩陣元素來解算末端坐標系繞3個軸線方向的旋轉(zhuǎn)角度(3個姿態(tài)角),此處不贅述。
本研究搭建的正運動模型驗證模塊Simulink程序如圖2所示。
圖2 六自由機械臂的正運動學(xué)驗證模型
本研究將各個關(guān)節(jié)的轉(zhuǎn)角范圍賦給運動學(xué)模塊與機構(gòu)模塊,設(shè)置仿真時間為10 s,仿真步長為0.1 s,運行仿真程序可以得到理論和實際的機械臂末端位姿誤差,如圖3所示。
圖3 機械臂末端位置和姿態(tài)誤差曲線
從圖3可以看出,機械臂末端的位置和姿態(tài)與真實的相差很小,3個方向位置誤差數(shù)量級都在10-13mm,3個姿態(tài)角誤差數(shù)量級都在(10-14)°,由此可見,本文所搭建的運動學(xué)正解模型是正確的。
基于運動學(xué)正解模型,通過等式兩側(cè)同時乘以矩陣逆陣及對應(yīng)元素相等可以求得所對應(yīng)的運動學(xué)逆解,即在給定末端位姿的條件下可以得到對應(yīng)的關(guān)節(jié)轉(zhuǎn)角。本研究以關(guān)節(jié)1為例,首先給定機械臂的末端位姿矩陣如下:
(3)
根據(jù)運動學(xué)正解模型可以建立等式如下:
(4)
因等號兩側(cè)矩陣對應(yīng)元素相等,可以求得關(guān)節(jié)1轉(zhuǎn)角θ1的解析式如下:
θ1=atan(py/px)
(5)
求得的其余關(guān)節(jié)轉(zhuǎn)角為:
其中:
與運動學(xué)正解類似,本研究搭建機構(gòu)仿真模型作為實際輸出,通過給定機械臂仿真結(jié)構(gòu)的轉(zhuǎn)角,然后測量機械臂仿真模型末端的位置向量與姿態(tài)矩陣,并將位置向量和姿態(tài)矩陣組合成為機械臂末端的齊次矩陣作為運動學(xué)逆解模型的輸入,最終通過比較仿真機構(gòu)的輸入角度與運動學(xué)逆解得到的關(guān)節(jié)轉(zhuǎn)角,以驗證運行學(xué)逆解模型的正確性。搭建的運動學(xué)逆解的仿真驗證程序如圖4所示。
本研究設(shè)置仿真時間為10 s,仿真步長為0.1 s,運行仿真程序可以得到仿真機構(gòu)模型的輸入角度和運動學(xué)逆解得到的關(guān)節(jié)轉(zhuǎn)角誤差,如圖5所示。
圖4 六自由機械臂的逆運動學(xué)驗證模型
圖5 機械臂運動學(xué)逆解轉(zhuǎn)角誤差
從圖5中可以看出:兩種模型的轉(zhuǎn)角相差很小,關(guān)節(jié)轉(zhuǎn)角誤差數(shù)量級都在(10-11)°,由此可見,本文所搭建的運動學(xué)逆解模型是正確的。
位置誤差敏感方向分布圖如圖6所示。
首先本研究在機械臂初始位置狀態(tài)下,給每個關(guān)節(jié)轉(zhuǎn)角賦加[-0.5,0.5]°的轉(zhuǎn)角誤差范圍,仿真分析此時的機械臂末端位置誤差。從圖6中可以看出,此時的末端誤差在x和z方向的變化區(qū)間為[-5,5] mm,在y方向的變化區(qū)間為[-2,2] mm。從結(jié)果中可以看出,關(guān)節(jié)的轉(zhuǎn)角誤差對機械臂末端x和z方向的位置誤差影響比較接近,而且誤差要明顯大于y軸方向。
為了分析末端位置誤差對各個關(guān)節(jié)轉(zhuǎn)角誤差的敏感方向,筆者依次在各關(guān)節(jié)轉(zhuǎn)角的基礎(chǔ)上加0.5°的誤差。由于機械臂末端的位置只與前3個關(guān)節(jié)相關(guān),本研究分析機械臂的末端誤差時只考慮前3個關(guān)節(jié)的轉(zhuǎn)角誤差。從圖6中可以看出,對于θ1的誤差影響來說,在x軸方向零位附近時,x方向為θ1誤差敏感方向,在y軸附近時y方向為誤差敏感方向,全域空間內(nèi)在三軸方向上的最大誤差為e1=[4.36,4.36,0] mm,θ1對機械臂末端的z方向位置無影響;對于θ2的誤差影響來說,在全域空間內(nèi)z方向為θ2誤差敏感方向全域空間內(nèi)在三軸方向上的最大誤差為e2=[-4.36,4.36,4.36] mm;對于θ3的誤差來說,在x軸方向零位附近時,y方向為θ3誤差敏感方向,在y軸方向零位附近時,x方向為θ3誤差敏感方向,在全域空間內(nèi)的其他位置,3個方向上的誤差比較接近全域空間內(nèi)在三軸方向上的最大誤差為e3=[1.75,1.75,1.75] mm。
圖6 位置誤差敏感方向分布圖
機械臂的奇異性是機械臂工作時一個潛在的不安因素。根據(jù)之前推導(dǎo)的正確的機械臂正運動學(xué)模型,由于機械臂六個關(guān)節(jié)全為旋轉(zhuǎn)關(guān)節(jié),本研究利用旋轉(zhuǎn)關(guān)節(jié)雅可比矩陣求取方法可求得機械臂末端運動與單個關(guān)節(jié)之間的映射矩陣如下:
Ji=[(p×n)z(p×o)z(p×a)znzozaz]
(7)
式中:P—第i個關(guān)節(jié)坐標系到機械臂末端坐標系之間的位置向量;n—第i個關(guān)節(jié)坐標系到機械臂末端坐標系之間的姿態(tài)矩陣第一列向量;o—第i個關(guān)節(jié)坐標系到機械臂末端坐標系之間的姿態(tài)矩陣第二列向量;a—第i個關(guān)節(jié)坐標系到機械臂末端坐標系之間的姿態(tài)矩陣第一列向量。
末端的雅可比矩陣如下:
J=[J1J2J3J4J5J6]
(8)
在推導(dǎo)的雅可比矩陣的基礎(chǔ)上,本研究通過編寫M文件計算全域空間內(nèi)的奇異點,即雅可比矩陣行列式的值為零的位姿點。首先將關(guān)節(jié)轉(zhuǎn)角空間離散成多組散點,其次計算每組轉(zhuǎn)角情況下對應(yīng)的雅可比行列式的值,最后判斷在該組關(guān)節(jié)轉(zhuǎn)角情況下的行列式值是否為零,若為零則該組轉(zhuǎn)角對應(yīng)的位姿點即為奇異點,若非零則該組轉(zhuǎn)角即為非奇異點。
通過運行M文件可以得到機械臂的奇異點主要集中在兩個位置:(1)θ3=π/2,其余關(guān)節(jié)轉(zhuǎn)角不管處于何值,此時機械臂都是奇異形位,此時機械臂處于關(guān)節(jié)轉(zhuǎn)角的極限位置奇異;(2)θ4=θ5=θ6=0,末端的3個旋轉(zhuǎn)自由度處于初始位置,此時不管前3個控制機械臂末端位置的關(guān)節(jié)角度為何值,機械臂都處于奇異形位,這種情況也屬于極限位置奇異。在這兩個位置時不管其余關(guān)節(jié)轉(zhuǎn)角為何值,此時機械臂都處于極限位置奇異。
通過對六自由度機械臂的結(jié)構(gòu)分析,本研究基于D-H法建立了機械臂的正運動學(xué)模型與逆運動學(xué)模型,搭建了機構(gòu)的仿真模型,仿真結(jié)果顯示,所建立的運動學(xué)模型是正確的。
基于運動學(xué)模型,推導(dǎo)了機械臂運動學(xué)雅可比矩陣,通過仿真分析了工作空間內(nèi)機械臂的奇異形位,結(jié)果顯示,機械臂存在兩個位置的奇異形位,并且都屬于極限位置奇異。