上视觉校正
当前位置:首页 > 技术分享 > 上视觉校正

上视觉校正

小施 2020-12-24 11214


上视觉通常是指在机械手臂的末端,额外挂载一台工业相机,就像手臂的眼睛一样,让影像拍到目标物的位置后,手臂末端夹具可以准确地移动过去取物,在自动化中是一个很常见的整合应用。但是相机中心与手臂末端并不是在同一个Z轴上,那么中间的距离该如何精准地计算出来,这就是上视觉校正的目的。而在校正之前,必须要先取得一些参数:


  1. Scale:影像像素与实际距离的转换。也就是影像中的每一个像素在真实世界中所占的距离。计算的方法非常简单,先在影像中设定一个固定不动特征点并记录此点座标,接着单独移动手臂x轴或y轴(只能移动一轴),再纪录移动后特征点的影像座标,接着(手臂移动的距离) / (两个座标的直线距离) = Scale。换句话说,假如计算出的Scale为0.1,单位为mm,那么之后影像中的两个物件座标如果相差100个像素,乘上Scale就可得知两个物件实际上相差了10mm。

  2. 角度:影像座标系与手臂座标系(世界座标)相差的夹角。大部分的情况,工业相机是额外挂载在手臂上面,因此影像座标系与手臂座标系之间一定有角度误差,透过移动后特征点与移动前特征点相减算出与,再使用atan2函数将计算出来即可。


有了上述两个参数后,就可以开始进行上视觉校正的工作了。首先,将影像里的特征点座标(x ,y )减掉影像中心座标(如果是2590*1942的工业相机,影像中心座标为1295, 971,以此类推),再乘上Scale,计算结果就是影像中心与特征点的真实距离。但是这个计算结果是位于影像坐标系上,而影像座标系与手臂座标系之间有角度差,因此算出的真实距离必须再乘上旋转矩阵公式,才是手臂座标系的真实距离。如果到这边计算没有错误的话,用手臂移动刚刚计算出的距离后撷取影像,就会发现特征点会在影像的正中心,再把当下手臂的位置记录下来。


接下来,把相机以手臂末端为中心旋转180度(小心不要撞到),平移手臂让相机拍的到特征点,并重复上一段的作法使得特征点移至影像中心,再纪录手臂位置。这时你所记录的两个手臂位置,是以特征点为中心,手臂末端各在两侧,如右侧示意图。再来只要将两个手臂位置的x与y分别相加除以2,即可得知影像中心与手臂末端的距离。



本文链接地址:https://schnoka-vts.com/post/278.html
标签:相机

立即定制视觉方案