日期
05/28
2015
咨询
  • QQ扫一扫

  • Vision小助手
    (CMVU)

视觉导向机器人
收藏
2015-05-28 11:19:02来源: 中国视觉网

 

 

  使用LabVIEW和用于DENSO的ImagingLab Robotics库,机器视觉和机器人系统可以集成在一个应用程序中。本文介绍了使用相同坐标系统在机器视觉系统和机器人系统之间进行标定的方法。

  1. 背景
  本文是“用于DENSO的ImagingLab Robotics库参考指南”的一部分,并且假设您已经熟悉该库的基本使用方法。如果需要回顾这些主题或阅读该机器人库的介绍,请点击上文的参考指南的链接。

  2. 标定
  机器视觉系统和机器人之间的桥梁是共享的坐标系。机器视觉系统定位相应部位并将位置汇报给机器人,但是要指导机器人移动到该位置,系统必须将坐标转换为机器人可以接受的单位。标定可以让机器视觉系统可以用实际世界的单位(例如毫米)报告位置,而这正是机器人的笛卡儿坐标系所使用的单位。标定的常见方法是使用点网格。要获得关于图像标定的进一步的信息,请参阅“NI视觉概念手册”。您可以使用点网格对机器视觉系统进行标定,还可以对带有机器视觉系统的机器人进行标定。在标定机器视觉系统时,您必须选择原点定义x-y平面。通常选择位于角落的点作为原点,然后选择行或列作为x轴。

  为机器人创建坐标系的方法是相似的,因此您使用机器视觉系统的标定网络的原点作为机器人的原点。方法很简单,只要将机器人移动到该点,将该位置存储为机器人控制器上的位置变量,在x轴和y轴中移动机器人,将这些位置作为位置变量进行存储。您可以使用LabVIEW或DENSO的教学模式存储这些位置变量。完成这些之后,您可以使用DENSO的教学模式根据先前所存储的三个位置变量自动计算坐标系或工作区域。要使用DENSO的教学模式的自动计算工具,从主屏幕选择手臂>>附加功能>>工作>>自动计算。在打开的自动计算菜单中,只需选择之前存储的原点、x轴和x-y平面相应的位置变量即可。在自动计算完成并且将最近创建的工作设为当前使用的工作之后,您可以直接将已标定的机器视觉系统位置直接输入到机器人的笛卡儿移动VI中。参阅图10的传递这些坐标的简单示例。这些直接输入到机器人移动VI的参数还包括匹配角度,它是机器视觉系统几何模式匹配结果的输出。其他的标定方法还可以直接输入坐标系统参数,而不是使用教学模式内建的自动计算功能。您可以用DENSO教学模式或LabVIEW完成该标定。参阅DENSO手册了解关于机器人标定方法的更多信息。

 

 

  3. 相对运动和绝对运动
  在大多数情况下,相机相对机器人而言处于固定位置,这也就意味着当您完成了机器人和机器视觉系统的标定之后,您可以使用机器视觉代码将标定位置输出直接输入到机器人运动VI中,这里我们使用了绝对运动。在其他情况下,您可以将相机固定在机器人末端的工具或是其他移动设备上。因为相机的视角会不断变化,您必须根据视角进行标定更新或是使用相对运动。如果使用相对运动,目标位置是以相对于当前位置的偏移量给出的,例如相机要求目标位于每次采集的帧中央。如果目标偏离中央,图像发出指令让机器人移动相应的距离直到目标处于中央位置。在固定相机提供绝对运动达到部件附近或移动到集合区域的情况下,您还可以使用混和系统。使用第二个相机得到到达目标位置的精确指导。

  4. 并行处理
  用于DENSO的ImagingLab Robotics库包含顺序执行API,可以按照程序编写的顺序执行,但是在许多应用中,机器人控制代码不一定是唯一需要执行的代码。机器视觉采集和处理、HMI与人机界面、警报管理、供给设备控制以及其他通信程序都是需要和机器人控制程序并行运行的任务。LabVIEW具有许多体系结构,可以管理多个任务,例如主—从体系结构或生产者—消费者体系结构,您可以根据特定的应用选择一个体系结构。在视觉导向机器人的应用中,图像采集与处理并不需要与机器人指令顺次执行,所以我们可以使用并行处理体系结构让这些功能同时运行,这样因为机器人无需在移动前等待机器视觉代码运行完毕,所以机器人的移动可以更加的连续和顺畅。机器人移出可视区域之后,在之前部件装配完毕或移动到目标位置的同时,您可以采集新的图像并进行相应的几何模式匹配和检测。因此,当之前的部件放置完毕之后,新部件的位置已经就绪,可以发送到机器人运动VI中。下图是实现机器视觉代码与机器人VI并行运行的流程图示例。