基于SFPM的遥操作工程机器人双目视觉定位
2020-03-28李超伟郭彦泽
李超伟,李 笑,郭彦泽
(广东工业大学机电工程学院,广东 广州 510006)
1 引言
遥操作工程机器人能够在人难以接近或对人有害的环境由操作者遥控操作完成复杂的作业任务[1]。为了提高作业效率,需采用视觉、听觉、力觉、运动觉等临场感提示技术[2-3]。视觉提示技术是利用摄像机采集现场图像并通过网络传输给操作者,使操纵者可以通过图像信息完成复杂作业。但由于传输的图像信息数据量大,存在较大时延,可能导致工程机器人无法正常作业。针对此问题,可将基于双目形式的机器视觉技术运用于遥操作工程机器人上,通过图像处理计算出作业场景的深度信息并及时反馈给操作者。由于传输的位置信息数据量较小,时延可明显减小。因此,研究基于双目视觉形式的遥操作工程机器人定位系统具有工程实际意义。
近年来许多国内外学者对双目视觉定位测距系统开展了研究[4-5]。文献[6]提出了用Matlab和Opencv相结合的方法实现双目立体视觉的测距,通过使用“绝对误差累计”的小窗口对左右图像之间的相同点进行立体匹配获取视差图,从而求解出目标和相机之间的距离。该方法在测量纹理突出的目标时效率和精度较高,但在匹配低纹理的目标图像时会存在较大的误差。文献[7]研究了基于神经网络的遥操作工程机器人双目视觉定位方法,利用工程机器人上特征点的二维图像坐标和三维世界坐标构建神经网络模型,以此模型实现遥操作工程机器人的定位。该方法简单有效,但神经网络的建立需要大量的样本训练,过程较为繁琐。文献[8]提出了一种结合sift特征点的双目视觉定位方法,通过对目标物的检测,sift特征点的选择和匹配,最终获取图像中目标物的三维信息。该方法运行处理速度快,实用性强,但是在进行sift匹配时容易产生误匹配,需要对匹配出来的多对sift点进行筛选,以此来得到正确的sift匹配点。为解决遥操作工程机器人作业过程中视频图像传输的时延问题,提出一种基于单特征点匹配(SFPM)的双目立体视觉定位方法。通过对机器人抓手和抓取物上的单特征点的特征检测和立体匹配,完成对两者的分别定位。由于特征点具有唯一性,且特征点的提取受强约束限制,因此不存在特征点误匹配问题,同时基于单特征点的局部匹配减小了运算量,提高了匹配效率。实验验证了该方法的有效性。
2 双目立体视觉定位
基于SFPM的双目立体视觉定位方法流程,如图1所示。首先对两台相机进行单目标定和立体标定,获取相机内外参数、畸变量以及两相机之间的位置关系,采集的图像经校正之后,提取单特征点进行立体匹配,经重投影计算后获取特征点的三维坐标,从而实现对遥操作工程机器人及抓取物的定位与测距。
图1 双目立体视觉定位方法流程Fig.1 Binocular Stereo Vision Localization Method Flow
2.1 相机标定与图像校正
根据针孔型摄像机成像模型,假设空间中任意一点P在相机成像平面上的投影点为p,则两点间存有如下关系:
式中:XW,YW,ZW—P 点的空间坐标值;fx,fy,cx,cy—相机内部参数;u、v—投影点p的像素坐标值;r、t—相机的外部参数矩阵;zc—P点在相机坐标系下的坐标。
采用基于透视模型的线性标定方法,首先,分别对左右相机完成单目标定,获得各自的内部参数,同时根据透镜的畸变关系求得相机畸变矩阵(k1,k2,k3,k4,k5)T,之后进行立体标定,获取两台相机之间的旋转矩阵R、平移矩阵T。在实际使用相机时,左右相机的成像平面并不是完全共面,因此需要进行立体校正,使左右成像平面位于同一空间平面且左右图像中的同一成像点在水平方向上实现对齐。
2.2 特征点提取与匹配
在机器人抓手与抓取物上各自选择能准确代表其空间位置的某一点作为特征点进行提取。遥操作工程机器人抓手部分,如图2所示。选定抓手爪钳后边的三角形构件区域作为图像ROI区域,选定构件上两个圆形突兀物圆心连线的中点作为整个抓手部分的质点,在左、右图像上分别提取出该点作为待匹配点。采用归一化相关匹配法进行目标识别,分别从左右两幅图像中识别出三角形构件区域作为图像ROI区域。归一化相关匹配法通过计算参考图和模板图之间的互相关度量值来确定二者的匹配程度,其计算公式为:
式中:x,y—基准图大小;m,n—模板大小;A(i,j)—实时图像中匹配区域的像素灰度值;B(i-x,j-y)—模板中的像素灰度值;B¯—模板的灰度均值;A¯x,y—图像中匹配区域的均值;酌(x,y)—度量值,度量值越大,则匹配的相似度越高。
图2 遥操作工程机器人抓手部分Fig.2 Gripper Part of Teleoperation Engineering Robot
检测到三角形构件区域后,对ROI区域进行边缘检测,对提取出来的边缘轮廓进行拟合与筛选,得到三角形构件上两个圆形突兀物完整边缘轮廓,确定两圆形轮廓的圆心及两圆心连线中点,将此中点作为唯一特征点,提取其亚像素坐标进行接下来的深度信息恢复计算。
遥操作工程机器人抓取的作业对象,一般具有明显的几何特征,如立方体形的混凝土块,圆柱体形的水泥支撑柱等。研究中,选取立方体砖块模拟工程机器人作业时的抓取物,根据颜色及纹理特征,在分离后的单通道图像中进行阈值分割,筛选出砖块上表面,对分割后的图像经Gaussian滤波后进行轮廓查找,使用moments计算图像所有轮廓的矩:
式中:p对应x维度上的矩,q对应y维度上的矩。
计算其一阶矩,得到相应的m00、m01、m10的值,轮廓的面积即为m00,轮廓的质心坐标计算如下:
设置轮廓面积阈值,去除图像中的其他轮廓仅保留抓取物的轮廓,提取出轮廓的质心作为特征点。
2.3 机器人抓手及抓取物空间位置获取
求得抓手部分的单特征点在左图像上的图像坐标p1(x1,y1),以及该特征点在左右图像上的视差d1,经重投影公式可计算出该质点的空间三维坐标:
式中:Q—重投影矩阵。
3 实验研究
为验证提出的定位方法的有效性,建立了基于双目视觉的遥操作工程机器人定位系统,并对不同位姿下的遥操作工程机器人及处于不同位置的抓取物进行了大量的定位实验研究。
系统硬件上主要包括一台遥操作工程机器人,如图3所示。两台工业相机,配有千兆网卡的pc机等,软件上基于VS2010并配置opencv视觉图像库的环境进行开发。通过两台工业相机构成双目立体视觉,将采集的图片传送至pc机进行深度恢复,最终获取工程机器人抓手及被抓物的三维坐标,计算出相对距离作为遥操作工程机器人作业操作参考。
图3 遥操作工程机器人Fig.3 Teleoperation Engineering Robot
对左右相机分别进行单目标定,得到相机内部参数和畸变系数,如表1所示。经立体标定得到左右相机之间的旋转及平移矩阵,如表2所示。之后根据标定结果进行图像的立体校正。
表1 单目标定结果Tab.1 Single Objective Definite Result
表2 双目标定结果Tab.2 Binocular Objective Definite Result
建立遥操作工程机器人三角形构件模板,如图4(a)所示。通过对左右相机采集的图像进行模板匹配,如图4(b)所示。正确检测到左右图像中的三角形构件区域作为图像ROI区域。
图4 对机器人抓手部分的模板匹配Fig.4 Template Matching for Robot Gripper Part
对ROI区域进行canny算法后提取出的轮廓图,如图5(a)所示。图5(b)是对提取出来的圆弧边缘进行拟合获得完整圆形边缘,确定两圆形轮廓的圆心及两圆心连线中点。
图5 工程机器人特征点的获取Fig.5 Acquisition of Feature Points on Engineering Robots
在单通道图像中阈值分割后的图像,如图6(a)所示。可以明显看到立方体砖块的上表面被完整的提取出来,图6(b)是经过计算图像所有轮廓的矩的面积后筛选出来的立方体砖块轮廓并确定了其轮廓质心。
图6 抓取物上特征点的获取Fig.6 Acquisition of Feature Points on a Grab
通过重投影矩阵Q,求得抓手和被抓物体的空间坐标,计算两者的相对距离,系统的定位测距实验结果,如表3所示。
表3 测距结果Tab.3 Ranging Results
实验表明,定位误差与遥操作工程机器人或抓取物相对于双目相机的欧氏距离相关。当二者相对于相机较近时,获取二者的三维坐标较为准确,相对距离也较为准确。系统对左右图像特征点的提取平均耗时0.92s,对特征点进行三维恢复并最终计算出相对距离平均耗时0.21s。根据遥操作工程机器人的作业性质,该定位精度和实时性可满足工程作业要求。
4 结语
针对遥操作工程机人作业过程中视频图像传输的时延问题,提出了一种基于SFPM的双目立体视觉定位方法。实验表明,该方法可消除误匹配现象,减少图像匹配计算量,定位准确,定位效率高,可为遥操作工程机器人的视觉提示系统设计提供技术参考。