A Fast Solving Method for Series Robot Kinematics
劉 蕾
(安徽埃夫特智能裝備有限公司,安徽 蕪湖 241000)
一種串聯(lián)機器人運動學快速求解方法
A Fast Solving Method for Series Robot Kinematics
劉蕾
(安徽埃夫特智能裝備有限公司,安徽 蕪湖241000)
摘要:針對6自由度串聯(lián)機器人運動學求解出現(xiàn)的選解難、漏解、精度不高等問題,提出了一種幾何法和反變換法相結(jié)合的求解方法,克服了現(xiàn)有一些運動學分析算法中存在的計算量大、時間長、實時性差等缺點。在多解選擇時,采用就近原則和逐級剔除的方法,避免了機器人由于選解不合適導(dǎo)致的飛車現(xiàn)象。這種方法已經(jīng)在機器人上成功應(yīng)用。實際結(jié)果表明,提出的方法是正確可行的。
關(guān)鍵詞:機器人運動學幾何法反變換法坐標系
Abstract:Aiming at the problems existing in 6-DOF series robot kinematics solving, e.g., difficulty in selecting solving, miss solving, and low accuracy, etc., the solving method combining geometric method and inverse transform method is proposed to overcome the disadvantages of some of the existing kinematics analysis algorithms, i.e., large amount of calculation, longer time, and poor real time performance. In selection of multiple solutions, using methods of proximity principle and sequential extraction, the excessive speed phenomenon of robot under inappropriate selection of solutions can be avoided. The method has been successfully applied in robots. Practical results indicate that the method proposed is correct and feasible.
Keywords:RobotKinematicsGeometric methodInverse transformCoordinated system
0引言
機器人運動學問題是機器人控制研究的基本問題之一。目前,工業(yè)機器人軌跡跟蹤等問題的研究大多還集中在關(guān)節(jié)空間中。運動學分析求解的快速性與實時性將直接影響機器人軌跡跟蹤等問題的控制性能[1]。6自由度串聯(lián)機器人的運動學分析主要有3種方法:DH參數(shù)法[2]、幾何法[3-4]和反變換法。DH參數(shù)法是一種應(yīng)用廣泛的方法,但繁瑣的矩陣運算不利于算法的實時實現(xiàn)。幾何法一般求解較困難,通用性不好,但從控制效果來看,幾何法精度高、計算快,使其成為一種優(yōu)越的運動學算法,適用于自由度較少的機械機構(gòu)。反變換法適合結(jié)構(gòu)簡單、易于分析的機器人,但運算過程中往往會出現(xiàn)反正弦和反余弦的求解,在機器人逆運動學計算時就會出現(xiàn)多解。機器人運動只能有一組解,如果在選解時出現(xiàn)錯誤,機器人便會出現(xiàn)飛車現(xiàn)象。
本文在分析6自由度串聯(lián)機器人逆運動學時,利用幾何法求解前3個關(guān)節(jié)的關(guān)節(jié)角度,大大提高了系統(tǒng)運算的實時性;利用反變換法求解后3個關(guān)節(jié)的關(guān)節(jié)角度,通過“就近原則”選擇機器人唯一一組解。
1建立坐標系
建立坐標系的原則是:各個關(guān)節(jié)的旋轉(zhuǎn)軸定義為Z軸,而且坐標系和關(guān)節(jié)角的方向均滿足右手法則[5]。如圖1所示,建立相應(yīng)的各個關(guān)節(jié)的坐標系。其中,全局坐標系為O0-X0Y0Z0,簡記為0系;各個關(guān)節(jié)為1、2、3、4、5、6系;工具坐標系為T系。
圖1 機器人模型
2機器人運動學分析
機器人正運動學分析就是已知桿件幾何參數(shù)和關(guān)節(jié)角矢量,求機器人末端執(zhí)行器相對于固定參考坐標的位置和姿態(tài)[6]。此處的固定參考坐標系就是坐標系0。首先用坐標變換來描述從坐標系0到坐標系T的變換。從圖1可知,從0到1的變換矩陣為1T0,依次類推有2T1、3T2、4T3、5T4和6T5,從而可以得到從坐標系0到坐標系6的坐標變換6T0,從0到T的變換為TT0=6T0TT6。
其中,cosθi表示第i個關(guān)節(jié)角度的余弦值,sinθi表示第i個關(guān)節(jié)角度的正弦值,i=1,2,3,4,5,6。
用齊次坐標變換矩陣來表示機器人的正解運算:
TT0=1T02T13T24T35T46T5TT6
逆運動學分析是已知機器人桿件的幾何參數(shù),給定法蘭末端執(zhí)行器相對于固定參考坐標系的期望位置和姿態(tài),機器人能否使其末端執(zhí)行器達到這個預(yù)期的位姿[7-10]。本節(jié)中將采用幾何法求解前3個關(guān)節(jié)角度,其原則是將原始空間幾何問題轉(zhuǎn)化為若干個平面幾何問題;利用反變換法求解后3個關(guān)節(jié)角度。過程如下。
通過T系和變換TT6,可以求得腕部關(guān)節(jié)處6T0的變換矩陣,6T0=TT0(TT6)-1。利用這個關(guān)系可以進行逆解求解。
① 求解第一個關(guān)節(jié)角
第一關(guān)節(jié)角計算示意圖如圖2所示。
圖2 第一關(guān)節(jié)角計算示意圖
圖2中,點P(xP,yP,zP)為機器人第五個關(guān)節(jié)坐標系原點在參考坐標系下的位置表示。從幾何關(guān)系中可以看到腰部旋轉(zhuǎn)角度求解為:
θ1=arctan2(yP,xP)
考慮到第一個關(guān)節(jié)的轉(zhuǎn)動范圍為±180°,所以還有另一個解:
θ1=π+arctan2(yP,xP)
② 求解第二個關(guān)節(jié)角
第二關(guān)節(jié)角計算示意圖如圖3所示。
圖3 第二關(guān)節(jié)角計算示意圖
下面分兩種情況討論機器人第二個關(guān)節(jié)角度的求解過程。
① 當?shù)谝粋€關(guān)節(jié)選取第一種解的情況時,由圖3可知,有:
其中,0T2=[TZ(z0)Rz(θ1)Tx(x1)Rx(-90°)Rz(-90°)]-1。
從圖3可以看出:
θ2=θb-θaθ2=θb+θa
當?shù)谝粋€關(guān)節(jié)角度選擇第二種解時,θb=arctan2(2yP,2xP),于是第二個關(guān)節(jié)角為:θ2=θb-θa。
③ 求解第三個關(guān)節(jié)角
第三關(guān)節(jié)角計算示意圖如圖4所示。
圖4 第三關(guān)節(jié)角計算示意圖
由圖5的幾何關(guān)節(jié),第三個關(guān)節(jié)的另一個解為:
θ3=-[2π-(θd+θc)]。
圖5 第二、三關(guān)節(jié)角多值情況
④ 求解第四、五和六個關(guān)節(jié)角
對于6自由度串聯(lián)機器人的后3個角度求解,選用Paul 等人提出的反變換法。首先,用未知的逆變換逐次左乘,由乘得的矩陣方程的元素決定未知數(shù),即用逆變換把一個未知數(shù)由矩陣方程的右邊移到左邊。其次,考察方程式左、右兩端對應(yīng)元素相等,以產(chǎn)生一個有效方程式,理論上可得到12個方程。最后求這個三角函數(shù)方程式,以求解未知數(shù)。
根據(jù)正運動學分析中的公式6T0=1T02T13T24T3×5T46T5,很容易得到:
6T3=3T21T20T16T0=4T35T46T5
其中nTm表示mTn的矩陣逆運算,m、n=0,1,2,3。
而這個變換矩陣計算結(jié)果為:
(1)
當θ5=0時,機器人處于奇異點位置,此時進行運動學逆運算,第四和第六關(guān)節(jié)將以非??斓乃俣刃D(zhuǎn),直至超出電機的最大速度,系統(tǒng)報警。這是非常危險的情況,在現(xiàn)場應(yīng)用中存在極大的安全隱患。所以對此奇異點的處理辦法是,機器人第五個關(guān)節(jié)接近零度時,強制保持當前位置不變,控制系統(tǒng)輸出報警信號。
3實際應(yīng)用數(shù)據(jù)
將上述運動學分析方法程序化,并應(yīng)用到ER20機器人控制系統(tǒng)中,機器人可以完成笛卡爾空間的平滑直線運動。采集的笛卡爾空間和關(guān)節(jié)空間的軌跡如圖6、圖7所示。從圖中可以看出,在進行笛卡爾空間的直線運動中,各個關(guān)節(jié)角度的變化是連續(xù)、平滑的,證明了這種方法的切實有效性。采用這種分析方法的機器人已經(jīng)應(yīng)用到汽車生產(chǎn)線搬運、弧焊、點焊等場合。
圖6 笛卡爾空間軌跡
圖7 關(guān)節(jié)空間軌跡
4結(jié)束語
針對推導(dǎo)6自由度工業(yè)機器人運動學過程中出現(xiàn)的矩陣運算量大、計算繁瑣等問題,本文提出了幾何法
和反變換法相結(jié)合的快速求解方法。利用該方法,不僅減小了計算量,且由實際應(yīng)用結(jié)果可以看出,這種算法能讓機器人保持較好的軌跡平滑性,為進一步研究機器人動力學分析和軌跡規(guī)劃打下了良好的基礎(chǔ)。
參考文獻
[1] 李勝,王軼卿,陳慶偉,等.一種求解冗余機械手逆解問題的幾何算法[C]∥中國控制與決策學術(shù)年會論文集,2007:411-415.
[2] 張新敏,朱學軍,趙晨晨,等.基于MATLAB的HP20機器人運動學分析與仿真[J].制造業(yè)自動化,2014(13):12-15.
[3] 李友虎,葉伯生,朱志紅.基于幾何法的機器人運動學逆解[J].武漢船舶職業(yè)技術(shù)學院學報,2002(1):9-11.
[4] 祖迪,吳鎮(zhèn)煒,談大龍.一種冗余機器人逆運動學求解的有效方法[J].機械工程學報,2005,41(6):71-75.
[5] 蔡自興.機器人學[M].北京:清華大學出版社,2011.
[6] [美]Niku S B.機器人學導(dǎo)論-分析、系統(tǒng)及應(yīng)用[M].孫福春,朱紀洪,劉國棟,等譯.北京:電子工業(yè)出版社,2006:26-60.
[7] 聶曉波,陳亞峰.焊接機器人運動學分析[J].自動化儀表,2013,34(9):67-72.
[8] 李啟源,裴海龍.軟實時環(huán)境下機器人運動學逆解研究[J].自動化儀表,2012,33(4):13-15.
[9] 焦恩璋,陳美宏.VS50機器人運動學分析[J].煤礦機械,2010,31(6):79-81.
[10]韋堯兵,閆淑萍,李運.弧焊機器人的運動學分析[J].機械工程師,2013(3):45-47.
中圖分類號:TH85;TP242+.2
文獻標志碼:A
DOI:10.16086/j.cnki.issn1000-0380.201508017
國家高技術(shù)研究發(fā)展計劃(863計劃)基金資助項目(編號:2014AA041601)。
修改稿收到日期:2014-12-10。
作者劉蕾(1981-),女,2008年畢業(yè)于東北大學機械電子工程專業(yè),獲碩士學位,工程師;主要從事工業(yè)機器人運動控制算法、軌跡規(guī)劃等方面的研究。