朱娜瑩 金惠蘭
摘要工業(yè)生產(chǎn)中利用機器代替人工進行上下物料,需要對物料進行定位。本文首先利用MATLAB軟件處理深度圖數(shù)據(jù)將螺母與背景相互分割,其次,對分割后圖像進行分層處理,最后,利用螺母定位模型逐層求得螺母數(shù)與坐標。
關(guān)鍵詞Roberts算法分層處理螺母定位
中圖分類號:TP391.41 文獻標識碼:A
0引言
機器人視覺系統(tǒng)是根據(jù)拍攝到的圖像信息進行對螺母的位置確定。模型具體步驟如下:
1深度圖像二值化
根據(jù)材料所給深度圖數(shù)據(jù)與深度圖對背景與目標物體進行分割。具體步驟:(1)利用深度圖中顏色與高度的換算關(guān)系,運用MATLAB軟件處理題目所給深度圖數(shù)據(jù),結(jié)合所給的深度圖信息將背景層與螺母分割,得到螺母圖像。(2)為了進一步得到圖像上螺母的信息,需要將圖片二值化處理。即讓圖片上的像素點各值只為0或255,讓整張圖只顯示出黑白兩種顏色。圖像的二值化處理可使用MATLAB自帶的im2bw函數(shù),該函數(shù)具有通過設定亮度閾值將圖像轉(zhuǎn)化為二值圖像的功能。函數(shù)調(diào)用格式如下:
c=im2bw(k1,200/255)
2圖像邊緣檢測
根據(jù)二值化形態(tài)學運算將含有目標物體信息的區(qū)域從圖像中提取出來。此處用Roberts算法處理邊緣檢測。因為經(jīng)過Roberts 算子處理過得圖像的邊緣曲線不是很平滑,因此,使用Roberts 算子檢測出來的邊緣曲線需要做進一步細化處理,細化處理的計算公式如下:
其中是輸入圖像,是輸出圖像。數(shù)字圖像中Roberts算子的卷積模板如表1所示
表1:Roberts 算子的卷積模板
3最小二乘法擬合圓
機器人定位模型最終的目的是定位目標物體,而定位的方法就是對處理后圖像進行圓的擬合,以求得圓的半徑和圓心,最后憑此來確定圓的位置。此處用最小二乘法進行平面圓的擬合。
假設理想圓心坐標為(x0,y0),圓半徑為R,測點直角坐標為(Xi,Yi)
(1)
令
圓心坐標為
(2)
把帶入可得圓的半徑
(3)
由式(2)、(3)可以得到螺母圓心和半徑。
4具體操作
(1)根據(jù)已獲得的深度圖數(shù)據(jù)利用MATLAB軟件還原數(shù)據(jù)圖像:
(2)分割出螺母信息圖:
從上圖可見由于疊放狀態(tài)下,螺母之間的相互遮擋,導致螺母信息無法準確識別,因此,需要分層處理深度數(shù)據(jù),先將位于不同高度的螺母圖像利用深度數(shù)據(jù)的不同分離出2層不同的圖層,上層螺母的深度取值范圍是29mm-35mm,下層螺母的深度取值范圍是37.5mm以上時最大限度的保留本層信息。然后,逐步定位上下層的螺母。
(3)對第一層螺母的定位:
首先,利用MATLAB軟件分割第一層螺母信息,其次,進行二值化、邊緣化、最小二乘法擬合圓。可得到一層螺母共6個,中心坐標:(46.67,-13.30),(19.25,-8.45),(32.41,-3.64),(18.22,4.51),(30.53,10.66),(44.61,10.32)。單位:mm.
對第二層螺母進行同樣的操作可得到第二層螺母定位信息。螺母個數(shù)為1,中心坐標為(39.20,-4.82)。
5結(jié)論
利用分層處理的方法可以定位疊放螺母的位置,但在定位過程中發(fā)現(xiàn)傾斜螺母信息無法準確讀取。另外,還可能發(fā)生由于拍攝中偶然誤差而導致的深度圖數(shù)據(jù)殘缺和在收集深度圖數(shù)據(jù)時,常伴隨大量誤差配點問題需要進一步改進。
作者簡介:通訊作者:金惠蘭,女,(1969-),講師,天津農(nóng)學院 基礎(chǔ)科學學院,碩士研究生,研究方向:拓撲空間。
參考文獻
[1]李睿,耿璐,程武山.基于機器視覺的螺母定位系統(tǒng)[J].機床與液壓,2013.
[2]張俊.基于視覺定位的自動上下料機械手系統(tǒng)研究[D].石家莊:石家莊鐵道大學,2012.
[3]吳凱.用最小二乘法擬合圓應用于隧道鋼模臺車尺寸檢查[J].四川水泥,2014.