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