倪華康 楊澤源 楊一帆 陳新渡 嚴思杰 丁 漢
1.江蘇集萃華科智能裝備科技有限公司,無錫,2141002.華中科技大學機械科學與工程學院,武漢,430074
在精密加工領域,工業(yè)機器人由于受其絕對定位精度低(毫米量級)缺點的影響[1]而應用范圍大大受限。為使其得到進一步廣泛應用并提高加工精度,對機器人進行運動學參數(shù)誤差標定與補償以提高其絕對定位精度是十分必要的[2-4]。
機器人運動學標定通常分為運動學建模、誤差測量、參數(shù)辨識與誤差補償4個步驟[5]。運動學建模是對機器人進行運動學標定的基礎,由于零位處機器人幾何參數(shù)誤差帶來的定位誤差占總誤差的80%[6-7],因此運動學建模大多是針對連桿幾何參數(shù)誤差展開的[8-9]。其中,D-H模型是應用最為廣泛的建模方法,但機器人存在軸線平行的相鄰關節(jié)時會產(chǎn)生模型參數(shù)不連續(xù)的問題。為解決D-H模型參數(shù)突變的問題,相關學者又提出了MD-H(modified D-H)模型、S模型、CPC/MCPC(complete and parametrically continuous/modified CPC)模型、POE(product of exponentials)模型等[10-13]新的運動學模型,但由于這些模型大多存在構造復雜、實現(xiàn)困難的問題,因此只有繼承了D-H模型構造簡單、通用性強等優(yōu)點的MD-H模型得到了國內(nèi)外學者的廣泛使用。
雖然針對機器人幾何參數(shù)誤差建模的運動學標定能顯著提高機器人的絕對定位精度,但是在誤差測量過程中,觀測數(shù)據(jù)從測量系統(tǒng)到機器人系統(tǒng)的轉換過程需要經(jīng)過機器人基坐標系的變換,當所測量的基坐標系本身存在誤差時,所辨識的幾何參數(shù)必然帶有基坐標系誤差。為解決此問題,周學才等[14]提出一種基于距離約束的誤差模型,通過引入空間距離誤差,有效避免了基坐標系與測量坐標系間的坐標變換;侯琳祺等[15]、陳鋼等[16]、高文斌等[17]分別基于MD-H模型、MCPC與POE模型構建了距離誤差模型;任永杰等[18]基于距離約束方法提出了虛擬基坐標系法,以距離誤差為觀測值進行誤差標定。但是基于距離誤差的標定方法存在部分幾何參數(shù)無法辨識的問題,導致標定精度難以提高。
針對以上問題,本文提出了一種基于機器人幾何參數(shù)誤差與基坐標系誤差的誤差模型,該模型能在辨識出基坐標系誤差的同時完整地辨識出機器人幾何參數(shù)誤差。實驗結果表明本文所提出的誤差模型相對于現(xiàn)有誤差模型精度及穩(wěn)定性有明顯提高。
本文選用典型六軸串聯(lián)機器人(ABB IRB 6700型號)作為標定對象,此類機器人第2、3關節(jié)軸線平行,若對其進行常用的D-H模型建??赡艽嬖谶\動學參數(shù)不連續(xù)的問題,因此對機器人引入β變量進行MD-H模型建模。圖1所示為建模得到的機器人的鏈路坐標系模型,表1所示為機器人在上述連桿坐標系模型下的名義MD-H模型參數(shù)。
(a)零位形位 (b)連桿鏈路坐標系
表1 ABB IRB 6700-150/320型機器人MD-H模型參數(shù)表
設機器人連桿上某一坐標系下的微分運動D=(μT,εT)T,其中,μ=(μx,μy,μz)T為微分位移量,ε=(εx,εy,εz)T為微分旋轉量,則其齊次矩陣可表示為
(1)
對于同一剛體上的兩坐標系{i}、{j},取坐標系{i}為參考坐標系,當坐標系{i}存在微分位姿誤差iD時,設兩坐標系間位姿齊次變換偏差為dT;在iD下,坐標系{j}微分位姿誤差為jD。在上述微分位姿誤差下,兩坐標系齊次變換矩陣相對于靜坐標系與動坐標系分別滿足[19]:
(2)
將式(2)中兩式聯(lián)立可解得
(3)
式中,ΔTi、ΔTj分別為坐標系{i}、{j}微分位姿誤差對應的矩陣算子。
將式(3)化為向量的形式可得剛體上兩坐標系微分位姿誤差間相互映射關系:
(4)
MD-H模型的相鄰兩關節(jié)坐標系間變化通式為
(5)
m11=cθi+1cβi+1
m12=-sθi+1
m13=cθi+1sβi+1
m14=ai
m21=cαisθi+1cβi+1+sαisβi+1
m22=cαicθi+1
m23=cαisθi+1sβi+1-sαicβi+1
m24=-di+1sαi
m31=sαisθi+1cβi+1-cαisβi+1
m32=sαicθi+1
m33=sαisθi+1sβi+1+cαicβi+1
m34=di+1cαi
式中,cθi+1表示cosθi+1,sθi+1表示sinθi+1,其余類推。
由此連桿變換通式與相應的運動學方程即可得到MD-H模型下坐標系{i}的微分位姿誤差:
(6)
式中,δθi為連桿參數(shù)θi的誤差量,其余連桿參數(shù)誤差量同此表示。
將式(6)化為向量形式即可分解得到MD-H模型下關節(jié)坐標系{i}的微分位姿誤差與連桿i幾何參數(shù)誤差的映射關系:
(7)
以Xi=(ai-1,di,αi-1,θi,βi)T表示連桿i的幾何參數(shù),以Mi=[Mai-1MdiMαi-1MθiMβi]T表示各幾何參數(shù)偏差的系數(shù)矩陣,式(7)可表示為
iD=MiδXi
(8)
式(8)給出了關節(jié)坐標系{i}位姿誤差關于連桿i幾何參數(shù)誤差的系數(shù)矩陣,在研究單連桿幾何參數(shù)誤差下機器人末端的微分位姿誤差時,可取連桿i+1到連桿m部分為一整體,其中,m為機器人的連桿數(shù)量(即關節(jié)數(shù)量),可視關節(jié)坐標系{i}與末端坐標系{t}為同一剛體上的兩坐標系,得到在單連桿幾何參數(shù)誤差下機器人末端坐標系{t}的微分位姿誤差:
(9)
另外,在同一參考坐標系下,分別取微分運動D1=(μ1T,ε1T)T、D2=(μ2T,ε2T)T、D3=D1+D2=(μ1T+μ2T,ε1T+ε2T)T,它們間滿足:
S1S2=
(10)
此處S1、S2、S3皆為微分運動D1、D2、D3對應的齊次矩陣。略去式(10)中高階無窮小量,式(10)可進一步簡化為
(11)
可見,同一參考坐標系下微分運動可疊加。
在各連桿幾何參數(shù)誤差的綜合作用下,機器人末端坐標系{t}的總微分位姿誤差為
(12)
考慮到在實際測量中,需將采樣點位姿名義值與實際值轉換到機器人基坐標系下,因此,在構造機器人末端位姿誤差模型時,亦需將末端位姿誤差轉換到機器人基坐標系下。將這個位姿誤差投影到基坐標系下可得
(13)
取
(14)
(15)
有
(16)
式(15)、式(16)中,Jai-1、Jdi、Jαi-1、Jθi、Jβi為機器人末端位姿誤差關于連桿i幾何參數(shù)誤差δai-1、δdi、δαi-1、δθi、δβi的系數(shù),考慮到在建模時,僅定義了β3,以X=(a0,α0,d1,θ1,…,am-1,αm-1,dm,θm,β3)T表示機器人的全部連桿參數(shù),并取J=(Ja0,Jα0,Jd1,Jθ1,…,Jam-1,Jαm-1,Jdm,Jθm,Jβ3),式(16)可進一步表示為
0D=JδX
(17)
式(17)中,J∈R6×n(n為機器人幾何參數(shù)總數(shù)),J為機器人的雅可比矩陣,它反映由機器人連桿幾何參數(shù)誤差到機器人末端位姿誤差的映射關系,它是關于自變量轉角θ=(θ1,θ2,…,θm)T的函數(shù)。在J的行方向,J的前三行分別對應機器人的位置誤差傳遞系數(shù),后三行分別對應機器人末端的姿態(tài)誤差傳遞系數(shù);在J的列方向,J的每一列則對應每個單獨參數(shù)的位姿誤差系數(shù)。
由于誤差標定所涉及到的機器人基坐標系與測量坐標系間位姿關系同樣是通過測量獲得的,在此測量過程中也會引入誤差,如果忽略該誤差將會影響辨識參數(shù)的精度,因此,有必要將基坐標系的測量誤差作為參數(shù)辨識的目標之一。
圖2為基坐標系誤差示意簡圖,其中{B}為機器人的實際基坐標系,{B′}為機器人測量基坐標系,{L}為測量設備坐標系,P為采樣點的名義位姿,P′為采樣點的實際位姿。在{B′}存在一個相對{B}的微分位姿誤差0DB=(μ0T,ε0T)T時,其齊次變換矩陣為
圖2 基坐標系誤差示意簡圖Fig.2 Schematic diagram of base frame error
(18)
在基坐標系測量誤差下,采樣點實際位置的測量值與實際值分別為
(19)
(20)
以ΔpO、Δp分別代表機器人的觀測位置誤差與實際位置誤差,它們滿足:
ΔpO=B′pP′-BpP
(21)
Δp=[ε0]B′pP′+B′pP′+μ0-BpP=
-[B′pP′]ε0+μ0+ΔpO
(22)
在實驗測量中,ΔpO的測量過程僅引入了測量系統(tǒng)的測量精度誤差,可認為是真實值,但其相對實際位置誤差存在一個大小為-[B′pP′]ε0+μ0的差值,該差值與基坐標系誤差以及機器人末端位置相關。在參數(shù)辨識中,若忽略基坐標系測量誤差的影響,則所辨識的結果都是相對于坐標系{B′}定義與計算的,當{B′}的測量存在較大誤差時,所辨識的結果是無效的。若要保證辨識結果在多次測量中的有效性,則需要保證在多次測量中{B′}的穩(wěn)定性。當將機器人基坐標系誤差作為辨識目標之一時,式(22)中,將Δp=pJδX代入運算,其中pJ為位置雅可比矩陣,可得
ΔpO=pJδX+[B′pP′]ε0-μ0
(23)
取
(24)
式中,pJε0為基坐標系姿態(tài)誤差參數(shù)的誤差系數(shù);pJμ0為基坐標系位置誤差參數(shù)的誤差系數(shù)。
以Δx=((δX)T,ε0T,μ0T)T表示包括基坐標系測量誤差在內(nèi)的全部幾何參數(shù)誤差,以M=[pJpJε0pJμ0]為機器人的拓展誤差系數(shù)矩陣,在引入機器人基坐標系誤差后,機器人的統(tǒng)一位置誤差模型為
ΔpO=MΔx
(25)
為了防止奇異的誤差系數(shù)矩陣使辨識過程出現(xiàn)無法收斂或陷入局部最優(yōu)解的情況,需要對誤差模型進行參數(shù)冗余分析。對統(tǒng)一位置誤差模型進行冗余性分析可以發(fā)現(xiàn)以下幾個參數(shù)存在相互冗余的情況:pJd2=pJd3、pJμ0x=-pJa0、pJμ0z=-pJd1、pJε0x=-pJα0、pJε0z=-pJθ1,pJd2=pJd3、pJμ0x=-pJa0、pJμ0z=-pJd1、pJε0x=-pJα0、pJε0z=-pJθ1,因此,統(tǒng)一位置誤差模型中包含μ0x、μ0z、ε0x、ε0z、d3共5個冗余參數(shù),可獨立辨識的參數(shù)為26個。
使用激光跟蹤儀進行機器人標定,一般是采用激光跟蹤儀測量出機器人末端的位姿關系,并結合機器人控制器中的空間理論位姿與關節(jié)角參數(shù)等數(shù)據(jù),通過誤差模型進行參數(shù)辨識,得到各個參數(shù)的誤差值。而針對六軸串聯(lián)型關節(jié)機器人,一般采用單軸旋轉運動及基平面擬合方法完成對機器人基坐標系的標定,具體步驟如下:
(1)以一定步進角度旋轉1軸,保持其余關節(jié)不動,記錄T-MAC(激光反射靶標,可測得位置與姿態(tài)信息)的每一個采樣位置,獲取一組機器人末端位置集合{P1},在Polyworks中對點組進行圓擬合,得到圓C1、軸線L1。
(2)使1軸歸零,以一定步進角度旋轉3軸(或2軸),保持其他關節(jié)不動,記錄T-MAC的每一個采樣位置,獲取機器人末端位置集合{P2},對點組進行圓擬合,得到圓C2、軸線L2。
(3)將靶球安裝在靶球基座上,移動至機器人基座平面的不同位置,記錄每個位置靶球球心坐標,獲取靶球球心位置集合{P3},對其補償靶球基座高度與靶球半徑后進行平面擬合,進而確定機器人基平面FB。
(4)根據(jù)機器人機構特性,在激光跟蹤儀坐標系下,取L1單位方向向量為機器人基坐標系z軸,取L2在FB上投影的單位方向向量為機器人基坐標系y軸,取L1與FB交點為機器人基坐標系原點O,再由右手定則確定基坐標系x軸。由此可得機器人的基坐標系,如圖3所示。
(a)測量示意圖 (b)空間坐標系示意圖
當機器人與激光跟蹤儀的相對位置發(fā)生變化時,對基坐標系重復上述方法進行測量不但效率低下,而且可能會引入由基坐標系測量不一致帶來的隨機誤差。為了保持基坐標系多次測量結果的一致性,本文提出一種高效的重復測量方案:在完成上述標定后,移動機器人使T-MAC到達一個能被測量到的位置,將此位置記為點P,通過矩陣變換得到點P在基坐標系下的位姿變換矩陣:
(26)
圖4 基坐標系重復測量方法原理簡圖Fig.4 Schematic diagram of the repeated measurement method of the base frame
(27)
將式(26)代入式(27),即可得到機器人與跟蹤儀間相互位置變化后的相對位姿確定方法:
(28)
(29)
以{B0′}表示機器人在{B′}位置處的實際基坐標系,將式(29)代入式(27),則點P實際基坐標系位姿為
(31)
式(31)表明,在多次測量中,當點P相對機器人基坐標系存在一個0DP的位姿誤差時,會給機器人基坐標系的測量帶來一個0DP的測量位姿誤差。
本文采用Leica AT960-LR型激光跟蹤儀對IRB 6700型工業(yè)機器人進行標定實驗來驗證所提出誤差模型的效果。激光跟蹤儀包含AT960本體、控制器、激光反射設備(T-MAC與靶球)與Polyworks軟件四部分,其測量精度為±15 μm+6 μm/m,遠小于未經(jīng)標定的機器人絕對定位精度(3~4 mm),因此其測量誤差在標定過程中可忽略不計。實驗現(xiàn)場如圖5所示。
圖5 實驗現(xiàn)場Fig.5 Experimental site
為保證標定結果的準確性,在機器人常用作業(yè)區(qū)域內(nèi)選取一個邊長為1000 mm的立方體空間,在所選取空間內(nèi)隨機生成100個采樣點位置,如圖6所示,進行末端位姿誤差測量。
圖6 采樣點選取方法Fig.6 Sampling point selection method
取采樣點前 50 組的位置誤差值為觀測值,基于Levenberg-Marquardt 算法對未引入基坐標系誤差的普通幾何參數(shù)誤差模型進行參數(shù)辨識,其結果如表2所示。根據(jù)參數(shù)辨識結果修正機器人的運動學模型,然后根據(jù)后 50 組采樣點的位置測量值進行驗證。由于 ABB 機器人無法獲取控制器底層修改權限,因此采取微分誤差補償法進行補償,補償流程如圖7所示。對比其原始位置誤差,經(jīng)過修正的采樣點位置誤差均下降到0.4 mm以下,如圖8所示;平均位置誤差由 3.1928 mm下降到 0.1756 mm,精度提高94.50%;最大位置誤差由4.0545 mm下降到0.3822 mm,精度提高90.57%;位置誤差標準差由0.5494 mm下降到0.0830 mm,精度提高84.89%。
表2 普通位置誤差模型參數(shù)辨識結果
圖7 位置誤差補償流程Fig.7 Position error compensation process
圖8 普通位置誤差模型補償效果Fig.8 Normal position error model compensation effect
雖然基于位置誤差模型的機器人本體標定對機器人絕對位置精度提高效果明顯,但它未考慮基坐標系的測量誤差,若基坐標系測量存在較大誤差,則標定結果無效。同樣取采樣點前 50 組的位置觀測值分別基于距離誤差模型和基坐標系誤差修正模型進行參數(shù)辨識,辨識結果如表3和表4所示,對比表2易發(fā)現(xiàn),基坐標系誤差修正模型與距離誤差模型辨識結果分布基本一致,而與未引入基坐標系誤差的位置誤差模型辨識結果有較大差異??紤]到距離誤差模型的觀測值未引入基坐標系的測量誤差,可認為其辨識結果最接近實際參數(shù)誤差,即基坐標系誤差修正模型在辨識參數(shù)精度上優(yōu)于普通位置誤差模型。
表3 距離誤差模型參數(shù)辨識結果
表4 基坐標系誤差修正模型參數(shù)辨識結果
以距離誤差模型與基坐標系誤差修正模型的辨識結果對基坐標系與幾何參數(shù)模型進行補償后,利用后50組采樣點對補償效果進行驗證。各模型標定補償效果如圖9所示:距離誤差模型位置補償后位置誤差仍保持在較高水平;在以基于統(tǒng)一辨識誤差模型補償?shù)玫降幕鴺讼底鳛閰⒖甲鴺讼抵?,位置誤差模型補償后位置誤差減??;基于統(tǒng)一辨識誤差模型的補償效果最佳。
圖9 修正基坐標系后不同模型補償效果Fig.9 Compensation effects of different models after modifying the base frame
為進一步對比引入基坐標系誤差的標定效果,在測量基坐標系時,給予其中點P一個0DP=(-0.4,-0.4,0.4,-0.01,-0.01,-0.01)T的擾動,以此模擬重復測量中基坐標系的測量誤差。通過測量與齊次變換,求得基坐標系相對初次測量時的偏差為:0DB=(-0.4019,-0.4014,0.3996,-0.010 01,-0.000 997 5,-0.009 996)T。
在上述基坐標測量偏差的影響下,分別基于未引入基坐標系誤差的位置誤差模型與基坐標系誤差修正模型進行參數(shù)辨識,結果如表5所示。對比辨識結果可以發(fā)現(xiàn),基坐標系修正模型在擾動前后辨識參數(shù)結果基本不變,而普通位置誤差模型的辨識參數(shù)結果出現(xiàn)明顯變化。出現(xiàn)這種結果的原因是基坐標系的測量誤差會造成機器人位置誤差的觀測值與實際值間存在偏差。由參數(shù)冗余性分析可知,μ0x、μ0z、ε0x、ε0z四個分量的影響可由連桿1的4個幾何參數(shù)代替,但μ0y與ε0y的影響卻需要所有幾何參數(shù)來承擔。而基坐標系誤差修正模型能夠?qū)?shù)μ0y與ε0y從其他幾何參數(shù)中解耦出來,從而準確辨識基坐標系誤差的變化,因此它在標定魯棒性上優(yōu)于未引入基坐標系誤差的位置誤差模型。
表5 基坐標系誤差擾動后參數(shù)辨識結果
在修正模型下對后50組采樣點進行補償,對比擾動前的位置誤差,如表6、表7、圖10所示,其中,圖10b基坐標系誤差修正模型部分,為區(qū)分效果,將基坐標系擾動后位置誤差以針狀圖表示。對比可發(fā)現(xiàn),未引入基坐標系誤差模型在擾動后的誤差明顯增大,平均誤差與最大誤差均超過1 mm,而基坐標系誤差修正模型則在擾動后依然保持較高的補償精度,使平均誤差保持在0.2 mm以下,與擾動前基本一致。
(a)未引入基坐標系誤差的幾何誤差模型
表6 普通位置誤差模型在基坐標系誤差擾動下的補償效果
表7 基坐標系誤差修正模型在基坐標系誤差擾動下的補償效果
本文建立了考慮幾何參數(shù)誤差與基坐標系誤差的機器人本體標定模型,并提出了一種魯棒性高的機器人基坐標系誤差標定方法。基于Leica AT960-LR型激光跟蹤儀對IRB 6700型工業(yè)機器人進行了本體標定實驗與基坐標系誤差擾動實驗,結果表明:
(1)本文模型用于標定時,將機器人位置誤差的平均值由3.1928 mm減小到0.1756 mm,精度提高94.50%;位置誤差的標準差由 0.5494 mm減小到0.0830 mm,精度提高84.89%。
(2)當基坐標系存在較大誤差時,利用本文所提出的模型進行標定的參數(shù)辨識結果一致性高于99%,平均定位誤差保持在0.2 mm以下。