基于3D视觉的机器人无序抓取系统

(整期优先)网络出版时间:2022-11-30
/ 3

基于3D视觉的机器人无序抓取系统

候金良

广州富唯智能科技有限公司;广东工作510700

摘要:机器视觉因其具有适应性好、柔性强、非接触等特点,被广泛用于自动化生产线的工件尺寸检测、缺陷检测以及分拣中。使用机器视觉进行测量并配合多关节机器人进行工件的分拣,可以提高作业效率,降低工人作业的劳动强度。在自动化生产线中,零部件的抓取及安放,是一个非常重要的环节,也是目前自动化产线消耗人力最大的一个环节。有些类型的工件,若使用机械振动分拣装置,不仅可靠性低,而且振动噪声非常巨大,严重影响工人的身体健康。

关键字:3D视觉;机器人;无序抓取系统

0引言

随着科技的进步与发展,人们对自动化领域提出了无人工厂,高精度装配等理念,这些理念的核心作用就是降低人工参与度。而工业机器人的出现,一定程度上满足了人们对自动化行业提出的要求。如今越来越多的工业机器人系统集成了视觉接口,利用视觉技术配合机械手实现目标物体的定位,分类,检测。机器视觉的核心就是将相机采集的图像进行处理,提取图像的特征信息,来判断图像上层语义,进而替代人眼和人脑完成约定任务,甚至可以完成特殊环境下人眼无法完成的任务。除此之外视觉技术还运用在虚拟现实,汽车导航,瑕疵检测等领域。本文运用机械手与视觉技术的结合,将物料盒中的无序物料进行识别,定位,并引导机械手进行抓取,有序放入物料盒中。

1系统的硬件组成与搭建

1)CCD相机:相机采用大华公司A3600MG18型号相机,使用千兆网卡与工控机通讯,安装在物料盒,来料盒上方,与机械人末端下方。2)镜头:镜头采用日本COMPUTAR公司的25mm标准镜头。3)计算机:采用研华公司的工控计算机,软件运行环境为Window10,VisualStudio2017C#,CPU:Inteli5-4800,RAM:12GB。4)光源:光源采用上海愷威光电科技的LED环形光,此款源可以减少相机曝光时间,提高图像质量。5)机器人:采用雅马哈YK500-600XGL四轴机械手。该机械手末端重复精度可达到0.005mm,编程简单,采用TCP/IP协议与工控机通讯。

2视觉识别抓取技术的优点

当前,在机器视觉技术的基础上对于工业机器人的研究越来越广泛,并引起了高度的关注,到目前为止,已经出现较多的科学技术成果,在实际生产中得到了较好应用,此后,自动化的应用速度呈现出上升态势,传统工业生产模式不足与缺陷日益显现出来,已经难于满足现代工业生产需求。一些企业还是用人工作业方法来对产品不足和缺陷进行检测,如产品封箱、装箱、搬运等。人的体能有限,当人体的能力达到极限时,也就到了疲劳期,就很容易出现错误,例如错检、漏检,甚至操作失误的情况会大幅度提高,因此,也就不能确保产品在质量和数量等方面的各项指标与要求。然而,机器视觉技术的应用,正好可以解决这个问题,还适应了现代工业发展需求,因此,在工业自动化行业中,机器视觉技术便成为了最佳应用方式,也是对传统作业方法有效改善与提升。

3视觉系统应用流程

3.1 3D相机参数设定

连接3D相机,根据工作场景光源环境实际情况,应用Mech_Eye软件设置和调整3D相机参数,使3D相机获得清晰的目标工件2D图、深度图和点云视图。

3.2手眼标定

选择合适位置安装标定板,运行机器人3D标定程序,设置Mech-Hub软件与工业机器人系统的通信参数,通过Mech-Viz软件手动操作机器人,获得工业机器人的控制权,在Mech-Viz软件上设置3D相机及标定板参数,控制3D相机拍照采集不同位姿的标定板数据,添加标定点列,计算标定结果,根据标定精度对计算结果进行优化和误差分析,最后获取机器人与3D相机之间的位姿转换关系,完成工业机器人与3D相机之间的手眼标定。

3.3深度学习标注训练

为了让视觉系统能准确地识别出目标工件,需要用3D相机拍摄采集目标工件的图像数据,再通过深度学习标注训练工具软件,对不同类型的目标工件图像进行分类识别深度学习,完成工件识别模型训练。具体操作要点如下。1)手动调整不同角度的位姿,在保证图像质量的情况下,采集16张包含不同标签工件位姿的图像。2)利用软件内置的图像标定工具,对每张图像进行标注。3)完成工件识别模型训练,导出目标工件模型文件。

3.4编写Mech-Vision相机识别程序

将训练完成的模型分别导入至Mech-Vision工件视觉识别程序中,并设置相应的参数和感兴趣的区域。拍照获取图像,经过点云处理、计算抓取点、位姿转换、位姿矫正等步骤获取目标工件的位姿数据,进过深度学习分割、点云处理、计算抓取点等步骤获取目标工件的类型及颜色数据。

3.5编写Mech-Viz机器人控制程序

利用机器人编程控制软件Mech-Viz,将机器人与3D相机结合,通过设定视觉软件Vision给定的识别工程的参数,根据相机主控软件与3D相机通信配置关系,编写图形化的机器人控制逻辑程序,控制3D相机拍照获取目标工件位姿及机器人对目标工件的分拣任务。工作流程如下。1)加载机器人、工具、场景模型,将模型和实际物理机进行对应匹配。2)根据任务需要搭建VIZ程序平台,编写任务工作流程图,对模型的抓取规划运行轨迹进行仿真,防止机器人运动过程中发生机械碰撞。3)基于3D相机位姿检测结果,示教编程机器人对工件的识别和抓取。

4基于视觉和工业机器人动态抓取的误差和性能

在视觉引导机器人进行抓取过程中,在操作中的每一个环节上都会存在着或多或少的误差,为了进一步对视觉的稳定性与可靠性进行验证,就要进行多次、大量的抓取实验,并对所取得的实验结果进行认真分析和研究。在整体的系统当中,其抓取的准确度是由机器人系统的精准度、成像系统的标准精度和对计算的准确度来决定,这也是最重要的三个组成因素。机器人系统的精准度主要分为两种:一种是机器人自身的制造精准度,另一种是手眼标定系统的精准度。机器人的制造精度主要是由于在进行机器人制造和装配时产生的定位误差,手眼系统的误差主要是在对手眼进行定位的过程中进行坐标系统转换时产生的误差,通常会利用提高手眼标定的精度来提高机器人整个体系的精度。造成成像系统精度的误差是由于在相机成像过程中会使图像发生变形,而且由于光照条件不同,也会对相机的标定造成不同程度影响。

图像控制算法的误差也是系统误差的关键组成环节,把图像算法不断地进行优化,提高识别定位精准度,进而提升整体视觉精确度。若是利用传统示教方式进行抓取操作时,那么在编程过程中,工件中心位置完全是由人的肉眼来进行确定,可能就会造成0.5mm~1mm的定位误差,特别是对较小工件进行操作时极易产生较大的定位误差,甚至会导致一些不必要的麻烦。与此同时,在进行抓取和识别的速度上也要比传统的示教形式方便快速很多,这样就在很大程度上缩短了生产时间,进而提高了生产质量和效率。

5 3D表面成像技术

5.1双目立体视觉(binocularstereovision)

使用两个相机拍摄同一个目标场景,通过匹配场景内同一物理目标点投影到两幅图像中的像点(同源点),测量得到该点的空间三维坐标。双目立体视觉的主要任务是双目系统的标定和同源点的匹配。其中,同源点的匹配(立体匹配,stereomatching)方法有相关法、多重网格法和多扫描线法。这些方法都依赖于目标场景的纹理、结构等特征,因此若能主动制造特征,如投射随机分布的散斑图案、编码结构光等图案,则能变被动为主动,通过增强匹配的鲁棒性,使方法具有普适性。

5.2线结构光三角测量(lasertriangulationwithsheetofligt)

线激光器投射出的光平面照射到物体表面上会形成表征其轮廓的亮线,这些窄亮的细线通常被称为光条。线结构光三角测量的基本思想是:通过相机拍摄线结构光发射器所照射的目标物体,得到物体表面上光条中心位置的一系列3D坐标。因此,目标物体与线结构光成像系统之间做相对运动并在多个不同位置进行拍照测量,才能获得目标物体完整的3D表面轮廓。线结构光三角测量的主要任务是:标定相机及其与光平面之间的相对位姿,标定目标物体与成像系统之间的相对运动,提取光条的中心点。

5.3编码结构光三角测量(encodedstructuredlight)

编码结构光激光器向目标物体投射经过特殊设计的编码图案,基于不同的图案编码方法,相机可能需要拍摄一幅或多幅被激光器照射的目标物体表面图像,通过对比图像上经过物体表面调制的编码光图案与未调制的编码光图案可以测量获得目标表面的3D形貌。与线结构光三角测量相比,只要编码光能够照射到整个物体表面,物体与成像系统之间无需做相对运动即可获取物体表面的几何全貌。

5.4飞行时间深度测量(timeofflight)

传感器向目标物体发射经过调制的近红外光脉冲,然后再接收从物体表面反射回来的光脉冲,通过计算返回脉冲与发射脉冲之间的相位差即可测出目标物体的深度。

5.5聚焦深度测量(depthfromfocus)

由于相机的景深有限,在某物距下,目标物体表面上只有一部分点能够在成像平面上清晰成像。聚焦深度测量利用这一原理,通过拍摄不同物距下同一物体的多幅图像,提取图像上清晰成像的像点位置,计算得到物体表面上各点的深度坐标。聚焦深度测量技术的精度一般高于双目立体视觉和线结构光三角测量,但因其需要配合远心镜头或显微镜头使用,只适于对小尺寸物体进行测量。

5.6光度立体视觉(photometricstereovision)

物体表面反射光量的多少取决于该表面与光源和观察者之间的相对姿态。采用不同的角度对静止目标物体进行照明,在每个照明角度下,使用同一台相机在同一个固定视角下拍摄一幅图像,光度立体视觉技术使用这组图像估计出目标物体表面的法向量。目前,机器人抓取应用中使用的3D相机主要采用3.1-3.4中的成像原理。

6 3D视觉处理算法

6.1点云滤波

点云的滤波(filter)算法主要用于点云数据的预处理,可实现去噪、平滑、采样、特征提取等功能。滤波方法有:双边滤波、高斯滤波、条件滤波、随机采样一致性滤波等。

6.2点云特征估计

6.2.1点云局部特征估计

点云的局部特征(localfeature)估计算法用于估计点云中一点或一点周围数个邻近点的特征值。这些特征包括法向量、曲率、边界、点特征直方图(PFH)、快速点特征直方图(FPFH)、视角特征直方图(VFH)、NARF描述子、旋转投影统计特征(RotationalProjectionStatistics)等。

6.2.2点云整体特征估计

点云的整体特征(globalfeature)估计算法用于估计某个点云集合的特征,如点云的表面积、最小外接盒、最大直径、截面曲线等。

6.3点云关键点提取

关键点(keypoint),也称为兴趣点,因为具有某种特点,可依照预先定义的标准被稳定地识别出来。点云关键点的提取算法有:Harris3D、ISS3D、NARF、SIFT、SUSAN、Trajkovic3D。

6.4点云配准

由于遮挡等原因,为了获得完整的目标表面3D点云,常常需要从不同的视角对同一目标物体进行扫描。点云配准(registration)技术是将这些点云数据两两进行匹配,计算它们之间互相重叠的部分,将它们拼接在一起,获得更全面的目标物体表面点云。点云配准算法有最近点迭代法(ICP)。

6.5点云分割

点云分割(segmentation)算法用于将点云数据分割成不同的子集。依据应用需求,可采用不同的分割方法,如平面分割、柱面分割、欧几里得聚类提取、超体聚类分割、区域生长分割、基于最小割的点云分割、基于法向量差的点云分割等。除了上述的3D点云分割方法,点云的分割也可结合2D图像进行。先在2D图像上应用边缘提取、深度学习等算法,然后再对点云进行分割。

6.6三维匹配

三维匹配(3Dmatching)算法的功能是在搜索数据中找到目标物体并确定它的3D位姿,其中,搜索数据可以是3D点云或2D图像。三维匹配算法可分为基于形状的3D匹配、基于表面的3D匹配和可变形表面的3D匹配。

6.7点云拟合

如果某个点云子集为已知的几何形状,如平面、柱面、球面,可利用点云拟合算法进行拟合求出相应的位姿和几何参数信息。此外,点云处理算法还包括k维树、八叉树等方法。在机器人抓取作业中,视觉的重要任务之一是目标物体位姿的估计。要估计位姿,正确地分割点云是前提。通常,综合利用4.1~4.4中的方法,然后再对点云进行分割,最后利用三维匹配或点云拟合估计出目标物体的位姿。

结束语:机器人的无序分拣广泛应用于家庭服务、工业制造和物流仓储等领域,近年来许多学者对此展开了研究,但由于场景的复杂性与目标的多样性,使这项技术目前仍处于初步发展阶段。而且大多数机器人分拣系统的分拣对象是单类目标物体或者相互分离的多类目标物体,对于非结构化场景中存在堆叠或遮挡的多类目标物体尚未有良好的解决方案。此外现有的抓取技术对已知物体的抓取效果较好,但很难将现有的抓取能力扩展到新的物体上。因此,机器人无序分拣系统应当考虑对新对象具有较强的泛化能力,更好地处理复杂环境中的对象,提高系统的鲁棒性。

参考文献

[1]沈健.工业机器人视觉引导抓取工件的研究[J].智能制造,2021(04):72-75.

[2]王丽荣.基于视觉技术的机器人抓取目标识别与定位[J].机械设计与制造工程,2021,50(10):33-36.

[3]王东,黄瑞元,李伟政,黄之峰.面向抓取任务的移动机器人停靠位置优化方法研究[J].广东工业大学学报,2021,38(06):53-61.

[4]刘天宇,陈晔,刘雪峰.基于NAO机器人的智能抓取技术[J].电子设计工程,2021,29(22):184-188.

[5]张宪民,王浩楠,黄沿江.机器人抓取对象硬度触觉感知研究[J].机械工程学报,2021,57(23):12-20.