当您开发一个视觉导引运动控制系统时,有很多方面需要考虑。其中重要的一点就是如何建立该系统。比如一个视觉导引运动控制系统用于在移动电话上安装机盖,每次电话的位置和方向可能有所不同。为了使问题变得简单,假定移动电话放置在X-Y-Theta工作台来校正位置以及方向。视觉系统用来定位机盖并测量电话移动到正确位置运动系统需要移动的方向和距离。开发这样的系统也有很多的问题必须考虑到,例如视觉单元如何和运动单元关联来保证把部件移动到位。在运动和视觉单元之间建立通信需要校准。如图1所示,在校准一个视觉导引运动控制系统时,需要按照以下几个步骤进行:首先,您需要校正图像系统的所有失真,它们有可能导致错误的测量距离被传递到运动控制系统上;然后,您需要把图像测量的距离(通常用像素表达)和工作台或电机测量的距离(通常用步进的次数或计数值)联系起来;最后,您需要把运动控制系统与视觉坐标系统相关联,从而校正两个系统的偏移。这种图像测量距离到运动控制距离的转换依赖于很多的参数,其中包括相机和被测物体间的距离以及镜头的类型。相机焦距的改变会使得物体成像的大小有所不同CONTROL ENGINEERING China版权所有,因此测量的结果也会与相机移动之前有所不同。一个简单的视觉和运动控制系统框图如图1所示。
常见失真的校正
当校正运动控制部分在2维平面上的视觉导引运动控制系统时,应该确保您的相机垂直于该平面或工作台。如果相机不垂直,那么图像将有透视性失真,就是说对于一个各部分尺寸相同的物体,距离相机近的部分会比显得比距离相机远的部分要大。某些软件包,如NI视觉软件,可以使用某些校准算法来校正这些透视性失真。
在校准系统时镜头失真也一种误差源。镜头失真来自于镜头边缘的变形。这会导致直线在图像边缘上变成曲线。像透视性失真一样,镜头失真可以使用某些图像处理软件如NI 视觉软件的特定功能在进行校正。
关联视觉单元和运动控制单元
校准视觉导引运动控制系统可以通过多种方法来实现。最简单的方法是通过实验利用机器视觉和运动控制单元采集到的数据来校准系统。使用这种方法www.cechina.cn,您可以移动运动控制系统到多个工作点并使用机器视觉系统来测量其运动的的距离。利用所采集到的数据www.cechina.cn,您可以确定计算出从相机的像素值与工作台运动之间的等式关系,比如说编码器的计数单位。回到移动电话捡取和放置的例子,假定您的工作台向X方向移动了1cm,您使用相机观察到工作台在X方向移动了100像素。您就可以建立一个校准常量0.01 cm/像素,它说明您在工作台上所测量的0.01 cm相当于1个像素。
图2 用于关联视觉单元和运动控制单元的LabVIEW 代码
关联运动坐标系统和视觉坐标系统
在消除或校正了图像系统的失真影响后,另一个您在设计系统时要防范的问题是确保相机的坐标系统和运动控制的坐标系统同轴。根据具体的应用以及您所要获得的精度,同轴性可能会成为提高性能的最关键环节。相机和运动控制坐标系统不严格同轴会导致指令的偏差。例如,如果您使用不同轴的工作台和相机,当物体在工作台上沿X方向向移动时相机会记录工作台在X方向和Y方向同时移动。使用坐标转换可以校正坐标系统的偏移。坐标转换可以把一个坐标系统(工作台坐标系统)转换为另一个坐标系统(相机的坐标系统)。例如机器人应用中经常会用到这些坐标变换技术来根据获取的信息确定最终的执行系统应该怎样工作。在下图中,黑色为相机坐标系统,绿色为工作台坐标系统,二者相差一定的角度。
图3:坐标系统的不同轴会导致运动控制系统与视觉系统距离换算时出现偏差
首先您要确定的两个坐标系统的角度偏差值。我们把这一角度称为偏差角。一种简单的做法是通过移动工作台一个已知角度,利用机器视觉系统来测量起始位置和终止位置来确定该偏差角。例如,假定您仅在X轴移动了工作台2000单位(0,0到2000,0位置)。由于您只移动了X轴CONTROL ENGINEERING China版权所有,在图像坐标系中测量的Y轴的任何移动都能帮助您确定该偏差角。如果相机的图像显示工作台在X轴移动了173像素,在Y轴移动了100像素,可以通过对Y和X比值的反正切来计算旋转的角度。对100/173取反正切得到偏差角为30度。
在确定了偏差角后,下一步您要确定视觉单元和运动控制单元之间的转换关系。您可以通过比较在图像中测量出的运动距离和在运动控制中给出的运动距离来计算得该转换公式。为了确定在图像中的移动距离Z控制工程网版权所有,可以利用勾股定理通过X值和Y值进行计算。Z=