• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于深度相機(jī)的船舶小構(gòu)件打磨裝置視覺識(shí)別算法設(shè)計(jì)

      2021-01-05 03:03:18郭海平謝靜遠(yuǎn)周文鑫
      造船技術(shù) 2020年6期
      關(guān)鍵詞:位姿坐標(biāo)系工件

      張 然, 郭海平, 謝靜遠(yuǎn), 周文鑫

      (上海船舶工藝研究所, 上海 200032)

      0 引 言

      隨著工業(yè)機(jī)器人的快速發(fā)展,在船舶制造業(yè)、汽車制造業(yè)、鑄造業(yè)等重型制造業(yè)內(nèi),對(duì)零部件、工件的打磨處理作業(yè)已經(jīng)由傳統(tǒng)的人工作業(yè)模式轉(zhuǎn)變?yōu)橐怨I(yè)機(jī)器人為主導(dǎo)、視覺檢測(cè)為輔助的智能作業(yè)模式。智能打磨裝備在這些領(lǐng)域已經(jīng)得到廣泛應(yīng)用[1]。視覺系統(tǒng)作為智能打磨裝備的重要組成部分,承擔(dān)著對(duì)打磨對(duì)象的檢測(cè)與識(shí)別功能,視覺檢測(cè)與識(shí)別算法的精度與速度直接影響打磨作業(yè)的完成質(zhì)量與效率。目前,智能打磨裝備的視覺系統(tǒng)主要基于2D圖像進(jìn)行視覺識(shí)別,即利用電荷耦合器件(Charge-coupled Device, CCD)或互補(bǔ)金屬氧化物半導(dǎo)體(Complementary Metal Oxide Semiconductor, CMOS)相機(jī),獲取打磨對(duì)象的圖像信息,利用灰度分析或圖像邊緣分析算法,對(duì)打磨對(duì)象進(jìn)行特征檢測(cè)與識(shí)別[2-3]。這類視覺系統(tǒng)的檢測(cè)精度主要依賴圖像質(zhì)量,對(duì)相機(jī)的分辨率、現(xiàn)場(chǎng)光源環(huán)境等都有較高要求。還有一部分智能打磨裝備視覺系統(tǒng)采用線激光型傳感器,對(duì)打磨對(duì)象進(jìn)行在線掃描和三維重構(gòu),為了保證掃描重構(gòu)的質(zhì)量,線激光型傳感器的掃描速度一般較慢,打磨裝備的工作效率被限制[4]。

      隨著雙目視覺和結(jié)構(gòu)光技術(shù)的發(fā)展,深度相機(jī)已經(jīng)成為傳統(tǒng)圖像傳感器、激光類傳感器后的又一種視覺傳感器。深度相機(jī)因其較高的檢測(cè)精度與快速的數(shù)據(jù)處理速度,在無人駕駛、定位建圖領(lǐng)域已經(jīng)受到廣泛應(yīng)用[5-6]?;诠I(yè)深度相機(jī),針對(duì)船舶小構(gòu)件智能打磨裝備,對(duì)其視覺系統(tǒng)進(jìn)行算法設(shè)計(jì),并完成視覺系統(tǒng)各算法模塊的功能實(shí)現(xiàn),為整套船舶小構(gòu)件智能打磨裝備的高效高質(zhì)量提供可靠的視覺數(shù)據(jù)支撐。

      1 船舶小構(gòu)件智能打磨裝備視覺識(shí)別系統(tǒng)

      船舶小構(gòu)件自由邊智能打磨裝備是針對(duì)肘板、補(bǔ)板等小型船舶結(jié)構(gòu)件設(shè)計(jì)的整套物料搬運(yùn)、打磨作業(yè)的機(jī)器人工作站,構(gòu)成高產(chǎn)能、高精度、高質(zhì)量的自動(dòng)化生產(chǎn)單元,以滿足船廠的自動(dòng)化打磨作業(yè)。智能打磨裝置的視覺系統(tǒng)主要承擔(dān)工件搬運(yùn)及打磨前的視覺識(shí)別功能,基于深度相機(jī)完成對(duì)待搬運(yùn)及待打磨工件的三維掃描、關(guān)鍵信息提取等作業(yè),為后續(xù)自動(dòng)搬運(yùn)與自動(dòng)打磨提供準(zhǔn)確全面的視覺信息。

      智能打磨裝備的視覺識(shí)別系統(tǒng)按照算法功能主要分為3個(gè)算法模塊,分別為位姿估計(jì)及坐標(biāo)變換模塊、工件搬運(yùn)視覺模塊和工件打磨視覺模塊。視覺識(shí)別系統(tǒng)算法模塊框架設(shè)計(jì)如圖1所示。

      圖1 視覺識(shí)別系統(tǒng)算法模塊框架

      (1) 位姿估計(jì)及坐標(biāo)變換模塊。該算法模塊主要用于實(shí)現(xiàn)視覺系統(tǒng)內(nèi)部的坐標(biāo)建立及各坐標(biāo)系間的坐標(biāo)變換,包括建立標(biāo)記坐標(biāo)系,計(jì)算傳感器坐標(biāo)系與標(biāo)記坐標(biāo)系間的變換矩陣,儲(chǔ)存運(yùn)算得出的變換矩陣結(jié)果,為后續(xù)模塊提供計(jì)算依據(jù)。

      (2) 工件搬運(yùn)視覺模塊。該算法模塊主要承擔(dān)裝備搬運(yùn)環(huán)節(jié)的視覺識(shí)別工作,包括對(duì)上料平臺(tái)上的工件進(jìn)行掃描,獲取點(diǎn)云信息,將工件點(diǎn)云進(jìn)行分割,對(duì)每個(gè)工件點(diǎn)云進(jìn)行質(zhì)心計(jì)算與質(zhì)心坐標(biāo)提取,并將質(zhì)心坐標(biāo)上傳至上位機(jī),為機(jī)器人執(zhí)行搬運(yùn)作業(yè)提供視覺數(shù)據(jù)。

      (3) 工件打磨視覺模塊。該算法模塊主要承擔(dān)裝備打磨環(huán)節(jié)的視覺識(shí)別工作,包括對(duì)打磨平臺(tái)上的工件進(jìn)行掃描,獲取點(diǎn)云信息,將工件點(diǎn)云進(jìn)行分割,對(duì)工件點(diǎn)云進(jìn)行邊緣識(shí)別,提取工件邊緣點(diǎn)云,將邊緣點(diǎn)坐標(biāo)上傳至上位機(jī),為機(jī)器人執(zhí)行打磨作業(yè)提供視覺數(shù)據(jù)。

      2 深度相機(jī)

      深度相機(jī)通常由普通的RGB彩色攝像頭、雙目紅外攝像頭和脈沖或光線發(fā)射、接收器等部件構(gòu)成,因此深度相機(jī)又名RGB-D相機(jī)或主動(dòng)雙目視覺相機(jī),即在獲取普通彩色圖像的同時(shí),可以獲得圖像中每個(gè)像素的深度信息,且相對(duì)于僅依靠雙目視差(被動(dòng)雙目視覺)獲取深度信息的普通雙目視覺相機(jī),深度相機(jī)依靠紅外結(jié)構(gòu)光(Structured Light, SL)或飛行時(shí)間(Time-of-Flight,TOF)法原理,主動(dòng)進(jìn)行深度測(cè)量。其原理如圖2所示。

      圖2 深度相機(jī)原理示例

      SL型深度相機(jī)向探測(cè)目標(biāo)發(fā)射一束光線,并根據(jù)返回的SL圖案,計(jì)算物體與自身之間的距離;TOF深度相機(jī)則向目標(biāo)發(fā)射脈沖光,根據(jù)發(fā)送與返回之間的TOF,確定探測(cè)物體的距離。從原理上看,TOF型深度相機(jī)與傳統(tǒng)的激光型傳感器相似,但傳統(tǒng)的激光型傳感器通過逐點(diǎn)掃描獲取距離,而TOF型深度相機(jī)則可一次性獲取整個(gè)圖像中每個(gè)像素點(diǎn)的距離信息,大幅縮短掃描時(shí)間,提高視覺識(shí)別效率。

      同時(shí),在測(cè)量深度之后,深度相機(jī)會(huì)按照生產(chǎn)時(shí)各攝像頭的擺放位置自動(dòng)完成深度信息與彩色圖像間的匹配,輸出一一對(duì)應(yīng)的深度圖像與彩色圖像,同時(shí)計(jì)算像素點(diǎn)的3D坐標(biāo),生成3D點(diǎn)云。對(duì)深度相機(jī)采集的數(shù)據(jù),既可在圖像層面進(jìn)行圖像處理,又可在點(diǎn)云層面進(jìn)行點(diǎn)云處理,顯著豐富了信息的完整度。

      3 功能模塊算法實(shí)現(xiàn)

      3.1 算法試驗(yàn)平臺(tái)配置

      智能打磨設(shè)備的視覺識(shí)別算法,基于圖漾PM801工業(yè)TOF深度相機(jī)進(jìn)行設(shè)計(jì),其結(jié)構(gòu)如圖3所示,該深度相機(jī)采用主動(dòng)雙目技術(shù),包括雙目紅外攝像頭、RGB彩色攝像頭和光學(xué)增強(qiáng)系統(tǒng),可輸出RGB彩色圖像、深度圖像、三維點(diǎn)云等多種數(shù)據(jù)結(jié)構(gòu)。為驗(yàn)證視覺識(shí)別算法,基于新松SR210D機(jī)械手,搭建算法試驗(yàn)平臺(tái),如圖4所示,深度相機(jī)安裝于機(jī)械手端部,機(jī)械手下方放置工件:當(dāng)放置多塊工件時(shí),模擬上料平臺(tái);當(dāng)放置單個(gè)工件時(shí),模擬打磨平臺(tái)。

      圖3 圖漾PM801工業(yè)TOF深度相機(jī)

      圖4 算法試驗(yàn)平臺(tái)

      3.2 位姿估計(jì)與坐標(biāo)變換

      智能打磨裝置視覺識(shí)別系統(tǒng)的位姿估計(jì)與坐標(biāo)變換主要作用:使用Aruco_marker標(biāo)記,在上料平臺(tái)與打磨平臺(tái)上分別設(shè)置坐標(biāo)系,定義為標(biāo)記坐標(biāo)系Cmarker,通過Aruco_marker檢測(cè)算法進(jìn)行相機(jī)位姿估計(jì),獲取從標(biāo)記坐標(biāo)系Cmarker至圖像坐標(biāo)系Crgb之間的轉(zhuǎn)換矩陣Tmarker,rgb;深度相機(jī)獲取的工件點(diǎn)云位于點(diǎn)云坐標(biāo)系Cpcl中,從點(diǎn)云坐標(biāo)系至圖像坐標(biāo)系之間的轉(zhuǎn)換矩陣Tpcl,rgb為傳感器參數(shù)中的已知信息,結(jié)合相機(jī)位姿估計(jì)所得Tmarker,rgb,可將工件點(diǎn)云從點(diǎn)云坐標(biāo)系轉(zhuǎn)換至上料平臺(tái)或打磨平臺(tái)上的標(biāo)記坐標(biāo)系Cmarker,進(jìn)行下一步點(diǎn)云處理流程。位姿估計(jì)與坐標(biāo)變換示例如圖5所示。

      圖5 位姿估計(jì)與坐標(biāo)變換示例

      在一般情況下,點(diǎn)云數(shù)據(jù)在原始傳感器坐標(biāo)系中處理,由于深度相機(jī)安裝于機(jī)械手的機(jī)械臂上,為了方便進(jìn)行數(shù)據(jù)處理,例如點(diǎn)云分割等操作,需要保證深度相機(jī)與平臺(tái)水平,同時(shí)需要估算深度相機(jī)距離平臺(tái)的高度,算法條件相對(duì)苛刻。在進(jìn)行坐標(biāo)變換之后,點(diǎn)云數(shù)據(jù)可在作業(yè)區(qū)域坐標(biāo)系內(nèi)處理,由于Aruco_marker標(biāo)記貼附于作業(yè)區(qū)域表面,因此依據(jù)標(biāo)記生成的坐標(biāo)系xy軸平面與作業(yè)區(qū)域水平,近似貼合于作業(yè)區(qū)域表面,z軸垂直于作業(yè)區(qū)域表面豎直向上,方便后續(xù)對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行處理,同時(shí)對(duì)機(jī)器人及傳感器無特殊位置要求,只需保證重復(fù)定位精度即可。

      3.2.1 Aruco_marker介紹

      Aruco_marker是一種類似二維碼的簡(jiǎn)易識(shí)別標(biāo)記,廣泛應(yīng)用于機(jī)器人導(dǎo)航、增強(qiáng)現(xiàn)實(shí)場(chǎng)景的相機(jī)位姿估計(jì)中。相機(jī)位姿估計(jì)主要任務(wù)在于找到點(diǎn)在真實(shí)3D環(huán)境中的坐標(biāo)與2D圖像中的真實(shí)坐標(biāo)并求出轉(zhuǎn)換關(guān)系,這一步驟通常比較復(fù)雜,而Aruco_marker標(biāo)記可以被相機(jī)快速識(shí)別,并提供足夠計(jì)算相機(jī)位姿的對(duì)應(yīng)信息。同時(shí),標(biāo)記內(nèi)部的二進(jìn)制編碼使標(biāo)記在錯(cuò)誤檢查與修正方面保持一定的穩(wěn)定性。

      一個(gè)Aruco_marker標(biāo)記外圍均有一組黑色邊框,同時(shí)內(nèi)部有用于確定標(biāo)記ID的二維矩陣。黑色邊框可加速標(biāo)記在圖像中的檢測(cè)速度,內(nèi)部二維編碼能唯一識(shí)別該標(biāo)記,同時(shí)進(jìn)行錯(cuò)誤檢測(cè)和錯(cuò)誤修復(fù)。圖6為該視覺識(shí)別系統(tǒng)所用的Aruco_marker標(biāo)記,ID號(hào)為582。Aruco_marker可用C++代碼直接生成,打印后即可用于相機(jī)位姿估計(jì)。

      圖6 視覺系統(tǒng)所用Aruco_marker標(biāo)記

      3.2.2 相機(jī)位姿估計(jì)算法

      Aruco_marker的檢測(cè)與位姿估計(jì)算法是基于OpenCV庫中的detectMarkers()函數(shù)與estimatePoseSingleMarkers()函數(shù)進(jìn)行設(shè)計(jì)的。

      首先,默認(rèn)深度相機(jī)RGB攝像頭的內(nèi)部參數(shù)已知,RGB攝像頭的內(nèi)部參數(shù)一般在出廠時(shí)已經(jīng)計(jì)算完成,如果沒有也可利用傳統(tǒng)相機(jī)標(biāo)定方法人工完成RGB攝像頭內(nèi)部參數(shù)標(biāo)定。確定RGB攝像頭的內(nèi)部參數(shù)后,即可獲得去畸變之后的RGB圖像。以包含Aruco_marker標(biāo)記的RGB圖像作為輸入,利用detectMarkers()對(duì)圖像進(jìn)行檢測(cè),確定圖像中的Aruco_marker標(biāo)記、輸出標(biāo)記角點(diǎn)(corner)及其他參數(shù),后續(xù)位姿估計(jì)均依賴于檢測(cè)輸出的結(jié)果。

      獲取Aruco_marker的識(shí)別結(jié)果后,利用estimatePoseSingleMarkers()函數(shù)進(jìn)行相機(jī)位姿估計(jì),輸入?yún)?shù)為標(biāo)記角點(diǎn)(corner)檢測(cè)結(jié)果、RGB攝像頭內(nèi)部參數(shù)(cameraMatrix)和RGB攝像頭畸變參數(shù)(distCoeffs),輸出結(jié)果為從標(biāo)記坐標(biāo)系至RGB相機(jī)坐標(biāo)系的姿態(tài),該姿態(tài)通過1個(gè)旋轉(zhuǎn)向量(rvecs)和1個(gè)平移向量(tvecs)描述。

      3.2.3 坐標(biāo)變換計(jì)算

      該算法所涉及的坐標(biāo)系共3個(gè),分別為深度相機(jī)中的點(diǎn)云坐標(biāo)系Cpcl、深度相機(jī)中的圖像坐標(biāo)系Crgb和上料平臺(tái)與打磨平臺(tái)上根據(jù)Aruco_marker生成的標(biāo)記坐標(biāo)系Cmarker。由深度相機(jī)采集到的原始點(diǎn)云位于點(diǎn)云坐標(biāo)系Cpcl中,為了將原始點(diǎn)云轉(zhuǎn)換至標(biāo)記坐標(biāo)系Cmarker中進(jìn)行下一步處理,需要計(jì)算得出從Cpcl至Cmarker的坐標(biāo)轉(zhuǎn)換矩陣Tpcl,marker。假設(shè)現(xiàn)實(shí)環(huán)境中的某個(gè)點(diǎn)在點(diǎn)云坐標(biāo)系、圖像坐標(biāo)系、標(biāo)記坐標(biāo)系下的坐標(biāo)分別為Ppcl、Prgb、Pmarker,則易知:

      Prgb=Tpcl,rgbPpcl

      (1)

      式中:Tpcl,rgb為從點(diǎn)云坐標(biāo)系至圖像坐標(biāo)系的轉(zhuǎn)換矩陣,該矩陣可以通過查閱深度相機(jī)的參數(shù)表得到。

      通過相機(jī)位姿估計(jì)算法,可以得到從標(biāo)記坐標(biāo)系Cmarker至圖像坐標(biāo)系Crgb的轉(zhuǎn)換矩陣Tmarker,rgb,則從圖像坐標(biāo)系Crgb至標(biāo)記坐標(biāo)系Cmarker的轉(zhuǎn)換矩陣為

      (2)

      同時(shí)可知:

      Pmarker=Trgb,markerPrgb

      (3)

      將式(1)~式(3)整合可得

      (4)

      則可得出從Cpcl至Cmarker的坐標(biāo)轉(zhuǎn)換矩陣為

      (5)

      C++的Eigen庫是一個(gè)開源的線性代數(shù)庫,可提供有關(guān)矩陣的線性代數(shù)運(yùn)算,因此上述算法可基于Eigen庫進(jìn)行開發(fā)實(shí)現(xiàn)。

      3.3 工件點(diǎn)云分割

      由深度相機(jī)獲取的原始點(diǎn)云數(shù)據(jù)包含了工件點(diǎn)云、背景點(diǎn)云及無關(guān)點(diǎn)點(diǎn)云,為了對(duì)工件點(diǎn)云進(jìn)行進(jìn)一步的數(shù)據(jù)處理,需要將工件點(diǎn)云從原始點(diǎn)云中分割出來。原始點(diǎn)云數(shù)據(jù)的背景主要為上料平臺(tái)或打磨平臺(tái),無關(guān)點(diǎn)主要為視場(chǎng)內(nèi)的少量輔助設(shè)備形成的干擾點(diǎn)。因此,工件點(diǎn)云分割工作分為背景點(diǎn)云分割與無關(guān)點(diǎn)濾除。

      3.3.1 背景點(diǎn)云分割

      背景點(diǎn)云由上料平臺(tái)或打磨平臺(tái)點(diǎn)云構(gòu)成,這類背景點(diǎn)云為大面積平面類點(diǎn)云,且由于地面及打磨平臺(tái)都較為平整,幾乎沒有高度變化。工件放置于上料平臺(tái)或者打磨平臺(tái)上,同時(shí)在坐標(biāo)變換時(shí),已經(jīng)在上料平臺(tái)或打磨平臺(tái)上設(shè)置了標(biāo)記坐標(biāo)系,且原始點(diǎn)云已經(jīng)轉(zhuǎn)換至標(biāo)記坐標(biāo)系下,標(biāo)記坐標(biāo)系與平臺(tái)近乎貼合,z軸豎直向上。針對(duì)這類背景點(diǎn)云的特點(diǎn)及標(biāo)記坐標(biāo)系的特點(diǎn),可以以工件厚度作為辨別工件與背景的判別條件,在z軸方向上設(shè)定合適的閾值,濾除大面積的背景點(diǎn)云。

      3.3.2 工件點(diǎn)云提取

      對(duì)于抓取環(huán)節(jié)的視覺識(shí)別,由于上料平臺(tái)上會(huì)放置多塊待抓取工件,僅對(duì)背景點(diǎn)云進(jìn)行去除,已經(jīng)無法對(duì)每塊工件點(diǎn)云進(jìn)行單獨(dú)處理。同時(shí),由于上料平臺(tái)的尺寸較大,相機(jī)位姿估計(jì)的誤差會(huì)隨著尺寸增加而放大,導(dǎo)致背景無法完全過濾,殘余部分平面背景點(diǎn)云,這類點(diǎn)云也無法用離群點(diǎn)濾除進(jìn)行過濾。由于工件點(diǎn)云亦為平面點(diǎn)云,因此可對(duì)去除背景后的點(diǎn)云數(shù)據(jù)采用隨機(jī)抽樣一致性(RANdom SAmple Consensus, RANSAC)算法進(jìn)行工件點(diǎn)云的提取。

      RANSAC算法是從1組含有“外點(diǎn)”的數(shù)據(jù)中正確估計(jì)出數(shù)學(xué)模型參數(shù)的迭代算法。該算法假設(shè)所有數(shù)據(jù)均由“內(nèi)點(diǎn)”與“外點(diǎn)”構(gòu)成,“內(nèi)點(diǎn)”即組成模型參數(shù)的數(shù)據(jù),“外點(diǎn)”即模型以外不適合模型的數(shù)據(jù)。該算法通過反復(fù)選擇數(shù)據(jù)進(jìn)行模型估計(jì),一直迭代直至估計(jì)出較好的模型。該算法大多應(yīng)用于直線特征提取,而RANSAC平面擬合提取的原理與直線擬合類似:首先在原始點(diǎn)云數(shù)據(jù)中隨機(jī)選出3點(diǎn),按照平面方程構(gòu)建平面模型,擬合出初始平面;然后將原始點(diǎn)云中所有點(diǎn)代入這個(gè)模型,計(jì)算出“內(nèi)點(diǎn)”數(shù)目(累加在一定誤差范圍內(nèi)的適合當(dāng)前平面模型的數(shù)據(jù)),比較當(dāng)前模型與之前擬合出的最好的模型的“內(nèi)點(diǎn)”數(shù)量,記錄包含最多“內(nèi)點(diǎn)”的模型參數(shù);最終直至迭代結(jié)束或達(dá)到設(shè)置的“內(nèi)點(diǎn)”上限,即完成平面擬合與提取。

      RANSAC在點(diǎn)云中進(jìn)行平面提取的算法可用點(diǎn)云庫中的SACSegmentation類進(jìn)行實(shí)現(xiàn),算法的輸入為進(jìn)行背景過濾后的點(diǎn)云數(shù)據(jù),并選擇RANSAC算法模型進(jìn)行分割。SACSegmentation類中控制迭代次數(shù)的參數(shù)為segDistanceThreshold,即點(diǎn)至擬合平面的距離,若數(shù)據(jù)點(diǎn)至當(dāng)前擬合平面的距離超過該閾值,則判斷該數(shù)據(jù)點(diǎn)不在平面模型內(nèi)。RANSAC算法是一種不穩(wěn)定算法,其擬合精度主要依靠迭代次數(shù),迭代次數(shù)越多,擬合越精準(zhǔn),但耗時(shí)也越多。應(yīng)用于智能打磨裝備視覺識(shí)別系統(tǒng)中點(diǎn)云分割模塊內(nèi)的segDistanceThreshold參數(shù)設(shè)置為0.1 mm,其迭代次數(shù)即可保證工件平面可被準(zhǔn)確分割,同時(shí)也兼顧算法實(shí)時(shí)性。

      3.3.3 無關(guān)點(diǎn)濾除

      對(duì)于打磨環(huán)節(jié)的視覺識(shí)別,由于打磨平臺(tái)尺寸較小,且每次只有1個(gè)工件放置于打磨平臺(tái)上,因此僅依靠設(shè)置閾值即可將絕大部分由打磨平臺(tái)構(gòu)成的背景點(diǎn)云濾除。但由于打磨平臺(tái)周圍存在較多的輔助設(shè)備,例如點(diǎn)激光開關(guān)閥等,這些設(shè)備的一部分可能被深度相機(jī)捕捉到,形成無關(guān)點(diǎn)。這類無關(guān)點(diǎn)一般與工件點(diǎn)云距離較大,可按照離群點(diǎn)處理。離群點(diǎn)處理算法可基于K鄰近點(diǎn)(K-Nearest Neighbor, KNN)原理實(shí)現(xiàn),即設(shè)定鄰近點(diǎn)個(gè)數(shù)K與標(biāo)準(zhǔn)方差閾值Threshold,先求出某點(diǎn)附近K個(gè)鄰近點(diǎn)之間距離的標(biāo)準(zhǔn)方差dev,再計(jì)算該點(diǎn)到這些點(diǎn)的距離d,如果距離d大于該點(diǎn)附近K個(gè)鄰近點(diǎn)之間距離的標(biāo)準(zhǔn)方差與標(biāo)準(zhǔn)方差閾值的乘積,則該點(diǎn)判斷為離群點(diǎn)并進(jìn)行濾除。無關(guān)點(diǎn)濾除算法基于C++與點(diǎn)云庫實(shí)現(xiàn)。

      3.3.4 點(diǎn)云分割算法結(jié)果

      如圖7所示,原始點(diǎn)云包含工件點(diǎn)云、背景點(diǎn)云及干擾點(diǎn),經(jīng)過背景分割、工作點(diǎn)云提取及無關(guān)點(diǎn)濾除,可得到清晰的工件點(diǎn)云。

      圖7 點(diǎn)云分割算法結(jié)果

      3.4 工件質(zhì)心提取

      工件質(zhì)心提取是搬運(yùn)環(huán)節(jié)的主要算法功能。對(duì)分割出的工件點(diǎn)云進(jìn)行質(zhì)心提取,得到質(zhì)心的三維坐標(biāo),并發(fā)送給上位機(jī)。機(jī)械臂移動(dòng)至質(zhì)心坐標(biāo)處,利用電磁鐵完成工件抓取。

      通常物體的質(zhì)心計(jì)算公式為

      (6)

      式中:ri=(xi,yi,zi),i=1,2,…,n,為各質(zhì)點(diǎn)的坐標(biāo);mi為質(zhì)點(diǎn)的對(duì)應(yīng)質(zhì)量。

      利用C++進(jìn)行工件質(zhì)心提取算法設(shè)計(jì)時(shí),令式(6)中mi=1,質(zhì)心提取算法的公式為

      (7)

      利用C++程序與式(7)即可完成工件點(diǎn)云的質(zhì)心坐標(biāo)計(jì)算,當(dāng)質(zhì)心提取完成后,將質(zhì)心坐標(biāo)保存,并發(fā)送至上位機(jī),為機(jī)器人執(zhí)行搬運(yùn)作業(yè)提供數(shù)據(jù)支撐。工件質(zhì)心提取結(jié)果如圖8所示。

      圖8 工件質(zhì)心提取結(jié)果

      3.5 工件邊緣提取

      工件點(diǎn)云的邊緣提取是打磨環(huán)節(jié)的核心算法。對(duì)打磨平臺(tái)上的待打磨工件進(jìn)行分割之后,需要提取工件的邊緣點(diǎn)云,由于船舶小構(gòu)件的幾何形狀存在非規(guī)則形狀,例如弧形邊緣等,僅提取少量邊緣特征點(diǎn)無法滿足打磨機(jī)器人的工作需求,需要對(duì)工件的邊緣進(jìn)行完整的點(diǎn)云提取,并發(fā)送給機(jī)器人上位機(jī),為機(jī)器人執(zhí)行打磨程序提供數(shù)據(jù)支撐。為了在三維點(diǎn)云中準(zhǔn)確提取邊緣點(diǎn)云,選擇基于點(diǎn)云法線進(jìn)行邊緣提取,即首先從原始點(diǎn)云上計(jì)算出法線,然后由法線結(jié)合數(shù)據(jù)估計(jì)出邊界,最后提取出邊緣點(diǎn)云。

      平面的法線是與其垂直的單位向量。在點(diǎn)云表面,法線定義為垂直于與點(diǎn)云表面相切的平面向量,可提供關(guān)于平面的曲率信息。對(duì)于點(diǎn)云數(shù)據(jù)集的每個(gè)點(diǎn)的法線估計(jì),可看做對(duì)表面法線的近似推斷,因此確定表面一點(diǎn)法線的問題可近似于估計(jì)表面的一個(gè)相切面法線的問題,轉(zhuǎn)換之后就成為最小二乘法平面擬合估計(jì)問題。 通過計(jì)算推導(dǎo)可將求解最佳擬合平面問題轉(zhuǎn)換為求解矩陣特征值與特征向量問題,所求得的最小特征值對(duì)應(yīng)的特征向量即為最佳擬合平面的法向量。

      完成工件點(diǎn)云中每個(gè)點(diǎn)的法線估計(jì)后,再利用各個(gè)法線方向之間的夾角即可判斷出工件點(diǎn)云的邊緣點(diǎn),最終生成工件點(diǎn)云的邊緣點(diǎn)云信息。整個(gè)工件點(diǎn)云邊緣提取算法可基于C++與點(diǎn)云庫完成算法設(shè)計(jì),算法輸入為完成點(diǎn)云分割后的單個(gè)工件點(diǎn)云和算法的約束參數(shù),參數(shù)reform用于法線估計(jì)算法中設(shè)定擬合平面的擬合半徑,一般設(shè)定為點(diǎn)云分辨率的10倍,而參數(shù)re用于邊緣判別算法中的法線夾角閾值,一般設(shè)置為π/2或π/4。算法輸出為識(shí)別提取出的工件邊緣點(diǎn)云。

      完成工件邊緣點(diǎn)云提取后,將邊緣點(diǎn)的坐標(biāo)保存,上傳至上位機(jī),為機(jī)器人執(zhí)行打磨作業(yè)提供數(shù)據(jù)支撐。工件邊緣點(diǎn)云提取結(jié)果如圖9所示。

      圖9 工件邊緣點(diǎn)云提取結(jié)果

      4 結(jié) 論

      針對(duì)船舶小構(gòu)件打磨裝備,提出利用深度相機(jī)進(jìn)行視覺識(shí)別系統(tǒng)算法設(shè)計(jì),確定視覺識(shí)別系統(tǒng)的模塊框架與模塊功能。同時(shí)搭建算法試驗(yàn)平臺(tái),基于OpenCV庫與點(diǎn)云庫,利用C++程序語言完成各模塊的算法實(shí)現(xiàn)。與使用圖像傳感器和線激光型傳感器相比,基于深度相機(jī)設(shè)計(jì)的船舶小構(gòu)件智能打磨裝備視覺識(shí)別算法在保證精度的同時(shí),不再依賴現(xiàn)場(chǎng)光源和圖像分辨率,不需要移動(dòng)傳感器進(jìn)行在線掃描,提高了視覺識(shí)別的效率,為智能打磨裝備提供了準(zhǔn)確全面的視覺數(shù)據(jù),保證了船舶小構(gòu)件智能打磨裝備高質(zhì)量、高效率運(yùn)行。

      猜你喜歡
      位姿坐標(biāo)系工件
      考慮非線性誤差的五軸工件安裝位置優(yōu)化
      解密坐標(biāo)系中的平移變換
      三坐標(biāo)在工件測(cè)繪中的應(yīng)用技巧
      坐標(biāo)系背后的故事
      基于重心坐標(biāo)系的平面幾何證明的探討
      基于共面直線迭代加權(quán)最小二乘的相機(jī)位姿估計(jì)
      基于CAD模型的單目六自由度位姿測(cè)量
      小型四旋翼飛行器位姿建模及其仿真
      焊接殘余形變?cè)诠ぜ苎b配中的仿真應(yīng)用研究
      焊接(2015年9期)2015-07-18 11:03:52
      一種非圓旋轉(zhuǎn)工件支撐裝置控制算法
      永嘉县| 朝阳市| 若尔盖县| 安福县| 茂名市| 定陶县| 阿坝| 南宁市| 榆树市| 玉树县| 嘉荫县| 色达县| 中牟县| 苗栗县| 宁陵县| 滦平县| 泾川县| 托克托县| 宁南县| 革吉县| 张家川| 泽普县| 阜平县| 陵水| 临泽县| 安吉县| 丹棱县| 临颍县| 永清县| 海南省| 汶上县| 潞城市| 英吉沙县| 和静县| 安化县| 徐水县| 海伦市| 金沙县| 五寨县| 三台县| 西藏|