熊 杰,楊東升,王允森,袁曉慧
(1.中國科學院大學,北京 100049 ;2.中國科學院 沈陽計算技術研究所,沈陽 110168)
?
基于位置約束的工業機器人運動學標定*
熊杰1,2,楊東升2,王允森1,2,袁曉慧1,2
(1.中國科學院大學,北京100049 ;2.中國科學院 沈陽計算技術研究所,沈陽110168)
摘要:鑒于標準DH方法在描述平行關節時存在問題,采用MDH方法建立機器人的運動學,提出基于末端位置約束關系建立線性方程組進行結構參數辨識的一般方法。針對方程組系數矩陣退化的問題,從運動學的雅可比矩陣入手,分析了退化的原因,為結構參數選擇提供了理論依據。討論了機器人基坐標系和測量坐標系轉換的問題,設計了一種無需坐標系轉換的基于十字型桿件的簡易標定方法。基于matlab進行仿真后,采用該方法標定MOTOMAN-MH6機器人,標定后,按照示教器讀數計算的十字型桿件長度誤差從4mm降低到1mm以內,說明該方法是有效的。
關鍵詞:位置約束;工業機器人;參數辨識
0引言
工業機器人的重復定位精度很高,但是絕對定位精度一般比較差。通常采用機器人標定技術提高其絕對定位精度。機器人標定涉及到運動學建模,位姿測量,參數辨識,誤差補償四個過程。位姿測量是標定中的一個重要過程,測量精度直接影響到標定的效果。近些年來,激光跟蹤系統[1-2]越來越多的使用于位姿測量上,這種系統測量精度高,范圍廣,但是其造價比較昂貴。機器人視覺標定技術[3]的發展也很迅速,但是其標定的精度依賴于圖像辨識算法。
為了簡化測量過程,降低測量成本,提高標定效率,許多學者提出了一類基于末端位置約束的標定技術[4-9]。這一類方法是通過驅動末端到達一組滿足某種幾何約束的空間位置點,然后根據示教器的讀數按照誤差模型建立起方程組。這一類方法常見的問題是所建立的方程組系數矩陣往往是退化的,上述文獻并沒有明確指出并分析退化的原因。張鐵等[10-11]部分地分析了基于距離誤差進行標定時方程組系數矩陣退化的問題,但并沒有將結論推廣,而且標定過程中使用激光跟蹤儀,增加了使用者的經濟負擔。
位置約束標定法是利用被測點之間的位置約束關系,通常不需要機器人基礎坐標系和測量坐標系之間的轉換[12]。本文分析了基于位置約束建立的方程組的系數矩陣退化的原因,為結構參數選擇提供了理論依據。在此基礎上,基于距離公式和垂直關系,提出了一種簡易的十字桿件標定法。
1建模
1.1運動學建模
目前應用最廣泛的機器人運動學模型是DH模型,根據DH模型所建立的相鄰關節之間的齊次變換矩陣為:
Ai=Rotz(θi)Tranz(di)Tranx(ai)Rotx(αi)
(1)
其中θi表示關節旋轉,di為連桿長度,ai為關節偏移,αi為連桿扭轉,i=1…N,N為關節連桿的個數。當相鄰關節平行或近似平行時,軸線的微小的偏移會引起連桿距離di的極大變化,此時通常使用Hayati[13]所提出的MDH模型。MDH模型在Ai中添加了繞Y軸旋轉的扭角βi,即:
Ai=Rotz(θi)Tranz(di)Tranx(ai)Rotx(αi)Roty(βi)=
(2)
其中,c,s是cos,sin的簡寫。當相鄰連桿平行或近似平行時,di=0;否則,βi=0。顯然MDH模型的參數個數和DH模型是相同的,對于平行關節用βi替換掉di。如果不存在平行關節,MDH模型就退化為DH模型。確定了各關節之間的變換矩陣之后,那么按照機器人正運動學模型,其末端位姿可以表示為:
(3)
其中,θ=(θ1,…θN),d,a,α,β同理,表示為結構參數的向量。
因為裝配因素、負載因素、環境因素以及磨損變形等原因,各關節的實際參數和理論參數之間存在參數誤差[Δθi,Δdi,Δai,Δαi,Δβi],i=1…N,所以機器人的實際運動學模型可以修正為:
Tr=F(θ+Δθ,d+Δd,a+Δa,α+Δα,β+Δβ)
(4)
Tr表示末端的實際位姿,T表示末端的理論位姿,那么Tr-T即可表示為末端的位姿誤差。如果我們不關注姿態,只關注位置信息[px,py,pz]′,記P=f(θ,d,a,α,β)表示從正運動學中提取的位置信息,那么末端的位置誤差可以表示為:
ΔP=Pr-P=
f(θ+Δθ,d+Δd,a+Δa,α+Δα,β+Δβ)-
f(θ,d,a,α,β)
(5)
在實際中參數誤差是非常小的量,記Δx=[Δθ1,…ΔθN,Δd1,…ΔdN,Δa1,…ΔaN,Δα1,…ΔαN,Δβ1,…ΔβN],那么Pr可以近似表示為:
Pr=P+JΔx
(6)
其中,J是位置運動學函數關于結構參數Δx的雅可比矩陣,即:
(7)
顯然J是結構參數的函數,隨著機器人運動關節的運動而變化。通過式(7),式(6)建立了機器人理論位置和實際位置之間的聯系。
1.2基于位置約束建立線性方程組
實際中,獲得末端的姿態信息比較繁瑣,但獲得末端的位置信息相對容易。如果已知機器人工作空間中兩點A和B的實際距離為Dr,AB,聯系式(6),有:
(8)
其中PA,PB表示末端位于Pr,A,Pr,B時對應的示教器讀數。根據距離公式,將式(8)展開,并忽略Δx的高次項,記DAB=|PA-PB|,得:
(9)
同理,如果已知機器人工作空間中四點ABCD滿足AC⊥BD,那么根據內積關系,得:
(PC+JCΔx-(PA+JAΔx))·
(PD+JDΔx-(PB+JBΔx))=0
(10)
整理,得:
((PC-PA)T(JD-JB)+(PD-PB)T(JC-JA))Δx=
(PC-PA)T(PD-PB)
(11)
基于距離關系和內積關系這兩種位置約束可以構造出后文所使用的十字型桿件這樣的標定工具。還可以根據其他的位置約束繼續構造形如式(9)和式(11)的方程。其中,除了Δx為未知數之外,其余量均可以通過計算得到。如果采集到足夠的點,根據式(9)和(11)就可以建立起A·Δx=b形式的常系數線性方程組。基于最小二乘法,該線性方程組的解為:
Δx=(ATA)-1ATb
(12)
1.3選擇結構參數
在實際計算中,線性方程組的系數矩陣A是病態甚至是退化的,主要表現于:A中的某些列全部為0;A中的某些列線性相關。對于全部為0的列對應的結構參數,認為該參數對末端位置無影響,將其從Δx中去除;對于線性相關的列對應的結構參數,只保留其中一個在Δx中。接下來通過討論末端位姿T的雅可比矩陣進行結構參數選取。
將式(2)對θi和di求偏導可得:

(13)
將式(3)對d1,θ1分別求偏導,聯系式(13),可得:
(14)
如果相鄰關節是平行關節,那么di,di+1對末端位姿的影響是一致的,也就是說方程組中di,di+1對應的列線性相關,此時按照MDH模型,去除di改為辨識βi。

(15)
那么末端位姿T關于結構參數的偏導就可以簡單的表示為:
(16)
根據式(15)、(16),當i=N時,經過推導,可以得到以下結論:

(2)當aN=0,cαN-1=0,即αN-1=±90°時,可以進一步得到JαN-1=?dNJdN-1,也就是說雅可比矩陣中關于αN-1和dN-1的列線性相關;
(3)當aN=0,cαN-1=0 即,αN-1=±90°以及aN-1=0時,進一步可得:JθN-1=±dNJaN-1。
綜上所述,僅僅根據位置信息辨識結構參數時,不能夠被辨識的參數如表1所示,這些參數應該從Δx中去除。
表1隨著約束條件的增加不能被辨識的結構參數

表1指出了機器人構型和不能被辨識的結構參數之間的關系。可以看出,如果在末端添加末端工具時,使工具坐標系原點偏離末端坐標系的Z軸,相當于使得aN≠0,這時第N-1關節就可以多辨識兩個參數。
2測量
2.1坐標系轉換的問題

(17)
末端的理論位姿T可根據式(2)計算,通過示教器讀出。標定時,采集到一定數量的位姿點之后,根據Tr和T之間的偏差可以計算出結構參數誤差。

圖1 機器人和測量坐標系轉換示意圖
2.2基于十字型桿件的測量方法

該標定裝置是一個十字型桿件,構造如圖2所示。其中,ABCD是四個半球形的凹槽,不妨稱其為標準孔,滿足L=|AC|=|BD|,L是已知長度,|AC|,|BD|表示兩點距離。AC和BD垂直,根據內積公式,則有AC·BD=0。在機器人末端加裝長度為l的探針,探針頭部的小球半徑和標準孔的半徑相等,在測量時,小球可以密切貼合十字型桿件的標準孔。

圖2 標定工具示意圖
將探針加裝在機器人末端,十字型桿件放置在機器人工作空間內,驅動機器人使探頭朝標準孔A運動,使探頭密切貼合標準孔。記錄下示教器上的關節讀數和位置讀數(θiA,PiA),i表示第i組測量數據。保持十字桿件位姿不變,仿照A繼續測量BCD。ABCD都測完,可收集到一組數據[(θiA,PiA),(θiB,PiB),(θiC,PiC),(θiD,PiD)]。調整十字桿件的位姿,重復上述操作。重復n次,共收集n組測量數據。n組測量數據應均勻分布在機器人工作空間內。
3參數辨識和誤差補償
3.1參數辨識
每一組測量數據中,根據十字桿件構成的位置約束,根據式(7)和(9),得
(18)

在解方程組時采用迭代的方式求解。即每辨識出一組解之后,如果Δx大于三倍經驗誤差值,就選擇新的測量數據重新計算,否則將Δx加到理論結構參數上,按照新的結構參數建立正運動學,根據式(6)重新計算ΔP,直到ΔP或Δx滿足一定的精度時迭代停止。
3.2誤差補償和標定流程圖
求解出所有能夠辨識的結構參數之后,將這些參數代入到運動學模型中,對運動學模型進行修正,即可實現對機器人的靜態誤差補償。根據示教器讀數重新計算十字型連桿AC和BD的長度,并和AC,BD的真實值L進行比較,可以用于檢查補償后的末端精度。
基于位置約束的標定算法整體流程如圖3所示。
圖3涵蓋了運動學標定的全部過程,包括運動學建模,位姿測量,參數辨識,和誤差補償四個階段,是一套完整的運動學標定方案。

圖3 整體標定流程圖
4仿真和實驗
4.1仿真
在matlab中實現上述算法。仿真過程中所使用的機器人模型為MOTOMAN-MH6,基于DH方法所建立的機器人運動學坐標系如圖4,結構參數取值如表2所示,連桿長度d和關節偏移a的單位均為mm,θ的取值表示關節的初始狀態。

圖4 機器人運動學坐標系

關節θ(°)d(mm)a(mm)α(°)θ范圍(°)100150-90(-170,170)2-900570180(-180,65)300130-90(-170,190)40-638.7090(-180,180)5000-90(-135,135)60-950180(-360,360)
從圖4和表2中可以看出,該機器人第2和3關節相互平行,所以運動學模型應該采用MDH方法,此時無需辨識d2,改為辨識繞y的轉角β2。因為a6=0,cα5=0,a5=0,根據表1,第5關節只能辨識兩個參數,所以在末端加裝探針時要注意使探頭偏離第6關節的Z軸,使得aN≠0,這樣就可以辨識出第5關節的全部參數和θ6。最終Δx中的結構參數為:
Δx=[Δθ2,…Δθ6,Δβ2,Δd3…Δd6,Δa1,…Δa6,Δα1,…Δα5]共21個結構參數。
按照表2所示的結構參數構造機器人理論運動學模型,然后按照表3中預設的結構誤差構造實際運動學模型。因為根據MDH建模方法,不需要辨識d2,只需要辨識β2,所以表3中d2的位置上是β2的預設誤差值。

表3 預設的結構參數誤差(d2表示β2)
在機器人工作空間中仿照十字桿件的幾何約束取18組測量數據,采用十字桿件標定法求結構參數誤差Δx。為了測試算法的收斂速度,引入
(19)


圖5 Δx的收斂狀態圖
從圖5可以看出,只需要很少的幾步迭代就可以收斂到最優解。σ未收斂于0的原因是因為θ1,d1,α6不能被辨識出來。解出的Δx如表4所示。

表4 求解方程組得到的結構參數誤差(d2表示β2)
從表4可得,解出的Δx精度非常高,這是因為實驗中數據并沒有考慮測量噪聲的影響。使用表4的數據修正運動學結構參數,重新計算十字型桿件中AC和BD的長度,18組測量數據共可以得到36個連桿長度。標定后計算出的桿件長度和標定前按照理論結構參數計算出的桿件長度對比示意圖如圖6所示。

圖6 標定前和標定后計算出的桿件長度
從圖6中可以看出,標定后,機器人計算連桿長度的誤差從原來的6mm左右減少到幾乎為0mm。這說明,標定算法是有效的。
4.2實驗
實驗室機器人為安川MOTOMAN-MH6,坐標系建立如圖4所示,結構參數如表2所示。將十字型桿件置于機器人工作空間中,取18組測量數據。按照十字桿件標定法對機器人本體進行標定。標定后根據示教器讀數計算出的十字型桿件長度和標定前的對比圖如圖6所示。

圖7 標定前和標定后計算出的桿件長度
從圖7中可以看出,實驗效果比仿真效果差一些,這是因為實驗中存在測量噪聲的緣故。標定后,機器人計算連桿長度的誤差從原來的4mm下降到了1mm以內,這說明標定算法是有效的。
5結論
機器人標定時,姿態測量相對困難,而位置測量相對容易。針對基于位置約束建立方程組進行參數辨識這一類問題,本文對其系數矩陣退化的分析是合理的,避免部分列線性相關的方法是有效的,為標定時結構參數選擇提供了理論基礎。
在上述理論分析的基礎上,本文提出了基于位置約束的十字型桿件標定法,該方法不需要對機器人坐標系和測量坐標系進行相互轉換,測量簡單,經濟實用,測量過程中不用移動機器人本體,可以廣泛的應用于實際生產車間中。仿真說明,該方法能夠辨識出機器人的實際結構參數,具有良好的實際應用價值。
[參考文獻]
[1] Nubiola A, Bonev I A. Absolute calibration of an ABB IRB 1600 robot using a laser tracker[J]. Robotics and Computer-Integrated Manufacturing, 2013, 29(1): 236-245.
[2] 葉聲華, 王一, 任永杰, 等. 基于激光跟蹤儀的機器人運動學參數標定方法[J]. 天津大學學報, 2007, 40(2): 202-205.
[3] 汪首坤,郭俊杰,王軍政,等. 基于混合群智能優化的機器人立體視覺標定[J]. 機械工程學報,2012,48(1):57-63.
[4] 劉振宇, 陳英林, 曲道奎, 等. 機器人標定技術研究[J]. 機器人,2002,24(5): 447-450.
[5] 宋月娥,吳林,田勁松,等. 用于機器人離線編程的工件標定算法研究[J]. 哈爾濱工業大學學報,2002,34(6):735-738.
[6] 吳聊, 楊向東, 藍善清, 等. 基于平面模板的機器人 TCF 標定[J]. 機器人, 2012, 34(1): 98-103.
[7] 周煒, 廖文和, 田威. 基于空間插值的工業機器人精度補償方法理論與試驗[J]. 機械工程學報, 2013, 49(3): 42-48.
[8] Zhan Q, Wang X. Hand-eye calibration and positioning for a robot drilling system[J]. The International Journal of Advanced Manufacturing Technology, 2012, 61(5-8): 691-701.
[9] 董慧穎,李文廣. 一種基于平面精度的機器人標定方法及仿真[J]. 中國機械工程,2011,22(17):2039-2042.
[10] 張鐵,戴孝亮. 基于距離誤差的機器人運動學標定[J]. 華南理工大學學報(自然科學版),2011,39(11):98-103.
[11] Zhang T, Du L, Dai X. Test of Robot Distance Error and Compensation of Kinematic Full Parameters[J]. Advances in Mechanical Engineering, 2014.
[12] 周學才, 張啟先, 鄭時雄. 一種新的機器人機構距離誤差模型及補償算法[J]. 機器人, 1991, 13(1): 44-49.
[13] Hayati R. Robot Arm Geometric Link Parameter Estimation[C]. Proceedings of The 22nd IEEE Conf. on Decision and Control, 1983, 12:1477-1483.
(編輯趙蓉)
The Industrial Robot Kinematics Calibration Based on the Position Constraint
XIONG Jie1,2,YANG Dong-sheng2,WANG Yun-sen1,2,YUAN Xiao-hui1,2
(1.University of Chinese Academy of Sciences,Beijing 100049, China; 2.Shenyang Institute of Computing Technology, Chinese Academy of Sciences,Shenyang 110168, China)
Abstract:Given the standard DH method was limited to describe parallel joint, MDH method was adopted to establish the robot kinematics. Based on the end position constraint, a general method was proposed to establish the linear equations for structure parameter identification. To solve the degradation problems in the coefficient matrix of the equations, starting from the Jacobian matrix of the kinematics, the reasons for the degradation was analyzed. It was the theoretical basis to select the structural parameters. The conversion between robot base coordinate system and the measurement coordinate system was discussed and then a simple calibration method based on the cross-bar was designed without coordinate conversion. After the simulation conducted in matlab, MOTOMAN-MH6 robot was calibrated by this method. After calibration, the cross bar length error calculated under teaching readings reduced from 4mm to less than 1mm. The results show that the calibration method is effective.
Key words:position constraint; industrial robot; parameter identification
中圖分類號:TH166;TG659
文獻標識碼:A
作者簡介:熊杰(1990—),男,河南南陽人,中國科學院大學碩士研究生,研究方向為機器人標定技術,(E-mail)xiongjiezk@163.com;楊東升(1965—),男,中國科學院沈陽計算技術研究所研究員,博導,研究方向為數控系統,現場總線,機器人,(E-mail)dsyang@sict.ac.cn。
*基金項目:核高基專項(2012ZX01029-001-002)
收稿日期:2015-03-15;修回日期:2015-04-13
文章編號:1001-2265(2016)02-0060-05
DOI:10.13462/j.cnki.mmtamt.2016.02.0017