倪華康 楊澤源 楊一帆 陳新渡 嚴思杰 丁 漢
1.江蘇集萃華科智能裝備科技有限公司,無錫,2141002.華中科技大學機械科學與工程學院,武漢,430074
在精密加工領域,工業機器人由于受其絕對定位精度低(毫米量級)缺點的影響[1]而應用范圍大大受限。為使其得到進一步廣泛應用并提高加工精度,對機器人進行運動學參數誤差標定與補償以提高其絕對定位精度是十分必要的[2-4]。
機器人運動學標定通常分為運動學建模、誤差測量、參數辨識與誤差補償4個步驟[5]。運動學建模是對機器人進行運動學標定的基礎,由于零位處機器人幾何參數誤差帶來的定位誤差占總誤差的80%[6-7],因此運動學建模大多是針對連桿幾何參數誤差展開的[8-9]。其中,D-H模型是應用最為廣泛的建模方法,但機器人存在軸線平行的相鄰關節時會產生模型參數不連續的問題。為解決D-H模型參數突變的問題,相關學者又提出了MD-H(modified D-H)模型、S模型、CPC/MCPC(complete and parametrically continuous/modified CPC)模型、POE(product of exponentials)模型等[10-13]新的運動學模型,但由于這些模型大多存在構造復雜、實現困難的問題,因此只有繼承了D-H模型構造簡單、通用性強等優點的MD-H模型得到了國內外學者的廣泛使用。
雖然針對機器人幾何參數誤差建模的運動學標定能顯著提高機器人的絕對定位精度,但是在誤差測量過程中,觀測數據從測量系統到機器人系統的轉換過程需要經過機器人基坐標系的變換,當所測量的基坐標系本身存在誤差時,所辨識的幾何參數必然帶有基坐標系誤差。為解決此問題,周學才等[14]提出一種基于距離約束的誤差模型,通過引入空間距離誤差,有效避免了基坐標系與測量坐標系間的坐標變換;侯琳祺等[15]、陳鋼等[16]、高文斌等[17]分別基于MD-H模型、MCPC與POE模型構建了距離誤差模型;任永杰等[18]基于距離約束方法提出了虛擬基坐標系法,以距離誤差為觀測值進行誤差標定。但是基于距離誤差的標定方法存在部分幾何參數無法辨識的問題,導致標定精度難以提高。
針對以上問題,本文提出了一種基于機器人幾何參數誤差與基坐標系誤差的誤差模型,該模型能在辨識出基坐標系誤差的同時完整地辨識出機器人幾何參數誤差。實驗結果表明本文所提出的誤差模型相對于現有誤差模型精度及穩定性有明顯提高。
本文選用典型六軸串聯機器人(ABB IRB 6700型號)作為標定對象,此類機器人第2、3關節軸線平行,若對其進行常用的D-H模型建??赡艽嬖谶\動學參數不連續的問題,因此對機器人引入β變量進行MD-H模型建模。圖1所示為建模得到的機器人的鏈路坐標系模型,表1所示為機器人在上述連桿坐標系模型下的名義MD-H模型參數。

(a)零位形位 (b)連桿鏈路坐標系

表1 ABB IRB 6700-150/320型機器人MD-H模型參數表
設機器人連桿上某一坐標系下的微分運動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)中兩式聯立可解得
(3)
式中,ΔTi、ΔTj分別為坐標系{i}、{j}微分位姿誤差對應的矩陣算子。
將式(3)化為向量的形式可得剛體上兩坐標系微分位姿誤差間相互映射關系:
(4)

MD-H模型的相鄰兩關節坐標系間變化通式為
(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為連桿參數θi的誤差量,其余連桿參數誤差量同此表示。
將式(6)化為向量形式即可分解得到MD-H模型下關節坐標系{i}的微分位姿誤差與連桿i幾何參數誤差的映射關系:
(7)
以Xi=(ai-1,di,αi-1,θi,βi)T表示連桿i的幾何參數,以Mi=[Mai-1MdiMαi-1MθiMβi]T表示各幾何參數偏差的系數矩陣,式(7)可表示為
iD=MiδXi
(8)
式(8)給出了關節坐標系{i}位姿誤差關于連桿i幾何參數誤差的系數矩陣,在研究單連桿幾何參數誤差下機器人末端的微分位姿誤差時,可取連桿i+1到連桿m部分為一整體,其中,m為機器人的連桿數量(即關節數量),可視關節坐標系{i}與末端坐標系{t}為同一剛體上的兩坐標系,得到在單連桿幾何參數誤差下機器人末端坐標系{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)
可見,同一參考坐標系下微分運動可疊加。
在各連桿幾何參數誤差的綜合作用下,機器人末端坐標系{t}的總微分位姿誤差為
(12)
考慮到在實際測量中,需將采樣點位姿名義值與實際值轉換到機器人基坐標系下,因此,在構造機器人末端位姿誤差模型時,亦需將末端位姿誤差轉換到機器人基坐標系下。將這個位姿誤差投影到基坐標系下可得
(13)
取
(14)
(15)
有
(16)
式(15)、式(16)中,Jai-1、Jdi、Jαi-1、Jθi、Jβi為機器人末端位姿誤差關于連桿i幾何參數誤差δai-1、δdi、δαi-1、δθi、δβi的系數,考慮到在建模時,僅定義了β3,以X=(a0,α0,d1,θ1,…,am-1,αm-1,dm,θm,β3)T表示機器人的全部連桿參數,并取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為機器人幾何參數總數),J為機器人的雅可比矩陣,它反映由機器人連桿幾何參數誤差到機器人末端位姿誤差的映射關系,它是關于自變量轉角θ=(θ1,θ2,…,θm)T的函數。在J的行方向,J的前三行分別對應機器人的位置誤差傳遞系數,后三行分別對應機器人末端的姿態誤差傳遞系數;在J的列方向,J的每一列則對應每個單獨參數的位姿誤差系數。
由于誤差標定所涉及到的機器人基坐標系與測量坐標系間位姿關系同樣是通過測量獲得的,在此測量過程中也會引入誤差,如果忽略該誤差將會影響辨識參數的精度,因此,有必要將基坐標系的測量誤差作為參數辨識的目標之一。
圖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的測量過程僅引入了測量系統的測量精度誤差,可認為是真實值,但其相對實際位置誤差存在一個大小為-[B′pP′]ε0+μ0的差值,該差值與基坐標系誤差以及機器人末端位置相關。在參數辨識中,若忽略基坐標系測量誤差的影響,則所辨識的結果都是相對于坐標系{B′}定義與計算的,當{B′}的測量存在較大誤差時,所辨識的結果是無效的。若要保證辨識結果在多次測量中的有效性,則需要保證在多次測量中{B′}的穩定性。當將機器人基坐標系誤差作為辨識目標之一時,式(22)中,將Δp=pJδX代入運算,其中pJ為位置雅可比矩陣,可得
ΔpO=pJδX+[B′pP′]ε0-μ0
(23)
取
(24)
式中,pJε0為基坐標系姿態誤差參數的誤差系數;pJμ0為基坐標系位置誤差參數的誤差系數。
以Δx=((δX)T,ε0T,μ0T)T表示包括基坐標系測量誤差在內的全部幾何參數誤差,以M=[pJpJε0pJμ0]為機器人的拓展誤差系數矩陣,在引入機器人基坐標系誤差后,機器人的統一位置誤差模型為
ΔpO=MΔx
(25)
為了防止奇異的誤差系數矩陣使辨識過程出現無法收斂或陷入局部最優解的情況,需要對誤差模型進行參數冗余分析。對統一位置誤差模型進行冗余性分析可以發現以下幾個參數存在相互冗余的情況: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,因此,統一位置誤差模型中包含μ0x、μ0z、ε0x、ε0z、d3共5個冗余參數,可獨立辨識的參數為26個。
使用激光跟蹤儀進行機器人標定,一般是采用激光跟蹤儀測量出機器人末端的位姿關系,并結合機器人控制器中的空間理論位姿與關節角參數等數據,通過誤差模型進行參數辨識,得到各個參數的誤差值。而針對六軸串聯型關節機器人,一般采用單軸旋轉運動及基平面擬合方法完成對機器人基坐標系的標定,具體步驟如下:
(1)以一定步進角度旋轉1軸,保持其余關節不動,記錄T-MAC(激光反射靶標,可測得位置與姿態信息)的每一個采樣位置,獲取一組機器人末端位置集合{P1},在Polyworks中對點組進行圓擬合,得到圓C1、軸線L1。
(2)使1軸歸零,以一定步進角度旋轉3軸(或2軸),保持其他關節不動,記錄T-MAC的每一個采樣位置,獲取機器人末端位置集合{P2},對點組進行圓擬合,得到圓C2、軸線L2。
(3)將靶球安裝在靶球基座上,移動至機器人基座平面的不同位置,記錄每個位置靶球球心坐標,獲取靶球球心位置集合{P3},對其補償靶球基座高度與靶球半徑后進行平面擬合,進而確定機器人基平面FB。
(4)根據機器人機構特性,在激光跟蹤儀坐標系下,取L1單位方向向量為機器人基坐標系z軸,取L2在FB上投影的單位方向向量為機器人基坐標系y軸,取L1與FB交點為機器人基坐標系原點O,再由右手定則確定基坐標系x軸。由此可得機器人的基坐標系,如圖3所示。

(a)測量示意圖 (b)空間坐標系示意圖
當機器人與激光跟蹤儀的相對位置發生變化時,對基坐標系重復上述方法進行測量不但效率低下,而且可能會引入由基坐標系測量不一致帶來的隨機誤差。為了保持基坐標系多次測量結果的一致性,本文提出一種高效的重復測量方案:在完成上述標定后,移動機器人使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型工業機器人進行標定實驗來驗證所提出誤差模型的效果。激光跟蹤儀包含AT960本體、控制器、激光反射設備(T-MAC與靶球)與Polyworks軟件四部分,其測量精度為±15 μm+6 μm/m,遠小于未經標定的機器人絕對定位精度(3~4 mm),因此其測量誤差在標定過程中可忽略不計。實驗現場如圖5所示。

圖5 實驗現場Fig.5 Experimental site
為保證標定結果的準確性,在機器人常用作業區域內選取一個邊長為1000 mm的立方體空間,在所選取空間內隨機生成100個采樣點位置,如圖6所示,進行末端位姿誤差測量。

圖6 采樣點選取方法Fig.6 Sampling point selection method
取采樣點前 50 組的位置誤差值為觀測值,基于Levenberg-Marquardt 算法對未引入基坐標系誤差的普通幾何參數誤差模型進行參數辨識,其結果如表2所示。根據參數辨識結果修正機器人的運動學模型,然后根據后 50 組采樣點的位置測量值進行驗證。由于 ABB 機器人無法獲取控制器底層修改權限,因此采取微分誤差補償法進行補償,補償流程如圖7所示。對比其原始位置誤差,經過修正的采樣點位置誤差均下降到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 普通位置誤差模型參數辨識結果

圖7 位置誤差補償流程Fig.7 Position error compensation process

圖8 普通位置誤差模型補償效果Fig.8 Normal position error model compensation effect
雖然基于位置誤差模型的機器人本體標定對機器人絕對位置精度提高效果明顯,但它未考慮基坐標系的測量誤差,若基坐標系測量存在較大誤差,則標定結果無效。同樣取采樣點前 50 組的位置觀測值分別基于距離誤差模型和基坐標系誤差修正模型進行參數辨識,辨識結果如表3和表4所示,對比表2易發現,基坐標系誤差修正模型與距離誤差模型辨識結果分布基本一致,而與未引入基坐標系誤差的位置誤差模型辨識結果有較大差異。考慮到距離誤差模型的觀測值未引入基坐標系的測量誤差,可認為其辨識結果最接近實際參數誤差,即基坐標系誤差修正模型在辨識參數精度上優于普通位置誤差模型。

表3 距離誤差模型參數辨識結果

表4 基坐標系誤差修正模型參數辨識結果
以距離誤差模型與基坐標系誤差修正模型的辨識結果對基坐標系與幾何參數模型進行補償后,利用后50組采樣點對補償效果進行驗證。各模型標定補償效果如圖9所示:距離誤差模型位置補償后位置誤差仍保持在較高水平;在以基于統一辨識誤差模型補償得到的基坐標系作為參考坐標系之后,位置誤差模型補償后位置誤差減??;基于統一辨識誤差模型的補償效果最佳。

圖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。
在上述基坐標測量偏差的影響下,分別基于未引入基坐標系誤差的位置誤差模型與基坐標系誤差修正模型進行參數辨識,結果如表5所示。對比辨識結果可以發現,基坐標系修正模型在擾動前后辨識參數結果基本不變,而普通位置誤差模型的辨識參數結果出現明顯變化。出現這種結果的原因是基坐標系的測量誤差會造成機器人位置誤差的觀測值與實際值間存在偏差。由參數冗余性分析可知,μ0x、μ0z、ε0x、ε0z四個分量的影響可由連桿1的4個幾何參數代替,但μ0y與ε0y的影響卻需要所有幾何參數來承擔。而基坐標系誤差修正模型能夠將參數μ0y與ε0y從其他幾何參數中解耦出來,從而準確辨識基坐標系誤差的變化,因此它在標定魯棒性上優于未引入基坐標系誤差的位置誤差模型。

表5 基坐標系誤差擾動后參數辨識結果
在修正模型下對后50組采樣點進行補償,對比擾動前的位置誤差,如表6、表7、圖10所示,其中,圖10b基坐標系誤差修正模型部分,為區分效果,將基坐標系擾動后位置誤差以針狀圖表示。對比可發現,未引入基坐標系誤差模型在擾動后的誤差明顯增大,平均誤差與最大誤差均超過1 mm,而基坐標系誤差修正模型則在擾動后依然保持較高的補償精度,使平均誤差保持在0.2 mm以下,與擾動前基本一致。

(a)未引入基坐標系誤差的幾何誤差模型

表6 普通位置誤差模型在基坐標系誤差擾動下的補償效果

表7 基坐標系誤差修正模型在基坐標系誤差擾動下的補償效果
本文建立了考慮幾何參數誤差與基坐標系誤差的機器人本體標定模型,并提出了一種魯棒性高的機器人基坐標系誤差標定方法?;贚eica AT960-LR型激光跟蹤儀對IRB 6700型工業機器人進行了本體標定實驗與基坐標系誤差擾動實驗,結果表明:
(1)本文模型用于標定時,將機器人位置誤差的平均值由3.1928 mm減小到0.1756 mm,精度提高94.50%;位置誤差的標準差由 0.5494 mm減小到0.0830 mm,精度提高84.89%。
(2)當基坐標系存在較大誤差時,利用本文所提出的模型進行標定的參數辨識結果一致性高于99%,平均定位誤差保持在0.2 mm以下。