视觉传感器能直观反映物体的外部信息,但单个摄像头只能获得物体的二维图像,立体视觉虽能提供三维信息,但对于外形相同,仅深度有差别的物体难以识别(如有孔物体、阶梯状物等) ,且对环境光线有一定的要求. 由于超声传感器具有对光线、物体材料等不敏感,结构简单,能直接获取待测点至传感器的距离等特点,因此本文采用视觉与超声测量相结合的方法,将二维图像信息与超声波传感器获取的深度信息进行融合推断,对待装配工件进行自动识别与空间定位,并确定机械手末端
执行器
的空间位置与姿态,使其能在合适的部位准确抓取工件.
1 系统原理与结构
系统由机械手、CCD 视觉传感器和超声波传感器及相应的信号处理单元等构成. CCD 安装在机械手末端执行器上,构成手眼视觉,超声波传感器的接收和发送探头也固定在机器人末端执行器上,由CCD 获取待识别和抓取物体的二维图像,并引导超声波传感器获取深度信息. 系统结构如图1 所示.
图像处理
主要完成对物体外形的准确描述,包括以下几个步骤:a. 图像边缘提取;b. 周线跟踪;c.
特征点
提取; d. 曲线分割及分段匹配;e. 图形描述与识别.在提取物体图像边缘后, 采用周线跟踪进行边缘细化,去除伪边缘点及噪声点,并对组成封闭曲线的边缘点进Freeman 编码,记录每一条链码方向和曲线上各点的X-Y 坐标值,便于进一步对物体的几何特性进行分析. 本研究对传统的周线跟踪算法中边缘点的搜索方向与顺序进行了改进,并在搜索过程中采取了及时消除冗余点的方法,减小了数据量与运算时间,而且具有较好的降噪及平滑效果. 在提取图像特征点时,将多边形近似法与计算曲率的方法相结合, 可克服多边形近似法易产生伪特征点和计算曲率法计算量过大的缺点.CCD 获取的物体图像经处理后,可提取对象的某些特征,如物体的形心坐标、面积、曲率、边缘、角点及短轴方向等. 根据这些特征信息,可得到对物体形状的基本描述,在图像处理的基础上,由视觉信息引导超声波传感器对待测点的深度进行测量,获取物体的深度(高度) 信息,或沿工件的待测面移动,超声波传感器不断采集距离信息,扫描得到距离曲线,根据距离曲线分析出工件的边缘或外形[1 ] . 计算机将视觉信息和深度信息融合推断后,进行图像匹配、识别,并控制机械手以合适的位姿准确地抓取物体.
2. 1 工件图像边缘的提取
复杂工件反映在图像上常常不止一个灰度等级,仅利用一个灰度阈值无法提取有意义的边缘.
若采用多阈值的方法,必然会增加计算时间和图像处理的复杂程度. 对于类别方差自动门限法,增加门限值不仅会提高数据处理复杂程度,而且当阈值多于2 个时,算法的可靠性就会受到影响. 为此采用了直接从灰度图像提取边缘的方法.图像边缘一般发生在灰度函数值不连续处,可用灰度函数的一阶或二阶导数求得. 经典的利用一阶导数提取边缘的方法有Robert s 算子、So2bel 算子等, 利用二阶导数提取边缘的方法有Laplacian 算子和Marrs2Hilderth 算子等. 通过对几种算法的分析比较,认为Sobel 算子不仅实现容易、运算速度快,而且可提供最精确的边缘方向估计.Sobel 算子由两个3 ×3 相差90°的算子构成,由这两个算子同图像卷积, 可得到图像的边缘及其方向. 对于数字图像{ f ( i , j ) } , Sobel 算子可表示为:
Gx ( i , j) = f ( i - 1 , j - 1) +2 f ( i - 1 , j) + f ( i - 1 , j + 1) - f ( i + 1 ,j - 1) - 2 f ( i + 1 , j) - f ( i + 1 , j + 1) ;
Gy ( i , j) = f ( i - 1 , j - 1) +2 f ( i , j - 1) + f ( i + 1 , j - 1) - f ( i - 1 ,j + 1) - 2 f ( i , j + 1) - f ( i + 1 , j + 1) .
采用G1 = | Gx | + | Gy| 得到梯度幅值后,为减少所抽取的边缘数目,可设置一个幅度门限,即只考虑对应灰度变化较大的那些边缘. 再利用边缘点具有局部幅度最大的特点,将边缘细化.利用Sobel 算子提取边缘后, 为了得到工件表面的尺寸信息, 还必须提取图像的角点[2 ] , 以便计算工件的边长等特征信息.
2. 2 形心坐标的确定
图像中形心点的计算通常可通过两种方法得出, 一是通过区域处理求矩的方法计算形心坐标 ;二是通过边缘链码积分计算。该算法较为简单,且对任意图形都适用,但需要结合像素点隶属区域划分算法进行.
2. 3 轴向的确定
为使机械手能以正确的姿态准确地抓取物体,必须精确确定物体的轴向. 在几何学中,物体的长轴定义为通过物体形心点的一条直线, 物体关于该直线的二阶矩为最小值. 设图像中物体长轴与图像平面X 轴正方向夹角为θ, 规定| θ| ≤π/ 2 ,则物体关于该轴线的二阶矩为
该算法较为简单,且对任意图形都适用,但需要结合像素点隶属区域划分算法进行.
2. 3 轴向的确定
为使机械手能以正确的姿态准确地抓取物体,必须精确确定物体的轴向. 在几何学中,物体的长轴定义为通过物体形心点的一条直线, 物体关于该直线的二阶矩为最小值. 设图像中物体长轴与图像平面X 轴正方向夹角为θ, 规定| θ| ≤π/ 2 ,则物体关于该轴线的二阶矩为
很明显,基于二阶惯性矩的轴向确定方法是对整个物体区域进行运算, 且必须先确定像素点的隶属区域,故运算量较大. 图2 (a) 是用该算法确定的工件轴向. 对于一些简单形状的物体,可采用如下简单轴向估计算法:
b. 确定物体边缘轮廓闭合曲线前半段中离物体形心最近的点, 用最小二乘法估算该点的切线方向,设其与图像平面X 轴正方向夹角为α1 ;
c. 用同样方法确定下半段曲线中对应的切线方向α2 ;
d. 物体轴向可粗略估计为θ= (α1 +α2) / 2.
图2 ( b) 是采用简化算法得到的工件轴向图. 该算法仅对物体边缘轮廓点进行处理,使运算时间大为减少.
3 超声深度检测
由于CCD 摄像头获取的图像不能反映工件的深度信息,因此对于二维图形相同,仅高度略有差异的工件,只用视觉信息不能正确识别,本文采用
超声波测距
传感器则可弥补这一不足. 经图像处理得到工件的边缘、形心等特征量后,引导机械手到达待测点,对工件深度进行测量,并融合视觉信号与超声信号,可得到较完整的工件信息.安装在机器人末端执行器上的超声波传感器由发射和接收探头构成,根据声波反射的原理,检测由待测点反射回的声波信号,经处理后得到工件的深度信息. 为了提高检测精度,在接收单元电路中,采用了可变阈值检测、峰值检测、温度补偿和相位补偿等技术[1 ] ,可获得较高的检测精度.对视场中两个外形完全相同、高度相差0. 1 mm的柱形工件,采用本文提出的融合图像和深度信息的方法,可准确识别与抓取.
4
实验结果
及结论
在上述方法研究的基础上, 完成了在MOVEMASTER2EX机器人装配作业平台上进行的物体识别与抓取实验. 在自然光及一般照明条件下,对机器人装配作业平台上视场范围内任意放置的3~5 个不同形状、大小的典型工件进行自动识别和抓取,结果表明,识别时间小于5 s(包括识别、定位与抓取过程机械手的移动时间) ,定位误差小于±2 mm ,并具有较好的通用性和可移植性. 图3 (a) ~ (d) 分别是待抓取工件识别过程的图像.
实验结果表明, 采用本文提出的将机器人手- 眼视觉与超声波测距相结合的
检测装置
, 以及融合二维图像信息与深度信息进行工件识别与抓取的方法,可准确对物体进行识别与定位,具有算法简单、计算量小、实时性好、可靠性高等特点,可为机器人与环境交互提供物体形状、类别及大小等信息,使机器人装配作业能适应各种复杂的环境与工艺过程,对实现工业生产过程的自动化、柔性化、智能化有良好的应用前景.