国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Halcon的蒸汽發(fā)生器堵板操作機(jī)器人視覺(jué)定位算法

2020-11-10 01:33:40董超群陳嘉杰董俊杰段星光
科學(xué)技術(shù)與工程 2020年28期
關(guān)鍵詞:圓心灰度坐標(biāo)系

吳 玉, 董超群, 陳嘉杰, 董俊杰, 溫 浩, 段星光

(1.中廣核研究院有限公司, 深圳 518000; 2.北京理工大學(xué)機(jī)電學(xué)院, 北京 100081)

近年來(lái)機(jī)器人在核電行業(yè)的應(yīng)用越來(lái)越多,尤其是利用密閉蒸汽發(fā)生器進(jìn)行堵板操作,如利用人工進(jìn)行堵板操作,其成本高,效率低,且工人的生命安全難以得到保障。

機(jī)器視覺(jué)在各行業(yè)都有著廣泛的應(yīng)用。王陽(yáng)等[1-2]根據(jù)核桃不同視圖,利用矩陣乘積方式將待測(cè)核桃樣本與兩個(gè)模型分別進(jìn)行對(duì)比,以此對(duì)核桃進(jìn)行分類。他們還采用R分量占比統(tǒng)計(jì)法、橢圓近似法、橢圓切割法對(duì)蝦體生命狀態(tài)、尺寸及殘缺度進(jìn)行檢測(cè)。鄭永榮等[3]采用檢測(cè)偏移距離的算法來(lái)定位目標(biāo)。馬向華等[4]基于機(jī)器人操作系統(tǒng)(ROS),結(jié)合手眼的七軸機(jī)械臂目標(biāo)抓取方法,在ROS框架下利用協(xié)作機(jī)器人FRANKA PANDA結(jié)合RGBD攝像頭進(jìn)行目標(biāo)抓取。王娟等[5]提出采用最小外接矩形擬合法求解芯片各個(gè)焊點(diǎn)和引線框架實(shí)際位置,實(shí)時(shí)校正在芯片引線鍵合工藝中由于貼片和裝夾產(chǎn)生的位置誤差。朱永豐等[6]提出了一種魯棒性強(qiáng)、定位精度高、速度更快的視覺(jué)定位算法。程金等[7]采用視覺(jué)系統(tǒng)無(wú)接觸測(cè)量的方法,簡(jiǎn)便、可靠、高效的定位活塞環(huán)槽位置。羅鈳[8]分析了幾種邊緣檢測(cè)算子,其中Canny算子是目前比較流行的算法,它可由高斯函數(shù)的一階導(dǎo)數(shù)獲得,計(jì)算簡(jiǎn)單,可靠性非常的高,錯(cuò)誤率低,可精準(zhǔn)捕獲邊緣,噪聲的干擾不會(huì)產(chǎn)生假邊緣。邱明勇等[9]提出一種基于視覺(jué)識(shí)別的工件定位方法,在相機(jī)標(biāo)定后,通過(guò)對(duì)識(shí)別特征建模,計(jì)算出加工區(qū)域特征點(diǎn)相對(duì)機(jī)床零點(diǎn)的位置。譚佳祺等[10]提出一種無(wú)人機(jī)充電平臺(tái)的精準(zhǔn)降落視覺(jué)定位方案。

針對(duì)蒸汽發(fā)生器的特殊核輻射環(huán)境,現(xiàn)如今還沒(méi)有一種有效的視覺(jué)定位算法,為此,基于特定蒸汽發(fā)生器的環(huán)境,提出一種基于Halcon的定位識(shí)別算法的螺栓定位算法,利用灰度值進(jìn)行圖像閾值分割,利用圓形曲線算法得到圓幾何中心,通過(guò)螺栓實(shí)驗(yàn)和精度實(shí)驗(yàn)驗(yàn)證了圖像識(shí)別和螺栓緊固的過(guò)程,以期降低螺栓緊固的定位誤差實(shí)現(xiàn)智能化無(wú)人操作。

1 螺栓定位算法

1.1 算法整體框架

整個(gè)螺栓定位算法的流程如圖1所示。首先分割出螺栓所在區(qū)域,然后在螺栓所在區(qū)域找到螺栓。目標(biāo)定位過(guò)程的核心是決策算法的研究。

圖1 螺栓定位算法流程圖Fig.1 The mechanical dimensions

圖像采集與處理系統(tǒng)的目標(biāo)是獲取圖像并提取螺栓圓心的坐標(biāo)值。由于擰螺栓裝置的特殊性,識(shí)別圓形比識(shí)別六角更有效。因?yàn)閳A形的識(shí)別精度高于別的圖形。由于核輻射的工作環(huán)境復(fù)雜,在使用相機(jī)獲取實(shí)時(shí)螺栓圖像時(shí),光照、曝光不均等因素會(huì)給圖像帶來(lái)噪聲。如果不去除噪聲,不進(jìn)行圖像分割、圖像增強(qiáng)、圖像分析和判斷都會(huì)受到影響。因此采用以下過(guò)程來(lái)實(shí)現(xiàn)圖像識(shí)別,得到中心坐標(biāo)值:

(1)通過(guò)CCD相機(jī)采集原始圖像,放大圖像,將螺栓位置設(shè)置為感興趣區(qū)域。

(2)將感興趣區(qū)域轉(zhuǎn)換成灰度圖。進(jìn)行圖像識(shí)別。

(3)通過(guò)高斯濾波,上下采樣濾除圖像噪聲。

(4)基于圖像灰度圖,設(shè)置感興趣區(qū)域的閾值,自動(dòng)進(jìn)行閾值分割。

(5)對(duì)進(jìn)行閾值分割后的區(qū)域,進(jìn)形平滑填充,使圓更加圓滑完整。

(6)利用CANNY算法對(duì)進(jìn)形平滑填充后的區(qū)域進(jìn)形輪廓的提取。

(7)通過(guò)對(duì)圓形的幾何計(jì)算,得到圓形的中心值。

圖像識(shí)別的目的是獲取螺栓的中心坐標(biāo)值。通過(guò)以上步驟,可以得到中心值。

圖2展示了整個(gè)自主定位算法的詳細(xì)步驟;采集到圖像后,預(yù)處理操作就是對(duì)圖像進(jìn)行灰度化,圖像灰度化是自主定位算法的基礎(chǔ);灰度化以后圖像自身的噪聲會(huì)對(duì)自主定位精度產(chǎn)生極大影響,所以需要對(duì)圖像進(jìn)行濾波去噪,最多的噪聲為高斯噪聲,所以選擇高斯函數(shù)進(jìn)行圖像濾波;接著結(jié)合灰度圖,進(jìn)行圖像的閾值分割,閾值分割的目的就是將螺栓上表面與背景分離;分離后進(jìn)行提高精度的處理,也就是平滑填充,填充的目的就是將螺栓上表面盡可能完整地分離出來(lái);最后利用算法得到輪廓并定位圓心。

圖2 定位算法的流程Fig.2 The flow of the positioning algorithm

1.2 圖像濾波

在蒸發(fā)器環(huán)境中圖像噪聲多為高斯噪聲,基于此選擇離散高斯函數(shù)來(lái)平滑圖像,離散逼近的一維高斯函數(shù)為

(1)

式(1)中:σ為函數(shù)的標(biāo)準(zhǔn)方差;x為尖峰中心的坐標(biāo)值。

圖像濾波效果如圖3所示。如圖3(b)所示,在經(jīng)過(guò)高斯濾波處理后的圖像,邊緣平滑,很好地避免了輸出圖像的灰度劇烈變化處產(chǎn)生的震蕩,也就是振鈴現(xiàn)象,且處理后的圖像信噪比比未處理前提高了。

圖3 原始圖與濾波圖Fig.3 Original diagram and filter diagram

1.3 閾值分割

考慮到蒸發(fā)器的特殊環(huán)境,光照嚴(yán)重不足,輻射劑量大等特點(diǎn),采用最大類間方差法(OTSU)來(lái)進(jìn)行圖像的閾值分割。算法如式(2)~式(5)所示。

u=w0u0+w1u1

(2)

f=w0(a0-a)2+w1(a1-a)2

(3)

聯(lián)立式(2)和式(3)得:

f=w0w1(a0-a1)2

(4)

(5)

式中:u0、u1為前景和背景圖像分別占原始圖像的比例;w0、w1為前景圖像和背景圖像灰度值各自占全部圖像的比例;a0、a1為前景圖像和背景圖像灰度值的均值;a為整副圖像灰度值的平均值;f為前景和背景圖像灰度值的方差。

通過(guò)上述閾值分割方法,可以得到如圖4的閾值分割結(jié)果。通過(guò)圖4(b)可以觀察到最大類間方差法可以很好地將螺栓上表面同背景分離,并且該算法計(jì)算簡(jiǎn)單快速,不受圖像亮度和對(duì)比度的影響,當(dāng)目標(biāo)與背景的面積相差不大時(shí),能夠有效地對(duì)圖像進(jìn)行分割。

圖4 螺栓原始圖與閾值分割圖Fig.4 Original bolt and threshold segmentation

1.4 圖像平滑填充

最基本的算法是種子填充。設(shè)有完全封閉圖像上的一點(diǎn),在邊界內(nèi),只要在該點(diǎn)領(lǐng)域內(nèi)的所有點(diǎn)都上色??梢杂貌煌伾珌?lái)區(qū)分是否邊界。這個(gè)算法簡(jiǎn)單容易理解,但存在一些問(wèn)題。首先效率不高,因?yàn)樾枰?jì)算所有領(lǐng)域的點(diǎn)。然后,該算法在編程時(shí)非常占用資源,對(duì)于計(jì)算機(jī)的要求很高。為了解決上述問(wèn)題,現(xiàn)用填充線段來(lái)替代填充點(diǎn),即用線將領(lǐng)域填滿。選中一個(gè)點(diǎn),設(shè)定方向,按照一定順序進(jìn)行線填充。計(jì)算方法為

Xk=(Xk-1⊕B)∩Ac,k=1,2,3,…

(6)

圖5 閾值分割與平滑填充Fig.5 Threshold segmentation and smooth filling

填充效果如圖5所示。如圖5(a)所示在經(jīng)過(guò)閾值分割以后,還是有一些邊緣沒(méi)有分離到的地方,需要將這些地方進(jìn)行填充,方便進(jìn)行下一步輪廓提取,如果不進(jìn)行填充,那么將會(huì)對(duì)下一步輪廓提取及圓心定位的精度產(chǎn)生影響。最后的實(shí)驗(yàn)結(jié)果顯示該圖像填充算法精度滿足自動(dòng)定位要求。

1.5 輪廓提取及圓心定位

通過(guò)對(duì)實(shí)驗(yàn)數(shù)據(jù)的分析,Canny算子可以獲得最佳的邊緣檢測(cè)效率。Canny算法的優(yōu)點(diǎn)是信噪比高、定位性能好、單邊響應(yīng)單一。Canny算法的基本原理是計(jì)算高斯濾波器脈沖響應(yīng)的梯度大小和方向。

假設(shè)梯度向量為

(7)

邊界強(qiáng)度為

(8)

梯度的方向角θ為

(9)

通過(guò)Canny算子在圖像上準(zhǔn)確地提取到了螺栓上表面的輪廓,也就是得到曲線上所有像素點(diǎn)的坐標(biāo),這樣就可以求出圓心點(diǎn)像素坐標(biāo)和圓半徑。螺栓輪廓提取完成后,圓心值(x0,y0)可由式(10)得到:

(xi-x0)2+(yi-y0)2=r2

(10)

式(10)中:xi表示第i個(gè)點(diǎn)的x坐標(biāo)值;yi表示第i個(gè)點(diǎn)的y坐標(biāo)值,通過(guò)在輪廓上任意選取三個(gè)點(diǎn)組成一個(gè)三元二次方程組,即可求得圓心x0、y0和半徑r。

圓心像素點(diǎn)提取如圖6所示。圖6中的箭頭交匯點(diǎn)即為在提取輪廓之后定位的圓心點(diǎn)。通過(guò)Canny擬合出了螺栓上表面的圓,也就是得到了圓上所有點(diǎn)的坐標(biāo),然后利用圓上的三點(diǎn)計(jì)算出圓心,得到圓心坐標(biāo)后,會(huì)在實(shí)驗(yàn)部分對(duì)圓心坐標(biāo)的精度進(jìn)行驗(yàn)證分析。

圖6 提取圓心Fig.6 Extract the center of the circle

1.6 坐標(biāo)轉(zhuǎn)換

機(jī)器人坐標(biāo)轉(zhuǎn)換的目的就是要讓機(jī)器人知道目標(biāo)點(diǎn)在機(jī)器人坐標(biāo)系下的位置。標(biāo)定采用基于同源點(diǎn)的最小二乘法求解轉(zhuǎn)換矩陣。各坐標(biāo)系轉(zhuǎn)換關(guān)系如圖7所示。圖7中W是世界坐標(biāo)系,E是末端工具坐標(biāo)系,C是相機(jī)坐標(biāo)系,G是標(biāo)定板坐標(biāo)系。

圖7 坐標(biāo)系轉(zhuǎn)換關(guān)系Fig.7 Transformation relation of coordinate system

標(biāo)定算法如下:

要尋求如下形式的變換關(guān)系,以將相機(jī)坐標(biāo)系中的pC,i變換為工具坐標(biāo)系中的pT,i:

pT=sRpC+p0

(11)

式(11)中:s為縮放參數(shù);p0為平移量;R為旋轉(zhuǎn)矩陣。

除非同源點(diǎn)的坐標(biāo)是精確的,否則不可能找到合適的s、p0、R精確滿足每一個(gè)同源點(diǎn),而不留下一個(gè)殘差ei:

ei=pT,i-sRpC,i-p0

(12)

1.6.1 求平移量p0

同源點(diǎn)在兩個(gè)坐標(biāo)系中的中心分別為

(13)

(14)

求出每個(gè)同源點(diǎn)相對(duì)于中心的坐標(biāo)為

(15)

(16)

則殘差為

(17)

(18)

平移量p0等于同源點(diǎn)在工具坐標(biāo)系中的中心與其在相機(jī)坐標(biāo)系中的中心經(jīng)比例和旋轉(zhuǎn)變換后的值之差。因此,要求p0,必須要先求出縮放參數(shù)s和旋轉(zhuǎn)矩陣R。

1.6.2 求縮放參數(shù)s

(19)

(20)

式中:n為選擇點(diǎn)的個(gè)數(shù);ST、D、SC分別為

(21)

(22)

(23)

因?yàn)閟只在首項(xiàng)中出現(xiàn),故當(dāng)首項(xiàng)為0時(shí),殘差平方和最小,即

(24)

這樣就求出了縮放參數(shù)s。

1.6.3 求旋轉(zhuǎn)矩陣R

由式(24)可知,當(dāng)D最大時(shí),殘差平方和最小,據(jù)此可求得旋轉(zhuǎn)矩陣R。

(25)

(1)計(jì)算矩陣M。

(26)

(2)計(jì)算矩陣N。

(27)

(3)計(jì)算4次方程det(N-λI)=0的各個(gè)系數(shù)C0、C1、C2、C3。

c0=[(ab-e2)(cd-g2)+(eh-af)(fd-gi)+

(ai-ej)(fg-cj)+(ef-bh)(hd-gi)+

(aj-ei)(hg-cj)+(hi-fj)2

(27)

c1=[-b(cd-g2)+f(df-gi)-i(fg-ci)-a(cd-g2)+h(dh-gi)-j(gh-cj)-a(bd-i2)+e(de-ij)-j(ei-bj)-

a(bc-f2)+e(ce-fh)-h(ef-bh)

(28)

c2=(ac-h2)+(bc-f2)+(ad-j2)+

(bd-i2)+(cd-g2)+(ab-e2)

(29)

c3=a+b+c+d

(30)

求解最大的特征值與特征向量,就是

對(duì)應(yīng)的正交旋轉(zhuǎn)矩陣R為

(31)

這樣就得到了轉(zhuǎn)換矩陣T:

2 實(shí)驗(yàn)驗(yàn)證

定位實(shí)驗(yàn)的目的是對(duì)圖像采集與處理算法進(jìn)行驗(yàn)證,確定螺栓定位算法的準(zhǔn)確性。

由于在圖像識(shí)別過(guò)程中,相機(jī)很難停在螺栓的正上方,所以需要對(duì)不同相機(jī)拍攝位置下的算法精度進(jìn)行驗(yàn)證,確定定位算法的精度,使機(jī)器人能夠完成對(duì)螺栓的定位。定位精度實(shí)驗(yàn)過(guò)程如下:

(1)固定相機(jī),在相機(jī)有效拍攝范圍內(nèi)對(duì)螺栓進(jìn)行多組圖像采集。

(2)對(duì)多組圖像進(jìn)行螺栓定位,得到圓心的計(jì)算值。

(3)實(shí)際測(cè)量,得到多組位置下圓心的實(shí)際值,并進(jìn)行誤差統(tǒng)計(jì)。

通過(guò)在有效范圍內(nèi)對(duì)不同位置的螺栓上表面進(jìn)行圓形定位,結(jié)果如圖8所示,將螺栓擺在如圖所示a、b、c三個(gè)位置上,三個(gè)位置在x方向上分別相差40 mm和10 mm,在y方向上相差60 mm,結(jié)果表明在有效范圍內(nèi)都能準(zhǔn)確定位圓心。

定位實(shí)驗(yàn)結(jié)果如圖9所示。圖9表明,針對(duì)堵板機(jī)器人螺栓定位問(wèn)題采用的基于閾值分割的定位算法共進(jìn)行了10次實(shí)驗(yàn),定位準(zhǔn)確率為100%,定位最大誤差為1.10 mm,最小誤差為0.92 mm,滿足堵板機(jī)器人螺栓自主定位的精度要求。

圖8 不同位置的定位Fig.8 Positioning of different positions

圖9 定位算法誤差Fig.9 Positioning algorithm error

3 結(jié)論

提出了一種在核電環(huán)境下基于halcon的視覺(jué)螺栓定位方法,特別對(duì)于在強(qiáng)輻射的環(huán)境下,對(duì)螺栓進(jìn)行無(wú)接觸的定位極為重要。采用基于灰度值的圖像閾值分割,利用圓形曲線算法得到圓后,定位螺栓。測(cè)試結(jié)果如下。

(1)克服了視覺(jué)識(shí)別對(duì)核電環(huán)境適應(yīng)性差、識(shí)別效果不好的問(wèn)題。

(2)得到了比較準(zhǔn)確的螺栓的輪廓和圓心。

(3)有效減少了核環(huán)境下的工作時(shí)間。

通過(guò)自動(dòng)定位實(shí)驗(yàn),驗(yàn)證了該圖像采集與處理系統(tǒng)的有效性。

猜你喜歡
圓心灰度坐標(biāo)系
二次曲線的一個(gè)類似圓心的性質(zhì)
采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過(guò)濾技術(shù)
基于灰度拉伸的圖像水位識(shí)別方法研究
以圓周上一點(diǎn)為圓心作圓的圖的性質(zhì)及應(yīng)用
解密坐標(biāo)系中的平移變換
坐標(biāo)系背后的故事
基于重心坐標(biāo)系的平面幾何證明的探討
基于最大加權(quán)投影求解的彩色圖像灰度化對(duì)比度保留算法
基于灰度線性建模的亞像素圖像抖動(dòng)量計(jì)算
極坐標(biāo)系下移動(dòng)機(jī)器人的點(diǎn)鎮(zhèn)定
佛冈县| 镇江市| 石河子市| 绥芬河市| 吴江市| 银川市| 大英县| 炉霍县| 璧山县| 永丰县| 社会| 通海县| 武陟县| 巴东县| 福海县| 隆尧县| 冷水江市| 南皮县| 新巴尔虎右旗| 平远县| 工布江达县| 建德市| 永定县| 井冈山市| 来宾市| 齐河县| 临武县| 化德县| 宜章县| 张家川| 库车县| 平远县| 苗栗市| 雅安市| 建阳市| 绥阳县| 富锦市| 北流市| 察雅县| 布拖县| 女性|