孫煒 舒帥 李汶霖 劉乃銘 苑河南 劉權利
摘要:本文設計了一種階梯形標定物,這種標定物的標定點坐標更容易獲取,只需線激光對準一次標定物上的標記點,與球形標定法相比操作更加簡單;同時,在階梯型標定物的基礎上,提出了一種線激光傳感器手眼標定算法,該算法利用RASANC(隨機抽樣一致)算法對標定點進行擬合,并利用最小二乘法求解手眼標定矩陣,這種標定算法無需對標定點的坐標進行修正.實驗結果表明,階梯形標定法的精度和穩(wěn)定性均優(yōu)于球形標定法,且該方法操作簡單,可以滿足自動化加工領域的大部分應用.
關鍵詞:手眼標定;線激光傳感器;階梯形標定物;RASANC算法
中圖分類號:TN248
文獻標志碼:A
隨著工業(yè)自動化的普及,生產制造領域對工業(yè)機器人的需求與日俱增,機器人視覺系統(tǒng)是工業(yè)機器人的重要組成部分.在機器人視覺系統(tǒng)中,視覺傳感器有兩種安裝方式:非固定視點方式(eye-in-hand)和固定視點方式(eye-to-hand).非固定視點方式是將視覺傳感器固定在機器人的末端執(zhí)行器上,機器人運動可帶動視覺傳感器多視角掃描被測對象;固定視點方式是將視覺傳感器與機器人分離,這種安裝方式通常會產生視覺死角.本文采用非固定式的安裝方法.在機器人的加工生產中,需要通過視覺傳感器獲取工件的準確位置,以便進行焊接、抓取、涂膠等作業(yè),這時就需要求解視覺傳感器坐標系相對于機器人基坐標系的齊次變換關系,上述過程稱之為機器人的手眼標定.機器人的手眼標定精度最終會影響整個系統(tǒng)的加工作業(yè)精度.
Tsai和Lenz[1]提出了基于視覺傳感器的標定板多視角成像方法,并根據(jù)約束關系建立AX=XB方程求解手眼關系矩陣,但該方法標定精度較低,魯棒性弱;Horaud等人[2]提出了一種簡化版的手眼標定算法,該算法主要優(yōu)點在未知數(shù)個數(shù)不變的前提下,同時解得手眼關系的旋轉矩陣和平移向量,但該方法計算復雜度高,易受離群點影響.Liu[3]等人提出了一種精度高、魯棒性強的手眼標定方法,該方法利用離群點檢測解決了數(shù)據(jù)預處理的問題,顯著提高了手眼標定精度,但該方法迭代次數(shù)高,計算工作量大;Xie[4]等人提出了一種基于標準球面的手眼標定方法,融合離群點檢測和微分計算提高了手眼標定精度,但該方法操作復雜,實驗數(shù)據(jù)龐大;蔡曉潔[5]等人用RASANC算法剔除原始數(shù)據(jù)中的離群點,取得了更穩(wěn)定的匹配結果,但其算法計算復雜度高;蘭浩[6]等人提出了一種基于球形標定物的線掃描相機手眼標定方法,但該方法操作復雜且極易出錯;王英男[7]等人提出了一種適用于線激光器的手眼標定方法,但該方法需要多姿態(tài)掃描固定點,計算工作量大;牛延平[8]深入研究了球形標靶擬合及中心定位算法,但該算法的精度易受實驗環(huán)境和設備的影響;Yang[9]等人提出了一種基于半球面的手眼標定方法,但該方法需要根據(jù)視覺傳感器設定的坐標系對標定點的y值進行判斷,標定容易失敗;Hu[10]等人提出了利用單線激光模塊輔助攝像機標定的算法,但該算法要求采集到的激光輪廓數(shù)據(jù)與機器人的姿態(tài)數(shù)據(jù)必須成非線性關系;Zeng[11]等人提出了一種分步式手眼標定算法,該算法首先通過最小二乘法解得旋轉矩陣,再由旋轉矩陣求得平移向量,但該方法過程繁瑣且計算復雜;Liska等人[12]提出了一種二維激光輪廓掃描相機的手眼標定方法,該方法利用迭代算法分步求解手眼關系矩陣,但未剔除離群點且迭代周期長.
1線激光傳感器手眼標定
1.1球形標定法原理
目前,在線激光傳感器的手眼標定算法中,基于球形標定物的標定算法應用最為廣泛.該方法通過線激光傳感器掃描球形標定物,以標準球的球心作為標定點,控制機器人帶動線激光傳感器多位姿掃描標準球,再根據(jù)球形標定物的幾何特性[6]和勾股定理求取標準球球心在線激光傳感器坐標系下的坐標,計算流程如下:
設標準球的球心P在機器人基坐標下的坐標為Pb(xb,yb,zb),在線激光傳感器坐標系下的坐標為Ps(xs,ys,zs),Ps可通過式(1)轉換到Pb.
式中:bT為機器人工具坐標系相對于機器人基坐標系的齊次變換矩陣,在對機器人進行TCP標定后,bTt可直接從機器人的示教器中讀出,是已知量;tT是線s激光傳感器坐標系相對于機器人工具坐標系的齊次變換矩陣,當線激光傳感器安裝在機器人末端執(zhí)行器上后,tT是固定不變的.手眼標定的本質就是計算s齊次變換矩陣stT.設線激光在標準球上投射形成的激光圓的圓心在線激光傳感器坐標系下的坐標為O(x0,y0,z0),標準球球心在線激光傳感器坐標系下的坐標為Ps(xs,ys,zs),坐標O與坐標Ps的幾何關系如圖1所示.
由圖1可知,激光圓的圓心坐標與標準球的球心坐標存在式(2)的關系:
式中:R為標準球體的半徑,r為激光圓的半徑,ys的正負需要根據(jù)線激光傳感器設定的坐標系方向來判斷.線激光傳感器多次掃描后可構成點集Psi=(Ps1,Ps2,...,Psn),Pbi=(Pb1,Pb2,...,Pbn),i=1,2,3,...,n,n為線激光傳感器掃描的次數(shù).以掃描4次為例,將獲得的Pbi和Psi代入式(1)中,再運用最小二乘法求解,便解得手眼標定的齊次變換矩陣stT.
在實際標定過程中,基于球形標定物的手眼標定算法主要存在以下問題:首先,觸碰標準球可能會導致標準球的位置發(fā)生改變,進而導致標準球的球心在機器人基坐標系下的坐標發(fā)生變化;其次,某些末端執(zhí)行器(例如抓手)無法通過直接觸碰標準球表面的方式進行手眼標定,獲取標準球的球心坐標變得更加困難;同時,基于球形標定物的手眼標定算法至少需要機器人4次以不同的姿態(tài)掃描標準球,且對于每次激光輪廓傳感器采集的數(shù)據(jù),都需要進行圓分割和擬合,計算復雜度高,標定過程復雜;同時,在獲取標準球球心在線激光傳感器坐標系下的坐標值過程中,需要根據(jù)激光傳感器設定的坐標系方向判斷y值的正負,該過程容易出錯,且出錯后將導致標定失敗;此外易受到噪聲等因素的影響,球形標定法的標定結果魯棒性較差,上述因素容易造成標定精度不理想,標定結果不穩(wěn)定.
1.2改進方法
為解決基于球形標定物的線激光傳感器標定算法精度低且標定過程繁瑣的問題,本文設計了一種階梯形標定物,并基于階梯形標定物提出了一種線激光傳感器標定算法
1.2.1標定物設計
針對基于球形標定物的線激光傳感器標定過程繁瑣的問題,本文設計了一種階梯型標定物,階梯形標定物的實物圖如圖2所示.
該階梯形標定物由正方體合金塊切得,其加工精度為a,長、寬、高分別為l、w、h,每層階梯的高度為b,且每級階梯上有兩個標記點.
階梯型標定物的三視圖如圖3所示,圖3(a)、圖3(b)、圖3(c)分別為該標定物的正視圖、俯視圖、左視圖.俯視圖中每個階梯上有兩個標記點,標記點將每層階梯的長度三等分,也可以被稱為三等分點.
1.2.2基于階梯形標定物改進的標定算法
本文提出的標定算法分為如下幾步:1)獲取標定點在線激光傳感器坐標系下的坐標Ps;2)獲取標定點在機器人基坐標系下的坐標Pb;3)利用Pb和Ps建立約束方程,通過最小二乘法求解手眼關系矩陣.
本文提出的標定算法流程如圖4所示.
1)獲取標定點在線激光傳感器坐標系下的坐標Ps
本文選取階梯形標定物的角點作為標定點,這些角點構成實驗標定點集;為獲得標定點在線激光傳感器坐標系下的坐標Ps,需要機器人帶動線激光傳感器運動,并使線激光對齊階梯型標定物上同側的每一個標記點,如圖5所示;再利用線激光傳感器掃描階梯形標定物并獲取階梯的輪廓數(shù)據(jù),提取階梯輪廓數(shù)據(jù)的每個標定點Psi(xsi,0,zsi),i=1,2,3,...,n,n為標定點的總數(shù);本文使用前輪廓的角點作為標定點集Pnew,如圖6所示.
由于球形標定法需要對球心坐標的y值進行修正,若未修正,則會導致手眼標定精度較低.為解決這一問題,本文將線激光傳感器的掃描平面設置為XOZ平面,則標定點在線激光傳感器坐標系下的坐標可表示為(xs,0,zs),通過這種方法可以不需要對標定點的y值進行修正.
獲取標定點集Pnew的具體計算方法如下:(a)設階梯輪廓數(shù)據(jù)共有k個標定點,設第i個標定點在線激光傳感器坐標系下的坐標為(xi,0,zi),i=1,2,3,...,k,k為輪廓數(shù)據(jù)中標定點的總數(shù);對每一個點(xi,0,zi)做式(3)的運算,求取di,式(3)中sinθ,cosθ計算方式分別如式(4)、式(5)所示:
(b)取di值最大時對應的點,若大于設定的閾值,則判斷該點為角點,并保存該點,設該點的索引
為l,則以點(xl,0,zl)為分界,將該輪廓分割為前后兩個子集合,繼續(xù)遞歸搜索前輪廓的角點直至檢測到所有角點,這些角點構成標定點集Pnew;否則,判定該輪廓為直線,不存在角點,結束標定點搜索.
(c)在獲得階梯形標定物輪廓的標定點集后,利用RASANC算法[13]對標定點集Pnew進行直線擬合,擬合得到的直線方程為ax+bz+c=0,并根據(jù)直線方程修正離群的標定點.具體方法如下:計算標定點集P中每個點到擬合直線的距離d,若d大于用戶設置的閾值Δs,則認為該點為離群點,將該點的x坐標代入擬合直線中,對該點進行修正,用修正后的點替代離群點;否則,不存在離群點,無需對特征點進行修正.
經過上述流程,可以得到標定點在線激光傳感器坐標系下的坐標P(x,0,z),i=1,2,3,...,n,n為P中標定點的總數(shù).
2)獲取標定點在機器人基坐標系下的坐標P。
為獲得工具坐標系相對于機器人基坐標系的齊次變換矩陣T,機器人需要進行TCP標定;本文使用的階梯形標定物,其加工精度為a=0.1mm,長、寬、高分別為l=9cm、w=9cm、h=9cm,每級階梯的高度b=1cm;由于階梯形標定物的尺寸已知且?guī)缀翁匦悦黠@,為更方便地獲取標定點在機器人基坐標系下的坐標P,機器人以該階梯形標定物標定用戶坐標系,如圖7所示.
由圖7可知,本文以點o建立o-xyz用戶坐標系,則根據(jù)標定的尺寸獲取每個標定點在用戶坐標系的坐標P=(x,y,z),i=1,2,3,...,n,n為標定點總uiuiuiui數(shù),如點P(0,3,0).再通過P=bT?P可得該特征biuui點在機器人基坐標系下的坐標Pbi=(xbi,ybi,zbi),i=
1,2,3,...,n,n為標定點總數(shù).其中用戶坐標系相對于機器人基坐標系的齊次變換矩陣ubT可直接從機器人的示教器中讀出,是已知量.
3)求解手眼關系的齊次變換矩陣
設階梯形標定物上某一標定點P在線激光傳感器坐標系下的坐標為Ps(xs,0,zs),在機器人基坐標系下的坐標為Pb(xb,yb,zb),Ps通過式(6)轉換為Pb.
式中:T為機器人工具坐標系相對于機器人基坐標系的齊次變換矩陣,機器人進行TCP標定后,T可直接從示教器中讀出,是已知量;T是線激光傳感器坐標系相對于機器人工具坐標系的齊次變換矩陣,即需要求解的手眼標定矩陣將式(6)中的T展開為式(7):
式中:R3x3為T的旋轉矩陣,t3×1為T的平移向量,共有12個未知量,即T11,T12,T13,T21,T22,T23,T31,T32,33,x,y,2.
將式(6)展開為式(8):
式中:btR為tbT的旋轉矩陣,btt為tbT的平移向量;機器人進行TCP標定后,bT中的數(shù)據(jù)全部為已知量.由式t(8)知,標定點在線激光傳感器坐標系的坐標為(x,0,z,不需要根據(jù)線激光傳感器設定的坐標系對y坐標值進行修正,該方法巧妙地彌補了球形標定法的不足,提高了實驗結果的精度.
式(8)左乘tbT的逆矩陣tbT-1,可得到(9):
式(9)展開可得式(10):
將式(10)展開可得式(11):
根據(jù)式(11)可知,該方程組存在9個未知量,即r11,r13,r21,r23,r31,r33,x,y,z,而(Pb,Ps)構成的一組點可以確定三個約束方程,則解出式(11)只需要三組點;將式(11)轉化為式(12):
若特征點集Pnew中存在n個點,則將(Pbi,Psi)構成的n組點代入式(12)可得式(13):
式(13)中,當n>3時,構成的矩陣方程不再是方陣,不存在解析解,此時利用最小二乘法求解矩陣方程的近似解,將式(13)簡寫為式(14):
通過式(15)可解得9個未知量,即r11,r13,r21,r23,r31,r33,x,y,z,剩下的未知量r12,r22,r32可通過向量叉乘計算得到,如式(16)所示:
(r12,r22,r32)=(r11,r21,r31)×(r13,r23,r33)(16)
至此,解得手眼矩陣tsT中全部的未知量,完成手眼標定.
本節(jié)設計了一種階梯形標定物,并提出了一種線激光傳感器標定算法,該算法只需掃描一次標定物,提取階梯輪廓數(shù)據(jù)中的每個標定點,并利用RASANC算法對標定點進行直線擬合,修正離群點;再通過用戶坐標系獲取標定點在機器人基坐標系下的坐標,最后利用最小二乘法解出手眼標定矩陣.
與球形標定物相比,本文僅需掃描一次階梯形標定物就可以快速計算出手眼標定矩陣,且無需對線激光傳感器所得的輪廓數(shù)據(jù)進行區(qū)域分割、圓形擬合等操作,計算量大幅度減少;同時,也不需要對標定點的y坐標額外計算,提高了標定結果的精度.
2實驗與分析2.1實驗條件
本文實驗平臺的硬件環(huán)境和軟件環(huán)境如表1所示.本文搭建的實驗平臺如圖8所示.利用球形標定法求解手眼標定矩陣后,控制機器人帶動線激光傳感器多位置、多姿態(tài)掃描實驗平臺上的任意點,同時記錄該點在機器人基坐標系下的坐標P,在線real_base激光傳感器坐標系下的坐標Ptest_sensor,則Preal_base,P構成實驗數(shù)據(jù)點集;再利用階梯形標定法求解手眼標定矩陣,重復上述步驟.
線激光傳感器固定在機器人末端執(zhí)行器上,按照上述實驗步驟進行標定實驗,基于球形標定物的標定實驗如圖9所示,基于階梯形標定物的標定實驗如圖10所示.
2.2精度分析
在解得手眼標定矩陣后,控制機器人帶動線激光傳感器掃描實驗平臺上的多個任意點,同時記錄每一個點在機器人基坐標系下的實際坐標Preal_base_i在線激光傳感器坐標系下的坐標Ptest_sensor_i,i=1,2,3,...,n,n為選取的點總數(shù),(Preal_base_i,Ptest_sensor_i)構成實驗數(shù)據(jù)點集;再結合已求得的手眼標定矩陣,將傳感器坐標系下的坐標Ptest_sensor_i代入式(6)計算該點在機器人基坐標系的理論坐標Ptest_base_i,并計算出每一組點的Ptest_base_i與Preal_base_i的差值,利用差值評測球形標定法和階梯形標定法的實驗精度.
表2左側為伯朗特機器人通過球形標定法解得手眼矩陣后,選取實驗平臺上任意5點作為實驗點的實驗結果,并在實驗過程中標記選取的5個點;表2右側為伯朗特機器人通過階梯形標定法解得手眼標定矩陣后,帶動線激光傳感器掃描上述5個標記點作為實驗點的實驗結果.
由表3可知,球形標定法的最大誤差幾乎是階梯形標定法的兩倍,同時,球形標定法的平均誤差穩(wěn)定在0.25mm左右,而階梯形標定法的平均誤差穩(wěn)定在0.15mm左右,階梯形標定法的精度優(yōu)于球形標定法,且可以滿足工業(yè)生產要求.
2.3穩(wěn)定性分析
在解得手眼標定矩陣后,控制機器人帶動線激光傳感器多位姿掃描實驗平臺上任一固定點P,獲取該點在線激光傳感器坐標系下的坐標Ptest_sensor_i,i=1,2,3,...,n,n為掃描總次數(shù),再控制機器人末端執(zhí)行器觸碰該固定點,并記錄點P在機器人基坐標系下的實際坐標Preal_base,(Preal_base,Ptest_sensor_i)構成實驗數(shù)據(jù)點集;再結合已求得的手眼標定矩陣,將線激光傳感器坐標系下的坐標Ptest_sensor_i代入式(6)計算該點在機器人基坐標系的理論坐標Ptest_base_i,并計算出每一組點Ptest_base_i與Preal_base的差值;為了更直觀地評估標定算法的穩(wěn)定性,本文利用差值的3倍標準差3δ評測球形標定法和階梯形標定法的穩(wěn)定性.3δ越小,說明穩(wěn)定性越強,反之,說明穩(wěn)定性越差.本節(jié)對任一固定點P多位姿掃描5次分析穩(wěn)定性.
伯朗特手眼標定穩(wěn)定性分析如表4所示.
表4左側為伯朗特機器人通過球形標定法解得手眼標定矩陣后,選取點作為實驗固定點的實驗結果,實驗結果表明球形標定法的單坐標軸最大3倍標準差在0.424mm左右;表4右側為伯朗特機器人通過階梯形標定法解得手眼標定矩陣后,選取點P作為實驗固定點的實驗結果,實驗結果表明階梯形標定法的單坐標軸最大3倍標準差在0.15mm左右.階梯形標定法的穩(wěn)定性優(yōu)于球形標定法,足以滿足許多復雜的工業(yè)現(xiàn)場要求.
2.4算法復雜度分析
由實驗數(shù)據(jù)可知,本文的算法精度高于傳統(tǒng)的球形標定法;此外對比球形標定算法和本文算法的計算用時以表征算法的復雜度,用時少,說明算法復雜度低;反之,算法復雜度高.兩種算法的軟件實驗流程分別如圖11和圖12所示.
在同等情況下,對兩種算法各取5組點進行5次0.25實驗,并計算5次實驗的平均耗時Tˉ,統(tǒng)計結果如表5所示
由表5可知,傳統(tǒng)的球形標定法平均耗時在2.5s左右,而本文提出的算法平均耗時在0.474s左右,該方法顯著提高了算法速度,這對提高生產效率具有重大意義.
2.5標定點集Pnew數(shù)量分析
從1.2.2節(jié)可知,本文提出的標定算法求解手眼矩陣只需要3組點,但精度一般較低;為保證測量精度和可靠性,本文采用數(shù)量不同n的組點,分別利用最小二乘法解得手眼矩陣;在解得手眼矩陣后,再進行精度分析和穩(wěn)定性分析,尋找最優(yōu)的組點數(shù)量,如圖13所示.
由圖13和圖14可知,組點數(shù)量n=4或5時,其精度大小和穩(wěn)定性基本為一恒值;當n>5時,實驗結果的精度和穩(wěn)定性基本不變,但這樣會增加實操的復雜性;若無特殊需求,n=4或5即可滿足實際工程需要,且性能較好.
3結論
針對基于球形標定物的手眼標定算法計算復雜度高,標定點坐標難以獲取且極易出錯的問題,本文設計了一種階梯形標定物,并基于階梯形標定物提出了一種手眼標定算法,該算法只需要線激光傳感器掃描一次標定物即可獲取標定點在線激光傳感器坐標系下的坐標,并使用RANSAC算法擬合標定點,再根據(jù)這些標定點在機器人基坐標系下的坐標構建手眼方程.階梯形標定方法求解過程簡單,便于實際應用.實驗結果表明,階梯形標定物的精度和穩(wěn)定性均優(yōu)于球形標定法,階梯形標定法的標定精度在0.1mm左右,可以滿足工業(yè)上的大部分應用.
參考文獻
[1] TSAI R Y,LENZ R K.A new technique for fully autonomous and efficient 3D robotics hand/eye calibration[J]. IEEE Transactions on Robotics and Automation,1989,5(3):345-358.
[2]HORAUD R,DORNAIKA F.Hand-eye calibration[J].The In?ternational Journal of Robotics Research,1995,14(3):195-210.
[3]LIU J,WU J,LI A X. Robust and accurate hand-eye calibration method based on schur matric decomposition. Sensors(Basel). 2019 Oct 16;19(20):4490. doi: 10.3390/s19204490. PMID: 31623249;PMCID: PMC6832585.
[4]XIE H,PANG C T,LI W L,et al.Hand-eye calibration and its accuracy analysis in robotic grinding[C]//2015 IEEE International Conference on Automation Science and Engineering(CASE). August 24-28,2015,Gothenburg,Sweden:IEEE,2015:862-867.
[5]蔡曉潔,婁小平,李偉仙.局部二維特征點馬氏距離匹配方法[J].工具技術,2017,51(6):117-121.
[6]蘭浩,張曦,尚繼輝.一種基于線掃描相機的手眼標定技術[J].計量與測試技術,2019,46(5):7-10.
[7]王英男,戴曙光.線激光器的手眼標定方法[J].電子科技,2015,28(7):183-185.
[8]牛延平.三維激光掃描球形標靶擬合及中心定位[J].電子世界,2020(1):9-12.
[9] YANG L X,CAO Q X,LIN M J,et al.Robotic hand-eye calibra?tion with depth camera:a sphere model approach[C]//2018 4th In?ternational Conference on Control,Automation and Robotics (ICCAR).April 20-23,2018,Auckland,New Zealand:IEEE, 2 0 1 8 :1 0 4 - 1 1 0 .
[10] HU J S,CHANG Y J.Automatic calibration of hand–eye–work?space and camera using hand-mounted line laser[J]. IEEE/ ASME Transactions on Mechatronics,2013,18(6):1778-1786.
[11] ZENG J,CAO G Z,LI W B,et al.An algorithm of hand-eye cali?bration for arc welding robot[C]//2019 16th International Confer?ence on Ubiquitous Robots(UR).June 24-27,2019,Jeju,Korea ( S o u t h ):I E E E ,2 0 1 9 :1 - 6 .
[12] LISKA J,VANICEK O,CHALUS M. Hand-eye calibration of a laser profile scanner in robotic welding[C]//2018 IEEE/ASME In?ternational Conference on Advanced Intelligent Mechatronics (AIM).July 9-12,2018,Auckland,New Zealand:IEEE,2018: 316-321.
[13]吳晗,李巍,董明利.基于RANSAC的便攜式激光掃描測量臂手眼標定方法[J].計算機工程與應用,2017,53(23):256-260.