15818624218
邮箱:liusyscnc@qq.com
QQ:790708208
地址:深圳市光明区光明街道碧眼社区华强创意公园5栋A座19楼
CCD视觉定位系统的方法实现
关于CCD定位的方法总结.
如图1所示坐标系
图1
这是一台自动钻孔机的示意图.
1. 坐标系代表钻孔机的平台坐标系(X轴, Y轴).
2. 红点代表钻头, 坐标是(-70, -30).
3. 蓝点代表CCD的中心, 坐标是(-50, -45).
自动钻孔机的功能就是在平台上放入一块板材, 钻头自动在板材的指定位置上钻孔.
怎样让钻头移动到板材的正确位置钻孔呢?
视觉定位系统通常板材上有3个或3个以上的定位孔. 通过定位孔定位, 板材在平台上的位置就确定了, 那么钻头就可以在板材上的任何指定位置上钻孔了.
(因为定位孔与要钻孔的相对位置是知道的.)
但是有一个问题, 由于实物安装的关系, 钻头与CCD并不同轴的, 但它们是同步移动的.(或者说, 在同一时刻, 钻头与CCD的坐标是不同的, 但有一个固定偏移值的.)
如图1所示 偏移 = (-70, -30) - (-50, -46) = [-20, 16]
这个偏移值引起的问题就是CCD定位板材得到的坐标与钻头要钻孔的坐标会相差"这个固定的偏移值".
视觉定位系统怎样计算出这个偏移值?
这个偏移值在这里很容易计算, 两个点相减就是了. 但实际中你很难用尺在实物中测量.
所以需要使用一定的方法来计算测量.
可以利用的条件:
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
通常的结果是如图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像素/毫米 // 这里像素要转换成平台坐标系相同的单位.
YOffset = Y2 - (-30) + (384 - Y3) * XX像素/毫米 // 这里为什么是384 - Y3, 因为3.4.B.
小结: 1. 视觉定位系统描述的非常绕口, 但原理就是这样子, 都是一些相对关系, 还有就是单位转换, 不是加就是减, 很容易搞错.
2. 使用坐标平台的坐标是可以获得的, CCD需要标定, 坐标系单位要统一, CCD的坐标系Y轴通常是向下递增的.
3. 理解相对平移的关系: 钻头和CCD是固定在一起的, 钻头走了多少距离, CCD就走了多少距离. 所以在钻头钻孔后, 移动平台使CCD中心与钻孔重合, 钻头移动的距离(CCD也移动了这个距离),就是钻头与CCD的偏移值了。