本發(fā)明涉及圖像檢測技術(shù)領(lǐng)域,特別涉及一種自動焊接機焊盤檢測方法,適用于自動檢測細小銅線與焊盤是否擺放正確。
背景技術(shù):
近年來,基于視覺的點焊機器人越來越多。點焊機器人可以替代大部分焊盤、漆包線等的人工焊接工作。點焊機器人可以長時間工作,而且工作質(zhì)量好,成本低,易于管理。
但是,當(dāng)前基于視覺的點焊機器人的焊盤檢測算法簡單,不能很好適應(yīng)因為光照、焊盤位置變化、形狀變化帶來的問題。而且檢測準(zhǔn)確率和速度仍有待提高。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種雙閾值自動焊接機焊盤檢測方法,以解決對焊盤位置的正確定位,對銅導(dǎo)線的正確定位,以及判斷銅導(dǎo)線是否放置到焊盤的正確位置的問題。本發(fā)明提出利用hsv(hue,saturation,value:色調(diào),飽和度,亮度)色度空間,采用兩套閾值,快速對焊盤位置進行定位;然后顏色特征對導(dǎo)線位置進行定位,然后通過導(dǎo)線在焊盤區(qū)域所占比例判定導(dǎo)線是否正確放置。該方法對不同環(huán)境適應(yīng)性強,速度快,準(zhǔn)確率高。
為了實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
一種雙閾值的自動焊接機焊盤檢測方法,包括以下步驟:
步驟1:使用工業(yè)相機拍攝點焊機器人待焊接焊盤位置,獲得原始待檢測rgb圖像;將原始rgb圖像轉(zhuǎn)換到hsv色度空間;使用閾值組1從上到下依次對圖像每一行進行檢測;閾值組1包括:h_low1、h_high1、s_low1、s_high1、v_low1、v_high1;當(dāng)某一像素點的h、s、v三通道滿足條件1:h_low1≤h≤h_high1,s_low1≤s≤s_high1,v_low1≤v≤v_high1,則對該行計數(shù)器xnum加1;對一行圖像檢測完成后,若xnum大于預(yù)設(shè)參數(shù)minxnum,則保留該行的行值;檢測完整幅圖像后,保留的行值中的最小值和最大值分別稱為焊盤中心上界和焊盤中心下界;
步驟2:以焊盤中心上界和焊盤中心下界起始,使用閾值組2分別向上和向下對圖像每一行進行檢測;閾值組2包括:h_low2、h_high2、s_low2、s_high2、v_low2、v_high2;當(dāng)連續(xù)兩行檢測到滿足條件2:h_low2≤h≤h_high2,s_low2≤s≤s_high2,v_low2≤v≤v_high2的像素點個數(shù)為0,檢測停止;停止時的行數(shù)為最終確定的焊盤上界和焊盤下界;
步驟3:在焊盤上界和焊盤下界范圍內(nèi),使用閾值組2從左到右掃描圖像,確定焊盤左界和焊盤右界;
步驟4:在每個焊盤的上界、下界、左界和右界范圍內(nèi),找到符合滿足條件2的部分,并計算其形心,作為焊盤形心;
步驟5:在以焊盤形心為圓心,r為半徑的圓形區(qū)域中,不滿足條件2的像素點,認(rèn)為其為導(dǎo)線;計算導(dǎo)線所占的面積比例,當(dāng)這一比例超過閾值3時,認(rèn)定導(dǎo)線在焊盤上置于正確的位置,否則,判定導(dǎo)線放置位置不合格;
步驟6:計算圓形區(qū)域中導(dǎo)線的形心,在焊接時,以導(dǎo)線形心為焊接點。
進一步的,步驟1中h_low1=19,h_high1=25,s_low1=100,s_high1、=150,v_low1、=220,v_high1=155。
進一步的,minxnum=40。
進一步的,h_low2=19,h_high2=25,s_low2=100,s_high2=150,v_low2=180,v_high2=155。
進一步的,步驟3具體為:在焊盤上界和焊盤下界范圍內(nèi),使用閾值組2從左到右掃描圖像,當(dāng)連續(xù)兩列檢測到滿足條件2的像素點時,前一列數(shù)為焊盤左界,當(dāng)連續(xù)兩列檢測到的滿足條件2的像素點個數(shù)為0時,當(dāng)前列數(shù)為焊盤右界。
進一步的,r=25。
進一步的,步驟6具體為:認(rèn)定導(dǎo)線在焊盤上置于正確的位置時,計算圓形區(qū)域中導(dǎo)線的形心:判定為導(dǎo)線的所有像素點的橫坐標(biāo)相加除以圓形區(qū)域所有像素點的個數(shù),結(jié)果為形心橫坐標(biāo);所有像素點的縱坐標(biāo)相加除以圓形區(qū)域所有像素點的個數(shù),結(jié)果為形心縱坐標(biāo),在焊接時,以導(dǎo)線形心為焊接點進行焊接。
進一步的,步驟1、步驟2和步驟3中,采用間隔檢測的方法。
進一步的,步驟3中存在兩種干擾:(1)焊盤外滿足閾值的部分;(2)因為導(dǎo)線平行于y軸,且貫穿整個焊盤,將焊盤隔斷,成為兩個獨立的區(qū)域;針對干擾(1),采用形態(tài)學(xué)濾波或中值濾波的方法剔除焊盤外干擾部分;針對干擾(2),通過判斷間隔大小將這種干擾剔除,從左向右依次對每列有效點進行計數(shù),有效點數(shù)少的列數(shù)小于閾值,則認(rèn)定為導(dǎo)線干擾,有效點數(shù)少的列數(shù)大于閾值,認(rèn)定為正常焊盤間隔。
相對于現(xiàn)有技術(shù),本發(fā)明具有以下有益效果:
(1)使用兩套閾值進行焊盤檢測和導(dǎo)線檢測,檢測準(zhǔn)確率高。
(2)計算焊盤上導(dǎo)線的形心,以導(dǎo)線形心作為焊接點,焊接效果好。
附圖說明
圖1是本發(fā)明對圖像坐標(biāo)系的定義;
圖2是本發(fā)明檢測方法的流程圖;
圖3是計算過程中,確定的焊盤中心上界、焊盤中心下界、焊盤上界、焊盤下界、焊盤左界、焊盤右界的示意圖。
具體實施方式
下面結(jié)合附圖說明和具體實施方式對本發(fā)明做詳細說明。
參照圖1,使用工業(yè)相機拍攝點焊機器人待焊接焊盤位置,獲得原始待檢測rgb圖像,待檢測圖像為二維平面圖像,在該平面上建立二維直角坐標(biāo)系(x,y),取1像素作為坐標(biāo)單位長度,取左上角像素點為原點(0,0),向右為x正方向,向下為y正方向。
參照圖2,本發(fā)明一種雙閾值自動焊接機焊盤檢測方法,包括如下步驟:
步驟1:將原始待檢測rgb圖像轉(zhuǎn)換到hsv色度空間。使用閾值組1從上到下依次對圖像每一行進行檢測;閾值組1包括:h_low1、h_high1、s_low1、s_high1、v_low1、v_high1;本實施例中,h_low1=19,h_high1=25,s_low1=100,s_high1、=150,v_low1、=220,v_high1=155。當(dāng)某一像素點的h、s、v三通道滿足條件1:h_low1≤h≤h_high1,s_low1≤s≤s_high1,v_low1≤v≤v_high1,則對該行計數(shù)器xnum加1。對一行圖像檢測完成后,若xnum大于預(yù)設(shè)參數(shù)minxnum,minxnum=40,則保留該行的行值。檢測完整幅圖像后,保留的行值中的最小值和最大值分別稱為焊盤中心上界和焊盤中心下界。
步驟2:以焊盤中心上界和焊盤中心下界起始,使用閾值組2分別向上和向下對圖像每一行進行檢測;閾值組2包括:h_low2、h_high2、s_low2、s_high2、v_low2、v_high2。h_low2=19,h_high2=25,s_low2=100,s_high2=150,v_low2=180,v_high2=155。當(dāng)連續(xù)兩行檢測到的滿足條件2:h_low2≤h≤h_high2,s_low2≤s≤s_high2,v_low2≤v≤v_high2的像素點個數(shù)為0,檢測停止。停止時的行數(shù)即為最終確定的焊盤上界和焊盤下界。
步驟3:在焊盤上界和焊盤下界范圍內(nèi),使用閾值組2從左到右掃描圖像,當(dāng)連續(xù)兩列檢測到滿足條件2的像素點時,前一列數(shù)為焊盤左界,當(dāng)連續(xù)兩列檢測到的滿足條件2的像素點個數(shù)為0時,當(dāng)前列數(shù)為焊盤右界。
參照圖3,焊盤中心上界、焊盤中心下界、焊盤上界、焊盤下界、焊盤左界、焊盤右界在圖像坐標(biāo)系下的位置。
步驟4:在每個焊盤的上界、下界、左界和右界范圍內(nèi),找到符合滿足條件2的全部像素點,并計算其形心,作為焊盤形心。
步驟5:在以焊盤形心為圓心,r為半徑(r=25)的圓形區(qū)域中,不滿足條件2的像素點,認(rèn)為其為導(dǎo)線。計算導(dǎo)線所占的面積比例:導(dǎo)線面積占以焊盤形心為圓心,r為半徑的圓形區(qū)域的比例,當(dāng)這一比例超過閾值3時,認(rèn)定導(dǎo)線在焊盤上置于正確的位置,否則,判定導(dǎo)線放置位置不合格。不合格時,判定導(dǎo)線放置位置錯誤,標(biāo)記該導(dǎo)線和焊盤。
步驟6:認(rèn)定導(dǎo)線在焊盤上置于正確的位置時,計算圓形區(qū)域中導(dǎo)線的形心:判定為導(dǎo)線的所有像素點的橫坐標(biāo)相加除以圓形區(qū)域所有像素點的個數(shù),結(jié)果為形心橫坐標(biāo);所有像素點的縱坐標(biāo)相加除以圓形區(qū)域所有像素點的個數(shù),結(jié)果為形心縱坐標(biāo),在焊接時,以導(dǎo)線形心為焊接點進行焊接。
進一步的,為提高計算速度,步驟1、步驟2和步驟3中,采用間隔檢測的方法。
進一步的,步驟2中,會有干擾區(qū)域與焊盤連接,為了不使干擾區(qū)域過大影響邊界確定,設(shè)置邊界上限和邊界下限兩個參數(shù)。
進一步的,步驟3中存在兩種干擾:(1)焊盤外滿足閾值的部分;(2)因為導(dǎo)線平行于y軸,且貫穿整個焊盤,將焊盤隔斷,成為兩個獨立的區(qū)域。針對干擾(1),采用形態(tài)學(xué)濾波或中值濾波的方法剔除焊盤外干擾部分。針對干擾(2),通過判斷間隔大小將這種干擾剔除,從左向右依次對每列有效點進行計數(shù),有效點數(shù)少的列數(shù)小于閾值,則認(rèn)定為導(dǎo)線干擾,有效點數(shù)少的列數(shù)大于閾值,認(rèn)定為正常焊盤間隔。去除干擾(1)和(2)最終得到每個焊盤的左界和右界。