关键词:机器人;机器视觉;N点标定;深度学习
中图法分类号:TP391 文献标识码:A
1引言
随着当今世界经济的快速发展,传统制造业的转型升级已迫在眉睫。《中国制造2025》要求加快发展新一代的智能制造装备,未来制造业的发展方向必将是智能制造。工业机器人作为现代工业智能制造的典型代表,在喷涂、焊接、搬运以及装配等多项作业中被广泛应用。目前,工业机器人大多应用于批量的生产任务,操作人员通过示教和离线编程的方式,预先给机器人设置轨迹并进行工件的装配。此情景下,要求工件的摆放位置固定已知,有时还需要一定的辅助限位装置。因此,生产线缺乏灵活性和柔性。近年来,随着机器视觉技术的快速发展与应用,加装工业之眼后工业机器人可以更加智能、灵活地进行上下料、装配等工作,目前的自动化生产线中,利用工业相机或智能相机等光学设备可以对目标零件进行快速识别和空间位置信息的获取,进而引导机器人进行自主工作。这已经成为工业生产中的一大趋势。
随着人工智能技术的发展,机器人与计算机视觉的结合越来越紧密,视觉引导机器人完成各种任务,如装配、上下料等,越来越受到研究人员的关注,并取得了一系列的研究进展。机器人视觉系统主要作用是利用视觉设备识别出待处理的目标并获取其位置信息,为机器人抓取、分拣以及装配提供信息。利用工业相机等视觉设备获取目标图像信息,根据特征检测识别出目标,引导机器人动作,因而检测识别的精度影响机器人动作的成败。目前,国内外研究人员针对不同的目标产品检测识别提出了大量的方法,主要分为基于传统视觉处理方法和深度学习方法。
传统视觉处理方法获取目标的灰度、纹理、形状、不变矩等特征作为依据实现目标的检测。乔景慧等为了抓取不同型号和尺寸的电视机背板,采用模板匹配方法确定背板的型号和品质,开发了视觉伺服自适应控制系统。朱颖等针对机器人作业环境复杂、物料的随机摆放使得目标识别与定位精度低、实时性差等问题,提出改进几何矩的移动机器人目标识别,将Graham与旋转卡壳相结合的算法寻找最小外接矩来获取目标物料的准确位置。传统的机器视觉算法具有处理简单、速度快等优势,但针对复杂场景,如遮挡、光照不均等情况处理效果受限。另一方面,深度网络方法因其强大的特征处理能力,被广泛应用于各个领域的目标识别。仲训杲等针对智能机器人抓取、判别问题,提出多模特征深度学习与融合的方法,将测试特征分布偏离训练特征视为一类噪化,引入带稀疏约束的降噪自动编码(DAE),实现网络权值学习,并以叠层融合策略,获取初始多模特征的深层抽象表达,该方法可以提高深度网络的鲁棒性和抓取判别精确性。赵德安等利用YOLO神经网络实现了复杂环境下苹果的识别。闫建伟等采用带有残差模块的YOLO神经网络对刺梨果实进行了识别。以上处理流程及方法均是根据机器人完成不同任务时设计的,当应用于复杂目标分拣任务时适用性受限。
本文设计了一种基于深度学习的智能机器人分拣系统。搭建机器人视觉系统后,利用手眼标定方法确定机器人和相机的映射关系:利用机器人视觉系统采集并增强目标数据集,利用Labellmg完成目标类别的标注,训练获取YOLOv5网络模型参数:结合变换矩阵,将网络模型检测到的目标像素坐标信息转换至实际物理坐标;根据目标的类别,调用DobotMagicianPython接口,控制机械臂移动至该位置进行抓取操作。利用深度网络检测目标信息,可以避免人工设置特征的局限性,提高系统的鲁棒性,实验验证了本文方法的有效性。
2本文系统
机器人分拣物料除了需要获得物料类别信息之外,还需要识别出物料的位姿信息。本系统所处理的物料为对称目标,因而需要识别抓取的位置信息。本文设计的智能机器人分拣系统工作流程为:通过2D相机对无序放置的物料实时拍照采集图像,在上位机中经过深度网络处理后获取物料类别和位置信息,发送给机器人进行智能分拣。智能机器人分拣系统主要包含硬件系统和軟件平台两大部分。
2.1硬件
本系统主要由机器人、大恒工业相机及镜头、环形光源、相机支架等组成,设备安装情况如图1所示。
将相机固定于相机支架上,此时相机相对于机器人是眼在手外的形式。由于目标在平台上的位置是随机的,因而相机拍照并检测出位置信息后转换为世界坐标,进而告知机器人需要移动的位置。本系统采用的机器人是Dobot Magician,其由底座、大臂、小臂、末端工具等组成。
2.2手眼标定
机器人视觉系统获取的是目标的像素坐标,需要将像素坐标转换为世界坐标,引导机器人进行移动。由于工件所处的平台平面是固定的,因而本系统采用N点标定方法建立机器人和相机之间的转换关系。N点标定的主要原理为已知N个点的图像坐标以及对应的机械坐标,根据其获取手眼对应的转换矩阵,操作步骤如下。
首先,将标定板放置于相机视野之内,获取标定板的图像,建立特征模板并利用模板匹配获取标定板特征点像素坐标,选取9个特征点,记录为(x,y);其次,移动Dobot机械臂至上述九个点,记录此时机械手末端的笛卡尔坐标,记为(x′,y′);最后,将两组坐标一一对应,调用Opencv中的estimateAffine2D函数计算手眼变换矩阵。获取变换矩阵之后,对实时检测到的工件位置转换至机械手坐标进行抓取。
2.3深度网络模型
2.3.1数据集制作
利用相机采集不同背景、不同光照条件下的各类目标图像,同时考虑增加不同视角下目标图像数据集。利用Labellmg等标记软件实现不同目标的标注,获取目标处于图像中的位置及种类信息。
采用Mosaic数据增强方法对不同目标样本数据集进行扩充,主要手段包含信息丢弃(随机擦除、Cutout,Hide and Seek和MixUp手段)、空间转换(主要有随机缩放、裁剪、翻转、旋转任意角度)、颜色扭曲(改变亮度、饱和度、对比度和噪声)。
2.3.2网络模型
本文采用的網络模型为YOLOv5模型,网络架构主要由Backbone,Neck和Head等部分组成。
Backbone部分主要由Focus模块和CSP模块组成,Focus模块作用是对输入图像进行切片操作,将通道扩大了4倍后卷积得到下采样图,而CSP模块可以大大增强深度网络学习性能的同时大幅减少计算量。Neck部分包含FPN模块和PAN模块,通过将经典的FPN层与自下而上的特征金字塔结合,实现了高层语义特征与底层位置特征相融合,使网络能够提取更加丰富的特征。网络的Head部分由三个尺度的检测层组成,输出结果包含目标的类别、得分以及目标框的位置信息。最终输出的位置信息经手眼矩阵转换后可传输至机器人实现移动。
3实验
本系统使用的相机是大恒相机,因此,首先安装大恒相机sdk的gxipy接口,建立相机和上位机的通信。
利用Python import调用Dobot机械臂动态链接库DobotDll.dll.语句为import Dobot Dll Type as dType;利用dType.Set PTP Jump Params语句设置机械臂PTP运动模式参数,即设置门型运动时抬升高度和最大高度;通过dType.SetEndEffectorParams函数设置机械臂末端为吸盘;通过dType.SetPTPCmd语句设置机械臂初始位姿。采用Pytorch框架搭建YOLOv5模型,最终位置信息通过dType.SetPTPCmd语句传输至机器人。实验中采用圆柱物块表面粘贴不同目标图片模拟待处理物料目标,分拣结果如表1所列。
由表1可知,本系统的分拣正确率都在98%以上,平均耗时1.5s。
4结束语
本文设计了基于视觉引导的机器人物料分拣系统。利用N点标定方法实现机械手和相机之间的对应转换关系。面对复杂工业场景,尤其是光照变化、物料随机位置,部分遮挡等情况,利用Pytorch框架构建YOLOv5模型来处理。利用相机获取物料类别信息后,将目标位置信息转换为物理世界坐标进行分拣。实验验证了本文系统的有效性。
作者简介:
张可抒(1996—),本科,助理工程师,研究方向:电气潮流控制分析、公共管理、建设项目投资估算.设计方案技术经济论证和优化、建设项目财务评价和经济评价等。