掌桥专利:专业的专利平台
掌桥专利
首页

基于机器人视觉的物品表面涂胶方法、装置、电子设备和存储介质

文献发布时间:2023-06-19 11:26:00


基于机器人视觉的物品表面涂胶方法、装置、电子设备和存储介质

技术领域

本申请涉及B25智能机器人领域,更具体而言,特别涉及一种基于机器人视觉的物品表面涂胶方法、基于机器人视觉的物品表面涂胶装置、电子设备和存储介质。

背景技术

目前,随着智能程控机器人的广泛普及,已经能够借助智能程控机器人实现在物体表面执行涂胶的操作。现有技术在获取物品的完整点云信息后,提取物体的轮廓,并根据轮廓求取物体的轨迹点或者提前示教出不同型号的物品的轨迹点,然后在获取物品的轮廓后,根据物品放置形态和来料位置,调用该提前示教好的轨迹点。上述两种方式都需要获取物品完整的点云信息,然而在工业场景中,光照条件复杂多变,玻璃材质也各不相同,导致使用深度相机采集点云时,往往会存在较为严重的点云缺失情况,特别是当点云不完整以至于导致物品轮廓点云缺失时,无法根据轮廓点云求取正确的轨迹点,进而出现涂胶失败的问题。

发明内容

鉴于上述问题,提出了本发明以便克服上述问题或者至少部分地解决上述问题。具体地,本发明的创新之一在于,为了克服获取的物品点云信息不完整而导致无法正确获取机器人涂胶轨迹点的问题,申请人提出了一种通过匹配的方法获取物品完整的3D点云信息,用完整的3D点云信息代替不完整的3D点云信息,进行2D图像层面的图像处理操作获取2D涂胶轨迹点后,再转化为3D涂胶轨迹点的方法,该方法中获取物品的3D点云后,并不直接使用该点云信息求取涂胶轨迹点,从而解决了上述技术问题,使得无论获取到怎样的点云信息,都能够基于物品轮廓求取涂胶轨迹点。

本发明的创新之二在于,申请人发现现有的3D图像匹配算法,因为需要对过于多的像素点进行计算,因而匹配效率不够高,而2D图像匹配算法,又难以获得物品准确的位姿信息。因此申请人基于机器人涂胶这一应用场景的特点,开发了一种基于3D轮廓信息执行物品匹配的方法,与传统的方法相比,该方法能够在不损失匹配准确性的前提下,大大提高匹配的效率。

本申请权利要求和说明书所披露的所有方案均具有上述一个或多个创新之处,相应地,能够解决上述一个或多个技术问题。

具体地,本申请提供一种基于机器人视觉的物品表面涂胶方法、基于机器人视觉的物品表面涂胶装置、电子设备和存储介质。

本申请的实施方式的基于机器人视觉的物品表面涂胶方法包括:

获取物品的3D点云信息;

基于所述3D点云信息以及预置的3D图像模板信息,确定物品的3D图像信息;

将所述3D图像信息映射为2D图像信息;

基于所述2D图像信息生成2D涂胶轨迹点;

将所述2D涂胶轨迹点映射为3D涂胶轨迹点;

基于映射的3D涂胶轨迹点进行涂胶。

在某些实施方式中,所述3D点云信息包括3D轮廓点云,所述获取物品的3D点云信息,包括:

将物品3D点云映射为2D图像;

基于所述2D图像获取物品的2D轮廓;

将2D轮廓映射为3D轮廓点云。

在某些实施方式中,所述将物品3D点云映射为2D图像包括:获取物品3D点云后,先执行点云聚类和/或去除离群点处理,再将处理后的3D点云映射为2D图像。

在某些实施方式中,所述将所述3D图像信息映射为2D图像信息,包括:采用正交投影方法将匹配的3D图像信息映射为2D图像信息。

在某些实施方式中,所述基于所述2D图像信息生成2D涂胶轨迹点,包括:

基于2D图像信息生成2D轮廓;

按照预定间隔遍历整个轮廓并生成2D涂胶轨迹点。

在某些实施方式中,将轮廓内缩后,再按照预定间隔遍历整个轮廓并生成2D涂胶轨迹点。

在某些实施方式中,所述2D轨迹点的起点与终点重合。

在某些实施方式中,所述预定间隔的取值范围包括50mm-100mm。

在某些实施方式中,所述物品的3D图像信息包括与物品匹配的3D图像模板信息和/或物品的位姿信息。

本申请的实施方式的基于机器人视觉的物品表面涂胶装置包括:

3D点云获取模块,用于获取物品的3D点云信息;

3D图像确定模块,用于基于所述3D点云信息以及预置的3D图像模板信息,确定物品的3D图像信息;

2D图像映射模块,用于将所述3D图像信息映射为2D图像信息;

轨迹点生成模块,用于基于所述2D图像信息生成2D涂胶轨迹点;

3D轨迹点映射模块,用于将所述2D涂胶轨迹点映射为3D涂胶轨迹点;

涂胶模块,用于基于映射的3D涂胶轨迹点进行涂胶。

在某些实施方式中,所述3D点云信息包括3D轮廓点云,所述3D点云获取模块还用于:

将物品3D点云映射为2D图像;

基于所述2D图像获取物品的2D轮廓;

将2D轮廓映射为3D轮廓点云。

在某些实施方式中,所述将物品3D点云映射为2D图像包括:获取物品3D点云后,先执行点云聚类和/或去除离群点处理,再将处理后的3D点云映射为2D图像。

在某些实施方式中,所述2D图像映射模块具体用于:采用正交投影方法将匹配的3D图像信息映射为2D图像信息。

在某些实施方式中,所述轨迹点生成模块具体用于:

基于2D图像信息生成2D轮廓;

按照预定间隔遍历整个轮廓并生成2D涂胶轨迹点。

在某些实施方式中,所述轨迹点生成模块还用于:将轮廓内缩后,再按照预定间隔遍历整个轮廓并生成2D轨迹点。

在某些实施方式中,所述2D轨迹点的起点与终点重合。

在某些实施方式中,所述预定间隔的取值范围包括50mm-100mm。

在某些实施方式中,所述物品的3D图像信息包括与物品匹配的3D图像模板信息和/或物品的位姿信息。

本申请的实施方式的电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施方式的基于机器人视觉的物品表面涂胶方法。

本申请的实施方式的计算机可读存储介质其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施方式的基于机器人视觉的物品表面涂胶方法。

本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:

图1是本申请某些实施方式的基于机器人视觉的物品表面涂胶方法的流程示意图;

图2是本申请某些实施方式的基于机器人视觉的物品3D图像信息获取方法的流程示意图;

图3是本申请某些实施方式的基于机器人视觉的物品表面涂胶装置的结构示意图;

图4是本申请某些实施方式的基于机器人视觉的物品3D图像信息获取装置的结构示意图;

图5是本申请某些实施方式的物品的点云缺失情况以及完整点云的示意图;

图6是本申请某些实施方式的涂胶工艺的示意图;

图7是本申请某些实施方式的待涂胶物品轮廓形状的示意图;

图8是本申请某些实施方式的电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的物品表面涂胶方法,包括:

步骤S100,获取物品的3D点云信息;

步骤S110,基于所述3D点云信息以及预置的3D图像模板信息,确定物品的3D图像信息;

步骤S120,将所述3D图像信息映射为2D图像信息;

步骤S130,基于所述2D图像信息生成2D涂胶轨迹点;

步骤S140,将所述2D涂胶轨迹点映射为3D涂胶轨迹点;

步骤S150,基于映射的3D涂胶轨迹点进行涂胶。

在步骤S100中,可以通过3D工业相机获取点云信息,3D工业相机一般装配有两个镜头,分别从不同的角度捕捉待抓取物品组,经过处理后能够实现物体的三维图像的展示。将待抓取物品组置于视觉传感器的下方,两个镜头同时拍摄,根据所得到的两个图像的相对姿态参数,使用通用的双目立体视觉算法计算出待填充物体的各点的X、Y、Z坐标值及各点的坐标朝向,进而转变为待抓取物品组的点云数据。具体实施时,也可以使用激光探测器、LED等可见光探测器、红外探测器以及雷达探测器等元件生成点云,本发明对具体实现方式不作限定。

获取物体3D点云后,可以对点云进一步进行点云聚类、去除离群点等点云处理。

通过以上方式获取的点云数据是三维的数据,为了方便数据的处理,提高效率,可将获取的三维点云数据正投影映射到二维平面上。

作为一个示例,也可以生成该正投影对应的深度图。可以沿垂直于物品的深度方向获取与三维物品区域相对应的二维彩色图以及对应于二维彩色图的深度图。其中,二维彩色图对应于与预设深度方向垂直的平面区域的图像;对应于二维彩色图的深度图中的各个像素点与二维彩色图中的各个像素点一一对应,且各个像素点的取值为该像素点的深度值。

可以基于相机的内参来进行3D像素点和2D像素点之间的转换。相机内参即相机内部参数,只与相机内部属性(如焦距、分辨率、像素尺寸、镜头畸变等)有关。利用相机内参可以将相机坐标系中的三维空间点变换到成像平面坐标系中,之后经过镜头畸变等校正过程之后可进一步变换至图像像素坐标系中的二维像素点。因此图像像素坐标系下的投影点和相机坐标系下的三维空间点之间存在着一种映射关系,求取这一关系的过程称为相机内参标定,而基于该映射关系则能完成3D图像与2D图像之间的转换。

在步骤S110中,在获取物品的点云信息时,由于可见光在物品表面的反射或者因为物品材质问题都可能导致获取的点云缺失,缺失的点云数据遗失了很多信息,基于缺失的点云信息无法正确规划机器人的涂胶路径。图5示出了点云缺失的情况,实线部分是根据采集的点云形成的轮廓,虚线部分是物品实际的轮廓。由图5可以清楚地看到,相机所采集的点云形成的实线部分的轮廓在物品实际轮廓的左边沿处断开并在物品内部形成了并不存在的轮廓,该轮廓并非物品的实际轮廓。如果预先设定的机器人的涂胶工艺是沿着轮廓内缩一定距离进行涂胶的话,沿着图5中的实线部分规划涂胶路线,显然会导致机器人将胶涂至物品内部,而不是在边沿附近。图5中与实线相对的虚线部分所描绘出的轮廓才是物品实际的轮廓,预存的实际轮廓只有物品的轮廓信息而没有位置信息,假如成功获取待涂胶物品的位置以及与待涂胶物品所对应的实际的轮廓,就能够舍弃获取的不完整的轮廓,改为在物品所在的位置根据物品的摆放姿态使用预存的实际轮廓,从而基于完整的物品轮廓规划出正确的涂胶路线。由于现有的2D图像匹配算法难以获得物品准确的位姿,而3D图像匹配算法因为像素点多且点的属性复杂,匹配效率较低,为了能够较为快速地在点云缺失的情况下获得物品完整的,正确的点云信息,申请人开发了一种基于物品的3D轮廓点云进行匹配,并获取包括所匹配的3D图像以及物品的位姿信息的物品完整3D图像信息的方法,这也是本发明的重点之一。

图2示出了根据本发明一个实施例的3D图像信息获取方法,包括:

步骤S200,获取物品的3D点云;

步骤S210,将物品的3D点云映射为2D图像,并基于所述2D图像获取物品的2D轮廓;

步骤S220,将2D轮廓映射为3D轮廓点云;

步骤S230,基于所述3D轮廓点云以及预置的3D图像模板信息,确定与物品匹配的3D图像模板信息以及物品的位姿信息。

对于步骤S200,可以采用与步骤S100类似的方法获取物品的3D点云,此处不再赘述。

对于步骤S210和步骤S220,2D图像包括彩色图和深度图,2D深度图的每一个像素点和彩色图的每一个像素点是一一对应的,同时深度图上还包括了每一个像素点的深度信息,该深度信息可以是所拍摄的图片的像素点与拍摄所使用的相机之间的距离。可以基于相机内参进行2D图像与3D图像的转换,具体可以参考步骤S100中的相关内容,此处不再赘述。

对于步骤S230,可以预先根据需要涂胶的物品的型号为机器人输入该型号物品对应的图像模板信息,物品的型号以及对应的模板可以根据实际情况的需要任意设定,例如型号可以是:矩形,圆形,弧形或用文字命名,例如A型,B型,C型;模板也可以使用对应的编号,例如A模板,B模板,C模板,所有类型的物品都应当有对应的模板。模板可以是现成的,也可以基于待涂胶的物品生成该物品的3D图像模板。为了生成某一类物品的3D图像模板,从多个该类物品中,选取完整且标准的物品(即,标准件),在不同角度和光照环境下对该物品拍照,获取多组点云信息,之后将多组点云信息组合、去重后,获得该类物品的图像模板。

在获取了物品的(可能缺失的)点云后,可以基于特征点匹配算法以及迭代最近点算法的点集配准方法,确定与物品的点云匹配的图像模板以及物品的位姿信息。特征点匹配算法通过提取两幅图像中的关键点,即查找图像中具有某些特征的像素点,根据得到的关键点位置,之后计算这些特征点的特征因子。特征因子通常是一个向量,两个特征因子之间的距离可以反映出其相似的程度,也就是这两个特征点是不是同一个。根据特征因子的不同,可以选择不同的距离度量。如果是浮点类型的描述子,可以使用其欧式距离;对于二进制的特征因子可以使用其汉明距离(两个不同二进制之间的汉明距离指的是两个二进制串不同位的个数),基于计算特征因子相似度的方法,在特征点的集合中寻找和其最相似的特征点,就可以进行特征点的匹配。通过特征点匹配算法可以高效且准确的匹配出两个不同视角的图像中的同一个物体。迭代最近点算法能够使不同的坐标下的点云数据(例如,不同的点云图像)合并到同一个坐标系统中,实际上是要找到从坐标系1(点云图像1)到坐标系2(点云图像2)的一个刚性变换,该刚性变换反映了一个点云图像如何旋转和平移后,获得另一个点云图像。算法本质上是基于最小二乘法的最优配准方法,重复进行选择对应关系点对,计算最优刚体变换,直到满足正确配准的收敛精度要求,换句话说,该方法通过不断迭代最小化源数据与目标数据对应点来实现精确地拼合。

获得了物品完整的点云轮廓信息以及物品的位姿信息后,就可以使用这些图像信息代替原本的不完整的点云信息,执行后续的路径规划的步骤。

在步骤S120中,为了方便执行内缩或者求轮廓等图像形态学的操作,将配准的完整的3D图像信息映射为2D图像信息。映射可以采用透视投影或正交投影的方式。虽然透视投影是更为常用的映射方式,但是在物体倾斜摆放或者相机拍摄的视角倾斜时,使用透视映射可能导致映射后的图像存在畸变误差,因此本发明优选使用正交投影方法进行3D图像信息到2D图像信息的映射。可以基于相机内参进行2D图像与3D图像的转换,具体可以参考步骤S100中的相关内容,此处不再赘述。

对于步骤S130,为了求取2D的轨迹点,先要获取2D图像的轮廓,获取到图像轮廓后,根据工艺的需求以及物品的型号将轮廓内缩一定距离。图6示出了不同的涂胶工艺的例子,其中:工艺1中在四条边上均匀涂胶,因此需要获得全部4个边位置的轮廓;工艺2中在特定边上涂两层胶,因此在特定边上需要给该边两条不同内缩距离的轮廓;工艺3中特定边不涂胶,因此可以不用获得该特定边的轮廓;工艺4中特定边的涂胶路径相比于其他边来说,有一定的内缩,因此该特定边的轮廓的内缩距离应当与其他边不同。图7示出了不同的物品型号的例子,对于第一个形状为规则矩形的物品,可以令四个边的轮廓均内缩相同的距离,优选的内缩距离为8mm或10mm。对于第二个形状特殊较为特殊的,整体是矩形,但是一个角是弧形的物品,则可以在弧形段的位置使用与矩形段不同的内缩距离,假如矩形段内缩8mm或10mm,则弧形段可以内缩15mm或20mm。

内缩完成后,则要对内缩后的轮廓点按照一定间隔进行采样,以此方式遍历整个轮廓,获得完整的2D轨迹点。采样间隔(也可以称为遍历间隔)可以根据实际情况的需要自行设定,采样间隔越小,胶涂得越密,反之则会涂得较为稀疏。采样间隔可以为距离,例如设为50mm到100mm,也可以设为轨迹点的数目,例如可以设定需要从整个物品的轮廓中抽取100个点形成涂胶轨迹点,或者150个点形成涂胶轨迹点。完整的涂胶轨迹点应当是首尾相接的,即机器人应当从起点出发,到终点时刚好停在临近但未超过起点的位置,但是工业场景中,这样的轨迹点可能使得机器人在终点处的涂胶密度不够,为了解决这个问题,可以将终点的位置设为与起点重合或超过起点,如此,能够机器人能够完整地走过所有需要涂胶的位置而不会有任何遗漏。

对于步骤S140,2D图像的点并非真实世界的点,3D图像的点才能够表达真实的世界,例如,当物品有一些小凸起时,2D的点无法向机器人提示出该信息,这样机器人在移动到这些具有小凸起的位置时也不会提高喷嘴的高度,导致喷嘴与物品之间的距离不合适,喷涂效果不佳,因此机器人最好基于3D的移动轨迹点进行涂胶。因此在获取了2D的涂胶轨迹点后,需要将其映射为3D的涂胶轨迹点。可以基于相机内参进行2D图像与3D图像的转换,具体可以参考步骤S100中的相关内容,此处不再赘述。

对于步骤S150,本发明中可以使用机器人进行涂胶,为此需要先规划出机器人的移动轨迹(即以上步骤中获取的涂胶轨迹点),移动速度和出胶速率等,机器人按照规划好的路径和移动速度,在物体表面移动,并按照规划好的出胶速率在物品表面执行涂胶。

根据上述实施例,首先,本发明通过模板匹配的方式获取到物品完整的点云信息,并使用完整的点云信息代替获取的点云信息执行轮廓获取,轨迹点求取,2D图像和3D图像之间的转换等操作,因而即便在获取的待涂胶物品的点云信息不完整时,仍能够由不完整的点云信息计算出机器人的正确的涂胶轨迹点;其次,本发明提出了一种基于图像匹配获取物品3D图像信息的方法,该方法没有使用传统的2D图像和3D图像匹配方法,改为采用3D图像的轮廓进行匹配,匹配准确,速度快,并且特别适用于物体涂胶的工业场景。由此可见,本发明解决了现有技术中使用机器人涂胶时,由于获取的点云信息不完整而导致的无法正确涂胶的问题以及现有的物品匹配方法不准确,效率不高的问题。

另外,本领域技术人员还能够针对上述实施例进行各种改动和变形:

在采集待涂胶玻璃的点云过程中,针对非标准平面的待涂胶玻璃,其贴合传送带的部分容易受到传送带干扰,进而出现干扰点。而翘起部分的边缘不会受干扰,因此,在基于二维轮廓点进行直线拟合过程中,对于与传送带有接触的边,可以根据此边的不与传送带接触处的点确定该边对应的直线。可以通过此边上轮廓点所对应的轮廓点云的Z向坐标,来确定该边上哪些轮廓点是与传送带有接触,哪些轮廓点是不与传送带接触的,即轮廓点所对应的轮廓点云的Z向坐标为零,则说明该轮廓点与传送带有接触,在轮廓点所对应的轮廓点云的Z向坐标不为零,则说明该轮廓点不与传送带接触,此时可基于不与传送带有接触的轮廓点进行直线拟合,以得到待涂胶玻璃较为精准的轮廓边缘。需要说明的是,本实施例中待涂胶玻璃所对应坐标系贴合传送带建立,也就是说上述坐标系的原点位于传送带所在平面。

值得一提的是,上述坐标系还可以以其他形式建立,此时可以基于预先根据待涂胶的非标准平面玻璃的形状设定某一点云筛选规则,选取上述较优部分对应的点,即选取待涂胶的非标准平面玻璃未与传送带接触部分对应的点。在本实施例中,直线拟合操作的对象较佳地为噪点去除、平滑处理后的结果,当然,也可以为未进行噪点去除、平滑处理的轮廓点,此处不作为限定。

本发明的各个实施方式中的机器人可以是工业机器人手臂,这些机器人手臂可以是通用的,也可以是专用于给物品涂胶的。为了使得机器人走更少的多余轨迹,可将涂胶轨迹点的初始点设置在涂胶路径上与机器人初始位姿最为相近的位置,例如:将初始点设置在靠近机器人那条边的中间。也即是说,在确定机器人的初始位姿之后,可将距离该机器人的初始位姿最近的那条边的涂胶路径上的中间点作为涂胶轨迹点的初始点,之后可根据机器人的固有属性在涂胶路径上设置其他涂胶轨迹点,进而可以得到该涂胶玻璃的涂胶轨迹点信息。值得一提的是,该涂胶轨迹点信息可包括但不限于涂胶轨迹点的坐标、涂胶轨迹点的初始轨迹点以及涂胶轨迹点的走向(即涂胶轨迹点走位顺序)等。在得到涂胶玻璃的涂胶轨迹点信息之后,可采用通信方式将涂胶轨迹点信息发送至机器人。机器人在接收到涂胶轨迹点信息时,可基于涂胶轨迹点信息,控制自身的喷胶喷头对待涂胶玻璃进行涂胶。

在某些实施方式中,根据机器人的固有属性以及机器人初始位姿,在涂胶路径上生成涂胶轨迹点信息,包括:

确定涂胶路径中的拐角处和直线处;

根据机器人的出胶速率、运动速度在拐弯处以及直线处以相应密度设置涂胶轨迹点;

根据机器人初始位姿确定涂胶轨迹点的走位顺序,以得到涂胶轨迹点信息。

具体地,确定涂胶路径中的拐角处和直线处,可以基于涂胶路径上各点的坐标值间的关系确定。拐角处相邻点的X坐标和Y坐标均会不一样,而直线处相邻点,可能其X坐标会一样或Y坐标会一样。例如:假设待涂胶玻璃的形状为矩形,则该待涂胶玻璃的涂胶路径中,四个角的拐角处相邻点的X坐标和Y坐标均会不一样,而上边直线处相邻点的Y坐标会一样而X坐标会不一样,下边直线处相邻点的Y坐标会一样而X坐标会不一样且Y坐标相对于上边直线处数值小,左边直线处相邻点的X坐标会一样而Y坐标会不一样,右边直线处相邻点的X坐标会一样而Y坐标会不一样且X坐标相对于左边直线处数值小。

机器人在对玻璃进行涂胶时,会基于一定的出胶速率控制出胶头进行涂胶。出胶速率作为机器人的固有属性,影响本实施例中涂胶效果。为了能够方便参考机器人的出胶速率在涂胶路径上设置涂胶轨迹点,以避免堆胶情况,可确定该机器人的出胶速率。

机器人运动的固有属性还体现为,若机器人在拐角处和直线处设置同样的运动速度参数,其在拐角处和直线处的运动速度会不同,具体拐角处运动速度慢于直线处运动速度。而实际情况下机器人另一固有属性出胶速率是不变的,因此对于合适直线的出胶速率与运动速度参数,在拐弯处就会造成堆胶情况。在某些实施方式中,在保证机器人沿着所确定的涂胶路径移动的前提下,在涂胶路径上的拐角处设置的涂胶轨迹点的间距可以比直线处设置的涂胶轨迹点间距大些,以达到直线处运动速度与拐角处运动速度的平衡,进而解决拐角可能造成的堆胶现象。可在直线处设置一最小间距用于限定直线处涂胶轨迹点的间距,防止直线处由于机器人由于轨迹点数量过多而出现卡顿堆胶的情况。还可在直线处和拐角处设置数值不同的运动速度参数以达到直线处运动速度与拐角处运动速度的平衡,解决由于固有属性导致的堆胶问题。

根据机器人初始位姿确定涂胶轨迹点的走位顺序,以得到所述涂胶轨迹点信息。可以理解,为了使得机器人走更少的多余轨迹,设置轨迹点的初始点为靠近机器人初始位姿的点,例如:可以为待涂胶玻璃的靠近机器人那条边的中间部位对应的轨迹点。也即是说,在确定机器人的初始位姿之后,可将距离该机器人的初始位姿最近的那条边的涂胶路径上的中间点对应的轨迹点(或者距离该点最近的轨迹点)作为涂胶轨迹点的初始轨迹点,之后,可以顺时针走位其他轨迹点,也可以逆时针走位其他轨迹点。

在某些实施方式中,涂胶轨迹点信息具体可以包括涂胶轨迹点坐标,初始轨迹点坐标、涂胶轨迹点的走位顺序、涂胶轨迹点的运动速度参数等。

在某些实施方式中,涂胶轨迹点信息还包括:轮廓点对应的法向信息。

具体地,法向信息可以为各轮廓点云对应的法向量相对于一固定量的角度值,还可以为各轮廓点云中相应走位顺序在后的点云相对于其前一点云的偏离角度值。

图3示出了根据本发明又一个实施例的基于机器人视觉的物品表面涂胶装置的结构示意图,该装置包括:

3D点云获取模块300,用于获取物品的3D点云信息,即用于实现步骤S100;

3D图像确定模块310,用于基于所述3D点云信息以及预置的3D图像模板信息,确定物品的3D图像信息,即用于实现步骤S110;

2D图像映射模块320,用于将所述3D图像信息映射为2D图像信息,即用于实现步骤S120;

轨迹点生成模块330,用于基于所述2D图像信息生成2D涂胶轨迹点,即用于实现步骤S130;

3D轨迹点映射模块340,用于将所述2D涂胶轨迹点映射为3D涂胶轨迹点,即用于实现步骤S140;

涂胶模块350,用于基于映射的3D涂胶轨迹点进行涂胶,即用于实现步骤S150。

图4示出了根据本发明又一个实施例的基于机器人视觉的物品3D图像信息获取装置的结构示意图,该装置包括:

3D点云获取模块400,用于获取物品的3D点云,即用于实现步骤S200;

2D轮廓获取模块410,用于将物品的3D点云映射为2D图像,并基于所述2D图像获取物品的2D轮廓,即用于实现步骤S210;

3D轮廓获取模块420,用于将2D轮廓映射为3D轮廓点云,即用于实现步骤S220;

3D图像确定模块430,用于基于所述3D轮廓点云以及预置的3D图像模板信息,确定与物品匹配的3D图像模板信息以及物品的位姿信息,即用于实现步骤S230。

上述图3-图4所示的装置实施例中,仅描述了模块的主要功能,各个模块的全部功能与方法实施例中相应步骤相对应,各个模块的工作原理同样可以参照方法实施例中相应步骤的描述,此处不再赘述。另外,虽然上述实施例中限定了功能模块的功能与方法的对应关系,然而本领域技术人员能够理解,功能模块的功能并不局限于上述对应关系,即特定的功能模块还能够实现其他方法步骤或方法步骤的一部分。例如,上述实施例描述了3D点云获取模块300用于实现步骤S100的方法,然而根据实际情况的需要,3D点云获取模块300也可以用于实现步骤S200、S300或S400的方法或方法的一部分。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施方式的方法。需要指出的是,本申请实施方式的计算机可读存储介质存储的计算机程序可以被电子设备的处理器执行,此外,计算机可读存储介质可以是内置在电子设备中的存储介质,也可以是能够插拔地插接在电子设备的存储介质,因此,本申请实施方式的计算机可读存储介质具有较高的灵活性和可靠性。

图8示出了根据本发明实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。

如图8所示,该电子设备可以包括:处理器(processor)902、通信接口(Communications Interface)904、存储器(memory)906、以及通信总线908。

其中:

处理器902、通信接口904、以及存储器906通过通信总线908完成相互间的通信。

通信接口904,用于与其它设备比如客户端或其它服务器等的网元通信。

处理器902,用于执行程序910,具体可以执行上述方法实施例中的相关步骤。

具体地,程序910可以包括程序代码,该程序代码包括计算机操作指令。

处理器902可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。

存储器906,用于存放程序910。存储器906可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

程序910具体可以用于使得处理器902执行上述方法实施例中的各项操作。

概括地说,本发明的发明内容包括:

一种基于机器人视觉的物品表面涂胶方法,包括:

获取物品的3D点云信息;

基于所述3D点云信息以及预置的3D图像模板信息,确定物品的3D图像信息;

将所述3D图像信息映射为2D图像信息;

基于所述2D图像信息生成2D涂胶轨迹点;

将所述2D涂胶轨迹点映射为3D涂胶轨迹点;

基于映射的3D涂胶轨迹点进行涂胶。

可选的,所述3D点云信息包括3D轮廓点云,所述获取物品的3D点云信息,包括:将物品3D点云映射为2D图像;基于所述2D图像获取物品的2D轮廓;将2D轮廓映射为3D轮廓点云。

可选的,所述将物品3D点云映射为2D图像包括:获取物品3D点云后,先执行点云聚类和/或去除离群点处理,再将处理后的3D点云映射为2D图像。

可选的,所述将所述3D图像信息映射为2D图像信息,包括:采用正交投影方法将匹配的3D图像信息映射为2D图像信息。

可选的,所述基于所述2D图像信息生成2D涂胶轨迹点,包括:基于2D图像信息生成2D轮廓;按照预定间隔遍历整个轮廓并生成2D涂胶轨迹点。

可选的,将轮廓内缩后,再按照预定间隔遍历整个轮廓并生成2D涂胶轨迹点。

可选的,所述2D轨迹点的起点与终点重合。

可选的,所述预定间隔的取值范围包括50mm-100mm。

可选的,所述物品的3D图像信息包括与物品匹配的3D图像模板信息和/或物品的位姿信息。

一种基于机器人视觉的物品表面涂胶装置,包括:

3D点云获取模块,用于获取物品的3D点云信息;

3D图像确定模块,用于基于所述3D点云信息以及预置的3D图像模板信息,确定物品的3D图像信息;

2D图像映射模块,用于将所述3D图像信息映射为2D图像信息;

轨迹点生成模块,用于基于所述2D图像信息生成2D涂胶轨迹点;

3D轨迹点映射模块,用于将所述2D涂胶轨迹点映射为3D涂胶轨迹点;

涂胶模块,用于基于映射的3D涂胶轨迹点进行涂胶。

可选的,所述3D点云信息包括3D轮廓点云,所述3D点云获取模块还用于:

将物品3D点云映射为2D图像;

基于所述2D图像获取物品的2D轮廓;

将2D轮廓映射为3D轮廓点云。

可选的,所述将物品3D点云映射为2D图像包括:获取物品3D点云后,先执行点云聚类和/或去除离群点处理,再将处理后的3D点云映射为2D图像。

可选的,所述2D图像映射模块具体用于:采用正交投影方法将匹配的3D图像信息映射为2D图像信息。

可选的,所述轨迹点生成模块具体用于:基于2D图像信息生成2D轮廓;按照预定间隔遍历整个轮廓并生成2D涂胶轨迹点。

可选的,所述轨迹点生成模块还用于:将轮廓内缩后,再按照预定间隔遍历整个轮廓并生成2D轨迹点。

可选的,所述2D轨迹点的起点与终点重合。

可选的,所述预定间隔的取值范围包括50mm-100mm。

可选的,所述物品的3D图像信息包括与物品匹配的3D图像模板信息和/或物品的位姿信息。

一种基于机器人视觉的物品3D图像信息获取方法,包括:

获取物品的3D点云;

将物品的3D点云映射为2D图像,并基于所述2D图像获取物品的2D轮廓;

将2D轮廓映射为3D轮廓点云;

基于所述3D轮廓点云以及预置的3D图像模板信息,确定与物品匹配的3D图像模板信息以及物品的位姿信息。

可选的,基于特征点的匹配算法和/或迭代最近点算法确定与物品匹配的3D图像模板信息以及物品的位姿信息

可选的,所述将物品3D点云映射为2D图像包括:获取物品3D点云后,先执行点云聚类和/或去除离群点处理,再将处理后的3D点云映射为2D图像。

可选的,预先获取物品完整的点云轮廓作为物品的3D图像模板信息。

可选的,所述预先获取物品完整的点云轮廓包括:从同类物品中选取一标准件,获取该标准件的点云,如果点云不完整,再次获取该标准件的点云,并与上次获得的点云组合,如果仍不完整,重复点云获取和组合的步骤,直到获取到完整的点云后,进一步获取该完整点云的轮廓作为所述物品完整的点云轮廓。

可选的,使用相机获取物品的3D点云,并基于相机的内参将物品的3D点云映射为2D图像。

一种基于机器人视觉的物品3D图像信息获取装置,包括:

3D点云获取模块,用于获取物品的3D点云;

2D轮廓获取模块,用于将物品的3D点云映射为2D图像,并基于所述2D图像获取物品的2D轮廓;

3D轮廓获取模块,用于将2D轮廓映射为3D轮廓点云;

3D图像确定模块,用于基于所述3D轮廓点云以及预置的3D图像模板信息,确定与物品匹配的3D图像模板信息以及物品的位姿信息。

可选的,所述3D图像确定模块还用于:基于特征点的匹配算法和/或迭代最近点算法确定与物品匹配的3D图像模板信息以及物品的位姿信息

可选的,所述2D轮廓获取模块还用于:获取物品3D点云后,先执行点云聚类和/或去除离群点处理,再将处理后的3D点云映射为2D图像。

可选的,预先获取物品完整的点云轮廓作为物品的3D图像模板信息。

可选的,所述预先获取物品完整的点云轮廓包括:从同类物品中选取一标准件,获取该标准件的点云,如果点云不完整,再次获取该标准件的点云,并与上次获得的点云组合,如果仍不完整,重复点云获取和组合的步骤,直到获取到完整的点云后,进一步获取该完整点云的轮廓作为所述物品完整的点云轮廓。

可选的,使用相机获取物品的3D点云,并基于相机的内参将物品的3D点云映射为2D图像。

在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

应当理解,本申请的实施方式的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请的各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施方式进行变化、修改、替换和变型。

相关技术
  • 基于机器人视觉的物品表面涂胶方法、装置、电子设备和存储介质
  • 机器人视觉分拣方法、装置、电子设备和存储介质
技术分类

06120112921872