《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 视觉机器人作业路径规划系统
视觉机器人作业路径规划系统
徐顺清,何坚强
摘要: 针对工业机器人的弧焊、切割和涂胶等应用,介绍了视觉工业机器人作业路径规划系统。描述了摄像机坐标标定方法,采用图像采集技术获取环境信息,运用图像处理技术对采集的信号进行处理,实现了机器人实时控制和离线编程。实践证明,该系统重复精度高,能够满足弧焊、切割和涂胶的要求,能够适应生产线的需要。
Abstract:
Key words :

  摘 要: 针对工业机器人的弧焊、切割和涂胶等应用,介绍了视觉工业机器人作业路径规划系统。描述了摄像机坐标标定方法,采用图像采集技术获取环境信息,运用图像处理技术对采集的信号进行处理,实现了机器人实时控制和离线编程。实践证明,该系统重复精度高,能够满足弧焊、切割和涂胶的要求,能够适应生产线的需要。
  关键词: 机器视觉;图像处理;工业机器人;路径规划

 

  机器人自问世以来,已经被广泛地应用于各个工业领域,例如焊接、搬运、装配和喷涂等[1]。不过这些应用大多基于示教再现和离线编程。示教再现过程机器人利用率低,示教再现的精度也不高。离线编程是采用CAD技术建立起机器人及其工作环境的几何模型,通过算法在离线的情况下进行作业路径规划,对于复杂的作业路径,CAD模型的建立存在一定的难度。而视觉机器人作业路径规划系统能够及时采集机器人工作环境信息,实现对机器人的实时控制,提高了机器人工作效率。同时,该系统能够自动生成机器人控制文件,不需要CAD技术的支持,增强了机器人系统的灵活性和适应性。
1 系统构成及工作原理
  机器人作业路径规划系统是在Motoman UP6工业机器人系统上做二次开发的。 CCD摄像机采集到外部环境的图像信息,系统通过采集卡实现对图像的获取,获取图像后,通过图像的增强、滤波、边缘检测、细化等处理技术对图像信息进行分析处理和重建。系统对这些处理后得到的数据进行实时计算,计算出图像中作业对象的特征点的位置信息。对获取的特征点信息,系统有两种功能,一是通过Motocom32的库函数与机器人通信,实现对机器人的实时控制,完成指定作业;另一功能是快速生成机器人控制文件,并可对文件编辑修改,当把这些文件导入机器人控制柜后,则可控制机器人完成指定作业。
2 系统软硬件组成
  整个系统由2个子系统组成,一个为工业机器人系统,另一个为机器视觉系统。2个子系统通过软件平台进行通信。具体构成如图1所示。

 

 

2.1 工业机器人系统
  工业机器人系统包括有Motoman UP6工业机器人本体、YASNAC- XRC- UP6机器人控制柜、示教编程器和相关的外部设备以及与计算机进行数据通信的软件Motocom32。其中,机器人本体具有6个自由度,各个关节均为旋转关节,各自由度由交流伺服电机驱动,其重复定位精度可达0.08 mm。
2.2  机器视觉系统
  机器视觉系统主要设备有M0814-MP镜头、CV-A11摄像机、PC2-Vision图像采集卡以及计算机等。
  (1)CV-A11摄像机及镜头
选择的摄像机是丹麦AVI公司生产的CV-A11摄像机。摄像机线扫描频率为37.5 kHz,其CCD总像素为659 ×494,摄像机信噪比大于56 dB,工作电压为12V± 10%,外形尺寸为29mm×44mm×66mm,镜头接口为 C-mount接口。镜头为日本computar公司的M0814-MP镜头,镜头焦距为f=8 mm,焦点手动控制, 成像适合设计的要求。
  (2)图像采集卡
  图像采集卡选用加拿大CORECO公司生产的PC2-Vision图像采集卡。该图像采集卡自带8 MB存储器用于图像序列的存储,通过高速PCI总线可实现直接采集图像到VGA显存或主机系统的内存,兼容RGB、RS-170/CCIR等视频格式,可采集标准彩色复合视频和RGB分量,能够同时采集6个黑白摄像头、2个RGB摄像头或2个双通道模拟摄像头图像;支持外部事件出发输入,支持显示分辨率2 048×2 048,具有3个8位40 MHz A/D转换器。
3  系统的软件实现
  根据系统的功能要求,本文应用VC++6.0编制了系统实现的软件程序,程序设计采用模块化设计方式。系统在完成硬件检测、系统初始化等工作后实现机器人路径规划,整个系统可分为摄像机标定、图像获取与图像处理、机器人运行控制等功能模块。软件实现基本流程如图2所示。

 

 

3.1  摄像机的标定
  在系统进行坐标提取前,必须对摄像机进行标定,以建立摄像机与实际空间点的对应关系。在基于机器视觉的机器人路径规划系统中,存在着3个坐标系:机器人坐标系、平台坐标系和图像坐标系。其中图像坐标系是以图像左上角为原点,以像素为单位的直角坐标系,x、y轴分别表示该像素在数字图像中的行数与列数。为了在视觉系统中建立统一的坐标,确定图像上某轮廓点与实际图形点的对应关系,就需要建立图像坐标系与机器人坐标系、平台坐标系与机器人坐标系两者之间坐标转换关系,最终将平台坐标和图像坐标统一在机器人坐标系下。图像像素坐标系中的点到世界坐标系的变换可用矩阵表示为:

3.2  图像采集
  计算机调用图像采集卡的动态链接库函数VnImgCon.dll中相应的控制函数,来控制图像采集卡对摄像机摄取的视频信号进行数据采集,以BMP格式存储在计算机内。通过调用采集卡自带库函数采集一帧图像到内存,然后回显到屏幕。在程序中调用了以下函数:
  GetSrc:得到指向被用作连接图像源对象的指针。
  IfxCreateCaptureModule:创建一个图像捕捉的对象。
  GetCam:使摄像机对象指针为指定端口。
  GetAttr:返回摄像机基本采集参数。
  IfxWriteImgFile:保存图像文件。
3.3  图像处理
  系统摄像机所采集的图像为BMP格式的位图文件,为了在图像处理部分中能将注意力集中在图像处理的算法实现上,而不被DIB的显示与操作等底层处理所干扰,建立一个比较完整的DIB类库,主要实现三大功能:位图操作的基本函数,包括对像素点的操作、位图相关的信息和位图占据内存空间的信息。在进行图像处理编程时,只需在文档类的头文件中加入CDib类的定义,通过该类提供的公有型(public)接口函数调用,即可实现与之相关的功能。在此类库的基础上,对图像进行处理,包括图像的平滑和去除噪声等图像预处理,选定灰度阈值对图像进行二值化处理,对图像进行细化,计算图像中的特征量,实现空间定位。图像处理的函数主要有以下几个:
  图像二值化:
  WindowTrans(lpDIBBits,::DIBWidth(lpDIB),::DIBHeight(lpDIB) ,m_bLow)
  调用函数进行细化:
  ThiningDIB(lpDIBBitsWIDTHBYTES(::DIBWidth(lpDIB)*8), ::DIBHeight(lpDIB))
  求坐标:
  PointDIB(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB), point,dian,mm);
  程序进一步对图像进行处理,得到图像的边缘特征,处理后的图像如图3所示,最终求得图形位置坐标。

 


3.4  机器人运行控制
  获取机器人坐标点后,计算机根据坐标点信息,进行运动决策,产生相应的机器人运动控制指令,并通过Motocom32软件提供的库函数对机器人进行远程控制,实现对特征点的自动定位,控制机器人进行相应的操作,完成作业轨迹。机器人实时控制的流程图如图4所示。

 


  视觉机器人作业路径规划系统把CCD获取的作业路径图像信息转化为机器人运动的控制指令,使机器人完成作业任务。为验证这一“转化”,以机器人的连续切割作业为例,将其付诸实施。具体实施方案如下:以平板玻璃台面作为切割对象,以白板笔当作割枪,以机器人绘制曲线的过程来模拟实际切割作业过程。实验结果如图5所示。

 


  由图5可以看出,该方案重复精度高,误差较小,能够满足生产的需求,同时也提高了系统自动化程度,节省了人力物力。
参考文献
[1] 吴立德.计算机视觉[M].上海:上海复旦大学出版社,1993.
[2]  凌云光视数字图像公司.CCD&CMOS图像和机器视觉产品手册.
[3] 章毓晋.图像工程上册:图像处理和分析[M].北京:清华大学出版社,1999.
[4] 孙树栋.工业机器人技术基础[M]. 西安:西北工业大学出版社 ,2006.
[5] VERNON D. Machine vision in the electronics and PCB inspection industry - The current position and future directions. Department of Computer Science Maynooth College,Ireland. 2001.
 

此内容为AET网站原创,未经授权禁止转载。