摘要:近年來,機(jī)器人自動化領(lǐng)域越來越多地應(yīng)用3D視覺技術(shù)對目標(biāo)物體進(jìn)行定位。本文主要研究3D視覺技術(shù)在機(jī)器人抓取作業(yè)中的應(yīng)用,總結(jié)了3D視覺技術(shù)在識別、定位物體時面臨的挑戰(zhàn),給出了抓取作業(yè)機(jī)器人3D視覺系統(tǒng)的設(shè)計(jì)方法,歸納了現(xiàn)有的3D表面成像方法和視覺處理算法,后給出一個結(jié)合3D視覺技術(shù)對白色抽屜紙盒進(jìn)行抓取分揀的實(shí)際應(yīng)用案例。
關(guān)鍵詞:3D視覺;工業(yè)機(jī)器人;抓取
1 引言
隨著經(jīng)濟(jì)的發(fā)展與科技的進(jìn)步,人們越來越多地將自動化技術(shù)應(yīng)用到生產(chǎn)與生活中,與此同時,也對自動化技術(shù)提出了更高的要求。近十年來,工業(yè)機(jī)器人的普及使得機(jī)器人自動化得到了更廣泛的應(yīng)用和關(guān)注。很多機(jī)器人系統(tǒng)已經(jīng)集成了視覺系統(tǒng),利用機(jī)器視覺技術(shù)實(shí)現(xiàn)檢測、識別、定位等功能,為后續(xù)的機(jī)器人運(yùn)動提供必要的信息。
在許多自動化應(yīng)用場合中,如自動化分揀、裝配、拆垛、碼垛、上料等過程中,工業(yè)機(jī)器人經(jīng)常被用來進(jìn)行抓取作業(yè)。要完成抓取操作,機(jī)器人系統(tǒng)可能需要完成目標(biāo)感知、運(yùn)動規(guī)劃、抓取規(guī)劃等一系列任務(wù)。視覺系統(tǒng)在機(jī)器人抓取作業(yè)中的作用就是識別、定位目標(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)云信息。
但與此同時,3D視覺技術(shù)在機(jī)器人抓取應(yīng)用中仍然面臨許多挑戰(zhàn):
(1)點(diǎn)云空洞:用3D相機(jī)捕捉反光、透明、網(wǎng)狀物體表面的點(diǎn)云信息,經(jīng)常會出現(xiàn)數(shù)據(jù)的丟失,丟失的點(diǎn)云數(shù)據(jù)形成了點(diǎn)云空洞;
(2)點(diǎn)云粘連:多個物體雜亂堆放或者兩個物體表面靠近擺放時,不同物體表面的點(diǎn)云會粘連在一起,這就涉及到如何穩(wěn)定、準(zhǔn)確地進(jìn)行點(diǎn)云分割;
(3)點(diǎn)云密度不一致:物體表面與3D相機(jī)之間的相對位姿、物體表面的顏色均會影響點(diǎn)云的密度,使得目標(biāo)場景的點(diǎn)云密度不一致,這在一定程度上給點(diǎn)云處理算法帶來了困難;
(4)視野局限:有限的相機(jī)視角、遮擋和陰影效果,都會阻礙3D相機(jī)獲得抓取目標(biāo)的表面全貌,進(jìn)而阻礙對抓取目標(biāo)的識別;
(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匹配等;第五部分給出一個實(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ī)時需要考慮相機(jī)與目標(biāo)場景之間的距離以及目標(biāo)場景的尺寸。目標(biāo)場景合適位于相機(jī)的中間視場附近,不超出近視場和遠(yuǎn)視場的邊界,即目標(biāo)場景的高度不超出測量范圍。
3D相機(jī)的成像精度需要滿足應(yīng)用場景的抓取精度要求。通常,工作距離越大,3D相機(jī)的視場越大,但成像的精度越低。此外,相機(jī)的分辨率、點(diǎn)云的獲取速度也是評價(jià)3D成像系統(tǒng)的重要指標(biāo)。其中,相機(jī)的分辨率決定了點(diǎn)云數(shù)據(jù)量的大小及其對物體細(xì)節(jié)的表征程度,關(guān)系到點(diǎn)云處理算法的設(shè)計(jì)。點(diǎn)云的獲取時間加上點(diǎn)云處理算法的執(zhí)行時間必須滿足抓取應(yīng)用的節(jié)拍要求。
此外,相機(jī)的性價(jià)比、系統(tǒng)的可靠性也是選擇相機(jī)時需要考量的因素。
2.2 光源、遮光板的選擇
為了避免外界環(huán)境光對視覺系統(tǒng)的影響、保證視覺系統(tǒng)的穩(wěn)定性,有時需要外加光源和遮光板。外加的光源不能影響3D相機(jī)成像。
2.3 視覺系統(tǒng)對機(jī)械設(shè)計(jì)的要求
當(dāng)相機(jī)固定安裝時,機(jī)器人需要手持標(biāo)定板做手眼標(biāo)定。為了方便進(jìn)行手眼標(biāo)定,可設(shè)計(jì)專門的Tool抓持標(biāo)定板,留出足夠的空間以保證標(biāo)定板在手眼標(biāo)定過程中不會與機(jī)器人發(fā)生干涉。相機(jī)固定安裝的優(yōu)點(diǎn)是,對Tool位姿進(jìn)行變更后,無需再做機(jī)器人手眼標(biāo)定。
當(dāng)機(jī)器人手持相機(jī)拍照時,一般要求抓取作業(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é)特征值,如反射率、顏色等。這時的點(diǎn)云測量結(jié)果可一般表示為,其中,fi為一向量,代表第i個點(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),飛行時間深度測量(time of flight),聚焦深度測量(depthfrom focus),光度立體視覺(photometric stereovision)。
3.1 雙目立體視覺(binocular stereo vision)
使用兩個相機(jī)拍攝同一個目標(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)等特征,因此若能主動制造特征,如投射隨機(jī)分布的散斑圖案、編碼結(jié)構(gòu)光等圖案,則能變被動為主動,通過增強(qiáng)匹配的魯棒性,使方法具有普適性。
圖2 雙目立體視覺原理示意圖
3.2 線結(jié)構(gòu)光三角測量(laser triangulation with sheet of light)
線激光器投射出的光平面照射到物體表面上會形成表征其輪廓的亮線,這些窄亮的細(xì)線通常被稱為光條。線結(jié)構(gòu)光三角測量的基本思想是:通過相機(jī)拍攝線結(jié)構(gòu)光發(fā)射器所照射的目標(biāo)物體,得到物體表面上光條中心位置的一系列3D坐標(biāo)。因此,目標(biāo)物體與線結(jié)構(gòu)光成像系統(tǒng)之間做相對運(yùn)動并在多個不同位置進(jìn)行拍照測量,才能獲得目標(biāo)物體完整的3D表面輪廓。
線結(jié)構(gòu)光三角測量的主要任務(wù)是:標(biāo)定相機(jī)及其與光平面之間的相對位姿,標(biāo)定目標(biāo)物體與成像系統(tǒng)之間的相對運(yùn)動,提取光條的中心點(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)物體表面圖像,通過對比圖像上經(jīng)過物體表面調(diào)制的編碼光圖案與未調(diào)制的編碼光圖案可以測量獲得目標(biāo)表面的3D形貌。與線結(jié)構(gòu)光三角測量相比,只要編碼光能夠照射到整個物體表面,物體與成像系統(tǒng)之間無需做相對運(yùn)動即可獲取物體表面的幾何全貌。
圖4 編碼結(jié)構(gòu)光原理示意圖
3.4 飛行時間深度測量(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)心鏡頭或顯微鏡頭使用,只適于對小尺寸物體進(jìn)行測量。
3.6 光度立體視覺(photometric stereo vision)
物體表面反射光量的多少取決于該表面與光源和觀察者之間的相對姿態(tài)。采用不同的角度對靜止目標(biāo)物體進(jìn)行照明,在每個照明角度下,使用同一臺相機(jī)在同一個固定視角下拍攝一幅圖像,光度立體視覺技術(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ù)個鄰近點(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ì)某個點(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)定地識別出來。點(diǎn)云關(guān)鍵點(diǎn)的提取算法有:Harris3D、ISS3D、NARF、SIFT、SUSAN、Trajkovic3D。
4.4 點(diǎn)云配準(zhǔn)
由于遮擋等原因,為了獲得完整的目標(biāo)表面3D點(diǎn)云,常常需要從不同的視角對同一目標(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í)等算法,然后再對點(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)云擬合
如果某個點(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中的方法,然后再對點(diǎn)云進(jìn)行分割,后利用三維匹配或點(diǎn)云擬合估計(jì)出目標(biāo)物體的位姿。
5 實(shí)際案例研究
5.1 白色抽屜紙盒機(jī)器人3D視覺分揀
任務(wù)描述:料框內(nèi)雜亂堆放著不同型號的白色抽屜紙盒,并且這些紙盒的各個表面的長寬尺寸各不相同。3D視覺系統(tǒng)通過識別紙盒表面的尺寸將不同型號的紙盒區(qū)分開來,再由機(jī)器人將它們分別分揀到不同的料框中。
5.1.1 視覺系統(tǒng)設(shè)計(jì)
長方形鐵質(zhì)料框的尺寸為500 X 385 X 180 mm,壁厚為1.5 mm,為避免反光并增加視覺對比度,在料框表面噴涂啞光黑漆。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,能夠滿足四個真空吸盤的抓取精度要求;紙盒的大堆疊高度不超過230 mm,Ensenso N20-1202-16-BL在1150mm工作距離下的視野范圍為572.90 X 497.96 mm,能夠滿足視野要求。為避免環(huán)境光的影響,在相機(jī)頂部上方安裝遮光板,在相機(jī)旁邊加設(shè)白色光源。
圖5 白色抽屜盒分揀場景示意圖
5.1.2 視覺方法描述
為了識別紙盒表面的長寬尺寸、估計(jì)紙盒表面的位姿,就需要對紙盒表面的3D點(diǎn)云進(jìn)行正確分割。這里將2D圖像處理技術(shù)與3D點(diǎn)云處理技術(shù)相結(jié)合:首先,相機(jī)接收到觸發(fā)信號,打開散斑投影儀拍攝一幅3D點(diǎn)云圖像;然后,關(guān)閉散斑投影儀,拍攝一幅左相機(jī)矯正灰度圖像。Ensenso通過計(jì)算左相機(jī)矯正圖像上各像素點(diǎn)的空間3D坐標(biāo),生成一幅3D點(diǎn)云圖像。因而,Ensenso所拍攝的3D點(diǎn)云圖像(有三個通道,其像素值分別代表X,Y,Z坐標(biāo))上各點(diǎn)的像素值與左相機(jī)矯正圖像上同一位置的像素值是一一對應(yīng)的,可通過分割左相機(jī)矯正圖像來實(shí)現(xiàn)紙盒表面3D點(diǎn)云的分割。
視覺程序設(shè)計(jì)思路:
首先,利用邊緣提取、邊緣連接、腐蝕、膨脹等算法在左相機(jī)矯正圖像上分割出不同的紙盒表面區(qū)域;
然后,取每個區(qū)域所對應(yīng)的3D點(diǎn)云,估計(jì)這片點(diǎn)云的厚度,若厚度小于閾值t,則認(rèn)為這片點(diǎn)云代表了一個紙盒表面的幾何形貌,計(jì)算這片點(diǎn)云的3D小外接盒區(qū)域,即可估算得到紙盒表面的長寬尺寸、中心位置與姿態(tài);若厚度大于閾值t,則認(rèn)為2D圖像分割失敗,這片點(diǎn)云至少代表兩個紙盒表面的幾何形貌,這時先根據(jù)點(diǎn)云的法向量、曲率等特征對其進(jìn)行3D分割,然后再進(jìn)入上述的厚度判斷與尺寸、位姿的計(jì)算程序。為了縮短程序執(zhí)行時間,對點(diǎn)云做3D分割之前,預(yù)先對其進(jìn)行采樣以減少數(shù)據(jù)量。
檢查紙盒表面上方是否有遮擋,過濾掉上方有遮擋的結(jié)果,防止抓取過程中發(fā)生碰撞或損壞。
后,將處理結(jié)果按照表面中心高度、姿態(tài)方向和表面尺寸進(jìn)行綜合排序,輸出到機(jī)器人抓取路徑規(guī)劃程序當(dāng)中。路徑規(guī)劃程序根據(jù)視覺輸出的結(jié)果引導(dǎo)機(jī)器人運(yùn)動并控制夾具動作。
5.1.3 視覺算法處理結(jié)果
如圖6(左上)所示,料框中散亂堆放著三種型號的白色抽屜紙盒,由視覺程序輸出的紙盒表面尺寸與位姿的排序結(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ī),視覺處理時間為3~5 s。
6 總結(jié)
本文主要研究3D視覺技術(shù)在機(jī)器人抓取作業(yè)中的應(yīng)用,歸納了3D視覺技術(shù)在機(jī)器人抓取作業(yè)中面臨的挑戰(zhàn),對機(jī)器人抓取視覺系統(tǒng)的設(shè)計(jì)方法進(jìn)行了總結(jié),搜集了當(dāng)前主要的3D成像技術(shù)及3D視覺算法,后給出了應(yīng)用案例。
來源:自動化博覽
電話
微信掃一掃