本發(fā)明涉及工業(yè)機器人的標定技術(shù)領(lǐng)域,尤其涉及機器人的手眼標定裝置與方法。
背景技術(shù):
目前,手眼系統(tǒng)EYE-IN-HAND工業(yè)機器人通常的手眼標定方式:工業(yè)機器人帶著手臂上的相機變換姿態(tài),在相機視場內(nèi)拍攝同一固定標定板。此標定板在機器人世界坐標系下的位置不變。工業(yè)機器人視覺識別標定板上的特征點,進行圖像處理計算,得出特征點在相機世界坐標系下的值。經(jīng)過一系列相關(guān)的計算,能得出工業(yè)相機的相機坐標系與工業(yè)機器人工具坐標系的變換關(guān)系矩陣T。由此關(guān)系矩陣T,圖像像素上的點就可以轉(zhuǎn)換到工業(yè)機器人的基坐標系下的點。機器人根據(jù)此圖像識別的點,引領(lǐng)相應的抓手運動到目標抓取點。
日本FANUC機器人公司的iRVision視覺系統(tǒng),已經(jīng)通過坐標系自動示教方式,機器人可以自動檢測并計算標定坐標系。
但是目前的智能機器人在完成手眼標定的過程中需要采集或識別的特征點過多,導致計算起來十分復雜,目前的技術(shù)通常需要九次姿態(tài)變換來完成工業(yè)機器人的手眼標定,導致標定工序復雜。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種機器人的手眼標定裝置與方法,以降低相機坐標系到機器人坐標系的變換關(guān)系式的計算難度。
為解決上述技術(shù)問題,本發(fā)明提供以下技術(shù)方案。
一方面,本發(fā)明提供一種機器人的手眼標定方法,該方法應用于六軸工業(yè)機器人,該方法包括:
確定用于標定相機參數(shù)的特征點和用于標定機器人基礎坐標系的坐標點;
識別所述機器人處于第一姿態(tài)下的所述特征點和所述坐標點在相機坐標系下的坐標值;
識別所述機器人處于第二姿態(tài)下的所述特征點和所述坐標點在相機坐標系下的坐標值;
根據(jù)兩次識別的所述坐標值以及所述特征點和坐標點在機器人基礎坐標系下的坐標值計算相機坐標系到機器人工具坐標系的變換關(guān)系。
進一步地,該方法還包括:
獲取在相機坐標系下的目標坐標值;
通過所述變換關(guān)系式計算所述目標坐標值在機器人工具坐標系下的坐標。
進一步地,通過以下公式計算相機坐標系到機器人工具坐標系的變換關(guān)系式:
T6×T×P1=T61×T×P2;
其中,T表示待計算的相機坐標系到機器人工具坐標系的變換關(guān)系式矩陣,T6表示機器人處于第一姿態(tài)下的姿態(tài)值,P1表示機器人處于第一姿態(tài)下的坐標點在相機坐標系下的坐標值,T61表示機器人處于第二姿態(tài)下的姿態(tài)值,P2表示機器人處于第二姿態(tài)下的坐標點在相機坐標系下的坐標值。
進一步地,該方法還包括:
通過對位于特征點的圖像進行圖像識別獲取特征點的坐標值,通過對位于坐標點的圖像進行圖像識別獲取坐標點的坐標值。
進一步地,上述特征點的個數(shù)為四個。
進一步地,上述特征點和坐標點以棋盤方格的形式設在手眼標定板上。
另一方面,本發(fā)明提供一種機器人的手眼標定裝置,該裝置包括:
點確定模塊,用于確定用于標定相機參數(shù)的特征點和用于標定機器人坐標系的坐標點;
第一識別模塊,用于識別機器人處于第一姿態(tài)下的特征點和坐標點在相機坐標系下的坐標值;
第二識別模塊,用于識別機器人處于第二姿態(tài)下的特征點和坐標點在相機坐標系下的坐標值;
關(guān)系計算模塊,用于根據(jù)兩次識別的坐標值以及特征點和坐標點在機器人坐標系下的坐標值計算相機坐標系到機器人坐標系的變換關(guān)系式。
進一步地,該裝置還包括:
目標獲取模塊,用于獲取在相機坐標系下的目標坐標值;
坐標計算模塊,用于通過變換關(guān)系式計算目標坐標值在機器人工具坐標系下的坐標。
進一步地,上述關(guān)系計算模塊通過以下公式計算相機坐標系到機器人坐標系的變換關(guān)系式:
T6×T×P1=T61×T×P2;
其中,T表示待計算的相機坐標系到機器人工具坐標系的變換關(guān)系式矩陣,T6表示機器人處于第一姿態(tài)下的姿態(tài)值,P1表示機器人處于第一姿態(tài)下的坐標點在相機坐標系下的坐標值,T61表示機器人處于第二姿態(tài)下的姿態(tài)值,P2表示機器人處于第二姿態(tài)下的坐標點在相機坐標系下的坐標值。
進一步地,該裝置還包括:
圖像識別單元,用于通過對位于特征點的圖像進行圖像識別獲取特征點的坐標值,通過對位于坐標點的圖像進行圖像識別獲取坐標點的坐標值。
本發(fā)明的有益效果在于只需要六軸工業(yè)機器人的姿態(tài)變換兩次,采集圖像上四個特征點兩次,經(jīng)過計算就可以得出相機坐標系到機器人坐標系的變換關(guān)系式,既簡化了標定的工序,又降低了計算的難度。
【附圖說明】
圖1為根據(jù)本發(fā)明的一個實施例的機器人的手眼標定方法的流程圖;
圖2為根據(jù)本發(fā)明的另一實施例的機器人的手眼標定方法的流程圖;
圖3為根據(jù)本發(fā)明的一個實施例的機器人的兩次姿態(tài)變換的示意圖;
圖4為應用于本發(fā)明的一個實施例的手眼標定板的正面結(jié)構(gòu)示意圖;
圖5為應用于本發(fā)明的一個實施例的手眼標定板的側(cè)面結(jié)構(gòu)示意圖;
圖6為根據(jù)本發(fā)明的一個實施例的機器人的手眼標定裝置的示范性結(jié)構(gòu)框圖;
圖7為根據(jù)本發(fā)明的一個實施例的機器人的手眼標定裝置的示范性結(jié)構(gòu)框圖。
附圖中,各標記代表的部件如下:
1-1、第一通孔,1-2、第二通孔,2、螺紋孔,3、定位槽,4、手眼標定板。
【具體實施方式】
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實 施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
實施例1
圖1為根據(jù)本發(fā)明的一個實施例的機器人的手眼標定方法的流程圖,下面結(jié)合圖1來具體描述根據(jù)本發(fā)明的一個實施例的機器人的手眼標定方法,該方法應用于六軸工業(yè)機器人,如圖1所示,該方法包括以下步驟:
S100、確定用于標定相機參數(shù)的特征點和用于標定機器人坐標系的坐標點;
S200、識別機器人處于第一姿態(tài)下的特征點和坐標點得出在相機坐標系下的坐標值;
S300、識別機器人處于第二姿態(tài)下的特征點和坐標點得出在相機坐標系下的坐標值;
S400、根據(jù)兩次識別的坐標值以及特征點和坐標點在相機坐標系下的坐標值與兩次工業(yè)機器人姿態(tài)值計算相機坐標系到機器人工具坐標系的變換關(guān)系式。所述姿態(tài)值是指機器人在第一姿態(tài)或第二姿態(tài)下在工具坐標系下的坐標值。
圖3為根據(jù)本發(fā)明的一個實施例的機器人的兩次姿態(tài)變換的示意圖,其機器人兩次姿態(tài)的變換如圖3所示。
作為優(yōu)選地,通過對位于特征點的圖像進行圖像識別獲取特征點的坐標值,通過對位于坐標點的圖像進行圖像識別獲取所述坐標點的坐標值。
其中,上述特征點的個數(shù)為四個,上述特征點和坐標點以棋盤方格的形式設在手眼標定板上,將A、B、C、O作為計算手眼系統(tǒng)為EYE-IN-HAND的工業(yè)機器人坐標系到工業(yè)相機坐標系的變換矩陣T的求取的特征點,圖像上8行11列共88個黑色圓圈是為標定工業(yè)相機的內(nèi)參和外參所用,其中黑色圓圈上帶有五個小白點的圓環(huán)狀標記是為標定工業(yè)機器人的工具坐標系所用。
根據(jù)本實施例的一個示例,圖4為應用于本發(fā)明的一個實施例的手眼標定板4的正面結(jié)構(gòu)示意圖,圖5為應用于本發(fā)明的一個實施例的手眼標定板的側(cè)面結(jié)構(gòu)示意圖,如圖4和圖5所示,該手眼標定板包括設置在正面的孔和設在側(cè)邊上的孔。其中,設在正面的孔包括四個位于手眼標定板中部的用于標定特征點的環(huán)狀圖案,以及設在手眼標定板邊角處的用于標定坐標系的環(huán)狀圖案。
其中,用于標定特征點的圓形圖案的直徑大于其它圓形圖案或環(huán)形圖案外圓的直徑,該用于標定特征點的圓形圖案的外圓直徑例如11~13mm,其中12mm 為最優(yōu)。用于標定坐標系的環(huán)狀圖案的外圓直徑例如8~10mm,其中9mm為最優(yōu)。進一步地,該環(huán)狀圖案的內(nèi)圓的直徑例如可以為2mm。作為可選的,該手眼標定板上還可設置用于固定該手眼標定板的通孔,為別為第一通孔1-1和第二通孔1-2。
如圖4和圖5所示,該用于固定手眼標定板的孔包括位于手眼標定板正面的第一通孔1-1和第二通孔1-2,以及位于手眼標定板側(cè)邊的螺紋孔2和定位槽3。其中,如圖5所示,螺紋孔2和定位槽3均相對的設有兩個。
本實施例通過手眼系統(tǒng)EYE-IN-HAND工業(yè)機器人變換兩次姿態(tài),拍攝帶有四個大圓(A、B、C、O)的特征標定板。分別計算工業(yè)相機在兩次拍照點坐標點和特征點在相機世界坐標系下的值。經(jīng)過本專利提出的算法計算出機器人工具坐標系到工業(yè)相機坐標系的變換矩陣T。再重新設定工業(yè)機器人拍照點,通過視覺識別算法獲取工件在相機坐標系下的中心抓取點,經(jīng)過坐標系變換,變換到工業(yè)機器人基坐標系下。機器人根據(jù)此工件的中心點在機器人基坐標下的數(shù)值,引領(lǐng)相應的抓手運動到指定點。
在計算相機坐標系到機器人坐標系的變換關(guān)系式矩陣T時,首先標定出相機的內(nèi)參數(shù),依據(jù)工業(yè)機器人當前姿態(tài)標定出相機的外參數(shù),識別標定板上原點的在相機坐標系的值以及另外三個特征點在相機坐標系的值,機器人變換另一個姿態(tài),分別標定出相應的外參數(shù)和標定板上原點在相機坐標系的值以及另外三個特征點在相機坐標系的值。根據(jù)機器人兩個姿態(tài)值,在加上四個特征點分別在兩個相機坐標系下的坐標值,求變換矩陣T。
本實施例采用非標定針觸棋盤格方式的手眼標定板進行標定,減少采用標定針觸棋盤格方式標定人參與的人為誤差和減少此標定方法操作時間,改善“采用標定針觸棋盤格方式”手眼標定精度低和操作繁瑣等缺陷,提升視覺工業(yè)機器人的智能化,也為工業(yè)機器人設計廠商研究視覺位移和視覺控制打下基礎。本實施例使得只需要工業(yè)機器人的姿態(tài)變換兩次,采集圖像上特征點兩次,經(jīng)過計算就可以得出相機坐標系到機器人工具坐標系的變換關(guān)系式,簡化了標定的工序。
實施例二
圖2為根據(jù)本發(fā)明的另一實施例的機器人的手眼標定方法的流程圖,如圖2所示,該機器人的手眼標定方法在包括上述步驟S100、S200、S300和S400 的基礎上具體還包括:
S500、獲取在相機坐標系下的目標坐標值;
S600、通過變換關(guān)系式計算目標坐標值在機器人坐標系下的坐標。
其中,該方法具體通過以下公式來計算相機坐標系到機器人坐標系的變換關(guān)系式:
T6×T×P1=T61×T×P2 (公式6-1);
其中,T表示待計算的相機坐標系到機器人工具坐標系的變換關(guān)系式矩陣,T6表示機器人處于第一姿態(tài)下的姿態(tài)值,P1表示機器人處于第一姿態(tài)下的坐標點在相機坐標系下的坐標值,T61表示機器人處于第二姿態(tài)下的姿態(tài)值,P2表示機器人處于第二姿態(tài)下的坐標點在相機坐標系下的坐標值。
機器人處于第一姿態(tài)時,棋盤格子的原點O在相機坐標系下的位置為P1,左下角環(huán)形圖案位置為P2,右下角環(huán)形圖案的位置為P3,機器人處于在第二姿態(tài)時,棋盤格子的原點O在相機坐標系下的位置為P4,左下角環(huán)形圖案的位置為P5,右下腳環(huán)形圖案的位置為P6,通過這些已知量,則有:
由工業(yè)機器人運動學X-Y-Z固定角坐標系的表示方法得到:
此時,可設帶求的T為:
其中α,β,γ,Ptx,Pty,Ptz為六個待求的未知量。
由公式6-1可得
T6-1·T6·T·P1=R6-1·T61·T·P3
則有其中r11,r12,r13,r14,r21,r22,r23,r24,r31,r32,r33,r34計算出的常量。
經(jīng)過機器人移動兩次,工業(yè)相機標定兩次,物體特征的同一個點在相機坐標系為兩個不同的坐標值,經(jīng)計算可以得到下面三個等式。
(r11P3z-P1z)cαsβcγ+(r11P3y-P1y)cαsβsγ+r12P3zsαsβcγ+r12P3ysαsβsγ+(r11P3x-P1x)cαcβ+r12P3ycαcγ-r12P3zcαsγ+r12P3xsαcβ+(P1y-r11P3y)sαcγ+(r11P3z-P1z)sαsγ+r13P3zcβcγ+r13P3ycβsγ-r13P3xsβ+(r11-1)Ptx+r12Pty+r13Ptz+r14=0 (等式6-1)
r21P3zcαsβcγ+r21P3ycαsβsγ+(r22P3z-P1z)sαsβcγ+(r22P3y-P1y)sαsβsγ+r21P3xcαcβ+(r22P3y-P1y)cαcγ+(P1z-r22P3z)cαsγ+(r22P3x-P1x)sαcβ-r21P3ysαcγ+r21P3zsαsγ+r23P3zcβcγ+r23P3ycβsγ-r23P3xsβ+r21Ptx+(r22-1)Pty+r23Ptz+r24=0 (等式6-2)
r31P3zcαsβcγ+r31P3ycαsβsγ+r32P3zsαsβcγ+r32P3ysαsβsγ+r31P3xcαcβ+r32P3ycαcγ-r32P3zcαsγ+r32P3xsαcβ-r31P3ysαcγ+r31P3zsαsγ+(r33P3z-P1z)cβcγ+(r33P3y-P1y)cβsγ+(P1x-r33P3x)sβ+r31Ptx+r32Pty+(r33-1)Ptz+r34=0
(等式6-3)
有上面的三個等式可以歸結(jié)出,手眼標定板上的一個特征點在機器人兩次 變換在相機坐標系下能得到兩個坐標值。手眼標定板上的一個特征點可以列出三個等式。目前,上面的等式是通式,可以把每一項的三角函數(shù)的乘積看成未知數(shù),Ptx,Pty,Ptz也看成未知數(shù),則可得到上面的式子為一次十六元線形方程,需要至少六個特征點可以解出。
初步令x=sβ,y=cαcγ,z=cαsγ,w=sαcγ,t=sαsγ,p=cαcβ,q=sαcβ,u=cβcγ,v=cβsγ。其中Ptx,Pty,Ptz也看做未知量,這通用方程可以變換為
k11xy+k12xz+k13xw+k14xt+k15p+k16y+k17z+k18q+k19w+k110t+k111u+k112v+k113x+k114Ptx+k115Pty+k116Ptz+k117=0 (等式6-4)
此方程為12元2次方程,其中kxx為常量,這可以簡化所需的特征點由6個降為4個,一個特征點可以列出(等式6-1)、(等式6-2)、(等式6-3)三個方程。
應用加減消元法消去方程xy,xz,xw,xt的乘積項:
應用加減消元法對(等式6-4)進行化簡會得到通式(等式6-5),一共可以得到12個如通式(等式6-5)一樣的方程。
(o1,2o2,1-o2,2o1,1)p+(o1,3o2,1-o2,3o1,1)y+(o1,4o2,1-o2,4o1,1)z+(o1,5o2,1-o2,5o1,1)q+(o1,6o2,1-o2,6o1,1)w+(o1,7o2,1-o2,7o1,1)t+(o1,8o2,1-o2,8o1,1)u+(o1,9o2,1-o1,9o1,1)v+(o1,10o2,1-o2,10o1,1)x+(o1,11o2,1-o2,11o1,1)Ptx+(o1,12o2,1-o2,12o1,1)Pty+(o1,13o2,1-o2,13o1,1)Ptz+(o1,14o2,1-o2,14o1,1)=0 (等式6-5)
求解實系數(shù)方程組選取全選主元高斯消去法:
由上面的12個一元十二次方程采用全選主元高斯消去法可以求解得出x=a1,y=a2,z=a3,w=a4,t=a5,p=a6,q=a7,u=a8,v=a9,Ptx=a10,Pty=a11,Ptz=a12。
應用三角函數(shù)求取和分析完成對工業(yè)機器人運動學X-Y-Z固定角求?。?/p>
初步令x=sβ,y=cαcγ,z=cαsγ,w=sαcγ,t=sαsγ,p=cαcβ,q=sαcβ,u=cβcγ,v=cβsγ。
由a1=sinβ,a2=cosαcosγ,a3=cosαsinγ,a4=sinαcosγ,a5=sinαsinγ,a6=cosαcosβ,
a7=sinαcosβ,a8=cosβcosγ,a9=cosβsinγ可以把工業(yè)機器人運動學X-Y-Z固定角中的α,β,γ劃分到不同的象限進行計算,再根據(jù)計算的結(jié)果加以取舍。
本實施例詳細的提供了通過兩次姿態(tài)標定四個特征點的計算方法,既簡化了標定的工序,又降低了計算過程中參數(shù)的個數(shù),進而降低計算的難度。
實施例三
圖6為根據(jù)本發(fā)明的一個實施例的機器人的手眼標定裝置的示范性結(jié)構(gòu)框圖,下面結(jié)合圖6來具體描述根據(jù)本發(fā)明的一個實施例的機器人的手眼標定裝 置,如圖6所示,該機器人的手眼標定裝置100具體包括:
點確定模塊10,用于確定用于標定相機參數(shù)的特征點和用于標定機器人坐標系的坐標點;
第一識別模塊20,用于識別機器人處于第一姿態(tài)下的特征點和坐標點在相機坐標系下的坐標值,從而計算相機外參數(shù);
第二識別模塊30,用于識別機器人處于第二姿態(tài)下的特征點和坐標點在相機坐標系下的坐標值,從而計算相機外參數(shù);
關(guān)系計算模塊40,用于根據(jù)兩次識別的坐標值以及特征點和坐標點在機器人坐標系下的坐標值計算相機坐標系到機器人坐標系的變換關(guān)系式。
圖7為根據(jù)本發(fā)明的一個實施例的機器人的手眼標定裝置的示范性結(jié)構(gòu)框圖,如圖7所示,該機器人的手眼標定裝置100具體還包括:
目標獲取模塊50,用于獲取在相機坐標系下的目標坐標值;
坐標計算模塊60,用于通過變換關(guān)系式計算目標坐標值在機器人坐標系下的坐標。
其中,上述關(guān)系計算模塊40通過以下公式計算機器人坐標系到相機坐標系的變換關(guān)系式:
T6×T×P1=T61×T×P2;
其中,T表示待計算的相機坐標系到機器人坐標系的變換關(guān)系式矩陣,T6表示機器人處于第一姿態(tài)下的姿態(tài)值,P1表示機器人處于第一姿態(tài)下的坐標點在相機坐標系下的坐標值,T61表示機器人處于第二姿態(tài)下的姿態(tài)值,P2表示機器人處于第二姿態(tài)下的坐標點在相機坐標系下的坐標值。
進一步地,該機器人的手眼標定裝置100還包括:
圖像識別單元,用于通過對位于特征點的圖像進行圖像識別獲取特征點的坐標值,通過對位于坐標點的圖像進行圖像識別獲取坐標點的坐標值。
本發(fā)明的有益效果在于采用非標定針觸棋盤格方式的手眼標定板進行標定,減少采用標定針觸棋盤格方式標定人參與的人為誤差和減少此標定方法操作時間,改善“采用標定針觸棋盤格方式”手眼標定精度低和操作繁瑣等缺陷,提升視覺工業(yè)機器人的智能化。也為工業(yè)機器人設計廠商研究視覺位移和視覺控制打下基礎。本實施例使得只需要工業(yè)機器人的姿態(tài)變換兩次,采集圖像上特征點兩次,經(jīng)過計算就可以得出相機坐標系到機器人坐標系的變換關(guān)系式, 簡化了標定的工序。
需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。