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