APP下载

零件的双目视觉识别定位与抓取系统研究

2010-08-23王晓华傅卫平

制造业自动化 2010年12期
关键词:PC机摄像机标定

王晓华 ,傅卫平

WANG Xiao-hua1,2, FU Wei-ping2

(1. 西安工程大学 电信学院,西安 710048;2. 西安理工大学 机械与精密仪器工程学院,西安 710048)

0 引言

机器视觉技术在工业生产上的应用,提高了生产的柔性和自动化程度。在机械加工、装配等生产环节,基于视觉的零件识别定位因为要为机器人自动抓取提供图像信息而成为研究重点。目前基本应用Hausdorff距离[1]、傅里叶描述子[2]、神经网络[3]以及特征向量匹配识别算法[4]对零件图像进行处理,建立识别算法。但都不能很好解决传送带上的零件摆放存在遮挡、旋转等情况下的识别问题,本文以固高GRB-400型四自由度工业机器人、大恒DH-HV1302UC摄像机、PC机建立机器人零件识别定位与抓取系统。应用SIFT(Scale Invariant Feature Transform)算法获取图像的在移动、旋转、噪声、缩放、遮挡等情况下的稳定特征,用形态学方法获得工件特征点的二维信息,结合双目立体视觉标定技术得到零件的三维信息,应用MATLAB与VC++混合编程,将零件信息传输到固高GRB-400机器人控制程序,应用机器人逆运动学原理,求取GRB-400机器人各关节旋转角度,从而实现机器人对零件的抓取任务。

1 机器人视觉识别定位与抓取系统组成

机器人视觉识别定位与抓取系统由固高GRB-400型四自由度工业机器人、大恒DH-HV1302UC双目摄像机、PC机(安装图像采集卡、运动控制卡)组成,如图1所示。机器人控制系统协调整体工作。总体上,机器人视觉识别定位系统分为摄像机系统和机器人控制系统两部分。摄像机系统由摄像机和PC机(带图像采集卡)构成,负责视觉图像的采集和零件特征提取、匹配识别、摄像机标定、三维定位等机器视觉算法,各算法在MATLAB环境下完成。控制系统由计算机(带运动控制卡)和控制箱组成,用来控制机器人末端的实际位置,控制软件采用VC++编写,主要实现视觉系统与PC机、PC机与控制箱之间的通信以及对GRB-400机器人的控制等。应用MATLAB与VC++混合编程的方式解决以上两种运行环境中数据的相互协调问题。

图1 系统硬件

2 机器视觉算法在摄像机系统中的实现

摄像机系统由摄像机和PC机(带图像采集卡)构成,负责视觉图像的采集和摄像机标定、零件特征提取、匹配识别、三维定位等工作。

2.1 基于透视模型的摄像机线性标定

基于透视模型的摄像机线性标定方法[5]是一种被广泛使用的简单实用的标定方法,按照基于透视模型的线性标定方法对双目立体视觉系统进行了标定。使用大恒双目摄像机拍摄模板图像,左、右摄像机拍摄到的标定板图像如图2所示。

图2 左、右摄像机的标定板图像

按照透视模型线性标定方法,用各顶点的图像坐标系坐标与世界坐标系坐标分别对左、右摄像机进行标定,得到左右摄像机的投影矩阵。

2.2 基于SIFT算法的零件特征提取与匹配识别

SIFT算法提取特征点包括以下四个步骤[6]:1)对原始零件图像进行若干次高斯滤波建立多个尺度组。再对每个尺度组中的高斯图像进行差分,形成高斯差分尺度组(DoG尺度)图像。DoG尺度空间中间层(最底层和最顶层除外)的每个像素点需要跟同层的相邻8个像素点以及它上一层和下一层的各9个相邻像素点(共26个)进行比较,在尺度空间检测到局部极值。2)通过二阶Taylor展开式计算极值点的偏移量,获得亚像素定位精度,同时剔除差异小的点不稳定的边缘响应点,获得特征点,图3为DoG尺度空间中2层特征点图像。3)利用特征点邻域像素的梯度方向分布特性为每个特征点指定主方向。4)对任意一个特征点,在其所在的尺度空间,取以特征点为中心的16像素×16像素大小的邻域,再将此邻域均匀地分为4×4个子区域,对每个子区域计算梯度方向直方图(直方图均匀分为8个方向),一个特征点可以产生一个4×4×8 共 128维的数据,形成128维的SIFT特征向量即SIFT特征描述符。图像的SIFT特征提取结果如图4所示:其中,“+”表示特征点位置,“□”表示尺度大小,不同的颜色表示采样频率不同。

图3 各层特征点图像

图4 SIFT特征图像

设定零件模板的SIFT特征集合作为模板,在实时获取的零件图中寻找对应的零件。在宽基线条件下,需要将左右摄像机拍摄到的图像同时作为模板,匹配生产线上零件的左右图像以避免形状相同而高低不同的两个零件被识别为一个零件的情况。零件识别检测系统大都符合窄基线的条件,相机位置不会有大的转动,相机焦距及其它内参数变化不大,因此应用单个相机获取的图像作为模板即可完成识别任务,同时节省系统时间。

基于SIFT特征的匹配根据Lowe提出的最邻近原则来实现。匹配过程采用特征向量的欧氏距离作为特征点和匹配点的相似性度量。为节省算法时间,满足系统的实时性要求,应用棋盘距离和街区距离的线性组合取代欧式距离,并采用动态减少计算距离过程中所涉及的特征数目来提高算法的效率,具体过程见文献[7]。图5是存储在相机内的零件模板图片与相机拍摄到的生产线上的实时图像(左相机图像)匹配结果。

图5 图像匹配结果

2.3 零件的三维定位

将识别好的图像二值化,再将图像进行先开运算后闭运算的操作。去除图像边缘的毛刺点以及图像内部的黑点,贴标签的方法记住目标工件的连通域。将目标零件区域内所有像素坐标求和取平均值,所得结果即为零件质心在二维空间上的像素坐标值。

结合双目相机的标定结果,将零件的信息从二维转化到三维,进而得到零件的世界坐标。零件质心在左右相机的图像坐标系中投影点的图像坐标分别已知,两个相机的投影矩阵经标定获得,则可用最小二乘法求出零件质心的世界坐标系坐标。

3 机器人控制系统工作原理

机器人控制系统由计算机(带运动控制卡)和控制箱组成,用来控制机器人末端的实际位置。GRB-400机器人系统由机器人本体、供电电缆、控制柜、电磁手爪、反馈系统等组成。GRB-400型机器人具有4个自由度,3个旋转关节,1个直线关节。各个杆件的坐标系如图6所示,杆件参数如表1所示。

图6 机械手杆件坐标系

表1 机械手杆件参数

当求出机器人末端的坐标,根据机器人的逆运动学分析[8],可求得机器人全部关节角,以驱动关节上的电机,从而使手爪的姿态符合要求。

4 零件识别定位与抓取实验

在相机视野范围以内放置好待抓取零件,MATLAB环境中运行图像处理程序,通过对零件图像的特征点提取与匹配识别确定零件图像的质心位置。匹配出的对应点以文件形式传给MATLAB环境中的三维定位程序以便于获取各点的世界坐标,计算出各点的世界坐标后,通过MATLAB与VC++的混合编程,将图像信息传输给PC机的机器人控制程序,VC++控制程序对从MATLAB传递过来的结果进行处理,应用机器人逆运动学原理,求取GRB-400机器人各关节旋转角度。PC机向GRB-400机器人发出控制信息,由GRB-400机器人根据控制系统发出的控制信息抓取零件。

抓取结果见图7,图7(a)为机器人手臂在抓取运动过程中移动,图7(b)为机器人抓取放在桌子上的柱状零件。

图7 零件抓取

5 结论

通过视觉系统完成了零件图像获取、应用SIFT算法提取出对移动、旋转、噪声、遮挡等多种图像变化都具有较强适应能力的图像特征,应用MATLAB与VC++混合编程,将零件信息传输到固高GRB-400机器人控制程序,从而实现机器人对零件的抓取任务。在工业生产中,基于双目立体视觉的零件识别定位与抓取系统有实际应用价值。

[1]Huttenlocher D P,Klanderman G A,Rucklidge W J.Comparing image using the Hausdorff distance[J].IEEE Trans actions on PAMI,1993,15(9):850-863.

[2]王涛,刘文印,崔有志.傅立叶描述子识别物体的形状[J].计算机研究与发展,2002,39(12):1714-1719.

[3]黄红艳,杨煜普.基于高阶神经网络的机械零件识别[J].上海交通大学学报,2006,35(8):1144-1147.

[4]王彦,傅卫平,袁国文,等.工件自动视觉定位识别系统研究[J].计算机工程与应用,2009,(08):80-83,96.

[5]刘传才.图像理解与计算机视觉[M].厦门:厦门大学出版社,2005:33-34.

[6]Lowe D G.Distinctive image features from scale-invariant key-points[J].International Journal of Computer Vision.2004,60(2):91-110.

[7]王晓华,傅卫平,梁元月.提高SIFT特征匹配效率的方法研究[J].机械科学与技术,2009,28(9):1252-1255.

[8]朱世强,王宣银.机器人技术及其应用[M].杭州:浙江大学出版社,2006:61-90.

猜你喜欢

PC机摄像机标定
使用朗仁H6 Pro标定北汽绅宝转向角传感器
CT系统参数标定及成像—2
CT系统参数标定及成像—2
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
摄像机低照成像的前世今生
基于MATLAB 的CT 系统参数标定及成像研究
VC.NET下实现dsPIC单片机与PC机的通信
新安讯士Q6155-E PTZ摄像机
基于单片机与PC机的电气量采集系统设计