一种机器人抓取的方法、终端及计算机可读存储介质与流程

文档序号:18742180发布日期:2019-09-21 01:54阅读:202来源:国知局
一种机器人抓取的方法、终端及计算机可读存储介质与流程

本发明实施例涉及计算机视觉领域,特别涉及一种机器人抓取的方法、终端及计算机可读存储介质。



背景技术:

随着科技的不断进步,出现了智能机器人。智能机器人通常需要与环境进行交互,例如,抓取周围环境中的物体。

常见的机器人抓取方法主要包括:几何分析方法和数据驱动方法。几何分析方法是通过分析图像中的物体的几何结构,随机采样抓取位置,并判断每个抓取位置是否满足力封闭条件,从而确定出合理的抓取位置。数据驱动方法依赖已知抓取位置的数据,通过机器学习算法直接或间接推理出当前物体的抓取位置;对于模型库中已有的物体,可以采用三维配准方法,获取目标物体的姿态,将已有抓取位置迁移到当前物体;对于与模型库中物体相似的物体,可以采用三维对应方法,寻找到模型库物体与当前物体之间的对应,获得当前物体的抓取位置;对于未知物体,可以通过基于深度学习的卷积神经网络,直接或者间接地估计出使抓取成功概率最大的抓取位置。

发明人发现相关技术中至少存在如下问题:目前机器人是根据采集图像的数据确定抓取位置,并直接按照确定的抓取位置进行抓取,由于客观原因,采集的图像并不准确,进而导致机器人不能稳定地对物体进行抓取,导致抓取失败。



技术实现要素:

本发明实施方式的目的在于提供一种机器人抓取的方法、终端及计算机可读存储介质,能够确保预测的抓取位置的稳定性,提高抓取成功的概率。

为解决上述技术问题,本发明的实施方式提供了一种机器人抓取的方法,包括:获取第一图像中待抓取物体的第一抓取位置信息以及第二图像中待抓取物体的第二抓取位置信息,其中,第二图像为在以第一图像的采集位置为中心的预设半径范围内采集获得;根据第一抓取位置信息和第二抓取位置信息,判断第一抓取位置与第二抓取位置是否处于同一位置;若确定第一抓取位置和第二抓取位置处于同一位置,则执行抓取操作。

本发明的实施方式还提供了一种终端,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的机器人抓取的方法。

本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的机器人抓取的方法。

本发明实施方式相对于现有技术而言,获取第一图像的第一抓取位置和第二图像的第二抓取位置,判断第一抓取位置和第二抓取位置是否为处于同一位置,若第一抓取位置和第二抓取位置处于同一位置,则表明确定的第一抓取位置以及确定的第二抓取位置是准确的,进而保证了按照该第一抓取位置执行抓取操作,可以准确抓取该待抓取物体,提高抓取的成功率;同时由于第二图像是在第一图像采集后获得,且采集第二图像的采集位置为以第一图像的采集位置为中心的预设半径范围内,即该第一图像和第二图像为不同视角下采集的图像,通过对不同视角下确定的抓取位置进行验证,可以确保确定的抓取位置的稳定性,从而提高抓取成功率。

另外,若确定第一抓取位置和第二抓取位置不处于同一位置,机器人抓取的方法还包括:更新第一图像以及第二图像;重新获取第一抓取位置信息和第二抓取位置信息,直至重新获取后的第一抓取位置和重新获取后的第二抓取位置处于同一位置。通过更新第一图像和第二图像,进而更新了第一抓取位置和第二抓取位置,直到第一抓取位置和第二抓取位置处于同一位置后不再更新第一图像和第二图像,通过不断的判断,使得确定的抓取位置是准确的,从而提高了抓取成功率。

另外,根据第一抓取位置信息和第二抓取位置信息,判断第一抓取位置与第二抓取位置是否处于同一位置,具体包括:根据第一抓取位置信息和第二抓取位置信息,确定第一抓取位置对应的图像与第二抓取位置对应的图像之间的相似度;将相似度与预设的相似度阈值进行比较,若确定相似度大于或等于相似度阈值,则确定第一抓取位置与第二抓取位置处于同一位置,否则,确定第一抓取位置与第二抓取位置处于相异位置。第一抓取位置的图像与第二抓取位置对应的图像相似度高,则表明该第一抓取位置和第二抓取位置为同一位置,因而通过对第一抓取位置的图像和第二抓取位置的图像进行相似度判断,可以快速确定出第一抓取位置和第二抓取位置是否为同一位置。

另外,确定第一抓取位置对应的图像与第二抓取位置对应的图像之间的相似度,具体包括:根据第一抓取位置信息和第二抓取位置信息,计算第一抓取位置的二维图像和第二抓取位置的二维图像之间的二维相似度,以及计算第一抓取位置的三维图像和第二抓取位置的三维图像之间的三维相似度;按照二维相似度和三维相似度各自的权重,融合二维相似度和三维相似度,将结合后的相似度作为第一抓取位置对应的图像与第二抓取位置对应的图像之间的相似度。由于图像分为二维图像和三维图像,单独将第一抓取位置的二维图像和第二抓取位置的二维图像的二维相似度,或者,单独将第一抓取位置的三维图像和第二抓取位置的三维图像之间的三维相似度作为相似度,会降低相似度的准确性,而结合三维图像的相似度和二维图像的相似度,可以有效提高计算的相似度的准确性。

另外,计算第一抓取位置的二维图像和第二抓取位置的二维图像之间的二维相似度,具体包括:分别确定第一抓取位置的二维图像的中心点的第一特征向量以及第二抓取位置的二维图像的中心点的第二特征向量;确定第一特征向量与第二特征向量之间的第一夹角;根据第一夹角,确定二维相似度。若两个抓取位置处于同一位置,那么两个抓取位置的中心点相同,而若第一抓取位置的中心点的特征向量与第二抓取位置的中心点的特征向量之间的夹角越大,则第一抓取位置与第二抓取位置相差越大,第一抓取位置与第二抓取位置为相异位置的概率越大,基于此通过两个抓取位置的中心点的特征向量之间的夹角,即可快速反映出该两个抓取位置的图像之间的二维相似度。

另外,计算第一抓取位置的三维图像和第二抓取位置的三维图像之间的三维相似度,具体包括:分别确定第一抓取位置的三维图像的中心点的第三特征向量以及第二抓取位置的三维图像的中心点的第四特征向量;确定第三特征向量与第四特征向量之间的第二夹角;根据第二夹角,确定三维相似度。两个抓取位置的三维图像之间的相似度,与两个抓取位置的二维图像之间的相似度确定的原理相同,便于融合二维相似度和三维相似度,减少融合偏差。

另外,更新第一图像以及第二图像,具体包括:获取采集第二图像的第一采集位置;以第一采集位置为中心的预设半径范围内,选取第二采集位置;按照第二采集位置,采集第三图像;将第二图像作为更新后的第一图像,将第三图像作为更新后的第二图像。更新的第二图像是移动采集位置后获取,通过不同视角下的图像重新获取新的抓取位置,便于快速找到准确的抓取位置。

另外,获取第一图像中待抓取物体的第一抓取位置信息以及第二图像中待抓取物体的第二抓取位置信息,具体包括:将第一图像输入预设的抓取位置确定模型,获得第一抓取位置信息,抓取位置确定模型根据训练图像数据,以及各训练图像数据中待抓取物体的抓取位置信息训练获得;将第二图像输入预设的抓取位置确定模型,获得第二抓取位置信息。通过抓取位置确定模型可以快速确定出抓取位置。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是根据本发明第一实施方式提供的一种机器人抓取的方法的流程图;

图2是根据本发明第一实施方式中一种待抓取物体的抓取位置的表示示意图;

图3是根据本发明第一实施方式中抓取位置确定模型的神经网络结构示意图;

图4是根据本发明第一实施方式中确定二维相似度的一个具体实现示意图;

图5是根据本发明第一实施方式中确定三维相似度的一个具体实现示意图;

图6是根据本发明第一实施方式中PFH算法中源点和目标点形成的局部标架示意图;

图7是根据本发明第二实施方式提供的一种机器人抓取的方法的流程图;

图8是根据本发明第三实施方式提供的一种终端的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种机器人抓取的方法。该机器人抓取方法应用于机器人,该机器人可以是单独的机器手臂、也是可以是具有抓取手臂的智能机器人。该机器人抓取的方法的具体流程如图1所示,包括:

步骤101:获取第一图像中待抓取物体的第一抓取位置信息以及第二图像中所述待抓取物体的第二抓取位置信息,其中,第二图像为在以第一图像的采集位置为中心的预设半径范围内采集获得。

具体的说,采集包括待抓取物件的第一图像,在获取了第一图像之后,以第一图像的采集位置为中心的预设半径范围内采集第二图像。为了确保对第一抓取位置和第二抓取位置是否为同一位置判断的准确性,该预设半径不应过大,例如,预设半径可以为1厘米。该以第一图像的采集位置为中心的预设半径范围的形状可以是以第一图像的采集位置为中心,半径为1厘米的立方体内。

在预设半径范围内采集第二图像的方式,可以是在该预设半径范围内随机移动采集位置,在新的采集位置采集图像,并将采集的图像作为第二图像;也可以在该预设半径范围内,保持采集位置,即在第一图像的采集位置再次采集图像,并将采集的图像作为第二图像。本实施方式中避免出现采集的第三图像与第二图像相差过大的情况,影响对抓取位置的判断,第二图像为在预设半径范围内随机移动采集位置后采集的图像。

一个具体的实现中,将第一图像输入预设的抓取位置确定模型,获得第一抓取位置信息,抓取位置确定模型根据训练图像数据,以及各训练图像数据中待抓取物体的抓取位置信息训练获得;将第二图像输入预设的抓取位置确定模型,获得第二抓取位置信息。

具体的说,抓取位置确定模型可以采用深度学习的方式进行训练,如,卷积神经网络(Convolutional Neural Network,CNN)。该训练图像数据可以是在不同视角下采集获得的不同物体的彩色(RGB)图像和深度图像,也可以是根据存储的不同物体的带纹理的3D模型,环绕每个3D模型的多个角度进行投影,渲染出的RGB图像和深度图像,采用该方法,可以获得大量的训练图像数据,丰富的训练图像数据使得抓取位置确定模型更加准确。

需要说明的是,抓取位置信息包括抓取四边形的位置信息和抓取角度组成,通常可以使用五元组(x,y,w,h,θ)表示,其中,(x,y)表示抓取四边形的中心位置的坐标,w表示抓取四边形的长度,即抓取组件(如抓取手掌)平行张开的长度,h表示抓取四边形的宽度,θ表示抓取四边形和水平轴之间的夹角。图2为一种待抓取物体的抓取位置信息的表示方式,其中,图2中的方形即为该抓取四边形,图2中标号10表示待抓取物体。

对训练图像数据中每个训练图像进行标注,标注最合适的抓取四边形的中心位置(x,y,w,h),以及抓取组件与水平轴之间的夹角θ,对标注后的训练图像数据进行训练,即可得到该抓取位置确定模型。抓取位置确定模型可以采用如图3所示的神经网络结构,该模型的网络层数为7层;在运行时,输入待抓取物体的RGB图像,缩放至预设像素(如227x227像素),输入至该模型,即可预测出当前图像中的待抓取物体的抓取位置信息。

步骤102:根据第一抓取位置信息和第二抓取位置信息,判断第一抓取位置与第二抓取位置是否处于同一位置;若确定第一抓取位置与第二抓取位置处于同于位置,则执行步骤103,若确定第一抓取位置和第二抓取位置处于相异位置,执行步骤104。

一个具体的实现中,根据第一抓取位置信息和第二抓取位置信息,确定第一抓取位置对应的图像与第二抓取位置对应的图像之间的相似度;将相似度与预设的相似度阈值进行比较,若确定相似度大于或等于相似度阈值,则确定第一抓取位置与第二抓取位置处于同一位置,否则,确定第一抓取位置与第二抓取位置处于相异位置。

具体的说,预设的相似度度阈值可以根据实际需要进行设置,例如,该预设的相似度阈值可以设置为90%。通常为了精准地对物体进行抓取,采集的第一图像和第二图像包括RGB图像和深度图像。因此,第一抓取位置信息包括第一抓取位置的二维位置信息以及第一抓取位置的三维位置信息,第二抓取位置信息包括第二抓取位置的二维位置信息和所述第二抓取位置的三维位置信息。

一个具体的实现中,确定第一抓取位置对应的图像与第二抓取位置对应的图像之间的相似度的具体过程为:根据第一抓取位置信息和第二抓取位置信息,计算第一抓取位置的二维图像和第二抓取位置的二维图像之间的二维相似度,以及计算第一抓取位置的三维图像和第二抓取位置的三维图像之间的三维相似度;按照二维相似度和三维相似度各自的权重,融合二维相似度和三维相似度,将结合后的相似度作为第一抓取位置对应的图像与第二抓取位置对应的图像之间的相似度。

具体的说,第一图像和第二图像均包括二维图像和三维图像。若仅考虑第一图像中的第一抓取位置的二维图像与第二图像中的第二抓取位置的二维图像之间的二维相似度,或者仅计算第一图像中第一抓取位置的三维图像与第二图像中第二抓取位置的三维图像之间的三维相似度,仅用二维相似度或者三维相似度表征第一抓取位置对应的图像与第二抓取位置对应的图像之间的相似度,相似度的准确率较低,本实施方式中通过融合二维相似度和三维相似度,有效提高了相似度的准确率。

本实施方式中该相似度可以采用如公式(1)所示的融合方式:

Sim(p1,p2)=α*sim2D+β*sim3D公式(1);

其中,p1表示为第一抓取位置,p2表示为第二抓取位置,sim2D表示二维相似度,sim3D表示三维相似度,α表示二维相似度的权重,β表示三维相似度的权重,且,二维相似度的权重与三维相似度的权重满足,α+β=1即可。本实施方式中,α设置为0.5,β设置为0.5。

下面分别介绍二维相似度确定的过程以及三维相似度确定的过程。

二维相似度的计算包括如图4所示的子步骤。

子步骤1021:分别确定第一抓取位置的二维图像的中心点的第一特征向量以及第二抓取位置的二维图像的中心点的第二特征向量。

具体的说,获取该第一抓取位置的二维图像的中心点的特征描述符,特征描述符可以采用尺度不变特征变换(Scale-invariant feature transform,简称“SIFT”)、加速稳健特征(Speeded Up Robust Features,简称“SURF”)或者定向快速稳健的二进制描述子(Oriented FAST and Rotated BRIEF,简称“ORB”)等特征,本实施方式中采用SIFT方式获取中心点的特征描述符,令第一抓取位置的二维图像的中心点的特征描述符为第一特征向量,表示为Vec2dp1。同理,采用相同的方式可以获取第二特征向量,可以表示为Vec2dp2。

子步骤1022:确定第一特征向量与第二特征向量之间的第一夹角。

具体的说,可以利用三角函数衡量第一夹角的大小,例如,使用余弦公式,得到cos(θ),利用cos(θ)的值可以表示第一夹角的大小。

子步骤1023:根据第一夹角,确定二维相似度。

具体的说,由于若Vec2dp1与Vec2dp2完全一致,则cos(θ)=1,同时由于cos(θ)∈[-1,1],则cos(θ)的值越接近1,表明第一特征向量与第二特征向量与相似。因此,本实施方式中以cos(θ)的值作为二维相似度的值。即,

三维相似度计算的包括如图5所示的子步骤。

子步骤1031:分别确定第一抓取位置的三维图像的中心点的第三特征向量以及第二抓取位置的三维图像的中心点的第四特征向量。

具体的说,将三维的深度图像转换为3D点云图像,将第一抓取位置的三维图像的中心点的特征描述向量作为第三特征向量,将第二抓取位置的三维图像的中心点的特征描述向量作为第四特征向量。3D点的特征描述符可以采用点特征直方图(Point Feature Histogram,简称“PFH”)特征、旋转图像(Spin Images)特征、方向直方图签名(Signatures of Histograms of Orientations,简称“SHOT”)等特征确定,本实施方式采用PFH特征提取算法,确定第三特征向量和第四特征向量。PFH刻画了一个3D点p邻域点的特征分布。选定距离p点半径为r的球内包含的所有点,计算每一点的法向量,对于点p邻域中的每一对点pi和pj(i≠j,j<i),选择其中一个作为源点ps,其中一个作为目标点pt,保证源点的法向和两点之间连线的夹角更小。源点和目标点形成的局部标架如图6所示,图6采用为UVW坐标系,ns和nt分别为源点和目标点的法向量。

源点ps和目标点pt之间的联系可以由以下3个特征定义:α=v·nt,θ=arctan(w·nt,u·nt)。对于点p邻域中的每一对点,都计算这三个特征;将每个特征的取值范围分成b个桶区间,三种特征将会构成b3个桶区间。每一对点计算得到的三种特征唯一对应到一个桶区间,计算每一个桶中点对的数目占所有点对数目的比例,作为该桶的描述,联合起来就构成了b3维度的向量,作为该点的PFH特征描述。通常设b=4,得到64维特征描述符。

通过PFH算法,令第一抓取位置的三维图像的中心点的3D描述符为第三特征向量表示为Vec3dp1,第四特征向量表示为Vec3dp2

子步骤1032:确定第三特征向量与第四特征向量之间的第二夹角。

具体的说,与第一夹角的表征方式类似,可以利用三角函数衡量第二夹角的大小。

子步骤1033:根据第二夹角,确定三维相似度。

具体的说,由于若Vec3dp1与Vec3dp2完全一致,则同时由于,则的值越接近1,表明第三特征向量与第四特征向量越相似。因此,本实施方式中以的值作为三维相似度的值。即,

步骤103:执行抓取操作。

具体的说,在确定第一抓取位置和第二抓取位置处于同一位置,即可执行抓取操作。

步骤104:执行抓取位置确定错误所对应的应急操作。

具体的说,该应急操作可以为结束抓取流程,还可以是将抓取位置确定错误的提示信息发送人工,由人工设置抓取位置。

本发明实施方式相对于现有技术而言,获取第一图像的第一抓取位置和第二图像的第二抓取位置,判断第一抓取位置和第二抓取位置是否为处于同一位置,若第一抓取位置和第二抓取位置处于同一位置,则表明确定的第一抓取位置以及确定的第二抓取位置是准确的,进而保证了按照该第一抓取位置执行抓取操作,可以准确抓取该待抓取物体,提高抓取的成功率;同时由于第二图像是在第一图像采集后获得,且采集第二图像的采集位置为以第一图像的采集位置为中心的预设半径范围内,即该第一图像和第二图像为不同视角下采集的图像,通过对不同视角下确定的抓取位置进行验证,可以确保确定的抓取位置的稳定性,从而提高抓取成功率。

本发明的第二实施方式涉及一种机器人抓取的方法。该机器人抓取的方法包括:获取第一图像中待抓取物体的第一抓取位置信息以及第二图像中所述待抓取物体的第二抓取位置信息;根据第一抓取位置信息和第二抓取位置信息,判断第一抓取位置与第二抓取位置是否处于同一位置;若确定第一抓取位置和第二抓取位置处于同一位置,则执行抓取操作。

第二实施方式是对第一实施方式的进一步改进,主要改进之处在于:该机器人抓取的方法还包括:若确定第一抓取位置和第二抓取位置处于相异位置,则重新确定第一抓取位置和第二抓取位置。该机器人抓取的方法的具体流程如图7所示。

步骤201:获取第一图像中待抓取物体的第一抓取位置信息以及第二图像中待抓取物体的第二抓取位置信息。

步骤202:根据第一抓取位置信息和第二抓取位置信息,判断第一抓取位置与第二抓取位置是否处于同一位置,若确定第一抓取位置和第二抓取位置处于同一位置,则执行步骤203;若确定第一抓取位置和第二抓取位置处于相异位置,则执行步骤204。

步骤203:执行抓取操作。

步骤204:更新第一图像以及第二图像,重新获取第一抓取位置信息和第二抓取位置信息,并返回执行步骤202。

具体的说,若执行了步骤202后,确定第一图像和第二图像处于同一位置,则执行步骤203,否则继续执行步骤204,直至重新获取后的第一抓取位置和重新获取后的第二抓取位置处于同一位置。

更新第一图像以及第二图像的具体过程为:获取采集第二图像的第一采集位置;以第一采集位置为中心的预设半径范围内,选取第二采集位置;按照第二采集位置,采集第三图像;将第二图像作为更新后的第一图像,将第三图像作为更新后的第二图像。预设半径与第一实施方式中的预设半径大致相同,即该预设半径不应设置过大,避免出现采集的第三图像与第二图像相差过大的情况。将第二图像作为更新后的第一图像,将第三图像作为更新后的第二图像。获重新获取第一抓取位置信息和第二抓取位置信息的方式与第一实施方式大致相同,即将更新后的第一图像输入抓取位置确定模型,重新获得第一抓取位置信息,将更新后的第二图像输入抓取位置确定模型,重新获得第二抓取位置信息。之后,返回步骤202,判断第一抓取位置和第二抓取位置是否处于同一位置。

本实施方式中提供的机器人抓取方法,通过更新第一图像和第二图像,进而更新了第一抓取位置和第二抓取位置,直到第一抓取位置和第二抓取位置处于同一位置后不再更新第一图像和第二图像,通过不断的判断,使得确定的抓取位置是准确的,从而提高了抓取成功率。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第三实施方式涉及一种终端,该终端的结构如图8所示,包括:至少一个处理器301;以及,与至少一个处理器301通信连接的存储器302;其中,存储器302存储有可被至少一个处理器301执行的指令,指令被至少一个处理器301执行,以使至少一个处理器301能够执行如第一实施方式或第二实施方式中的机器人抓取的方法。

其中,存储器302和处理器301采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器301处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器301。

处理器301负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器302可以被用于存储处理器在执行操作时所使用的数据。

本发明第三实施方式涉及一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现如第一实施方式或第二实施方式的机器人抓取的方法。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1