基于视觉的机械臂控制方法、装置、系统和计算机设备

文档序号:25308432发布日期:2021-06-04 15:03阅读:112来源:国知局
基于视觉的机械臂控制方法、装置、系统和计算机设备

1.本申请涉及工业机器人技术领域,特别是涉及基于视觉的机械臂控制方法、装置、系统和计算机设备。


背景技术:

2.工业机器人技术领域在实现基于视觉的机械臂物体抓取的过程中,需要用摄像机采集目标物体图片、标定摄像机和机械臂之间的相对位置,计算目标物体的三维信息。
3.相关技术中,基于视觉的机械臂物体抓取主要有三种:第一种,摄像机和机械臂的位置固定,手眼关系标定,使用彩色相机结合深度相机的摄像机采集图片,计算目标物体在摄像机坐标系下的三维坐标,根据摄像机坐标系和机械臂坐标系之间的转换矩阵,计算出目标物体在机械臂坐标系下三维坐标;再控制机械臂进行抓取;第二种,摄像机和机械臂的位置固定,手眼关系标定,采用双目摄像机或多个摄像机采集物体的信息,对目标物体进行三维重构,得到目标物体的形状信息和三维坐标,最后控制机械臂进行抓取;第三种,摄像机和机械臂位置固定,手眼关系没有标定,利用雅可比矩阵,直接从图像上观察机器人抓手和目标物体的位置误差计算出为消除这个误差机器人手抓的期望运动。由于通过摄像机控制机械臂抓取目标物体,涉及到目标图像坐标系、机械臂坐标系和摄像机坐标系等三个坐标系,以上三种方法中,涉及到矩阵计算或三维重构目标物体,存在数据处理方法复杂,计算量大的问题。
4.目前针对相关技术中,通过摄像机控制机械臂抓取目标物体,涉及到矩阵计算或三维重构目标物体,存在数据处理方法复杂,计算量大,处理器性能要求较高的问题,尚未提出有效的解决方案。


技术实现要素:

5.本申请实施例提供了基于视觉的机械臂控制方法、装置、系统和计算机设备,以至少解决相关技术中通过摄像机控制机械臂抓取目标物体,涉及到矩阵计算或三维重构目标物体,存在数据处理方法复杂,计算量大,处理器性能要求较高的问题。
6.第一方面,本申请实施例提供了一种基于视觉的机械臂控制方法,所述方法包括:
7.获取机械臂工作台上的场景图像,其中,所述场景图像通过摄像装置采集得到,且所述场景图像是在所述摄像装置的摄像镜头所在平面平行于所述机械臂工作台的情况下获取的;
8.通过对所述场景图像进行目标检测,确定所述机械臂工作台上目标物体在所述场景图像中的像素坐标;
9.获取所述摄像装置与所述机械臂工作台相对应的校准系数;
10.根据所述目标物体在所述场景图像中的像素坐标和所述校准系数确定所述目标物体的二维坐标,并根据所述二维坐标和所述机械臂工作台的高度信息确定所述目标物体的三维坐标;
11.根据所述目标物体的三维坐标控制所述机械臂移动。
12.在其中一些实施例中,所述摄像装置安装于所述机械臂的端部,所述摄像装置的摄像镜头所在平面垂直于所述机械臂的延伸方向;获取机械臂工作台上的场景图像之前,所述方法还包括:
13.调整所述机械臂的姿态使得所述机械臂垂直于所述机械臂工作台。
14.在其中一些实施例中,所述目标物体包括待抓取物料;
15.根据所述目标物体的三维坐标控制所述机械臂移动包括:根据所述待抓取物料的三维坐标,控制所述机械臂移动至与所述待抓取物料对应的位置处并抓取所述待抓取物料。
16.在其中一些实施例中,根据所述待抓取物料的三维坐标,控制所述机械臂移动至与所述待抓取物料对应的位置处并抓取所述待抓取物料之前,所述方法还包括:
17.获取相邻待抓取物料距离所述待抓取物料的间距;
18.若所述间距小于预设的间距阈值,则获取所述相邻待抓取物料的方位,并根据所述方位旋转所述机械臂上用于夹持所述待抓取物料的夹持器。
19.在其中一些实施例中,所述目标物体包括待抓取物料;
20.通过对所述场景图像进行目标检测,确定所述机械臂工作台上目标物体在所述场景图像中的像素坐标包括:采用hough变换算法对所述场景图像中所述待抓取物料进行目标检测,确定所述机械臂工作台上所述待抓取物料在所述场景图像中的像素坐标。
21.在其中一些实施例中,采用hough变换算法对所述场景图像中所述待抓取物料进行目标检测,确定所述机械臂工作台上所述待抓取物料在所述场景图像中的像素坐标之前,所述方法还包括:
22.获取所述场景图像的像素值;
23.若所述场景图像的像素值小于预设的第一像素阈值或者大于预设的第二像素阈值,则调整所述场景图像的亮度,其中,所述第二像素阈值大于所述第一像素阈值。
24.在其中一些实施例中,所述目标物体包括承载物,所述承载物用于收纳待抓取物料;
25.根据所述目标物体的三维坐标控制所述机械臂移动包括:根据所述承载物的三维坐标,控制所述机械臂移动至与所述承载物对应的位置处并将抓取的所述待抓取物料放置于所述承载物。
26.在其中一些实施例中,所述目标物体包括承载物,所述承载物用于收纳待抓取物料;
27.通过对所述场景图像进行目标检测,确定所述机械臂工作台上目标物体在所述场景图像中的像素坐标包括:采用canny边缘检测算法对所述场景图像中所述承载物进行目标检测,确定所述机械臂工作台上所述承载物在所述场景图像中的像素坐标。
28.在其中一些实施例中,采用canny边缘检测算法对所述场景图像中所述承载物进行目标检测,确定所述机械臂工作台上所述承载物在所述场景图像中的像素坐标包括:
29.通过高斯滤波器对所述场景图像进行降噪,以确定降噪后的场景图像;
30.通过所述canny边缘检测算法的算子,确定所述场景图像中像素点的梯度值和梯度方向,并根据所述梯度值和所述梯度方向过滤掉所述场景图像中的非极大值像素点;
31.通过检测阈值检测所述场景图像中的边缘,并确定所述机械臂工作台上所述承载物在所述场景图像中的像素坐标。
32.在其中一些实施例中,获取检测阈值包括:
33.通过最大类间方差法确定所述场景图像的最大化灰度级;
34.根据所述最大化灰度级确定所述检测阈值。
35.在其中一些实施例中,通过对所述场景图像进行目标检测,确定所述机械臂工作台上目标物体在所述场景图像中的像素坐标包括:
36.通过对所述场景图像进行目标检测,确定所述机械臂工作台上所述目标物体在所述场景图像中的第一像素坐标,以及根据所述场景图像确定位于所述场景图像中的相对点的第二像素坐标;
37.确定所述第一像素坐标与所述第二像素坐标的差值,并将所述差值定义为所述目标物体在所述场景图像中的像素坐标。
38.在其中一些实施例中,获取所述摄像装置与所述机械臂工作台相对应的校准系数包括:
39.通过张正友标定算法对所述摄像装置进行标定,确定所述摄像装置的参数;
40.获取所述摄像装置距离所述机械臂工作台的高度,并根据所述摄像装置距离所述机械臂工作台的高度以及所述参数,确定所述摄像装置与所述机械臂工作台相对应的校准系数。
41.第二方面,本申请提供了一种基于视觉的机械臂控制装置,所述装置包括:获取模块、识别定位模块和控制模块;
42.所述获取模块,用于获取机械臂工作台上的场景图像,其中,所述场景图像通过摄像装置采集得到,且所述场景图像是在所述摄像装置的摄像镜头所在平面平行于所述机械臂工作台的情况下获取的;所述获取模块还用于获取所述摄像装置与所述机械臂工作台相对应的校准系数;
43.所述识别定位模块,用于通过对所述场景图像进行目标检测,确定所述机械臂工作台上目标物体在所述场景图像中的像素坐标;所述识别定位模块还用于根据所述目标物体在所述场景图像中的像素坐标和所述校准系数确定所述目标物体的二维坐标,并根据所述二维坐标和所述机械臂工作台的高度信息确定所述目标物体的三维坐标;
44.所述控制模块,用于根据所述目标物体的三维坐标控制所述机械臂移动。
45.第三方面,本申请提供了一种基于视觉的机械臂控制系统,所述系统包括摄像装置、机械臂和处理器;
46.所述处理器与所述摄像装置连接,用于获取机械臂工作台上的场景图像,其中,所述场景图像通过摄像装置采集得到,且所述场景图像是在所述摄像装置的摄像镜头所在平面平行于所述机械臂工作台的情况下获取的;
47.所述处理器用于通过对所述场景图像进行目标检测,确定所述机械臂工作台上目标物体在所述场景图像中的像素坐标;所述处理器还用于获取所述摄像装置与所述机械臂工作台相对应的校准系数;
48.所述处理器用于根据所述目标物体在所述场景图像中的像素坐标和所述校准系数确定所述目标物体的二维坐标,并根据所述二维坐标和所述机械臂工作台的高度信息确
定所述目标物体的三维坐标,以及根据所述目标物体的三维坐标控制所述机械臂移动。
49.第四方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的基于视觉的机械臂控制方法。
50.第五方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的基于视觉的机械臂控制方法。
51.相比于相关技术,本申请实施例提供的基于视觉的机械臂控制方法、装置、系统和计算机设备,通过获取机械臂工作台上的场景图像,其中,所述场景图像通过摄像装置采集得到,且所述场景图像是在所述摄像装置的摄像镜头所在平面平行于所述机械臂工作台的情况下获取的;通过对所述场景图像进行目标检测,确定所述机械臂工作台上目标物体在所述场景图像中的像素坐标;获取所述摄像装置与所述机械臂工作台相对应的校准系数;根据所述目标物体在所述场景图像中的像素坐标和所述校准系数确定所述目标物体的二维坐标,并根据所述二维坐标和所述机械臂工作台的高度信息确定所述目标物体的三维坐标;以及根据所述目标物体的三维坐标控制所述机械臂移动,解决了相关技术中通过摄像机控制机械臂抓取目标物体,涉及到矩阵计算或三维重构目标物体,存在数据处理方法复杂,计算量大,处理器性能要求较高的问题,降低了机械臂控制中的计算量以及提高了机械臂控制中数据处理的效率。
52.本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
53.此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
54.图1是根据本申请实施例的基于视觉的机械臂控制方法的流程图;
55.图2是根据本申请实施例的目标物体包括待抓取物的机械臂控制方法的流程图;
56.图3是根据本申请实施例的目标物体包括承载物的机械臂控制方法的流程图;
57.图4是根据本申请实施例的基于视觉的机械臂控制装置的结构框图;
58.图5是根据本申请实施例的基于视觉的机械臂控制系统的结构框图;
59.图6是根据本申请实施例的计算机设备的内部结构示意图。
具体实施方式
60.为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
61.显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭
露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
62.在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
63.除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“多个”是指两个或两个以上。
64.在相关技术中,基于视觉的机械臂物体抓取主要有三种:第一种,摄像机和机械臂的位置固定,手眼关系标定,使用彩色相机结合深度相机的摄像机采集图片,计算目标物体在摄像机坐标系下的三维坐标,根据摄像机坐标系和机械臂坐标系之间的转换矩阵计算出目标物体在机械臂坐标系下三维坐标,再控制机械臂进行抓取;第二种,摄像机和机械臂的位置固定,手眼关系标定,采用双目摄像机或多个摄像机采集物体的信息,对目标物体进行三维重构,得到目标物体的形状信息和三维坐标,最后控制机械臂进行抓取;第三种,摄像机和机械臂位置固定,手眼关系没有标定,利用雅可比矩阵,直接从图像上观察机器人抓手和目标物体的位置误差计算出为消除这个误差机器人手抓的期望运动。由于相关技术中通过摄像机控制机械臂抓取目标物体,涉及到目标图像坐标系、机械臂坐标系和摄像机坐标系等三个坐标系,以上三种方法中涉及到矩阵计算或三维重构目标物体,存在数据处理方法复杂,计算量大的问题。
65.本申请提供了一基于视觉的机械臂控制方法,通过获取机械臂工作台上的场景图像,并对场景图像进行目标检测确定机械臂工作台上目标物体在场景图像中的像素坐标,其中场景图像通过摄像装置采集得到,且场景图像是在摄像装置的摄像镜头所在平面平行于机械臂工作台的情况下获取的,进一步地获取摄像装置与机械臂工作台相对应的校准系数,根据目标物体在场景图像中的像素坐标和校准系数确定目标物体的二维坐标,根据二维坐标和机械臂工作台的高度信息确定目标物体的三维坐标,最后根据目标物体的三维坐标控制机械臂移动;相较于相关技术中通过摄像机控制机械臂抓取目标物体,涉及到矩阵计算或三维重构目标物体,存在数据处理方法复杂、计算量大,处理器性能要求较高的问题,本申请解决了机械臂物体抓取方法中数据处理方法复杂,计算量大,处理器性能要求较高的问题。
66.本实施例提供了一种基于视觉的机械臂控制方法,图1是根据本申请实施例的基于视觉的机械臂控制方法的流程图,如图1所示,基于视觉的机械臂控制方法包括以下步骤:
67.步骤s101,获取机械臂工作台上的场景图像,其中,场景图像通过摄像装置采集得
到,且场景图像是在摄像装置的摄像镜头所在平面平行于机械臂工作台的情况下获取的;
68.具体地,若摄像装置安装于机械臂的端部,摄像装置的摄像镜头所在平面垂直于机械臂的延伸方向的情况下;获取机械臂工作台上的场景图像之前,通过调整机械臂的姿态使得机械臂垂直于机械臂工作台使得摄像装置的摄像镜头所在平面平行于机械臂工作台,因此通过将摄像装置安装于机械臂的端部且摄像装置的摄像镜头所在平面垂直于机械臂的延伸方向,便于获取摄像装置的摄像镜头所在平面平行于机械臂工作台情况下的场景图像;
69.步骤s102,通过对场景图像进行目标检测,确定机械臂工作台上目标物体在场景图像中的像素坐标;需要说明的是,目标物体可以包括待抓取物料或者用于收纳物料的承载物,也可以包括待抓取物料和承载物;
70.步骤s103,获取摄像装置与机械臂工作台相对应的校准系数;
71.步骤s104,根据目标物体在场景图像中的像素坐标和校准系数确定目标物体的二维坐标,并根据二维坐标和机械臂工作台的高度信息确定目标物体的三维坐标;
72.具体地,根据二维坐标和机械臂工作台的高度信息确定目标物体的三维坐标中“机械臂工作台的高度信息”取决于目标物体的三维坐标的坐标原点,若目标物体的三维坐标以机械臂工作台所在地面为坐标原点则“机械臂工作台的高度信息”为机械臂工作台的高度,若目标物体的三维坐标以机械臂工作台所在平面为坐标原点则“机械臂工作台的高度信息”为目标物体距离机械臂工作台所在平面的高度;
73.步骤s105,根据目标物体的三维坐标控制机械臂移动;
74.其中,若目标物体包括待抓取物料,根据目标物体的三维坐标控制机械臂移动包括:根据待抓取物料的三维坐标,控制机械臂移动至与待抓取物料对应的位置处并抓取待抓取物料;若目标物体包括承载物,根据目标物体的三维坐标控制机械臂移动包括:根据承载物的三维坐标,控制机械臂移动至与承载物对应的位置处并将抓取的待抓取物料放置于承载物;若目标物体包括待抓取物料和承载物,根据目标物体的三维坐标控制机械臂移动包括:根据待抓取物料的三维坐标控制机械臂移动至与待抓取物料对应的位置处并抓取待抓取物料,并根据承载物的三维坐标,控制机械臂移动至与承载物对应的位置处并将抓取的待抓取物料放置于承载物;
75.通过上述步骤s101至步骤s105,首先获取机械臂工作台上通过摄像装置采集得到的场景图像,且该场景图像是在摄像装置的摄像镜头所在平面平行于机械臂工作台的情况下获取的,其次通过对场景图像进行目标检测,确定机械臂工作台上目标物体在场景图像中的像素坐标,也就是目标物体在场景图像中的二维坐标,考虑到摄像装置距离机械臂工作台远近不同则摄像装置所采集到的场景图像对机械臂工作台场景的压缩比例便不同,进而进一步获取像装置与机械臂工作台相对应的校准系数,并根据目标物体在场景图像中的像素坐标和校准系数确定目标物体的实际的二维坐标,以及根据二维坐标和机械臂工作台的高度信息确定目标物体的三维坐标,进而将场景图像中像素坐标到三维工作空间坐标系的转换简化为二维平面的工作空间坐标系转换便可确定目标物体的三维坐标,最后根据目标物体的三维坐标控制机械臂移动,解决了相关技术中通过摄像机控制机械臂抓取目标物体,涉及到矩阵计算或三维重构目标物体,存在数据处理方法复杂,计算量大,处理器性能要求较高的问题,进而降低了机械臂控制中的计算量以及提高了机械臂控制中数据处理的
效率。
76.在其中一些实施例中,若目标物体包括待抓取物料,则根据待抓取物料的三维坐标,控制机械臂移动至与待抓取物料对应的位置处并抓取待抓取物料之前,基于视觉的机械臂控制方法还包括:
77.获取相邻待抓取物料距离待抓取物料的间距;
78.若间距小于预设的间距阈值,则获取相邻待抓取物料的方位,并根据方位旋转机械臂上用于夹持待抓取物料的夹持器;
79.具体地,若间距小于预设的间距阈值,则根据相邻待抓取物料的中心坐标确定相邻待抓取物料相较于待抓取物料的方位,其中,该方位可以是东南、西南、东北、西北中的一个,进而便于用于夹持待抓取物料的夹持器根据方位进行旋转,例如可以旋转90
°
或者180
°
等;进而若待抓取物料与相邻待抓取物料之间相距过近时,可根据相邻待抓取物料相较于待抓取物料的方位,通过旋转夹持器的角度,避免抓取待抓取物料时碰到旁边物料的情况。
80.在其中一些实施例中,图2是根据本申请实施例的目标物体包括待抓取物的机械臂控制方法的流程图,如图2所示,目标物体包括待抓取物料的情况下,基于视觉的机械臂控制方法包括以下步骤:
81.步骤s201,获取机械臂工作台上的场景图像,其中,场景图像通过摄像装置采集得到,且场景图像是在摄像装置的摄像镜头所在平面平行于机械臂工作台的情况下获取的;
82.步骤s202,采用hough变换算法对场景图像中待抓取物料进行目标检测,确定机械臂工作台上待抓取物料在场景图像中的像素坐标;具体地,考虑到hough变换算法在检测体积相对小的物体时精度更高,进而在本申请实施例中,采用hough变换算法检测待抓取物料;
83.步骤s203,获取摄像装置与机械臂工作台相对应的校准系数;
84.步骤s204,根据待抓取物料在场景图像中的像素坐标和校准系数确定待抓取物料的二维坐标,并根据二维坐标和机械臂工作台的高度信息确定待抓取物料的三维坐标;
85.步骤s205,根据待抓取物料的三维坐标,控制机械臂移动至与待抓取物料对应的位置处并抓取待抓取物料。
86.在其中一些实施例中,采用hough变换算法对场景图像中待抓取物料进行目标检测,确定机械臂工作台上待抓取物料在场景图像中的像素坐标之前,方法还包括:
87.获取场景图像的像素值,若景图像的像素值小于预设的第一像素阈值或者大于预设的第二像素阈值,则调整场景图像的亮度,其中,第二像素阈值大于第一像素阈值;
88.需要说明的是,场景图像的像素值计算公式为:
[0089][0090]
上述公式1中,f(x,y)表示平均像素值,也就是场景图像的像素值;r(x,y)、g(x,y)、b(x,y)分别表示各个通道的像素值;具体地,通过调整场景图像的亮度,避免所采集的场景图像过亮或者过暗,以增强目标物体在场景图像中的辨识度;
[0091]
需要进一步说明的是,为解决实际应用过程中识别圆形目标时易出现的误判现象,本申请实施例中依据圆形的待抓取物料所独有的圆心到圆边任意点距离相等的几何特性,增加在圆形边缘上选取的散点样本的数量,并将散点样本的数量设置某一阈值,用以解
决对非圆形目标的误判。
[0092]
在其中一些实施例中,图3是根据本申请实施例的目标物体包括承载物的机械臂控制方法的流程图,如图3所示,目标物体包括承载物的情况下,基于视觉的机械臂控制方法包括以下步骤:
[0093]
步骤s301,获取机械臂工作台上的场景图像,其中,场景图像通过摄像装置采集得到,且场景图像是在摄像装置的摄像镜头所在平面平行于机械臂工作台的情况下获取的;
[0094]
步骤s302,采用canny边缘检测算法对场景图像中承载物进行目标检测,确定机械臂工作台上承载物在场景图像中的像素坐标;具体地,考虑到canny边缘检测算法适用于检测体积相对大的物体时精度更高,进而在本申请实施例中,采用canny边缘检测算法检测承载物;
[0095]
步骤s303,获取摄像装置与机械臂工作台相对应的校准系数;
[0096]
步骤s304,根据承载物在场景图像中的像素坐标和校准系数确定承载物的二维坐标,并根据二维坐标和机械臂工作台的高度信息确定承载物的三维坐标;
[0097]
步骤s305,根据承载物的三维坐标,控制机械臂移动至与承载物对应的位置处并将抓取的待抓取物料放置于承载物。
[0098]
在其中一些实施例中,采用canny边缘检测算法对场景图像中承载物进行目标检测,确定机械臂工作台上承载物在场景图像中的像素坐标包括:
[0099]
通过高斯滤波器对场景图像进行降噪,以确定降噪后的场景图像;通过canny边缘检测算法的算子,确定场景图像中像素点的梯度值和梯度方向,并根据梯度值和梯度方向过滤掉场景图像中的非极大值像素点;通过检测阈值检测场景图像中的边缘,并确定机械臂工作台上承载物在场景图像中的像素坐标。
[0100]
具体地,第一阶段:使用高斯滤波器与场景图像进行卷积,用于平滑图像消除噪声,高斯滤波器核的生成方程式如下:
[0101][0102]
上述公式2中,k为场景图像的灰度等级,i,j为场景图像的像素点坐标;
[0103]
第二阶段:使用canny边缘检测算法的算子计算场景图像中所有像素点水平gx和垂直gy方向的一阶导数值,由此确定场景图像中像素点的梯度值和梯度方向,其中,场景图像中像素点的梯度值和梯度方向计算公式分别为:
[0104][0105]
θ=arctan(g
y
/g
y
)
ꢀꢀꢀ
公式4
[0106]
上述公式3和公式4中,gx为场景图像中像素点水平方向的一阶导数值,gy为场景图像中像素点垂直方向的一阶导数值,g为场景图像中像素点的梯度值,θ为场景图像中像素点的梯度方向;在第二阶段中,在确定场景图像中像素点的梯度值和梯度方向后,并根据梯度值和梯度方向过滤掉场景图像中的非极大值像素点,以消除边缘检测造成的杂散响应;
[0107]
第三阶段,通过检测阈值检测场景图像确定场景图像中真实和潜在的边缘,并能够通过抑制孤立的弱边缘完成最终的场景图像的边缘检测。
[0108]
需要说明的是,获取检测阈值包括:通过最大类间方差法确定场景图像的最大化灰度级;根据最大化灰度级确定检测阈值;
[0109]
其中,最大类间方差法简称otsu算法,是一种可以根据图像的灰度直方图信息自适应确定阈值的方法,用于在类间方差最大的情形,该算法的基本思想是存在阈值ω把采集到的图像像素划分为c1(小于ω)和c2(大于ω)两类,设定:场景图像的灰度级为k,两类像素的均值分别为m1和m2,全局的场景图像像素均值为mg,同时像素被分为c1和c2两类的概率分别为p1、p2,进而存在下列公式:
[0110]
p1*m1+p2*m2=mg
ꢀꢀꢀ
公式5
[0111]
p1+p2=1
ꢀꢀꢀ
公式6
[0112][0113][0114][0115]
其次,灰度级k的累加均值m和场景图像全局像素均值mg分别为:
[0116][0117][0118]
根据方差的概念,结合公式5至公式11,最终得出类间方差公式为:
[0119][0120]
根据公式12,遍历0~255个灰度级,确定出使公式12最大的灰度级k,具体地,能使得上述公式12最大化的灰度级k就是otsu阈值,也就是检测阈值;其中,使用otsu算法替代传统的人工设置,通过实现检测阈值的自适应获取以提高所生成的边缘图像的清晰度。
[0121]
在其中一些实施例中,获取摄像装置与机械臂工作台相对应的校准系数包括:通过张正友标定算法对摄像装置进行标定,确定摄像装置的参数;获取摄像装置距离机械臂工作台的高度,并根据摄像装置距离机械臂工作台的高度以及参数,确定摄像装置与机械臂工作台相对应的校准系数;
[0122]
具体地,通过张正友标定算法能够得知摄像装置的参数,其中,摄像装置的参数包括摄像装置的畸变系数,并进一步地根据摄像装置的畸变参数和摄像装置距离机械臂工作台的高度确定摄像装置与机械臂工作台相对应的校准系数。
[0123]
在其中一些实施例中,通过对场景图像进行目标检测,确定机械臂工作台上目标物体在场景图像中的像素坐标包括:
[0124]
通过对场景图像进行目标检测,确定机械臂工作台上目标物体在场景图像中的第一像素坐标,以及根据场景图像确定位于场景图像中的相对点的第二像素坐标;确定第一像素坐标与第二像素坐标的差值,并将差值定义为目标物体在场景图像中的像素坐标;
[0125]
具体地,场景图像中的相对点是指为了确定目标物体在场景图像中的像素坐标而选定的参考点,因此,场景图像中的相对点可以是场景图像的中心点,第二像素坐标便是场景图像的中心点的像素坐标。需要说明的是,在本申请实施例中,根据目标物体的二维坐标
和机械臂工作台的高度信息确定目标物体的三维坐标包括:根据目标物体的二维坐标和机械臂工作台的高度信息确定目标物体在机械臂基坐标系下的坐标;根据目标物体的三维坐标控制机械臂移动包括:根据目标物体在机械臂基坐标系下的坐标控制机械臂移动;其中,根据目标物体的二维坐标和机械臂工作台的高度信息确定目标物体在机械臂基坐标系下的坐标可以通过以下转换公式进行转换:
[0126]
α=(β

γ)*cc*d+pa+o
ꢀꢀꢀ
公式13
[0127]
上述公式13中,α表示目标物体在机械臂基坐标系下的坐标;β表示目标物体在场景图像中的像素坐标;γ表示场景图像的中心点的像素坐标;pa表示机械臂位姿;o表示机械臂末端执行器与摄像装置在二维坐标x,y坐标系下的偏移量,其中机械臂末端执行器是指机械臂末端用于夹持目标物体的夹持器;cc表示摄像装置的校准系数;d表示摄像装置到机械臂工作台的距离;通过上述公式13便可实现目标物体在场景图像中的二维坐标至机械臂基坐标系下的坐标的转换,进而便于根据目标物体在机械臂基坐标系下的坐标控制机械臂对目标物体的操作,因此降低了机械臂控制中的计算量以及提高了机械臂控制中数据处理的效率;
[0128]
进一步地,首先本方法可以是多目标抓取,可以识别多种不同物体;其次是灵活抓取,相比较工厂中的固定抓取,本方法不需要固定物件的摆放区域和位置;然后是对硬件设备要求低,相比较其他方法,本方案仅需要一个彩色摄像机或者黑白摄像机即可,以及对处理器的性能要求非常低;并且可迁移性较好,对所有圆形或者类圆形物体都能进行检测。不需要因为对新目标的检测而重新进行仿真训练;最后是计算过程简单,计算量小,并且不需要三维重构等。
[0129]
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0130]
本实施例还提供了一种基于视觉的机械臂控制装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0131]
在一些实施例中,图4是根据本申请实施例的基于视觉的机械臂控制装置的结构框图,如图4所示,基于视觉的机械臂控制装置包括:获取模块41、识别定位模块42和控制模块43;
[0132]
获取模块41,用于获取机械臂工作台上的场景图像,其中,场景图像通过摄像装置采集得到,且场景图像是在摄像装置的摄像镜头所在平面平行于机械臂工作台的情况下获取的;获取模块41还用于获取摄像装置与机械臂工作台相对应的校准系数;
[0133]
识别定位模块42,用于通过对场景图像进行目标检测,确定机械臂工作台上目标物体在场景图像中的像素坐标;识别定位模块42还用于根据目标物体在场景图像中的像素坐标和校准系数确定目标物体的二维坐标,并根据二维坐标和机械臂工作台的高度信息确定目标物体的三维坐标;
[0134]
控制模块43,用于根据目标物体的三维坐标控制机械臂移动。
[0135]
在其中一些实施例中,获取模块41、识别定位模块42和控制模块43还用于实现上
述各实施例提供的基于视觉的机械臂控制方法中的步骤,在这里不再赘述。
[0136]
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
[0137]
本实施例还提供了一种基于视觉的机械臂控制系统,图5是根据本申请实施例的基于视觉的机械臂控制系统的结构框图,如图5所示,基于视觉的机械臂控制系统包括摄像装置51、机械臂52和处理器53;
[0138]
处理器53与摄像装置51连接,用于获取机械臂工作台上的场景图像,其中,场景图像通过摄像装置51采集得到,且场景图像是在摄像装置51的摄像镜头所在平面平行于机械臂工作台的情况下获取的;
[0139]
处理器53用于通过对场景图像进行目标检测,确定机械臂工作台上目标物体在场景图像中的像素坐标;处理器53还用于获取摄像装置51与机械臂工作台相对应的校准系数;
[0140]
处理器53用于根据目标物体在场景图像中的像素坐标和校准系数确定目标物体的二维坐标,并根据二维坐标和机械臂工作台的高度信息确定目标物体的三维坐标,以及根据目标物体的三维坐标控制机械臂移动。
[0141]
在其中一些实施例中,处理器53还用于实现上述各实施例提供的基于视觉的机械臂控制方法中的步骤,在这里不再赘述。
[0142]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于视觉的机械臂控制方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0143]
在一个实施例中,图6是根据本申请实施例的计算机设备的内部结构示意图,如图6所示,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于视觉的机械臂控制的方法。
[0144]
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0145]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各实施例提供的基于视觉的机械臂控制的方法中的步骤。
[0146]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个实施例提供的基于视觉的机械臂控制的方法中的步骤。
[0147]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0148]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0149]
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1