關(guān) 閉

        新聞中心

        EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 打孔機(jī)影像定位系統(tǒng)設(shè)計(jì)

        打孔機(jī)影像定位系統(tǒng)設(shè)計(jì)

        作者: 時(shí)間:2006-10-16 來(lái)源:網(wǎng)絡(luò) 收藏

        前言

        計(jì)算機(jī)視覺(jué)的應(yīng)用大致上可以分成、量測(cè)、識(shí)別、缺陷檢測(cè)四大類,其中以的應(yīng)用最為廣泛。機(jī)器視覺(jué)可以用來(lái)檢視主機(jī)板上的電子組件,也可以用來(lái)控制機(jī)械手臂,在機(jī)械手臂上加裝CCD,利用辨識(shí)的,帶動(dòng)機(jī)械手臂來(lái)做病毒研究、藥物混合等一些高危險(xiǎn)性的醫(yī)療研究。除了精準(zhǔn)之外,對(duì)人類的生命也比較有安全保障。

        定位后的坐標(biāo)轉(zhuǎn)換

        市面上比對(duì)的函數(shù)庫(kù)(Library)很多,使用者可以自行選用合適的函數(shù)庫(kù)。以下所提的采用Euresys公司開(kāi)發(fā)的eVision EasyMatch,這是一種基于灰度相關(guān)性的圖像匹配函數(shù)庫(kù),速度非常快,而且能夠達(dá)到次像素(sub-pixel)精度的匹配結(jié)果。對(duì)于旋轉(zhuǎn)、比率變化(縮/放)和平移等,都能精確找到模板圖像(Golden Image)的位置。故本文僅對(duì)影像定位后的二維坐標(biāo)產(chǎn)生的“位移”與“旋轉(zhuǎn)”做探討。

        ● 坐標(biāo)位移
        公式:X2 = X1 + ΔX
        Y2 = Y1 + ΔY

        圖1 坐標(biāo)位移示意圖

        圖1是坐標(biāo)位移的示意圖。

        ● 坐標(biāo)旋轉(zhuǎn)
        (1)將(X1,Y1)轉(zhuǎn)換成極坐標(biāo)→ (X1,Y1) = (R11)
        其中,R1 = √X12 + Y12
        θ1 = arctan( Y1 / X1 ),即反正切函數(shù)
        (2)θ2 = θ1 + θ,其中,θ= 表示旋轉(zhuǎn)角度
        得出 X2 = Cos (θ2) * R1
        = Cos (arctan(Y1/X1)+θ) *
        √X12 + Y12
        Y2 = Sin(θ2) * R1
        = Sin(arctan(Y1/X1)+θ) * √X12 + Y12

        圖2 坐標(biāo)旋轉(zhuǎn)的示意圖

        圖2是坐標(biāo)旋轉(zhuǎn)的示意圖。

        ● 坐標(biāo)位移+旋轉(zhuǎn)
        遇到同時(shí)發(fā)生坐標(biāo)位移和旋轉(zhuǎn)時(shí),先計(jì)算位移,再套用旋轉(zhuǎn)的公式,即可算出最后的結(jié)果。

        下面介紹如何出結(jié)合“機(jī)械運(yùn)動(dòng)”與“計(jì)算機(jī)視覺(jué)”的自動(dòng)化定位

        基本架構(gòu)

        ● GEME-3000主控制器:含HSL控制卡,安裝Windows XP操作系統(tǒng)
        ● 3-Axis定位平臺(tái):三菱伺服馬達(dá)+滾珠螺桿
        ● 運(yùn)動(dòng)控制器:HSL-4XMO控制模塊
        ● 計(jì)算機(jī)視覺(jué)組件:使用IEEE 1394 CCD采集影像,利用Euresys eVision的
        EasyMatch進(jìn)行影像比對(duì)(Pattern Match),作定位偏移的補(bǔ)正計(jì)算。
        完整的實(shí)際系統(tǒng)如圖3所示。

        圖3 系統(tǒng)架構(gòu)實(shí)機(jī)圖

        系統(tǒng)校正

        ● Mitsubishi驅(qū)動(dòng)器調(diào)校:10 000 pulse/roll,即運(yùn)動(dòng)控制卡送出10 000個(gè)脈波,馬達(dá)會(huì)轉(zhuǎn)一圈。
        ● 滾珠螺桿的螺距vs. Pulse/Roll:如,螺距=10mm/roll,10 000 pulse/roll意味著1μm/pulse,即每發(fā)出一個(gè)脈沖,螺桿會(huì)前進(jìn)1μm。
        ● F.O.V.(Field of View)的選定:F.O.V.要大于定位點(diǎn)的大小,太小則導(dǎo)致可接受的“初步定位”誤差變小;太大則導(dǎo)致因定位點(diǎn)影像太小,影像定位誤差大。
        ● CCD工作距離的選定:工作距離要大于打孔頂針,以免對(duì)焦時(shí)打孔頂針撞到工件。當(dāng)F.O.V.及工作距離確認(rèn)后,即求出鏡頭和延伸環(huán)。

        教導(dǎo)作業(yè)

        ● 啟動(dòng)系統(tǒng)3軸回到初始位置,待3軸回定位后,再由人工將工件置于3軸之定位平臺(tái)上并作“初步定位”;
        ● 手動(dòng)控制Z軸緩慢下降,使其接近定位平臺(tái)上方(約0.5~1.0mm);
        ● 手動(dòng)控制X/Y軸,使打孔頂針剛好在工件第一個(gè)孔位上方;再將Z軸緩慢下降,使其插入第一個(gè)孔位內(nèi)。如定位不準(zhǔn),可以手動(dòng)移動(dòng)工件,使其定位更準(zhǔn)確。
        ● 精確定位后,將Z軸上升至CCD的實(shí)時(shí)影像可看到完整“定位點(diǎn)”后,執(zhí)行圖4所示的流程圖。

        圖4 圖像處理軟流程圖

        自動(dòng)定位

        ● 由人工將工件置于3軸定位平臺(tái)上,作“初步定位”后并啟動(dòng)本系統(tǒng);
        ● 系統(tǒng)會(huì)驅(qū)動(dòng)3軸定位平臺(tái)將CCD移至定位點(diǎn)上方(2個(gè)不同位置),取像并利用已“教導(dǎo)”的標(biāo)準(zhǔn)影像做“影像比對(duì)”作業(yè);
        ● 計(jì)算出“初步定位”的偏移量(Shift X/Y)及旋轉(zhuǎn)角度 (Rotation Angle);
        tx = GoldeXY[CCD_Find][1] - m_Find.GetCenterX();
        ty = GoldeXY[CCD_Find][0] - m_Find.GetCenterY();
        if (CCD_Find==0) { //第一次定位
        shiftx = ZeroX - tx*Calibration;
        shifty = CCD_Y - ty*Calibration;
        } else { //第二次定位
        dx = CCD_Locate[1][0] - tx*Calibration;
        dy = CCD_Y - ty*Calibration;
        angle = atan2( dy - shifty, shiftx-dx);
        CalNewLocate(angle, shiftx, shifty);
        }
        ● 通過(guò)“極坐標(biāo)轉(zhuǎn)換”,重新計(jì)算工件上所有孔位的新坐標(biāo)(Point Table)。
        void CalNewLocate(F64 angle, F64 shiftx, F64 shifty)
        {
        int i;
        F64 P[TOTAL_POINT*2];
        F64 t;

        for (i=0; iTOTAL_POINT; i++) { //極坐標(biāo)轉(zhuǎn)換
        P[i*2] = sqrt( OrgLocate[i*2] * OrgLocate[i*2]
        + OrgLocate[i*2+1] * OrgLocate[i*2+1]);
        P[i*2+1] = atan2( OrgLocate[i*2],
        OrgLocate[i*2+1])+ angle;
        }
        for (i=0; iTOTAL_POINT; i++) {
        t = P[i*2]*sin(P[i*2+1]);
        NewLocate[i*2] = (shiftx + t)*SCALE_X;
        t = P[i*2]*cos(P[i*2+1]);
        NewLocate[i*2+1] = (shifty + t)*SCALE_Y;
        }
        }

        結(jié)束語(yǔ)

        機(jī)器視覺(jué)系統(tǒng)不但大幅的提升了工業(yè)的生產(chǎn)力,而且增加了使用者的能力。使用機(jī)器視覺(jué)系統(tǒng)可以保護(hù)人眼的健康和提高檢測(cè)精度,而機(jī)器視覺(jué)系統(tǒng)能24小時(shí)不停頓地工作,且能在高速下執(zhí)行檢查,而檢視的準(zhǔn)確度也能控制在較穩(wěn)定的程度之內(nèi)。

        此外,在危險(xiǎn)工作環(huán)境中,在需要快速處理的軍事武器操控,實(shí)時(shí)、大量的生產(chǎn)線上,在量測(cè)、定位、對(duì)象判別等高精確性工作中,機(jī)器視覺(jué)系統(tǒng)也都有很好的應(yīng)用前景。



        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 建水县| 株洲县| 石城县| 晋宁县| 靖安县| 阿拉善右旗| 贵德县| 通许县| 仁怀市| 铜陵市| 黄冈市| 荔波县| 中卫市| 通许县| 常德市| 色达县| 湄潭县| 凭祥市| 寻乌县| 周宁县| 襄樊市| 克什克腾旗| 荆门市| 锡林浩特市| 崇文区| 道孚县| 安吉县| 平乡县| 兰坪| 嘉禾县| 高邑县| 凤庆县| 灵丘县| 高州市| 疏勒县| 通化市| 德州市| 公安县| 中方县| 营山县| 武功县|