首先您要确定的两个坐标系统的角度偏差值。我们把这一角度称为偏差角。一种简单的做法是通过移动工作台一个已知角度,利用机器视觉系统来测量起始位置和终止位置来确定该偏差角。例如,假定您仅在X轴移动了工作台2000单位(0,0到2000,0位置)。由于您只移动了X轴,在图像坐标系中测量的Y轴的任何移动都能帮助您确定该偏差角。如果相机的图像显示工作台在X轴移动了173像素,在Y轴移动了100像素,可以通过对Y和X比值的反正切来计算旋转的角度。对100/173取反正切得到偏差角为30度。
<-- 2007-12-26 19:49:21-->
在确定了偏差角后,下一步您要确定视觉单元和运动控制单元之间的转换关系。您可以通过比较在图像中测量出的运动距离和在运动控制中给出的运动距离来计算得该转换公式。为了确定在图像中的移动距离Z,可以利用勾股定理通过X值和Y值进行计算。Z=sqrt(X^2+Y^2)。
在视觉系统中移动的长度=sqrt(100^2+173^2) = 200像素。
现在您可以从上面的范例中知道,视觉单元到运动控制单元的比率为200:2000或1:10。在进行校准时您需要注意的一点是当您在校准时采样的点数越多,在最后您的校准结果越准确。另一点需要注意的是运动控制系统可能有轻微缺陷,这会导致不同部件移动相同距离有轻微差别。为了提高可重复率,您应该通过采集不同点的多个样本来计算转换比率。此外,使用这种比率,您可以发现为了能在图像上观察到一个像素距离的移动,您至少需要将工作台移动10个单位。这些类系统中,工作台的分辨率远高于镜头的分辨率的情况是很常见的,这意味着图像中的微小移动将会在运动系统中导致很大的位移变化。若您连续的核对工作台的位置,您可能发现它会在目标位置附近跳动。一旦出现这样的情况,您可以考虑设置盲区,这样当您感觉工作台已足够接近目标区域,运动控制就不再继续进行调整。
坐标转换
下一步我们将要利用系统的相关信息来决定如何把相机坐标系统上点的位置转换到工作台坐标系统上。可以
利用下图来更好地说明这种转换如何实现:假定将工作台从0,0移动到到相机坐标系统的新位置X1 和Y1(以蓝色代表),X1和Y1都位于第一象限内。
关于坐标转换,您需要知道某点在工作台坐标系统中的X坐标和Y坐标,在图中由红色的虚线表示。在相机坐标系统中的X坐标和Y坐标是已知的,利用它们您可以很容易地计算出在相机坐标系统中的偏差角。利用相机坐标系统下的角度矢量减去已知的偏置角就能方便地得到工作台坐标系统中的角度矢量。利用矢量H作为斜边您可以构建一个直角三角形,Y2和X2是它的两条未知长度的直角边。对于直角三角形,当您知道其中一条边和一个角的大小,就能够计算出其余两条边的大小。由于我们已经通过计算得到了工作台坐标系统中的矢量角度的大小,就可以通过正弦定律和余弦定律来计算其余两条边的大小。结果如下:
通过sin(theta3)=Y2/H 得到 H*sin(angle in stage frame)= Y2
通过cos(theta3)=X2/H 得到H*cos(angle in stage frame)= X2
图5坐标转换的LabVIEW代码
利用这组简单的等式,您可以完成从已知的图像坐标系下的坐标到未知的工作台坐标系下的坐标的转换。在使用这种方式时需要注意的是,当矢量落在其它象限时等式会有所不同。然而,确定其它象限下坐标变换的等式和以上方法非常类似。
对于特定的应用,您可以使用闭环控制来实现运动视觉校准。这种方法的原理是利用某一特征在理想位置和观察位置的差值作为误差信号来进行一个控制回路。例如,您可以将部件上的一个凹槽作为特征,将它调整到图像中的某个理想位置。控制回路会在连续循环中不断调整部件或相机,误差会越来越小直到理想位置和观察到的特征点的位置重合。利用这种方法,您可以轻松地校准相机和工作台的坐标系统。您还可以进一步利用估计算法在控制部件的同时估算出系统的缺陷,比如光照变化以及图像采集中较低的帧速。
结论
视觉导引运动控制系统适和多种应用,从大量元件的自动分析到简单的捡取和放置应用。设计这种系统虽然很复杂,但它能最大限度地提高生产效率。校准只是建立整个系统比较初级的部分但它非常重要。消除视觉系统的失真、将运动单元与视觉单元相关联以及进行坐标转换是非常重要的几个部分,它们可以提高您的视觉导引运动系统的精度、可重用性以及整体价值。
转载请注明出处。