摘 要:利用PC机、图像采集卡、摄像头以及固高公司提供的GT-400-SV-PCI/ISA运动控制卡和GCT-400四自由度直角坐标机械臂,在LabVIEW环境下开发了视觉伺服机械臂控制系统的实验平台,该平台实现从工件图像采集到处理以及抓取的功能,操作方便,并具有一定的开放性。
关键词:机械臂;图像处理; 运动控制卡; 人机交互
LabVIEW是由美国国家仪器公司(NI)开发的一种图形化编程语言,广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件,具有可视化、编程方便等特点[1]。本文利用LabVIEW软件作为开发环境,它的IMAQ Vision Builder模块是建立在交互式模式和“假设分析”的环境基础上,可快速开发出图像处理软件。将运动控制卡的函数共享库导入LabVIEW,通过编程及调试本文开发出了视觉伺服控制的实验平台。利用LabVIEW图像化的编程的特点,用户可以更好地学习和二次开发。
1 系统的硬件结构及原理
本文采用的机器人是固高公司生产的GRB-400机器人,硬件结构如图1所示,主要包括以下几个部分:GRB-400 SCARA型工业机械臂、GRB四轴驱动电器箱、GT-400-SG-PCI四轴伺服运动控制卡、CCD摄像头、计算机和图像采集卡。机械部分的关节1、2、4为旋转关节(与图1中电机1、2、4相对应),使用交流伺服电机和谐波减速器驱动;关节3为直线关节,采用交流伺服电机和滚珠丝杠驱动。GRB400机器人关节1连杆长度200 mm,运动范围±100°;关节2连杆长度200 mm,运动范围±50°;直线关节3行程±48 mm;关节4运动范围±170°。关节4安装了电磁手爪,利用控制器的直接数字量输出控制,可以抓取工件。机械臂本体上引出4个关节控制轴的电机控制信号、编码器角度反馈信号和关节轴限位信号,通过连接电缆与控制器连接。
该机器人伺服系统工作过程可概括为:(1)系统利用图像采集卡对工件的图像进行采集并存入计算机内存,通过对图像进行一系列处理,识别出工件并得到工件的位置坐标;(2)利用基于位置的运动学反解的方法,计算出1、2轴的运动控制指令,以驱动1、2轴到达目标位置;(3)通过对手抓的控制实现对目标物体的抓取。
2 图像采集及处理
2.1图像采集
图像采集卡使用的是天敏VC4000图像采集卡,通过此图像采集卡和摄像头采集到工件的图像,在LabVIEW中进行一系列处理,利用图像采集卡的函数编写采集图像的程序,大致流程为:初始化图像采集卡、设置视频捕获帧率、打开设备、开始视频预览、采集图像并保存(并在此设置好保存路径)、释放资源。
2.2 图像处理
2.2.1图像二值化
图像的二值化处理就是将256个亮度等级的灰度图像通过适当的阈值选取获得仍然可以反映图像整体和局部特征的二值化图像[2]。要进行灰度图像的处理,首先要进行二值化,得到二值化图像,利于做进一步的图像处理,使处理变得简单,所有灰度大于或等于阈值的像素判定属于特定物体(在此属于工件),其灰度值设为255,否则这些像素点灰度设为0,认为是背景或者其他物体区域。阈值的获取有以下几种算法:
图2为灰度值图,其中i为灰度值,k为阈值,h(i)为每个灰度值对应的像素点个数,N为灰色图像中像素总数,n为图像像素总数。
3 机械臂控制系统的设计
首先在开始工件抓取之前要对机械臂进行回零,其次利用上面图像处理得到的工件位置坐标进行关节角度反解,进而转化脉冲输入到每轴对应的电机的控制器中,驱动机械臂运动到工件实际位置进行抓取。
3.1机械臂的回零
在机械臂工作之前,首先要进行机械臂的回零,在机械臂的工作台上原点对应的位置坐标(x,y)已经确定,将其通过角度反解转化为关节角度对应的脉冲输入到回零函数中,实现机械臂的回零,下面对每个轴的回零进行阐述。
(1)轴1轴2:首先通过机械臂运动时捕获限位开关(利用控制函数获取轴的状态值,其14 bit是设定Home开关信号捕获标志),再利用限位开关捕获原点。具体实现是利用获得当前轴的实际位置值,再用(其中offset是原点位置坐标角度反解得到的脉冲)使其回到零点。
(2)轴3:利用原点开关捕获原点,通过GT_SetPos(pos+maxPositiveOffset)、GT_SetPos(pos-maxPositiveOffset)结合GT_GetSts(&str)捕获到原点。
根据几何关系得出轴1轴2的关节角度,再转化为关节1、2对应电机需要的脉冲数,然后输入到运动控制函数GT_SetPos( )设置当前轴的目标位置。
3.3 视觉抓取的程序设计
在机械臂的视觉抓取程序中,为了使用户可以了解机器人采集图像及处理图像的过程,编写了视觉处理及抓取工件的程序,图4是程序的前面板。
首先在图像采集及处理区进行图像的采集,此时可在图像显示区看到工件的原始图像;再进行二值化处理,可在下拉菜单中尝试图像熵法、Intervariance法和Metric法;然后再对图像进行边缘提取,可在下拉菜单中尝试上面提到的3种算子;最后提取工件的中心坐标,在机器人运动控制区打开运动控制卡、上电、抓取工件(此时机械臂会自动先进行回零)。
该系统将LabVIEW与固高运动控制卡相结合,实现了视觉抓取的功能,利用LabVIEW开发的视觉抓取的界面,功能和用法一目了然,使用户的操作简单、易懂,并具有一定的开放性。
参考文献
[1] 杨忠仁. 基于LabVIEW数据采集系统[J]. 重庆大学学报(自然科学版), 2007,24(2):32-35.
[2] 王刚.图像二值化方法研究及其在监控识别系统中的应用[D].长沙:湖南大学,2010.
[3] 美国国家仪器(NI)有限公司.Labview Vision conceps help.(2011-06)[2012-03-18]http://www.ni.com/vision/zhs/vdm.htm.
[4] 朱柱.边缘检测技术研究[D].苏州:苏州大学,2010.
[5] 刘微.基于边缘检测的移动机器人视觉导航方法研究[D].沈阳:沈阳理工大学,2010.
[6] 李宏庆.基于视觉的六自由度机械臂控制技术研究[D].南京:南京理工大学,2010.