打孔機影像定位系統(tǒng)設計
發(fā)布時間:2007/4/23 0:00:00 訪問次數(shù):662
影像定位后的坐標轉換
市面上影像比對的函數(shù)庫(Library)很多,使用者可以自行選用合適的函數(shù)庫。以下所提的系統(tǒng)采用Euresys公司開發(fā)的eVision EasyMatch,這是一種基于灰度相關性的圖像匹配函數(shù)庫,速度非?,而且能夠達到次像素(sub-pixel)精度的匹配結果。對于旋轉、比率變化(縮/放)和平移等,都能精確找到模板圖像(Golden Image)的位置。故本文僅對影像定位后的二維坐標產生的“位移”與“旋轉”做探討。
● 坐標位移
公式:X2 = X1 + ΔX
Y2 = Y1 + ΔY
圖1 坐標位移示意圖
圖1是坐標位移的示意圖。
● 坐標旋轉
(1)將(X1,Y1)轉換成極坐標→ (X1,Y1) = (R1,θ1)
其中,R1 = √X12 + Y12
θ1 = arctan( Y1 / X1 ),即反正切函數(shù)
(2)θ2 = θ1 + θ,其中,θ= 表示旋轉角度
得出 X2 = Cos (θ2) * R1
= Cos (arctan(Y1/X1)+θ) *
√X12 + Y12
Y2 = Sin(θ2) * R1
= Sin(arctan(Y1/X1)+θ) * √X12 + Y12
圖2 坐標旋轉的示意圖
圖2是坐標旋轉的示意圖。
● 坐標位移+旋轉
遇到同時發(fā)生坐標位移和旋轉時,先計算位移,再套用旋轉的公式,即可算出最后的結果。
下面介紹如何設計出結合“機械運動”與“計算機視覺”的自動化定位系統(tǒng)。
基本架構
● GEME-3000主控制器:含HSL控制卡,安裝Windows XP操作系統(tǒng)
● 3-Axis定位平臺:三菱伺服馬達+滾珠螺桿
● 運動控制器:HSL-4XMO控制模塊
● 計算機視覺組件:使用IEEE 1394 CCD采集影像,利用Euresys eVision的
EasyMatch進行影像比對(Pattern Match),作定位偏移的補正計算。
完整的實際系統(tǒng)如圖3所示。
圖3 系統(tǒng)架構實機圖
系統(tǒng)校正
● Mitsubishi驅動器調校:10 000 pulse/roll,即運動控制卡送出10 000個脈波,馬達會轉一圈。
● 滾珠螺桿的螺距vs. Pulse/Roll:如,螺距=10mm/roll,10 000 pulse/roll意味著1μm/pulse,即每發(fā)出一個脈沖,螺桿會前進1μm。
● F.O.V.(Field of View)的選定:F.O.V.要大于定位點的大小,太小則導致可接受的“初步定位”誤差變。惶髣t導致因定位點影像太小,影像定位誤差大。
● CCD工作距離的選定:工作距離要大于打孔頂針,以免對焦時打孔頂針撞到工件。當F.O.V.及工作距離確認后,即求出鏡頭和延伸環(huán)。
教導作業(yè)
● 啟動系統(tǒng)3軸回到初始位置,待3軸回定位后,再由人工將工件置于3軸之定位平臺上并作“初步定位”;
● 手動控制Z軸緩慢下降,使其接近定位平臺上方(約0.5~1.0mm);
● 手動控制X/Y軸,使打孔頂針剛好在工件第一個孔位上方;再將Z軸緩慢下降,使其插入第一個孔位內。如定位不準,可以手動移動工件,使其定位更準確。
● 精確定位后,將Z軸上升至CCD的實時影像可看到完整“定位點”后,執(zhí)行圖4所示的流程圖。
圖4 圖像處理軟流程圖
自動定位
● 由人工將工件置于3軸定位平臺上,作“初步定位”后并啟動本系統(tǒng);
● 系統(tǒng)會驅動3軸定位平臺將CCD移至定位點上方(2個不同位置),取像并利用已“教導”的標準影像做“影像比對”作業(yè);
● 計算出“初步定位”的偏移量(Shift X/Y)及旋轉角度 (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*C
影像定位后的坐標轉換
市面上影像比對的函數(shù)庫(Library)很多,使用者可以自行選用合適的函數(shù)庫。以下所提的系統(tǒng)采用Euresys公司開發(fā)的eVision EasyMatch,這是一種基于灰度相關性的圖像匹配函數(shù)庫,速度非常快,而且能夠達到次像素(sub-pixel)精度的匹配結果。對于旋轉、比率變化(縮/放)和平移等,都能精確找到模板圖像(Golden Image)的位置。故本文僅對影像定位后的二維坐標產生的“位移”與“旋轉”做探討。
● 坐標位移
公式:X2 = X1 + ΔX
Y2 = Y1 + ΔY
圖1 坐標位移示意圖
圖1是坐標位移的示意圖。
● 坐標旋轉
(1)將(X1,Y1)轉換成極坐標→ (X1,Y1) = (R1,θ1)
其中,R1 = √X12 + Y12
θ1 = arctan( Y1 / X1 ),即反正切函數(shù)
(2)θ2 = θ1 + θ,其中,θ= 表示旋轉角度
得出 X2 = Cos (θ2) * R1
= Cos (arctan(Y1/X1)+θ) *
√X12 + Y12
Y2 = Sin(θ2) * R1
= Sin(arctan(Y1/X1)+θ) * √X12 + Y12
圖2 坐標旋轉的示意圖
圖2是坐標旋轉的示意圖。
● 坐標位移+旋轉
遇到同時發(fā)生坐標位移和旋轉時,先計算位移,再套用旋轉的公式,即可算出最后的結果。
下面介紹如何設計出結合“機械運動”與“計算機視覺”的自動化定位系統(tǒng)。
基本架構
● GEME-3000主控制器:含HSL控制卡,安裝Windows XP操作系統(tǒng)
● 3-Axis定位平臺:三菱伺服馬達+滾珠螺桿
● 運動控制器:HSL-4XMO控制模塊
● 計算機視覺組件:使用IEEE 1394 CCD采集影像,利用Euresys eVision的
EasyMatch進行影像比對(Pattern Match),作定位偏移的補正計算。
完整的實際系統(tǒng)如圖3所示。
圖3 系統(tǒng)架構實機圖
系統(tǒng)校正
● Mitsubishi驅動器調校:10 000 pulse/roll,即運動控制卡送出10 000個脈波,馬達會轉一圈。
● 滾珠螺桿的螺距vs. Pulse/Roll:如,螺距=10mm/roll,10 000 pulse/roll意味著1μm/pulse,即每發(fā)出一個脈沖,螺桿會前進1μm。
● F.O.V.(Field of View)的選定:F.O.V.要大于定位點的大小,太小則導致可接受的“初步定位”誤差變小;太大則導致因定位點影像太小,影像定位誤差大。
● CCD工作距離的選定:工作距離要大于打孔頂針,以免對焦時打孔頂針撞到工件。當F.O.V.及工作距離確認后,即求出鏡頭和延伸環(huán)。
教導作業(yè)
● 啟動系統(tǒng)3軸回到初始位置,待3軸回定位后,再由人工將工件置于3軸之定位平臺上并作“初步定位”;
● 手動控制Z軸緩慢下降,使其接近定位平臺上方(約0.5~1.0mm);
● 手動控制X/Y軸,使打孔頂針剛好在工件第一個孔位上方;再將Z軸緩慢下降,使其插入第一個孔位內。如定位不準,可以手動移動工件,使其定位更準確。
● 精確定位后,將Z軸上升至CCD的實時影像可看到完整“定位點”后,執(zhí)行圖4所示的流程圖。
圖4 圖像處理軟流程圖
自動定位
● 由人工將工件置于3軸定位平臺上,作“初步定位”后并啟動本系統(tǒng);
● 系統(tǒng)會驅動3軸定位平臺將CCD移至定位點上方(2個不同位置),取像并利用已“教導”的標準影像做“影像比對”作業(yè);
● 計算出“初步定位”的偏移量(Shift X/Y)及旋轉角度 (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*C