APP下载

双目视觉机械手对堆叠球体抓取方法研究

2021-08-24马朝阳华云松

软件导刊 2021年8期
关键词:机械手标定坐标系

马朝阳,华云松

(上海理工大学光电信息与计算机工程学院,上海 200093)

0 引言

机械手对于目标的准确抓取是机器人智能化、自动化研究的一个重要方向,机械手抓取目标在工业、农业等领域都有着广泛应用。对于场景内单目标或者散乱放置的物体抓取,文献[1]通过基于深度卷积网络的视觉操作关系网络(Visual Manipulation Relationship Network,VMRN),对物体和操作关系进行实时推理;通过设计物体,对池化层实现物体检测和操作关系推理的端对端训练;通过基于有向锚点框的全卷积视觉抓取部位检测网络,实现对物体抓取部位的实时检测;通过场景深度信息和抓取部位检测结果,获取当前被抓取物体的抓取点和对应的抓取向量,并通过坐标系变换将Kinect 坐标系的抓取向量映射为机器人坐标系的抓取向量,完成当前抓取。对于单个物体的抓取成功率为97%,2 个物体的抓取成功率为82.5%,而3 个物体的抓取成功率仅为57.5%。该方法性能不稳定,在多个物体杂论的情况下抓取成功率不高,并且精度受限于数据集的数量,且对设备硬件要求很高。文献[2]对SIFT 算法进行改进,通过提高检测特征点的数量以确定适用于水下双目视差匹配生成的主曲率系数和高斯核参数,实现水下目标抓取;文献[3]利用区域生长法对视差图的点云进行分割,实现场景内位置最高的工件抓取。

由于生活中物体堆叠情况很常见,大部分文献都是对单独物体的抓取进行研究,且大都采用立体匹配[4]和三位重建[5]技术确定目标位置,再对目标进行抓取。因此,采用双目视觉对物体堆叠放置情况进行研究,因为不规则物体的质心难以计算,故采用球体进行实验,并简化目标定位过程,不再通过立体匹配和三维重建方法确定目标的空间位置。

1 相机标定原理

相机标定是3D 计算机视觉中的必要步骤,以便从2D图像中提取度量信息[6]。相机标定是为了构建空间点的位置和相机图像像素位置之间的关系[7-8]。

假设三维空间有一点M=[X,Y,Z]T,在图像平面的对应点为m=[u,v]T。令针孔模型的关系可表示为:

其中,s是比例系数,R是旋转矩阵,t是平移矩阵,A是相机内参,且有:

其中,(u0,v0)是相机主点,α和β是相机水平和垂直方向的焦距,γ代表像素行列夹角。

理想情况下,相机主点在图像中心,像素的行列夹角为0 或者90°。不失一般性,假设模型平面位于世界坐标系的Z=0,则式(1)可以写成:

其中,λ是任意比例系数,由于R是规范化的正交矩阵,由式(7)可得约束条件:

相机标定过程就是计算出相机的内参矩阵、外参矩阵、旋转矩阵和平移矩阵的过程。

2 图像处理

对堆叠物体进行顺序抓取,必须确定每个小球的位置及轮廓方向,由于研究对象是球体,可简化处理,只需确定球心即可确定小球的位置。

2.1 图像滤波

由于拍摄的图像包含许多椒盐噪声,为了减小或者消除图像中无关信息的干扰,增强有用信息的可检测性[9],首先对图片进行滤波处理,经实验验证,中值滤波[10-11]处理效果最好,如图1 所示。

Fig.1 Median filter图1 中值滤波

2.2 霍夫变换检测圆原理

霍夫变换是常见的间断边界检测方法[12],霍夫变换的实质是对图像进行某种形式的坐标变换[13-14]。因此,对图像中的直线或者曲线的检测问题就转变成了寻求变换空间中的峰点问题。

圆的表达式:

圆由参数a、b、r决定,只要确定这3 个参数即可确定圆的位置。

利用霍夫变换检测圆,首先对图像进行Canny 边缘检测,得到边缘检测的二值图;然后对图像进行Sobel 算子操作,计算出所有像素的邻域梯度值[15];再初始化圆心空间,遍历Canny 边缘二值图中的所有非零像素点,沿着梯度方向画线,将线段经过的所有累加器中的点累加,经统计排序,得到可能的圆心[16]。

在得到圆心后,计算Canny 图中全部非0 点距离圆心的距离,对距离从小到大排序,根据阈值,选取合适的可能半径;然后初始化半径,遍历Canny 图中的非0 点,对于点所满足的半径进行累加,最后统计得到可能的半径值。

用多层锡纸包裹在铝质易拉罐内层,底部也剪个三角形,取一粒点燃花生种子,用解剖针垂直扎入2片子叶中,直接加热试管。重复至少三次平行实验取平均值,记作C组。

3 目标抓取

要抓取目标小球,只要确定球在三维空间的质心,即可确定其位置。由于只需要确定球心一个空间点即可确定其空间位置,而且立体匹配和三维重建过程比较复杂,本文采用相机标定原理,通过异面直线的概念反解出某一点的空间坐标,然后利用应力应变反馈,并结合视觉闭环构成抓取系统。

3.1 空间点坐标计算

由相机标定原理可知,一个空间点(X,Y,Z)到左右像素相机像素的坐标P1(u1,v1)(u1,v1)、P2(u2,v2)(u2,v2)可表示为:

式(5)有4 个方程、3 个未知数,只要将从左右图像得到的像素坐标代入方程,利用最小二乘法解方程,得到的最优解即可看作是该点的三维空间坐标[17-18]。

理想状态下,P1和P2所在直线一定会相交于点P。但是因为成像模型不是完全的针孔模型,而且标定参数也会有误差,因此P1和P2所在直线未必会相交于点P,此时可用异面直线的概念求解该点的空间坐标[19]。

如图2 所示,两条异面直线L1和L2的单位向量是m1m1和m2m2,Q1Q1和Q1Q2在两条直线上移动最小时,QQ是两条直线的公垂线,由此可得:

3.2 手眼标定

手眼标定是为了明确机械手坐标系和像素坐标系之间的转换关系,便于机械手抓取目标。对eye-to-hand 形式的相机和机械手进行手眼标定[20]。

Fig.2 Skew line图2 异面直线

设机械臂底座中心为基础坐标系,记作base,相机坐标系记作cam,标定板坐标系记作obj,机械手坐标系记作endT表示基础坐标系到机械手之间的转换关系即机器人运动学正解表示机械手到相机坐标系之间的转换关系表示相机坐标系到标定板之间的转换关系即相机外参数。当机械手抓着标定板移动任意两个位姿时,会得到:

解此方程即可得到机械手与像素之间的转换关系。

3.3 机械手定位

通过模板匹配确定机械手末端位置。模板匹配[21]是将待识模式分别与各标准模板进行匹配,通过一个相关度函数计算待识模式的各区域与各标准模板之间的相关度,每个位置都对应一个相关度值,值越高,则匹配情况越好,最后取匹配最好的作为识别结果。

3.4 闭环设计

确定目标空间位置和手眼标定后即可控制机械手对目标进行抓取,但是此时的系统是开环的,无法判断机械手是否准确抓取到了目标。因此,本文通过在机械手末端添加全桥压力传感器,通过应力变化反馈是否抓取到目标。让系统在形成视觉闭环的情况下,同时具有物理闭环,以确保系统能够真正地抓取到目标。

4 实验

4.1 相机标定实验

利用MATLAB 工具箱进行标定,此方法简单方便,易于实现且精度高。标定过程如下:读取14 张图片,分别对左右相机进行标定;读取图片完成后,提取角点;进行标定,保存标定数据;左右相机标定完成后输入stereo_gui 命令,读入左右相机标定文件,对双目相机进行标定得到旋转向量和平移向量,标定结果如表1 所示。

Table 1 Camera parameters表1 相机参数

4.2 目标检测实验

根据上述原理对目标进行检测,实验一检测图像中相同颜色的网球,效果如图3 所示;实验二对不同背景下并带有高亮部分的网球进行检测,效果如图4 所示;实验三用颜色相同的物体遮挡部分网球并进行圆形检测,效果如图5所示;实验四用网球遮挡部分网球并进行圆形检测,效果如图6 所示;实验五对散乱放置的网球进行圆形检测,效果如图7 所示。

Fig.3 Results of experiment one图3 实验一结果

Fig.4 Results of experiment two图4 实验二结果

Fig.5 Results of experiment three图5 实验三结果

Fig.6 Results of experiment four图6 实验四结果

Fig.7 Results of experiment five图7 实验五结果

由以上实验结果可以看出,本文方法对于不同小球可以识别出其轮廓;对于具有高亮部分的小球可以识别出其轮廓;小球在不同背景下可以识别出其轮廓;对于被部分遮挡的小球也能够识别出其轮廓;对于散乱放置的小球依然可以识别出其轮廓。

4.3 空间坐标计算

对棋盘格提取角点,根据像素坐标计算空间坐标,并计算相邻角点之间的距离,如表2 和表3 所示。棋盘格间距为35mm,由实验数据可以看出相邻角点之间的距离非常接近实际距离,最大误差不超过1%。因此,这种方法求解空间中某一点的坐标是可行的。

Table 2 Corner coordinates表2 角点坐标

Table 3 The distance between adjacent corners表3 相邻角点之间的距离

4.4 目标抓取结果

计算出待抓取目标的空间坐标,控制机械手去抓取目标,抓取结果如表4 所示。

Table 4 Fetch results表4 抓取结果

5 结语

通过霍夫变换检测圆并计算出圆心在左右像素的坐标,再利用相机标定原理反计算出圆心对应点的空间坐标,在深度方向加上球体的半径即可确定球体的质心。这种方法只需要左右像素坐标,并省去立体匹配和三维重建等复杂步骤,且精度可控制在1%以内。同时,利用应力应变结构作闭环反馈,使系统具备视觉闭环及物理闭环。

实验表明,该方法对堆叠物体抓取的成功率随着目标数量增多而下降。此方法对于堆叠球体的抓取更容易实现,对设备要求低,对光源不敏感,不需要大量数据集的支持,性能稳定,过程更容易实现,但是只适合于类球体物体抓取。后续可以研究此方法是否适用于非类球体堆叠物体抓取。

猜你喜欢

机械手标定坐标系
解密坐标系中的平移变换
坐标系背后的故事
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
基于重心坐标系的平面几何证明的探讨
船载高精度星敏感器安装角的标定
搬运机械手PLC控制系统设计
基于ADAMS与MATLAB的机械手控制系统仿真研究
基于Harris-张正友平面标定法的摄像机标定算法
极坐标系下移动机器人的点镇定
基于PLC的机械手控制系统