双目视觉引导的异构件定位抓取系统

2022-11-21 06:48:40刘建春高永康陈勇忠
机械设计与制造 2022年11期
关键词:手眼双目标定

刘建春,高永康,陈勇忠

(1.厦门理工学院机械与汽车工程学院,福建 厦门 361024;2.厦门理工学院电气工程与自动化学院,福建 厦门 361024)

1 引言

随着工业机器人的快速发展,其在机械加工、磨削抛光、装配、喷涂等作业中得到广泛的应用[1]。工业机器人虽然可以完成诸多复杂、危险的工作,但大多数需要人工示教完成指定的动作,无法满足制造加工过程自动化及智能化的需求[2]。将视觉技术与机器人技术结合应用如同给机器人安装了眼睛,可以使机械臂的动作更加智能化、灵活化。国内外研究人员对视觉引导机器人定位抓取目标物体做了大量研究。文献[3]研究了采用单目视觉引导机器人的方式,将相机固定在机械臂末端,采用吸盘实现对目标物的抓取。文献[4]以圆柱形胶瓶盖为研究对象,通过放置在不同位置的相机求取物体三维坐标,然后对机器人进行正、逆运动学求解,最终引导末端执行器抓取目标物体。文献[5]以工装板为研究对象,以双目视觉技术为基础,通过求取定位孔的三维位置坐标,最终引导末端夹爪实现夹取功能。

虽然国内外学者对视觉引导机器人抓取物体做了很多研究,但还存在以下几点不足。首先单目视觉虽然简单方便但只局限于二维平面空间无法获取深度信息。其次末端夹具的选择上吸盘居多,仅能实现对质量较轻的物体抓取。虽然部分学者采取夹爪,但是在求取物体姿态仅求取了位置坐标,没有计算偏转角度,限制了抓取物体的姿态。同时研究对象大多数为圆柱、矩形等形状规则的物体,离实际推广应用还有一定的差距。

而异构件(如水龙头)形状复杂按照以上方法还难于实现精确的定位与抓取。为了实现机器人对多种姿态下水龙头的定位抓取,开发了一套双目视觉引导的异构件识别定位抓取系统,完成了图像采集、双目标定、手眼标定、偏转角与机器人第六轴标定、图像预处理、立体校正及匹配等功能模块设计。

2 系统工作流程

系统可以分为以下几个部分:系统标定、图像采集与预处理、立体校正与匹配、三维坐标及偏转角的确定、系统通讯等,系统工作流程,如图1所示。

图1 系统工作流程Fig.1 System Workflow

在系统运行之前标定。分别进行单目及双目标定,获得其内部参数及二者之间的位姿关系。通过手眼标定得到视觉系统与机器人基坐标系之间的平移及旋转矩阵。同时根据物体初始偏转角度建立工件与机器人第六轴的转换关系。系统运行时,放置于传送带上的水龙头到达感应区域后光电传感器动作,传动带停止,相机开始拍照。获取的图像经过预处理、立体校正与匹配等操作,计算出物体的三维坐标,同时利用图像二阶矩计算出偏转角度。

将三维坐标及偏转角经手眼转换矩阵及偏转角转换公式运算,得到机器人基坐标系下的三维坐标及第六轴的旋转角度,最后通过通讯模块将数据发送给机器人控制柜引导机器人实现抓取动作。

3 系统标定

标定是机器视觉应用中重要的一步[6],标定精度直接影响机器人能否实现定位抓取功能。系统标定包括四部分:单目标定、双目标定、手眼标定、偏转角与机器人第六轴标定。

3.1 单目标定

单目标定是确定相机的内部与外部参数。常用的方法为张正友等人提出的基于2D靶标的相机标定法[7]。为了标定相机必须建立相应的数学模型,应用较多的是线性针孔成像模型。同时相机标定时涉及四种坐标系的转换[8],实质是求取世界坐标系与像素坐标系的对应关系。

实验采用(80×80)mm 的(7×7)圆点实心阵列陶瓷标定板,通过拍摄(15~20)张不同姿态的标定板图像运行程序即可完成标定。

3.2 双目标定

双目标定是在单相机标定的基础上求取二者之间的相对位姿关系。通过单目标定求取相机的内部与外部参数,假设左右相机外部参数分别用Rl、Tl与Rr、Tr表示,同理二者之间的相对位姿可用旋转矩阵RR,与平移向量TR表示。

假设点P在世界坐标系与左、右相机坐标系下的非齐次坐标分别为Xw,Xl,Xr,则三者有以下关系[9]:

由于左右相机的外部参数是相对于同一个世界坐标系,消去Xw得:

可得右相机相对左相机的转换关系为:

根据式(3)及单目标定结果,则左右相机的位姿关系,如式(4)所示:

3.3 手眼标定

机器人手眼关系可以分为eye-to-hand与eye-in-hand两种。由于实验是在传送带上进行定位抓取,视野范围是固定的,采用eye-to-hand方式比较合适,其手眼标定是建立相机坐标系与机器人基坐标之间的关系(以左相机作为相机坐标系建立手眼关系),手眼标定模型示意图,如图2所示。

图2 手眼标定示意图Fig.2 Hand-Eye Calibration Diagram

可得手眼标定的基本方程式[10]:

根据式(7)原理编写程序,可得标定结果,如表1所示。

表1 手眼标定结果Tab.1 Results of Hand-Eye Calibration

3.4 图像偏转角与机器人第六轴标定

实际放置的水龙头有不同的偏转方向,然而求得的三维坐标只能引导夹爪到达指定位置上方,此时只有夹爪与物体的方向一致才能完成抓取功能。但是手眼标定建立的是相机坐标系与机器人基坐标系之间的关系,未建立机器人第六轴关节与物体偏转方向的关系。由于视觉系统的坐标系是基于左相机坐标系,则偏转方向仅考虑左图像中物体的方向即可。因此需建立左图像偏转角与机器人第六轴之间的转换关系。

经图像算法处理可提取水龙头的圆柱区域,如图3(d)所示。假设水龙头的偏转角度为α,为了方便转换限制偏转角度范围为0 ≤α≤π。

夹爪到达指定位置正上方时读取当前机器人第六轴的数据,假设此时旋转角度为β,经过转换后机器人末端第六轴的角度β为:

4 三维坐标及偏转角确定

4.1 图像预处理

物体在实际成像过程中会受到相机内部电路噪声、机械设备振动、环境光照变化等因素的影响,导致采集的图片存在较多的噪声,会对后期的特征提取及立体匹配产生较大影响,因此有必要对图像进行初步的处理[11]。针对目标物周围的椒盐噪声,采用(3×3)大小的掩模遍历图像像素,进行中值滤波处理。同时为了使物体边缘更加清晰,通过开/闭运算去除边缘的毛刺。

4.2 立体校正

实际的双目相机并非完全在同一平面,则两相机拍摄的图像也不再同一平面。当然在这种物理层次下也可以进行特征点的搜索与匹配,但是效率低下且时间较长。双目标定后系统会生成对应左右相机的Map图像,然后采用相应的Map图对拍摄的图像进行校正。校正后图像共面且对应的特征点在同一水平线上,可以大大提高搜索效率[12]。

4.3 三维坐标及偏转角计算

4.3.1 待抓取区域提取

由于水龙头是不规则物体,如图3(a)所示。且抓取的区域为圆柱体,需要根据图像特征提取出圆柱体区域,然后将此区域建立为模板,进而通过模板匹配结果计算视差。通过视差及区域特征求取三维坐标及偏转角度。

根据实验周围的光线明暗情况选择合适的阈值参数,对图像进行二值化处理,将其顶部区域分割,如图3(b)所示。其次通过连通域分析选出目的区域,对选中的区域进行膨胀、结构元素腐蚀等形态学操作,如图3(c)所示。最后提取类矩形区域的最小外接矩形即可将水龙头圆柱体部分提出来,如图3(d)所示。

图3 抓取区域提取Fig.3 Fetching Region Extraction

4.3.2 立体匹配及三维坐标计算

经立体校正后,匹配点位于两幅图像对应的极线上。为了得到物体的深度信息需知左右图像匹配点的视差值[13],因此左右图像中对应点的正确匹配是求取三维坐标的关键。由于光线分布不均匀,为了减小光照变化对实验的影响,选择NCC模板匹配方法进行特征点的匹配[14],其原理如下:

式中:mt—模板的平均灰度值;st2—模板所有灰度值的方差;mf(x,y)—待测图像的平均灰度值;sf2—待测图像的所有灰度值方差。

同时为了减小误匹配情况的出现,引入行坐标极线约束。假设模板的中心坐标为(xl,yl),对应的匹配点坐标为(xr,yr)。由于校正后图像特征点在同一水平线上,以左右xl,xr坐标值为约束条件,当二者值相等时匹配成功,否则重新进行匹配直至成功。

将提取出的矩形区域建立为模板,当模板创建成功后返回区域的中心坐标(Rowl,Columnl)。然后依据设定的相似度数值及约束条件进行匹配判断,匹配成功后返回右图像中匹配区域的中心点坐标(Rowr,Columnr)。则视差D=Columnr-Columnl,根据获取的匹配点视差及双目标定结果及式(10)可计算出抓取位置的三维坐标。

将上述得到的坐标值(xc,yc,zc)经过手眼转换矩阵即可得到机器人坐标系下的三维坐标。

4.3.3 偏转角求取

矩形区域角度范围为0 ≤α≤π,为了保证精度,实验中采用图像几何矩计算目标物的偏转方向。图像几何矩可以分为的一阶矩、二阶矩、三阶矩,其中,二阶矩可以计算物体的方向,二阶矩计算方法,如式(11)所示。

式中:M20、M02、M11—图像的二阶矩;V(i,j)—图像在(i,j)处的灰度值。

则图像的偏转方向R可表示为:

将式(12)得到的弧度值R转换成角度α,经坐标变换,即可得到机器人第六轴的角度β。

5 实验分析

如图4所示,采用ABB IRB 1410六轴工业机器人,末端可负载2.5kg,定位精度0.01mm。选用像元尺寸大小(4.8×4.8)μm,分辨率530万像素的相机。采用焦距为16mm的定焦镜头。双目相机、机器人、PLC等通过交换机与上位机通信。视觉系统拍摄目标物体图像,经处理得到实验条件下待抓取点的三维坐标及偏转角度。在夹爪末端固定一探针,操作机械臂使探针移至待抓取点,同时保持夹爪与物体抓取方向一致,读取此时实际的三维坐标及偏转角度。将视觉系统得到的位姿数据与实际的数据做差即可得到位姿误差。三维坐标及偏转角误差,如图5所示。

图4 系统硬件组成Fig.4 System Hardware Composition

图5 三维坐标与偏转角误差(单位mm/°)Fig.5 Three-Dimensional Coordinates and Deviation Angle Error(Unit mm/°)

6 结语

针对现有机器人示教抓取异构件智能化及柔性化较弱问题,研发了一套双目视觉引导的异构件定位抓取系统。以异构件水龙头为例,完成了单目/双目标定、手眼标定、偏转角标定、图像处理、立体校正及匹配、系统通讯等开发。最终得到物体的三维坐标(X,Y,Z)及旋转角度θ。通过实际的定位抓取实验表明,x、y、z方向误差分别在±0.9mm、±1mm、±1.4mm 以内,偏转角误差在±3.5°以内,可以满足实际的工业生产需求。

猜你喜欢
手眼双目标定
观察力、手眼协调能力
培养手眼协调能力,创意思维能力
使用朗仁H6 Pro标定北汽绅宝转向角传感器
观察力、手眼协调能力
培养手眼协调能力,创意思维能力
基于双目测距的卡尔曼滤波船舶轨迹跟踪
电子制作(2019年20期)2019-12-04 03:51:38
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
船载高精度星敏感器安装角的标定
基于双目视觉图像的长度测量方法
基于Harris-张正友平面标定法的摄像机标定算法