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