杨俊,杨文科,冉贵银,丁德胜,杨超,郭松梅
(重庆工程学院,重庆,400056)
随着《中国制造2025》《德国“工业4.0”》等概念的提出,机器学习、大数据等人工智能技术的涌现,推动制造业向数字化和智能化的方向发展。近年来我国劳动力成本急剧上升,生活水平的升高使得市场的需求量急剧提升,若还是采用人工操作,不仅效率低,而且工作质量难以保证,从而影响企业的竞争力[1]。在当前阶段工业机器人主要应用于事先设定运动轨迹的场景,替代了人工通过机械劳作完成的任务,但真实场景中还存在大量随环境变化随之改变运动轨迹的任务,工业机器人就需要具备面对环境不确定性时提供解决方案的能力。所以提出了基于机器人视觉的工业机器人无序物料分拣系统设计。
在一些不适合人工作业的环境或者通过人工视觉难以观察的场合下,通常会用机器视觉来代替人工视觉,是工业机器人工作时的重要技术之一。机器视觉技术是利用摄像机对被测物体进行图像采集、分析、处理的一门综合性技术,它主要是通过使用光学系统、工业数字相机和图像处理工具,来模拟人的视觉能力,并作出相应的决策,最终通过指挥某种特定的装置执行这些决策。运用了图像处理、机械工程技术、控制、电光源照明、光学成像、传感器和计算机等众多技术,使机器视觉系统具有检测精度高、响应速度快、实时性好,能提高生产的柔性和自动化的能力,从而提高了工作效率、精确度,降低了成本。
在当前的工业生产中对机器人的运用都是通过提前示教目标点,编写好机器人的运行轨迹,然后对程序进行自动的循环运行,并且机器人的位姿在出厂时就已经有了固定的姿态,各个关节都有活动范围,所以机器人只能实现特定的工作场合和指定的运动,对于被测物大小、形状、材料、位置等参数发生变化的任务时,是难以很好的完成目标任务。为了使工业机器人能够更好地适应工业环境,就需要使工业机器人在工业生产的柔性化、自动化、智能化得到有效地提高。在工业机器人系统上加入机器人的“眼睛”,通过机器人视觉技术,使机器人具备视觉感知能力,以适应复杂的工业环境[2]。对于机器视觉技术,世界各国都在应用创新,相较于国外发展的技术,国内的机器视觉发展起步较晚,现在正处于全盛发展期,当机器视觉可以成功地应用在工业领域时,将大幅度的提高产品的质量和生产效率。对此,我们针对该项目的背景、国内外研究现状进行总体的方案设计;由双目相机标定、结构光建立物料表面三维重构;然后对目标区域进行一次、二次分割;将点云特征进行提取、描述、匹配,通过机器人运动学求解完成机器人分拣实验;最后得到实验结果和对结果进行分析。具体实施路线如图1 所示。
图1 技术路线图
根据工业需求分析,由于加工环境、人为等因素从而导致物料无序摆放,降低了工作效率和提升了工作难度。为解决这种问题,本项目选择散乱摆放的不同规格的螺钉作为分拣对象。将小批量不同规格的螺钉存放在不同原料框中。本课题将选择双目相机、投影仪、电脑、光源、工业机器人、投影仪搭建硬件系统。
首先通过视觉系统采集物料无序摆放的图像,其次通过深度学习算法得到图像滤波,以此分割出目标拾取区域,然后对目标拾取区域进行三维点云重构并与标准模型点云配准,对物料进行特征提取及其描述达到对位姿估计,通过双目相机以及手眼对物料进行标定,确定物料分拣姿态,由机器人的驱动方式、通讯方式对机器人分拣通讯设计,最后通过机器人运动学设计机器人运动轨迹程序。本课题总体方案设计如图2 所示。
双目相机的视觉差原理是运用两台相机在不同位置下对被测物的三维空间位置进行的偏差计算。双目视觉的研究则需要建立在相机成像模型的基础之上。双目相机的成像模型为针孔成像模型,是通过针孔投影将光束从P 位置透过光心投射到成像平面,通过成像平面与三维空间中物像形成的数学关系计算被测物的空间位置。空间中的一点q 与投影面形成的对应点p 成倒立关系,针孔成像如图3 所示。
图3 针孔成像模型图
双目相机获取目标的位置信息,是利用双目相机的双目视觉来模拟人眼从两个不同的方向观察目标物体,根据获得的两幅图像由视觉差计算出物体的三维位置,本项目所采用的双目视觉模型采用左右相机的光轴平行安装于同一直线上。本方法将左相机作为主相机,即相机坐标系对应为左相机的相机坐标系[3]。如图4 所示将左右相机固定在同一个平面上,相机焦距为f,基线距离为B。物体在其空间中的空间坐标为(Xc,Yc,Zc),左右相机对物体进行拍照并在左右相机中显示出成像点,左右相机的成像点位置分别为Pleft= (X left,Ylef)、Pright=(Xright,Yright),其中Yleft=Yright=Y。由相似三角形原理并运用公式1 可计算出物体在左右相机中的成像点位置。
图4 双目视觉成像原理图
物体显示在左右相机中成像点X 方向的偏差为D,即:D=Xleft-Xright。当位置物体的坐标未知时,可以根据左右相机中的成像点位置运用公式2 倒推出物体的实际位置。
通过双目相机可以实现对现实物体表面通过三维扫描设备进行数字化数据采集,点云数据获取是通过各种测量方法采集被测物的表面信息,将被测物空间几何结构转化为点位置信息,即对物体进行数字化处理。点云数据的获取主要分为接触式测量与非接触式测量,用测量设备直接接触待采集数据的被测物物体模型,得到物体几何特性的数字化数据的方法统称为接触式测量,非接触式测量是在测量过程中无需与被测物体直接接触,通过光学、声学、电磁学等原理对物体表面信息进行获取。本项目主要通过双目相机和结构光标定,属于非接触式测量。
目前,利用点云数据来做三维物体检测的算法,主要使用三种方法对数据进行预处理。第一,体像素法,通过使点云数据转化为空间的体像素,用三维卷积法实现空间中的特征提取;第二,点云直接处理法,直接对空间的点云数据进行处理,通过空间变化对点云整体提取出全体数据特征;第三,多视角法,将点云数据从各个角度投影获取多个角度的特征,由池化过程聚合成为物体三维点云特征[4]。
根据不同的分布特征,可以将点云大致分为以下几类,其分布形状如图5 所示。
图5 点云成像类型
在点云精准匹配中所需要用到的算法是ICP 算法,该算法的基本思想是计算源点云和目标点云之间的旋转平移矩阵,对该过程重复进行,一直到迭代的目标函数小于给定的范围或达到预设的次数,才会结束该算法。该项目需要提高算法的运行精度和陷入局部最优解,将以4PCS 粗配准后得到的转换关系作为ICP 算法的匹配矩阵进行配准。
项目旨在寻找点云中任意一点的最近邻点,并形成对应点对;同时,需要计算出每个点的法向量,并计算对应点之间的方向向量的夹角;设定方向向量之间夹角的范围,如果得到的夹角不满足,则取消该对应点对;计算对应点对之间的旋转矩阵R和平移矩阵T,使得误差函数E(R,T)最小[5]。
根据上述给定的公式,我们可以计算出平移矩阵T 和旋转矩阵R,将它们运用在模板点云中,从而计算出一个新的点云位姿。接着,我们需要计算该位姿下的点与目标点云中点的平均距离。如果平均距离小于了预先设定的范围或者是达到了预先设定的迭代次数,那么迭代结束,输出最后得到的旋转平移矩阵。否则就需要将新的模板点云位姿来作为配初始条件重复执行上述的步骤,直到满足结束条件[5]。
为了提高分拣系统的实时性和准确性,需要建立离线物料位姿数据库和明确在线目标抓取流程。在线抓取过程中,确定目标区域排序后查找数据库中是否存在相同的序列,如果存在,调取数据库中数据,完成机器人抓取;如果不存在,机器人自动计算出离线物料位姿的序列并存入数据库中,然后再调取数据库中数据,完成机器人抓取。为了直接从数据库中获取各个位置的拾取矩阵,我们可以建立离线物料位姿数据库,从而有效的提高机器人的工作效率和准确率。为了获取目标区域在双目相机视野内不同位置下的点云,我们采用了双目重建技术,提取了区域点云与标准模板点云的特征,接着使用4PCS 算法对区域点云和模板点云进行粗配准,根据4PCS 粗配准进行ICP 算法进行精匹配,得到模板点云的转换关系和区域点云。然后根据机器人基准坐标系的转换关系与机器人视觉系统坐标系,使机械臂到目标区域拾取目标物,当机械臂可以正确拾取目标物,那么将该目标的位置坐标和转换矩阵添加到数据库中,若未能拾取到目标物,可通过手动示教的方法调整机器人的位姿和姿态使其让机器人能够准确地拾取到工件,同样也会将调整后的转换矩阵与位置坐标添加到数据库中。在线物料抓取流程如图6 所示。
末端执行器是装在工业机器人末端法兰盘上直接抓握工件或执行作业的部件,具有夹持、运输、放置工件到某一个位置的功能。通常会根据特定的场景和所需要实现的功能选择机器人的末端执行器,使机器人能适应空间内绝大部分位置的抓取。在没有适合的执行工具时,为满足现场作业环境的要求,机械臂末端执行器的设计就需要根据特定的结构和尺寸进行定制,并且设计的末端执行器也要具有通用性和实用性等特点,能使它在不同型号的机器人上也能契合。此项目采用小型LR Mate 200ID/4s 机械臂,该机械臂是一个6 自由度的机器人,由三个旋转关节和三个移动关节组成。它可达到的工作半径为550mm,手腕部可以搬动4kg的重物,机器的质量较轻重20kg,重复定位的精度高可达±0.02mm。常用末端执行器为2、3、4 指的手爪。2 指适用于抓取片体、钩环结构体;3 指可以抓取球体、块体物件;4 指适用于抓取柱状物件、条形物件。本项目选择的末端执行器为可拆卸式手爪,以便根据现场环境进行相应的选择,使得更好地完成该项目的抓取任务。
我国是一个制造业大国,在当今自动化、智能化不断发展的背景下,制造业仍是我国国民经济发展的主体,以往在工件的搬运、拾取需要大量人工在生产线上完成,这不仅是繁忙复杂的工作,并且带有一定的危险性。对此,需要将自动化融入设备生产中,使生产过程中能够更快更安全地执行。针对此现象,本研究小组利用机器人视觉设计了无序物料的抓取和分拣的系统,本系统运用双目相机作为机器人的“眼睛”获取物料在空间的位置,根据三维重建获取物料的点云数据,将每一个点云数据存在数据库中,运用ICP 算法计算源点云和目标点云之间的旋转平移矩阵估算位姿,运用机器人安装特定的末端执行器实现物料分拣工作。