CN116529760A - 抓取控制方法、装置、电子设备和存储介质 - Google Patents
抓取控制方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116529760A CN116529760A CN202180004578.2A CN202180004578A CN116529760A CN 116529760 A CN116529760 A CN 116529760A CN 202180004578 A CN202180004578 A CN 202180004578A CN 116529760 A CN116529760 A CN 116529760A
- Authority
- CN
- China
- Prior art keywords
- grabbed
- image data
- grabbing
- mask
- article
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 261
- 238000003860 storage Methods 0.000 title claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 138
- 238000007781 pre-processing Methods 0.000 claims abstract description 29
- 238000001514 detection method Methods 0.000 claims description 89
- 230000001629 suppression Effects 0.000 claims description 72
- 239000000463 material Substances 0.000 claims description 53
- 238000003672 processing method Methods 0.000 claims description 49
- 238000004590 computer program Methods 0.000 claims description 48
- 238000013135 deep learning Methods 0.000 claims description 48
- 230000008569 process Effects 0.000 claims description 48
- 230000005764 inhibitory process Effects 0.000 claims description 43
- 239000011159 matrix material Substances 0.000 claims description 39
- 238000005070 sampling Methods 0.000 claims description 31
- 230000002452 interceptive effect Effects 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000010606 normalization Methods 0.000 claims description 18
- 238000012163 sequencing technique Methods 0.000 claims description 17
- 238000012549 training Methods 0.000 claims description 16
- 238000001914 filtration Methods 0.000 claims description 14
- 239000012636 effector Substances 0.000 claims description 13
- 238000013519 translation Methods 0.000 claims description 8
- 238000012937 correction Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 14
- 238000004519 manufacturing process Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 8
- 235000013361 beverage Nutrition 0.000 description 6
- 235000013305 food Nutrition 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 238000003475 lamination Methods 0.000 description 5
- 230000004888 barrier function Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000003466 welding Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000008267 milk Substances 0.000 description 2
- 210000004080 milk Anatomy 0.000 description 2
- 235000013336 milk Nutrition 0.000 description 2
- 239000011664 nicotinic acid Substances 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000287196 Asthenes Species 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 241000252253 Catostomus Species 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003592 biomimetic effect Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000002537 cosmetic Substances 0.000 description 1
- 238000002788 crimping Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003801 milling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 235000011888 snacks Nutrition 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种抓取控制方法、装置、电子设备和存储介质。本申请的抓取控制方法至少包括以下步骤:获取包括一个或多个待抓取物品的图像数据的步骤(S100);对所述图像数据进行处理,生成一个或多个待抓取物品的可抓取区域的掩膜,并对所述掩膜进行预处理的步骤(S110);检测一个或多个待抓取物品是否存在压叠情况的步骤(S120);对一个或多个待抓取物品所在的位置及其姿态进行估计的步骤(S130);根据待抓取物品的属性,为待抓取物品配置夹具的步骤(S140);基于所述一个或多个待抓取物品的抓取特征,确定使用夹具抓取所述一个或多个待抓取物品的顺序的步骤(S150)。本发明可有效避免在密集场景下抓取时,带飞其它物品等情况,提高了抓取的准确率。
Description
本申请涉及机械手臂或夹具的自动控制、程序控制B25J领域,更具体而言,特别涉及抓取控制方法、装置、电子设备和存储介质。
机器人具有感知、决策、执行等基本特征,可以辅助甚至替代人类完成危险、繁重、复杂的工作,提高工作效率与质量,服务人类生活,扩大或延伸人的活动及能力范围。随着工业自动化和计算机技术的发展,机器人开始进入大量生产和实际应用阶段。在工业场景中,工业机器人已经有很普遍的应用,能够代替人类执行一些重复性或者具有危险的工作。传统的工业机器人设计,关注的重点在于机器人硬件的设计和制造,机器人本身不够“智能”。在工业现场使用机器人时,技术人员需要提前对整个工业现场的硬件设备,流水线,物料位置和机器人的任务路径等进行规划,例如,如果要对物品进行分拣搬运,现场工作人员需要先将不同种类的物品分拣出,并整齐地摆放于具有统一规格的物料框中,在使用机器人作业前,需要先将流水线,料框,搬运位置等确定好,并依据确定好的信息为机器人设置固定的运动路径,固定的抓取位置,固定的旋转角度,固定的的夹具等。
作为对上述传统机器人技术的改进,已经开发了基于机器人视觉的智能型程控机器人,然而目前的“智能”还比较简单,主要实现方式是通过相机等视觉采集装置获取与任务相关的图像数据,基于图像数据获得3D点云信息,再基于点云信息对机器人的作业进行规划,包括运动速度,运动轨迹等信息,从而控制机器人执行任务。然而现有的机器人控制方案碰到复杂的任务时,效果并不好。例如,在商超,物流等场景中,针对众多堆叠在一起的物品进行处理,这需要机械臂从散乱,无序场景中,借助视觉设备依次定位及识别物体所在位置,并使用吸盘、夹具或其它仿生器械拾取物体,被拾取的物体,通过机械臂运动,轨迹规划等操作将物体按照一定规则摆放至相应位置。在这样的工业场景下,使用机器人执行抓取存在很多困难,例如,场景中待抓取物品数量过多,光线不均匀,导 致部分物品的点云质量较差,影响抓取的效果;物品种类多,且摆放不整齐,朝向五花八门,导致在抓取每个物品时,抓取点都不同,难以确定夹具的抓取位置;物品堆叠放置,容易产生抓取某个物品时带飞其它物品的情况。在这样的工业场景下,影响物品抓取难易程度的因素较多,传统的抓取排序方法效果也不够好;除此以外,当抓取算法设计得较为复杂时,也为现场工作人员带来了更多的障碍,当出现问题时,现场工作人员很难搞清楚为什么出现这种问题,以及怎么调整才能解决问题,往往需要机器人提供商派出专家进行协助。
发明内容
鉴于上述问题,提出了本发明以便克服上述问题或者至少部分地解决上述问题。具体地,首先,本发明基于待抓取物品的可抓取区域的掩膜,并结合压叠检测,位姿预测,抓取排序等步骤来控制夹具执行对待抓取物品的抓取,对于堆放了多个待抓取物品的密集场景,能够准确地识别每个待抓取物品的抓取方式,并按照特定的顺序有序地抓取全部待抓取物品,与现有的抓取方案相比,可有效避免在密集场景下抓取时,带飞其它物品等情况,提高了抓取的准确率;其次,本发明的抓取排序方法,依据待抓取物品的可抓取区域的掩膜的多个特征进行综合排序,相对于传统的方法,提高了排序的准确度,并且由于并非针对整个物品的特征进行处理,因此即便考虑了多个因素,也不会显著降低运算的速度;再次,本发明中提出了一种仅基于待抓取物品的可抓取区域的图形特征的物品压叠程度计算方法,与传统的计算方法相比,本发明的方法运算速度快,且能够给出具体的压叠值而并非判断物品是否被压叠,虽然准确度较低,但是计算简单快速,并且输出的压叠值本身还可以在其它方面使用,特别适合对运算速度有要求的场景或者依据多个特征进行综合排序的场景;再次,本发明还提出了一种将与本发明的抓取控制方法相关联的参数及图像数据可视化地展示给用户的方法,使得用户在对机器人运行原理不了解的情况下,能够直观地确定机器人执行抓取过程中的各项参数,确定机器人抓取的依据,并进而确定如何对机器人的各项参数进行调整,解决了传统的抓取方案中,用户只能凭着自己的猜测进行参数调整的问题;再次,本发明还能够根据压叠检测的判断结果对待抓取物品的可抓取区域进行过滤,将可能被压叠的物品所对应的可抓取区域剔除,使得夹具不会在该区域抓取物品,由此避免了使用夹具抓取物品时,由于物品被压叠,导致抓取时出 现带飞,或者双抓等情况;再次,本发明还提出了基于图像数据处理的压叠检测方法,与现有的压叠检测方法不同,本发明基于物品实例识别,并针对每个识别出的实例确定其压叠概率,无需获取物品的点云数据并对点云数据进行聚类和分析处理,并且运算速度快,泛用性也较好;再次,本发明的抓取控制方案通过提取物品点云中的部分点云,并基于部分点云估计物品的位置特征和旋转特征,从而可以在工业中常见的物体点云质量不佳的情况下,仍能够获取准确的位姿信息;再次,本发明的抓取方案在控制夹具进行抓取时,考虑了待抓取物品的朝向特征,相对于现有的方案,能够更为准确地确定具有不同朝向的物品的抓取难易程度,减少了抓取失败的可能性,特别是在大量物品散乱堆放的工业场景中执行抓取时,现有的方案因为并不考虑物品的朝向特征对抓取的影响导致在这样的场景中使用机器人作业效果不佳,而本发明则能够大大提高这种场景下的机器人抓取效果;再次,本发明还提出了一种综合考虑物品的朝向特征以及物品的位置特征的抓取控制方案,在抓取时先判断物品是否在容易抓取的区域内,基于与物品是否在该区域内采取不同的抓取方案,使得在某些场景下,例如,大量物品散乱放置在容器内,或者大量物品所在区域有坚固的能够影响抓取的障碍物时,与仅考虑物品朝向特征的方案相比,抓取排序更为准确,进而提高了使用机器人的抓取效果;再次,本发明提出了一种基于数值确定待抓取物品是否位于特定区域的方案,由于预设了位置抑制值,仅需要基于待抓取物品的位置特征值及其与位置抑制值的关系,即可确定该待抓取物品是否位于特定区域内,与现有的基于图像数据分析的方案相比,虽然泛用性较差,但是运算速度大大提高,判断的准确性也较高,并且因为不依赖图像数据,对获取的图像数据的质量也没有要求;再次,本发明还提出了一种专用于大量物品散乱放置在靠近影响抓取的障碍物附近的场景下,对夹具进行控制并执行抓取的方法,该方法通过数值方式,并基于朝向抑制值使得物品在背离障碍物时能够获得高于物品朝向障碍物时的抓取特征值,使得在这种场景下,能够让最容易抓取的物品最先被抓走,从而提高了抓取的效果。
本申请权利要求和说明书所披露的所有方案均具有上述一个或多个创新之处,相应地,能够解决上述一个或多个技术问题。具体地,本申请提供一种抓取控制方法、装置、电子设备和存储介质。
本申请的实施方式的抓取控制方法,至少包括以下步骤:
获取包括一个或多个待抓取物品的图像数据的步骤;
对所述图像数据进行处理,生成一个或多个待抓取物品的可抓取区域的掩膜,并对所述掩膜进行预处理的步骤;
检测一个或多个待抓取物品是否存在压叠情况的步骤;
对一个或多个待抓取物品所在的位置及其姿态进行估计的步骤;
根据待抓取物品的属性,为待抓取物品配置夹具的步骤,使得在抓取待抓取物品时能够使用适于抓取待抓取物品的夹具执行抓取;
基于所述一个或多个待抓取物品的抓取特征,确定使用夹具抓取所述一个或多个待抓取物品的顺序的步骤,使得夹具能够按照所确定的顺序抓取物品。
在某些实施方式中,所述方法还包括对料框数据进行处理以获得料框的参数的步骤。
在某些实施方式中,所述对所述掩膜进行预处理包括:掩膜膨胀、基于预设的掩膜最小面积对掩膜进行的预处理、和/或基于预设的掩膜中最少点云个数对掩膜进行的预处理。
在某些实施方式中,所述检测一个或多个待抓取物品是否存在压叠情况的步骤还包括:根据预先设定的压叠检测的最大数量,输出压叠检测的结果。
在某些实施方式中,所述对一个或多个待抓取物品所在的位置及其姿态进行估计的步骤还包括:根据预先设定的最大估计数量,输出估计的结果。
在某些实施方式中,所述物品的属性包括物品掩膜的图像属性。
本申请的实施方式的抓取控制装置,包括:
图像数据获取模块,用于获取包括一个或多个待抓取物品的图像数据;
掩膜预测模块,用于对所述图像数据进行处理,生成一个或多个待抓取物品的可抓取区域的掩膜,并对所述掩膜进行预处理;
压叠检测模块,用于检测一个或多个待抓取物品是否存在压叠情况;
位姿估计模块,用于对一个或多个待抓取物品所在的位置及其姿态进行估计;
夹具配置模块,用于根据待抓取物品的属性,为待抓取物品配置夹具,使得在抓取待抓取物品时能够使用适于抓取待抓取物品的夹具执行抓取;
抓取排序模块,用于基于所述一个或多个待抓取物品的抓取特征,确定使用夹具抓取所述一个或多个待抓取物品的顺序的步骤,使得夹具能够按照所确 定的顺序抓取物品。
在某些实施方式中,还包括:
料框参数获取模块,用于对料框数据进行处理以获得料框的参数。
在某些实施方式中,所述对所述掩膜进行预处理包括:掩膜膨胀、基于预设的掩膜最小面积对掩膜进行的预处理、和/或基于预设的掩膜中最少点云个数对掩膜进行的预处理。
在某些实施方式中,所述压叠检测模块还用于:根据预先设定的压叠检测的最大数量,输出压叠检测的结果。
在某些实施方式中,所述位姿估计模块还用于:根据预先设定的最大估计数量,输出估计的结果。
在某些实施方式中,所述物品的属性包括物品掩膜的图像属性。
本申请的实施方式的电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施方式的抓取控制方法。
本申请的实施方式的计算机可读存储介质其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施方式的抓取控制方法。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
本申请的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1是本申请某些实施方式的抓取控制方法的流程示意图;
图2是本申请某些实施方式的料框参数的示意图;
图3是本申请某些实施方式的掩膜预处理的示意图;
图4是本申请某些实施方式的基于压叠检测调整物品可抓取区域的方法的流程示意图;
图5是本申请的物品压叠情况的示意图;
图6是本申请某些实施方式的确定物品是否被压叠的方法的流程示意图;
图7是本申请某些实施方式的对可抓取区域进行过滤的流程示意图;
图8a-图8d是本申请某些实施方式的基于压叠检测结果对可抓取区域进行过滤的示意图;
图9是本申请某些实施方式的确定物品位姿信息的方法的流程示意图;
图10是本申请某些实施方式的在点云不佳的情况下确定物品位姿信息的方法的流程示意图;
图11是与旋转矩阵相关的俯仰轴、滚转轴和偏航轴的示意图;
图12a和图12b是本申请某些实施方式的根据物品尺寸和物品长短为物品分段的示意图;
图13是本申请某些实施方式的抓取顺序确定方法的流程示意图;
图14是本申请某些实施方式的物品对角程度的示意图;
图15是本申请某些实施方式的物品压叠程度计算方法的流程示意图;
图16是本申请某些实施方式的物品掩膜压叠情况的示意图;
图17是本申请某些实施方式的待抓取物品位姿对抓取的影响的示意图;
图18是本申请某些实施方式的基于物品朝向的抓取控制方法的流程示意图;
图19是本申请某些实施方式的基于物品相对位置关系以及朝向的抓取控制方法的流程示意图;
图20是以料框正上方的相机坐标系作为参考坐标系的示意图;
图21是本申请某些实施方式的确定物品所在位置的方法的流程示意图;
图22是本申请某些实施方式的针对障碍物旁边的物体的抓取控制方法的流程示意图;
图23是本申请某些实施方式的抓取参数可视化方法的流程示意图;
图24a和图24b是本申请某些实施方式的可视化菜单及选择高度及吸盘大小可视化后,展示给用户的可视化图像的示意图;
图25是本申请某些实施方式的抓取控制装置的结构示意图;
图26是本申请某些实施方式的基于压叠检测调整物品可抓取区域的装置的结构示意图;
图27是本申请某些实施方式的确定物品是否被压叠的装置的结构示意图;
图28是本申请某些实施方式的可抓取区域过滤模块的具体结构示意图;
图29是本申请某些实施方式的在点云不佳的情况下确定物品位姿信息的装置的结构示意图;
图30是本申请某些实施方式的抓取顺序确定装置的结构示意图;
图31是本申请某些实施方式的物品压叠程度计算装置的结构示图;
图32是本申请某些实施方式的基于物品朝向的抓取控制装置的结构示意图;
图33是本申请某些实施方式的基于物品相对位置关系以及朝向的抓取控制装置的结构示意图;
图34是本申请某些实施方式的确定物品所在位置的装置的结构示意图;
图35是本申请某些实施方式的针对障碍物旁边的物体的抓取控制装置的结构示意图;
图36是本申请某些实施方式的抓取参数可视化装置的结构示意图;
图37是本申请某些实施方式的电子设备的结构示意图。
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在具体实施例的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理 解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本发明可以用于基于视觉识别的工业机器人控制场景中。一个典型的基于视觉识别的工业机器人控制场景包括用于采集图像的装置,用于生产线的硬件及生产线PLC等控制装置,用于执行任务的机器人部件,以及用于对这些装置进行控制的操作系统或软件。用于采集图像的装置可以包括2D或3D的智能/非智能工业相机,依据不同的功能和应用场景,可以包括面阵相机、线阵相机、黑白相机、彩色相机、CCD相机、CMOS相机、模拟相机、数字相机、可见光相机、红外相机、紫外相机等;生产线可以包括包装生产线、分拣生产线、物流生产线、加工生产线等需要使用机器人的生产线;工业场景中使用的用于执行任务的机器人部件可以是仿生机器人,例如人型机器人或者狗型机器人,也可以是传统的工业机器人,例如机械臂等;工业机器人可以是操作型机器人,程控型机器人,示教再现型机器人,数控型机器人,感觉控制型机器人,适应控制型机器人,学习控制型机器人,智能机器人等;机械臂依据工作原理可以是球坐式机械手,多关节式机械手,直角坐标式机械手,圆柱坐标式机械手,极坐标式机械手等,依据机械臂的功能,可以使用抓取机械臂,码垛机械臂,焊接机械臂,工业机械臂;机械臂的末端可以装配有末端执行器,末端执行器依据任务的需要,可以使用机器人夹具,机器人抓手,机器人工具快换装置,机器人碰撞传感器,机器人旋转连接器,机器人压力工具,顺从装置,机器人喷涂枪,机器人毛刺清理工具,机器人弧焊焊枪,机器人电焊焊枪等;机器人夹具可以是各类通用夹具,通用夹具是指结构已经标准化,且有较大适用范围的夹具,例如,车床用的三爪卡盘和四爪卡盘,铣床用的平口钳及分度头等。又如,按夹具所用夹紧动力源,可将夹具分为手动夹紧夹具、气动夹紧夹具、液压夹紧夹具、气液联动夹紧夹具、电磁夹具、真空夹具等,或者其它能够拾取物品的仿生器械。用于采集图像的装置,用于生产线的硬件及生产线PLC等控制装置,用于执行任务的机器人部件,以及用于对这些装置进行控制的操作系统或软件之间可基于TCP协议、HTTP协议、GRPC协议(Google Remote Procedure Call Protocol,谷歌远程过程调用协议)进行通信,以传递各种控制指令或命令。操作系统或软件可以设置于任意的电子设备中,典型的此类电子设备包括工业计算机,个人计算机,笔记本电脑, 平板电脑,手机等,电子设备可以通过有线或无线的方式与其它设备或系统进行通信。此外,本发明中出现的抓取指的是广义的能够控制住物品以改变物品的位置的任意的抓取动作,而并非局限于狭义的以“抓”的方式抓取物品,换句话说,诸如吸取,抬起,套紧等方式对物品的抓取,也属于本发明抓取的范围。本发明中待抓取物品可以是纸箱、纸盒、塑料软包(包括但不限于零食包装、牛奶利乐枕包装、牛奶塑料包装等等)、药妆瓶、药妆品、和/或不规则的玩具等物品等等,这些待抓取物品可以放置在地面、托盘、传送带和/或物料筐内。
图1示出了根据本发明一个实施例的抓取控制方法的流程示意图,如图1所示,该方法包括以下步骤:
步骤S100,获取包括一个或多个待抓取物品的图像数据的步骤;
步骤S110,对所述图像数据进行处理,生成一个或多个待抓取物品的可抓取区域的掩膜,并对所述掩膜进行预处理的步骤;
步骤S120,检测一个或多个待抓取物品是否存在压叠情况的步骤;
步骤S130,对一个或多个待抓取物品所在的位置及其姿态进行估计的步骤;
步骤S140,根据待抓取物品的属性,为待抓取物品配置夹具的步骤;
步骤S150,基于所述一个或多个待抓取物品的抓取特征,确定使用夹具抓取所述一个或多个待抓取物品的顺序的步骤。
首先,应当理解的是,本实施例通过上述步骤而不是上述具有特定顺序的步骤,使得本发明能够用于在任意的工业场景中执行任意物品的抓取,并获得良好的抓取效果。换句话说,虽然本实施例中给上述步骤进行了编号,使得方法看上去应当按照编号的顺序执行,然而多个上述步骤之间实际上并没有严格的前后顺序,因而在实际工业场景中,不按照上述特定的顺序执行也能够达到相同的效果。因此,本发明并不严格限定上述步骤的执行顺序,只要方案中包括了上述步骤,都在本发明的保护范围之内。
对于步骤S100,本发明可以适用于包括一个或多个待抓取物品的工业场景中,使用夹具依次对全部待抓取物品进行抓取,并将抓取到的物品排放置特定位置。本实施例中不限定图像数据的类型以及获取方式。作为一个示例,获取的图像数据可以包括点云或者RGB彩色图,可以通过3D工业相机获取点云信息,3D工业相机一般装配有两个镜头,分别从不同的角度捕捉待抓取物品组, 经过处理后能够实现物体的三维图像的展示。将待抓取物品组置于视觉传感器的下方,两个镜头同时拍摄,根据所得到的两个图像的相对姿态参数,使用通用的双目立体视觉算法计算出待涂胶玻璃的各点的X、Y、Z坐标值及各点的坐标朝向,进而转变为待抓取物品组的点云数据。具体实施时,也可以使用激光探测器、LED等可见光探测器、红外探测器以及雷达探测器等元件生成点云,本发明对具体实现方式不作限定。
通过以上方式获取的点云数据是三维的数据,为了滤除对抓取影响较小的维度对应的数据,减小数据处理量进而加速数据处理速度,提高效率,可将获取的三维的待抓取物品组点云数据正投影映射到二维平面上。
作为一个示例,也可以生成该正投影对应的深度图。可以沿垂直于物品的深度方向获取与三维物品区域相对应的二维彩色图以及对应于二维彩色图的深度图。其中,二维彩色图对应于与预设深度方向垂直的平面区域的图像;对应于二维彩色图的深度图中的各个像素点与二维彩色图中的各个像素点一一对应,且各个像素点的取值为该像素点的深度值。
待抓取物品通常会堆在箱子中搬运至现场,这种堆积物品的箱子通常称之为料框,在执行抓取时,机械臂或者夹具在运动过程中可能碰到料框,因此料框以及料框中的物品的摆放位置对抓取有重要的影响。作为一个较佳的实施例,可以获取料框的各项参数。如图2所示,可以对料框数据进行处理,提取或生成对抓取有影响的辅助参数,这样的参数包括:料框的高度,料框的宽度,料框的长度,以及对料框的宽度和长度进行分割后获得的网格。应当理解,高度,宽度和长度都是确定的数值,而网格的分割方式及数量则是本领域技术人员根据所使用的夹具,抓取方式以及待抓取物品的特征等实际情况自行分割的,使用网格能够方便地对待抓取物品的位置进行标定。料框数据可以是预设的,或者通过相机采集的。
对于步骤S110,物品的可抓取区域是指物品表面上能够被夹具抓取的部位,在工业场景中,待抓取物品可能以整齐,有序的方式放置,此时,每个物品的可抓取区域基本相同,确定可抓取区域的方式也较为简单;也可能以混乱和无序的方式堆在一起,此时每个物品的可抓取区域都是随机的,需要以复杂的方式确定可抓取区域。本实施例不限定具体的使用场景以及确定可抓取区域的具体方法,只要能够获取可抓取区域即可。
一种可行的确定可抓取区域并生成掩膜的实施方式可以是,首先,在获取了包括一个或多个待抓取物品的图像数据后,对该图像数据进行处理,以识别出图像中的每一个像素点,例如对于一个256*256的图像来说,应当识别出256*256=65536个像素点;之后基于这些像素点中的每一个像素点的特征对整个图像中所包括的全部像素点进行分类,其中,像素点的特征主要是指像素点的RGB值,在实际的应用场景中,为了方便为特征分类,也可以将RGB彩色图处理为灰度图,利用灰度值进行分类。对于像素点的分类,可以预先确定需要将像素点分成哪几类,例如,拍摄获得的RGB图像中包括一大堆饮料罐,食品盒以及料框,因此如果目的是生成其中饮料罐,食品盒以及料框的掩膜,则预先确定的分类可以是饮料罐,食品盒和料框。我们可以为这三种不同的分类设置一个标识,标识可以是数字,例如饮料罐为1,食品盒为2,料框为3,也可以是颜色,例如饮料罐为红色,食品盒为蓝色,料框为绿色,以此分类并进行处理后,最终获得的图像中会以1或者红色标识饮料罐,2或者蓝色标识食品盒,3或者绿色标识料框。本实施例中要生成的是物品的可抓取区域的掩膜,因此仅为可抓取区域分类,例如蓝色,以此方式处理后的图像中的蓝色区域即为待抓取物品的可抓取区域的掩膜;接下来为每个分类创建图像输出的通道,该通道的作用是将输入图像中的所有与分类有关的特征提取出来作为输出。例如,我们为可抓取区域这个类创建图像输出的通道后,将采集到的RGB彩色图像输入该通道,则可以从该通道的输出中获取提取了可抓取区域的特征的图像。最后,我们将处理获得的可抓取区域的特征图像与原始RGB图像进行组合,即可生成标识有可抓取区域掩膜的合成图像数据。
以此方式生成的掩膜有时是不合适的,例如,有些掩膜的大小和形状不方便进行后续的处理;再如,有些区域虽然生成了掩膜,然而夹具在掩膜的位置并不能执行抓取。不合适的掩膜会对后续的处理过程带来很大的影响,因此需要对生成的掩膜进行预处理后再供其它步骤使用。如图3所示,对掩膜的预处理可以包括:1、对掩膜进行膨胀处理,以填补掩膜图像的缺失、不规则等缺陷。例如,对于掩膜上的每一个像素点,可以把该点周围一定数量的点,例如8-25个点,设为与该点颜色相同。该步骤相当于把每个像素点的周围都进行填充,因此假如物品掩膜存在缺失,该操作会将缺失部分全部填充,如此处理之后,物品掩膜就会变得完整,不存在缺失,同时掩膜整体上也会因为膨胀而略为变“胖”, 适当的膨胀有助于后续进一步的图像处理操作;2、判断掩码的面积是否满足预定的条件,如果不满足,则剔除该掩膜。首先较小的掩膜区域很可能是错误的,因为图像数据的连续性,一个可抓取区域通常会包括众多数量的具有类似特征的像素点,离散的小像素点形成的掩膜区域可能并非真正的可抓取区域;其次,机器人末端执行机构,即夹具,在执行抓取任务时,其落脚位置需要有一定的面积,如果可抓取区域的面积过小,夹具根本无法在该区域落脚,也就无法抓取物品,因此过于小的掩膜是没有意义的。前述预定的条件,可以根据夹具的大小以及噪点的大小等条件自行设定,其值可以为一个确定的大小,或包含的像素点的数量,或者一比例,例如,可以将预定的条件设为0.1%,即掩膜面积与整体图像面积的比例小于0.1%时,即认为该掩膜不可用,进而将其从图像中剔除;3、判断掩码中的点云个数是否少于预设的最少点云个数。点云个数反映了相机采集质量的好坏,如果某个可抓取区域中点云个数过少,说明对于该区域的拍摄是不够准确的。点云可以用于控制夹具执行抓取,数量过少可能对夹具的控制过程产生影响。因此,可以设置某个掩膜区域中最少应当包括的点云的个数,例如:10个,当某个可抓取区域中覆盖的点云个数少于10个时,则将掩膜从图像数据中剔除或者为可抓取区域随机添加点云,直到达到10个为止。
对于步骤S120,本发明可用于大量待抓取物品堆积的场景下执行抓取,在这种场景下,某个可抓取区域所属的物体可能存在被压叠的情况,在这种情况下,可能导致异常抓取的情形,这种情形包括物体带飞(抓下层物体带飞上层物体)和double picking(一次性抓多个物体)等,最终常常导致物体损坏或者飞出料筐。为了避免这种异常抓取情况,需要检测一个或多个待抓取物品是否存在压叠情况。本发明对具体的检测方式不做限定。根据实际使用场景的需要,可以预先设定压叠检测的最大数量,例如,可以设定压叠检测的最大数量为10个,当检测出的压叠物品的数量超出10个时,只会选用前10作为输出。这样可以有效提高运算速率。特别地,发明人还提出了一种基于压叠检测调整物品可抓取区域的方法,这是本发明的重点之一。
图4示出了根据本发明一个实施例的基于压叠检测调整物品可抓取区域的方法的流程示意图。如图4所示,该方法包括:
步骤S200,获取包括至少一个待抓取物品的图像数据;
步骤S210,对所述图像数据进行可抓取区域识别处理,识别图像中的 待抓取物品的可抓取区域并生成可抓取区域参考数据,所述可抓取区域参考数据可视化地示出夹具能够抓起待抓取物品的可抓取区域;以及
步骤S220,对所述图像数据进行压叠检测处理,预测图像中的每一个待抓取物品是否被压叠;
步骤S230,基于所述压叠检测处理的结果,对所述可抓取区域参考数据进行处理,以在可抓取区域参考数据中剔除因压叠而导致的不可抓取的区域。
对于步骤S200,可以采用与步骤S100类似的方式获取图像数据,此处不再赘诉。
对于步骤S210,可以采用与步骤S110类似的方式获取可抓取区域的掩膜并对掩膜进行调整,此处不再赘诉。
对于步骤S220,步骤S210获得的可抓取区域的掩膜并没有考虑物品被压叠的情况,如图5所示,当物品A被物品B压住时,即便其可抓取区域露出了很多,也不能在抓取物品B之前抓取物品A,否则很容易导致物品B被带飞出框。在其它的场景中,盲目抓取被压叠的物品还可能导致抓不动,或者一次抓取中同时抓取到待抓取物品以及预料之外的物品的情况。现有的压叠检测方法通过点云聚类和分析的方式确定物品是否压叠,然而这种方法运算速度慢,并且泛化能力弱,并不适合于实时性要求较高,或者抓取场景和待抓取物品复杂多样的抓取任务。为此,发明人提出了一种基于实例检测与分割的方式确定待抓取物品是否被压叠的方法。这是本发明的重点之一。
图6示出了根据本发明一个实施例的确定物品是否被压叠的方法的流程示意图。如图6所示,该方法包括以下步骤:
步骤S300,获取包括至少一个待抓取物品的图像数据;
步骤S310,检测所述图像数据中包括的全部待抓取物品的实例;
步骤S320,对检测出的每一个实例进行处理以对每一个实例的压叠情况进行预测,并输出每个待抓取物品的压叠概率;
步骤S330,对于每个待抓取物品,基于该物品的压叠概率以及预设的压叠检测阈值确定该物品是否被压叠。
对于步骤S300,可以采用与步骤S100类似的方法获取图像数据,此处不再赘述。
对于步骤S310,为了判断全部待抓取物品的压叠情况,需要检测出图 像数据中的每一个待抓取物品,并生成每个待抓取物品的实例。通常的实例分割需要区别物品的类别,再识别出每个物品并将物品归类。本发明中并不需要获取物体的具体类别,因此在该步骤中只要检测出图像中的每个物品并生成该物品的实例即可。在一个实施方式中,可以在获取每个待抓取物品的实例后,检测实例所在的位置,还可以确定该实例所对应的物品的轮廓,并生成该物品的掩膜。
对于步骤S320,在大量物品散乱堆积的工业场景中,物品之间的压叠情况实际上不可避免,少量的压叠并不妨碍机器人执行抓取任务。因此,在确定压叠情况时,判断是否压叠的标准在于压叠是否妨碍抓取任务。基于此标准,可以将每个实例的压叠情况量化为压叠的概率并输出此概率。
对于步骤S330,可以基于压叠的概率设置相应的阈值,使得当某个待抓取物品的压叠概率大于该预设的阈值时,才会将某个待抓取物品判定为压叠。阈值可以根据实际情况的需要而预设,或者由工作人员随时进行调整。例如,当工作人员发现由于判定为压叠的物品过于多,而导致机器人无法抓取而无法清筐时,可以调高阈值,使得判定为压叠的条件更加严格,这样被判定为压叠的物品会减少,从机器人的视角来看,能够抓取的物品就变多了;反之,若工作人员发现抓取过程中夹具总是将物品带飞,或者把意料外的物品抓起来,则可以降低抓取阈值,以增多被判定为压叠的物品的数量,使得夹具能够抓取最没有可能被压叠的物品。
应当理解,也可以通过将图像输入深度学习网络,由深度学习网络执行上述步骤S310-S330。为了实现利用深度学习网络识别每个实例并确定每个实例是否被压叠,先要对深度学习网络进行训练,这需要采集大量的包括多个待抓取目标的工业现场的图像数据。采集到大量的此类数据后,可以先对数据进行标注,标注方法是对于图像数据中的每一个待抓取物品,判断该待抓取物品是否被压叠,并将压叠的物品标注为一个类别,例如,类别一,将未被压叠的物品标注为与压叠物品不同的类别,例如类别二。在一种实施方式中,也可以将物品标注为三类,压叠,不压叠以及不确定,具体地,可以将所有待抓取物品中的明显压叠的物品标注为压叠,明显不压叠或者非常轻微压叠的物品标注为不压叠,介于两者之间的物品或者肉眼无法判断是否被压叠的物品标注为不确定。在训练过程中,发明人发现,如果将标注为不确定的实例改标注为压叠,模型表现有少许提升,说明不确定是否压叠的实例的特征与压叠的实例的特征相近,因此,优选地, 可以基于压叠置信度设置两个类别进行标注,具体地,如果物品完全不压叠或者明显轻微的不影响抓取的压叠,则标记为不压叠,并且压叠置信度为0,其它情况均标记为压叠,且压叠置信度为1。
使用上述训练数据对构建好的深度学习网络进行训练。所述深度学习网络可以为任意的能够识别并标记图像数据中的物品的骨干网络,优选地,骨干网络可以是基于物品的关键点信息来识别物品的骨干网络,所述关键点可以为物品的中心点。在一种实施方式中,骨干网络中可以包括能够识别并标记目标物品的组件以及能够对物品掩膜进行预测的组件,以便在确定物品是否被压叠的同时清晰地显示出该物品的位置。在一个较佳的实施方式中,深度学习网络可以包括专用于执行目标检测的网络组件以及专用于分割实例的网络组件来实现目标物品的压叠情况检测。假如基于压叠置信度设置两个类别并进行标注,则图像数据经过深度学习网络处理后会获得每个物品被判断为压叠的置信度值,如前所述,该置信度最大为1,最小为0,实际上反映了物品被判断为压叠的概率。可以设置模型预测的置信度阈值,并通过调节该阈值以调整压叠检测的严格程度。由于网络会为每一个物品计算一个置信度预测结果,总计会获得多个结果,可以将每个结果与预设的置信度阈值进行比较,结果大于该阈值会被认定为确实检测出物体被压叠;结果小于该阈值会被认为该物品没有被压叠。在一种实施方式中,图像数据经深度学习网络处理后,仅输出大于置信度阈值的预测结果。为了方便现场工作人员使用,可以预先设置有限的压叠检测等级供现场工作人员选择。例如可以将压叠检测等级分为3级:低,中,高,其中低级对应置信度阈值为0.9,中级为0.6,高级为0.25。可以理解,压叠检测等级低,则模型置信度阈值高,此时压叠检测较为宽松,被检测为压叠的物品较少,不容易造成全部检测为压叠而无法清筐的现象,但可能会造成漏检;压叠检测等级高,模型置信度阈值低,压叠较为严格,被检测为压叠的物品较多,不容易造成漏检,但可能会将本可以吸取的物体判断为压叠。如果骨干网络能够输出物品掩膜,则可以令压叠物品和不压叠物品的掩膜具有不同的图形特征,例如,压叠物品的掩膜为红色,不压叠物品的掩膜为绿色。
应当理解,上述步骤S210和步骤S220是两个并行的处理步骤,即在获取图像数据后,分别对该图像数据进行可抓取区域识别处理以及压叠检测处理,一个处理过程并不以另一个处理过程为前提,两者没有先后顺序的要求,可 以先进行可抓取区域识别处理,后进行压叠检测处理;也可以先进行压叠检测处理,后进行可抓取区域的识别处理,或者两者同时进行。在获得两个步骤的结果后,即可进行后续的处理。
对于步骤S230,该步骤中使用经压叠检测处理后得到的每个待抓取物品被压叠的情况对经可抓取区域识别处理后形成的可抓取区域掩膜进行过滤,即将压叠检测结果作为过滤器使用,以将因为被压叠而导致实际上不能抓取的可抓取区域剔除。在一个实施方式中,在得到可抓取区域掩码之后,可以按照如图7所示的步骤执行对可抓取区域的过滤:步骤S231,确定可抓取区域掩膜的中心点,具体地,可以确定每一个可抓取区域掩膜的中心点的位置;可以采用任意方式确定中心点,例如,可以先计算可抓取区域掩膜的外接矩形,计算该外接矩形的中点,将该中点作为掩膜的中心点;步骤S232,获取可抓取区域掩膜中心点的位置信息,具体地,可以获取全部可抓取区域掩膜的中心点的位置信息,所述位置信息可以是中心点相对于参考坐标系的坐标,所述参考坐标系可以是以相机为原点的相机坐标系;步骤S233,基于所述位置信息判断所述中心点是否位于被检测为压叠的待抓取物品内,具体地,基于获取到的位置信息,在经压叠检测处理的图像数据中,确定所有的中心点的位置信息的每一个是否位于被预测为压叠的实例区域内,即,被预测为压叠的物品掩膜内。其中,中心点的位置信息位于被预测为压叠的实例区域内,则认为该中心点落在了该实例区域内;如果所有中心点均位于被预测为压叠的实例区域外,则结束流程;如果可抓取区域的中心落在被预测为压叠的实例区域内,执行步骤S234。至少一个可抓取区域的中心落在被预测为压叠的实例区域内表示与该可抓取区域相对应的待抓取物体被压叠,如果夹具在该可抓取区域抓取物品,可能导致抓取失败;步骤S234,将所述中心点对应的可抓取区域删除,具体地,将中心点落在被预测为压叠的实例区域内的可抓取区域标记为不可抓取,并在经可抓取区域识别处理后的图像数据中删除被标记为不可抓取的可抓取区域,从而完成过滤。
图8a-8d示出了本发明的使用经压叠检测处理后得到的图像数据对经可抓取区域识别处理后形成的图像数据进行过滤的示意图,应当理解,计算机处理过程中可能仅会输出最终的已经过滤完成的图像数据,而并不一定会生成或输出如图8b-8c所示的图像数据,本发明中之所以将这些图像数据列出,是为了方便解释本实施方式所涉及的方案。如图8a所示,假设获取的图像数据中包括4 个待抓取物品,其中物品C和物品D分别压在物品A和物品B上。接着分别对该图像数据进行可抓取区域识别处理以及压叠检测处理,得到如图8b和图8c所示的图像数据。图8b示出了将图像数据进行可抓取区域识别处理后形成的图像数据,该图像数据中的阴影部分代表可抓取区域掩膜,可以看出,经过处理后,会识别出整个图像数据中包括的所有可抓取区域,这些可抓取区域均为物品的表面区域的一部分。图86c示出了将图像数据进行压叠检测处理后形成的图像数据,可以看出,处理后的图像数据中识别出了每个物品,并生成了每个物品的掩膜以及该物品的压叠置信度值,其中,物品A,B,C,D的压叠置信度分别为0.8,0.4,0.1和0.2,图8a-8d的实施例中,将压叠置信度阈值设为0.6,则实际上只有物品A被判定为压叠状态,物品B,C和D均未被压叠。在图8c中,压叠物品和非压叠物品的掩膜具有不同的图形特征,具体地,物品A的掩膜用较深的阴影区域表示,物品B,C和D的掩膜用较浅的阴影区域表示。接着在图8b中,计算每个可抓取区域的中心点,标记为a,b,c,d和e,并将这些点放到图8c中,应当理解,实际上获取的是中心点a,b,c,d和e的坐标,并基于这些坐标在图8c中重现这5个点。由图8c可以看出,中心点a和b位于较深的阴影区域内,表示这两个中心点位于压叠物品的掩膜区域内,而中心点c,d和e位于较浅的阴影区域内,表示这三个中心点位于未被压叠物品的掩膜区域内,由此可以确定,中心点a所在的可抓取区域以及中心点b所在的可抓取区域所对应的物品实际上是不能抓取的(本实施例中,这两个区域都对应于同一个物品)。基于上述确定结果,对图8b的图像数据进行过滤,将中心点a和b所在的可抓取区域从图像数据中删除,如此,形成过滤后的如图8d所示的图像数据,在图8d中,所有的可抓取区域都是真正的可抓取区域,夹具在这些区域抓取物品不会因为压叠情况而导致抓取失败或抓取错误。
过滤后的图像数据通常不会包括所有待抓取物品的可抓取区域掩膜,仅以此图像数据执行抓取并不能清筐,因此可以在夹具将图像数据中包括的全部可抓取区域所对应的待抓取物品抓取完毕后,重复上述步骤S200-S230,生成新的待抓取物品的可抓取区域掩膜并执行抓取。在另外的实施方式中,为了保证抓取质量,也可以在每次执行抓取之前,均执行步骤S200-S230,或者经过预定次数的抓取之后,再重复执行步骤S200-S230。
对于步骤S130,待抓取物品的位姿是指待抓取物品所在的位置以及待 抓取物品的姿态,待抓取物品的姿态可以包括平放,直放,或是斜放,以及放置角度和旋转角度等。待抓取物品的位姿直接影响了抓取的难易程度。在一种实施方式中,确定待抓取物品的姿态时还要确定待抓取物品与料框的位置关系,以及朝向关系,用于对物体抓取策略进行排序。根据实际使用场景的需要,可以对输出的位姿的最大数量进行限定,例如,可以限制机器人输出抓取位姿个数为5,在这种设置下,仅输出5个待抓取物品的位姿。
图9示出了根据本发明一个实施例的确定物品位姿信息的方法的流程示意图。如图9所示,该方法包括:
步骤S400,获取包括至少一个待抓取物品的图像数据;
步骤S410,对所述图像数据进行处理,以确定所述图像数据中的可抓取区域;
步骤S420,对所述可抓取区域执行位姿估计处理,以获取所述可抓取区域的位姿信息,其中,所述位姿信息能够用于控制夹具在所述可抓取区域执行抓取操作。
对于步骤S400,可以采用与步骤S100类似的方法获取图像数据,此处不再赘诉;
对于步骤S410,可以采用与步骤S110类似的方法获取可抓取区域掩膜并对掩膜进行预处理,此处不再赘诉。
本发明的物品的图像、位姿、旋转矩阵、朝向、位置等均可以是物品的可抓取区域的图像、位姿、旋转矩阵、朝向、位置等。本发明的全部方案中出现的“物品”可以替换为“物品的可抓取区域”,而“物品的可抓取区域”也可以替换为“物品”。本领域技术人员能够理解本发明实施例中出现的哪些“物品”与“物品的可抓取区域”之间可以相互替换。
对于步骤S420,物品的点云可以在不同坐标系下表示,同样地,物品的位姿也可以在不同坐标系下表示。通常使用的坐标系是相机坐标系,该坐标系中以相机作为坐标系的原点。在执行抓取任务时,通常在机器人坐标系下表示物品的点云及位姿。物品的位姿与机器人的位姿存在对应的关系,在机器人坐标系下,获取了物品的点云位姿后,机器人/机械臂才能基于物品的位姿计算如何移动到物品的位置以及以何种角度和姿势抓取物品。本实施例中可以通过待抓取物品的可抓取区域点云计算出机器人的位姿。在一种实施方式中,可以基于待抓取 物品的位置,确定夹具的抓取点的位置,再根据物品的朝向或旋转,确定夹具的各个可控制关节的旋转角度,或者夹具的末端执行器的角度。本实施例的重点在于基于物品的可抓取区域计算位姿而不在于具体的位姿计算方法,任意的位姿确定方法均可以用于本实施例中。
现有的基于物品的3D点云计算物品的位姿的位姿确定方法对所获取的点云质量要求较高,当点云质量不佳而导致点云缺失或数量过少时,无法基于不佳的点云确定位姿。为了解决该问题,发明人提出了一种在点云质量不佳的情况下仍能够基于物品的点云数据计算物品的位姿信息的方法,这是本发明的重点之一。
图10示出了根据本发明一个实施例的在点云不佳的状况下仍能够准确获取物品位姿信息的方法的流程示意图。如图10所示,该方法至少包括以下步骤:
步骤S500,获取待抓取物品的点云;
步骤S510,对获取的待抓取物品的点云进行随机采样,从中随机采集一定数量的点云;
步骤S520,基于所述随机采集的点云,预测所述待抓取物品的位置特征以及旋转特征。
对于步骤S500,可以通过3D工业相机获取点云信息,3D工业相机一般装配有两个镜头,分别从不同的角度捕捉待抓取物品组,经过处理后能够实现物体的三维图像的展示。将待抓取物品组置于视觉传感器的下方,两个镜头同时拍摄,根据所得到的两个图像的相对姿态参数,使用通用的双目立体视觉算法计算出待涂胶玻璃的各点的X、Y、Z坐标值及各点的坐标朝向,进而转变为待抓取物品组的点云数据。具体实施时,也可以使用激光探测器、LED等可见光探测器、红外探测器以及雷达探测器等元件生成点云,本发明对具体实现方式不作限定。
对于步骤S510,可以在一次性获取包括全部待抓取物品的点云后,提取其中每一个待抓取物品的点云,并对每一个待抓取物品的点云执行随机采样。在另外的实施方式中,也可以对整体场景中所有的点云进行随机采样,此时,由于输入的是整个场景点云,在计算速度上比每个区域单独计算要快很多。关于采集的点云的数量,发明人经过多次试验,发现在密集场景下,随机采集的点云数 量不少于1024个时,效果最好。在一种实施方式中,可以对点云数据进行多次的随机采样,例如,对于获取的点云数据,通过第一次采样,从中随机采集一定数量的点云,例如1024个点云,之后将采集到的点云进行组合生成第一次采样点云;然后针对第一次采样点云,执行第二次采样,从1024个点中再次随机采集一定数量的点云,例如512个,将采集到的点云进行组合生成第二次采样点云。之后可以同时基于第一次采样点云和第二次采样点云估计待抓取物品的位姿。
对于步骤S520,可以在获取随机采集的点云后,基于所述获取的少量点云拟合物品的完整点云,从而获得每个待抓取物品的完整点云,再将每个物品的完整点云放回至原场景中组成完整的场景点云,之后基于物品的完整点云获取物品的位置特征及旋转特征,可以采用图形处理的方式或者模板匹配的方式生成完整点云,本发明对此不做限定。在另外的实施方式中,也可以直接基于采样后的点云拟合物品点云位姿,以生成物品点云的位置特征及旋转特征。所述位置特征,可以是平移参数或平移向量,通常是一组笛卡尔坐标系下的坐标(X,Y,Z),该坐标表达了物品的当前位姿相对于物品的基准位姿进行了怎样的平移,当物品基准位姿的位置在坐标系原点,即(0,0,0),的位置时,平移参数也可以表示物品的位置坐标。
所述旋转特征,可以是物品的旋转矩阵的参数。当一个具有特定朝向的物品进行一定的旋转后,将变换为另一个特定朝向,旋转矩阵即用来表达该物品进行了怎样的旋转。从本质上来讲,旋转矩阵反映了一个坐标系中的坐标在另一个坐标系中表示的转换关系。在一种实施方式中,假设作为基准的物品位姿具有正面朝上的朝向,即使得物品的可抓取区域与Z轴垂直的朝向,而待抓取物品的位姿则是由基准位姿旋转之后得到的,那么从基准位姿旋转到物品当前位姿的旋转矩阵为
现有技术中存在多种形式的旋转矩阵,本发明对此不做限定。可选的,本发明的旋转矩阵可以是基于欧拉角获得的旋转矩阵。任何一个旋转可以表示为依次绕着三个旋转轴旋三个角度的组合,这三个角度为称为欧拉角。如图11所示,一个物品的旋转由3个旋转分量描述,可以理解为笛卡尔坐标系中的X轴,Y轴,Z轴,其中X轴为俯仰轴,沿X轴顺时钟旋转的角度为俯仰角,记为α;Y轴为偏航轴,沿Y轴顺时钟旋转的角度为偏航角,记 为β;Z轴为滚转轴,沿Z轴顺时钟旋转的角度为滚转角,记为γ。任何一种旋转都可以视为三种旋转方式的组合,例如如果某个物品是以XYZ方式旋转的,则表示该物品先沿X轴顺时针旋转α,再沿Y轴顺时针旋转β,最后沿Z轴旋转γ。不同的旋转方式,其旋转矩阵是不同的,总计有12中旋转方式。优选地,可以令物品从基准方向以ZYX方式旋转到当前状态,相应地,待抓取物品的旋转矩阵可以为
在另外的实施方式中,旋转矩阵也可以是由旋转向量四元数构成的旋转矩阵,用四元数来构造矩阵,可以避免用欧拉角构建矩阵时,需要考虑旋转顺序的问题。因此,本发明的旋转特征可以是欧拉角,或者四元数,欧拉角和四元数之间也可以相互转换,本发明不再赘诉。
应当理解,也可以通过将图像输入深度学习网络,由深度学习网络执行上述步骤S510-S520。为了实现利用深度学习网络识别每个实例并确定每个实例是否被压叠,先要对深度学习网络进行训练,这需要采集大量的包括多个待抓取目标的工业现场的图像数据。采集到大量的此类数据后,先对数据进行标注,再输入网络中进行训练。能够用于本发明的深度学习网络应当至少包括三个组件,一个组件可以是采样组件,用于对输入的点云进行采样及组合处理;另一个组件可以是基于全连接层的平移估计组件,用于基于采样后的点云估计物品的位置特征;第三个必不可少的组件可以是基于全连接层的旋转估计组件,用于基于采样后的点云估计物品的旋转特征。在一种实施方式中,还可以在所述网络的卷积层之后附加线性修正组件作为激活函数,以改善网络中梯度消失的问题,并加快训练速度,可以使用任意的线性修正组件实现本发明,例如带泄露线性修正,带泄露随机线性修正,或噪声线性修正等。在另外的实施方式中,还可以在所述网络的卷积层之后附加批标准化组件以将分散的数据统一,从而让机器学习更容易学习到数据之中的规律。
在一个实施方式中,深度学习网络不使用任何预训练模型,从初始化开始直接进行训练。深度学习网络以M(点云区域个数)x 1024(采样点个数)x 3(点云在3维空间位置)作为输入进行模型训练。在一种实施方式中,训练 过程中可以对点云进行了随机抖动、平移,并对随机抖动、平移后的点云进行碰撞检测,以确定新形成的物体点云不会出现彼此交叉的不合理的情况,所述随机抖动是指随机改变点云的坐标,所述平移是指将点云向特定方向平移。深度学习位姿估计网络会对训练总数据迭代30,000伦次,采用0.001的初始学习率,并分别在20,000和25,000迭代时衰减因子10。在一种实施方式中,在训练过程中数据库点云不断作为训练数据输入到深度学习网络中,同时获取机器人的末端执行器作为模型迭代的参照物,通过比较机器人末端执行器点云的位姿,与深度学习网络预测的末端执行器的位姿之间的误差,并基于该误差更新整个深度学习网络。
对于步骤S140,物品的属性也可以是待抓取物品掩膜的图像属性,待抓取物品掩膜的图像属性是指,待抓取物品的掩膜以图形展示时,所具有的可视化的图像上的特征。物品的属性可以包括待抓取物品的大小(也可以使用物品掩膜的大小),高度(也可以使用物品掩膜的长度),形状等。在一种可选的实施方式中,可以基于物品的属性对所有待抓取物品分段。假设属性是物品的大小,分段界限为20mm和40mm,如图12a所示,经过分段后,大小在0-20mm之间的物品可以归类为小型物品,21mm-40mm之间的可以归类为中型物品,40mm以上的可以归类为大型物品。分段之后即可以根据物品的分段情况配置夹具,例如当物品被分段为小型物品时,则为其配置抓手夹具;当物品被分段为中型物品时,则为其配置普通吸盘夹具;当物品被分段为大型物品时,则为其配置强力吸盘夹具;也可以如图12b所示,按照物品的高度对所有待抓取物品进行分段,分段界限为80mm,小于80mm的为低物品,大于80mm的为高物品,并依据分类配置不同的夹具。应当理解,本发明中,不同的夹具并非仅包括不同种类的夹具,如果两个夹具种类相同,但是尺寸不同,这样的两个夹具也属于不同夹具,例如,当待抓取物品被分段归类为小型物品,中型物品和大型物品时,可以均为他们配置吸盘夹具,其中,小型物品配置的是小型吸盘夹具,中型物品配置的是中型吸盘夹具,而大型物品则配置大型吸盘夹具。
对于步骤S150,在大量待抓取物品堆积的抓取场景下,随机抓取物品很容易导致抓不上,物品损坏,物品带飞等情况,应当按照一定的顺序执行抓取。现有的抓取排序方法通常基于物品的点云的特征进行排序,当点云数据不佳时,方案无法执行,而工厂场景中影响点云的情况又非常常见,例如光照条件不好, 或者待抓取物品是玻璃等物品时,因此适用性不够好。此外,现有的排序方案通常只会考虑待抓取物品的一到两个特征,并基于简单的排序逻辑执行排序,由于考虑的因素不够全面,排序结果往往不够准确,或者现场工作人员发现排序不够准确时,也没有办法通过调整参数使得抓取顺序符合自己期望的结果,从而使得随后基于该顺序进行抓取时产生不良的抓取效果。为了解决上述问题,本发明提出了一种基于物品的可抓取区域的多项特征综合确定全部待抓取物品的抓取顺序的方法,提高了排序准确率和调整抓取顺序的自由度,也不会显著提高运算速度,并且方案的适用性也很强,是本发明的重点之一。
图13示出了根据本发明一个实施例的对图像数据进行处理以确定抓取顺序的方法的流程示意图。如图13所示,该方法包括:
步骤S600,获取至少一个待抓取物品的可抓取区域的掩膜;
步骤S610,针对至少一个待抓取物品中的每个待抓取物品,获取其可抓取区域的掩膜的至少一个特征值;
步骤S620,针对获取的所述至少一个特征值中的每一个,执行归一化处理,获得至少一个归一化特征值;
步骤S630,基于每个待抓取物品的至少一个归一化特征值以及预设的权值,计算该待抓取物品的抓取优先值,使得在对至少一个待抓取物品进行抓取时,能够根据该抓取优先值控制抓取的顺序。
对于步骤S600,可以采用步骤S110中的可抓取区域掩膜获取方法进行掩膜的获取,此处不再赘述。
对于步骤S610,获取了可抓取区域的掩膜后,还需要获取掩膜的与抓取相关的特征。发明人在研究过程中,发现掩膜的以下几个特征最可能影响抓取:掩膜高度,夹具大小,点云在掩膜内的个数,掩膜对角程度,掩膜压叠程度,掩膜大小,位姿方向。根据实际应用场景的需要,可以任选上述一个或多个特征的组合来确定抓取顺序。特别地,在这些特征中掩膜高度,掩膜大小,掩膜压叠程度以及位姿方向这四个特征对抓取的影响最大。作为一个优选的实施例,可以综合考虑上述特征中的全部特征以确定抓取的顺序。以下对每个特征的含义,对抓取的影响及其获取方法进行说明:
掩膜高度
掩膜高度是指某个待抓取物品的可抓取区域掩膜的高度,也可以是Z 坐标值。掩膜高度反映了物体可抓面的高低,由于待抓取的物品有多个,且堆叠放置在一起,优先抓取上层的物品一来能够防止因下层物品被压住而导致上层物品被带飞的问题,二来能够避免把高层物品击落,影响对低层物品的抓取,并且位于高层的物品显然要比位于低层的物品更好抓。掩膜的高度可以通过深度图或者掩膜所在位置的点云来获取,在一个实施方式中,可以先获取包括一个或多个待抓取物品的点云,点云是预设坐标系下的点的数据集,为了方便计算高度值,可以在待抓取物品的正上方使用相机进行拍摄。之后基于掩膜区域,获取包括在掩膜区域的点云。计算掩膜所代表的可抓取区域的位姿关键点以及位姿关键点的深度值,物品对象的三维位姿信息用于描述待抓取对象在三维世界的姿态。位姿关键点是指:能够反映可抓取区域的三维位置特征的位姿点。可以通过以下方式计算:
首先,获取掩膜区域的各个数据点的三维位置坐标,根据各个数据点的三维位置坐标所对应的预设运算结果,确定掩膜所对应的可抓取区域的位姿关键点的位置信息。例如,假设掩膜区域的点云中包含100个数据点,分别获取100个数据点的三维位置坐标,计算100个数据点的三维位置坐标的平均值,将平均值所对应的数据点作为掩膜区域所对应的可抓取区域的位姿关键点。当然,上述的预设运算方式除求平均值之外,还可以为求重心、求最大值或最小值等,本发明对此不作限定。然后,找出100个数据点中变化量最小的方向以及变化量最大的方向。其中,将变化量最小的方向作为Z轴方向(即与相机拍摄方向一致的深度方向),将变化量最大的方向作为X轴方向,并通过右手坐标系确定Y轴方向,从而确定位姿关键点的位置信息的三维状态信息,以反映位姿关键点在三维空间中的方向特征。
最后,计算各个掩膜区域所对应的物品可抓取区域的位姿关键点以及位姿关键点的深度值。其中,位姿关键点的深度值为物品可抓取区域对应于深度坐标轴的坐标值,其中,深度坐标轴根据相机拍照方向、重力方向或可抓取区域所在平面的垂直线所在的方向设定。相应的,深度值用于反映可抓取区域处于该深度坐标轴的位置。具体实施时,深度坐标轴的原点以及方向可以由本领域技术人员灵活设定,本发明对深度坐标轴的原点设置方式不作限定。例如,当深度坐标轴根据相机拍照方向设置时,深度坐标轴的原点可以为相机所在的位置,深度坐标轴的方向为从相机指向物品的方向,因此,各个可抓取区域的掩膜的深度值 对应于可抓取区域到相机的距离的相反数,即距离相机越远,则掩膜的深度值越低,将深度值作为掩膜高度特征值。
夹具大小
夹具大小指的是为某个待抓取物品配置的夹具的大小。由于物品的可抓取区域在物体表面,因此使用夹具夹取物品,实质上就是控制夹具在可抓取区域执行抓取操作,故夹具大小可也可以算作物品的可抓取区域的掩膜的特征。夹具大小对抓取的影响主要体现在夹具是否可能误碰与夹具不对应的物品。例如,如果使用了大尺寸的吸盘,那么与使用小尺寸的吸盘相比,在堆放的物体较多时进行抓取,该大尺寸吸盘在抓取的过程中更容易碰撞到其它物品,导致吸盘晃动或者物体位置的变化,进而可能导致抓取失败。实际的工业场景中,每套系统使用什么样的夹具可能都是预先确定好的,也就是说,夹具的大小在实际抓取之前可能已经确定了,因此本实施方式中的夹具大小可以基于配置的夹具,以及预先建立并保存的夹具与其尺寸之间的映射关系,来获取。
点云在掩膜内的个数
点云在掩膜内的个数就是指某个待抓取物品的可抓取区域的掩膜所覆盖的点云的个数。点云个数反映了相机采集质量的好坏,如果某个可抓取区域中点云个数过少,可能是因为光线反射,也可能是因为有遮挡,说明对于该区域的拍摄是不够准确的,可能对夹具的控制过程产生影响。因此可以将掩膜内的点云个数较多的物品的抓取优先级定得较高,优先执行抓取。点云个数可以通过计算可抓取区域掩膜覆盖的点云的数量进行获取。
掩膜对角程度
如图14所示,掩膜对角程度指的是掩膜的对角连线的倾斜程度。掩膜对角程度高的待抓取物品会比较“胖”,抓取相对容易一些;而掩膜对角程度低的待抓取物品则比较“瘦”,抓取相对困难一些。如图14所示,为了计算掩膜对角程度,可以先计算掩膜的最小外接矩形,外接矩形的角点即为掩膜的角点。将两个互为对角的角点连线,连线与外接矩形的一边(例如图14中与X平行的那一边)夹角α的角度x°即可反映出对角的程度,作为一个较佳的实施方式,掩膜对角程度可以取值为|45°-x°|。
掩膜压叠程度
掩膜压叠程度是指某个待抓取物品的可抓取区域的掩膜被其它物品压 叠的程度。通常的压叠检测只确定某个物品是否被压叠,而本实施例中的掩膜压叠程度,则是需要计算出一个确定的值,即“压叠程度值”。具体的压叠程度值能够用于对所有待抓取物品进行排序,压叠程度值低的物品抓取优先值高,而一般的压叠检测并不会量化压叠程度。此外,传统的压叠检测要确定压叠物体是否影响抓取,这需要识别出待抓取物品的类型(有些物品压叠影响抓取,有些物品即便被压叠也不碍事),抓取点,具体压叠的位置(压叠物体在边缘的话,即便压叠较多,也不影响抓取,如果在中间的话,即便只压了一点,也可能会把压叠物体带飞)等。这类方法虽然准确度高,但是运算速度较慢,在某些对错误率要求较低但是对速度要求较高的工业场景中,并不适用。发明人开发了一种基于待抓取区域掩膜的图形特征以及压叠物品的图形特征确定待抓取物品压叠程度的方法,本发明的方法能够输出一个确定的压叠程度值,可供其它方面使用,并且本发明仅通过图形特征确定压叠程度,特别适用于对运算速度要求较高的工业场景,是本发明的重点之一。
图15示出了根据本发明一个实施例的确定待抓取物品的可抓取区域的掩膜压叠程度的方法的流程示意图。如图15所示,该方法包括:
步骤S700,获取至少一个待抓取物品的可抓取区域的掩膜;
步骤S710,对于每个待抓取物品,计算该物品的可抓取区域的掩膜的面积S
1;
步骤S720,对于每个待抓取物品,生成该物品的可抓取区域的掩膜的外接矩形并计算所述外接矩形的面积S
2;
步骤S730,对于每个待抓取物品,通过以下公式计算待抓取物品的掩膜压叠程度C:
C=1-S
1/S
2。
对于步骤S700,可以采用步骤S110中的可抓取区域掩膜获取方法进行掩膜的获取,此处不再赘述。
对于步骤S710,如图16所示,假设有一个待抓取物品,他的可抓取区域的掩膜本来是方形的,但是因为有一个方形的物品压叠在可抓取区域之上,当相机从正上方拍摄时,检测出来的掩膜是U型的。为了计算方形物品对待抓取物品的压叠程度,可以先计算该U型区域的面积。在一种实施方式中,可以采用几何学的方法计算面积,例如可以将U型区域分割为三个矩形区域,并计算 每个矩形区域的面积后求和。作为一个较佳的实施方式,也可以基于可抓取区域掩膜包含的像素点来计算掩膜的面积,在这种实施方式中,首先,将全部像素点赋予一个相同的值,例如:0。然后,从左到右,从上到下逐个扫描整个图像中的所有像素点,若某个像素点具有掩膜的特征(例如颜色),则继续依次判断该点的右上,正上,左上及左前点是否都不具有掩膜的特征,是则标号加1(此时,掩膜中的第一个点被赋值为1),否则编号不变,若该点不具有掩膜的特征,则跳过。如果当前点的右上点及左前点为不同标记,且正上点和左上点不具有掩膜的特征,则当前点标记同右上点置相同的值,把所有标记与左前点相同的像素值都标记成与右上点同样的值。按照此方法遍历图像中的所有像素点,并进行标记。以此方式标记的点均为掩膜中包含的像素点,计算像素点的数量,基于每个像素点的面积及像素点的数量计算掩膜的面积。第二种方法通用性较好,可以用于计算任意形状的图像的面积。使用第二种方法计算面积时,也可以直接使用可抓取区域的掩膜包括的像素点的总数作为掩膜的面积。
对于步骤S720,可以使用任意的外接矩形算法对掩膜求取外接矩形。作为一种具体的实施方式,可以先计算掩膜中每个像素点的X坐标值和Y坐标值,分别选取最小的X值,最小的Y值,最大的X值以及最大的Y值;接着,将4个值组合为点的坐标,即最小的X值和最小的Y值组成坐标(X
min,Y
min),最大的X值和Y值组成坐标(X
max,Y
max),最小的X值和最大的Y值组成坐标(X
min,Y
max),以及最大的X值和最小的Y值组成坐标(X
max,Y
min)。以点(X
min,Y
min),(X
max,Y
max),(X
min,Y
max),(X
max,Y
min)分别作为外接矩形的4个角点并连线后,即获得了该外接矩形。接着计算该外接矩形的面积,计算方法类似步骤S310中计算掩膜面积的方法,此处不再赘述。
对于步骤S730,通过步骤S710获得待抓取物品的可抓取区域的掩膜的面积S
1以及通过步骤S720获得该物品的可抓取区域的掩膜的外接矩形的面积S
2后,可以计算S
1与S
2的比值,并用常数1减去该比值,即可得到掩膜压叠程度值,注意S
1与S
2应当具有相同的量纲,即如果以像素点数量作为掩膜的面积,则外接矩形的面积也应当以像素点的数量计量。
应当理解,本发明中的计算掩膜压叠程度的方法可以单独使用以确定抓取顺序,也可以与本发明中其它的特征联合使用计算抓取顺序。由于本发明综合考虑了多项对抓取有影响的特征,因此对每个特征的计算速度要求较高,而对 某些单项特征的准确度要求较低,因此上述计算掩膜压叠程度的方法特别适合用在本发明的确定抓取顺序的方法中,从而与其它特征联合起来确定抓取顺序。此外,本实施例的压叠程度计算方法实际上并不考虑压叠是否影响抓取,因此,优选地,可以先执行类似本发明步骤S130中的压叠检测处理,剔除掉由于压叠而导致无法抓取的物品之后,针对剩下的物品,采用本实施例的方法计算每个物品的压叠程度。
掩膜大小
可抓取区域的掩膜大小可以为掩膜的面积,掩膜面积大表示待抓取物品的可抓取区域大,则夹具更容易抓取;相反如果可抓取区域小,则夹具抓取更困难。掩膜的面积可以采用与步骤S710类似的方法进行计算,此处不再赘述。
位姿方向
多个待抓取物品堆置于物料框中,每个物品都具有独特的位姿,甚至在每一次抓取之后物品的位姿也会改变。物品的位姿,特别是物品的可抓取区域的位姿,决定了夹具应当在何种位置,以何种姿势执行物品的抓取。现有的抓取方法并不会特别考虑物品的朝向问题,因而也没有基于物品的朝向而确定抓取物品的顺序,然而物品的朝向(或可抓取区域的朝向),对抓取效果是有影响的,如图17所示,如果某个物品的可抓取区域正对着料框口时,该物品显然会比较好抓,假如物品的可抓取区域偏向料框壁时,则抓取难度比较大,特别是如果物品位于料框边缘附近时,朝向对抓取难度的影响尤为明显。可以通过图像学的方式或者将图像数据输入神经网络的方式,计算物品的位置及朝向,并基于物品在该位置及朝向下抓取的难易程度,计算物品的位姿特征值,可以理解,抓取越难,则位姿特征值越低。
发明人发现在大量物品密集,散乱堆放的场景中,例如将多个待抓取物品堆置于物料框中,现有的方案之所以效果变差,是因为每个物品都具有独特的朝向,如图17所示,假设需要从深料框中抓取多个物品,这些物品中的部分物品的可抓取区域正对着料框口,部分物品的可抓取区域朝向料框壁,显然其中正对着料框口的物品会比较好抓,特别是当物品位于料框边缘附近且可抓取区域朝向其旁边的料框壁时,夹具甚至可能无法抓取到该物品。而现有的方案在确定抓取顺序时,由于仅考虑了高度,压叠,吸盘大小对抓取难易程度的影响,没有考虑物品位姿,或者更具体地,物品朝向对抓取难易程度的影响,因而在密集物 品,散乱堆放的抓取场景中的抓取效果不佳,因为这样的场景中,朝向对物品的抓取影响很大。因此,发明人发现解决该技术问题的方法是至少应当依据物品的朝向特征对抓取进行控制。
图18示出了根据本发明一个实施例的基于待抓取物品的位姿朝向对物品的抓取进行控制的方法的流程示意图。如图18所示,该方法包括:
步骤S800,获取包括至少一个待抓取物品的图像数据;
步骤S810,对所述图像数据进行处理,以获取待抓取物品的与朝向有关的朝向特征;
步骤S820,至少基于所述待抓取物品的朝向特征控制夹具以执行对至少一个待抓取物品的抓取。
对于步骤S800,可以采用与步骤S100类似的方式获取图像数据,此处不再赘述。
对于步骤S810,如图17所示,当物品朝向正上方时,对于夹具来说是最方便抓取的,朝向越偏向XY平面,则越难抓取。物品的朝向特征就是用来反映物品的朝向偏向XY平面的程度。反映物品的方向或旋转的特征都可以用作朝向特征,例如角度,或者特定的投影值等,本实施例中不作限定。作为一种优选的实施方式,可以基于物体的旋转矩阵获得物体的朝向特征。当一个具有特定朝向的物品进行一定的旋转后,将变换为另一个特定朝向,旋转矩阵即用来表达该物品进行了怎样的旋转。从本质上来讲,旋转矩阵反映了一个坐标系中的坐标在另一个坐标系中表示的转换关系。
在一种实施方式中,假设作为基准的物品位姿具有正面朝上的朝向,即使得物品的可抓取区域与Z轴垂直的朝向,而待抓取物品的位姿则是由基准位姿旋转之后得到的。假设从基准位姿旋转到物品当前位姿的旋转矩阵为
则待抓取物品的朝向特征可以根据R获得。在一种实施方式中,物体的朝向特征可以为(X
vector,Y
vector,Z
vector),其中X
vector,Y
vector,Z
vector分别为旋转矩阵第三行第一,二,三列的值,即,X
vector=x
3,Y
vector=y
3,Z
vector=z
3。
对于步骤S820,在一个实施方式中,可以基于物品的朝向特征以及所使用的夹具,计算夹具执行抓取时的位姿,包括夹具的旋转角度,夹具的姿势等, 以控制夹具以某个角度或姿势在物品的可抓取区域执行物品的抓取。在另外的实施方式中,至少一个待抓取物品的朝向特征计算朝向特征值也可以用来对多个待抓取物品进行抓取难易程度的排序,即,基于所获得朝向特征值对全部待抓取物品进行排序,并按照排序的顺序控制夹具进行抓取。优选地,当某个物体具有朝向特征(X
vector,Y
vector,Z
vector)时,该物体的朝向特征值可以为Max{X
vector,Y
vector,Z
vector}。
上述实施例公开的方案可以用于抓取以任意方式摆放的物品,然而在如图17所示的工业场景中,待抓取物品放置在一个较深的物料框中。一般的散乱在待抓取物品周围的其它物品,对抓取造成的障碍较小,因为夹具在抓取的过程中可以将这些物品推开或者令这些物品轻微形变后再抓取待抓取物品,并不会对抓取过程有显著的影响。而类似于深物料框这样的容易或者其它较为坚固的障碍物则不同,由于其框壁较高,且很难移动或形变,因而会对夹具的移动以及抓取造成障碍,甚至导致抓取失败。如图17所示,假如待抓取物品位于物料框的框壁附近,而其可抓取区域又朝向框壁,则夹具在抓取时,很可能会撞上框壁,导致抓取失败;然而,如果待抓取物品位于物料框的中心区域,则无论朝向哪个方向,抓取难度都是一致的。因此,在类似的场景下,抓取时仅考虑物品的朝向特征是不够的。为了解决这个问题,发明人经过研究,提出了一种基于物品的综合位姿,即物品的位置与物品的朝向,对抓取进行控制的方法,这也是本发明的重点之一。
图19示出了根据本发明一个实施例的基于待抓取物品的位置和朝向对物品的抓取进行控制的方法的流程示意图。如图19所示,该方法至少包括以下步骤:
步骤S900,获取待抓取物品的位置特征以及朝向特征;
步骤S910,基于所述位置特征,确定待抓取物品的位置与待抓取物品所在参考区域的兴趣区域的关系;
步骤S920,基于所述待抓取物品的位置与所述兴趣区域的关系,以及所述待抓取物品的朝向特征,确定抓取特征值;所述抓取特征值能够用于控制夹具执行对待抓取物品的抓取。
对于步骤S900,物品的朝向特征可以采用与步骤S810类似的方式获取,此处不再赘述。物品的位置特征可以是物体在参考坐标系下的坐标。参考坐标系 可以是世界坐标系,即以真实世界中的某个点作为原点建立的坐标系;可以是相机坐标系,即以相机的光心为原点建立的坐标系,该坐标系的z轴指向相机的正前方;也可以是图像坐标系,该坐标系是以相机光心在成像平面的投影作为原点建立的坐标系。本发明优选使用以相机为原点的相机坐标系作为参考坐标系。如图20所示,本发明中相机在深框中间的正上方进行拍照,参考坐标系的原点为相机,即坐标为(0,0,0)的点在相机内,在该种参考坐标系下,位于相机左边的点,其X轴的坐标值为负,位于相机的后面的点,其Y轴的坐标值为负,位于相机下方的点,其Z轴的坐标值为负。假设某个物品当前的位置的坐标为(X
pose,Y
pose,Z
pose),则该物品的位置特征可以是(X
pose,Y
pose,Z
pose)。
对于步骤S910,虽然本发明中均以料框为例进行说明,然而在实际的工业场景中,物品可能会放置在其它容器中,例如,桶。兴趣区域(Area of Interest)在本实施例中是指这样的一种区域,在该区域中,容易使用夹具抓取,不太会产生抓取失败的问题,例如图17中的料框的内圈区域。兴趣区域通常是参考区域的中心区域,然而如果使用了不同的容器,或者料框也被物理分隔成多个格子,兴趣区域也可能是中心区域以外的区域。参考区域是与兴趣区域相关联的区域,参考区域可以是整个容器的区域,或者容器的部分区域。具体的参考区域和兴趣区域可以根据实际情况的需要而确定,本实施的重点在于判断物品是否位于兴趣区域内,并根据判断结果控制抓取,不对确定兴趣区域的方法进行限定,可以通过任意的方式确定兴趣区域,例如,以中心点为圆心,固定长度为半径作圆,圆内区域即为兴趣区域。无论物品的朝向如何,兴趣区域本身就已经区分了抓取物品的难易程度,如前所述,物品位于兴趣区域内还是位于兴趣区域外,其抓取难度完全不同。如图17所示,当待抓取物品位于料框内圈时,物品的朝向对抓取的影响在各个方向上都是对称的,例如,内圈物品朝向料框右侧45度角或者朝向料框左侧45度角,抓取难度上几乎没有差别。而在内圈之外的物品,其朝向框壁45度角时,与朝向框中心45度角时,抓取难度大为不同。因此需要先确定物品是否位于兴趣区域内,现有的方法确定某个物品是否位于某个区域时,通常采用图像数据分析的方式,例如可以获取包括待抓取物品以及区域的图像,识别待抓取物品与所在区域的位置关系,并确定待抓取物品是否位于兴趣区域内,然而由于这种方式引入了对图像数据进行分析的处理,运算速度较慢。发明人经过研究发明了一种基于数值的方式计算待抓取物品是否位于兴趣区域内的方法,该 方法虽然泛用性不佳,但是运算速度快,且准确率高,是本发明的重点之一。
图21示出了根据本发明一个实施例的确定待抓取物品是否位于兴趣区域内的方法的流程示意图。如图21所示,该方法至少包括以下步骤:
步骤S1000,基于参考区域的特征计算物品的位置抑制值,所述位置抑制值的大小与所述参考区域的兴趣区域的大小相关;
步骤S1010,获取多个物品中的每一个物品的位置特征值;
步骤S1020,对于多个物品中的每一个物品,基于该物品的位置特征值,所述位置抑制值以及参考区域的尺寸,确定该物品是否位于所述参考区域的兴趣区域内;其中,所述物品的位置特征值包括物品在参考坐标系下的X轴的坐标值以及Y轴的坐标值。
对于步骤S1000,位置抑制相当于基于参考区域的尺寸特征,例如长,宽,高,而对参考区域进行的抑制,以划定与参考区域相关的兴趣区域的数值范围。如果物品的位置位于抑制后的数值范围内,则认为物品在兴趣区域内。位置抑制值则是用于进行位置抑制的数值。在一种实施方式中,假设多个待抓取物品放置在如图17所示的物料框中,且该物料框的长度为L,宽度为W,兴趣区域为物料框的中心区域。则可以利用下面的公式计算物体的位置抑制值:
其中,X
inhibit_ratio为X轴的位置抑制值,Y
inhibit_ratio为Y轴的位置抑制值,A
X为X轴的位置抑制参数,A
Y为Y轴的位置抑制参数,在本实施例中,A
X和A
Y取值越大则表示被认为是中心区域的范围越小。根据实际抓取场景的需要,A
X和A
Y可以任意取值。发明人在图1所示的场景下就A
X和A
Y的取值进行了多次试验,其中效果最好的取值是A
X和A
Y的值均为0.1。
对于步骤S1010,可以采用与步骤S900类似的方式获取物品的位置特征,此处不再赘述。具体采用哪些位置特征值进行计算,则需要根据具体的计算方法来确定。如果某个物品的位置特征为(X
pose,Y
pose,Z
pose),并且使用以公式(1) 和(2)计算获得的位置抑制值来确定物品是否位于兴趣区域内时,则需要使用X
pose和Y
pose这两个位置特征值进行后续的处理。
对于步骤S1020,对于每个待抓取物品,可以通过判断该物品的位置特征值是否满足抑制条件,来确定物品是否位于参考区域的兴趣区域内,而抑制条件与位置抑制值是相关联的。具体地,如果以公式(1)和(2)计算获得的位置抑制值来确定物品是否位于兴趣区域内,则,对于某个待抓取物品,其是否位于兴趣区域内可以采用以下公式进行计算:
B
inner_N=X
condition_N&Y
condition_N (5)
其中,X
condition_N为第N个物体的X坐标值是否满足抑制条件的判断结果,其值为1代表该物品的X坐标值满足抑制条件,反之,则代表不满足;Y
condition_N为第N个物体的Y坐标值是否满足抑制条件的判断结果,与X
condition_N类似
,其值为1则代表该物品的Y坐标值满足抑制条件,反之,则代表不满足;X
pose_N为第N个物体的X坐标值,Y
pose_N为第N个物体的Y坐标值。B
inner_N为第N个物体是否位于兴趣区域内的判断结果,其值为1则代表该物品位于兴趣区域内,反之,则代表该物品位于兴趣区域之外;N为输出的物体位姿的个数;&代表“与运算”,其运算规则为1&1=1,1&0=0,0&1=0,0&0=0。公式(5)的含义是,对于某个物品,只有该物品所在的位置的X坐标值以及Y坐标值都满足相对应的抑制条件时,才认为该物品位于兴趣区域内。
在一种实施方式中,可以将多个物品的X坐标值,Y坐标值否位于兴趣区域内的判断结果组成一个集合后再进行计算,即令X
condition=[X
condition_1,X
condition_2,…,X
condition_N],Y
condition=[Y
condition_1,Y
condition_2,…,Y
condition_N],再依据公式(5)计算B
inner=[B
inner_1,B
inner_2,…,B
inner_N]。举个例子,假设在一次抓取任务中, 有5个物品或者有5个位姿需要抓取,对于这5个物品构成的组合,这五个物品中,第二个物品和第五个物品所在位置的X轴坐标满足抑制条件,且第一个,第二个和第三个物品的Y轴坐标满足抑制条件,则有X
condition=[0,1,0,0,1],Y
condition=[1,1,1,0,0],则根据公式(5)计算可得这个组合的B
inner=[0,1,0,0,0],这表示,这5个物品中,只有第二个物品位于兴趣区域内。
对于步骤S920,如前所述,本实施例中位于兴趣区域内的物品与位于兴趣区域外的物品,其抓取难度完全不同,因而抓取特征值的计算方式也完全不同,抓取特征值的大小反映了抓取的难易程度,本发明中的抓取特征值越大表明抓取越容易。对于任意的待抓取物品来说,可以采用以下公式计算抓取特征值:
R(N)=R
inner_N+R
outer_N (6)
其中,R(N)为第N个待抓取物品的抓取特征值,R
inner_N为该物品的兴趣区域内抓取特征值,R
outer_N为该物品的兴趣区域外抓取特征值。对于R(N)的两个分量,其中R
inner_N按照以下公式进行计算:
R
inner_N=B
inner_N*Z
vector_N (7)
公式(7)中,B
inner_N为第N个待抓取物体是否位于兴趣区域内的判断结果,其计算方式见公式(5);Z
vector_N为第N个待抓取物品的Z轴的朝向特征值,相当于物品的朝向在Z轴上的投影。在一种实施方式中,假设该待抓取物品的旋转矩阵为
则Z
vector_N可以为该旋转矩阵第3行第三列的分量,即为z
3_N。
对于R(N)的另一个分量R
outer_N。应当理解,物体在料框旁边,本质上相当于物体在某个对抓取构成障碍的障碍物旁边,发明人发现现有技术中未曾有人讨论过在执行多物体抓取的任务时,对于多个位于障碍旁边的物品,如何根据物品的位置和朝向来判断物品的抓取难易程度,并确定抓取顺序的方案。为了解决这个问题,发明人开发了一套抓取控制方案,该方案能够依据物品的位置和朝向量化物品的抓取难易程度,专用于抓取能够影响抓取的障碍物旁边的多个待抓取物品,这是本发明的重点之一。
图22示出了根据本发明一个实施例的确定障碍物旁边的待抓取物品的抓取难易程度的方法的流程示意图。如图22所示,该方法至少包括以下步骤:
步骤S1100,获取待抓取物品的位置特征以及朝向特征;
步骤S1110,基于所述位置特征以及朝向特征,计算待抓取物品的朝向抑制值;其中,所述朝向抑制值使得物品的朝向背离障碍物时的抓取特征值大于物品的朝向指向障碍物时的抓取特征值;
步骤S1120,基于所述待抓取物品的所述位置特征,所述朝向特征以及所述朝向抑制值,计算所述待抓取物品的抓取特征值;所述抓取特征值能够用于控制夹具执行对待抓取物品的抓取。
对于步骤S1100,可以采用与步骤S900类似的方式获取待抓取物品的位置特征以及朝向特征,此处不再赘述;
对于步骤S1110,朝向抑制是指对物品朝向特定方向时所获得的朝向特征值进行抑制,朝向抑制可以是,减小该特定方向获得的方向特征值,或者也可以是增大与特定方向不同的其它方向的方向特征值。用于进行朝向抑制的数值称为朝向抑制值。在如图17所示的场景中,朝向抑制值可以采用以下公式进行计算:
X
inhibit_N=Max(sign[X
pose_N*X
vector_N],0)*B
X+C
X (8)
Y
inhibit_N=Max(sign[Y
pose_N*Y
vector_N],0)*B
Y+C
Y (9)
其中,X
inhibit_N为第N个物品的X轴的朝向抑制值;Y
inhibit_N为第N个物品的Y轴的朝向抑制值;Max()为最大值函数,Max(a,b)的取值规则为取a和b中最大的那个值;sign[]为符号函数,仅与“[]”中数值的符号有关,而与取值无关,具体地,当“[]”中的值为负时,其值为-1,当“[]”中的值为正时,其值为1;B
X,B
Y,C
X和C
Y均为抑制幅度调整参数;X
vector_N为第N个待抓取物品的X轴的朝向特征值,相当于物品的朝向在X轴上的投影;Y
vector_N为第N个待抓取物品的Y轴的朝向特征值,相当于物品的朝向在Y轴上的投影。对于第N个待抓取物品,设其旋转矩阵为
则X
vector_N可以为该旋转矩阵第3行第1列的分量,即为X
3_N,而Y
vector_N可以为该旋转矩阵第3行第2列的分量,即为Y
3_N。关于抑制幅度调整参数B
X,B
Y,C
X和C
Y的取值, 设置这几个参数的目的主要是为了调整朝向的抑制幅度,避免朝向抑制值过大或者过小,使得计算得到的抓取特征值过小或者过大,其取值可以根据具体的场景试验得到,例如1,2或3。在如图17所示的场景中,发明人就这4个参数的取值进行了多次试验,得出效果最好的取值为B
X=B
Y=2,C
X=C
Y=1。
对于步骤S1120,在获得X轴和Y轴的朝向抑制值后,可以利用朝向抑制值分别计算X轴和Y轴的抓取特征值。抓取特征值综合考虑了位置特征,朝向特征以及参考区域的特征,并结合朝向抑制值进行计算,在抓取排序中,分值越高则抓取优先级越高,因此抓取特征值的计算方式在综合考虑以上参数的基础上,应当使得朝向越好的物品获得越高的抓取特征值。在一种实施方式中,可以采用如下公式分别计算X轴和Y轴的抓取特征值:
其中,X(N)为第N个待抓取物品的X轴的抓取特征值;Y为第N个待抓取物品的Y轴的抓取特征值;D
X和D
Y为抓取特征值调整参数,这两个参数是为了调整最终计算的抓取特征值的大小,使其处于一个容易理解,且方便处理的区间,类似于将抓取特征值进行归一化处理,例如,可以通过抓取特征值调整参数将抓取特征值控制在[0,2]的区间内。在如图17所示的场景中,发明人就这2个参数的取值进行了多次试验,得出效果最好的取值为D
X=D
Y=-1。在图17所示的场景中,料框壁存在于X轴指向的方向以及Y轴指向的方向,而夹具可以选择这两个方向中任意一个好抓的方向进行抓取,因此物品的综合抓取特征值可以为Max{X(N),Y(N)},即取X(N)和Y(N)中最大的一个值。应当理解,本实施例的方案专用于待抓取物品旁边有障碍物的场景,并不考虑一般的场景。
接下来回到步骤S930,如前所述,待抓取物品可能存在于参考区域的兴趣区域内,也可能存在与参考区域的兴趣区域外。对于某一个待抓取物品,可以基于公式(6)计算其特征值,即分别计算该物品的区域内特征值以及区域外特征值,并将两者相加获得抓取特征值,其中R
inner_N采用公式(7)计算,R
outer_N 可以采用以下公式进行计算:
R
outer_N=B
outer_N*Max{X(N),Y(N)} (12)
B
outer_N=~B
inner_N (13)
其中,“~”为取反运算,其运算规则是~0=1,~1=0,当B
inner为集合时,B
outer也为集合。例如,假设在一次抓取任务中,有5个物品或者有5个位姿需要抓取,对于这5个物品构成的组合,其B
inner=[0,1,0,0,0],则根据公式(13)可得B
outer=[1,0,1,1,1],这表示这五个物品中的第1,3,4,5个都在兴趣区域之外;X(N)为第N个待抓取物品的X轴的抓取特征值,Y(N)为第N个待抓取物品的Y轴的抓取特征值。如图1所示,某个待抓取物体要么位于内圈,要么位于外圈,不可能同时存在于内圈和外圈,体现公式中则是B
outer_N和B
inner_N互相取反,因而在其中一个为0时,另一个必然为1,不可能同时为1。
对于步骤S620,通过以上方式获得的各个特征值的量纲可能不同,例如:掩膜高度值可能是一个长度值,例如-182mm;点云在掩膜内的个数值则是像素点的数量,例如:100个;掩膜对角程度值是一个角度值,例如:45°。不同量纲的数值无法直接放在一起进行计算,需要先对每个特征的取值进行归一化处理。归一化能够将不同的量纲归类到统一的区间中,例如,可以统一将各个特征的特征值归一化至[0,10]这个区间内。在一个具体的实施方式中,假设某个待抓取物品的掩膜高度值为-100mm,另一个待抓取物品的掩膜高度值为-120mm,则可以将-100mm归一化为8,而-120mm归一化为6,即归一化之后的两个待抓取物品的掩膜高度值分别为8和6;再如,某个待抓取物品的掩膜对角程度值为30°,另一个待抓取物品的掩膜对角程度值为15°,则可以将30°归一化为6,15°归一化为3,则归一化之后的两个待抓取物品的掩膜对角程度值分别为7和4。
对于步骤S630,在获得了各个特征的归一化特征值后,可以为每个特征预先设定权值,并基于每个特征的特征值及对应的权值计算每个待抓取物品的优先值P。优先值可以按照下述公式
进行计算,其中P为某个待抓取物品的优先值,n为特征数量,ω
i为第i个特征的权值,X
i为第i个特征的特征值。例如,某次抓取任务需要抓取两个待抓取物品,并且使用了掩膜高度,夹具大小,点云在掩膜内的个数,掩膜对角程度,掩膜压叠程度,掩膜大小,位 姿方向作为特征值,在确定抓取顺序前,预先为各个特征设定权值,例如掩膜高度权值为3,夹具大小权值为1,点云在掩膜内的个数权值为2,掩膜对角程度权值为0,掩膜压叠程度权值为1,掩膜大小权值为2,位姿方向权值为3。接着,获取第一个待抓取物品的各项归一化特征值,例如为:掩膜高度值5,夹具大小值6,点云在掩膜内的个数值4,掩膜对角程度值为9,掩膜压叠程度值为6,掩膜大小值为3,位姿方向值为2,则根据公式计算可得第一个待抓取物品的优先值P
1=3*5+1*6+2*4+0*9+1*6+2*3+3*2=47。然后,获取第二个待抓取物品的各项归一化特征值,例如为:掩膜高度值3,夹具大小值5,点云在掩膜内的个数值2,掩膜对角程度值为2,掩膜压叠程度值为5,掩膜大小值为6,位姿方向值为5,则根据公式计算可得第一个待抓取物品的优先值P
2=3*3+1*5+2*2+0*2+1*5+2*6+3*5=50。由于P
2>P
1,即第二个待抓取物品的抓取优先值高于第一个待抓取物品的优先值,因此,在执行该抓取任务时,将先使用夹具抓取第二个待抓取物品,抓取完毕后,再抓取第一个待抓取物品。
在实际工业场景中,一般会让现场的工作人员为具体的抓取任务设置机器人的各项参数,然而现场工作人员对抓取的原理不熟悉,因此在发现出现问题时,并不清楚问题出现在哪,也不清楚如何修改设置以解决该问题。例如,当抓取多个堆叠在一起的待抓取物品时,出现将物品带飞出框的情形,现场工作人员判断原因出在夹具越过了上层的物品直接抓取了下层的物品,但是他并不能确定为什么机器人会认为下层物品的优先值更高,也不清楚如何设置权值改变机器人的抓取顺序。为了解决该问题,发明人开发出了一套将抓取过程中涉及的图形和参数按照现场工作人员的需要而以可视化的方式展现给现场工作人员进行操作的方法,这也是本发明的重点之一。
图23示出了根据本发明一个实施例的将抓取过程中的图形和参数可视化的方法的流程示意图。如图23所示,该方法包括:
步骤S1200,获取包括一个或多个待抓取物品的图像数据;
步骤S1210,将所述图像数据以及可操作控件输出以形成交互界面,所述控件可供用户操作以选择抓取辅助图像并向用户展示选择的抓取辅助图像;
步骤S1220,响应于用户对所述控件的操作,获取与用户所选择的抓取辅助图像相对应的抓取辅助数据;
步骤S1230,基于获取的所述抓取辅助数据,生成抓取辅助图层;
步骤S1240,将所述抓取辅助图层与包括一个或多个待抓取物品的图像数据组合以生成用户选择的抓取辅助图像。
对于步骤S1200,可以采用与步骤S100类似的方式获取包括一个或多个待抓取物品的图像数据,此处不再赘诉。
对于步骤S1210,可以将拍摄到的图片以及控件输出至显示器上,展示给用户。用户与机器人之间的交互可以采用触摸操作,语音操作,或传统操作设备的方式,例如鼠标,键盘等,进行操作,本发明对此不作限制。交互界面是人和计算机系统进行信息交换的通道,用户通过交互界面向计算机系统输入信息、进行操作,计算机则通过交互界面向用户提供信息,以供阅读、分析和判断,每一个交互界面包含该交互界面提供的信息展示界面以及可由用户操作的控件。用于控制可视化的控件可以整体上与图像展示在一个交互界面上,也可以与图像分成两个界面,并在图像界面上提供转到控件界面的接口,以及在空间界面上提供转到图像界面的接口,当用户操作该接口时,转至控件界面或图像界面。如图24a所示,控件界面可以选择与可视化相关的操作,包括:开启可视化的操作,显示压叠物体轮廓的操作以及可视化属性的操作。其中可视化属性可以包括前述任一实施例中输出的任意参数,图24a中可供选择的可视化属性包括:ALL、按位姿高度显示、按吸盘大小显示、按压叠程度显示、按透明程度显示、按位姿朝向显示。其中ALL指的是总体的评分值,其值可以是步骤S630中输出的优先值。不难看出,其中的位姿朝向,吸盘大小,以及压叠程度都是在确定物品抓取顺序的方案中输出的值。
对于步骤S1220,用户可以根据自己的需要选取感兴趣的值。例如,当用户发现机器人没有按照自己预想的顺序抓取时,可以选择ALL控件以展示各个待抓取物品的抓取优先值以确定实际抓取顺序与自己期望的抓取顺序的差异之处,之后再单独选择特定的可视化属性,以确定究竟是哪些属性影响了抓取顺序。当用户选择了某个可视化选项后,系统会查找并调用相应的数据。作为一个较佳的实施方式,系统响应于用户的选择会获取用户选择的参数以及可抓取区域的掩膜共同作为辅助数据使用,例如,当用户选择了“按吸盘大小显示”,则系统会同时调用步骤S110的执行过程中生成的可抓取区域的掩膜以及步骤S610的执行过程中获取的吸盘大小的值;类似地,当用户选择了“按位姿高度显示”后,则会调用步骤S110的执行过程中生成的可抓取区域的掩膜以及步骤S610 的执行过程中获取的掩膜高度特征值。
对于步骤S1230,将步骤S1220中调用的数据组合生成可供用户查看的可视化图层,以用户选择了“按位姿高度显示”,“按吸盘大小显示”并且抓取辅助数据也包括可抓取区域的掩膜为例:当用户选择了“按位姿高度显示”后,则调用原始图像中的各个待抓取物品的掩膜,以及每个待抓取物品的掩膜高度特征值,并生成将掩膜高度特征值放置在对应的掩膜旁边的图层;当用户选择了“按吸盘大小显示”后,则调用原始图像中的各个待抓取物品的掩膜,以及每个待抓取物品的吸盘大小特征值,并生成将吸盘大小特征值放置在对应的掩膜旁边的图层;
对于步骤S1240,将步骤S1230生成的抓取辅助图层与原始拍摄的图像数据合成,并以可视化的方式展示给用户。可以对步骤S1230中生成的图层进行处理,调整图层的颜色,透明度以及对比度等属性,然后按照从左到右,从上到下的顺序,依次将辅助图像图层中所有的像素点与原始图像数据中所有的像素点组合在一起,从而生成合成后的图像数据。如图24b所示,合成后的图像展示了各个待抓取物品的图像,以及覆盖在待抓取物品之上的可抓取区域的掩膜,以及在掩膜旁展示的用户选择的“位姿高度”值或者“吸盘大小”值。
另外,针对上述实施例中的任一个:
基于抓取特征值的顺序,控制夹具抓取多个待抓取物品时,可以按照顺序依次抓取其中的多个待抓取物品,例如,在一次抓取任务中获得了三个物品的抓取特征值,分别为第一个物品5,第二个物品10,第三个物品15,则可以控制夹具在第一次抓取时抓取第三个物品,在第二次抓取时抓取第二个物品,在第三次抓取时抓取第一个物品;也可以只抓取其中抓取特征值最高的物品,而在下次抓取时重新计算抓取特征值,例如,在一次抓取任务中获得了5个物品的抓取特征值,分别为第一个物品5,第二个物品10,第三个物品15,第四个物品11,第五个物品18,由于第五个物品的抓取特征值最高,则在第一次抓取时控制夹具抓取第五个物品;第二次抓取前,重新获取图像数据,并计算剩下的4个物品的抓取特征值,并抓取其中特征值最高的,依次类推,直至抓取完成。
另外,需要说明的是,虽然本发明的每个实施例都具有特定的特征组合,然而,这些特征在实施例之间的进一步组合和交叉组合也是可行的。
根据上述实施例,首先,本发明基于待抓取物品的可抓取区域的掩膜, 并结合压叠检测,位姿预测,抓取排序等步骤来控制夹具执行对待抓取物品的抓取,对于堆放了多个待抓取物品的密集场景,能够准确地识别每个待抓取物品的抓取方式,并按照特定的顺序有序地抓取全部待抓取物品,与现有的抓取方案相比,可有效避免在密集场景下抓取时,带飞其它物品等情况,提高了抓取的准确率;其次,本发明的抓取排序方法,依据待抓取物品的可抓取区域的掩膜的多个特征进行综合排序,相对于传统的方法,提高了排序的准确度,并且由于并非针对整个物品的特征进行处理,因此即便考虑了多个因素,也不会显著降低运算的速度;再次,本发明中提出了一种仅基于待抓取物品的可抓取区域的图形特征的物品压叠程度计算方法,与传统的计算方法相比,本发明的方法运算速度快,且能够给出具体的压叠值而并非判断物品是否被压叠,虽然准确度较低,但是计算简单快速,并且输出的压叠值本身还可以在其它方面使用,特别适合对运算速度有要求的场景或者依据多个特征进行综合排序的场景;再次,本发明还提出了一种将与本发明的抓取控制方法相关联的参数及图像数据可视化地展示给用户的方法,使得用户在对机器人运行原理不了解的情况下,能够直观地确定机器人执行抓取过程中的各项参数,确定机器人抓取的依据,并进而确定如何对机器人的各项参数进行调整,解决了传统的抓取方案中,用户只能凭着自己的猜测进行参数调整的问题;再次,本发明还能够根据压叠检测的判断结果对待抓取物品的可抓取区域进行过滤,将可能被压叠的物品所对应的可抓取区域剔除,使得夹具不会在该区域抓取物品,由此避免了使用夹具抓取物品时,由于物品被压叠,导致抓取时出现带飞,或者双抓等情况;再次,本发明还提出了基于图像数据处理的压叠检测方法,与现有的压叠检测方法不同,本发明基于物品实例识别,并针对每个识别出的实例确定其压叠概率,无需获取物品的点云数据并对点云数据进行聚类和分析处理,并且运算速度快,泛用性也较好;再次,本发明的抓取控制方案通过提取物品点云中的部分点云,并基于部分点云估计物品的位置特征和旋转特征,从而可以在工业中常见的物体点云质量不佳的情况下,仍能够获取准确的位姿信息;再次,本发明的抓取方案在控制夹具进行抓取时,考虑了待抓取物品的朝向特征,相对于现有的方案,能够更为准确地确定具有不同朝向的物品的抓取难易程度,减少了抓取失败的可能性,特别是在大量物品散乱堆放的工业场景中执行抓取时,现有的方案因为并不考虑物品的朝向特征对抓取的影响导致在这样的场景中使用机器人作业效果不佳,而本发明则能够大大提高这种场景下的机 器人抓取效果;再次,本发明还提出了一种综合考虑物品的朝向特征以及物品的位置特征的抓取控制方案,在抓取时先判断物品是否在容易抓取的区域内,基于与物品是否在该区域内采取不同的抓取方案,使得在某些场景下,例如,大量物品散乱放置在容器内,或者大量物品所在区域有坚固的能够影响抓取的障碍物时,与仅考虑物品朝向特征的方案相比,抓取排序更为准确,进而提高了使用机器人的抓取效果;再次,本发明提出了一种基于数值确定待抓取物品是否位于特定区域的方案,由于预设了位置抑制值,仅需要基于待抓取物品的位置特征值及其与位置抑制值的关系,即可确定该待抓取物品是否位于特定区域内,与现有的基于图像数据分析的方案相比,虽然泛用性较差,但是运算速度大大提高,判断的准确性也较高,并且因为不依赖图像数据,对获取的图像数据的质量也没有要求;再次,本发明还提出了一种专用于大量物品散乱放置在靠近影响抓取的障碍物附近的场景下,对夹具进行控制并执行抓取的方法,该方法通过数值方式,并基于朝向抑制值使得物品在背离障碍物时能够获得高于物品朝向障碍物时的抓取特征值,使得在这种场景下,能够让最容易抓取的物品最先被抓走,从而提高了抓取的效果。
图25示出了根据本发明又一个实施例的抓取控制装置,该装置包括:
图像数据获取模块1300,用于获取包括一个或多个待抓取物品的图像数据,即用于实现步骤S100;
掩膜预测模块1310,用于对所述图像数据进行处理,生成一个或多个待抓取物品的可抓取区域的掩膜,并对所述掩膜进行预处理,即用于实现步骤S110;
压叠检测模块1320,用于检测一个或多个待抓取物品是否存在压叠情况,即用于实现步骤S120;
位姿估计模块1330,用于对一个或多个待抓取物品所在的位置及其姿态进行估计,即用于实现步骤S130;
夹具配置模块1340,用于根据待抓取物品的属性,为待抓取物品配置夹具,使得在抓取待抓取物品时能够使用适于抓取待抓取物品的夹具执行抓取,即用于实现步骤S140;
抓取排序模块1350,用于基于所述一个或多个待抓取物品的抓取特征,确定使用夹具抓取所述一个或多个待抓取物品的顺序的步骤,使得夹具能够按照 所确定的顺序抓取物品,即用于实现步骤S150。
可选的,还可以包括料框参数获取模块,用于对料框数据进行处理以获得料框的参数。待抓取物品通常会堆在箱子中搬运至现场,这种堆积物品的箱子通常称之为料框,在执行抓取时,机械臂或者夹具在运动过程中可能碰到料框,因此料框以及料框中的物品的摆放位置对抓取有重要的影响。作为一个较佳的实施例,可以获取料框的各项参数。如图2所示,可以对料框数据进行处理,提取或生成对抓取有影响的辅助参数,这样的参数包括:料框的高度,料框的宽度,料框的长度,以及对料框的宽度和长度进行分割后获得的网格。应当理解,高度,宽度和长度都是确定的数值,而网格的分割方式及数量则是本领域技术人员根据所使用的夹具,抓取方式以及待抓取物品的特征等实际情况自行分割的,使用网格能够方便地对待抓取物品的位置进行标定。料框数据可以是预设的,或者通过相机采集的。
图26示出了根据本发明又一个实施例的图像数据处理装置,该装置包括:
图像数据获取模块1400,用于获取包括至少一个待抓取物品的图像数据,即用于实现步骤S200;
可抓取区域识别模块1410,用于对所述图像数据进行可抓取区域识别处理,识别图像中的待抓取物品的可抓取区域并生成可抓取区域参考数据,所述可抓取区域参考数据可视化地示出夹具能够抓起待抓取物品的可抓取区域,即用于实现步骤S210;以及
压叠检测模块1420,用于对所述图像数据进行压叠检测处理,预测图像中的每一个待抓取物品是否被压叠,即用于实现步骤S220;
可抓取区域过滤模块1430,用于基于所述压叠检测处理的结果,对所述可抓取区域参考数据进行处理,以在可抓取区域参考数据中剔除因压叠而导致的不可抓取的区域,即用于实现步骤S230。
图27示出了本发明的图像数据处理装置的抓取区域过滤模块的示意图,所述抓取区域过滤模块包括:
中心点确定模块1431,用于确定可抓取区域参考数据的中心点,即用于实现步骤S231;
位置信息获取模块1432,用于获取可抓取区域参考数据中心点的位置 信息,即用于实现步骤S232;
判断模块1433,用于基于所述位置信息判断所述中心点是否位于被检测为压叠的待抓取物品内,即用于实现步骤S233;
删除模块1434,用于当判断模块1433判断结果为是时,删除所述中心点对应的可抓取区域,即用于实现步骤S234。
图28示出了根据本发明又一个实施例的图像数据处理装置,该装置包括:
图像数据获取模块1500,用于获取包括至少一个待抓取物品的图像数据,即用于实现步骤S300;
实例检测模块1510,用于检测所述图像数据中包括的全部待抓取物品的实例,即用于实现步骤S310;
压叠概率预测模块1520,用于对检测出的每一个实例进行处理以对每一个实例的压叠情况进行预测,并输出每个待抓取物品的压叠概率,即用于实现步骤S320;
压叠判断模块1530,用于对于每个待抓取物品,基于该物品的压叠概率以及预设的压叠检测阈值确定该物品是否被压叠,即用于实现步骤S330。
在一种实施方式中,所述装置还包括掩膜生成模块,用于生成至少一个待抓取物品的掩膜。
图29示出了根据本发明又一个实施例的在点云不佳的情况下获取物品的位姿信息的装置,该装置包括:
点云获取模块1600,用于获取待抓取物品的点云,即用于实现步骤S500;
随机采样模块1610,用于对获取的待抓取物品的点云进行随机采样,从中随机采集一定数量的点云,即用于实现步骤S510;
位姿预测模块1620,用于基于所述随机采集的点云,预测所述待抓取物品的位置特征以及旋转特征,即用于实现步骤S520。
图30示出了根据本发明又一个实施例的抓取控制装置,该装置包括:
掩膜获取模块1700,用于获取至少一个待抓取物品的可抓取区域的掩膜,即用于实现步骤S600;
特征值获取模块1710,用于针对至少一个待抓取物品中的每个待抓取 物品,获取其可抓取区域的掩膜的至少一个特征的特征值,即用于实现步骤S610;
特征值归一化模块1720,用于针对获取的所述至少一个特征的特征值中的每一个,执行归一化处理,获得至少一个归一化特征值,即用于实现步骤S620;
优先值计算模块1730,用于基于每个待抓取物品的至少一个归一化特征值以及预设的权值,计算该待抓取物品的抓取优先值,使得在对至少一个待抓取物品进行抓取时,能够根据该抓取优先值控制抓取的顺序,即用于实现步骤S630。
图31示出了根据本发明又一个实施例的图像数据处理装置,该装置包括:
掩膜获取模块1800,用于获取至少一个待抓取物品的可抓取区域的掩膜,即用于实现步骤S700;
掩膜面积计算模块1810,用于对于每个待抓取物品,计算该物品的可抓取区域的掩膜的面积S
1,即用于实现步骤S710;
外接矩形处理模块1820,用于对于每个待抓取物品,生成该物品的可抓取区域的掩膜的外接矩形并计算所述外接矩形的面积S
2,即用于实现步骤S720;
压叠程度计算模块1830,用于对于每个待抓取物品,通过以下公式计算待抓取物品的掩膜压叠程度C:
C=1-S
1/S
2,即用于实现步骤S730。
图32示出了根据本发明又一个实施例的抓取控制装置,该装置包括:
图像数据获取模块1900,用于获取包括至少一个待抓取物品的图像数据,即用于实现步骤S800;
朝向特征获取模块1910,用于对所述图像数据进行处理,以获取待抓取物品的与朝向有关的朝向特征,即用于实现步骤S810;
抓取控制模块1920,用于至少基于所述待抓取物品的朝向特征控制夹具以执行对至少一个待抓取物品的抓取,即用于实现步骤S820。
图33示出了根据本发明又一个实施例的抓取控制装置,该装置包括:
特征获取模块2000,用于获取待抓取物品的位置特征以及朝向特征, 即用于实现步骤S900;
位置关系确定模块2010,用于基于所述位置特征,确定待抓取物品的位置与待抓取物品所在参考区域的兴趣区域的关系,即用于实现步骤S910;
抓取特征值确定模块2020,用于基于所述待抓取物品的位置与所述兴趣区域的关系,以及所述待抓取物品的朝向特征,确定抓取特征值;所述抓取特征值能够用于控制夹具执行对待抓取物品的抓取,即用于实现步骤S920。
图34示出了根据本发明又一个实施例的物品位置确定装置,该装置包括:
位置抑制值确定模块2100,用于基于参考区域的特征计算物品的位置抑制值,所述位置抑制值的大小与物品所在参考区域的兴趣区域的大小相关,即用于实现步骤S1000;
位置特征值确定模块2110,用于获取多个物品中的每一个物品的位置特征值,即用于实现步骤S1010;
位置确定模块2120,用于对于多个物品中的每一个物品,基于该物品的位置特征值,所述位置抑制值以及参考区域的尺寸,确定该物品是否位于所述参考区域的兴趣区域内;其中,所述物品的位置特征值包括物品在参考坐标系下的X轴的坐标值以及Y轴的坐标值,即用于实现步骤S1020。
图35示出了根据本发明又一个实施例的抓取控制装置,该装置包括:
特征获取模块2200,用于获取待抓取物品的位置特征以及朝向特征,即用于实现步骤S1100;
朝向抑制值确定模块2210,用于基于所述位置特征以及朝向特征,确定待抓取物品的朝向抑制值;其中,所述朝向抑制值使得在物品的朝向背离障碍物时的抓取特征值大于在物品的朝向指向障碍物时的抓取特征值,即用于实现步骤S1110;
抓取特征值确定模块2220,用于基于所述待抓取物品的所述位置特征,所述朝向特征以及所述朝向抑制值,确定所述待抓取物品的抓取特征值;所述抓取特征值能够用于控制夹具执行对待抓取物品的抓取,即用于实现步骤S1120。
图36示出了根据本发明又一个实施例的图像数据处理装置,该装置包括:
图像数据获取模块2300,用于获取包括一个或多个待抓取物品的图像 数据,即用于实现步骤S1200;
交互界面展示模块2310,用于将所述图像数据以及可操作控件输出以形成交互界面,所述控件可供用户操作以选择抓取辅助图像并向用户展示选择的抓取辅助图像,即用于实现步骤S1210;
辅助数据获取模块2320,用于响应于用户对所述控件的操作,获取与用户所选择的抓取辅助图像相对应的抓取辅助数据,即用于实现步骤S1220;
辅助图层生成模块2330,用于基于获取的所述抓取辅助数据,生成抓取辅助图层,即用于实现步骤S1230;
辅助图像生成模块2340,用于将所述抓取辅助图层与包括一个或多个待抓取物品的图像数据组合以生成用户选择的抓取辅助图像,即用于实现步骤S1240。
应当理解,在上述由图25-图36所示的装置实施例中,仅描述了模块的主要功能,各个模块的全部功能与方法实施例中相应步骤相对应,各个模块的工作原理同样可以参照方法实施例中相应步骤的描述。例如,上述实施例中辅助图像生成模块2340用于实现步骤S1240的方法,表明用于描述和解释步骤S1240的内容也是用于描述和解释辅助图像生成模块2340的功能的内容。另外,虽然上述实施例中限定了功能模块的功能与方法的对应关系,然而本领域技术人员能够理解,功能模块的功能并不局限于上述对应关系,即特定的功能模块还能够实现其他方法步骤或方法步骤的一部分。例如,上述实施例描述了辅助图像生成模块2340用于实现步骤S1240的方法,然而根据实际情况的需要,辅助图像生成模块2340也可以用于实现步骤S1200、S1210、S1220或S1230的方法或方法的一部分。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施方式的方法。需要指出的是,本申请实施方式的计算机可读存储介质存储的计算机程序可以被电子设备的处理器执行,此外,计算机可读存储介质可以是内置在电子设备中的存储介质,也可以是能够插拔地插接在电子设备的存储介质,因此,本申请实施方式的计算机可读存储介质具有较高的灵活性和可靠性。
图37示出了根据本发明实施例的一种电子设备的结构示意图,电子设备可以是汽车中配置的控制系统/电子系统、移动终端(例如,智能移动电话等)、 个人计算机(PC,例如,台式计算机或者笔记型计算机等)、平板电脑以及服务器等,本发明具体实施例并不对电子设备的具体实现做限定。
如图37所示,该电子设备可以包括:处理器(processor)2402、通信接口(Communications Interface)2404、存储器(memory)2406、以及通信总线2408。
其中:
处理器2402、通信接口2404、以及存储器2406通过通信总线2408完成相互间的通信。
通信接口2404,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器2402,用于执行程序2410,具体可以执行上述方法实施例中的相关步骤。
具体地,程序2410可以包括程序代码,该程序代码包括计算机操作指令。
处理器2402可能是中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器2406,用于存放程序2410。存储器2406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序2410可以通过通信接口2404从网络上被下载及安装,和/或从可拆卸介质被安装。在该程序被处理器2402执行时,可以使得处理器2402执行上述方法实施例中的各项操作。
概括地说,本发明的发明内容包括:
一种抓取控制方法,所述控制方法至少包括以下步骤:
获取包括一个或多个待抓取物品的图像数据的步骤;
对所述图像数据进行处理,生成一个或多个待抓取物品的可抓取区域的掩膜,并对所述掩膜进行预处理的步骤;
检测一个或多个待抓取物品是否存在压叠情况的步骤;
对一个或多个待抓取物品所在的位置及其姿态进行估计的步骤;
根据待抓取物品的属性,为待抓取物品配置夹具的步骤,使得在抓取待抓取物品时能够使用适于抓取待抓取物品的夹具执行抓取;
基于所述一个或多个待抓取物品的抓取特征,确定使用夹具抓取所述一个或多个待抓取物品的顺序的步骤,使得夹具能够按照所确定的顺序抓取物品。
可选的,所述方法还包括对料框数据进行处理以获得料框的参数的步骤。
可选的,所述对所述掩膜进行预处理包括:掩膜膨胀、基于预设的掩膜最小面积对掩膜进行的预处理、和/或基于预设的掩膜中最少点云个数对掩膜进行的预处理。
可选的,所述检测一个或多个待抓取物品是否存在压叠情况的步骤还包括:根据预先设定的压叠检测的最大数量,输出压叠检测的结果。
可选的,所述对一个或多个待抓取物品所在的位置及其姿态进行估计的步骤还包括:根据预先设定的最大估计数量,输出估计的结果。
可选的,所述物品的属性包括物品掩膜的图像属性。
一种抓取控制装置,包括:
图像数据获取模块,用于获取包括一个或多个待抓取物品的图像数据;
掩膜预测模块,用于对所述图像数据进行处理,生成一个或多个待抓取物品的可抓取区域的掩膜,并对所述掩膜进行预处理;
压叠检测模块,用于检测一个或多个待抓取物品是否存在压叠情况;
位姿估计模块,用于对一个或多个待抓取物品所在的位置及其姿态进行估计;
夹具配置模块,用于根据待抓取物品的属性,为待抓取物品配置夹具,使得在抓取待抓取物品时能够使用适于抓取待抓取物品的夹具执行抓取;
抓取排序模块,用于基于所述一个或多个待抓取物品的抓取特征,确定使用夹具抓取所述一个或多个待抓取物品的顺序的步骤,使得夹具能够按照所确定的顺序抓取物品。
可选的,该装置还包括:料框参数获取模块,用于对料框数据进行处理以获得料框的参数。
可选的,所述对所述掩膜进行预处理包括:掩膜膨胀、基于预设的掩膜最小面积对掩膜进行的预处理、和/或基于预设的掩膜中最少点云个数对掩膜进行的预处理。
可选的,所述压叠检测模块还用于:根据预先设定的压叠检测的最大数量,输出压叠检测的结果。
可选的,所述位姿估计模块还用于:根据预先设定的最大估计数量,输出估计的结果。
可选的,所述物品的属性包括物品掩膜的图像属性。
一种抓取控制方法,包括:
获取至少一个待抓取物品的可抓取区域的掩膜;
针对至少一个待抓取物品中的每个待抓取物品,获取其可抓取区域的掩膜的至少一个特征的特征值;
针对获取的所述至少一个特征的特征值中的每一个,执行归一化处理,获得至少一个归一化特征值;
基于每个待抓取物品的至少一个归一化特征值以及预设的权值,计算该待抓取物品的抓取优先值,使得在对至少一个待抓取物品进行抓取时,能够根据该抓取优先值控制抓取的顺序。
可选的,所述可抓取区域的掩膜的特征包括:掩膜高度,夹具大小,点云在掩膜内的个数,掩膜对角程度,掩膜压叠程度,掩膜大小和/或位姿方向。
可选的,基于可抓取区域的深度值计算可抓取区域的掩膜的掩膜高度特征值。
可选的,基于预设的夹具与夹具大小之间的映射关系,确定夹具大小。
可选的,基于掩膜的外接矩形的对角线与外接矩形一边的夹角,确定掩膜对角程度。
可选的,按照下述公式计算优先值:
其中,P为待抓取物品的优先值,n为特征数量,ω
i为第i个特征的权值,Xi为第i个特征的特征值。
一种抓取控制装置,包括:
掩膜获取模块,用于获取至少一个待抓取物品的可抓取区域的掩膜;
特征值获取模块,用于针对至少一个待抓取物品中的每个待抓取物品,获取其可抓取区域的掩膜的至少一个特征的特征值;
特征值归一化模块,用于针对获取的所述至少一个特征的特征值中的每一个,执行归一化处理,获得至少一个归一化特征值;
优先值计算模块,用于基于每个待抓取物品的至少一个归一化特征值以及预设的权值,计算该待抓取物品的抓取优先值,使得在对至少一个待抓取物品进行抓取时,能够根据该抓取优先值控制抓取的顺序。
可选的,所述可抓取区域的掩膜的特征包括:掩膜高度,夹具大小,点云在掩膜内的个数,掩膜对角程度,掩膜压叠程度,掩膜大小和/或位姿方向。
可选的,基于可抓取区域的深度值计算可抓取区域的掩膜的掩膜高度特征值。
可选的,基于预设的夹具与夹具大小之间的映射关系,确定夹具大小。
可选的,基于掩膜的外接矩形的对角线与外接矩形一边的夹角,确定掩膜对角程度。
可选的,所述优先值计算模块按照下述公式计算优先值:
其中,P为待抓取物品的优先值,n为特征数量,ω
i为第i个特征的权值,Xi为第i个特征的特征值。
一种图像数据处理方法,包括:
获取至少一个待抓取物品的可抓取区域的掩膜;
对于每个待抓取物品,计算该物品的可抓取区域的掩膜的面积S1;
对于每个待抓取物品,生成该物品的可抓取区域的掩膜的外接矩形并计算所述外接矩形的面积S2;
对于每个待抓取物品,通过以下公式计算待抓取物品的掩膜压叠程度C:
C=1-S1/S2;
其中,所述掩膜压叠程度C能够用于确定待抓取物品的抓取顺序以控制夹具对待抓取物品进行抓取操作。
可选的,基于几何学的方法计算所述掩膜的面积和/或外接矩形的面积。
可选的,基于所述掩膜包含的像素点计算所述掩膜的面积,和/或基于所述外接矩形包含的像素点计算所述外接矩形的面积。
可选的,所述生成该物品的可抓取区域的掩膜的外接矩形包括:获取所述掩膜的每一个像素点的X坐标值和Y坐标值,基于其中最小的X值,最小的Y值,最大的X值以及最大的Y值计算所述外接矩形。
一种图像数据处理装置,包括:
掩膜获取模块,用于获取至少一个待抓取物品的可抓取区域的掩膜;
掩膜面积计算模块,用于对于每个待抓取物品,计算该物品的可抓取区域的掩膜的面积S1;
外接矩形处理模块,用于对于每个待抓取物品,生成该物品的可抓取区域的掩膜的外接矩形并计算所述外接矩形的面积S2;
压叠程度计算模块,用于对于每个待抓取物品,通过以下公式计算待抓取物品的掩膜压叠程度C:
C=1-S1/S2;
其中,所述掩膜压叠程度C能够用于确定待抓取物品的抓取顺序以控制夹具对待抓取物品进行抓取操作。
可选的,基于几何学的方法计算所述掩膜的面积和/或外接矩形的面积。
可选的,基于所述掩膜包含的像素点计算所述掩膜的面积,和/或基于所述外接矩形包含的像素点计算所述外接矩形的面积。
可选的,所述外接矩形处理模块还用于:获取所述掩膜的每一个像素点的X坐标值和Y坐标值,基于其中最小的X值,最小的Y值,最大的X值以及最大的Y值计算所述外接矩形。
一种图像数据处理方法,包括:
获取包括一个或多个待抓取物品的图像数据;
将所述图像数据以及可操作控件输出以形成交互界面,所述控件可供用户操作以选择抓取辅助图像并向用户展示选择的抓取辅助图像;
响应于用户对所述控件的操作,获取与用户所选择的抓取辅助图像相对应的抓取辅助数据;
基于获取的所述抓取辅助数据,生成抓取辅助图层;
将所述抓取辅助图层与包括一个或多个待抓取物品的图像数据组合以生成用户选择的抓取辅助图像。
可选的,所述图像数据与可操作控件在同一个交互界面内。
可选的,所述图像数据与可操作控件在不同交互界面内。
可选的,所述不同交互界面响应于用户的操作而进行切换。
可选的,所述抓取辅助数据包括:与用户所选的抓取辅助图像相关联的数值以及所述待抓取物品的可抓取区域的掩膜。
可选的,所述将所述抓取辅助图层与包括一个或多个待抓取物品的图像数据组合包括:调整所述抓取辅助图层的颜色、透明度和/或对比度之后,再将调整后的抓取辅助图层与包括一个或多个待抓取物品的图像数据组合。
一种图像数据处理装置,包括:
图像数据获取模块,用于获取包括一个或多个待抓取物品的图像数据;
交互界面展示模块,用于将所述图像数据以及可操作控件输出以形成交互界面,所述控件可供用户操作以选择抓取辅助图像并向用户展示选择的抓取辅助图像;
辅助数据获取模块,用于响应于用户对所述控件的操作,获取与用户所选择的抓取辅助图像相对应的抓取辅助数据;
辅助图层生成模块,用于基于获取的所述抓取辅助数据,生成抓取辅助图层;
辅助图像生成模块,用于将所述抓取辅助图层与包括一个或多个待抓取物品的图像数据组合以生成用户选择的抓取辅助图像。
可选的,所述图像数据与可操作控件在同一个交互界面内。
可选的,所述图像数据与可操作控件在不同交互界面内。
可选的,所述不同交互界面响应于用户的操作而进行切换。
可选的,所述抓取辅助数据包括:与用户所选的抓取辅助图像相关联的数值以及所述待抓取物品的可抓取区域的掩膜。
可选的,所述辅助图像生成模块还用于:调整所述抓取辅助图层的颜色、透明度和/或对比度之后,再将调整后的抓取辅助图层与包括一个或多个待抓取物品的图像数据组合。
一种抓取控制方法,包括:
获取包括至少一个待抓取物品的图像数据;
对所述图像数据进行处理,以获取待抓取物品的与朝向有关的朝向特征;
至少基于所述待抓取物品的朝向特征控制夹具以执行对至少一个待抓取物品的抓取。
可选的,所述至少一个待抓取物品包括所述至少一个待抓取物品的可抓取区域。
可选的,所述控制夹具以执行对至少一个待抓取物品的抓取包括确定至少一个待抓取物品的抓取顺序,并控制夹具按照抓取顺序执行对至少一个待抓取物品的抓取。
可选的,对所述图像数据进行处理,以获取至少一个待抓取物品的与位置有关的位置特征,以及,至少基于所述待抓取物品的朝向特征以及位置特征控制夹具以执行对至少一个待抓取物品的抓取。
可选的,所述朝向特征基于待抓取物品的旋转矩阵获取。
可选的,所述旋转矩阵的基准朝向为所述待抓取物品的可抓取区域垂直于Z轴时的朝向。
可选的,所述旋转矩阵为基于欧拉角的旋转矩阵。
一种抓取控制装置,包括:
图像数据获取模块,用于获取包括至少一个待抓取物品的图像数据;
朝向特征获取模块,用于对所述图像数据进行处理,以获取待抓取物品的与朝向有关的朝向特征;
抓取控制模块,用于至少基于所述待抓取物品的朝向特征控制夹具以执行对至少一个待抓取物品的抓取。
可选的,所述至少一个待抓取物品包括所述至少一个待抓取物品的可抓取区域。
可选的,所述抓取控制模块具体用于确定至少一个待抓取物品的抓取顺序,并控制夹具按照抓取顺序执行对至少一个待抓取物品的抓取。
可选的,还包括:位置特征获取模块,用于对所述图像数据进行处理,以获取至少一个待抓取物品的与位置有关的位置特征;所述抓取控制模块用于至少基于所述待抓取物品的朝向特征以及位置特征控制夹具以执行对至少一个待 抓取物品的抓取。
可选的,所述朝向特征基于待抓取物品的旋转矩阵获取。
可选的,所述旋转矩阵的基准朝向为所述待抓取物品的可抓取区域垂直于Z轴时的朝向。
可选的,所述旋转矩阵为基于欧拉角的旋转矩阵。
一种抓取控制方法,包括:
获取待抓取物品的位置特征以及朝向特征;
基于所述位置特征,确定待抓取物品的位置与待抓取物品所在参考区域的兴趣区域的关系;
基于所述待抓取物品的位置与所述兴趣区域的关系,以及所述待抓取物品的朝向特征,确定抓取特征值;所述抓取特征值能够用于控制夹具执行对待抓取物品的抓取。
可选的,所述位置特征包括待抓取物体在参考坐标系下的坐标。
可选的,所述参考坐标系包括相机坐标系。
可选的,所述抓取特征值能够用于控制夹具执行对待抓取物品的抓取包括:将多个待抓取物品的抓取特征值排序,并按照排序结果控制夹具执行抓取。
可选的,位于所述兴趣区域内的待抓取物品的抓取特征值确定方法与位于所述兴趣区域外的待抓取物品的抓取特征值确定方法不同。
一种抓取控制装置,包括:
特征获取模块,用于获取待抓取物品的位置特征以及朝向特征;
位置关系确定模块,用于基于所述位置特征,确定待抓取物品的位置与待抓取物品所在参考区域的兴趣区域的关系;
抓取特征值确定模块,用于基于所述待抓取物品的位置与所述兴趣区域的关系,以及所述待抓取物品的朝向特征,确定抓取特征值;所述抓取特征值能够用于控制夹具执行对待抓取物品的抓取。
可选的,所述位置特征包括待抓取物体在参考坐标系下的坐标。
可选的,所述参考坐标系包括相机坐标系。
可选的,所述抓取特征值能够用于控制夹具执行对待抓取物品的抓取包括:将多个待抓取物品的抓取特征值排序,并按照排序结果控制夹具执行抓取。
可选的,位于所述兴趣区域内的待抓取物品的抓取特征值确定方法与 位于所述兴趣区域外的待抓取物品的抓取特征值确定方法不同。
一种物品位置确定方法,包括:
基于参考区域的特征计算物品的位置抑制值,所述位置抑制值的大小与物品所在参考区域的兴趣区域的大小相关;
获取多个物品中的每一个物品的位置特征值;
对于多个物品中的每一个物品,基于该物品的位置特征值,所述位置抑制值以及参考区域的尺寸,确定该物品是否位于所述参考区域的兴趣区域内;其中,所述物品的位置特征值包括物品在参考坐标系下的X轴的坐标值以及Y轴的坐标值。
可选的,所述兴趣区域的范围随着所述位置抑制值的增大而增大。
可选的,当待抓取物品X轴的坐标值以及Y轴的坐标值均满足抑制条件时,确定该待抓取物品位于兴趣区域内,其中,所述抑制条件与所述位置抑制值相关。
可选的,将多个待抓取物品的X轴的坐标值是否满足抑制条件的判断结果组成集合,以及将多个待抓取物品的Y轴的坐标值是否满足抑制条件的判断结果组成集合,并基于两个集合确定多个待抓取物品中的每一个是否位于兴趣区域内。
一种物品位置确定装置,包括:
位置抑制值确定模块,用于基于参考区域的特征计算物品的位置抑制值,所述位置抑制值的大小与物品所在参考区域的兴趣区域的大小相关;
位置特征值确定模块,用于获取多个物品中的每一个物品的位置特征值;
位置确定模块,用于对于多个物品中的每一个物品,基于该物品的位置特征值,所述位置抑制值以及参考区域的尺寸,确定该物品是否位于所述参考区域的兴趣区域内;其中,所述物品的位置特征值包括物品在参考坐标系下的X轴的坐标值以及Y轴的坐标值。
可选的,所述兴趣区域的范围随着所述位置抑制值的增大而增大。
可选的,当待抓取物品X轴的坐标值以及Y轴的坐标值均满足抑制条件时,确定该待抓取物品位于兴趣区域内,其中,所述抑制条件与所述位置抑制值相关。
可选的,将多个待抓取物品的X轴的坐标值是否满足抑制条件的判断结果组成集合,以及将多个待抓取物品的Y轴的坐标值是否满足抑制条件的判断结果组成集合,并基于两个集合确定多个待抓取物品中的每一个是否位于兴趣区域内。
一种抓取控制方法,包括:
获取待抓取物品的位置特征以及朝向特征;
基于所述位置特征以及朝向特征,确定待抓取物品的朝向抑制值;其中,所述朝向抑制值使得在物品的朝向背离障碍物时的抓取特征值大于在物品的朝向指向障碍物时的抓取特征值;
基于所述待抓取物品的所述位置特征,所述朝向特征以及所述朝向抑制值,确定所述待抓取物品的抓取特征值;所述抓取特征值能够用于控制夹具执行对待抓取物品的抓取。
可选的,在物品的朝向背离障碍物时的朝向抑制值大于在物品的朝向指向障碍物时的朝向抑制值。
可选的,所述确定所述待抓取物品的抓取特征值包括:分别计算待抓取物品的X轴的抓取特征值以及Y轴的抓取特征值,并将其中较大的一个作为物品的抓取特征值。
可选的,对所述朝向抑制值和/或抓取特征值进行缩放处理。
一种抓取控制装置,包括:
特征获取模块,用于获取待抓取物品的位置特征以及朝向特征;
朝向抑制值确定模块,用于基于所述位置特征以及朝向特征,确定待抓取物品的朝向抑制值;其中,所述朝向抑制值使得在物品的朝向背离障碍物时的抓取特征值大于在物品的朝向指向障碍物时的抓取特征值;
抓取特征值确定模块,用于基于所述待抓取物品的所述位置特征,所述朝向特征以及所述朝向抑制值,确定所述待抓取物品的抓取特征值;所述抓取特征值能够用于控制夹具执行对待抓取物品的抓取。
可选的,在物品的朝向背离障碍物时的朝向抑制值大于在物品的朝向指向障碍物时的朝向抑制值。
可选的,所述确定所述待抓取物品的抓取特征值包括:分别计算待抓取物品的X轴的抓取特征值以及Y轴的抓取特征值,并将其中较大的一个作为 物品的抓取特征值。
可选的,对所述朝向抑制值和/或抓取特征值进行缩放处理。
一种图像数据处理方法,包括:
获取包括至少一个待抓取物品的图像数据;
对所述图像数据进行可抓取区域识别处理,识别图像中的待抓取物品的可抓取区域并生成可抓取区域参考数据,所述可抓取区域参考数据可视化地示出夹具能够抓起待抓取物品的可抓取区域;以及
对所述图像数据进行压叠检测处理,预测图像中的每一个待抓取物品是否被压叠;
基于所述压叠检测处理的结果,对所述可抓取区域参考数据进行处理,以在可抓取区域参考数据中剔除因压叠而导致的不可抓取的区域。
可选的,所述识别图像中的待抓取物品的可抓取区域,包括:基于所述图像的像素点特征识别待抓取物品的可抓取区域。
可选的,所述可抓取区域识别处理与所述压叠检测处理并行执行。
可选的,基于深度学习网络执行可抓取区域识别处理和/或所述压叠检测处理。
可选的,基于所述可抓取区域参考数据的中点以及待抓取物品的压叠情况,剔除因压叠而导致的不可抓取的区域。
可选的,基于所述可抓取区域参考数据的外接矩形,获取所述可抓取区域参考数据的中点。
可选的,所述基于所述可抓取区域参考数据的中点以及待抓取物品的压叠情况,剔除因压叠而导致的不可抓取的区域,具体包括:
确定可抓取区域参考数据的中心点;
获取可抓取区域参考数据中心点的位置信息;
基于所述位置信息判断所述中心点是否位于被检测为压叠的待抓取物品内;
当判断结果为是时,删除所述中心点对应的可抓取区域。
可选的,所述可抓取区域参考数据包括可抓取区域掩膜。
一种图像数据处理装置,包括:
图像数据获取模块,用于获取包括至少一个待抓取物品的图像数据;
可抓取区域识别模块,用于对所述图像数据进行可抓取区域识别处理,识别图像中的待抓取物品的可抓取区域并生成可抓取区域参考数据,所述可抓取区域参考数据可视化地示出夹具能够抓起待抓取物品的可抓取区域;以及
压叠检测模块,用于对所述图像数据进行压叠检测处理,预测图像中的每一个待抓取物品是否被压叠;
可抓取区域过滤模块,用于基于所述压叠检测处理的结果,对所述可抓取区域参考数据进行处理,以在可抓取区域参考数据中剔除因压叠而导致的不可抓取的区域。
可选的,所述识别图像中的待抓取物品的可抓取区域,包括:基于所述图像的像素点特征识别待抓取物品的可抓取区域。
可选的,所述可抓取区域处理模块与压叠检测模块并行对图像数据进行处理。
可选的,所述可抓取区域识别模块和/或所述压叠检测模块基于深度学习网络对图像数据进行处理。
可选的,所述可抓取区域过滤模块基于所述可抓取区域参考数据的中点以及待抓取物品的压叠情况,剔除因压叠而导致的不可抓取的区域。
可选的,基于所述可抓取区域参考数据的外接矩形,获取所述可抓取区域参考数据的中点。
可选的,可抓取区域过滤模块具体包括:
中心点确定模块,用于确定可抓取区域参考数据的中心点;
位置信息获取模块,用于获取可抓取区域参考数据中心点的位置信息;
判断模块,用于基于所述位置信息判断所述中心点是否位于被检测为压叠的待抓取物品内;
删除模块,用于当判断模块判断结果为是时,删除所述中心点对应的可抓取区域。
可选的,所述可抓取区域参考数据包括可抓取区域掩膜。
一种图像数据处理方法,包括:
获取包括至少一个待抓取物品的图像数据;
检测所述图像数据中包括的全部待抓取物品的实例;
对检测出的每一个实例进行处理以对每一个实例的压叠情况进行预 测,并输出每个待抓取物品的压叠概率;
对于每个待抓取物品,基于该物品的压叠概率以及预设的压叠检测阈值确定该物品是否被压叠。
可选的,还包括:生成至少一个待抓取物品的掩膜。
可选的,压叠物品的掩膜与未被压叠物品的掩膜具有不同的图形特征。
可选的,基于深度学习网络检测待抓取物品的实例并确定待抓取物品是否被压叠。
可选的,所述待抓取物品的压叠概率包括待抓取物品的压叠置信度。
可选的,所述深度学习网络基于物品的关键点来识别物品。
可选的,所述物品的关键点包括物品的中心点。
可选的,所述深度学习网络包括用于识别物品的组件以及用于生成物品掩膜的组件。
一种图像数据处理装置,包括:
图像数据获取模块,用于获取包括至少一个待抓取物品的图像数据;
实例检测模块,用于检测所述图像数据中包括的全部待抓取物品的实例;
压叠概率预测模块,用于对检测出的每一个实例进行处理以对每一个实例的压叠情况进行预测,并输出每个待抓取物品的压叠概率;
压叠判断模块,用于对于每个待抓取物品,基于该物品的压叠概率以及预设的压叠检测阈值确定该物品是否被压叠。
可选的,还包括:掩膜生成模块,用于生成至少一个待抓取物品的掩膜。
可选的,压叠物品的掩膜与未被压叠物品的掩膜具有不同的图形特征。
可选的,所述实例检测模块,压叠概率预测模块以及压叠判断模块,基于深度学习网络实现。
可选的,所述待抓取物品的压叠概率包括待抓取物品的压叠置信度。
可选的,所述深度学习网络基于物品的关键点来识别物品。
可选的,所述物品的关键点包括物品的中心点。
可选的,所述深度学习网络包括用于识别物品的组件以及用于生成物品掩膜的组件。
一种图像数据处理方法,包括:
获取待抓取物品的点云;
对获取的待抓取物品的点云进行随机采样,从中随机采集一定数量的点云;
基于所述随机采集的点云,预测所述待抓取物品的位置特征以及旋转特征。
可选的,所述待抓取物品包括待抓取物品的可抓取区域。
可选的,所述对获取的待抓取物品的点云进行随机采样包括对获取的待抓取物品的点云进行至少两次随机采样。
可选的,所述位置特征包括平移参数,和/或所述旋转特征包括欧拉角和/或旋转向量四元数。
可选的,基于深度学习网络执行点云的随机采样以及预测待抓取物品的位置特征以及旋转特征。
可选的,所述深度学习网络还包括线性修正组件和/或批标准化组件。
可选的,在对所述深度学习网络进行训练时,对训练用的点云进行随机抖动、平移,并对随机抖动、平移后的点云进行碰撞检测。
可选的,基于待抓取物品的位置特征及旋转特征预测机器人末端执行器执行抓取时的位姿。
可选的,比较机器人末端执行器点云的位姿,与深度学习网络预测的末端执行器的位姿之间的误差,并基于所述误差更新所述深度学习网络。
一种图像数据处理装置,包括:
点云获取模块,用于获取待抓取物品的点云;
随机采样模块,用于对获取的待抓取物品的点云进行随机采样,从中随机采集一定数量的点云;
位姿预测模块,用于基于所述随机采集的点云,预测所述待抓取物品的位置特征以及旋转特征。
可选的,所述待抓取物品包括待抓取物品的可抓取区域。
可选的,所述对获取的待抓取物品的点云进行随机采样包括对获取的待抓取物品的点云进行至少两次随机采样。
可选的,所述位置特征包括平移参数,和/或所述旋转特征包括欧拉角 和/或旋转向量四元数。
可选的,所述随机采样模块和所述位姿预测模块基于深度学习网络实现。
在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是 其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
应当理解,本申请的实施方式的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请的各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施方式进行变化、修改、替换和变型
Claims (152)
- 一种抓取控制方法,其特征在于,所述控制方法至少包括以下步骤:获取包括一个或多个待抓取物品的图像数据的步骤;对所述图像数据进行处理,生成一个或多个待抓取物品的可抓取区域的掩膜,并对所述掩膜进行预处理的步骤;检测一个或多个待抓取物品是否存在压叠情况的步骤;对一个或多个待抓取物品所在的位置及其姿态进行估计的步骤;根据待抓取物品的属性,为待抓取物品配置夹具的步骤,使得在抓取待抓取物品时能够使用适于抓取待抓取物品的夹具执行抓取;基于所述一个或多个待抓取物品的抓取特征,确定使用夹具抓取所述一个或多个待抓取物品的顺序的步骤,使得夹具能够按照所确定的顺序抓取物品。
- 根据权利要求1所述的抓取控制方法,其特征在于,所述方法还包括对料框数据进行处理以获得料框的参数的步骤。
- 根据权利要求1或2所述的抓取控制方法,其特征在于,所述对所述掩膜进行预处理包括:掩膜膨胀、基于预设的掩膜最小面积对掩膜进行的预处理、和/或基于预设的掩膜中最少点云个数对掩膜进行的预处理。
- 根据权利要求1或2所述的抓取控制方法,其特征在于,所述检测一个或多个待抓取物品是否存在压叠情况的步骤还包括:根据预先设定的压叠检测的最大数量,输出压叠检测的结果。
- 根据权利要求1或2所述的抓取控制方法,其特征在于,所述对一个或多个待抓取物品所在的位置及其姿态进行估计的步骤还包括:根据预先设定的最大估计数量,输出估计的结果。
- 根据权利要求1或2所述的抓取控制方法,其特征在于,所述物品的属 性包括物品掩膜的图像属性。
- 一种抓取控制装置,其特征在于,包括:图像数据获取模块,用于获取包括一个或多个待抓取物品的图像数据;掩膜预测模块,用于对所述图像数据进行处理,生成一个或多个待抓取物品的可抓取区域的掩膜,并对所述掩膜进行预处理;压叠检测模块,用于检测一个或多个待抓取物品是否存在压叠情况;位姿估计模块,用于对一个或多个待抓取物品所在的位置及其姿态进行估计;夹具配置模块,用于根据待抓取物品的属性,为待抓取物品配置夹具,使得在抓取待抓取物品时能够使用适于抓取待抓取物品的夹具执行抓取;抓取排序模块,用于基于所述一个或多个待抓取物品的抓取特征,确定使用夹具抓取所述一个或多个待抓取物品的顺序的步骤,使得夹具能够按照所确定的顺序抓取物品。
- 根据权利要求7所述的抓取控制装置,其特征在于,还包括:料框参数获取模块,用于对料框数据进行处理以获得料框的参数。
- 根据权利要求7或8所述的抓取控制装置,其特征在于,所述对所述掩膜进行预处理包括:掩膜膨胀、基于预设的掩膜最小面积对掩膜进行的预处理、和/或基于预设的掩膜中最少点云个数对掩膜进行的预处理。
- 根据权利要求7或8所述的抓取控制装置,其特征在于,所述压叠检测模块还用于:根据预先设定的压叠检测的最大数量,输出压叠检测的结果。
- 根据权利要求7或8所述的抓取控制装置,其特征在于,所述位姿估计模块还用于:根据预先设定的最大估计数量,输出估计的结果。
- 根据权利要求7或8所述的抓取控制装置,其特征在于,所述物品的属性包括物品掩膜的图像属性。
- 一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的抓取控制方法。
- 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的抓取控制方法。
- 一种图像数据处理方法,其特征在于,包括:获取包括一个或多个待抓取物品的图像数据;将所述图像数据以及可操作控件输出以形成交互界面,所述控件可供用户操作以选择抓取辅助图像并向用户展示选择的抓取辅助图像;响应于用户对所述控件的操作,获取与用户所选择的抓取辅助图像相对应的抓取辅助数据;基于获取的所述抓取辅助数据,生成抓取辅助图层;将所述抓取辅助图层与包括一个或多个待抓取物品的图像数据组合以生成用户选择的抓取辅助图像。
- 根据权利要求15所述的图像数据处理方法,其特征在于,所述图像数据与可操作控件在同一个交互界面内。
- 根据权利要求15所述的图像数据处理方法,其特征在于,所述图像数据与可操作控件在不同交互界面内。
- 根据权利要求17所述的图像数据处理方法,其特征在于,所述不同交互界面响应于用户的操作而进行切换。
- 根据权利要求15-18中任一项所述的图像数据处理方法,其特征在于,所述抓取辅助数据包括:与用户所选的抓取辅助图像相关联的数值以及所述待抓取物品的可抓取区域的掩膜。
- 根据权利要求15-18中任一项所述的图像数据处理方法,其特征在于,所述将所述抓取辅助图层与包括一个或多个待抓取物品的图像数据组合包括:调整所述抓取辅助图层的颜色、透明度和/或对比度之后,再将调整后的抓取辅助图层与包括一个或多个待抓取物品的图像数据组合。
- 一种图像数据处理装置,其特征在于,包括:图像数据获取模块,用于获取包括一个或多个待抓取物品的图像数据;交互界面展示模块,用于将所述图像数据以及可操作控件输出以形成交互界面,所述控件可供用户操作以选择抓取辅助图像并向用户展示选择的抓取辅助图像;辅助数据获取模块,用于响应于用户对所述控件的操作,获取与用户所选择的抓取辅助图像相对应的抓取辅助数据;辅助图层生成模块,用于基于获取的所述抓取辅助数据,生成抓取辅助图层;辅助图像生成模块,用于将所述抓取辅助图层与包括一个或多个待抓取物品的图像数据组合以生成用户选择的抓取辅助图像。
- 根据权利要求21所述的图像数据处理装置,其特征在于,所述图像数据与可操作控件在同一个交互界面内。
- 根据权利要求21所述的图像数据处理装置,其特征在于,所述图像数据与可操作控件在不同交互界面内。
- 根据权利要求23所述的图像数据处理装置,其特征在于,所述不同交互界面响应于用户的操作而进行切换。
- 根据权利要求21-24中任一项所述的图像数据处理装置,其特征在于,所述抓取辅助数据包括:与用户所选的抓取辅助图像相关联的数值以及所述待抓取物品的可抓取区域的掩膜。
- 根据权利要求21-24中任一项所述的图像数据处理装置,其特征在于, 所述辅助图像生成模块还用于:调整所述抓取辅助图层的颜色、透明度和/或对比度之后,再将调整后的抓取辅助图层与包括一个或多个待抓取物品的图像数据组合。
- 一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求15至20中任一项所述的图像数据处理方法。
- 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求15至20中任一项所述的图像数据处理方法。
- 一种抓取控制方法,其特征在于,包括:获取至少一个待抓取物品的可抓取区域的掩膜;针对至少一个待抓取物品中的每个待抓取物品,获取其可抓取区域的掩膜的至少一个特征的特征值;针对获取的所述至少一个特征的特征值中的每一个,执行归一化处理,获得至少一个归一化特征值;基于每个待抓取物品的至少一个归一化特征值以及预设的权值,计算该待抓取物品的抓取优先值,使得在对至少一个待抓取物品进行抓取时,能够根据该抓取优先值控制抓取的顺序。
- 根据权利要求29所述的抓取控制方法,其特征在于,所述可抓取区域的掩膜的特征包括:掩膜高度,夹具大小,点云在掩膜内的个数,掩膜对角程度,掩膜压叠程度,掩膜大小和/或位姿方向。
- 根据权利要求30所述的抓取控制方法,其特征在于,基于可抓取区域的深度值计算可抓取区域的掩膜的掩膜高度特征值。
- 根据权利要求30所述的抓取控制方法,其特征在于,基于预设的夹具 与夹具大小之间的映射关系,确定夹具大小。
- 根据权利要求30所述的抓取控制方法,其特征在于,基于掩膜的外接矩形的对角线与外接矩形一边的夹角,确定掩膜对角程度。
- 根据权利要求29-33中任一项所述的抓取控制方法,其特征在于,按照下述公式计算优先值:其中,P为待抓取物品的优先值,n为特征数量,ω i为第i个特征的权值,X i为第i个特征的特征值。
- 一种抓取控制装置,其特征在于,包括:掩膜获取模块,用于获取至少一个待抓取物品的可抓取区域的掩膜;特征值获取模块,用于针对至少一个待抓取物品中的每个待抓取物品,获取其可抓取区域的掩膜的至少一个特征的特征值;特征值归一化模块,用于针对获取的所述至少一个特征的特征值中的每一个,执行归一化处理,获得至少一个归一化特征值;优先值计算模块,用于基于每个待抓取物品的至少一个归一化特征值以及预设的权值,计算该待抓取物品的抓取优先值,使得在对至少一个待抓取物品进行抓取时,能够根据该抓取优先值控制抓取的顺序。
- 根据权利要求35所述的抓取控制装置,其特征在于,所述可抓取区域的掩膜的特征包括:掩膜高度,夹具大小,点云在掩膜内的个数,掩膜对角程度,掩膜压叠程度,掩膜大小和/或位姿方向。
- 根据权利要求36所述的抓取控制装置,其特征在于,基于可抓取区域的深度值计算可抓取区域的掩膜的掩膜高度特征值。
- 根据权利要求36所述的抓取控制装置,其特征在于,基于预设的夹具与夹具大小之间的映射关系,确定夹具大小。
- 根据权利要求36所述的抓取控制装置,其特征在于,基于掩膜的外接矩形的对角线与外接矩形一边的夹角,确定掩膜对角程度。
- 根据权利要求35-39中任一项所述的抓取控制装置,其特征在于,所述优先值计算模块按照下述公式计算优先值:其中,P为待抓取物品的优先值,n为特征数量,ω i为第i个特征的权值,X i为第i个特征的特征值。
- 一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求29至34中任一项所述的抓取控制方法。
- 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求29至34中任一项所述的抓取控制方法。
- 一种图像数据处理方法,其特征在于,包括:获取至少一个待抓取物品的可抓取区域的掩膜;对于每个待抓取物品,计算该物品的可抓取区域的掩膜的面积S1;对于每个待抓取物品,生成该物品的可抓取区域的掩膜的外接矩形并计算所述外接矩形的面积S2;对于每个待抓取物品,通过以下公式计算待抓取物品的掩膜压叠程度C:C=1-S1/S2;其中,所述掩膜压叠程度C能够用于确定待抓取物品的抓取顺序以控制夹具对待抓取物品进行抓取操作。
- 根据权利要求43所述的图像数据处理方法,其特征在于,基于几何学的方法计算所述掩膜的面积和/或外接矩形的面积。
- 根据权利要求43所述的图像数据处理方法,其特征在于,基于所述掩膜包含的像素点计算所述掩膜的面积,和/或基于所述外接矩形包含的像素点计算所述外接矩形的面积。
- 根据权利要求43所述的图像数据处理方法,其特征在于,所述生成该物品的可抓取区域的掩膜的外接矩形包括:获取所述掩膜的每一个像素点的X坐标值和Y坐标值,基于其中最小的X值,最小的Y值,最大的X值以及最大的Y值计算所述外接矩形。
- 一种图像数据处理装置,其特征在于,包括:掩膜获取模块,用于获取至少一个待抓取物品的可抓取区域的掩膜;掩膜面积计算模块,用于对于每个待抓取物品,计算该物品的可抓取区域的掩膜的面积S1;外接矩形处理模块,用于对于每个待抓取物品,生成该物品的可抓取区域的掩膜的外接矩形并计算所述外接矩形的面积S2;压叠程度计算模块,用于对于每个待抓取物品,通过以下公式计算待抓取物品的掩膜压叠程度C:C=1-S1/S2;其中,所述掩膜压叠程度C能够用于确定待抓取物品的抓取顺序以控制夹具对待抓取物品进行抓取操作。
- 根据权利要求47所述的图像数据处理装置,其特征在于,基于几何学的方法计算所述掩膜的面积和/或外接矩形的面积。
- 根据权利要求47所述的图像数据处理装置,其特征在于,基于所述掩膜包含的像素点计算所述掩膜的面积,和/或基于所述外接矩形包含的像素点计算所述外接矩形的面积。
- 根据权利要求47所述的图像数据处理装置,其特征在于,所述外接矩 形处理模块还用于:获取所述掩膜的每一个像素点的X坐标值和Y坐标值,基于其中最小的X值,最小的Y值,最大的X值以及最大的Y值计算所述外接矩形。
- 一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求43至46中任一项所述的图像数据处理方法。
- 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求43至46中任一项所述的图像数据处理方法。
- 一种抓取控制方法,其特征在于,包括:获取包括至少一个待抓取物品的图像数据;对所述图像数据进行处理,以获取待抓取物品的与朝向有关的朝向特征;至少基于所述待抓取物品的朝向特征控制夹具以执行对至少一个待抓取物品的抓取。
- 根据权利要求53所述的抓取控制方法,其特征在于,所述至少一个待抓取物品包括所述至少一个待抓取物品的可抓取区域。
- 根据权利要求53或54所述的抓取控制方法,其特征在于:所述控制夹具以执行对至少一个待抓取物品的抓取包括确定至少一个待抓取物品的抓取顺序,并控制夹具按照抓取顺序执行对至少一个待抓取物品的抓取。
- 根据权利要求53或54所述的抓取控制方法,其特征在于,还包括:对所述图像数据进行处理,以获取至少一个待抓取物品的与位置有关的位置特征,以及,至少基于所述待抓取物品的朝向特征以及位置特征控制夹具以执行对至少一个待抓取物品的抓取。
- 根据权利要求53或54所述的抓取控制方法,其特征在于:所述朝向特征基于待抓取物品的旋转矩阵获取。
- 根据权利要求57所述的抓取控制方法,其特征在于:所述旋转矩阵的基准朝向为所述待抓取物品的可抓取区域垂直于Z轴时的朝向。
- 根据权利要求57所述的抓取控制方法,其特征在于:所述旋转矩阵为基于欧拉角的旋转矩阵。
- 一种抓取控制装置,其特征在于,包括:图像数据获取模块,用于获取包括至少一个待抓取物品的图像数据;朝向特征获取模块,用于对所述图像数据进行处理,以获取待抓取物品的与朝向有关的朝向特征;抓取控制模块,用于至少基于所述待抓取物品的朝向特征控制夹具以执行对至少一个待抓取物品的抓取。
- 根据权利要求60所述的抓取控制装置,其特征在于,所述至少一个待抓取物品包括所述至少一个待抓取物品的可抓取区域。
- 根据权利要求60或61所述的抓取控制装置,其特征在于:所述抓取控制模块具体用于确定至少一个待抓取物品的抓取顺序,并控制夹具按照抓取顺序执行对至少一个待抓取物品的抓取。
- 根据权利要求60或61所述的抓取控制装置,其特征在于,还包括:位置特征获取模块,用于对所述图像数据进行处理,以获取至少一个待抓取物品的与位置有关的位置特征;所述抓取控制模块用于至少基于所述待抓取物品的朝向特征以及位置特征控制夹具以执行对至少一个待抓取物品的抓取。
- 根据权利要求60或61所述的抓取控制装置,其特征在于:所述朝向特征基于待抓取物品的旋转矩阵获取。
- 根据权利要求64所述的抓取控制装置,其特征在于:所述旋转矩阵的基准朝向为所述待抓取物品的可抓取区域垂直于Z轴时的朝向。
- 根据权利要求64所述的抓取控制装置,其特征在于:所述旋转矩阵为基于欧拉角的旋转矩阵。
- 一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求53至59中任一项所述的抓取控制方法。
- 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求53至59中任一项所述的抓取控制方法。
- 一种抓取控制方法,其特征在于,包括:获取待抓取物品的位置特征以及朝向特征;基于所述位置特征,确定待抓取物品的位置与待抓取物品所在参考区域的兴趣区域的关系;基于所述待抓取物品的位置与所述兴趣区域的关系,以及所述待抓取物品的朝向特征,确定抓取特征值;所述抓取特征值能够用于控制夹具执行对待抓取物品的抓取。
- 根据权利要求69所述的抓取控制方法,其特征在于:所述位置特征包括待抓取物体在参考坐标系下的坐标。
- 根据权利要求70所述的抓取控制方法,其特征在于:所述参考坐标系包括相机坐标系。
- 根据权利要求69所述的抓取控制方法,其特征在于,所述抓取特征值能够用于控制夹具执行对待抓取物品的抓取包括:将多个待抓取物品的抓取特征 值排序,并按照排序结果控制夹具执行抓取。
- 根据权利要求69-72中任一项所述的抓取控制方法,其特征在于:位于所述兴趣区域内的待抓取物品的抓取特征值确定方法与位于所述兴趣区域外的待抓取物品的抓取特征值确定方法不同。
- 一种抓取控制装置,其特征在于,包括:特征获取模块,用于获取待抓取物品的位置特征以及朝向特征;位置关系确定模块,用于基于所述位置特征,确定待抓取物品的位置与待抓取物品所在参考区域的兴趣区域的关系;抓取特征值确定模块,用于基于所述待抓取物品的位置与所述兴趣区域的关系,以及所述待抓取物品的朝向特征,确定抓取特征值;所述抓取特征值能够用于控制夹具执行对待抓取物品的抓取。
- 根据权利要求74所述的抓取控制装置,其特征在于:所述位置特征包括待抓取物体在参考坐标系下的坐标。
- 根据权利要求75所述的抓取控制装置,其特征在于:所述参考坐标系包括相机坐标系。
- 根据权利要求74所述的抓取控制装置,其特征在于,所述抓取特征值能够用于控制夹具执行对待抓取物品的抓取包括:将多个待抓取物品的抓取特征值排序,并按照排序结果控制夹具执行抓取。
- 根据权利要求74-77中任一项所述的抓取控制装置,其特征在于:位于所述兴趣区域内的待抓取物品的抓取特征值确定方法与位于所述兴趣区域外的待抓取物品的抓取特征值确定方法不同。
- 一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求69至73中任一项所述的抓取控制方法。
- 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求69至73中任一项所述的抓取控制方法。
- 一种物品位置确定方法,其特征在于,包括:基于参考区域的特征计算物品的位置抑制值,所述位置抑制值的大小与物品所在参考区域的兴趣区域的大小相关;获取多个物品中的每一个物品的位置特征值;对于多个物品中的每一个物品,基于该物品的位置特征值,所述位置抑制值以及参考区域的尺寸,确定该物品是否位于所述参考区域的兴趣区域内;其中,所述物品的位置特征值包括物品在参考坐标系下的X轴的坐标值以及Y轴的坐标值。
- 根据权利要求81所述的物品位置确定方法,其特征在于:所述兴趣区域的范围随着所述位置抑制值的增大而增大。
- 根据权利要求81或82所述的物品位置确定方法,其特征在于:当待抓取物品X轴的坐标值以及Y轴的坐标值均满足抑制条件时,确定该待抓取物品位于兴趣区域内,其中,所述抑制条件与所述位置抑制值相关。
- 根据权利要求83所述的物品位置确定方法,其特征在于:将多个待抓取物品的X轴的坐标值是否满足抑制条件的判断结果组成集合,以及将多个待抓取物品的Y轴的坐标值是否满足抑制条件的判断结果组成集合,并基于两个集合确定多个待抓取物品中的每一个是否位于兴趣区域内。
- 一种物品位置确定装置,其特征在于,包括:位置抑制值确定模块,用于基于参考区域的特征计算物品的位置抑制值,所述位置抑制值的大小与物品所在参考区域的兴趣区域的大小相关;位置特征值确定模块,用于获取多个物品中的每一个物品的位置特征值;位置确定模块,用于对于多个物品中的每一个物品,基于该物品的位置特征值,所述位置抑制值以及参考区域的尺寸,确定该物品是否位于所述参考区域的兴趣区域内;其中,所述物品的位置特征值包括物品在参考坐标系下的X轴的坐标值以及Y轴的坐标值。
- 根据权利要求85所述的物品位置确定装置,其特征在于:所述兴趣区域的范围随着所述位置抑制值的增大而增大。
- 根据权利要求85或86所述的物品位置确定装置,其特征在于:当待抓取物品X轴的坐标值以及Y轴的坐标值均满足抑制条件时,确定该待抓取物品位于兴趣区域内,其中,所述抑制条件与所述位置抑制值相关。
- 根据权利要求87所述的物品位置确定装置,其特征在于:将多个待抓取物品的X轴的坐标值是否满足抑制条件的判断结果组成集合,以及将多个待抓取物品的Y轴的坐标值是否满足抑制条件的判断结果组成集合,并基于两个集合确定多个待抓取物品中的每一个是否位于兴趣区域内。
- 一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求81至84中任一项所述的物品位置确定方法。
- 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求81至84中任一项所述的物品位置确定方法。
- 一种抓取控制方法,其特征在于,包括:获取待抓取物品的位置特征以及朝向特征;基于所述位置特征以及朝向特征,确定待抓取物品的朝向抑制值;其中,所述朝向抑制值使得在物品的朝向背离障碍物时的抓取特征值大于在物品的朝向指向障碍物时的抓取特征值;基于所述待抓取物品的所述位置特征,所述朝向特征以及所述朝向抑制值,确定所述待抓取物品的抓取特征值;所述抓取特征值能够用于控制夹具执行对待抓取物品的抓取。
- 根据权利要求91所述的抓取控制方法,其特征在于:在物品的朝向背离障碍物时的朝向抑制值大于在物品的朝向指向障碍物时的朝向抑制值。
- 根据权利要求91所述的抓取控制方法,其特征在于,所述确定所述待抓取物品的抓取特征值包括:分别计算待抓取物品的X轴的抓取特征值以及Y轴的抓取特征值,并将其中较大的一个作为物品的抓取特征值。
- 根据权利要求91-93中任一项所述的抓取控制方法,其特征在于,还包括:对所述朝向抑制值和/或抓取特征值进行缩放处理。
- 一种抓取控制装置,其特征在于,包括:特征获取模块,用于获取待抓取物品的位置特征以及朝向特征;朝向抑制值确定模块,用于基于所述位置特征以及朝向特征,确定待抓取物品的朝向抑制值;其中,所述朝向抑制值使得在物品的朝向背离障碍物时的抓取特征值大于在物品的朝向指向障碍物时的抓取特征值;抓取特征值确定模块,用于基于所述待抓取物品的所述位置特征,所述朝向特征以及所述朝向抑制值,确定所述待抓取物品的抓取特征值;所述抓取特征值能够用于控制夹具执行对待抓取物品的抓取。
- 根据权利要求95所述的抓取控制装置,其特征在于:在物品的朝向背离障碍物时的朝向抑制值大于在物品的朝向指向障碍物时的朝向抑制值。
- 根据权利要求95所述的抓取控制装置,其特征在于,所述确定所述待抓取物品的抓取特征值包括:分别计算待抓取物品的X轴的抓取特征值以及Y轴的抓取特征值,并将其中较大的一个作为物品的抓取特征值。
- 根据权利要求95-97中任一项所述的抓取控制装置,其特征在于,还包 括:对所述朝向抑制值和/或抓取特征值进行缩放处理。
- 一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求91至94中任一项所述的抓取控制方法。
- 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求91至94中任一项所述的抓取控制方法。
- 一种图像数据处理方法,其特征在于,包括:获取包括至少一个待抓取物品的图像数据;对所述图像数据进行可抓取区域识别处理,识别图像中的待抓取物品的可抓取区域并生成可抓取区域参考数据,所述可抓取区域参考数据可视化地示出夹具能够抓起待抓取物品的可抓取区域;以及对所述图像数据进行压叠检测处理,预测图像中的每一个待抓取物品是否被压叠;基于所述压叠检测处理的结果,对所述可抓取区域参考数据进行处理,以在可抓取区域参考数据中剔除因压叠而导致的不可抓取的区域。
- 根据权利要求101所述的图像数据处理方法,其特征在于:所述识别图像中的待抓取物品的可抓取区域,包括:基于所述图像的像素点特征识别待抓取物品的可抓取区域。
- 根据权利要求101所述的图像数据处理方法,其特征在于:所述可抓取区域识别处理与所述压叠检测处理并行执行。
- 根据权利要求101所述的图像数据处理方法,其特征在于:基于深度学习网络执行可抓取区域识别处理和/或所述压叠检测处理。
- 根据权利要求101所述的图像数据处理方法,其特征在于:基于所述 可抓取区域参考数据的中点以及待抓取物品的压叠情况,剔除因压叠而导致的不可抓取的区域。
- 根据权利要求105所述的图像数据处理方法,其特征在于:基于所述可抓取区域参考数据的外接矩形,获取所述可抓取区域参考数据的中点。
- 根据权利要求105所述的图像数据处理方法,其特征在于:所述基于所述可抓取区域参考数据的中点以及待抓取物品的压叠情况,剔除因压叠而导致的不可抓取的区域,具体包括:确定可抓取区域参考数据的中心点;获取可抓取区域参考数据中心点的位置信息;基于所述位置信息判断所述中心点是否位于被检测为压叠的待抓取物品内;当判断结果为是时,删除所述中心点对应的可抓取区域。
- 根据权利要求101-107中任一项所述的图像数据处理方法,其特征在于:所述可抓取区域参考数据包括可抓取区域掩膜。
- 一种图像数据处理装置,其特征在于,包括:图像数据获取模块,用于获取包括至少一个待抓取物品的图像数据;可抓取区域识别模块,用于对所述图像数据进行可抓取区域识别处理,识别图像中的待抓取物品的可抓取区域并生成可抓取区域参考数据,所述可抓取区域参考数据可视化地示出夹具能够抓起待抓取物品的可抓取区域;以及压叠检测模块,用于对所述图像数据进行压叠检测处理,预测图像中的每一个待抓取物品是否被压叠;可抓取区域过滤模块,用于基于所述压叠检测处理的结果,对所述可抓取区域参考数据进行处理,以在可抓取区域参考数据中剔除因压叠而导致的不可抓取的区域。
- 根据权利要求109所述的图像数据处理装置,其特征在于:所述识别图像中的待抓取物品的可抓取区域,包括:基于所述图像的像素点特征识别待抓 取物品的可抓取区域。
- 根据权利要求109所述的图像数据处理装置,其特征在于:所述可抓取区域处理模块与压叠检测模块并行对图像数据进行处理。
- 根据权利要求109所述的图像数据处理装置,其特征在于:所述可抓取区域识别模块和/或所述压叠检测模块基于深度学习网络对图像数据进行处理。
- 根据权利要求109所述的图像数据处理装置,其特征在于:所述可抓取区域过滤模块基于所述可抓取区域参考数据的中点以及待抓取物品的压叠情况,剔除因压叠而导致的不可抓取的区域。
- 根据权利要求113所述的图像数据处理装置,其特征在于:基于所述可抓取区域参考数据的外接矩形,获取所述可抓取区域参考数据的中点。
- 根据权利要求113所述的图像数据处理装置,其特征在于:可抓取区域过滤模块具体包括:中心点确定模块,用于确定可抓取区域参考数据的中心点;位置信息获取模块,用于获取可抓取区域参考数据中心点的位置信息;判断模块,用于基于所述位置信息判断所述中心点是否位于被检测为压叠的待抓取物品内;删除模块,用于当判断模块判断结果为是时,删除所述中心点对应的可抓取区域。
- 根据权利要求109-115中任一项所述的图像数据处理装置,其特征在于:所述可抓取区域参考数据包括可抓取区域掩膜。
- 一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求101至108中任一项所述的图像数据处理方法。
- 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求101至108中任一项所述的图像数据处理方法。
- 一种图像数据处理方法,其特征在于,包括:获取包括至少一个待抓取物品的图像数据;检测所述图像数据中包括的全部待抓取物品的实例;对检测出的每一个实例进行处理以对每一个实例的压叠情况进行预测,并输出每个待抓取物品的压叠概率;对于每个待抓取物品,基于该物品的压叠概率以及预设的压叠检测阈值确定该物品是否被压叠。
- 根据权利要求119所述的图像数据处理方法,其特征在于,还包括:生成至少一个待抓取物品的掩膜。
- 根据权利要求120所述的图像数据处理方法,其特征在于:压叠物品的掩膜与未被压叠物品的掩膜具有不同的图形特征。
- 根据权利要求119-121中任一项所述的图像数据处理方法,其特征在于:基于深度学习网络检测待抓取物品的实例并确定待抓取物品是否被压叠。
- 根据权利要求122所述的图像数据处理方法,其特征在于:所述待抓取物品的压叠概率包括待抓取物品的压叠置信度。
- 根据权利要求122所述的图像数据处理方法,其特征在于:所述深度学习网络基于物品的关键点来识别物品。
- 根据权利要求122所述的图像数据处理方法,其特征在于:所述物品的关键点包括物品的中心点。
- 根据权利要求122所述的图像数据处理方法,其特征在于:所述深度学习网络包括用于识别物品的组件以及用于生成物品掩膜的组件。
- 一种图像数据处理装置,其特征在于,包括:图像数据获取模块,用于获取包括至少一个待抓取物品的图像数据;实例检测模块,用于检测所述图像数据中包括的全部待抓取物品的实例;压叠概率预测模块,用于对检测出的每一个实例进行处理以对每一个实例的压叠情况进行预测,并输出每个待抓取物品的压叠概率;压叠判断模块,用于对于每个待抓取物品,基于该物品的压叠概率以及预设的压叠检测阈值确定该物品是否被压叠。
- 根据权利要求127所述的图像数据处理装置,其特征在于,还包括:掩膜生成模块,用于生成至少一个待抓取物品的掩膜。
- 根据权利要求128所述的图像数据处理装置,其特征在于:压叠物品的掩膜与未被压叠物品的掩膜具有不同的图形特征。
- 根据权利要求127-129中任一项所述的图像数据处理装置,其特征在于:所述实例检测模块,压叠概率预测模块以及压叠判断模块,基于深度学习网络实现。
- 根据权利要求130所述的图像数据处理装置,其特征在于:所述待抓取物品的压叠概率包括待抓取物品的压叠置信度。
- 根据权利要求130所述的图像数据处理装置,其特征在于:所述深度学习网络基于物品的关键点来识别物品。
- 根据权利要求130所述的图像数据处理装置,其特征在于:所述物品的关键点包括物品的中心点。
- 根据权利要求130所述的图像数据处理装置,其特征在于:所述深度 学习网络包括用于识别物品的组件以及用于生成物品掩膜的组件。
- 一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求119至126中任一项所述的图像数据处理方法。
- 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求119至126中任一项所述的图像数据处理方法。
- 一种图像数据处理方法,其特征在于,包括:获取待抓取物品的点云;对获取的待抓取物品的点云进行随机采样,从中随机采集一定数量的点云;基于所述随机采集的点云,预测所述待抓取物品的位置特征以及旋转特征。
- 根据权利要求137所述的图像数据处理方法,其特征在于:所述待抓取物品包括待抓取物品的可抓取区域。
- 根据权利要求137所述的图像数据处理方法,其特征在于:所述对获取的待抓取物品的点云进行随机采样包括对获取的待抓取物品的点云进行至少两次随机采样。
- 根据权利要求137所述的图像数据处理方法,其特征在于,所述位置特征包括平移参数,和/或所述旋转特征包括欧拉角和/或旋转向量四元数。
- 根据权利要求137-140中任一项所述的图像数据处理方法,其特征在于:基于深度学习网络执行点云的随机采样以及预测待抓取物品的位置特征以及旋转特征。
- 根据权利要求141所述的图像数据处理方法,其特征在于,所述深度学习网络还包括线性修正组件和/或批标准化组件。
- 根据权利要求141所述的图像数据处理方法,其特征在于,还包括:在对所述深度学习网络进行训练时,对训练用的点云进行随机抖动、平移,并对随机抖动、平移后的点云进行碰撞检测。
- 根据权利要求141所述的图像数据处理方法,其特征在于,还包括:基于待抓取物品的位置特征及旋转特征预测机器人末端执行器执行抓取时的位姿。
- 根据权利要求144所述的图像数据处理方法,其特征在于,还包括:比较机器人末端执行器点云的位姿,与深度学习网络预测的末端执行器的位姿之间的误差,并基于所述误差更新所述深度学习网络。
- 一种图像数据处理装置,其特征在于,包括:点云获取模块,用于获取待抓取物品的点云;随机采样模块,用于对获取的待抓取物品的点云进行随机采样,从中随机采集一定数量的点云;位姿预测模块,用于基于所述随机采集的点云,预测所述待抓取物品的位置特征以及旋转特征。
- 根据权利要求146所述的图像数据处理装置,其特征在于:所述待抓取物品包括待抓取物品的可抓取区域。
- 根据权利要求146所述的图像数据处理装置,其特征在于:所述对获取的待抓取物品的点云进行随机采样包括对获取的待抓取物品的点云进行至少两次随机采样。
- 根据权利要求146所述的图像数据处理装置,其特征在于,所述位置特征包括平移参数,和/或所述旋转特征包括欧拉角和/或旋转向量四元数。
- 根据权利要求146-149中任一项所述的图像数据处理装置,其特征在 于:所述随机采样模块和所述位姿预测模块基于深度学习网络实现。
- 一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求137至145中任一项所述的图像数据处理方法。
- 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求137至145中任一项所述的图像数据处理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/133782 WO2023092519A1 (zh) | 2021-11-28 | 2021-11-28 | 抓取控制方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116529760A true CN116529760A (zh) | 2023-08-01 |
Family
ID=86538725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180004578.2A Pending CN116529760A (zh) | 2021-11-28 | 2021-11-28 | 抓取控制方法、装置、电子设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116529760A (zh) |
WO (1) | WO2023092519A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116950429A (zh) * | 2023-07-31 | 2023-10-27 | 中建八局发展建设有限公司 | 一种大型拼接墙快速定位拼接方法、介质及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5788460B2 (ja) * | 2013-11-05 | 2015-09-30 | ファナック株式会社 | バラ積みされた物品をロボットで取出す装置及び方法 |
CN111091062B (zh) * | 2019-11-21 | 2023-07-04 | 东南大学 | 一种基于3d视觉聚类和匹配的机器人乱序目标分拣方法 |
CN112109086B (zh) * | 2020-09-03 | 2021-08-10 | 清华大学深圳国际研究生院 | 面向工业堆叠零件的抓取方法、终端设备及可读存储介质 |
CN112802093B (zh) * | 2021-02-05 | 2023-09-12 | 梅卡曼德(北京)机器人科技有限公司 | 对象抓取方法及装置 |
CN112802105A (zh) * | 2021-02-05 | 2021-05-14 | 梅卡曼德(北京)机器人科技有限公司 | 对象抓取方法及装置 |
CN112926503B (zh) * | 2021-03-23 | 2023-07-18 | 上海大学 | 一种基于矩形拟合的抓取数据集自动生成方法 |
CN113246140B (zh) * | 2021-06-22 | 2021-10-15 | 沈阳风驰软件股份有限公司 | 一种基于相机测量的多模型工件无序抓取方法及装置 |
CN113681552B (zh) * | 2021-06-30 | 2022-08-16 | 大连理工江苏研究院有限公司 | 一种基于级联神经网络的机器人混杂物体五维抓取方法 |
CN113592855B (zh) * | 2021-08-19 | 2024-02-13 | 山东大学 | 基于启发式深度强化学习的自主抓取与装箱方法及系统 |
-
2021
- 2021-11-28 CN CN202180004578.2A patent/CN116529760A/zh active Pending
- 2021-11-28 WO PCT/CN2021/133782 patent/WO2023092519A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023092519A1 (zh) | 2023-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6415026B2 (ja) | 干渉判定装置、干渉判定方法、コンピュータプログラム | |
US10124489B2 (en) | Locating, separating, and picking boxes with a sensor-guided robot | |
JP5458885B2 (ja) | 物体検出方法と物体検出装置およびロボットシステム | |
JP4309439B2 (ja) | 対象物取出装置 | |
JP6632656B2 (ja) | 干渉判定装置、干渉判定方法、コンピュータプログラム | |
JP7377627B2 (ja) | 物体検出装置、物体把持システム、物体検出方法及び物体検出プログラム | |
JP7481427B2 (ja) | 取り出しシステム及び方法 | |
JP2019057250A (ja) | ワーク情報処理装置およびワークの認識方法 | |
US20230041378A1 (en) | Systems and methods for object detection | |
CN116529760A (zh) | 抓取控制方法、装置、电子设备和存储介质 | |
CN116175542B (zh) | 确定夹具抓取顺序的方法、装置、电子设备和存储介质 | |
CN115861780B (zh) | 一种基于yolo-ggcnn的机械臂检测抓取方法 | |
JP2018146347A (ja) | 画像処理装置、画像処理方法、及びコンピュータプログラム | |
JP7066671B2 (ja) | 干渉判定装置、干渉判定方法、プログラム及びシステム | |
KR102452315B1 (ko) | 딥러닝과 마커를 이용한 비전인식을 통한 로봇 제어장치 및 그 방법 | |
CN116197887B (zh) | 生成抓取辅助图像的图像数据处理方法、装置、电子设备和存储介质 | |
CN116188559A (zh) | 图像数据处理方法、装置、电子设备和存储介质 | |
CN116197888B (zh) | 物品位置确定方法、装置、电子设备和存储介质 | |
CN116197885B (zh) | 基于压叠检测的图像数据过滤方法、装置、设备和介质 | |
CN116175541B (zh) | 抓取控制方法、装置、电子设备和存储介质 | |
CN116197886A (zh) | 图像数据处理方法、装置、电子设备和存储介质 | |
CN116205837A (zh) | 图像数据处理方法、装置、电子设备和存储介质 | |
CN116175540B (zh) | 基于位置及朝向的抓取控制方法、装置、设备和介质 | |
CN116214494A (zh) | 抓取控制方法、装置、电子设备和存储介质 | |
JP7418762B2 (ja) | 計算システム、方法及び非一時的コンピュータ可読媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |