吳光宇,胡之瀚,葉霆崴
(蘇州北美國際高級中學,蘇州 215104)
大型產(chǎn)品,例如導(dǎo)彈、衛(wèi)星、發(fā)動機等作業(yè)安裝對接質(zhì)量在一定程度上影響了其安全性和穩(wěn)定性,國內(nèi)的對接作業(yè)基本采用V型定位支撐的人工裝配對接,其安全和質(zhì)量主要依靠安裝人員的經(jīng)驗以及技能水平,安裝精度以及穩(wěn)定性無法保證,傳統(tǒng)的方法已經(jīng)無法滿足目前快速發(fā)展的自動化生產(chǎn)行業(yè)需求[1~3]。
目前,有些學者利用多機器人系統(tǒng)或是力反饋進行對接定位,例如,北京衛(wèi)星環(huán)境工程研究所的代衛(wèi)兵等[4],基于并聯(lián)調(diào)姿平臺實現(xiàn)力反饋下的柔性對接,北京航空制造研究所的杜兆才等[5],提出了基于多臺三坐標直角機器人協(xié)調(diào)操作對接系統(tǒng),這種定位裝置承載能力大、適應(yīng)性強,但控制技術(shù)難度大、精度相對較低。上述對接裝置都需要人工參與,效率較低,無法滿足自動化的生成應(yīng)用。
圓孔一般被認為是裝配過程中的基準,為了達到自動化生產(chǎn)應(yīng)用,有一部分學者利用機器人視覺伺服引導(dǎo)裝配的技術(shù),通過檢測安裝孔位或輔助銷釘進行對接裝配,目前常用的方法是使用Hough圓檢測方法[6],該方法計算效率低且精度不高。隨后出現(xiàn)了Hough圓的改進算法,但是仍然未能達到較高的精度,而且對邊緣的依賴性比較大。還有一部分學者使用聚類的方法進行橢圓提取,該方法將所有的橢圓按中心位置進行聚類[7,8],將橢圓間中心距在一定范圍內(nèi)的橢圓歸為一類,從而實現(xiàn)圓的檢測,但是該方法使用了聚類,聚類使得算法效率降低,不能應(yīng)用于自動化生產(chǎn)中;沈夏炯等[9],利用連通區(qū)域標記算法實現(xiàn)了圓的檢測,雖然克服了Hough圓檢測缺點,但是當圖像采集得到的圓形外輪廓效果不佳時,直接影響下一步的處理結(jié)果。中科院沈陽自動化研究所的李展等[10],利用線結(jié)構(gòu)光對空間目標進行測量,在檢測過程中不僅使用圓形帶有凹槽的對接環(huán),限制了該方法的使用,而且使用激光跟蹤儀等裝置,測量效率較低。
實際生產(chǎn)作業(yè)中工況較為復(fù)雜,圓形零部件可能存在邊緣磨損較為嚴重的情況,磨損的邊緣對識別造成了極大的干擾。利用邊緣進行識別,勢必無法進行檢測,導(dǎo)致自動化對接誤差較大,因此,本文針對大型部件對接裝配過程,提出了一種在缺乏邊緣信息情況下的圓中心定位方法,為后續(xù)的對接提供基礎(chǔ)。
對接裝置結(jié)構(gòu)如圖1所示,該裝置主要由一個機器人、機器人控制器以及雙目視覺傳感器和工控機等單元組成。
圖1 裝置結(jié)構(gòu)圖
具體工作過程為:預(yù)先對視覺傳感器以及機器人進行標定,CCD相機同步采集被測圖像,圖像處理單元對采集的缺乏邊緣信息的圖像圓中心位置進行檢測,利用極線約束對圓中心進行匹配,重建圓形區(qū)域的中心三維坐標,然后將圓中心在相機坐標系下的三維坐標轉(zhuǎn)換到機器人坐標系下,引導(dǎo)機器人進行對接。
針對大型產(chǎn)品在對接過程中工況復(fù)雜以及實時性要求較高的需求,本文構(gòu)建了雙目視覺引導(dǎo)的機器人對接方法,如圖2所示。
圖2 對接裝置流程圖
為了得到圓形區(qū)域中心的三維信息,需要對雙目傳感器進行標定,標定相機的內(nèi)參數(shù)矩陣以及相機坐標系之間的轉(zhuǎn)換關(guān)系。同時為了實現(xiàn)機械臂輔助對接,需要對相機坐標系和法蘭坐標系之間的位置關(guān)系進行標定,即手眼標定。
為了方便操作,在手眼標定的同時進行雙目視覺標定,借助于最小二乘法,得到雙目視覺坐標系轉(zhuǎn)換矩陣以及各自的內(nèi)參矩陣[11]以及相機坐標系和法蘭坐標系之間的轉(zhuǎn)換矩陣[12]。手眼標定的過程如圖3所示。
圖3 機器人手眼標定
2.2.1 生成高斯差分圖像
為了使得圖像在尺度變化下具有不變性,需要將采集到的原始圖像在所有尺度下做到尺度無關(guān),因此利用高斯金字塔生成高斯差分圖像,具體步驟如下:
1)利用高斯卷積核和圖像進行卷積建立圖像尺度空間,定義圖像尺度空間為L(x,y,σ):
其中,I(x,y)為原始圖像,G(x,y,σ)是均方差為σ的高斯核函數(shù),即,?表示卷積操作。
2)利用不同尺度對圖像進行高斯卷積,形成高斯金字塔的第一組圖像,對第一組圖像中的倒數(shù)第三幅圖像進行降采樣形成新圖像中金字塔第一層,再利用不同的尺度對新圖像進行高斯卷積,形成高斯金字塔的第二組圖像,不斷重復(fù)以上操作,建立由多組尺度空間圖像構(gòu)成的高斯金字塔[13]。如圖4所示。
圖4 高斯金字塔
3)利用相鄰尺度的高斯金字塔圖像相減得到高斯差分圖像,高斯差分圖像可以表示為:
在選取金字塔組數(shù)時,竟可能選擇高的組數(shù),因為組數(shù)越高,查找目標所需的時間越短,另一方面,為了保證目標圖像的結(jié)構(gòu)清晰,本文中金字塔的組數(shù)設(shè)置為level=5。
2.2.2 尺度空間極值區(qū)域(SSER)檢測
最大極值穩(wěn)定區(qū)域(MSERs)指的區(qū)域的面積不會隨著灰度值得微小變化而產(chǎn)生差異,在一定范圍內(nèi)是相對穩(wěn)定的,并且MSERs區(qū)域還具有仿射不變性。
因此本文結(jié)合圖像差分高斯金字塔和最大穩(wěn)定極值區(qū)域方法,在圖像差分高斯金字塔中提取尺度不變極值區(qū)域,將在圖像的高斯差分尺度空間相鄰尺度上都具有最大極值穩(wěn)定性的區(qū)域被認為是尺度空間極值區(qū)域Si,定義為:
其中,i是高斯差分圖像Di的級數(shù),i-1,i+1是Di相鄰尺度的級數(shù)。
因此,尺度空間極值區(qū)域具有仿射不變性和尺度不變性[14]。
2.2.3 濾出SSER嵌套區(qū)域
由于存在重疊的相似區(qū)域,因此需要對相似區(qū)域進行精選,最終得到精確的SSER區(qū)域,如下圖所示,精選原則如式(2)所示:
其中,R是濾除嵌套之后的區(qū)域,Ri,Rj分別是SSER的第i和第j個區(qū)域。
橢圓可以更好的表達一個區(qū)域的各種信息,因此為了便于區(qū)域的特征描述,需要將檢測到的SSER區(qū)域進行橢圓擬合,得到尺度不變極值穩(wěn)定區(qū)域的重心,即橢圓中心。
2.2.4 匹配
極線約束可以將匹配點從整副圖像尋找壓縮到一條直線上尋找,極大縮小了尋找范圍。記左圖上的圓中心點p1,利用已知的兩相機之間的內(nèi)參數(shù)以及坐標系之間的轉(zhuǎn)換矩陣,可以求得p1點在右圖上的極線方程,p1所對應(yīng)的點p2即在該極線上。因此需要引入其他約束來確定p2。若該極線上在右圖上只通過一個圓心點,可以直接獲得對應(yīng)點的位置。若該極線在右圖上通過多個圓中心。則需要利用其他方法進行選擇。本文借助于SIFT描述符[15]進行精細匹配,即可得到唯一的圖像匹配點。
為了驗證提出方法的有效性和正確性,圖1為裝置結(jié)構(gòu)圖,該系統(tǒng)選用ABB機器人,機器人末端安裝有雙目視覺傳感器用于識別實測量,夾具用于部件之間對接。采用basler品牌300w像素相機,配有Computar公司的8mm鏡頭,相機幀率為10fps,用于對目標進行定位。所有的仿真實驗均在Windows 7操作系統(tǒng)下采用Visual Studio 2008軟件實現(xiàn)。
左相機的內(nèi)參矩陣相機內(nèi)參矩陣KCL和畸變系數(shù)矩陣fCL:
右相機的內(nèi)參矩陣相機內(nèi)參矩陣KCR和畸變系數(shù)矩陣fCR:
以左相機坐標系為相機基準坐標系,右相機轉(zhuǎn)到左相機的旋轉(zhuǎn)向量R和平移向量T為:
手眼標定的矩陣D為:
對該結(jié)果進行重投影,利用標定板兩個點之間的距離為固定值作為已知量,如表1所示,表中的數(shù)據(jù)中列指的是標定板中的7列,利用雙目視覺得到標定板上圓心標志點的三維點坐標,并且計算兩兩點的空間距離,并且計算空間距離誤差。從表中可以看出雙目視覺精度大于0.02mm。
表1 標定精度
圖8 顯示待對接產(chǎn)品A 面圓形區(qū)域中心檢測結(jié)果圖。
圖8 待對接產(chǎn)品A面圓形區(qū)域檢測
其中,圖8(a)和圖8(b)分別為左相機和右相機的檢測結(jié)果圖,圖8(c)和圖8(d)以及圖8(e)和圖8(f)同理,只是移動了機器人末端的位置使得圖像的角度不一樣和亮度不一樣,從圖中可以看出,該方法具有尺度不變性以及旋轉(zhuǎn)不變性,在圓邊緣不明顯或是缺乏的情況下,仍然能夠精確的確定圓區(qū)域的中心位置。
表2為圖8在圓形區(qū)域檢測誤差,X,Y,Z分別是圖8(a)和圖8(b)在左相機重建出的四個圓中心三維坐標值,通過計算相鄰兩個圓中心之間的測量值和三坐標測量的距離進行比對,得到圓中心的檢測誤差,測量精度為,圓個數(shù)為m+1,εm為相鄰兩圓形區(qū)域中心的檢測誤差,由表2 可以看出,誤差精度為0.117637mm。其中,使用的三坐標測量儀的測量精度為(1.6+L/333)um。
表2 待對接產(chǎn)品A面圓形區(qū)域檢測誤差(mm)
圖9顯示待對接產(chǎn)品B面圓形區(qū)域中心檢測結(jié)果圖。
圖9 待對接產(chǎn)品B面圓形區(qū)域檢測
表3 待對接產(chǎn)品B面圓形區(qū)域中心檢測誤差(mm)
其中,圖9(a)和圖9(b)分別為左相機和右相機的檢測結(jié)果圖,圖9(c)和圖9(d)以及圖9(e)和圖9(f)同理,只是移動了機器人末端的位置使得圖像的角度不一樣和亮度不一樣,從圖中可以看出,該方法具有尺度不變性以及旋轉(zhuǎn)不變性,在圓邊緣不明顯或是缺乏的情況下,仍然能夠精確的確定圓形區(qū)域的中心位置。
本文針對缺乏邊緣信息無法進行圓中心定位的問題,研究了一種尺度不變極值穩(wěn)定區(qū)域檢測方法,該算法在檢測穩(wěn)定區(qū)域時不需要考慮區(qū)域邊界信息,利用在高斯差分圖像上進行最大穩(wěn)定極值區(qū)域檢測得到具有尺度不變的區(qū)域特征信息,當圖像在尺度變化大的情況下,也能對圓中心實現(xiàn)三維重建,同時借助最大穩(wěn)定極值區(qū)域的仿射不變性,該區(qū)域也具有仿射不變性。通過實驗論證,該方法的魯棒性好,效率高,可以應(yīng)用于自動化生產(chǎn)中。對于視覺檢測存在的誤差,為了避免在對接過程中發(fā)生碰撞,在視覺引導(dǎo)機器人到達目的后,采用現(xiàn)有比較成熟的研究成果借助于力反饋控制將大型產(chǎn)品部件準確定位,保證對接受力在安全范圍內(nèi)。
在后續(xù)的工作中,需進一步分析當圓形區(qū)域缺失較大的情況下如何進圓中心定位問題,增強算法的普適性。