韋祖杰
(中國重汽集團柳州運力專用汽車有限公司,廣西 柳州545112)
近年來,工業(yè)機器人在生產(chǎn)制造業(yè)中扮演的角色越來越重要,越來越多的工業(yè)機器人取代了原來工人的位置,工業(yè)機器人代替人完成任務(wù)已成為一種必然的趨勢[1]。要想使工業(yè)機器人完成工作,必須預(yù)先對機器人進行示教,所謂示教通俗來說就是給機器人發(fā)出指令,讓機器人按照指令一步一步來完成預(yù)想的工作任務(wù)。目前,機器人示教工作主要是借助于工人操作示教器來完成的。這種示教方法存在著示教效率低,且過程復(fù)雜,并且要求操作人員需要掌握一定的工業(yè)機器人的使用操作知識等諸多缺點。如此一來,提高機器人作業(yè)精度、工作效率以及使示教過程不再復(fù)雜也就成了當(dāng)前迫切需要解決的問題。伴隨著視覺技術(shù)的成熟應(yīng)用使得這一問題得到了很大的改善。
示教器也叫示教盒,操作人員可通過示教器來對機器人進行示教,使用示教器編寫程序,示教結(jié)束后,操作人員可通過運行已編寫的程序即可實現(xiàn)示教再現(xiàn)。目前,大多數(shù)企業(yè)在工業(yè)自動化生產(chǎn)中需要進行周期性的重復(fù)工作,這就需要機器人完成示教再現(xiàn)功能,通過示教器進行示教編程即可完成。示教器編程存在以下優(yōu)缺點[2]:
優(yōu)點:編程門檻低、簡單方便、不需要環(huán)境模型;對實際的機器人進行示教時,可以修正機械結(jié)構(gòu)帶來的誤差。
缺點:
(1)示教過程比較復(fù)雜繁瑣、且工作效率較低。
(2)示教人員通過目測進行尋位,導(dǎo)致了精度的不精確性。對于路徑復(fù)雜的示教工作,示教編程達不到想要的結(jié)果。
(3)示教器種類繁多,操作人員需學(xué)習(xí)大量東西。
(4)在示教過程中,容易對設(shè)備造成損傷,同時對人身安全具有一定的威脅。
(5)進行示教時,我們需要通過操作機器人來進行。
示教器示教的方式,存在較多的缺陷。為了能夠克服這些缺陷,研究人員提出了一種新的示教方式即“拖動示教”。拖動示教,其主要的操作就是拖動,拖動簡而言之就是直接拖動機器人的各個關(guān)節(jié),運動到想要的位置姿態(tài),然后把該位置記錄下來,機器人會把剛才運動的信息保存到上位機的存儲器中,之后機器人再從上位機中讀取相應(yīng)的信息并進行示教。相較于傳統(tǒng)示教器方式,拖動示教能夠更加簡單實現(xiàn),而且示教所需要的時間會大幅度的縮減,效率也能夠有較大的提高,其操作的門檻要求較低。拖動示教是一種比較有發(fā)展前景的示教方式。
根據(jù)D-H法建立坐標系可得出相鄰連桿(圖1)間變換矩陣為:
圖1 相鄰連桿坐標[3]
其中,θi為繞Zi-1旋轉(zhuǎn)θi角,使Xi-1轉(zhuǎn)到與Xi同一平面內(nèi);di為沿Zi-1平移一段距離di,把Xi-1移到與Xi同一直線上;Ai為沿Xi軸平移一段距離ai,把連桿i-1的坐標系移動到使其原點與連桿i坐標系原點重合的地方;αi為繞Xi軸旋轉(zhuǎn)αi角,使Zi-1轉(zhuǎn)到與Zi同一直線上[3]。
確定機器人工具坐標系相對于機器人末端連桿坐標系的齊次變換即為工具坐標系的標定[4]。工具坐標系的標定方法多種多樣,其中外部基準法和多點標定法是目前比較常見的標定方法。
機器人各關(guān)節(jié)坐標系建立示意圖如圖2,xoyozo機器人的基坐標系{B}=xoyozo;末端坐標系{E}=x6y6z6;工具坐標系為{T}[5]。為機器人末端坐標系相對于基坐標系的齊次變換矩陣,為工具末端坐標系相對于機器人末端坐標系的齊次變換矩陣,為工具末端坐標系相對于機器人基坐標系的齊次變換矩陣。三個矩陣之間的變換矩陣為:
其中根據(jù)機器人正向運動學(xué)求解得
其中為機器人末端坐標系相對于機器人基坐標系的旋轉(zhuǎn)矩陣,為位置矢量。
圖2 六關(guān)節(jié)坐標圖
2.2.1 工具坐標系的位置標定
采用六點法標定TCP,所取標定點如圖3所示。在工作臺上放置一個測量規(guī)尺,操作機器人以不同的姿態(tài)去點測量規(guī)尺尖端。P1為隨機給定的初始點,P2、P3為隨機取的 2 個點,P1、P2、P3三個點在同一平面內(nèi),P4的Z軸與測量規(guī)尺的Z軸在同一直線上。
圖3 取點示意圖
根據(jù)式(2)可得
因為P1、P2、P3、P4為不同姿態(tài)下標定參考點,由式子(4)變形可得:
結(jié)合式(6)進行以下的變換:P2-P1,…,P4-P3,即
依次類推可得:
2.2.2 工具坐標系的姿態(tài)標定
如圖4所示,以P4為第一點,操作機器人先沿+x方向平移一段距離得點P5,然后再回到P4,在沿+z方向平移一段距離得點P6。
圖4 取點示意圖
已知都相等,已知。P4與P5之間的向量關(guān)系即為工具坐標系沿+x方向的向量。工具坐標系的x軸軸向向量為:
同理可得工具坐標系的z軸軸向向量為:
BP4E、BP5E、BP6E分別為P4、P5、P6相對于基坐標的位置。
根據(jù)右手定則有:
將式(11)和(12)代入Y=X·Z,并對其進行單位化矩陣變換。即可得出工具坐標系相對于機器人基坐標系的姿態(tài)。由(6)式,經(jīng)過矩陣計算,即可求出旋轉(zhuǎn)關(guān)系。
綜上,即可求得工具坐標系相對于基坐標系的齊次變換。
工具坐標系與相機坐標系之間的轉(zhuǎn)換常用手眼標定,手眼標定的過程即為求解齊次變換矩陣的過程。目前常用的求解方法主要分為兩大類:線性法和非線性法[6]。
本次采用了傳統(tǒng)的手眼標定算法兩步法,傳統(tǒng)手眼標定又有Eye-to-hand和Eye-in-hand兩種方式之分[7]。Eye-to-hand是攝像機固定安裝在機器人本體外的某一空間位置,不隨機器人的運動而運動。Eye-in-hand是攝像機固定安裝在機器人末端執(zhí)行器,相機會跟隨工業(yè)機器人的運動而運動。傳統(tǒng)兩步法本次是基于Eye-in-hand系統(tǒng)的方式進行標定。標定主要思路為借助某空間參考點,操作機械手以不同的位姿觀察該點。
標定過程,設(shè)選定參考點的坐標系為{Cobj},相機坐標系為{C},操作機器人從P1運動到P2,圖5為平移前后的坐標系關(guān)系示意圖。
圖5 相機平移前后坐標關(guān)系圖
CC1、CC2為從P1運動到P2相機前后所在兩位置對應(yīng)的坐標系,Ce1、Ce2為從P1運動到P2機械末端執(zhí)行器前后兩位置所對應(yīng)的坐標系。在CC1、CC2兩位置根據(jù)攝像機標定法可求得相機的內(nèi)外參數(shù)[8]。外參即為相機坐標系到參考點坐標系之間的轉(zhuǎn)換關(guān)系,記為Ra、ta。用R、t表示機器人工具坐標系與相機坐標系之間的變換關(guān)系。如圖有CX=XD,求解X的過程就是手眼標定過程。X即為我們想要的手眼標定參數(shù)。圖中的各相對位置的關(guān)系A(chǔ)、B、C、D、X都是 4×
將CX=XD方程中的每一個 4×4矩陣都寫成以相應(yīng)的旋轉(zhuǎn)矩陣以及平移向量組成的形式,并將其展開得到下式:
由式子(14)可知方程有無窮多解,為了確保方程有唯一解,則確定兩組數(shù)據(jù)甚至兩組以上的數(shù)據(jù)。為方便計算,在此取兩組數(shù)據(jù),代入式子(14)得:
在(15)式中,Rc1、tc1、Rc2、tc2分別是攝像機在P1、P2處的參數(shù),根據(jù)攝像機標定可求出其外部參數(shù)即旋轉(zhuǎn)矩陣和平移向量;Rd1、td1、Rd2、td2分別為機器手在P1、P2處的參數(shù),該參數(shù)一般都是從機器人控制器獲取的;R、t為手眼矩陣中的旋轉(zhuǎn)矩陣與平移向量,也就是要求的未知量。在(15)式中旋轉(zhuǎn)矩陣都是3×3矩陣平移向量是3×1矩陣。根據(jù)攝像機標定可求出了相機的內(nèi)外參數(shù),在內(nèi)部參數(shù)已知的情況下,根據(jù)(15)式并運用了旋轉(zhuǎn)矩陣的性質(zhì),即可求出旋轉(zhuǎn)矩陣R,再將所求的R代回到(15)式即可求得平移向量t。在上述的算法之中,由旋轉(zhuǎn)矩陣求平移向量的過程稱為手眼標定傳統(tǒng)兩步法。
經(jīng)過幾十年的發(fā)展,立體視覺技術(shù)在機器人導(dǎo)航、航空測繪、醫(yī)學(xué)成像、和工業(yè)檢測等領(lǐng)域中得到了廣泛的應(yīng)用。目前基于立體視覺技術(shù)的機器人示教方式在焊接領(lǐng)域中應(yīng)用較為廣泛。基于立體視覺技術(shù)的機器人示教裝置(示教筆)已經(jīng)出現(xiàn),通過用示教筆進行取點,通過立體視覺技術(shù)將示教筆的運動軌跡傳輸至電腦終端并生成相應(yīng)的代碼程序,使機器人能夠準確無誤的跟隨示教筆的軌跡進行工作。其示教過程簡便,對操作人員的要求較低,而且能夠確保較高的精度。
通過對示教點軌跡的坐標轉(zhuǎn)換,能夠進一步了解到機器人是如何通過立體視覺技術(shù)來完成示教,無論是示教器還是拖動示教,機器人取點的方式都比較復(fù)雜,對操作人員的要求較高,且精度較低。隨著立體視覺技術(shù)的發(fā)展,基于立體視覺技術(shù)的機器人快速示教方式得到了廣泛的應(yīng)用。