技術文章
CCD視覺定位系統(tǒng)的方法實現(xiàn)
閱讀:411 發(fā)布時間:2022-4-1關于CCD定位的方法總結(jié).
如圖1所示坐標系
圖1
這是一臺自動鉆孔機的示意圖.
1. 坐標系代表鉆孔機的平臺坐標系(X軸, Y軸).
2. 紅點代表鉆頭, 坐標是(-70, -30).
3. 藍點代表CCD的中心, 坐標是(-50, -45).
自動鉆孔機的功能就是在平臺上放入一塊板材, 鉆頭自動在板材的位置上鉆孔.
怎樣讓鉆頭移動到板材的正確位置鉆孔呢?
視覺定位系統(tǒng)通常板材上有3個或3個以上的定位孔. 通過定位孔定位, 板材在平臺上的位置就確定了, 那么鉆頭就可以在板材上的任何位置上鉆孔了.
(因為定位孔與要鉆孔的相對位置是知道的.)
但是有一個問題, 由于實物安裝的關系, 鉆頭與CCD并不同軸的, 但它們是同步移動的.(或者說, 在同一時刻, 鉆頭與CCD的坐標是不同的, 但有一個固定偏移值的.)
如圖1所示 偏移 = (-70, -30) - (-50, -46) = [-20, 16]
這個偏移值引起的問題就是CCD定位板材得到的坐標與鉆頭要鉆孔的坐標會相差"這個固定的偏移值".
視覺定位系統(tǒng)怎樣計算出這個偏移值?
這個偏移值在這里很容易計算, 兩個點相減就是了. 但實際中你很難用尺在實物中測量.
所以需要使用一定的方法來計算測量.
可以利用的條件:
1. 平臺坐標, 這個通常是已知的(這個是關鍵).
2. CCD中心和鉆頭
步驟:
1. 先移動鉆頭到平臺的某一個位置鉆一個孔, 記錄當前的平臺坐標, 例如(-70, -30).
2. 然后移動鉆頭/CCD, 讓CCD的中心對準鉆孔(CCD中心與鉆孔重合). 所以此時CCD的坐標也是(-70, -30), 同時平臺的坐標肯定就是(-70 + XOffset, -30 + YOffset)了.
3. (-70 + XOffset, -30 + YOffset)在平臺坐標是知道的, 例如是(-90, -14)
那么
XOffset = -90 - (-70) = -20;
YOffset = -14 - (-30) = 16;
原理就是這樣.
如果手動能準確的把鉆孔對準到CCD中心, 我切.
圖2
通常的結(jié)果是如圖2所示那樣:
矩形就是CCD的圖像, 那么矩形的中心就是CCD的中心. 而鉆孔總是或多或少的偏移CCD中心.
但是有一點是關鍵的, 那就是從鉆頭鉆孔, 到移動CCD看見孔這個過程鉆頭移動了多少我們是知道的.
步驟:
1. 先移動鉆頭到平臺的某一個位置鉆一個孔, 記錄當前的平臺坐標, 例如(-70, -30).(如圖1)
2. 然后移動鉆頭/CCD, 讓鉆孔能在CCD上可以顯示(如圖2). 記錄當前平臺坐標, 例如(X2, Y2).
3. 很明顯, CCD中心與鉆孔沒有重合, 差多少重合呢? 看圖2就知道.
3.1 假設圖像分辨率是1024*768, 所以圖2中藍點的坐標是(1024 / 2, 768 / 2) = (512, 384).
3.2 紅點在圖像的坐標是多少? 用鼠標點一下就知道了, 你懂的. 假設是(X3, Y3), 具體點, 假設是(600, 200).
3.3 所以CCD中心與鉆孔差(600, 200) - (512, 384) = (88, -184)像素就重合.
或者說(X3, Y3) - (512, 384);
3.4 注意到什么? A. 圖像坐標系與平臺坐標系單位不同. B. 平臺坐標系Y軸向下遞減, 圖像坐標系Y軸向下是遞增的.
4. 所以有:(-70 + XOffset, -30 + YOffset) = (X2, Y2) + ((X3, 384) - (512, Y3))
XOffset = X2 - (-70) + (X3 - 512) * XX像素/毫米 // 這里像素要轉(zhuǎn)換成平臺坐標系相同的單位.
YOffset = Y2 - (-30) + (384 - Y3) * XX像素/毫米 // 這里為什么是384 - Y3, 因為3.4.B.
小結(jié): 1. 視覺定位系統(tǒng)描述的非常繞口, 但原理就是這樣子, 都是一些相對關系, 還有就是單位轉(zhuǎn)換, 不是加就是減, 很容易搞錯.
2. 使用坐標平臺的坐標是可以獲得的, CCD需要標定, 坐標系單位要統(tǒng)一, CCD的坐標系Y軸通常是向下遞增的.
3. 理解相對平移的關系: 鉆頭和CCD是固定在一起的, 鉆頭走了多少距離, CCD就走了多少距離. 所以在鉆頭鉆孔后, 移動平臺使CCD中心與鉆孔重合, 鉆頭移動的距離(CCD也移動了這個距離),就是鉆頭與CCD的偏移值了。