黃勇剛,杜 力,黃茂林
(1.重慶大學 機械工程學院,重慶400044;2.重慶工商大學 機械工程學院,400067,dulicq@126.com)
精度是衡量機器人性能的一個非常重要的指標,因此機器人誤差建模方法研究歷來受到重視,主要有矩陣法和矢量法[1].矩陣法的基礎是對齊次變換矩陣的微分,這是目前較常用的建模方法[2].基于矢量的建模方法主要有攝動法[3]和矢量分析結合螺旋變換法[4].攝動法基于連桿DH 參數表示,忽略位移和角度攝動的耦合,推導出機器人位姿誤差計算公式.矢量分析結合螺旋變換法亦基于D-H 參數表示,用矢量分析方法建立位姿方程,然后對D-H 參數做微分,推導位姿誤差與D-H 參數的關系,再采用螺旋矢量簡化公式.現代旋量理論在使用矩陣指數以及指數積表示剛體運動的基礎上為開鏈機器人運動學提供了完整的幾何描述[5-7].Moon[8-9]在可重構機床的精度預測和補償研究中,將傳統矩陣微分方法獲得的機床模塊誤差矩陣等效為誤差旋量,從而應用現代旋量理論的指數積公式建立了機床的誤差模型.譚月勝[10]通過對指數積公式中各旋量參數的微分,得出了一種機械臂末端執行器位姿誤差的近似計算公式.
本文直接將機器人各關節旋量誤差看成是一種假想廣義運動副旋量運動的結果,從而與關節旋量一起建立機器人含誤差旋量的運動學指數積公式.定義了機器人工具坐標系的位置誤差旋量和姿態誤差旋量,并給出其計算公式.應用Matlab編程語言,設計了一套基于旋量的誤差分析計算軟件包,以SCARA 機器人為例,進行誤差仿真分析.使用Adams 軟件仿真驗證了本文模型和算法的正確性.
對如圖1 所示具有n 個單自由度運動副的一般開鏈機器人機構,各關節運動均可看成是旋量,其單位旋量可用Plücker 坐標表示成如下形式[11]:

式中:ω 為旋量軸單位矢量,r 為軸線上任一點的位置矢量,r×ω 為旋量軸對原點的矩,h 為旋量節距.

圖1 一般開鏈機器人
設參考位形下工具坐標系在參考系中的位姿為T(0),此時,各關節單位旋量在參考系中分別表示為:),則機器人有以下運動學正解指數積公式:

θi為相對參考位形的關節變量,對轉動副,是繞軸線轉動的角度,按右手定則確定符號,對移動副,則表示移動距離.
式(1)中算子∧運算規則如下:對三維矢量ω,表示叉乘矩陣.即

其矩陣指數可用來表示軸線過坐標原點的旋轉變換,有如下的羅德里格斯公式(I 為單位陣)


其矩陣指數表示一般剛體變換,計算公式為

由于旋量是瞬時量,當旋量軸位姿改變時,需要應用伴隨變換計算更新其旋量.另外,旋量采用Plücker 坐標,其在不同坐標系中的變換也需要應用伴隨變換.
假設A 為固定坐標系,B 坐標系是A 經過旋量θ $運動得到的新坐標系,則B 到A 的坐標變換或剛體變換的旋量矩陣指數如式(2),簡記為



式(1)的指數積采用后運動的旋量矩陣指數左乘法則,即可看成先第n 個關節(最靠近工具端)運動,最后到第1 個關節(連架副)運動.假設關節運動順序不同,則靠近機架的關節先運動后會改變后面的關節單位旋量坐標,但是通過對所有被影響的關節旋量應用式(4)的伴隨變換,結果相同.
由線幾何理論[11],關節軸線在參考坐標系下可以用其單位矢量和對原點的矩表示,寫成Plücker 坐標形式,通過分析各關節軸線的Plücker坐標誤差可得到關節單位旋量的誤差.
如圖2,設機器人某關節軸線理想Plücker 坐標為


圖2 運動副軸線Plücker 會標誤差
無其他關節誤差影響時,該關節實際Plücker 坐標為

把由理想軸線到實際軸線的Plücker 坐標變化看成是旋量運動的結果,稱其為誤差旋量,則根據式(3)的伴隨變換,有如下關系:

設單位誤差旋量表示為

則由式(5)可以求得誤差旋量.實際上此誤差旋量可以通過觀察得到,即:誤差旋量是繞理想軸線與實際軸線的公垂線轉動角度θe,再沿公垂線移動距離d,轉動的角度為兩軸線的扭角,移動距離為兩軸線的垂直距離.因此:

當θe=0 時,即理想軸線與實際軸線平行,誤差旋量為純移動,ωe=0,he=∞,誤差旋量退化為

當d=0 時,理想軸線與實際軸線相交,he=0,r=rd,單位誤差旋量為

最一般的情形是理想軸線與實際軸線空間相錯,d 和θe均不為0,he=d/θe.單位誤差旋量為

用旋量來表示關節軸線的誤差,具有良好的幾何直觀性,并且不同形式的誤差源如位置誤差和姿態誤差均被統一表示在誤差旋量中.
以上分析過程是將誤差在固定坐標系下采用旋量表示.假設將理想軸線作為z 軸,將連桿方向作為x 軸建立局部坐標系,則理想軸線在局部坐標系下的Plücker 坐標為

設運動副實際軸線Plücker 坐標為

實際軸線在局部坐標系下的z 方向角即為誤差旋量的大小θe,因此

由式(6)可得

由此,誤差旋量的大小θe和誤差旋量軸x、y方向余弦分別表示了實際軸線在局部坐標系的姿態誤差,從而避免了D-H 表示法難于直接表示繞y 軸線轉動誤差的不足[2].誤差旋量綜合表示了連桿長度誤差和形位誤差.
雖然誤差旋量在局部坐標系下的表示更簡單和方便,但還需要根據當前局部坐標系在固定坐標系中的位姿,通過伴隨變換轉換到固定坐標系.
如圖1 所示一般開鏈機器人,設參考位形時,不考慮其他關節誤差的影響,由連架副開始的n個關節軸線在固定坐標系下的誤差旋量分別為:.把這些誤差旋量看成假想廣義運動副,則根據式(2)的指數積公式可直接得到如下含誤差旋量的機器人運動學模型:

式中:θi為關節變量,是理想關節旋量的大小.而θei是誤差旋量的大小,只考慮靜態或準靜態誤差情況下是常量.為機器人關節理想單位旋量.Td(0)為參考位形時工具坐標系的理想位姿.
式(7)的正確性可用關節旋量在誤差作用下的伴隨變換證明.因為機器人第i 個關節單位旋量Plücker 坐標受到其前面i 個誤差旋量的影響,根據伴隨變換,各關節實際單位旋量為

同時,在誤差作用下,參考位形時機器人實際位姿為

因此,機器人的運動學指數積公式為

根據式(8)和伴隨變換式(4),可得第i 個運動副實際旋量矩陣指數為

將式(9)和(11)代入式(10)簡化后即可得式(7).
式(7)含誤差旋量的機器人運動學指數積公式具有明確的幾何意義,即:將運動副軸線位姿誤差看成是假想廣義運動副旋量運動的結果,在靜態和準靜態下,誤差旋量的大小和節距不變,參考位形時將其與理想運動副旋量一起按運動副順序構成指數積公式,即為機器人含誤差運動學方程.因此,只要已知初始位形下各運動副軸線的誤差旋量,即可計算出工具坐標系的實際位姿.
與運動副軸線誤差分析類似,同樣可以將工具坐標系的位姿誤差看成是某一誤差旋量運動的結果.然而此時將位置和姿態誤差統一表示并不直觀,此處將理想工具坐標原點到實際工具坐標原點的位置誤差用移動副旋量表示,姿態誤差用軸線過理想坐標系原點的轉動副旋量表示,如圖3.

圖3 工具坐標系位姿誤差的旋量表示
工具坐標系理想位姿如式(1),其實際位姿如式(7),假設位置誤差和姿態誤差旋量均相對固定坐標系表示,則可以看成機器人先通過理想的運動副旋量運動到工具坐標系理想位姿,再經過姿態誤差旋量運動到實際姿態,然后經過位置誤差旋量運動到實際位置.設位置誤差旋量和姿態誤差旋量分別為

則如下等式成立:

根據前面誤差旋量的定義,兩種誤差旋量在理想工具坐標系下可寫成如下形式:

根據伴隨變換,兩種誤差在不同坐標系下的表示有如下關系

因此由式(4),式(12)可變換為

式(15)表明,在理想工具坐標系下表示的位置和姿態誤差旋量矩陣指數積即為傳統方法定義的機器人位姿誤差矩陣.因此,可以在工具理想坐標系下定義誤差旋量為工具坐標系理想位姿到實際位姿的誤差,即

由式(16)可以求得位置誤差旋量為

后3 個分量分別對應位置誤差在工具理想坐標系3 個軸向的分量大小.
可由式(16)求得姿態誤差旋量的大小如下

如果θr=0,則只有位置誤差沒有姿態誤差,如果θr不為零,則姿態誤差旋量軸在理想工具坐標系下的方向余弦為

以上兩種誤差旋量均在理想工作坐標系下表示.根據式(13)和(14)的伴隨變換,或是直接根據式(12),還可以求出兩種誤差旋量在固定坐標系下的表示.
根據前面基于旋量理論的機器人位姿誤差建模過程,在Matlab 下設計了一套通用的旋量計算軟件包.利用該軟件包,可以對具體的機器人進行誤差計算和仿真研究.
以SCARA 機器人為例,該機器人為R//R//C 開鏈機構,C 副的轉動自由度和移動自由度為獨立驅動,如圖4 所示,兩連桿長L1= L2=300 mm.固定坐標系z 軸與第一轉動副理想軸線重合,工具坐標系z 軸與C 副軸線重合,x 軸為連桿方向.并記θ1=θ2=θ3=0 時為初始位形,機構無誤差參數如下:

假設初始位形時運動副軸線誤差參數如下:


圖4 SCARA 機器人機構
設工具坐標系運動軌跡為:從點[400,400,150]開始順次直線運動到點[-400,400,50]、[-400,-400,150]、[400,-400,50],最后回到點[400,400,150],每段直線均為勻速運動1 s 完成,且坐標系姿態保持繞z 軸旋轉30°不變.其軌跡曲線如圖5 所示,為一空間封閉四邊形.

圖5 仿真軌跡曲線
根據以上參數和運動軌跡,首先反解出關節變量,由于SCARA 機器人有兩個反解構型,此處采用正裝配構型,在Matlab 下仿真分析得出的工具坐標系位置誤差在固定坐標系下的分量曲線如圖6.
對于姿態誤差旋量,可以用旋量大小和旋量軸3 個方向余弦曲線表示.為了與ADAMS 中的仿真結果對比,此處將誤差旋量轉換為理想工具坐標系到實際工具坐標系的3 個羅德里格斯參數表示.轉換公式如式(17):

3 個羅德里格斯參數曲線如圖7.

圖6 Matlab 仿真位置誤差曲線

圖7 Matlab 仿真姿態誤差羅德里格斯參數曲線
為了驗證基于旋量的誤差建模方法和Matlab軟件包算法的正確性,在ADAMS 下對上節的SCARA 機器人按同樣的機構參數進行了誤差建模仿真分析.
為了在ADAMS 軟件下進行誤差分析,首先按理想設計參數建立了SCARA 機器人模型,進行反解仿真獲得關節驅動參數樣條曲線.然后根據誤差旋量參數計算獲得參考位形下各運動副MARKER 的位姿,從而建立含誤差模型,再用理想模型的關節驅動參數樣條曲線驅動機構,獲得工具坐標系運動.將誤差模型的工具坐標系位置曲線與理想模型曲線相減,得到如圖8 所示的位置誤差在固定坐標系下的曲線.測量理想工具坐標系到誤差模型工具坐標系的羅德里格斯參數,得到如圖9 所示的曲線.

圖8 Adams 仿真位置誤差曲線

圖9 Adams 仿真姿態誤差羅德里格斯參數曲線
比較圖6 和圖8 以及圖7 和圖9,可以看出,基于旋量的誤差建模仿真與用Adams 建模仿真結果相同,證明了該方法的正確性.
1)將運動副軸線的位姿誤差看成是旋量運動的結果,從而應用旋量的矩陣指數以及指數積建立機器人誤差模型,具有明顯的幾何直觀性.
2)將工具坐標系的位置誤差和姿態誤差分別用移動副旋量和轉動副旋量表示,并給出了其在固定坐標系和在理想工具坐標系中的計算公式.用旋量的大小和旋量螺旋軸的方向表示誤差,幾何意義明確.
3)在Matlab 下設計了旋量計算軟件包,并以SCARA 機器人為例,在給定運動副軸線誤差情況下進行了仿真計算,并在Adams 下按相同參數進行了對比仿真.證明了該誤差建模方法的正確性.
4)本文的誤差建模方法具有良好的幾何直觀性,可以從整體上描述機器人的實際運動.不需要旋量在不同位形下的變換計算,簡化了分析過程,計算量減少了約2/3.與傳統矩陣微分方法比較,消除了誤差矩陣非齊次性引起的計算誤差.
5)該方法不僅可用于靜態和準靜態誤差分析,如果考慮誤差旋量的大小和節距隨機構運動過程變化,還可用于動態誤差的分析.
[1]閻華,劉桂雄,鄭時雄.機器人位姿誤差建模方法綜述[J].機床與液壓,2000(1):3-5.
[2]NIKU S B.機器人學導論——分析、系統及應用[M].孫富春,朱紀洪,劉國棟,等譯.北京:電子工業出版社,2004.
[3]SUGIMOTO K,OKADA T.Compensation of positioning errors caused by geometric deviation in robot system[C]//Robotics Research:The second international Symposium.Cambridge:MIT Press,1985:231-236.
[4]徐衛良.機器人機構誤差建模的攝動法[J].機器人,1989,3(6):39-44.
[5]理查德·摩雷,李澤湘,夏恩卡·薩思特里.機器人操作的數學導論[M].徐衛良,錢瑞明,譯.北京:機械工業出版社,1998:11-44.
[6]張付祥,付宜利,王樹國.閉鏈級聯式機器人基于旋量理論的運動學分析方法[J].機械工程學報,2006,42(4):112-117.
[7]荊學東,浦耿強,王成燾.應用基于運動螺旋的機器人正解映射求解FANUC 機器人的逆運動學問題[J].機械科學與技術,2003,22(3):402-405.
[8]MOON S K,MOON Y M,SCREW S K.Theory Based Metrology for Design and Error Compensation of Machine Tools[C]//Proceedings of DETC’01.Pittsburgh,Pennsylvania:[s.n.],2001.
[9]MOON S K.Error prediction and compensation of reconfigurable machine tool using screw kinematics[D].[S.l.]:The university of Mchigan,2002.
[10]譚月勝,孫漢旭,賈慶軒,等.旋量理論在機械臂末端執行器運動精度分析中的應用研究[J].機械科學與技術,2006,25(5):534-538.
[11]黃真,趙永生,趙鐵石.高等空間機構學[M].北京:高等教育出版社,2006:2-18.