摘要:近年來,機器人自動化領域越來越多地應用3D視覺技術對目標物體進行定位。本文主要研究3D視覺技術在機器人抓取作業中的應用,總結了3D視覺技術在識別、定位物體時面臨的挑戰,給出了抓取作業機器人3D視覺系統的設計方法,歸納了現有的3D表面成像方法和視覺處理算法,后給出一個結合3D視覺技術對白色抽屜紙盒進行抓取分揀的實際應用案例。
關鍵詞:3D視覺;工業機器人;抓取
1 引言
隨著經濟的發展與科技的進步,人們越來越多地將自動化技術應用到生產與生活中,與此同時,也對自動化技術提出了更高的要求。近十年來,工業機器人的普及使得機器人自動化得到了更廣泛的應用和關注。很多機器人系統已經集成了視覺系統,利用機器視覺技術實現檢測、識別、定位等功能,為后續的機器人運動提供必要的信息。
在許多自動化應用場合中,如自動化分揀、裝配、拆垛、碼垛、上料等過程中,工業機器人經常被用來進行抓取作業。要完成抓取操作,機器人系統可能需要完成目標感知、運動規劃、抓取規劃等一系列任務。視覺系統在機器人抓取作業中的作用就是識別、定位目標物體,為機器人提供目標物體的類型與位姿信息。其中,位姿估計的精度關系到抓取的成功率與精度,是非常重要的技術參數。
3D視覺技術作為新興的技術領域還存在很多亟待解決的問題,但2D視覺已不能滿足空間抓取的應用要求。與2D視覺相比,3D視覺技術的優點有:
(1)3D視覺可以提供目標物體6DOF的位姿數據,而2D視覺僅能提供平面內3DOF的位姿數據;
(2)3D視覺能給出目標物體的深度信息或物體表面的點云信息。
但與此同時,3D視覺技術在機器人抓取應用中仍然面臨許多挑戰:
(1)點云空洞:用3D相機捕捉反光、透明、網狀物體表面的點云信息,經常會出現數據的丟失,丟失的點云數據形成了點云空洞;
(2)點云粘連:多個物體雜亂堆放或者兩個物體表面靠近擺放時,不同物體表面的點云會粘連在一起,這就涉及到如何穩定、準確地進行點云分割;
(3)點云密度不一致:物體表面與3D相機之間的相對位姿、物體表面的顏色均會影響點云的密度,使得目標場景的點云密度不一致,這在一定程度上給點云處理算法帶來了困難;
(4)視野局限:有限的相機視角、遮擋和陰影效果,都會阻礙3D相機獲得抓取目標的表面全貌,進而阻礙對抓取目標的識別;
(5)速度:3D視覺的原理要求其處理的數據量較大。3D相機的分辨率越高,所采集的點云質量越好,越能表征物體表面更細微的幾何特征,但相應地帶來的數據量就越大。為了適應實際應用需要,如何提高3D相機獲取目標場景點云的速度、點云處理算法的速度仍是需要研究的課題。
此外,相機傳感器的噪聲,點云分割噪聲,光照條件的變化,物體的顏色等諸多因素都是3D視覺技術所面臨的問題。
本文主要研究3D視覺技術在機器人抓取作業中的應用。文章第二部分介紹抓取作業機器人3D視覺系統的設計,包括視覺設備的選擇、與機械設計的關系;第三部分介紹幾種3D表面成像技術;第四部分介紹3D視覺處理算法,包括點云分割、3D匹配等;第五部分給出一個實際應用案例:工業機器人結合3D視覺分揀白色抽屜紙盒;第六部分為總結。
2 抓取作業機器人3D視覺系統的設計
2.1 3D相機的選擇
圖1 3D相機的選擇
選擇3D相機時需要考慮相機與目標場景之間的距離以及目標場景的尺寸。目標場景合適位于相機的中間視場附近,不超出近視場和遠視場的邊界,即目標場景的高度不超出測量范圍。
3D相機的成像精度需要滿足應用場景的抓取精度要求。通常,工作距離越大,3D相機的視場越大,但成像的精度越低。此外,相機的分辨率、點云的獲取速度也是評價3D成像系統的重要指標。其中,相機的分辨率決定了點云數據量的大小及其對物體細節的表征程度,關系到點云處理算法的設計。點云的獲取時間加上點云處理算法的執行時間必須滿足抓取應用的節拍要求。
此外,相機的性價比、系統的可靠性也是選擇相機時需要考量的因素。
2.2 光源、遮光板的選擇
為了避免外界環境光對視覺系統的影響、保證視覺系統的穩定性,有時需要外加光源和遮光板。外加的光源不能影響3D相機成像。
2.3 視覺系統對機械設計的要求
當相機固定安裝時,機器人需要手持標定板做手眼標定。為了方便進行手眼標定,可設計專門的Tool抓持標定板,留出足夠的空間以保證標定板在手眼標定過程中不會與機器人發生干涉。相機固定安裝的優點是,對Tool位姿進行變更后,無需再做機器人手眼標定。
當機器人手持相機拍照時,一般要求抓取作業Tool(夾具、吸盤)不遮擋相機的視野。
3 3D表面成像技術
3D表面成像/重構/測量技術,可用于測量物體表面上點的(x,y,z)坐標,測量結果可表示為深度圖。除了測量三維坐標,3D表面成像系統也可輸出物體表面空間點的其他光學特征值,如反射率、顏色等。這時的點云測量結果可一般表示為,其中,fi為一向量,代表第i個點的光學特征值。如常見的RGB-D(紅綠藍-深度)測量數據可表示為。
目前,常見的3D表面成像技術有:雙目立體視覺(binocular stereo vision),多目立體視覺(multi-view stereo vision),線結構光三角測量(laser triangulation with sheet of light),編碼結構光三角測量(encoded structured light),飛行時間深度測量(time of flight),聚焦深度測量(depthfrom focus),光度立體視覺(photometric stereovision)。
3.1 雙目立體視覺(binocular stereo vision)
使用兩個相機拍攝同一個目標場景,通過匹配場景內同一物理目標點投影到兩幅圖像中的像點(同源點),測量得到該點的空間三維坐標。雙目立體視覺的主要任務是雙目系統的標定和同源點的匹配。其中,同源點的匹配(立體匹配,stereo matching)方法有相關法、多重網格法和多掃描線法。這些方法都依賴于目標場景的紋理、結構等特征,因此若能主動制造特征,如投射隨機分布的散斑圖案、編碼結構光等圖案,則能變被動為主動,通過增強匹配的魯棒性,使方法具有普適性。
圖2 雙目立體視覺原理示意圖
3.2 線結構光三角測量(laser triangulation with sheet of light)
線激光器投射出的光平面照射到物體表面上會形成表征其輪廓的亮線,這些窄亮的細線通常被稱為光條。線結構光三角測量的基本思想是:通過相機拍攝線結構光發射器所照射的目標物體,得到物體表面上光條中心位置的一系列3D坐標。因此,目標物體與線結構光成像系統之間做相對運動并在多個不同位置進行拍照測量,才能獲得目標物體完整的3D表面輪廓。
線結構光三角測量的主要任務是:標定相機及其與光平面之間的相對位姿,標定目標物體與成像系統之間的相對運動,提取光條的中心點。
圖3 線結構光三角測量原理示意圖
3.3 編碼結構光三角測量(encoded structured light)
編碼結構光激光器向目標物體投射經過特殊設計的編碼圖案,基于不同的圖案編碼方法,相機可能需要拍攝一幅或多幅被激光器照射的目標物體表面圖像,通過對比圖像上經過物體表面調制的編碼光圖案與未調制的編碼光圖案可以測量獲得目標表面的3D形貌。與線結構光三角測量相比,只要編碼光能夠照射到整個物體表面,物體與成像系統之間無需做相對運動即可獲取物體表面的幾何全貌。
圖4 編碼結構光原理示意圖
3.4 飛行時間深度測量(time of flight)
傳感器向目標物體發射經過調制的近紅外光脈沖,然后再接收從物體表面反射回來的光脈沖,通過計算返回脈沖與發射脈沖之間的相位差即可測出目標物體的深度。
3.5 聚焦深度測量(depth from focus)
由于相機的景深有限,在某物距下,目標物體表面上只有一部分點能夠在成像平面上清晰成像。聚焦深度測量利用這一原理,通過拍攝不同物距下同一物體的多幅圖像,提取圖像上清晰成像的像點位置,計算得到物體表面上各點的深度坐標。聚焦深度測量技術的精度一般高于雙目立體視覺和線結構光三角測量,但因其需要配合遠心鏡頭或顯微鏡頭使用,只適于對小尺寸物體進行測量。
3.6 光度立體視覺(photometric stereo vision)
物體表面反射光量的多少取決于該表面與光源和觀察者之間的相對姿態。采用不同的角度對靜止目標物體進行照明,在每個照明角度下,使用同一臺相機在同一個固定視角下拍攝一幅圖像,光度立體視覺技術使用這組圖像估計出目標物體表面的法向量。目前,機器人抓取應用中使用的3D相機主要采用3.1 ~ 3.4中的成像原理。
4 3D視覺處理算法
按照不同的功能,3D視覺處理算法可分為:
4.1 點云濾波
點云的濾波(filter)算法主要用于點云數據的預處理,可實現去噪、平滑、采樣、特征提取等功能。濾波方法有:雙邊濾波、高斯濾波、條件濾波、隨機采樣一致性濾波等。
4.2 點云特征估計
4.2.1 點云局部特征估計
點云的局部特征(local feature)估計算法用于估計點云中一點或一點周圍數個鄰近點的特征值。這些特征包括法向量、曲率、邊界、點特征直方圖(PFH)、快速點特征直方圖(FPFH)、視角特征直方圖(VFH)、NARF描述子、旋轉投影統計特征(Rotational Projection Statistics)等。
4.2.2 點云整體特征估計
點云的整體特征(global feature)估計算法用于估計某個點云集合的特征,如點云的表面積、小外接盒、大直徑、截面曲線等。
4.3 點云關鍵點提取
關鍵點(key point),也稱為興趣點,因為具有某種特點,可依照預先定義的標準被穩定地識別出來。點云關鍵點的提取算法有:Harris3D、ISS3D、NARF、SIFT、SUSAN、Trajkovic3D。
4.4 點云配準
由于遮擋等原因,為了獲得完整的目標表面3D點云,常常需要從不同的視角對同一目標物體進行掃描。點云配準(registration)技術是將這些點云數據兩兩進行匹配,計算它們之間互相重疊的部分,將它們拼接在一起,獲得更全面的目標物體表面點云。點云配準算法有近點迭代法(ICP)。
4.5 點云分割
點云分割(segmentation)算法用于將點云數據分割成不同的子集。依據應用需求,可采用不同的分割方法,如平面分割、柱面分割、歐幾里得聚類提取、超體聚類分割、區域生長分割、基于小割的點云分割、基于法向量差的點云分割等。除了上述的3D點云分割方法,點云的分割也可結合2D圖像進行。先在2D圖像上應用邊緣提取、深度學習等算法,然后再對點云進行分割。
4.6 三維匹配
三維匹配(3D matching)算法的功能是在搜索數據中找到目標物體并確定它的3D位姿,其中,搜索數據可以是3D點云或2D圖像。三維匹配算法可分為基于形狀的3D匹配、基于表面的3D匹配和可變形表面的3D匹配。
4.7 點云擬合
如果某個點云子集為已知的幾何形狀,如平面、柱面、球面,可利用點云擬合算法進行擬合求出相應的位姿和幾何參數信息。
此外,點云處理算法還包括k維樹、八叉樹等方法。
在機器人抓取作業中,視覺的重要任務之一是目標物體位姿的估計。要估計位姿,正確地分割點云是前提。通常,綜合利用4.1~4.4中的方法,然后再對點云進行分割,后利用三維匹配或點云擬合估計出目標物體的位姿。
5 實際案例研究
5.1 白色抽屜紙盒機器人3D視覺分揀
任務描述:料框內雜亂堆放著不同型號的白色抽屜紙盒,并且這些紙盒的各個表面的長寬尺寸各不相同。3D視覺系統通過識別紙盒表面的尺寸將不同型號的紙盒區分開來,再由機器人將它們分別分揀到不同的料框中。
5.1.1 視覺系統設計
長方形鐵質料框的尺寸為500 X 385 X 180 mm,壁厚為1.5 mm,為避免反光并增加視覺對比度,在料框表面噴涂啞光黑漆。3D相機采用固定安裝,在長方形料框的正上方進行拍攝。考慮到ABB 2600機器人的工作范圍,3D相機距離料框底部的高度需大于1000 mm并盡可能取小值。
綜合考慮各種因素,這里選用Ensenso N20-1202-16-BL相機,該相機的工作原理是投射散斑紋理的雙目立體視覺技術,其分辨率為1280 X 1024像素,小、大和合適工作距離分別為1100 mm、2200 mm、1400 mm。料框底部距離相機的距離設計為1400 mm,在該距離下3D相機的Z向分辨率為1.037 mm,能夠滿足四個真空吸盤的抓取精度要求;紙盒的大堆疊高度不超過230 mm,Ensenso N20-1202-16-BL在1150mm工作距離下的視野范圍為572.90 X 497.96 mm,能夠滿足視野要求。為避免環境光的影響,在相機頂部上方安裝遮光板,在相機旁邊加設白色光源。
圖5 白色抽屜盒分揀場景示意圖
5.1.2 視覺方法描述
為了識別紙盒表面的長寬尺寸、估計紙盒表面的位姿,就需要對紙盒表面的3D點云進行正確分割。這里將2D圖像處理技術與3D點云處理技術相結合:首先,相機接收到觸發信號,打開散斑投影儀拍攝一幅3D點云圖像;然后,關閉散斑投影儀,拍攝一幅左相機矯正灰度圖像。Ensenso通過計算左相機矯正圖像上各像素點的空間3D坐標,生成一幅3D點云圖像。因而,Ensenso所拍攝的3D點云圖像(有三個通道,其像素值分別代表X,Y,Z坐標)上各點的像素值與左相機矯正圖像上同一位置的像素值是一一對應的,可通過分割左相機矯正圖像來實現紙盒表面3D點云的分割。
視覺程序設計思路:
首先,利用邊緣提取、邊緣連接、腐蝕、膨脹等算法在左相機矯正圖像上分割出不同的紙盒表面區域;
然后,取每個區域所對應的3D點云,估計這片點云的厚度,若厚度小于閾值t,則認為這片點云代表了一個紙盒表面的幾何形貌,計算這片點云的3D小外接盒區域,即可估算得到紙盒表面的長寬尺寸、中心位置與姿態;若厚度大于閾值t,則認為2D圖像分割失敗,這片點云至少代表兩個紙盒表面的幾何形貌,這時先根據點云的法向量、曲率等特征對其進行3D分割,然后再進入上述的厚度判斷與尺寸、位姿的計算程序。為了縮短程序執行時間,對點云做3D分割之前,預先對其進行采樣以減少數據量。
檢查紙盒表面上方是否有遮擋,過濾掉上方有遮擋的結果,防止抓取過程中發生碰撞或損壞。
后,將處理結果按照表面中心高度、姿態方向和表面尺寸進行綜合排序,輸出到機器人抓取路徑規劃程序當中。路徑規劃程序根據視覺輸出的結果引導機器人運動并控制夾具動作。
5.1.3 視覺算法處理結果
如圖6(左上)所示,料框中散亂堆放著三種型號的白色抽屜紙盒,由視覺程序輸出的紙盒表面尺寸與位姿的排序結果如表1所示。可以看出,視覺程序沒有給出被遮擋紙盒表面的計算結果。
圖6左上:Ensenso左相機矯正灰度圖;右上:3D點云渲染效果圖;左下:排序輸出結果;右下:5#紙盒表面點云圖
表1 白抽屜盒視覺算法輸出結果
經過測試,在該視覺系統下,紙盒表面尺寸的測量誤差小于5 mm,表面中心定位誤差小于2 mm,表面姿態估計誤差小于5度。使用intel i7-6820HQ CPU、主頻2.7GHz的LenovoP50筆記本計算機,視覺處理時間為3~5 s。
6 總結
本文主要研究3D視覺技術在機器人抓取作業中的應用,歸納了3D視覺技術在機器人抓取作業中面臨的挑戰,對機器人抓取視覺系統的設計方法進行了總結,搜集了當前主要的3D成像技術及3D視覺算法,后給出了應用案例。
來源:自動化博覽
電話
微信掃一掃