基于机器视觉的阀口袋动态抓取系统设计

2022-09-15 06:22李雪梅李喆张鑫郭义华容北国
机床与液压 2022年12期
关键词:位姿卡尔曼滤波标定

李雪梅,李喆,张鑫,郭义华,容北国

(1.桂林电子科技大学机电工程学院,广西桂林 541004;2.桂林鸿程矿山设备制造有限责任公司,广西桂林 541004)

0 前言

在粉体包装中,常选用阀口袋作为包装用袋。阀口袋处于输送带上且不断移动,工人抓取运动的阀口袋,然后将阀口袋的阀口套入灌装设备的灌料口完成粉体的填充。这种包装方式自动化程度低,并且生产中伴随大量粉尘,损害工人健康。因此实现自动化粉体包装对提高生产效率、保护工人身体健康有着重要意义。

当前大多数工业自动化生产采用的是编码器对目标进行动态定位。黄金梭和沈正华针对输送带输送产品的过程,提出了一套基于编码器检测的位姿数据计算方法,通过构建抓取系统模型和创建各个坐标系之间转换关系,实现了机器人动态抓取目标。然而随着机器视觉的发展,它具有不接触的优点,通过相机采集目标图像信息,就可实现对目标的分析和控制。蔡菲和郭倩利用视觉系统对运动物体进行图像采集,通过运动学轨迹分析,完成物体位置的判断,然后利用DELTA机械手实现对传送带中物体的抓取和释放操作。陈甦欣等采用一维概率霍夫圆检测法求取目标位姿,再将卡尔曼滤波用于目标跟踪预测,最终成功抓取流水线上的家用压缩机。上述动态抓取过程存在坐标转换繁琐、运算开销大且控制方法复杂等问题,不利于对动态目标的快速、精准抓取。本文作者以阀口袋为研究对象,分析其样式特点,利用机器视觉进行特征提取,通过卡尔曼滤波和数据拟合预测阀口袋抓取位姿。在此基础上,利用PLC对工业机器人进行控制,实现运动状态下阀口袋的抓取,取得了较好的实验效果。

1 系统总体构建

1.1 系统硬件构成

基于机器视觉的阀口袋动态抓取系统主要包含3个子系统:视觉处理系统、机器人抓取系统以及PLC控制系统,各系统设备布局如图1所示。

图1 系统设备布局

视觉处理系统由C270i USB相机、LED环形光源及配置有OpenCV的计算机组成。

机器人抓取系统由EFORT ER10-C10六轴工业机器人、自主设计的阀口袋专用末端执行器及阀口袋输送装置组成。

PLC控制系统由西门子S7-1200 PLC、IO扩展模块以及各类外部元器件组成。

1.2 系统工作原理

阀口袋动态抓取系统是通过各子系统相互配合来完成。阀口袋在输送带上运动,运动至相机有效视场区域时,视觉处理系统对阀口袋进行图像处理,提取特征信息。然后利用卡尔曼滤波算法,对特征点坐标进行校正。再将特征点位置坐标进行数据拟合,对抓取时刻的位姿进行预测,发送预测位姿数据至PLC。PLC与机器人通信,机器人在完成应答后接收来自PLC的位姿数据(、坐标以及姿态角度)。在抓取时刻,机器人结合末端执行器实现对阀口袋的抓取,之后机器人按照既定程序将阀口袋送至灌装机出料嘴处,完成后续上袋工序,如图2所示。

图2 系统工作流程

2 机器视觉处理

2.1 相机标定及畸变校正

相机标定在视觉当中起着至关重要的作用,其目的就是为了确定图像中的点与实际世界坐标之间的对应映射关系,具体是指计算相机的内参模型、镜头畸变系数等。采用张正友标定法只需要采用印有棋盘格的平面标定板,操作简单、定位精度高。相机拍摄多张摆放差异较大的标定板,通过处理,得到相机的内参矩阵、镜头畸变系数,再用标定结果对采集到的图像进行校正。标定结果如表1所示。

表1 相机标定结果

2.2 手眼标定

手眼标定是为求取工业机器人与相机之间的投影矩阵,将视觉识别的结果转化为机器人可识别的数据,从而实现抓取。通过图像处理识别出放置在自制标定板上9个圆点位置,标记出在像素坐标系下9个点的坐标(,),然后将工业机器人末端依次移动到这9个位置,标记在机器人坐标系下其坐标(,)。根据针孔成像模型,建立像素坐标系与机器人坐标系之间的转换关系,构建超定方程:

(1)

求解广义逆矩阵可得该超定方程中投影矩阵,代入数据可得:

(2)

2.3 图像处理

粉体包装最终的目的是将灌料口插入阀口内,实现粉体的填充。针对阀口袋的外形特点,采用OpenCV视觉函数库对阀口袋进行图像处理,并设计特征提取方法。

2.3.1 图像预处理

图像预处理可以消除由于光照变化、工厂粉尘对图像造成的不良影响,同时也可以简化图像信息,减少运算开销。图像预处理流程如图3所示。

图3 图像预处理流程

相机拍摄的原始图像模型为RGB颜色模型,微弱的光照变化会导致相应数值发生改变,致使后续处理发生错误。而HSV颜色模型是根据颜色的直观特性建立的模型,可以有效解决光照变化引起的问题,如图4(b)所示。对阀口袋的特征进行分析,为了减少输送带背景色对阀口袋特征信息的影响,选取阀口处为颜色阈值处理目标。在环形LED灯的照射下,通过自适应颜色处理,进行颜色阈值处理,如图4(c)所示。经过颜色阈值处理后,图像会产生一些较小的噪点以及空洞,利用图像形态学中开闭混合运算处理能够消除图像中的多余噪点,填充纤细空洞,如图4(d)所示。滤波处理可以减少图像噪声的干扰,最大限度地保留图像的特征信息,采用双边滤波能够较好地抑制孤立噪声,同时不破坏图像边缘信息,如图4(e)所示。采用轮廓处理,不仅减少无关信息的干扰,保留特定的特征信息,还可提高特征提取效率,如图4(f)所示。

图4 图像预处理效果

2.3.2 特征提取

图像处理的目的就是为了获取图像信息的特征,针对阀口袋的特点,采用Shi Tomasi角点检测,设定角点邻域大小,确定阀口尖角处为特征点,角点检测方程如下:

=-(+)

(3)

其中:为角点阈值;为特征值;为经验常数。

确定一个物体的位姿信息,不仅需要特征的位置坐标,也需要姿态角度。利用Hough直线检测,检测出阀口边缘直线,计算该直线斜率,通过几何函数转换后可得到阀口袋的姿态角度。

2.4 抓取点设计

为了配合末端执行器的抓取,需将图像特征点位置转移至抓取点位置。通过多次测量得到两点之间的长度关系、,如图5所示,为特征点(,),为抓取点(,),为阀口袋的前端与轴所夹角度,被用来表示阀口袋在输送带上的姿态角度。由于阀口袋可视为平面物体,因此只需确定平面坐标,抓取点轴高度坐标由机器人示教获取。

图5 抓取点与特征点位置关系

特征点与抓取点位置关系:

(4)

3 动态目标的定位与预测

3.1 基于卡尔曼滤波的动态目标定位

由于相机测量误差,导致动态目标定位精确性较低。采用卡尔曼滤波,对特征点位置进行校正,获取特征点最优位置,最优位置估计值接近于真实位置。

卡尔曼滤波时间更新方程:

(5)

卡尔曼状态更新方程:

(6)

根据卡尔曼滤波算法的核心公式可知,只有给定目标物体这一时刻的位姿、系统初始协方差,卡尔曼滤波算法才能实现预估-修正优化的迭代过程。初始协方差只要不为0,则对滤波效果影响很小,会很快收敛。测量噪声误差取值过小或者过大会导致滤波效果变差。对于运行稳定的过程,过程激励误差一般为定值。考虑到实际情况,阀口袋在输送机上运动,在较短的时间内,为匀速运动。轴方向为运动方向,坐标会呈线性增加。考虑输送带会发生震动,致使轴方向会有稍许偏移,运动方程如下:

(7)

其中:Δ为特征点测量识别间隔时间;为运动速度大小,即连续两帧图像特征点坐标差值与相隔时间Δ的比值。状态的观测值表示为

(8)

由于阀口袋在运动过程中姿态角度未发生改变,因此姿态角度为第一次直线检测所测角度。

3.2 动态目标位姿预测

常用的动态抓取方式有两种:一种是确定抓取时刻,通过预测获取运动目标在抓取时刻的位置,规划机器人在抓取时刻到达这一个位置进行抓取;另一种方法是机器人跟随目标同步运动,逐渐接近抓取点进行抓取。由于采用相机固定的模式,机器人的跟踪移动会遮挡部分视场,影响图像处理。又因采用变频器控制输送带的方式,阀口袋的运动状态较稳定,可近似为匀速运动,因此采用通过预测抓取时刻的阀口袋位姿进行抓取。

基于最小二乘法的回归模型,设定()为距离函数,为点到直线的距离,为特征点个数。根据最小二乘法LSM公式(9),对数据进行拟合,并计算所有特征点到拟合直线的平均平方距离,距离越小则表明拟合直线的精度越高。

(9)

利用上述方法,当所有特征点离某一直线最近时,可得最优拟合直线公式(10)。根据输送带运行速度以及机器人抓取区域,确定抓取时刻范围。最后转换抓取点坐标,即可得抓取时刻的阀口袋的位姿。

=+

(10)

4 动态抓取的实现

4.1 通信构建

在数据传输的过程中,图像处理后的数据需要与PLC以及机器人可以执行的通信协议保持一致,需要设定协议的端口参数、数据类型以及校验码等。EFORT机器人采用PROFINET以太网端口,而PLC支持Modbus协议,因此使用Modbus TCP通信协议进行数据之间的传递。Modbus TCP是一种在TCP/IP以太网下的报文传输协议,一般分为客户端与服务端。在整个系统中,PLC作为控制中枢,控制视觉处理系统的运行、接收图像位姿数据、输出处理后数据至机器人。为了避免通信阻塞以及寄存器地址错误,在PLC中分别建立客户端与服务端,如图6所示。

图6 通信传输架构

4.2 动态抓取流程设计

PLC控制程序基于西门子Protal平台开发,由数据处理及通信程序构成。机器人抓取程序基于C10示教器编写,主要有系统主程序、抓取子程序、上袋子程序及异常处理子程序。视觉处理程序基于Visual Studio 2019开发环境,采用C++进行程序编写,包含相机标定、图像处理程序、定位预测与通信程序。通过这些程序的紧密联系,实现如下功能:

(1)阀口袋在输送机上运动,当阀口袋运动至视场有效区域时,触发视觉处理系统,对其进行图像处理,提取特征点。通过卡尔曼滤波对特征点位置进行校正,得到最优位置。然后对所获得的最优位置坐标进行拟合,结合测量得到的阀口袋姿态角度,预测抓取时刻的阀口袋位姿,并将预测数据发送至PLC。

(2)阀口袋进入视场有效区域时,视觉处理系统反馈准备指令给PLC,通过通信协议,再将准备指令发送给工业机器人,工业机器人到达初始准备位置。PLC在接收到来自视觉处理系统传来的预测数据后,通过数据处理,将数据输出给机器人。机器人移动至预测位置,在抓取时刻利用末端执行器实现阀口袋的动态抓取。

(3)机器人抓取到阀口袋后,按照既定程序,完成后续上袋工序,然后退后初始点,等待下一次抓取过程。

系统控制流程如图7所示。

图7 系统控制流程

5 实验与分析

为了验证系统性能,对编写的程序及设备进行调试。视觉处理系统提取特征信息,PLC控制运行流程,机器人按照预测位姿进行抓取。大量实验表明:图像处理时间约为58.11 ms,每次抓取预测时间约为2 325.68 ms,机器人抓取速率为每分钟6~7次,误差精度均为1 mm以内(见表2),满足后续生产要求。动态抓取过程见图8,后续上袋过程如图9所示。

表2 理论位置与机器人实际抓取位置对比

图8 动态抓取过程

图9 后续上袋过程

6 结论

文中详细介绍了动态抓取阀口袋的整个流程,采用机器视觉、卡尔曼滤波及数据拟合的方式对输送带上运动的阀口袋进行位姿预测,然后在PLC的控制下,机器人实现了对阀口袋的动态抓取。该动态抓取系统满足了生产中抓取精度要求,提高了工业自动化程度,对实现自动化粉体包装有着较高的实用价值。

猜你喜欢
位姿卡尔曼滤波标定
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
脉冲星方位误差估计的两步卡尔曼滤波算法
基于位置依赖的密集融合的6D位姿估计方法
船舶清理机器人定位基准位姿测量技术研究
使用朗仁H6 Pro标定北汽绅宝转向角传感器
优化ORB 特征的视觉SLAM
CT系统参数标定及成像—2
CT系统参数标定及成像—2
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
基于单目视觉的工件位姿六自由度测量方法研究