一种基于视觉的机器人分拣方法及系统 |
|||||||
申请号 | CN201710425142.6 | 申请日 | 2017-06-07 | 公开(公告)号 | CN107362987A | 公开(公告)日 | 2017-11-21 |
申请人 | 武汉科技大学; | 发明人 | 韩浩; 伍世虔; 王欣; 宋运莲; 蒋俊; 张俊勇; 王建勋; 张琴; | ||||
摘要 | 本 发明 公开了一种基于视觉的 机器人 分拣方法及系统,其中所述的方法包括:采用结构光系统获取目标零件的俯视三维模型;将所述目标零件的俯视三维模型与预先构建的基准模型库中的基准零件模型进行匹配,获得所述目标零件的类型以及所述目标零件的俯视三维模型与所述对应的基准零件模型之间的变换矩阵;根据所述变换矩阵和所述基准零件模型,获取所述目标零件的第一 位置 信息;根据所述目标零件的第一位置信息,获取机器人坐标下的第二位置信息;根据所述第二位置信息,对所述目标零件进行拾取,并结合所述目标零件的类型以实现零件的分拣。本发明解决了 现有技术 中零件抓取方法存在无法进行识别和分拣的技术问题。 | ||||||
权利要求 | 1.一种基于视觉的机器人分拣方法,其特征在于,所述方法包括: |
||||||
说明书全文 | 一种基于视觉的机器人分拣方法及系统技术领域背景技术[0003] 现有技术中,可以利用机器人或者工业机械臂来抓取物品。 [0005] 现有技术中利用机器人或者工业机械臂来抓取物品时,对零件类型和摆放姿态有一定的要求,只能对独立的物品或者零件进行拾取,而对于任意摆放或者多个零件混合在一起的零件堆,则无法进行识别和分拣。 [0006] 可见,现有技术中零件抓取方法存在无法进行识别和分拣的技术问题,因此,如何实现机器人进行识别和分拣,是重要的研究课题。 发明内容[0007] 本发明实施例提供一种基于视觉的机器人分拣方法及系统,用以解决现有技术中零件抓取方法存在无法进行识别和分拣的技术问题。 [0008] 第一方面,本发明公开了一种基于视觉的机器人分拣方法,所述方法包括: [0009] 采用结构光系统获取目标零件的俯视三维模型; [0010] 将所述目标零件的俯视三维模型与预先构建的基准模型库中的基准零件模型进行匹配,获得所述目标零件的类型以及所述目标零件的俯视三维模型与所述对应的基准零件模型之间的变换矩阵; [0011] 根据所述变换矩阵和所述基准零件模型,获取所述目标零件的第一位置信息; [0012] 根据所述目标零件的第一位置信息,获取机器人坐标下的第二位置信息; [0013] 根据所述第二位置信息,对所述目标零件进行拾取,并结合所述目标零件的类型以实现零件的分拣。 [0014] 本发明提供的一种基于视觉的机器人分拣方法中,所述采用结构光系统获取目标零件的俯视三维模型,包括: [0015] 获取所述结构光系统的相机和投影仪的内外参数; [0016] 获取所述投影仪投射到所述目标零件的编码图案; [0017] 通过所述相机获取所述编码图案的图像; [0018] 对所述图像进行解码,并根据所述内外参数获得深度信息; [0020] 本发明提供的一种基于视觉的机器人分拣方法中,所述根据所述变换矩阵和所述基准零件模型,获取所述目标零件的第一位置信息,包括: [0021] 获取所述基准零件模型的第一定位点的位置信息,所述第一定位点的位置信息包括所述第一定位点的坐标和所述第一定位点的法向量; [0022] 根据所述第一定位点的位置信息和所述变换矩阵,获得第二定位点的坐标和第二定位点的法向量,以所述第二定位点的坐标和第二定位点的法向量作为目标零件的所述第一位置信息。 [0023] 本发明提供的一种基于视觉的机器人分拣方法中,所述根据所述第二位置信息,对所述目标零件进行拾取,包括: [0024] 根据所述第二位置信息和机械臂的DH参数,获得机器人末端距离所述目标零件的距离和角度; [0025] 根据所述距离和角度,对所述目标零件进行拾取。 [0026] 本发明提供的一种基于视觉的机器人分拣方法中,所述基准模型库中的基准零件模型可以通过导入零件的CAD文件或者利用所述结构光系统进行整体三维扫描获得。 [0027] 基于与第一方面同样的发明构思,本发明第二方面提供了一种基于视觉的机器人分拣系统,所述系统包括: [0028] 获取模块,用于采用结构光系统获取目标零件的俯视三维模型; [0029] 匹配模块,用于将所述目标零件的俯视三维模型与预先构建的基准模型库中的基准零件模型进行匹配,获得所述目标零件的类型以及所述目标零件的俯视三维模型与所述对应的基准零件模型之间的变换矩阵; [0030] 第一获得模块,用于根据所述变换矩阵和所述基准零件模型,获得所述目标零件的第一位置信息; [0031] 第二获得模块,用于根据所述目标零件的第一位置信息,获得机器人坐标下的第二位置信息; [0032] 分拣模块,用于根据所述第二位置信息,对所述目标零件进行拾取,并结合所述目标零件的类型以实现零件的分拣。 [0033] 本发明提供的一种基于视觉的机器人分拣系统中,所述获取模块还用于: [0034] 获取所述结构光系统的相机和投影仪的内外参数; [0035] 获取所述投影仪投射到所述目标零件的编码图案; [0036] 通过所述相机获取所述编码图案的图像; [0037] 对所述图像进行解码,并根据所述内外参数获得深度信息; [0038] 对所述深度信息进行俯视角度的重建,获得三维点云,以所述三维点云作为所述目标零件的三维模型。 [0039] 本发明提供的一种基于视觉的机器人分拣系统中,所述第一获得模块,还用于: [0040] 获取所述基准零件模型的第一定位点的位置信息,所述第一定位点的位置信息包括所述第一定位点的坐标和所述第一定位点的法向量; [0041] 根据所述第一定位点的位置信息和所述变换矩阵,获得第二定位点的坐标和第二定位点的法向量,以所述第二定位点的坐标和第二定位点的法向量作为目标零件的所述第一位置信息。 [0042] 本发明提供的一种基于视觉的机器人分拣系统中,所述分拣模块还用于: [0043] 根据所述第二位置信息和机械臂的DH参数,获得机器人末端距离所述目标零件的距离和角度; [0044] 根据所述距离和角度,对所述目标零件进行拾取。 [0045] 本发明提供的一种基于视觉的机器人分拣系统中,所述基准模型库中的基准零件模型可以通过导入零件的CAD文件或者利用所述结构光系统进行整体三维扫描获得。 [0046] 本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点: [0047] 本申请实施例提供的一种基于视觉的机器人分拣方法,首先采用结构光系统获取目标零件的俯视三维模型;并将所述目标零件的俯视三维模型与预先构建的基准模型库中的基准零件模型进行匹配,获得所述目标零件的类型以及所述目标零件的俯视三维模型与所述对应的基准零件模型之间的变换矩阵;然后根据所述变换矩阵和所述基准零件模型,获得所述目标零件的第一位置信息;并根据所述目标零件的第一位置信息,获得机器人坐标下的第二位置信息;在根据所述第二位置信息,对所述目标零件进行拾取,并结合所述目标零件的类型以实现零件的分拣。 [0048] 由于首先获取了目标零件的俯视三维模型,并将俯视三维模型与构建的基准零件模型进行匹配,这样可以得到目标零件的类型,然后根据俯视三维模型到基准零件模型的变换矩阵和所述基准零件模型,获得目标零件的第一位置信息,即拾取的位置,再通过坐标转换,获得第二位置信息,从而完成准确拾取和分拣,相对于现有技术中采用二维图像的匹配方法而言,本发明的方法可以实现对任意摆放的多个零件进行类型和位姿识别,从而完成分拣。解决了现有技术中零件抓取方法存在无法进行识别和分拣的技术问题。 [0049] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明 [0050] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 [0051] 图1为本发明实施例中一种基于视觉的机器人分拣方法的流程图; [0052] 图2为本发明实施例中获取零件的三维模型的方法流程图; [0053] 图3为本发明实施例中基于视觉的机器人分拣设备的结构图; [0055] 图5为本发明实施例中一种基于视觉的机器人分拣系统的结构图。 具体实施方式[0056] 本发明实施例提供一种基于视觉的机器人分拣方法及系统,用以解决现有技术中零件抓取方法存在无法进行识别和分拣的技术问题。 [0057] 本申请实施例中的技术方案,总体思路如下: [0058] 一种基于视觉的机器人分拣方法,所述方法包括:采用结构光系统获取目标零件的俯视三维模型;将所述目标零件的俯视三维模型与预先构建的基准模型库中的基准零件模型进行匹配,获得所述目标零件的类型以及所述目标零件的俯视三维模型与所述对应的基准零件模型之间的变换矩阵;根据所述变换矩阵和所述基准零件模型,获得所述目标零件的第一位置信息;根据所述目标零件的第一位置信息,获得机器人坐标下的第二位置信息;根据所述第二位置信息,对所述目标零件进行拾取,并结合所述目标零件的类型以实现零件的分拣。 [0059] 上述方法中,由于首先获取了目标零件的俯视三维模型,并将俯视三维模型与构建的基准零件模型进行匹配,这样可以得到目标零件的类型,然后根据俯视三维模型到基准零件模型的变换矩阵和所述基准零件模型,获得目标零件的第一位置信息,即拾取的位置,再通过坐标转换,获得第二位置信息,从而完成准确拾取和分拣,相对于现有技术中采用二维图像的匹配方法而言,本发明的方法可以实现对任意摆放的多个零件进行类型和位姿识别,从而完成分拣。解决了现有技术中零件抓取方法存在无法进行识别和分拣的技术问题。 [0060] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 [0061] 实施例一 [0062] 本实施例提供一种基于视觉的机器人分拣方法,所述方法包括: [0063] 步骤S101:采用结构光系统获取目标零件的俯视三维模型; [0064] 步骤S102:将所述目标零件的俯视三维模型与预先构建的基准模型库中的基准零件模型进行匹配,获得所述目标零件的类型以及所述目标零件的俯视三维模型与所述对应的基准零件模型之间的变换矩阵; [0065] 步骤S103:根据所述变换矩阵和所述基准零件模型,获得所述目标零件的第一位置信息; [0066] 步骤S104:根据所述目标零件的第一位置信息,获得机器人坐标下的第二位置信息; [0067] 步骤S105:根据所述第二位置信息,对所述目标零件进行拾取,并结合所述目标零件的类型以实现零件的分拣。 [0068] 上述方法中,由于首先获取了目标零件的俯视三维模型,并将俯视三维模型与构建的基准零件模型进行匹配,这样可以得到目标零件的类型,然后根据俯视三维模型到基准零件模型的变换矩阵,获得目标零件的第一位置信息,即拾取的位置,再通过坐标转换,获得第二位置信息,从而完成准确拾取和分拣,相对于现有技术中采用二维图像的匹配方法而言,本发明的方法可以实现对任意摆放的多个零件进行类型和位姿识别,从而完成分拣。解决了现有技术中零件抓取方法存在无法进行识别和分拣的技术问题。 [0069] 下面,结合图1对本申请提供的基于视觉的机器人分拣方法进行详细介绍: [0070] 首先,执行步骤S101,采用结构光系统获取目标零件的俯视三维模型。 [0071] 其中,所述采用结构光系统获取目标零件的俯视三维模型,具体包括: [0072] 获取所述结构光系统的相机和投影仪的内外参数; [0073] 获取所述投影仪投射到所述目标零件的编码图案; [0074] 通过所述相机获取所述编码图案的图像; [0075] 对所述图像进行解码,并根据所述内外参数获得深度信息; [0076] 对所述深度信息进行俯视角度的重建,获得三维点云,以所述三维点云作为所述目标零件的三维模型。 [0077] 在具体的实施过程中,本发明采用结构光系统来进行俯视三维模型的构建,举例来说,可以首先对结构光系统进行离线标定,从而得到相机的内、外参数,优选地,本发明的标定的本技术采用直角点阵标定板,与传统平面棋盘格标定相比可以简化相机的标定步骤,从而不用改变标定板的位姿,一次性标定得到相机内、外参数;具体来说,然后对投影仪标定,投影仪不是成像设备,但可以将其视为逆相机模型,通过投影仪投射正弦相移光栅和格雷码图案,然后利用相机的标定参数(即内、外参数),建立投影仪(DMD像点)与世界坐标的关系。从而得到投影仪的内、外参数。在标定完成之后,即可对零件或物体进行扫描重建,然后通过投影仪投射编码图案到物体的表面,通过相机获取图像,解码并利用内、外参数得到深度信息,对所述深度信息进行俯视角度的重建,可以获得三维点云,则可以获得俯视三维模型。此外,如果要得到整个物体形貌,则需要对物体的各个视角进行重建,然后利用贴标志点或者特征匹配的方法进行点云的拼接及融合。获取物体或零件的整体三维模型的方法具体参见图2,与获取零件的俯视三维模型的方法类似。 [0078] 接下来,执行步骤步骤S102:将所述目标零件的俯视三维模型与预先构建的基准模型库中的基准零件模型进行匹配,获得所述目标零件的类型以及所述目标零件的俯视三维模型与所述对应的基准零件模型之间的变换矩阵。 [0079] 具体地,所述基准模型库中的基准零件模型可以通过导入零件的CAD文件或者利用所述结构光系统进行整体三维扫描获得。 [0080] 在具体的实施过程中,如果是利用所述结构光系统进行整体三维扫描获得的三维模型,其格式可以是stl、obj、ply等,然后三维模型将导入模型库中,并确定各个零件的抓取点,及其法向量方向。为了获取零件的俯视三维模型,可以将结构光系统装置于零件上方,并投射结构光编码,从得到零件俯视三维模型,一方面可以对零件的俯视角度进行三维重建,另一方面,也能得到零件的深度信息,对最表面的零件进行优先拾取,从上到下依次抓取。 [0081] 本发明中将所述目标零件的俯视三维模型与预先构建的基准模型库中的基准零件模型进行匹配,与现有技术中基于二维图像上的匹配不同,本实施采用的是基于三维点云和法线的方法。通过三维匹配的方法,可以获得所述目标零件的类型以及所述目标零件的俯视三维模型与所述对应的基准零件模型之间的变换矩阵,表示为[R、T],包括旋转矩阵(R)和平移矩阵(T),则可以将实际模型(俯视三维模型)转换到基准模型上去验证定位是否准确,还可以对实际零件进行识别分类。 [0082] 然后执行步骤S103:根据所述变换矩阵和所述基准零件模型,获得所述目标零件的第一位置信息。 [0083] 具体地,所述根据所述变换矩阵和所述基准零件模型,获得所述目标零件的第一位置信息,包括: [0084] 获取所述基准零件模型的第一定位点的位置信息,所述第一定位点的位置信息包括所述第一定位点的坐标和所述第一定位点的法向量; [0085] 根据所述第一定位点的位置信息和所述变换矩阵,获得第二定位点的坐标和第二定位点的法向量,以所述第二定位点的坐标和第二定位点的法向量作为目标零件的所述第一位置信息。 [0086] 在具体的实施过程中,由于前述步骤中获得了所述目标零件的类型以及所述目标零件的俯视三维模型与所述对应的基准零件模型之间的变换矩阵,则可以根据基准模型上确定的抓取点和法线方向,即第一定位点的坐标和所述第一定位点的法向量,并通过变换矩阵,获得俯视三维模型的抓取点和法线方向,即第二定位点的坐标和第二定位点的法向量,从而获得了第一位置信息。 [0087] 接下来,执行步骤S104:根据所述目标零件的第一位置信息,获得机器人坐标下的第二位置信息。 [0088] 在具体的实施过程中,可以通过机器人与俯视三维模型的坐标转换关系进行变换,从而得到目标零件相对于机器人坐标系下的一个点坐标和其法向量,即机器人坐标下的第二位置信息。 [0089] 最后执行步骤S105:根据所述第二位置信息,对所述目标零件进行拾取,并结合所述目标零件的类型以实现零件的分拣。 [0090] 具体地,所述根据所述第二位置信息,对所述目标零件进行拾取,包括: [0091] 根据所述第二位置信息和机械臂的DH参数,获得机器人末端距离所述目标零件的距离和角度; [0092] 根据所述距离和角度,对所述目标零件进行拾取。 [0093] 在具体的实施过程中,由于获取了目标零件在机器人坐标系下的抓取点坐标和法向量,可以根据机器人机械臂的DH参数,从而获得机器人末端距离目标零件的距离和角度;然后结合前述获得目标零件的类型,从而实现对零件的分拣。 [0094] 在介绍了本发明实施例提供的一种基于视觉的机器人分拣方法后,下面通过一个具体的示例对上述分拣方法进行详细介绍,本发明的方法可以通过基于视觉的机器人分拣设备来实现,请参见图3,上述分拣设备包括结构光系统1、计算机2和机器人3,其中结构光系统包括相机和投影仪,抓取的对象为箱体中的零件4,上述分拣设备的具体控制过程请参见图4,首先计算机向结构光系统发出控制指令,使结构光系统获取零件的三维信息,然后结构光系统将零件的三维信息发送给计算机,计算机进行进行测量重建,得到三维点云信息,机器人发送机械臂的状态信息到计算机,计算机将根据结构光发送的三维信息和机器人发送的机械臂(机器手)的状态信息,并通过坐标转换获得零件相对于机器人坐标系下抓取点和方向;并根据上述抓取点和方向向机器人发出控制指令,从而让机器人拾取零件。 [0095] 实施例二 [0096] 基于与实施例一同样的发明构思,本发明实施例二提供了一种基于视觉的机器人分拣系统,请参见图5,所述系统包括: [0097] 获取模,201,用于采用结构光系统获取目标零件的俯视三维模型; [0098] 匹配模块202,用于将所述目标零件的俯视三维模型与预先构建的基准模型库中的基准零件模型进行匹配,获得所述目标零件的类型以及所述目标零件的俯视三维模型与所述对应的基准零件模型之间的变换矩阵; [0099] 第一获得模块203,用于根据所述变换矩阵和所述基准零件模型,获得所述目标零件的第一位置信息; [0100] 第二获得模块204,用于根据所述目标零件的第一位置信息,获得机器人坐标下的第二位置信息; [0101] 分拣模块205,用于根据所述第二位置信息,对所述目标零件进行拾取,并结合所述目标零件的类型以实现零件的分拣。 [0102] 本实施例提供的一种基于视觉的机器人分拣系统中,所述获取模块还用于: [0103] 获取所述结构光系统的相机和投影仪的内外参数; [0104] 获取所述投影仪投射到所述目标零件的编码图案; [0105] 通过所述相机获取所述编码图案的图像; [0106] 对所述图像进行解码,并根据所述内外参数获得深度信息; [0107] 对所述深度信息进行俯视角度的重建,获得三维点云,以所述三维点云作为所述目标零件的三维模型。 [0108] 本实施例提供的一种基于视觉的机器人分拣系统中,所述第一获得模块,还用于: [0109] 获取所述基准零件模型的第一定位点的位置信息,所述第一定位点的位置信息包括所述第一定位点的坐标和所述第一定位点的法向量; [0110] 根据所述第一定位点的位置信息和所述变换矩阵,获得第二定位点的坐标和第二定位点的法向量,以所述第二定位点的坐标和第二定位点的法向量作为目标零件的所述第一位置信息。 [0111] 本实施例提供的一种基于视觉的机器人分拣系统中,所述分拣模块还用于: [0112] 根据所述第二位置信息和机械臂的DH参数,获得机器人末端距离所述目标零件的距离和角度; [0113] 根据所述距离和角度,对所述目标零件进行拾取。 [0114] 本实施例提供的一种基于视觉的机器人分拣系统中, [0115] 所述基准模型库中的基准零件模型可以通过导入零件的CAD文件或者利用所述结构光系统进行整体三维扫描获得。 [0116] 实施例一中的基于视觉的机器人分拣方法的各种变化方式和具体实例同样适用于本实施例二的一种基于视觉的机器人分拣系统,通过前述对一种基于视觉的机器人分拣方法的详细描述,本领域技术人员可以清楚的知道本实施例中的一种基于视觉的机器人分拣系统,所以为了说明书的简洁,在此不再详述。 [0117] 本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点: [0118] 本申请实施例提供的一种基于视觉的机器人分拣方法,首先采用结构光系统获取目标零件的俯视三维模型;并将所述目标零件的俯视三维模型与预先构建的基准模型库中的基准零件模型进行匹配,获得所述目标零件的类型以及所述目标零件的俯视三维模型与所述对应的基准零件模型之间的变换矩阵;然后根据所述变换矩阵,获得所述目标零件的第一位置信息;并根据所述目标零件的第一位置信息,获得机器人坐标下的第二位置信息;在根据所述第二位置信息,对所述目标零件进行拾取,并结合所述目标零件的类型以实现零件的分拣。由于首先获取了目标零件的俯视三维模型,并将俯视三维模型与构建的基准零件模型进行匹配,这样可以得到目标零件的类型,然后根据俯视三维模型到基准零件模型的变换矩阵,获得目标零件的第一位置信息,即拾取的位置,再通过坐标转换,获得第二位置信息,从而完成准确拾取和分拣,相对于现有技术中采用二维图像的匹配方法而言,本发明的方法可以实现对任意摆放的多个零件进行类型和位姿识别,从而完成分拣。解决了现有技术中零件抓取方法存在无法进行识别和分拣的技术问题。 [0119] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。 [0120] 显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。 |