CN116783039A - 物品包装系统、末端执行器、用于分类和/或包装蔓生果的方法 - Google Patents
物品包装系统、末端执行器、用于分类和/或包装蔓生果的方法 Download PDFInfo
- Publication number
- CN116783039A CN116783039A CN202180087956.8A CN202180087956A CN116783039A CN 116783039 A CN116783039 A CN 116783039A CN 202180087956 A CN202180087956 A CN 202180087956A CN 116783039 A CN116783039 A CN 116783039A
- Authority
- CN
- China
- Prior art keywords
- end effector
- controller
- vines
- item
- robotic arm
- 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
- 239000012636 effector Substances 0.000 title claims abstract description 261
- 238000004806 packaging method and process Methods 0.000 title claims abstract description 67
- 238000000034 method Methods 0.000 title claims description 60
- 238000005520 cutting process Methods 0.000 claims abstract description 34
- 235000013399 edible fruits Nutrition 0.000 claims description 95
- 241000219094 Vitaceae Species 0.000 claims description 86
- 235000021021 grapes Nutrition 0.000 claims description 86
- 239000010410 layer Substances 0.000 claims description 41
- 230000033001 locomotion Effects 0.000 claims description 41
- 230000008859 change Effects 0.000 claims description 40
- 238000010801 machine learning Methods 0.000 claims description 36
- 238000012546 transfer Methods 0.000 claims description 29
- 238000011179 visual inspection Methods 0.000 claims description 26
- 238000001514 detection method Methods 0.000 claims description 22
- 229920000642 polymer Polymers 0.000 claims description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 239000012790 adhesive layer Substances 0.000 claims description 14
- 230000003247 decreasing effect Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 11
- 238000012549 training Methods 0.000 claims description 11
- 230000001965 increasing effect Effects 0.000 claims description 9
- 238000003709 image segmentation Methods 0.000 claims description 7
- 239000000758 substrate Substances 0.000 claims description 7
- 229920005601 base polymer Polymers 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 5
- 238000001125 extrusion Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 3
- 238000012552 review Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 2
- 235000009754 Vitis X bourquina Nutrition 0.000 abstract description 234
- 235000012333 Vitis X labruscana Nutrition 0.000 abstract description 234
- 235000014787 Vitis vinifera Nutrition 0.000 abstract description 234
- 240000006365 Vitis vinifera Species 0.000 abstract 1
- 241000219095 Vitis Species 0.000 description 233
- 238000006073 displacement reaction Methods 0.000 description 52
- 235000013311 vegetables Nutrition 0.000 description 40
- 230000008569 process Effects 0.000 description 25
- 238000009826 distribution Methods 0.000 description 19
- 239000002070 nanowire Substances 0.000 description 19
- 230000011218 segmentation Effects 0.000 description 18
- 230000007547 defect Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 210000002569 neuron Anatomy 0.000 description 13
- 235000007688 Lycopersicon esculentum Nutrition 0.000 description 12
- 240000003768 Solanum lycopersicum Species 0.000 description 12
- 238000005259 measurement Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 238000013459 approach Methods 0.000 description 9
- 230000000875 corresponding effect Effects 0.000 description 9
- 230000001276 controlling effect Effects 0.000 description 8
- 230000009466 transformation Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 235000012055 fruits and vegetables Nutrition 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000002787 reinforcement Effects 0.000 description 5
- 238000000926 separation method Methods 0.000 description 5
- 239000000126 substance Substances 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 4
- 239000004020 conductor Substances 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005286 illumination Methods 0.000 description 4
- 238000010191 image analysis Methods 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 240000008790 Musa x paradisiaca Species 0.000 description 3
- 235000018290 Musa x paradisiaca Nutrition 0.000 description 3
- 235000003095 Vaccinium corymbosum Nutrition 0.000 description 3
- 240000000851 Vaccinium corymbosum Species 0.000 description 3
- 235000017537 Vaccinium myrtillus Nutrition 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000009530 blood pressure measurement Methods 0.000 description 3
- 235000021014 blueberries Nutrition 0.000 description 3
- 230000002950 deficient Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 241000234295 Musa Species 0.000 description 2
- 235000014443 Pyrus communis Nutrition 0.000 description 2
- 241001593968 Vitis palmata Species 0.000 description 2
- HCHKCACWOHOZIP-UHFFFAOYSA-N Zinc Chemical compound [Zn] HCHKCACWOHOZIP-UHFFFAOYSA-N 0.000 description 2
- XLOMVQKBTHCTTD-UHFFFAOYSA-N Zinc monoxide Chemical compound [Zn]=O XLOMVQKBTHCTTD-UHFFFAOYSA-N 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 235000021015 bananas Nutrition 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 125000003178 carboxy group Chemical group [H]OC(*)=O 0.000 description 2
- 239000003054 catalyst Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 238000003908 quality control method Methods 0.000 description 2
- 230000000284 resting effect Effects 0.000 description 2
- 239000013076 target substance Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000005303 weighing Methods 0.000 description 2
- 229910052725 zinc Inorganic materials 0.000 description 2
- 239000011701 zinc Substances 0.000 description 2
- 241000286609 Chuco Species 0.000 description 1
- VGGSQFUCUMXWEO-UHFFFAOYSA-N Ethene Chemical compound C=C VGGSQFUCUMXWEO-UHFFFAOYSA-N 0.000 description 1
- 239000005977 Ethylene Substances 0.000 description 1
- 244000141359 Malus pumila Species 0.000 description 1
- 101100297180 Methanococcus maripaludis (strain S2 / LL) pfdA gene Proteins 0.000 description 1
- 101100412093 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rec16 gene Proteins 0.000 description 1
- 239000000853 adhesive Substances 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- 125000003368 amide group Chemical group 0.000 description 1
- 235000021016 apples Nutrition 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003153 chemical reaction reagent Substances 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 125000000524 functional group Chemical group 0.000 description 1
- 125000002887 hydroxy group Chemical group [H]O* 0.000 description 1
- 238000009413 insulation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 125000002924 primary amino group Chemical group [H]N([H])* 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 125000003396 thiol group Chemical group [H]S* 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 239000011787 zinc oxide Substances 0.000 description 1
Landscapes
- Manipulator (AREA)
Abstract
本文公开了一种物品包装系统(100),其被配置为将诸如葡萄串的蔓生果分类和/或包装到容器中。该系统包括:第一机械臂(110),包括用于切割蔓生果的至少一个第一末端执行器(120);第二机械臂(114),包括用于握住和操纵蔓生果以包装到容器中的至少一个第二末端执行器(112);至少一个相机(155),用于提供所述蔓生果的图像数据;以及控制器,被配置为接收所述蔓生果的图像数据并基于接收的图像数据确定所述蔓生果的重量。所述控制器被配置成基于确定的所述蔓生果的重量控制所述第一机械臂的所述至少一个第一末端执行器以切割所述蔓生果,并且所述控制器被配置成控制所述第二机械臂的所述至少一个第二末端执行器以握住和操纵切割后的蔓生果到容器(142)中。
Description
技术领域
本公开涉及分类和/或包装物品(诸如水果和/或蔬菜等物品)的领域,并且尤其涉及蔓生果或藤蔓蔬菜(诸如葡萄串)。
背景技术
一旦水果和/或蔬菜被种植和收获,水果和/或蔬菜就会被分类并包装到容器中,以运输到它们被出售的销售商(例如超市)。通常,该过程涉及多个操作人员,这些操作人员选择哪些水果/蔬菜要用于包装,并对要将这些水果/蔬菜进行包装的地方进行分类。这样的分类和包装可能需要根据特定于相关水果和/或蔬菜的规则来执行。例如,葡萄可能需要基于重量和/或颜色进行分组。这可能涉及大量的操作人员来执行这样的分类和包装(例如,可能涉及三个操作人员来将葡萄串包装到容器中)。这可能导致供应链中效率低下,例如限制待分类的水果和/或蔬菜的吞吐量,并且引入操作人员将不得不做出以确定如何分类和/或包装水果和/或蔬菜的许多主观判断。
此外,虽然已经在一定程度上完成了对线性和固定形状的水果(如番茄和苹果)的加工自动化,这极大地改善了对这些水果的处理,但是在对自动化非线性的水果(如葡萄、蓝莓和带茎番茄)的加工方面所做的工作很少。由于它们的形状和尺寸不规则,这使得自动化变得复杂,同时质检将是非常复杂的任务,因为我们需要到非常窄的区域来切割不需要的果实。
发明内容
在独立权利要求中阐述了本公开的各方面并且在从属权利要求中阐述了可选的特征。本公开的各方面可彼此结合地提供,并且一个方面的特征可以应用于其它方面。
在本公开的一方面,提供了一种物品包装系统,被配置为将非线性水果或蔬菜(例如蔓生果或蔬菜,诸如葡萄串、香蕉或番茄)分类和/或包装到容器中。该系统包括:第一机械臂,包括用于从串中切割如葡萄的蔓生果的至少一个第一末端执行器;第二机械臂,包括用于握住和操纵诸如葡萄串的蔓生果以包装到容器中的至少一个第二末端执行器;至少一个相机,用于提供所述蔓生果的图像数据;和控制器,被配置为接收蔓生果的图像数据并基于接收的图像数据确定所述蔓生果的重量。所述控制器被配置为基于确定的所述蔓生果的重量控制所述第一机械臂的所述至少一个第一末端执行器切割所述蔓生果,并且所述控制器被配置为控制所述第二机械臂的所述至少一个第二末端执行器以握住和操纵所述切割的蔓生果到容器中。重要的是,所述第二机械臂可以被配置为将切割后的蔓生果放入容器中,而不是将切割后的蔓生果扔进容器中。
应当理解的是,当描述所述控制器被配置为确定所述蔓生果的重量时,它可以被配置为仅通过目视检查进行该操作。执行基于目视检查的确定是有利的,因为它可以比通过使用例如秤的常规称重更快地执行。因此,仅通过目视检查确定重量可能更适合需要尽快包装高吞吐量的物品/物体的应用场景。此外,当处理物品时,例如蔓生果,如葡萄串,通过例如提起该串来称重该串可能是有问题的,因为一些葡萄可能从该串掉落和/或该串如果被不正确地抓取可能会散开。
还应当理解的是,虽然该系统是参考其在葡萄串中的使用来描述的,但它可同样应用于其它非线性物体,例如其它蔓生果,如需要分类(例如按重量)到例如果篮(punnet)的容器中的其它水果和蔬菜串或组,例如蓝莓、香蕉和带茎番茄。
另外地或可选地,所述控制器可以被配置为仅通过目视检查确定所述蔓生果的质量。在一些示例中,所述控制器可以被配置为通过确定图像数据内的感兴趣区域并且将掩膜应用于所述感兴趣区域来确定蔓生果的重量或质量,其中所述掩膜覆盖或识别所述蔓生果。例如可以通过线性回归,基于所述掩膜的面积,例如基于所述掩膜中的像素数,确定所述蔓生果的重量。
在一些示例中,所述控制器可以被配置为确定蔓生果的类型/种类,并且基于所述确定的类型/种类和所述蔓生果的估计的尺寸(例如,就体积而言)确定所述蔓生果的重量和/或质量。可以通过图像识别来执行对类型/种类的确定,例如使用预先训练的机器学习算法。可以例如使用点云分析和/或语义图像分割来执行对所述尺寸的确定。
所述至少一个第二末端执行器可以包括用于提供接触压力的指示的压力感测组件,并且所述控制器可以被配置为基于所述接触压力的指示控制所述第二机械臂的所述至少一个第二末端执行器以握住和操纵切割后的蔓生果到容器中。在一些示例中,所述至少一个第二末端执行器可以包括一对或更多个末端执行器,用于确定被握住在其间的物品/蔓生果的接触压力。在一些示例中,所述至少一个第二末端执行器可以包括勺或勺形部,用于在由所述至少一个第二末端执行器握住和操纵时支撑蔓生果的下侧。
所述压力感测组件可以包括在末端执行器的手指上的多个不同的接触点,这些接触点可以各自被布置为能够获取所述手指的区域施加到水果或蔬菜的压力的指示。所述压力感测组件可以被配置为在抓握一件水果或蔬菜(例如,从所述手指上的多个不同的接触位置)的所述时间段内中给出多个传感器读数。所述系统可以被配置为在挑选和放入容器中的过程中监测所述水果或蔬菜上的压力。所述压力可以用于确定何时提起一件水果或蔬菜是安全的(例如,一旦压力高于阈值水平),和/或所述物品是否被正确握住(例如,它是否相对于一个或多个手指移动)。所述系统可以被配置为基于所述压力读数控制所述手指的移动。例如,在一个或多个区域中的压力太低(例如,它低于阈值)或正在降低的情况下,所述手指可以被移动以增加这个压力(朝向彼此移动,和/或在基于所述物品的确定的移动方向的方向上移动)。同样地,如果压力太高,手指可以移开。所述系统可以被配置为使用压力读数来确定所述水果或蔬菜被足够牢固地握住以被移动,但不会太紧以至于它在移动过程中会被损坏。
至少一个相机可以靠近所述第一机械臂,并且另外地或可选地,至少另一个相机可以靠近所述第二机械臂。所述控制器可以被配置为接收靠近所述第一机械臂的待切割的蔓生果的图像数据,和/或所述控制器可以被配置为接收靠近所述第二机械臂的切割后的蔓生果的图像数据并且基于从所述至少另一个相机接收的图像数据确定切割后的蔓生果的重量。所述控制器可以被配置为基于所述确定的切割后的蔓生果的重量确定是否将切割后的蔓生果包装在容器中。在一些示例中,所述控制器可以被配置为基于所述确定的切割后的蔓生果的重量和/或目标重量确定将切割后的蔓生果包装到哪个容器中或从多个容器中选择容器以将切割后的蔓生果包装到其中。
在一些示例中,所述控制器可能已经将切割后的蔓生果包装到容器中,但所述容器仍然低于目标重量。在这样的示例中,所述控制器可以被配置为基于所述目标重量与所述已经放置在容器中的蔓生果之间的差异来切割新的蔓生果,例如新的葡萄串。例如,所述控制器可以确定差值重量,并且可以被配置为控制所述第一机械臂和所述至少一个第一末端执行器来切割所述蔓生果,以获取重量近似等于所述差值重量的切割后的蔓生果。
所述物品包装系统可以包括传送装置,所述传送装置被配置为将所述蔓生果传送至所述第一机械臂并且将所述蔓生果从所述第一机械臂传送至所述第二机械臂。所述控制器可以被配置为基于所述第一机械臂和/或所述第二机械臂的操作来控制所述传送装置。所述控制器可以被配置为基于第一机械臂的所述至少一个第一末端执行器和/或所述第二机械臂的所述至少一个第二末端执行器中的至少一个的控制来控制传送装置。例如,所述控制器可以被配置为响应于所述第一机械臂的所述至少一个第一末端执行器切割蔓生果,来控制所述传送装置。例如,当所述蔓生果被切割时,所述控制器可以被配置为控制所述传送装置的操作以将切割后的蔓生果与剩余部分分离,从而使得所述第二机械臂更容易握住并操纵切割后的蔓生果。
所述物品包装系统可以包括改变和翻动所述水果的朝向的机构,使得所述蔓生果的不同面暴露于所述至少一个相机。这种机构可以靠近所述第一机械臂和/或在相机的视野中。所述控制器可以被配置为基于与所述翻动后的蔓生果的不同暴露面有关的接收的图像数据做出所述蔓生果的重量的第二确定。所述控制器可以被配置为比较所述蔓生果的第二确定重量与所述蔓生果的所确定的第一重量。然后,所述控制器可以对所述两个重量取平均值以获取所述蔓生果的平均确定重量。另外地或可选地,如果所述两个确定重量之间的差大于选定的阈值差,则所述控制器可以被配置为控制所述物品包装系统以重复重量确定和/或标记错误情况。这可能导致所述蔓生果被拒绝和/或请求来自所述系统的用户/操作者的干预。
所述物品包装系统可以另外地或可选地包括颜色深度相机。这可以使用立体深度感测和/或激光雷达(light detection and ranging,LIDAR)设备来确定到物品的距离和/或确定所述蔓生果的重量。深度感测的类型取决于分析所需的精度水平和其它因素。在一些示例中,可以提供多个相机以提供蔓生果的不同角度的视图。
所述系统可以被配置为使用到所述物品的确定距离以便于挑选和/或确定物品尺寸。所述系统可以包括至少一个:(i)化学传感器,用于检测由所述末端执行器握住的所述物品的化学组成,(ii)成熟度传感器,用于检测由所述末端执行器握住的所述物品的成熟度,以及(iii)坚实度传感器,用于检测所述物品的坚实程度,例如其中所述坚实度传感器包括相机,所述相机被配置为执行所述物品的目视检查。例如,一个或多个末端执行器可以包括化学传感器、成熟度传感器和/或坚实度传感器,和/或可以由系统的附加部件提供的传感器。例如,所述传感器可以至少部分由目视检查系统提供(例如,一个或多个相机和控制器,所述控制器被配置为执行由所述相机获取的物品图像的图像分析)。所述系统可以基于所获取的成熟度指示来控制,诸如基于物品的成熟度来对物品进行分类(例如,将相似成熟度的物品分组到相同容器中,或者分配容器使得每个容器中具有不同成熟度水平的物品)。过熟物品可被丢弃,太软或太硬的物品也可被丢弃。所述至少一个末端执行器可以包括三个手指,每个手指可以具有对应的压力传感器或压力感测组件。
在一些示例中,所述控制器被配置为获取点云信息以确定所述蔓生果的重量。在一些示例中,所述控制器被配置为对接收的图像数据执行语义图像分割以确定茎或梗相对于所述果实的位置,并且其中,所述控制器被配置为使用所确定的茎或梗的位置来控制所述第一机械臂的所述至少一个末端执行器在茎或梗处切割所述蔓生果。
所述控制器可被配置为基于所述接收的图像数据确定握住蔓生果的朝向。例如,所述控制器可以被配置为基于所述茎或梗的确定位置来确定握住蔓生果的朝向。
在一些示例中,所述控制器可被配置为基于接收的图像数据确定所述蔓生果的所述状态,例如基于从靠近所述第一机械臂的相机接收的图像数据。所述控制器可以被配置为确定所述蔓生果或其部分(例如,葡萄串上的葡萄)是否具有在所选择的外观特征的阈值范围之外的外观特征。所述控制器可以被配置为检测水果上存在的各种缺陷。例如,所述控制器可配置为确定蔓生果(例如葡萄串上的任何葡萄)是否出现瑕疵和/或擦伤。在所述控制器确定所述蔓生果的至少部分(例如,葡萄串中的一些葡萄)有瑕疵和/或擦伤(例如,高于所选择阈值的可接受水平)的情况下,所述控制器可以被配置为控制所述第一机械臂和所述至少一个第一末端执行器从所述藤蔓切割有瑕疵和/或擦伤的水果。可选地,如果所述藤蔓上有瑕疵和/或擦伤果实的数量(例如葡萄的数量)超过所述蔓生果的选定比例,所述控制器可以被配置为控制所述系统完全丢弃整个蔓生果。
在所述至少一个第二末端执行器包括压力感测组件的示例中,所述控制器可以被配置为从所述第二机械臂的所述压力感测组件接收传感器信号以获取以下指示:(i)所述末端执行器和被所述末端执行器握住的所述物品之间接触的接触压力的大小;和(ii)所述末端执行器和由所述末端执行器握住的所述物品之间接触的接触压力的方向;和其中,所述控制器被配置为基于所述接触压力的大小的指示和所述接触压力的方向的指示确定所述末端执行器是否正确地握住所述物品。
所述控制器可以被配置为同时在以下两种情况下确定所述末端执行器是否正确地握住所述物品:(i)指示所述接触压力的大小在选定的压力范围内,以及(ii)指示接触压力的方向在选定的方向范围内。
所述控制器可被配置为在以下至少一种情况下确定所述末端执行器没有正确地握住所述物品(i)指示所述接触压力的大小已经增加或降低了大于第一量;(ii)指示所述接触压力的大小正在以大于第一变化率的速率增加或减小;(iii)指示所述接触压力的方向已经改变了大于第二量;和(iv)指示所述接触压力的方向正以大于第二变化率的速率变化。
所述控制器可被配置为在以下至少一种情况下确定所述末端执行器没有正确地握住所述物品:(i)指示所述接触压力的大小正在变化,而指示所述接触压力的方向的保持不变;和(ii)指示所述接触压力的方向正在变化,而指示所述接触压力的大小保持不变。
在所述控制器确定所述一个或多个末端执行器没有正确地握住物品的情况下,所述控制器可被配置为控制所述末端执行器中的至少一个相对于所述物品移动。
控制所述末端执行器中的至少一个以移动包括以下至少一个:(i)在所述接触压力的大小太小的情况下,向内移动所述末端执行器以增加所述末端执行器在所述物品上的接触压力;(ii)在所述接触压力的大小太大的情况下,向外移动所述末端执行器以减小所述末端执行器在所述物品上的接触压力;和(iii)在所述接触压力的方向不是正确方向的情况下,将所述末端执行器围绕物品移动至所述物品的表面上的不同位置。
在所述系统确定所述一个或多个末端执行器没有正确地握住所述物品的情况下,所述系统可执行以下动作中的至少一个:(i)拒绝所述物品以复查;(ii)将所述拒绝记录在数据库中,可选择带有时间戳;(iii)触发报警通知;(iv)将所述物品送回至所述物品被拾取的地方,例如,以使得能够对所述物品进行进一步的目视检查;(v)尝试获取所述物品的尺寸的新指示;(vi)确定所述物品是否被擦伤或损坏;和(vii)提供用于训练机器学习算法的反馈。
所述第二机械臂的所述压力感测组件可以包括由基板制成的电子皮肤,所述基板包括:基底聚合物层;通过第一粘合层附着到所述基底聚合物层的第一中间聚合物层,所述第一中间聚合物层包括第一中间聚合物,所述第一中间聚合物中的富电子基团彼此直接连接或通过任选取代的C1-4烷二基连接;和通过第二粘合层或通过多个第二粘合层附着到所述第一中间聚合物层的第一导电层,在所述第二粘合层之间设置有第二中间聚合物层或第二导电层。纳米线可以存在于所述第一导电层上。所述纳米线可以包括压电材料,所述纳米线可以被提供以实现压电压力感测。
所述纳米线可包含导电材料,并且最好是金属导电材料,其中所述金属导电材料中的所述金属最好选自锌和银,并且更好的是锌,例如以氧化锌的形式。所述金属导电材料可以是晶体形式。所述纳米线可以延伸远离所述第一导电层的表面。纳米线的第一端可以系于第一导电层。所述纳米线的纵横比可为1.5至100,最好为4至50,更好为6至20。所述纳米线可以基本上垂直对准。所述纳米线,例如所述纳米线的表面可以用和目标物质接触时增强电子皮肤感测(如压阻或压电)响应的物质功能化,例如所述纳米线可以用粘合剂、催化剂或试剂功能化。所述纳米线可以用官能团功能化,最好是选自氨基(-NH2)、羟基(-OH)、羧基(-COOH)、酰胺基(-CONH2)和硫烷基(-SH)基团。所述纳米线可以用催化剂功能化,所述催化剂最好将目标物质分裂成子部分,其中子部分之一在所述电子皮肤中诱导感测响应。
所述基板可以包括一对电触头,所述纳米线的感测响应通过所述电触头被传输。例如,所述基板可为所述手指提供压力感测,例如所述压力传感器可包括所述手指上的所述电子皮肤。所述基板可以包括第三导电层,所述每个纳米线的第二端最好被系到所述第三导电层。所述纳米线的感测(例如,压电)响应可以通过一对电触头传输,该一对电触头中的一个电触头附接到所述第一导电层,另一个电触头附接到所述第三导电层。所述第一导电层和所述第三导电层可通过第三粘合层,或最好通过多个(例如,两个)第三粘合层彼此附接,第三中间聚合物层设置在所述第三粘合层之间。所述导电层可以是10nm至300nm、优选为25至200nm、并且更好是50nm至100nm的厚度。所述电子皮肤可包括适合例如通过电触头电连接导电层到信号接收器(例如,诸如控制单元的计算机)的电连接装置,所述电连接装置最好选自电线、柔性电路和即插即用插槽;和/或所述一个或多个基板所附接的支撑件。
在另一方面,提供了一种通过机器人系统将蔓生果如葡萄分类和/或包装到容器中的方法。所述机器人系统包括第一机械臂和第二机械臂,所述第一机械臂包括至少一个第一末端执行器用于从串切割蔓生果(例如葡萄),所述第二机械臂包括至少一个第二末端执行器用于握住和操纵蔓生果以包装到容器中。所述方法包括接收蔓生果的图像数据,基于所述接收的图像数据确定蔓生果的重量,基于确定的所述蔓生果的重量确定在何处切割蔓生果,控制所述第一机械臂的所述至少一个第一末端执行器切割蔓生果,并且控制所述第二机械臂的所述至少一个第二末端执行器握住和操纵切割后的蔓生果到容器中。
所述至少一个第二末端执行器可以包括用于提供接触压力的指示的压力感测组件,并且其中,所述方法包括基于所述接触压力的指示控制所述第二机械臂的所述至少一个第二末端执行器以握住和操纵所述切割后的蔓生果到容器中。
所述至少一个第二末端执行器可包括多个末端执行器。所述至少一个第二末端执行器可以包括多个手指。所述方法还可以包括:接收对所述多个手指之间的物品的接触压力的大小的指示;接收对所述多个手指之间的物品的接触压力的方向的指示;和基于所述接触压力的大小的指示和所述接触压力的方向的指示确定所述多个手指是否正确地握住所述物品。
在另一方面,提供了一种用于操纵物品(例如蔓生果,诸如葡萄串)的机械臂的末端执行器。所述末端执行器包括通过连接部耦接的一对相对的勺,其中,每个相对的勺包括多个手指,并且其中,每个手指包括压力感测装置。所述压力感测装置可包括上述压力感测组件。例如,所述压力感测装置可以包括可选的包含纳米线的电子皮肤。所述压力感测装置被设置为检测或获取由物品引起的每个手指上的压力的大小和方向中的至少一个指示。在一些示例中,所有的所述手指可以具有压力感测装置,但是在其他示例中,只有一些所述手指可以具有压力感测装置。在一些示例中,每个勺可附加地或替代地包括压力感测装置。这可以理解为每个勺可被配置为与人手的手掌类似(例如,提供类似的功能),其中每个手指与人的手指类似(例如,提供类似的功能)。
每个手指可以包括弯曲的指尖,所述弯曲的指尖包括被配置为支撑蔓生果的挤压件。当搁置在表面上时,所述弯曲的指尖可有利地帮助到达蔓生果(诸如葡萄串)的下方,以在被举起时有利地帮助支撑蔓生果以防止或减少蔓生果在由末端执行器操纵/举起时从蔓上掉落的机会。
所述末端执行器可还包括控制器,并且所述控制器可配置为基于所检测的压力的大小和/或方向控制以下至少一个的操作(i)所述勺中的至少一个和(ii)手指中的至少一个。这可以理解为所述控制器可以是与为上述所述包装系统提供的所述控制器相同的控制器。
所述控制器可以被配置为基于蔓生果是否相对于所述手指移动的指示确定末端执行器是否正确地握住物品,并且其中,所述控制器被配置为响应于确定所述末端执行器没有正确地握住蔓生果而控制所述末端执行器操纵所述手指中的至少一个。
所述控制器可以被配置为基于每个所述手指上的压力的大小和方向中的至少一个确定该物品的近似形状,并且其中,所述控制器被配置为基于所述确定的近似形状来操纵以下中的至少一个:(i)所述勺中的至少一个和(ii)所述手指中的至少一个。
所述控制器可被配置为同时在以下两个情况下确定所述末端执行器是否正确地握住所述物品:(i)指示接触压力的大小在选定的压力范围内,以及(ii)指示接触压力的方向在选定的方向范围内。
所述控制器可被配置为在以下至少一种情况下确定所述末端执行器没有正确地握住所述物品:(i)指示所述接触压力的大小的已经增加或降低了大于第一量;(ii)指示所述接触压力的大小的正在以大于第一变化率的速率增加或减小;(iii)指示所述接触压力的方向的已经改变了大于第二量;和(iv)指示所述接触压力的方向的正在以大于第二变化率的速率变化。
所述控制器可被配置为在以下至少一种情况下确定所述末端执行器没有正确地握住所述物品:(i)指示所述接触压力的大小正在变化,而指示所述接触压力的方向保持不变;和
(ii)指示所述接触压力的方向正在变化,而指示所述接触压力的大小保持不变。
在所述控制器确定一个或多个末端执行器没有正确地握住物品的情况下,所述控制器可被配置为控制至少一个末端执行器和/或每个勺或其中一个勺相对于物品移动。
控制所述至少一个末端执行器移动可以包括以下中的至少一个:(i)在所述接触压力的大小太小的情况下,向内移动所述末端执行器、手指或勺以增加所述末端执行器在所述物品上的接触压力;(ii)在所述接触压力的大小太大的情况下,向外移动所述末端执行器、手指或勺以减小所述末端执行器在所述物品上的接触压力;和(iii)在所述接触压力的方向不是正确方向的情况下,将所述末端执行器、手指或勺围绕所述物品移动至所述物品的表面上的不同位置。
在所述系统确定一个或多个末端执行器没有正确地握住物品的情况下,所述系统可执行以下动作中的至少一个:(i)拒绝所述物品以复查(例如通过将所述物品放置在被指定为废料的容器中);(ii)将所述拒绝记录在数据库中,可选择带有时间戳;(iii)触发报警通知;(iv)将所述物品送回至所述物品被挑选的地方,例如,以使得能够对所述物品进行进一步的目视检查;(v)尝试获取所述物品的尺寸的新指示;(vi)确定所述物品是否被擦伤或损坏;和(vii)提供用于训练机器学习算法的反馈。
在另一方面,提供了一种用于分类蔓生果(例如葡萄串)的设备。该设备包括用于接收蔓生果(诸如葡萄串)的料斗和用于接收蔓生果的溜槽,所述溜槽具有用于从所述料斗接收蔓生果的第一开口端和配置为将蔓生果放到传送装置的第二开口端。所述设备还可以包括相机和旋转装置,所述旋转装置被配置为使蔓生果在相机前旋转,以使得所述相机能够获取蔓生果的多个不同图像。所述相机和旋转装置可以与控制器耦合,并且所述控制器可以被配置为操作所述相机和旋转装置以获取从不同方向观察到蔓生果的多个静止帧,例如所述控制器可以被配置为分析多个静止帧以确定蔓生果的任何区域是否包含瑕疵或缺陷。
可以理解的是,所述物品包装系统可包括用于分类蔓生果(诸如葡萄串)的设备。
本公开的压力感测组件可包括接触压力感测组件,包括:用于所述机械臂的所述末端执行器的所述手指的电子皮肤,其中所述电子皮肤可包括:(i)多个压阻传感器,每个压阻传感器被配置为获取压阻信号;和(ii)多个压电传感器,每个压电传感器被配置为获取压电信号,从而提供压力感测组件。本公开的控制器可被耦接到所述电子皮肤以从所述电子皮肤接收压阻和压电信号。所述控制器可被配置为处理所述压阻信号以识别与其相关的一个或多个压阻参数,并且处理所述压电信号以识别与其相关的一个或多个压电参数。所述控制器可以被操作来识别由所述末端执行器的所述手指握住的物品相对于所述电子皮肤的移动,基于如下参数的幅度和/或相位差:(i)来自一个压电传感器的压电信号中的所述一个或多个压电参数与(ii)来自另一压电传感器的压电信号中的所述一个或多个压电参数。所述控制器可以被配置为基于来自与第一手指相关联的压阻信号的一个或多个压阻参数来确定所述物品和所述一个压电传感器相关联的第一手指之间的接触压力。
这样的接触压力感测组件可以实现更灵敏和/或精确的压力感测,以及更可靠地实现压力感测,因为压电传感器的结果可以向使用压阻传感器获取的信息提供补充信息(反之亦然)。例如,所述传感器数据的组合可以使得所述组件能够执行传感器数据之间的交叉检查或比较(例如增加来自一种类型的传感器的测量是正确的可靠性)。所述组件可以使得使用压电传感器检测压力改变的指示(例如,由于物品相对于所述手指的一些移动),并且使用压阻传感器监测接触压力的指示(例如其幅度/方向等)。这可以结合接触压力的实时监测来实现更快的检测移动。
响应基于压电信号识别到由所述末端执行器的所述手指握住的物品相对于所述第一手指的所述电子皮肤移动,所述控制器可被配置为监测与所述第一手指相关联的压阻信号以确认所述物品相对于所述第一手指的所述电子皮肤移动。所述控制器可被配置为基于不同压电信号之间的相位差确定所述物品的移动方向。对于所述末端执行器的所述至少一个手指,所述电子皮肤可包括第一压电传感器和远离所述第一压电传感器定位的第二压电传感器。所述控制器可被配置为基于来自所述第一压电传感器和所述第二压电传感器的压电信号确定物品是在所述第一压电传感器还是所述第二压电传感器的方向上移动。所述一个或多个压阻参数可以包括与该传感器相关联的电压变化,和/或其中该一个或多个压电参数包括以下各项中的任一项:最大电压、最小电压、电压变化和/或电压变化率。所述控制器可以被配置为控制所述手指中的至少一个手指相对于所述物品移动,其中所述控制器被配置为基于所述物品的所述确定的移动方向确定所述手指移动的方向。在所述控制器确定所述物品相对于第一手指移动的情况下,所述控制器可被配置为基于来自所述第一手指上的压阻信号的电压变化确定所述物品与所述第一手指之间的接触压力。例如,所述控制器可以控制所述手指移动到可以与所述物品的移动方向相反的位置。
所述压力感测组件可以被配置为基于所述手指上的多个不同位置中的每个位置处的接触压力测量值来获取所述手指与所述手指所握住的物品之间的接触的接触压力的空间分布。所述系统可以被配置为基于所述接触压力的空间分布来识别所述手指与所述物品之间的接触压力的方向性的指示。所述系统可以被配置为基于接触压力的空间分布以及所述手指与所述物品之间的接触压力的方向性的指示确定所述手指是否正确地持有所述物品。
所述系统可以被配置为接收水果或蔬菜等物品的类型的指示。压力的选定范围可以基于水果或蔬菜等物品类型的指示来选择。例如,所述系统可以被配置为获取所述系统中使用的每种类型的水果和/或蔬菜的适当压力值的指示。基于所获取的所述物品类型的指示,所述系统可以被控制成使得压力维持在在针对该特定类型的物品的选定范围内。所述系统可以被配置为接收指示所述物品类型的输入(例如,来自所述系统的图像处理元件或者作为来自所述系统的操作人员的输入)。基于所述物品类型的输入,所述系统可以识别压力的选定范围(例如,基于历史数据)。
在示例中,所述系统可以包括位移传感器,所述位移传感器被配置为获取所述末端执行器之间的相对位移的指示,例如在所述不同的手指之间。所述包装系统可以被配置为确定所述末端执行器没有正确地握住所述水果或蔬菜等物品如果至少其中一种情况:(i)指示压力(幅度和/或方向)正在改变,同时指示位移基本保持不变,和(ii)指示位移正在改变,同时指示压力(幅度和/或)基本保持不变,那么确定末端执行器没有正确地握住水果或蔬菜等物品。例如,(i)可能表示所述物品的滑移,和/或(ii)可能表示所述物品的挤压。改变可以包括高于阈值量的值的总改变,或者处于或大于所选择的变化率的改变。
所述位移传感器可以至少部分地由相机(例如,上述提及地相机中的一个)提供。所述系统可以被配置为基于尺寸的指示将所述水果或蔬菜等物品分配给选定数量的容器中的一个。例如,所述系统可以被配置为识别多个敞开的容器(例如待放置所述物品的未满容器)。所述系统可以被配置为识别与每个敞开的容器相关联的一个或多个选择标准,诸如对待放置到所述敞开的容器中的物品的一个或多个特性的要求的指示。例如,针对待放入敞开的容器中的物品的选择标准可以包括以下至少一项的指示:(i)物品的大小,(ii)物品的形状,(iii)物品的颜色,(iv)物品的成熟度和/或坚实度,(v)物品的类型,(vi)物品的化学组成,和/或(vii)物品的适合性,如与物品相关的若干缺陷。所述系统可被配置为识别待包装物品的相关特性,并基于与所述物品相关联的一个或多个特性和与敞开的容器相关联的相关选择标准来选择物品将放入的敞开的容器。例如,所述系统可以被配置为获取物品特性的指示(例如其尺寸)并且基于该属性选择敞开的容器(例如,旨在接收该尺寸的物品的敞开的容器)。在存在匹配(例如,对于该物品合适的敞开的容器)的情况下,所述系统被配置为将该物品放置在所述容器中。
所述系统可以被配置为基于(i)所述水果或蔬菜等物品的大小的指示和(ii)基于每个所述选定容器中的剩余空间,将所述水果或蔬菜等物品分配给选定数量的容器中的一个。所述系统的数据存储器可以存储敞开的容器以及它们具有什么可用空间的指示(以及与指定哪些物品将被放置在所述容器中的敞开的容器相关联的标准),和/或容器可用性可以即时确定,如使用相机识别敞开的空间。
本公开的方面可以提供一种计算机可读非暂时性存储介质,其包括用于计算机的程序,所述程序被配置为使处理器执行本文公开的任何方法。
附图说明
现在将参考附图仅通过示例的方式来描述本公开的一些示例,其中:
图1以平面图示出了用于分类和/或包装诸如葡萄的物品的示例性系统的示意图。
图2以平面图示出了用于分类和/或包装诸如葡萄的物品的另一个示例性系统的透视图。
图3示出了用于切割诸如葡萄串的蔓生果的示例末端执行器的透视图。
图4示出了用于抓握、握住和/或操纵诸如葡萄串的蔓生果的示例末端执行器的透视图。
图5示出了在感兴趣区域内识别的并且应用了掩膜的传送装置上的两串葡萄。
图6示出了示例葡萄串和突出显示茎/梗的相同葡萄串的图像,用于训练机器学习模型以识别葡萄串中的茎。
图7以平面图示出了用于分类和/或包装诸如葡萄的物品的另一个示例性系统的示意图。
图8A至图8D示出了用于抓握、握住和/或操纵蔓生果(诸如葡萄串)的另一个示例末端执行器的视图。
图9A和9B示出了用于标定相机与机械臂在相机的视野内占据的物理位置之间的关系的示例系统的视图。
在附图中,相似的附图标记用于表示相似的元件。
具体实施方式
本公开的实施例涉及用于分类和/或包装物品(例如水果和/或蔬菜等物品)的系统和方法。机械臂与联接到机械臂端部的末端执行器结合使用。末端执行器可操作以抓握水果或蔬菜等物品(例如,末端执行器可以包括一个或多个手指)。压力感测组件被用于识别由末端执行器抓握的水果或蔬菜等物品的属性,例如其尺寸、形状、成熟度或者物品是否被正确地握持(例如,其是否相对于手指移动)。然后,机械臂可以控制水果或蔬菜等物品的移动,例如将其放入容器中,该容器是基于这个识别到的属性而选择的。本公开的实施例还涉及利用一个或多个相机来确定水果和/或蔬菜等物品的一个或多个属性的系统和方法,例如颜色、形状、或指示该物品应该被放置在哪里的任何其它属性(例如,它是否应该被丢弃)。实施例可以利用机器学习来提供水果和/或蔬菜等物品的已改进的图像检测和分类。
现在将参照图1来描述示例性水果和/或蔬菜包装系统。
图1示出了适合采摘葡萄的物品包装设备或系统100。然而,应当理解的是,图1的物品采摘设备或系统100可以适合与其它非线性物体一起使用,例如其它非线性的水果和蔬菜,如香蕉串或其它蔓生果或蔬菜,如番茄。
系统100包括第一机械臂110,第一机械臂110包括用于从葡萄串中切割葡萄的至少一个第一末端执行器120。至少一个第一末端执行器120可以包括用于从葡萄串中切割葡萄的切割装置。系统100还包括沿着第一传送装置130与第一机械臂110间隔的第二机械臂114。第二机械臂114包括用于握持和操纵葡萄串以包装到容器142中的至少一个第二末端执行器122。第一机械臂110和第二机械臂114设置在各自的可移动平台112、116上。它们可移动的事实可能意味着如果要手动执行任务,则可以将它们移开。移动平台112、116可以各自包括控制器,例如用于控制每个机械臂110、114及其各自的末端执行器120、122的局部控制器。
在图1所示的示例中,系统100还包括一对相机155,该对相机155被布置为观察第一传送装置130靠近每个机械臂110、114的区域,使得在图1所示的示例中存在四个相机155,每个机械臂110、114有两个相机155。然而,可以理解的是,在其它示例中,对于每个机械臂110、114可以只有一个相机155(例如,如以下更详细描述的图7的示例中所指示的)和/或相机中的一个可以用激光雷达(light detection and ranging,LIDAR)设备来替换。
该系统可以包括一个或多个照明元件。照明元件可以被配置为将光引导到其中相机155被配置为获取物品的图像的区域。例如,一个或多个照明元件可以被配置为使得每个相机155获取被照明物品的图片。一个或多个照明元件可以连接到相机155和/或控制器以使得能够定时照明,使得当要获取图像时照明元件开启。例如,每个相机155可以具有与其自身相关联的光。
系统100还包括控制器160,控制器160包括数据存储器164、处理器166和通信接口168。控制器160可以另外地或可选地包括图形用户界面(graphical user interface,GUI)(未示出)。在一些示例中,控制器的功能可以由安装在机械臂110、114之一的可移动平台112、116中的(局部)控制器提供,例如使得一个(局部)控制器被配置为充当“主”控制器并且另一个控制器被配置为充当“从”控制器。
系统100还包括可选的第二传送装置140,在所示的示例中,第二传送装置140垂直于第一传送装置130行进并且是第二机械臂114可到达的,使得第二机械臂114能够握持和操纵来自第一传送装置130的切割后的葡萄串到第二传送装置140上的容器142中。然后,第二传送装置140可以将已包装的容器142运走以进行密封/包装。在所示的示例中,第一传送装置130和第二传送装置140是可移动的皮带,这些可移动的皮带被配置为运输设置在其上的物品,如水果。然而,在其它示例中,传送装置130、140中的至少一个可以是静止的。还可以理解的是,在其它示例中,第二传送装置140可以平行于第一传送装置130。
在一些示例中,在第一传送装置130的端部有用于收集例如从葡萄串上掉落的松散葡萄的收集器。收集在收集器中的松散葡萄可以用于包装,例如通过第二机械臂114包装。
在图1所示的示例中,存在相应的光闸,在这种情况下,该光闸为靠近每个机械臂110、114的红外传感器150、152。红外传感器150、152被配置为确定在传送装置130上是否存在靠近每个机械臂110、114的物体/物品。控制器可以被配置为使用来自每个红外传感器150、152的传感器输入来控制每个机械臂110、114的操作和/或控制传送装置130的操作。虽然描述了红外传感器,但是可以使用其它类型的传感器,该其它类型的传感器被配置为确定是否在传送装置130上存在诸如葡萄串的物体/物品。例如,传送装置130可以包括在下面的压力传感器,该压力传感器被配置为检测在传送装置130上是否存在物体/物品。在一些示例中,第二传送装置140还可以包括被配置为确定容器142是否存在的红外传感器。另外地或可选地,传送装置140可以包括重量传感器,其被配置为确定容器142和/或置于容器142中的水果(例如,切割后的葡萄串133)的重量。在一些示例中,重量传感器可以用作控制器160所采用的目视重量估计算法的验证工具。应当理解,从重量传感器获取的数据可以用于,例如通过强化,来改进机器学习。在一些示例中,如果来自重量传感器的确定重量与预期重量(例如,由控制器160通过利用相机155的目视检查所确定的重量)相差超过选定阈值,则这可能导致容器142被丢弃和/或指示需要手动检查容器142的通知被发送。例如,如果来自重量传感器的确定重量与预期重量(例如,由控制器160通过利用相机155的目视检查所确定的重量)相差超过所选择的阈值,则控制器160可以标记错误情况。这可能导致葡萄串被拒绝和/或请求来自系统的用户/操作者的干预。在一些示例中,这可能涉及第二机械臂114握住和操纵葡萄串并将它们放置在垃圾箱或容器中。
至少一个第二末端执行器122可以包括用于提供接触压力的指示的压力感测组件。上述压力感测组件可以包括压力感测组件(如参照图4和图8更详细地描述的)。该压力感测组件可以包括:(i)多个压阻传感器,每个压阻传感器被配置为获取压阻信号;和(ii)多个压电传感器,每个压电传感器被配置为获取压电信号,从而提供该压力感测组件。在一些示例中,至少一个第二末端执行器122可以包括用于确定握住在其间的物品/葡萄串的接触压力的一对或更多个末端执行器。在一些示例中,至少一个第二末端执行器122可以包括用于在由至少一个第二末端执行器122握持和操纵时支撑葡萄串的下侧的勺或勺形部(如下面更详细描述的图4所示)。勺或勺形部可以包括多个手指,并且每个手指可以包括具有电子皮肤的部分。
相机155被布置为提供在传送装置130上行进的葡萄串的图像数据。控制器被配置为接收葡萄串的图像数据并基于所接收的图像数据确定葡萄串的重量。控制器可以被配置为从靠近第一机械臂110的一对相机155接收待切割的葡萄串的图像数据,和/或控制器还可以被配置为从靠近第二机械臂114的一对相机155接收切割后的葡萄串的图像数据并且基于从靠近第二机械臂114的一对相机155接收的图像数据确定切割后的葡萄串的重量。控制器可以被配置为基于所确定的切割后的葡萄串的重量确定是否将切割后的葡萄串包装到容器142中。在一些示例中,控制器可以被配置为基于所确定的切割后的葡萄串的重量和/或目标重量确定将切割后的葡萄串包装到哪个容器142中或从多个容器142中选择容器142以将切割后的葡萄串包装到其中。
控制器被配置为控制第一机械臂110的至少一个第一末端执行器120以基于所确定的葡萄串的重量来切割葡萄串,并且控制器被配置为控制第二机械臂114的至少一个第二末端执行器122以将切割后的葡萄串握住和操纵到容器中。
应当理解,当描述控制器160被配置为确定葡萄串的重量时,控制器160可以被配置为仅通过目视检查进行该操作。另外地或可选地,控制器160可以被配置为仅通过目视检查确定葡萄串的质量。在一些示例中,控制器160可以被配置为确定葡萄的类型/种类并且基于所确定的类型/种类和所估计的葡萄串的尺寸(例如,就面积和/或体积而言)确定葡萄串的重量和/或质量。可以通过图像识别来执行对类型/种类的确定,例如使用预先训练的机器学习算法。可以例如使用点云分析、语义图像分割和/或实例分割来执行对尺寸的确定/估计。
在至少一个第二末端执行器122包括压力感测组件的示例中,控制器可以被配置为基于接触压力的指示控制第二机械臂114的至少一个第二末端执行器122,以将切割后的葡萄串握持和操纵到容器142中。
在一些示例中,控制器可能已经将切割后的葡萄串包装到容器142中,但该容器142仍低于目标重量。在这样的示例中,控制器可以被配置为基于目标重量与已经放置在容器142中的葡萄串的重量之间的差异来切割新的葡萄串。例如,控制器可以确定差值重量,并且可以被配置为控制第一机械臂110和至少一个第一末端执行器120来切割葡萄串,以获取重量近似等于差值重量的切割后的葡萄串。然后,第一传送装置130可以将重量近似等于差值重量的切割后的葡萄串运输至靠近第二机械臂114的区域,其中,至少一个第二末端执行器握住和操纵切割后的葡萄串并且将切割后的葡萄串放置或包装到内部已经具有先前切割的葡萄串的容器142中。这样,系统100可以被配置为将葡萄包装进容器142以达到目标重量或重量范围。
控制器还可以被配置为基于第一机械臂110和/或第二机械臂114的操作来控制第一传送装置130。控制器可以被配置为基于第一机械臂110的至少一个第一末端执行器120和/或第二机械臂114的至少一个第二末端执行器122中的至少一个的控制来控制第一传送装置130。例如,控制器可以被配置为响应于第一机械臂110的至少一个第一末端执行器120切割葡萄串,来控制第一传送装置130。例如,当葡萄串被切割时,控制器160可以被配置为控制第一传送装置130的操作以将切割后的葡萄串与该串的剩余部分分离,以使第二机械臂114/至少一个第二末端执行器122更容易握持和操纵切割后的葡萄串。控制器还可以被配置为,例如基于第二机械臂114的操作和/或当容器已经被包装到预设的重量或重量范围时,控制可选的第二传送装置140的操作。
物品包装100系统可以包括被布置为操纵(例如,翻动)葡萄串的可选的操纵装置121,使得葡萄串的不同面暴露于至少一个相机155。操纵装置121可以包括转盘或L形台,其被配置为旋转至少90度以在第一传送装置130上翻动或转动葡萄串。在一些示例中,第一传送装置130可以包括两个部分——在操纵装置121的一侧的第一部分和在操纵装置121的另一侧的第二部分,使得葡萄串可以从第一部分递送到操纵装置121上,然后操纵装置121将葡萄串翻动到传送装置130的第二部分上。传送装置130和/或操纵装置121的操作可以由例如红外传感器150的传感器控制,红外传感器150靠近第一机械臂110并且被配置为检测物体/物品(如葡萄串)是否存在。
操纵装置121可以靠近第一机械臂110和/或在一对相机155的视野中,该对相机155被布置为观察第一传送装置130的靠近第一机械臂110的区域。控制器160可以被配置为基于所接收的与翻动后的葡萄串的不同暴露面有关的图像数据做出葡萄串的重量的第二确定。控制器160可以被配置为比较葡萄串的第二确定重量与葡萄串的所确定的第一重量。然后,控制器160可以对这两个重量取平均值以获取葡萄串的平均确定重量。另外地或可选地,如果两个确定重量之间的差大于选定的阈值差,则控制器160可以被配置为控制物品包装系统重复重量确定和/或标记错误情况。这可能导致葡萄串被拒绝和/或请求来自系统的用户/操作者的干预。在一些示例中,这可能涉及第二机械臂114握持和操纵葡萄串并将它们放置在垃圾箱或容器中。
在一些示例中,控制器160可以被配置为在葡萄被操纵(例如,翻动)之前和/或之后执行葡萄串的目视检查(如下面更详细描述的)。在一些示例中,控制器160可以被配置为控制第一机械臂110的第一末端执行器120来切割或剪除识别为有缺陷(例如,包括瑕疵)的任何葡萄。在一些示例中,控制器160可以被配置为,即在葡萄串被可选的操纵装置121翻动之前和之后,针对葡萄串的每一侧执行该操作。
在一些示例中,例如当系统包括如下面更详细讨论的诸如LiDAR传感器和/或RGB-D相机的深度传感器时,控制器160被配置为获取点云信息。控制器160可以使用点云信息,例如通过确定组成葡萄串的每个葡萄的尺寸/体积,例如通过对葡萄串的每个葡萄建模,以确定葡萄串的重量。在一些示例中,控制器还可以被配置为基于例如图像识别来确定葡萄的种类/品种,然后基于它们确定的尺寸/体积和它们确定的种类/品种来确定葡萄的重量或质量。
在一些示例中,控制器160被配置为对所接收的图像数据执行语义图像分割以确定葡萄串中茎或梗相对于葡萄的位置,并且其中,控制器160被配置为使用所确定的茎或梗的位置来控制第一机械臂110的至少一个第一末端执行器110在茎或梗处切割葡萄串。另外地或可选地,控制器160可以被配置为基于所接收的图像数据确定握持葡萄串的朝向。例如,控制器可以被配置为基于所确定的茎或梗的位置确定握住葡萄串的朝向。
在使用中,葡萄串按顺序被供给到传送装置130上。传送装置130由控制器160控制以将葡萄串递送到机械臂110、114。当葡萄串沿传送装置130行进时,该葡萄串接近第一红外传感器150并遮挡第一红外传感器150,向控制器160指示葡萄串位于靠近第一机械臂110的位置。这使得传送装置130停止,并且通过使用第一对相机155执行对葡萄串的目视检查。然后,控制器160可以对从相机155接收的图像数据执行实例分割(如下文更详细描述的)以识别感兴趣区域并将掩膜应用于该感兴趣区域内的葡萄串。然后,控制器160可以基于掩膜的尺寸(例如,基于掩膜中的像素的数量)确定葡萄串的重量。然后,控制器160可以根据所确定的重量和每个容器142的目标重量,和/或是否有任何葡萄已经被放置在容器142中,确定是否切割葡萄串。如果确定要切割葡萄串,则控制器160确定切割葡萄的位置(如下文将更详细描述,但是这可以基于经过训练的语义分段机器学习模型)。然后,控制器160控制第一机械臂110和至少一个第一末端执行器120在梗/茎处切割葡萄串,以给出填充或装满容器142所需的期望重量的葡萄。例如,如果每个容器142的目标重量是500g,并且该容器中已经存在重量为300g的葡萄,则控制器160确定该容器142还需要200g的葡萄,并且切割葡萄串以给出重量为200g的切割后的葡萄串,使得该容器可以被填充142至所期望的目标重量。应当理解,目标重量可以由用户例如通过GUI来设置和调整。在一些示例中,控制器160还可以被配置为确定葡萄串已经被放置在容器142内的何处,使得如果更多串/另一串葡萄串将被放置在同一容器142中,那么另外的葡萄/葡萄串可以被放置在不同的位置以将葡萄更均匀地分布在容器142内。在一些示例中,系统可以包括另一个相机或另一对相机155,以为此目的对容器142进行目视检查。
一旦葡萄串已经被切割,控制器160就控制传送装置130将切割后的葡萄串传送至第二机械臂114。此时,当切割后的葡萄串接近第二机械臂114时,第二红外传感器152检测到解切割后的葡萄串的存在,并且使得传送装置130随着切割后的葡萄串靠近第二机械臂114而再次停止。然后,第二对相机155获取图像数据,并且作为验证步骤,控制器160可选地做出切割后的葡萄串的重量的第二确定。如果重量的第二确定给出的指示重量不同于控制器160希望或期望放入容器142中的重量,例如在期望重量的选定范围之外(例如,预期重量可以是控制器160已经确定的葡萄串被第一末端执行器120首次切割后的剩余重量),葡萄串可以被丢弃或者可替换地放入与最初预期不同的容器142中。如果重量的第二确定指示重量在第一确定重量的选定阈值内,则控制器控制第二机械臂和至少一个第二末端执行器122小心地拾取葡萄串,旋转并将该葡萄串放入在第二传送装置140上的容器142中。在一些示例中,一旦将葡萄放入容器142中,就获取重量的第三确定。例如,容器142可以在重量传感器上,该重量传感器可以例如在葡萄已经放入容器142之前和之后对容器142称重。重量的第三确定可以用作交叉检查,并且可以用于例如通过强化学习来训练在控制器160上操作的机器学习算法。
然后,这一过程可以重复很多次,以获得更多的葡萄串。
图2中示出了图1的系统100的示例的透视图。图2所示的系统200在许多方面非常类似于图1所示的系统100,相同的附图标记指示具有类似或相同功能的特征。然而,与图1所示的系统100不同的是,第一传送装置130由两个单独的传送装置230a和230b代替。两个传送装置230a、230b可以在高度上分开,从而使得靠近第一机械臂210的第一传送装置230a高于靠近第二机械臂214的第二传送装置230b。使用靠近被配置为执行剪下操作的至少一个第一末端执行器220的两个单独的传送装置230a、230b可有助于分离剪掉或切割后的葡萄串。剪掉或切割后的葡萄串的分离可以以两种方式进行。首先,在剪下之后,修剪器(即,至少一个末端执行器220)可以稍微前后移动以给出小的精细间隙。另外地或可选地,当使用两个传送装置时,控制器160可以控制两个传送装置230a、230b的速度,使得传送装置230a在修剪机器人(即,第一机械臂210)前面的传送装置230a略高于在拾取和放置机器人(即,第二机械臂214)前面的传送装置230b。因此,由于重力,葡萄将更快地移动并且首先到达第二传送装置130b。如果通过控制器160控制第二传送装置230b以比第一传送装置130a更高的速度移动,则这将确保这些葡萄串被分开。
在一些示例中,可以额外地存在放置在末端执行器上(例如放置在至少一个第二末端执行器122、222上)的相机,以了解用末端执行器抓握的质量。可以在传送装置130a、130b的任一侧上放置沟槽,以确保在操作过程中掉落的任何葡萄将被适当地处理。
如图2所示,至少一个第一末端执行器220可以是修剪装置或切割器,例如一副剪刀或大剪刀。在图3的透视图中更详细地示出了至少一个第一末端执行器220。形成图3所示的第一末端执行器220的一对切割器包括一端具有切割装置另一端具有手柄的一对臂,其中枢轴耦合该对臂以将切割装置与手柄分离。该对臂可选地被板弹簧偏置以保持在打开构型,使得切割装置处于打开构型。在所示的示例中,臂在长度上大于切割装置的长度,在这种情况下臂的长度大约是切割装置的长度的三倍。这不仅提高了当切割器合拢在一起时可以由切割器施加的切割力的量,而且意味着切割装置相对较小,意味着切割装置可以容易地插入靠近将要进行切割的位置的其它物体中。第一末端执行器220被配置为移动切割器的手柄,以通过将切割器的臂合拢在一起而将切割器在打开构型与关闭构型之间移动,从而将该对切割装置合拢在一起并且由此在该对切割装置合拢在一起时切割位于该对切割装置之间的任何物体。一旦物体已经被切割,第一末端执行器被配置为将切割器的手柄从关闭构型移动或收回到打开构型(在这种情况下通过可选的偏置装置辅助),使得切割装置被分开并处于打开构型,准备好接收待切割的物体(例如葡萄串的梗或茎)。有利的是,已经发现,使用这种相对较小且尖锐的切割装置意味着切割装置可以有利地插入葡萄串中并被移动到葡萄之间的位置,以切割位于葡萄之间的梗或茎。
为了操作和移动切割器的每个臂,第一末端执行器220包括被配置为附接到并固定切割器的每个臂的紧固装置。第一末端执行器220还包括致动的悬臂机构,其能够以稍微弓形的方式移动紧固装置,以使臂彼此靠近和分开,从而执行切割动作。
如图2中还可见,至少一个第二末端执行器222可以被配置为勺起或收集葡萄串。在图2所示的示例中,至少一个第二末端执行器222包括一对相对的勺。这在图4中更详细地示出。图4示出至少一个第二末端执行器222,该第二末端执行器222包括由连接部分490耦合的一对相同的相对勺,该连接部分490被配置为由控制器160控制以控制或调节两个勺之间的间隔(可以理解的是,用于第二末端执行器222的连接部分490可以与用于第一末端执行器220的连接部分相同,这可以提高机械臂210、214的互用性并减少维护和制造成本)。每个勺包括多个(在本示例中,三个)指部或手指480。每个指部或手指480可以包括对应的压力感测装置485,如以下将更详细描述的。压力感测装置485被布置为检测在抓取期间施加在要抓取的水果上的力的大小,这在处理例如葡萄的不规则形状的水果时特别重要。了解如何抓取以避免水果从末端执行器222滑落,是非常重要的。
至少一个第二末端执行器222的勺机构设计成小心地处理水果而不造成任何损坏。因为在所示的示例中有六个指部或手指480,所以每个指部或手指将在不同的接触区域处给出不同的反作用力。基于手指上每个传感器上的反作用力,可以确定果实的近似形状(例如,通过控制器160)。控制器160可以被配置为施加所需的力来握住葡萄而不损坏水果,而不管它们的形状如何。这种勺机制的优点是,基于水果类型可以修改手指的数量和指尖的长度,并且可以拾取宽度范围高达160mm的葡萄。
每个指部或手指480终止于弯曲的指尖487。指尖487被设计成具有挤压件,该挤压件将用作支撑件,并且还确保水果在从拾取位置移动到放置位置期间不会出来。在一些示例中,压力感测装置485还可以附接至指尖487,这可以帮助了解在它们从拾取位置转移至放置位置期间是否有任何滑动,基于此我们可以调节机器人的速度和系统操作的速度。调节机器人的速度可有助于减少损坏并有助于减少运动过程中葡萄掉落。形成每个指尖487的挤压件的长度可以基于待加工的葡萄串所需的平均反作用力来控制,该平均反作用力将抵消葡萄的重量产生的力。
勺设计的独特性基于以下认识:并非葡萄串中的所有葡萄在被加工之前都会停留在传送装置上,实际上,当葡萄被放置在例如传送装置130的表面上时,通常只有非常少的葡萄会停留在传送装置130的表面。在一些示例中,控制器160可以被配置为基于例如由相机160捕获的图像数据来估计葡萄的接触面积和/或朝向中的至少一个,从而基于葡萄的形状估计至少一个第二末端执行器122、222的最佳朝向。控制器160可使用该估计来确定例如至少一个第二末端执行器122、22的朝向和/或至少一个第二末端执行器122、222可以闭合到什么程度,同时仍确保葡萄由末端执行器支撑并停留在指尖487上。应当理解的是,勺的设计和指尖487的使用意味着指尖487到达葡萄的下面,这些葡萄正好位于停留在传送装置130上的葡萄的上方。一旦从传送装置130拾取葡萄,重力将试图向拉下葡萄,但是在不同位置的指尖487的反作用力将确保被提起的葡萄是非常稳定的。一旦基于关于葡萄是否滑落的确定将葡萄提起(如将在下面更详细描述的),控制器160可以被配置为进一步打开或关闭末端执行器122、222,以在勺的内部获得最稳定的状态,从而将葡萄串从传送装置130移动到容器142。
如上所述,控制器160可以被配置为获取点云信息和/或执行语义图像分割。在一些示例中,控制器160可以被配置为执行对象检测和语义分割以执行实例分割。实例分割是有挑战性的,因为它需要正确检测图像中的所有对象,同时还需要精确地分割每个实例。因此,实例分割结合了来自对象检测的经典计算机视觉任务以及语义分割的元素,经典计算机视觉任务的目标是使用边界框分类各个对象并定位各个对象,语义分割的目标是将每个像素分类到一组固定的类别中而不区分对象实例。
可使用对象检测应用程序接口(Application Programming Interface,API),例如对象检测API,来执行对象检测,/>对象检测API是构建在之上的开源框架,/>让构造、训练和部署对象检测模型变得容易。卷积神经网络库可以用于提供对象检测模型。对象检测模型可以被运行以提供葡萄的实时检测和定位,以便于操纵葡萄。优选地,用于该任务的模型是全卷积检测器类型模型,诸如你只看一次(You only look once,YOLO)(例如,如Redmon等人“YOLO9000:Better,Faster,Stronger,25 Dec 2016,https://arxiv.org/pdf/1612.08242v1.pdf中所描述的)和/或单发多边框检测器(Single Shot MultiBox Detector,SSD)(例如,如Liu等人“SSD:SingleShot MultiBox Detector”,29 Dec 2016,https://arxiv.org/pdf/1512.02325.pdf中所描述的)。除了对象检测之外,可以使用预测每个感兴趣区域(Region of Interest,RoI)上的分割掩膜的模型来预测葡萄所在的像素。这可以被馈送到例如重量估计算法和挑选与放置流水线的其它算法中。
所使用的相机160可以是RGB-D相机,RGB-D相机是与RGB相机相关联的特定类型的深度感测装置,其能够以每像素为基础利用深度信息(与到传感器的距离相关)来增强常规图像。相机160可以提供多个传感器,这些传感器除了提供经过处理的数据格式(例如点云流)之外,还提供唯一的信息流。
例如,相机160可操作以具有分辨率高达1920x1080像素、每秒30帧的RGB帧的彩色图像流,以及深度图像流(测量到场景中任何给定点的距离(即,“范围”或“深度”)的能力),这将深度相机与传统的二维(2-dimensional,2D)相机区分开来。该流提供深度传感器的帧中的每个像素的深度测量。深度传感器的视野(field of view,FOV)与颜色传感器的视野不同。相机160还可以具有红外图像流和点云流。点云是空间中的数据点的集合。这些点表示三维(3-dimensional,3D)形状或对象。每个点具有自己的一组X、Y和Z坐标。纹理化的点云将纹理的额外层添加到3D信息中。在本公开的示例中,所使用的纹理是来自彩色图像传感器的纹理。该特征提供了带有详细信息的数据结构,以描述3D物体。
然而,应当理解,在一些示例中,例如,为了更准确的深度分析,另外地或可选地使用诸如RealSenseTM LiDAR相机等LiDAR相机,这可以在其整个操作范围内带来额外的精度和准确度水平。在从葡萄串上切下茎的场景中,需要高水平的准确度来对茎进行类似外科手术的切割。这些LiDAR相机能够提供高达约5mm误差率的准确度。
图5中示出了由控制器160执行的图像处理的示例输出,其可以识别每个图像中由各自的葡萄串501、503占据的区域,并且可在感兴趣的区域内定义掩膜。掩膜可以表示由葡萄串界定的区域,并且可以由控制器160用来估计葡萄串的重量。控制器160还可以使用该掩膜来控制第二机械臂214的至少一个第二操纵器222的朝向以抓握葡萄串,例如使得至少一个第二末端执行器222处于拾取葡萄串的最佳朝向。
如上所述,控制器160被配置为使用获取的图像数据来确定葡萄串的重量。这可以如下执行。
首先,对从相机155获得的图像数据运行实例分割模型,相机155例如可以是彩色深度相机,诸如RealSenseTM深度相机。可以输出表示检测到的对象及其感兴趣区域的ObjectsInMasks消息。消息中包含以下属性:
-标头(header):包含时间戳和与数据相关联的坐标系。这将是相机的光学传感器的坐标系
-对象向量(objects vector):这是被检测对象的数组。包含以下属性
-对象名称(object name):被检测对象的名称。例如红葡萄
-概率(probability):检测输出的置信度,以对象的百分比表示。
-感兴趣区域(region of interest):定义相机帧中特定对象位置的x和y坐标偏移量以及宽度和高度
-掩膜(mask):在预测有被检测对象像素的感兴趣区域内定义掩膜(如图5所示)。
如上所述,控制器160可以使用从相机155获取的数据来执行重量估算以估算葡萄的重量。这通过两种方法来实现。第一,可以使用示例掩膜来估计重量(如图5所示)。可以使用多个样本将掩膜中的像素数量与葡萄串的重量相关联。为了能够实现这一点,可以使用线性回归来对标量值-重量与解释变量-像素数之间的关系进行建模。第二,可以从3D点云数据估计重量。这种方法可以使用3D点云数据。一些深度传感器仅能够获取非结构化的点云。为了从这样的非结构化输入中获取三角形网格,可以执行表面重构。这可能涉及处理3D点云数据,以使用用于生成3D几何形状的算法(即,结合平面分割方法的三角形网格和使用来自实例分割节点的掩膜的分割)来筛选出葡萄的网格,计算含有属于被检查的葡萄的点的筛选网格的近似体积,然后使用先前通过实验计算的近似密度来计算葡萄串的重量。
如上所述,作为处理和包装葡萄的过程的一部分,存在可以切割葡萄串并将葡萄串分成更小的部分以包装到果盒(punnet)或容器142中的步骤。这涉及到用于在3D空间中识别茎的位置的过程。
为了检测茎的位置,基于创建和注释的数据集对葡萄图像训练语义分割模型,以标记茎在相机帧中所处的像素。图6中示出了这种情况的示例,图6示出了葡萄串的第一图像601和标记了茎所在像素的带注释的葡萄串的第二图像603。用于该过程的模型可以是具有用于特征提取的Xception65主干的DeepLabV3plus架构。
可以基于检测点的位置和该点是茎网络中产生分裂的主分支的概率,来对检测到的点进行采样和评分。在点被选择之后,可以使用例如从手眼标定步骤获取的标定数据将该点转换成真实世界坐标。
图7示出了用于分类和/或包装诸如葡萄之类的物品的另一示例性系统的示意图。图7所示的系统与上面参照图1和图2描述的系统有许多共同的特征,相似的附图标记表示具有相似或相同功能的特征。应当理解,参考图7描述的系统的方面可以被移出、替换或与以上参考图1和图2描述的那些相结合。
在图7所示的示例中,系统是适于拾取葡萄的物品包装设备或系统700。然而,应当理解,图7的物品采摘设备或系统700可适于与其它非线性物体(例如其它非线性水果和蔬菜,诸如香蕉串或其它蔓生果或蔬菜,如番茄)一起使用。
系统700包括第一机械臂710,第一机械臂710包括用于从葡萄串中切割葡萄的至少一个第一末端执行器170。至少一个第一末端执行器720可以包括用于从葡萄串切割葡萄的切割装置,例如第一末端执行器720可以是如上所述的图3中所示的末端执行器。
系统700还包括与第一机械臂110间隔开的第二机械臂714。第二机械臂714包括用于握住和操纵葡萄串以包装到容器742中的至少一个第二末端执行器722。至少一个第二末端执行器722可以是如上所述的图4中所示的末端执行器,或如下文更详细描述的图8中所示的末端执行器。
第一机械臂710和第二机械臂714设置在各自的可移动平台712、716上。它们可移动的事实可能意味着如果手动执行任务,则可以将它们移开。可移动平台712、716可以各自包括控制器,例如用于控制每个机械臂710、714及其各自的末端执行器720、722的局部控制器。
系统700还包括用于将葡萄串传送经过每个机械臂710、714的多个传送装置。在图7所示的示例中,第一传送装置728位于靠近第一机械臂710的一侧。第一传送装置728被布置为将葡萄传送到同样靠近第一机械臂710的第二传送装置730a上。第二传送装置730a横向于第一传送装置730a,并且在这个示例中相对于第一传送装置728在高度上偏移,以使得第二传送装置730a低于第二传送装置。第二传送装置730a被设置为将葡萄从第二传送装置730a传送到第三传送装置730b。第三传送装置730b平行于第二传送装置730a,并且在这个示例中,第三传送装置730b相对于第二传送装置730a在高度上偏移,使得第三传送装置730b低于第二传送装置。第三传送装置730b靠近第二机械臂714的一侧。第四传送装置740也被设置为靠近第二机械臂714的一侧,并且横向于第三传送装置730b。
在图1所示的示例中,系统700还包括四个相机755a-d,这些相机被布置为观察每个传送装置728、730a、730b、740的靠近每个机械臂710、714可以操作的地方的区域。在此示例中,每个相机是如上文所论述的3D/深度感测RGB-D相机,但应当理解,相机中的任何一个可以用LIDAR设备来替换或补充。
系统700还包括控制器760,控制器760可以具有与上述控制器160类似或相同的功能。控制器760可以包括数据存储器764、处理器766和通信接口768。控制器760可以另外地或可选地包括GUI(未示出)。在一些示例中,控制器的功能可以由安装在机械臂710、714之一的可移动平台712、716中的(局部)控制器提供,例如使得一个(局部)控制器被配置为充当“主”控制器并且另一个控制器被配置为充当“从”控制器。
在图7所示的示例中,物品包装700系统包括两个被布置为操纵(例如,翻动)葡萄串的可选的操纵装置721a、721b,例如使得葡萄串的不同面暴露于第一相机755a等,并调整葡萄串的朝向,使得当葡萄被第二机械臂714操纵以放置在容器742中时,葡萄串处于梗正在面朝下进入容器742中的朝向。操纵装置721a、721b可以包括转台或L形台,该转台或L形台被配置为旋转经过至少90度以将葡萄串翻动或转过来。在所示的示例中,系统700包括靠近第一机械臂710的第一操纵装置721a以及靠近第二机械臂714的第二操纵装置721b。在一些示例中,操纵装置721a、721b可以位于传送装置的端部,例如使得第一操纵装置721a位于第一传送装置728的端部。操纵装置721a、721b的操作可以由诸如如下所述的红外传感器752a-752d等的传感器来控制,该传感器被配置为检测诸如葡萄串之类的物体/物品的存在。
在一些示例中,控制器760可以被配置为在葡萄被操纵(例如,翻动)之前和/或之后,例如使用相机755a对葡萄串执行目视检查(如下文更详细描述)。在一些示例中,控制器760可以被配置为控制第一机械臂710的第一末端执行器720切割或修剪任何被识别为有缺陷(例如,包括瑕疵)的葡萄。在一些示例中,控制器760可以被配置为对葡萄串的每一侧执行该操作,即,在葡萄串被可选的操纵装置721翻动之前和之后。在一些示例中,控制器760可以被配置为在由第一操纵装置721a操纵之前和/或之后执行葡萄串的重量确定。该重量确定可与如下所讨论的由控制器760执行的任何稍后的重量确定来组合或比较,例如以改善质量控制。
在图7所示的示例中,存在相应的光闸,在这种情况下,该光闸为靠近每个机械臂710、714的第二红外传感器752b和第三红外传感器752c。还存在靠近于可选的操纵装置721a的第一红外传感器752a,和用于检测容器742存在于第四传送装置740上的第四红外传感器752d。
红外传感器752a-d被配置为确定靠近每个机械臂710、714的传送装置728、730a、730b、740上物体/物品的存在。该控制器可以被配置为使用来自每个红外传感器752a-d的传感器输入来控制每个机械臂710、714的操作和/或控制相应的传送装置728、730a、730b、640的操作。尽管描述了红外传感器,但是可以使用被配置为确定物体/物品(例如葡萄串等)的存在的其它类型的传感器。例如,传送装置728、730a、730b、740可以包括下面的压力传感器,该压力传感器被配置为检测传送装置130上是否存在物体/物品。
在一些示例中,第四传送装置740可以包括重量传感器,该重量传感器配置为确定容器742和/或放置在容器742中的水果(诸如切割后的葡萄串733)的重量。在一些示例中,重量传感器可以用作控制器760所采用的目视重量估计算法的验证工具。应该理解,从重量传感器获取的数据可以用于,例如通过强化,来改进机器学习。在一些示例中,如果来自重量传感器的所确定的重量与预期重量(例如,由控制器760通过利用相机755a-d的目视检查确定的重量)相差超过选定阈值,则这可能导致容器742被丢弃和/或指示需要手动检查容器742的通知被发送。例如,如果来自重量传感器的确定重量与预期重量(例如,由控制器760通过利用靠近第一机械臂710的相机755b和/或靠近于第一操纵装置721a的相机755a的目视检查确定的重量)相差超过选定阈值,则控制器760可以标记错误情况。这可能导致葡萄串被拒绝和/或请求来自系统的用户/操作者的干预。在一些示例中,这可能涉及第二机械臂714握住和操纵葡萄串并将它们放置在垃圾箱或容器中
如同图1、图2和图4的示例,至少一个第二末端执行器722可以包括用于提供接触压力的指示的压力感测组件。上述压力感测组件可以包括压力感测组件(如参照图4和图8更详细地描述的)。该压力感测组件可以包括:(i)多个压阻传感器,每个压阻传感器被配置为获取压阻信号;和(ii)多个压电传感器,每个压电传感器被配置为获取压电信号,从而提供该压力感测组件。在一些示例中,至少一个第二末端执行器722可以包括用于确定握住在其间的物品/葡萄串的接触压力的一对或更多个末端执行器。在一些示例中,至少一个第二末端执行器722可以包括用于在由至少一个第二末端执行器722握住和操纵时支撑葡萄串的下侧的勺或勺形部(如图4和图8中所示)。勺或勺形部可以包括多个手指,并且每个手指可以包括具有电子皮肤的部分。
这些相机755a-d被布置为提供在这些传送装置728、730a、730b、740上行进的葡萄串的图像数据。
控制器760被配置为从相机755a-d中的任何一个接收葡萄串的图像数据,并且基于所接收的图像数据确定葡萄串的重量。这可以使用从靠近第一机械臂710的第二相机755b和/或从其它相机755a-d中的任何一个获取的图像数据来获取进一步的重量确定,该重量确定可以由控制器760作为交叉检查或验证过程的一部分相互比较,以帮助确保质量控制。
控制器760可以被配置为从靠近第一机械臂710的第二相机755b接收待切割的葡萄串的图像数据,和/或控制器760还可以被配置为从靠近第二机械臂714的第三相机755c接收切割后的葡萄串的图像数据并且基于从靠近第二机械臂714的第二相机755c接收的图像数据确定切割后的葡萄串的重量。控制器760可以被配置为基于所确定的切割后的葡萄串的重量确定是否将切割后的葡萄串包装到容器742中。在一些示例中,控制器760可以被配置为基于所确定的切割后的葡萄串的重量和/或目标重量确定将切割后的葡萄串包装到哪个容器742中或从多个容器742中选择容器742以将切割后的葡萄串包装到其中。
控制器760被配置为控制第一机械臂710的至少一个第一末端执行器720以基于所确定的葡萄串的重量来切割葡萄串,并且控制器760被配置为控制第二机械臂714的至少一个第二末端执行器722以将切割后的葡萄串握住和操纵到容器742中。
如上文参考图1和图2的示例所述,应当理解,当描述控制器760被配置为确定葡萄串的重量时,控制器760可以被配置为仅通过目视检查进行该操作。另外地或可选地,控制器160可以被配置为仅通过目视检查确定葡萄串的质量。在一些示例中,控制器760可以被配置为确定葡萄的类型/种类并且基于所确定的类型/种类和所估计的葡萄串的尺寸(例如,就面积和/或体积而言)确定葡萄串的重量和/或质量。可以通过图像识别来执行对类型/种类的确定,例如使用预先训练的机器学习算法。可以例如使用点云分析、语义图像分割和/或实例分割来执行尺寸的确定/估计。
在至少一个第二末端执行器722包括压力感测组件的示例中,控制器可以被配置为基于接触压力的指示控制第二机械臂714的至少一个第二末端执行器722,以将切割后的葡萄串握住和操纵到容器742中。
与上述示例一样,控制器760可能已经将切割后的葡萄串包装到容器742中,但该容器742仍低于目标重量。在这样的示例中,控制器760可以被配置为基于目标重量与已经放置在容器742中的葡萄串的重量之间的差异来切割新的葡萄串。例如,控制器760可确定差值重量,并且可以被配置为控制第一机械臂710和至少一个第一末端执行器720来切割葡萄串,以获取重量近似等于差值重量的切割后的葡萄串。然后,第一传送装置730可以将重量近似等于差值重量的切割后的葡萄串运输至靠近第二机械臂714的区域,其中,至少一个第二末端执行器握住和操纵切割后的葡萄串并且将切割后的葡萄串放置或包装到内部已经具有先前切割的葡萄串的容器742中。这样,系统700可以被配置为将葡萄包装进容器742以达到目标重量或重量范围。
控制器还可以被配置为基于第一机械臂710和/或第二机械臂714的操作来控制传送装置728、730a、730b、740中的任何一个。控制器可以被配置为基于第一机械臂710的至少一个第一末端执行器720和/或第二机械臂714的至少一个第二末端执行器722中的至少一个的控制来控制第一传送装置728和/或第二传送装置730a。
在使用中,葡萄串732按顺序被供给到第一传送装置728上。传送装置728由控制器760控制以将该葡萄串递送到机械臂710、714。当葡萄串732沿第一传送装置728行进时,葡萄串732靠近第一红外传感器752a并阻挡第一红外传感器752a,向控制器760指示葡萄串位于靠近第一操纵装置721a的位置。这使得传送装置728停止,并且使用第一相机755a对葡萄串执行目视检查。然后,控制器760可以对从第一相机755a接收的图像数据执行实例分割(如下文更详细描述的)以识别感兴趣区域并将掩膜应用于该兴趣区内的葡萄串732。然后,控制器760可以可选地基于该掩膜的尺寸(例如,基于掩膜中的像素的数量)确定葡萄串的重量。控制器760可以另外地或可选地对葡萄串732执行目视检查以确定是否存在任何瑕疵/缺陷。如果检测到瑕疵或缺陷,控制器760可以确定应该从葡萄串中移除一颗或多颗葡萄,并且可以控制第一机械臂的至少一个第一末端执行器720从葡萄串中切割受影响的葡萄。另外地或可选地,如果存在大于选定阈值的多个具有瑕疵或缺陷的葡萄,则整串葡萄可以被丢弃。在这种情况下,可以操纵附加的操纵装置(未示出)来移除葡萄串732,例如通过将葡萄串732推离传送装置728。还应当理解,该附加的操纵装置还可以将葡萄串732推离第二传送装置730a。
一旦已经对葡萄串执行了第一目视检查,控制器760控制第一操纵装置721a转动(翻动)葡萄串732,使得可以对该葡萄串的另一侧执行目视检查。同样,如果检测到瑕疵或缺陷,控制器760可以确定应该从葡萄串中移除一颗或多颗葡萄,并且可以控制第一机械臂的至少一个第一末端执行器720从葡萄串中切割受影响的葡萄。另外地或可选地,如果存在许多具有大于所选阈值的瑕疵或缺陷的葡萄,则可以丢弃整个一串732。还应当理解,控制器760还可以可选地基于掩膜的尺寸(例如,基于掩膜中的像素的数量)确定葡萄串的重量。可以将该第二重量确定与第一重量确定相比较,例如以获得平均重量确定。另外地或可选地,如果两个重量确定之间的差大于选定阈值差,则可以产生错误标识,例如可能需要用户干预。
一旦对葡萄串732的两侧执行了检查,控制器760接着控制第一传送装置728将该葡萄串传送至第二传送装置730a。然后,第二传送装置730a将该葡萄串传送至第二红外传感器752b,由此控制器760停止第二传送装置730a。这使得传送装置730a停止,并且使用第二相机755b对该葡萄串执行目视检查。然后,控制器760可以对从第二相机755b接收的图像数据执行实例分割(如下文更详细地描述的)以识别感兴趣区域并将掩膜应用于该感兴趣区内的葡萄串732。然后,控制器760可以可选地基于该掩膜的尺寸(例如,基于掩膜中的像素的数量)确定葡萄串的重量。控制器760可以另外地或可选地对葡萄串732执行目视检查以确定是否存在任何瑕疵/缺陷。然后,控制器760可以根据所确定的重量和每个容器742的目标重量,和/或是否有任何葡萄已经被放置在该容器742中,来确定是否切割葡萄串。如果确定要切割葡萄串,则控制器760确定切割葡萄的位置(如下文将更详细描述,但是这可以基于经过训练的语义分段机器学习模型)。然后,控制器760控制第一机械臂710和至少一个第一末端执行器720在梗/茎处切割葡萄串,以给出填充或完成容器742所需的期望重量的葡萄。例如,如果每个容器142的目标重量是500g,并且该容器中已经存在重量为300g的葡萄,则控制器160确定该容器742还需要200g的葡萄,并且切割葡萄串以给出重量为200g的切割后的葡萄串,使得该容器可以被填充742至所期望的目标重量。应该理解,目标重量可以由用户例如通过GUI来设置和调整。
一旦葡萄串已经被切割,控制器760就控制第二传送装置730a和第三传送装置730b将切割后的葡萄串733传送至第二机械臂714。因为第三传送装置730b比第二传送装置730a行进得更快,所以切割后的葡萄串彼此分离,使得至少一个第二末端执行器722更容易操纵切割后的葡萄串733。此时,当切割后的葡萄串接近第二机械臂714时,第三红外传感器752c检测到切割后的葡萄串的存在,并且使得第三传送装置730b随着切割后的葡萄串靠近第二机械臂114而再次停止。然后,第三相机755c获取图像数据,并且作为验证步骤,控制器760可选地对切割后的葡萄串的重量进行另一次确定。如果该重量的另一次确定给出的指示重量不同于控制器760希望或期望放入容器742中的重量,例如在预期重量的选定范围之外(例如,预期重量可以是控制器760已经确定的葡萄串732被第一末端执行器720首次切割后的剩余重量),葡萄串733可以被丢弃或可替换地放入与最初预期不同的容器742中。如果该重量的另一次确定指示重量在第一次确定重量的选定阈值内,则控制器760控制第二机械臂714和至少一个第二末端执行器722小心地拾取葡萄串733,旋转并将葡萄串733放入在第四传送装置740上的容器742中。
如上所述,可以执行图像处理以在感兴趣区域内定义掩膜。掩膜可以表示由葡萄串界定的区域,并且可以由控制器760用来估计葡萄串的重量。控制器760还可以使用该掩膜来控制第二机械臂714的所述至少一个第二操纵器222的朝向以抓握葡萄串,例如使得至少一个第二末端执行器722处于拾取葡萄串的最佳朝向。
由控制器160执行的实例分割模型的输出可以包括葡萄串的预测像素的掩膜。然后可以运行计算机视觉算法,该算法找到包围输入的2D点集的最小面积的旋转矩形。该函数计算并返回指定点集的最小面积边界旋转矩形。然后,该矩形的角度可以通过机器人系统内的变换计算被变换到第二末端执行器722的坐标系,以确定第二末端执行器722将需要旋转的相应角度。这可能有利于使发送末端执行器722具有最佳朝向来操纵切割后的葡萄串133。
在一些示例中,控制器760还可以被配置为控制第二可选操纵装置721b以改变切割后的葡萄串733的朝向或翻动切割后的葡萄串733。这可以使得葡萄串梗侧朝下,使得当葡萄串被第二末端执行器722操纵以放置在容器742中时,葡萄串的梗朝下放置,这对于消费者来说可能更美观。
在一些示例中,一旦将葡萄放置在容器742中,就获取重量的第三确定。例如,容器142可以在重量传感器上,该重量传感器可以例如在葡萄已经放置在容器142中之前和之后对容器142称重。该重量的第三确定可以用作交叉检查,并且可以用于例如通过强化学习来训练在控制器160上操作的机器学习算法。
控制器760还可以被配置为使用从第四相机755d获取的图像数据来确定葡萄串已经被放置在容器742内的何处,使得如果更多串/另一串葡萄将被放置在同一容器742中,那么另外的葡萄/葡萄串可以被放置在不同的位置以将葡萄更均匀地分布在容器742内。
然后,这一过程可以重复很多次,以获得更多的葡萄串。
图8A至8D示出了用于抓握、握住和/或操纵蔓生果(诸如葡萄串)的另一示例末端执行器800的视图。可以看出,图8A至8D的末端执行器800在许多方面类似于上文参照图4描述的末端执行器,并且应当理解,图8A至8D的末端执行器可以具有与图4的末端执行器相同或相似的功能,相似的附图标记指示具有相同或相似功能的特征。
图8A示出了末端执行器800的勺附件的内部视图,图8B示出了末端执行器800的勺附件的外部视图,图8C示出了末端执行器800的指尖807(在本示例中为八个指尖)的俯视图,和图8D示出了末端执行器800的勺附件的等距视图。图8A至8D所示的末端执行器800的勺附件是末端执行器800的勺附件的一半;应当理解,一对相对的勺将用于形成末端执行器800。连接部分可以用于以上文关于图4所述的方式耦合两个相对的勺。在图8A至8D所示的示例中,勺包括中央手掌部分810,该中央手掌部分810包括多个(在该示例中为四个)压力感测区域885,而不是如图4所示的多个指或手指480。多个弯曲指尖887(在本示例中为八个)与中央手掌部分810耦合。指尖887被设计为可弹性变形以轻轻地拾取水果,使得水果不会掉出,但是可变形以避免对水果施加太大的压力而擦伤或损坏水果。指尖887的曲率被选择为当两个相对的勺被放在一起时,有助于到达诸如葡萄串等的水果下面,以防止任何松散的葡萄从葡萄串中掉出。具有多个指尖887是有利的,因为每个指尖能够独立于其它指尖887弯曲和变形。这使得末端执行器能够抓握葡萄以便处理具有最复杂形状的葡萄。像人类一样,指尖887可以轻松适应葡萄的形状。图8A至8D所示的末端执行器800的设计的另一个重要特征是在完成拾取和放置循环之后恢复或回到相同形状的能力。由于所使用的形状,恢复到原来的形状所需的时间将非常少。
在图8A至8D所示的示例中,仅在末端执行器800的手掌部分810上而不是在每个指尖887上存在感测装置。然而,应当理解,在其它示例中,在一些或所有指尖887上可以另外地或可选地存在感测装置。在图8A至8D中所示的示例中,感测区域885也比指尖887少,然而在其它示例中,手掌部分810可以包括更多的感测部分885或与指尖887相同数量的感测部分。
许多机器人应用依赖视觉来感知世界和规划机器人运动。但是如果不知道相机相对于机器人的位置,从相机提取的任何空间信息都是无用的。外部标定是确定相机的姿势的过程。生成被打印并安装在末端执行器的平坦表面上的标定目标。虽然目标的位置和朝向不需要被测量,但是对目标的尺寸的测量是必要,对目标的几次观察允许独立于目标的精确位置来计算标定。
当标定时,将标定目标连接到机器人链接之一,这被称为“眼睛到手(eye-to-hand)”标定,相机被静态地放置在场景中,从而可以轻松地计算目标运动。标定所需的数据集由相机-目标(camera-to-target)变换和基础链接-末端执行器(base-link-to-end-effector)变换组成。如上所述,机器人运动学提供机器人基坐标系中末端执行器的姿势,并且可以估计相机坐标系中标定目标的姿势。如果目标姿态在机器人基坐标系中是准确已知的,则只需要对相机-目标的变换进行一次观察就可以恢复相机在末端执行器坐标系中的姿态。相机-末端执行器的直接变换等效于相机-目标-基础链接-末端执行器的复合变换。然而,一个更好的选择是组合来自若干姿态的信息以从方程中消除基坐标系中的目标姿势。计算标定至少需要五个姿态对,并且通常随着更多的姿态对被收集到15对,标定变得更加准确。
有关MoveIt标定中用于求解标定的数学方法的更多信息,请参见Daniilidis,19991,Park和Martin,19942,以及Tsai和Lenz,19893。
有各种类型的标定板(calibration board)可用于手眼标定。比如棋盘(chessboard),非对称圆(asymmetric circles),Aruco,和ChAruco。ArUco标记器和板非常有用,因为它们检测速度快,用途广泛。然而,ArUco标记的一个问题是,即使在应用子像素细化之后,它们的拐角位置的精度也不是太高。
相反,棋盘图案的拐角可以更准确地细化,因为每个拐角被两个黑色方块包围。然而,寻找棋盘图案不像寻找ArUco板那样通用:棋盘图案必须是完全可见的,并且不允许有遮挡。
ChArUco板试图结合这两种方法的优点。更多信息参见ArUco and ChArUco-OpenCV文档中的标定,“https://docs.opencv.org/4.5.2/da/d13/tutorial_aruco_calibration.html”。图9A示出了与本公开的实施例一起使用的具有ChArUco标定板950的示例末端执行器900的透视图。ArUco部分用于插值棋盘拐角的位置,使得其因为允许遮挡全部或部分视图而具有标记板的多功能性。此外,因为插值的拐角属于棋盘,所以其在子像素精度方面非常准确。
当需要高精度时,例如在相机标定中,ChArUco板是比标准ArUco板更好的选择。由于ChArUco板具有更高的准确度,本公开的优选实施例使用ChArUco板。图9B示出了图9A的示例末端执行器的透视图,该透视图具有来自标定板检测(使用ArUco)的重叠姿势估计结果。应当理解,本公开的实施例可以涉及由控制器160例如周期性地(例如,每天一次或每四小时一次等)执行这种标定操作。
该系统可以被配置为对物品的图像执行图像分析以获取以下特性中的一个或多个的指示:(i)物品的颜色,(ii)物品的尺寸,(iii)物品的类型,和/或(iv)物品中存在的缺陷(例如,这将使得该物品不适合包装)。
至于物品的颜色,控制器160、260、760可以被配置为处理图像以识别物品所在的图像区域。该系统可以被布置为使得物品总是在图像的相似区域中(例如,相机155、755a-d和/或传送装置130、230a、230b、240、728、730a-b、740的操作定时可以被控制,使得物品在由相机拍摄的选定区域内)。控制器160、260、760可以被配置为基于图像的像素值(例如,相关像素的红色值)来确定物品的颜色。确定颜色可以包括识别物品所在的颜色范围。例如,可能有水果和/或蔬菜等物品的行业标准颜色图表,如番茄颜色图表(例如,英国番茄种植者协会(British Tomato Growers Association)颜色图表)。控制器160、260、760可以被配置为处理图像以确定物品属于不同颜色组中的哪个颜色组。该处理可以包括使用一个或多个标定,例如在图像的背景中具有参考颜色,该参考颜色具有已知的颜色值,物品的颜色可以根据该已知的颜色值进行标定。
控制器160、260、760可以基于物品确定的颜色控制系统的操作。控制器160、260、760可以基于颜色确定物品是否适合包装。控制器160、260、760可以基于颜色确定物品应该放置在哪个敞开的容器中。例如,物品可以被分组到容器142、742中,使得该容器中的所有物品具有相似的颜色。在这种情况下,每个敞开的容器142、742可以具有相关联的颜色范围(例如,存储在控制器的数据存储器中)。控制器160、260、760可以被配置为识别物品的颜色,然后将该物品放入与该颜色相关联的敞开的容器中。作为另一个示例,物品可以被分组到容器中,例如根据规定的标准(例如,白葡萄和红葡萄),使得每个容器具有各种不同颜色的物品。在这种情况下,每个敞开的容器可以具有其所需物品颜色的相关标准。数据存储器164可以存储这些要求的指示,并且每当物品被放入容器中时,更新数据存储器164、764以指示容器142、742已经接收到该颜色的物品。控制器160、260、760可以被配置为获取物品颜色的指示,以确定哪个敞开的容器142、742需要该颜色的物品,并控制第二机械臂114、714将物品放入敞开的容器142、742中(例如,放入需要该颜色物品的最靠近的敞开的容器中)。
至于物品的类型,控制器160、760可以被配置为处理物品的图像以确定该物品的类型(例如,它是什么类型或种类的水果或蔬菜)。该系统可以被操作以接收两种或更多种类型的水果/蔬菜,并且同时对这些水果/蔬菜进行分类和/或包装。控制器160、260、760可以被配置为处理所获取的每个物品的图像并且从图像中确定该物品是什么类型的物品。确定该物品是何种类型的物品可以包括确定该物品是可能待处理的物品的选定列表中的一种类型的物品。例如,可能存在规定数量的可能待处理的物品,并且图像处理可以识别不确定的物品与所规定的物品中的哪个最相似。控制器160、260、760可以被配置为基于所确定的物品类型控制第二机械臂114、214、714的操作。例如,敞开的容器142、742可具有一个或多个相关联的物品,并且控制器160、760被配置为基于物品的类型和与该类型的物品相关联的敞开的容器确定将物品放入哪个敞开的容器142、742中。
至于物品中存在缺陷,该系统可以被配置为处理物品的图像以确定物品是否存在任何可见的缺陷。例如,控制器160可以识别物品表面上的一个或多个偏离预期(例如,形状或颜色等)的区域。这些可以指示该物品存在瑕疵或其它畸形。与上文的示例一样,控制器160可以被配置为控制第二机械臂114、214、714的操作,以将物品放入基于是否存在与物品相关联的任何缺陷而选择的敞开的容器142、742中。
控制器160、260、760可以被配置为基于所获得的物品的数据推断物品的附加特性,和/或控制器160、260、760可以被配置为基于所获得的物品的数据的组合确定物品的附加特性。
作为一个示例,控制器160、260、760可以被配置为确定物品的成熟度指示。然后,控制器160、260、760可以基于物品的成熟度将物品分类到敞开的容器142、742中。例如,每个敞开的容器可以具有相关联的成熟度水平,并且控制器160、260、760可以基于所确定的物品的成熟度指示将物品分配给敞开的容器(例如,使得每个容器接收该容器所需成熟度的物品)。控制器160、260、760可以被配置为为每个装满了的容器提供的成熟度指示,该成熟度指示可以用于控制所述容器的后续使用(例如,提供使用日期等)。
控制器160、260、760可以被配置为基于物品的一个或多个获得属性确定成熟度指示。例如,可以使用所获取的物品的颜色来获取成熟度指示。在这种情况下,基于物品的成熟度对物品进行分类可以包括基于物品的颜色对物品进行分类。控制器160、260、760可以被配置为通过结合物品所获得的多条数据来确定成熟度。例如,控制器160、260、760可以使用图像数据获取物品的尺寸的指示,并且这可以与针对手指获取的压力/位移数据相比较。控制器160、760可基于以下之间的比较确定成熟度指示:(i)手指在选定范围内的压力下握住物品的位移,和(ii)使用图像数据获取的物品的确定尺寸。这种组合可以提供物品坚实度的指示。换句话说,控制器160、260、760可以被配置为基于使用图像数据确定的物品的估计尺寸和手指握持物品时的测量尺寸之间的比较来确定物品的成熟度/坚实度的指示。控制器160可以控制第二机械臂114、214、714的操作,以基于物品确定的成熟度分类和/或包装物品。可以使用配置为感测乙烯的传感器来检测成熟度。
控制器160、260、760可以被配置为基于所获取的物品类型的指示和附加数据确定关于物品的一个或多个属性。例如,控制器160、260、760可以基于物品的类型(例如,梨)和该物品的颜色(例如,梨的红/绿程度)。作为另一个示例,控制器160、260、760可以基于对待分类物品的图像分析确定待分类的物品是什么(例如,番茄)。控制器160、260、760可以基于物品的类型确定如何基于颜色对物品进行分类,例如识别与该类型的物品相关联的选定颜色范围,并且根据该类型的物品的那些选定的颜色范围对物品进行分类。
本公开的实施例可以利用一个或多个机器学习元件确定物品对于分类和/或包装到敞开的容器中的适用性。机器学习元件可以被配置为处理物品的图像(例如,如使用一个或多个相机获取的图像),并且提供指示该物品适合于分类和/或包装的输出。例如,机器学习元件可以包括卷积神经网络。
训练机器学习元件可以包括监督训练,其中该元件被提供有多个物品的输入数据,每个物品的输入数据是具有一个或多个相关属性的物品的图像。例如,当训练颜色检测时,每个输入物品可以是具有在可用颜色组的选择中关联的颜色组的物品的照片。可使用大量图像来训练该元件。在每个图像中,物品将具有与其相关联的已知颜色组,根据该颜色组,可以相应地测试和更新该元件的预测。图像中输入项的其它属性在训练数据集中会有所不同。具体地,训练数据集将包括多个不同形状和大小的物品,以及处于不同的光照水平、与相机成不同角度、具有不同表面阴影、图案和/或轮廓的物品。因此,该元件可以被训练成对于可能通过系统100、200、700的绝大多数物品,以高度的可靠性正确地识别物品中的颜色。
如上所述,本公开的实施例可利用包括一个或多个压力传感器的压力感测组件来获取用于末端执行器(例如,至少一个第二末端执行器122)的手指与水果或蔬菜等物品之间的接触的压力测量,如例如参考图4所描述的,图4示出了至少一个第二末端执行器222上的压力感测装置485。应当理解,在本公开的上下文中,可以使用任何合适的压力传感器,例如基于应变仪的压力感测或压电压力感测。每个手指可以在其面向物品(以及接触)的表面上具有压力传感器。压力传感器可以被布置为使得其能够测量握住物品的相应手指的相互作用的压力。
所述系统可以被配置为基于接触压力的方向确定末端执行器正确地握持物品。例如,如果接触压力的空间分布指示物品具有与手指的均匀的接触压力分布,例如,如果所有或大部分接触压力测量值在彼此选定的范围内,则可以确定物品被正确地握住。该系统可以被配置为基于物品是否相对于手指移动的指示确定末端执行器正确地握住物品。例如,如果确定物品相对于手指是静止的(例如,以低于阈值的速度移动),则可以确定物品被正确地握住。
压力感测组件可以包括一个或多个手指上的多个不同的接触感测位置。换言之,压力感测组件可以包括多个空间分布的压力传感器。压力传感器的这种分布可以被配置为获取末端执行器的手指和由手指握住的物品之间接触的接触压力的空间分布。接触压力的空间分布可以包括用于手指中的至少一个手指与由手指握住的物品之间接触的接触压力的大小的指示。接触的空间分布可以包括在多个不同位置中的每个位置处的接触的多个这样的接触压力大小。基于多个不同的接触压力感测测量,可以获取用于至少一个物品和手指之间接触的接触压力方向的指示。接触压力方向的指示可以包括接触压力如何在物品表面的不同区域上变化的指示。这还可以提供较高和较低压力区域的指示,并且这可以提供手指和物品之间的压力的方向性的指示。例如,如果两个相邻的传感器具有不同的接触压力,则这可以指示一个传感器比另一个传感器抓得更紧,例如,因为其中一个传感器位于错误位置的手指上,和/或物品的形状可以使得与物品接触的压力分布不均匀。接触压力的空间分布可以提供一个或多个手指可以相对于物品移动以更好地抓握物品的方向的指示(例如,使得物品不再移动,或者手指与物品之间的接触压力更均匀地分布在所述物品表面)。
多个接触压力感测位置被配置为重复地(例如,连续地)提供接触压力感测数据。例如,每个接触压力感测位置可以包括压阻传感器,该压阻传感器被配置为监测与该接触感测区域中的接触相关联的压降。多个接触传感器被布置为能够检测物品相对于手指的移动。例如,接触感测区域可以分布在一个或多个手指周围,以便为手指的大部分或全部接触面积提供压力指示。系统可被配置为监测压力的空间分布以及压力如何随时间变化,以确定物品是否正在移动。例如,如果一个区域中的压力正在减小(例如,持续减小,或者已经降低到低值),则可以推断物品正在远离该区域(并且因此在该区域中的手指与物品之间没有接触,即接触压力)。
该系统可以被配置为如果基于来自压力感测组件的传感器信号确定以下各项中的至少一项:(i)接触压力的大小(例如,来自一个或多个接触压力感测区域)已经改变了超过第一量;(ii)接触压力的大小(例如,来自一个或多个接触压力感测区域)正在以大于第一变化率的速度变化;(iii)接触压力的方向已经改变超过第二量;(iv)接触压力的方向以大于第二变化率的速度变化;(v)接触压力的大小在变化,而指示接触压力的方向保持不变;(vi)接触压力的方向在变化,而指示接触压力的大小保持不变;(vii)物品相对于末端执行器的手指以超过阈值的速度移动;和(viii)物品相对于末端执行器的手指移动超过阈值距离。
在接触区域中的接触压力的大小在选定范围之外的情况下,相应的手指可以相对于物品移动,使得接触压力在选定范围内。如果手指和物品之间的接触压力过高,则该手指与手指可以远离彼此移动,直到接触压力在选定的范围内,反之亦然。
在接触压力的方向指示物品上的压力的不均匀分布的情况下,可以移动一个或多个手指以平衡物品上的压力分布。如果一个或多个接触压力感测区域指示接触压力在来自其它接触压力感测区域的接触压力的选定范围之外(例如,太高或太低),则手指可以相对于物品移动,以提供更平衡的接触压力的空间分布。这可以包括将手指朝向或远离物品的中心移动,和/或将手指移动至物品表面上的不同位置。例如,接触压力的方向可以表明手指的一部分的接触压力比同一手指的另一部分的接触压力更高。由此,可以推断物品的形状使得手指处于错误的位置,例如形状可能是不均匀的。手指可以被控制在物品表面周围移动到手指与物品之间的接触压力分布变得更加均匀的位置,例如,使得形状的任何不规则性不妨碍对物品的一致抓握(例如,使得物品在其形状更靠近符合手指表面的区域中被抓握)。
在来自压力感测组件的传感器信号指示物品相对于手指移动的情况下,手指可被控制以停止该移动。例如,手指可被控制以更紧地抓握物品以防止移动。例如,可以在基于物品的移动方向的方向上移动手指。使得手指处于阻止物品移动的位置。对移动的检测可基于不同区域中的接触压力的量值和/或接触压力的方向的指示。
本公开的实施例可以利用手指的电子皮肤来提供压力感测。例如,每个手指可以在其上具有电子皮肤。电子皮肤可以覆盖手指在使用期间与物品接触的区域。该电子皮肤可以由包括基底聚合物层的基板制成,其中第一中间聚合物层通过第一粘合层附接到该基底聚合物层上。第一中间聚合物层可包含第一中间聚合物,其中富电子基团直接相互连接(或例如,这些可以可选地被C1-4烷二基取代)。该皮肤可以还包括第一导电层,该第一导电层通过第二粘合层或通过多个第二粘合层附接到该第一中间聚合物层上,在该第二粘合层之间设置有第二中间聚合物层或第二导电层。纳米线可以存在于第一导电层上。纳米线可以包括压电材料。所述纳米线可以被提供以实现压电压力感测。
在上述示例中,提供接触压力感测组件以获取手指与由手指握住的物品之间的接触压力的指示。本公开的接触压力传感器可以包括压阻传感器。然而,应当理解,在本公开的上下文中,可以使用压电传感器来代替压阻传感器,或者除了压阻传感器之外还可以使用压电传感器。尽管在图中未示出,但是现在将描述其中使用压阻传感器和压电传感器的接触压力感测组件的示例。
这样的接触压力感测组件包括多个压阻传感器和多个压电传感器。如上所述,传感器可以被提供为电子皮肤的一部分。电子皮肤可以贴附到耦合到机械臂的一个或多个末端执行器上(例如,手指)。在该示例中,一个或多个末端执行器和机械臂将类似于上面参考图1至图8描述的那些末端执行器和机械臂。也就是说,可以有多个手指形式的末端执行器。这些手指可以相对于彼此移动,以在这些手指之间抓持物品。电子皮肤被设置为贴附到手指,例如,电子皮肤可以贴附(或以另一种方式贴附)到手指,以覆盖手指与物品的大部分接触部分(如果不是全部接触的话)。例如,电子皮肤可以被配置为覆盖手指,使得手指和物品之间的任何接触将包括电子皮肤和物品之间的接触。
压阻和压电传感器在空间上分布在电子皮肤周围。因此,传感器可以在空间上分布在手指周围,使得每个手指包括一个或多个压阻传感器和一个或多个压电传感器。通常,每个手指将包括多个每种类型的传感器,例如,使得传感器可以获得传感器上多个不同区域的测量(使得可以为接触物品的手指的大部分表面提供接触压力感测)。例如,接触压力感测组件可以被配置为获得每个手指(例如,每个手指的不同区域)的多个不同的压电传感器测量和压阻传感器测量。
每个传感器连接到诸如控制器160的控制器,以使得能够获得压阻信号/压电信号的一个或多个参数的值的指示。控制器160被配置为以上述方式控制机械臂和手指的操作。也就是说,控制器可以获得(例如,确定)诸如接触压力的大小、接触压力的方向、和/或物品是否相对于手指移动的属性的指示,并且基于这些指示来控制臂和手指的操作。
例如,接触压力感测组件可以被配置为监测压阻信号的电压参数(例如与压阻信号相关联的电压降),以获得与物品的接触压力的指示。使用多个压阻传感器,系统可以被配置为获得手指和物品之间的接触压力的空间分布。监测压阻信号可以实现实时压力监测,并且监测压阻信号可以使得能够获得物品的压力的空间分布。
接触压力感测组件可以被配置为监测压电信号的电压参数,以获得与物品的接触压力的指示。该系统可以被配置为监测压电信号的电压的任何变化。例如,该系统可以被配置为监测任何电压极值(例如,电压的最大值或最小值),和/或电压的任何变化(例如,超过阈值量的变化和/或超过阈值速率的变化)。该系统可以被配置为确定以下中的至少一个:(i)任何极值的幅度,(ii)电压信号的变化速率,(iii)电压信号变化的绝对值,(iv)与电压信号中的极值(例如峰值或谷值)相关联的相位。
该系统可以被配置为比较不同的压电信号以识别这些信号之间的任何差异。例如,该系统可以被配置为将来自第一手指上的压电传感器的压电信号与来自第二手指上的压电传感器的压电信号进行比较,或者与来自第一手指上的不同压电传感器的压电信号进行比较。该系统可以被配置为识别压电信号中的一个或多个感兴趣区域。例如,因为极值可以提供压力值的指示,所以这些感兴趣区域通常包括一个或多个极值(峰值或谷值)。因为极值的变化(例如,其值的变化,或其位置的变化)可提供物品是否被正确握持的指示,所以系统还可以被配置为随时间监测压电信号。例如,该系统可以被配置为在压电信号的一个或多个电压极值发生变化的情况下(例如,在给定的时间窗口中),确定物品在相对于手指移动。
系统可以被配置为监测来自压电传感器的电压信号中的极值的位置。该系统可以被配置为比较来自不同传感器的电压信号中的极值的位置,以确定物品在移动的指示,并且还可选地确定物品在移动的方向。例如,该系统可以被配置为基于不同电压信号之间的相位差来确定物品的移动方向。例如,该系统可以被配置为基于电压极值的自变量的差异(例如,符号——正或负)来确定移动方向。例如,负号可能表示远离的移动,而正号表示朝向的移动。
该系统可以被配置为使用这种压电感测来确定手指和物品之间的接触压力的一个或多个属性的指示,例如该压力的幅度和/或方向的指示,以及物品是否相对于手指移动的指示。此外,该系统可以被配置为结合压电传感器使用一个或多个压阻传感器。
应当理解,在本公开的上下文中,压电传感器可以提供与使用压阻传感器获得的接触压力数据互补的接触压力数据。例如,压电传感器可以具有更快的响应时间,例如,压电传感器可以对压力变化更敏感。因此,可以首先参照压电信号观察压力变化的指示。应当理解,压电传感器测量由施加到压电材料的力带来的电荷。该电荷可能随着时间的推移而泄漏(例如,由于传感器和与其连接的其他电气部件的不完美绝缘/内阻等)。然而,压阻信号可以随时间被保持。
因此,该系统可以被配置为使用压阻传感器来确定物品的接触压力的持续指示。因此,可以使用压阻传感器获得任何给定时刻的压力幅度的指示。系统可以被配置为监测压电信号以识别任何变化,例如指示物品的压力/运动的变化。该系统可以被配置为使得,在一个或多个压电信号中检测到物品的压力/移动的变化的情况下,对应于与这些压电信号相似的区域/手指的压阻信号将被监测,以确定由该变化/移动带来的压力的幅度。因此,可基于来自两个传感器的读数来控制机械臂/末端执行器。例如,最初可以基于压电信号来控制末端执行器(例如,增加/减少末端执行器抓握的松紧度——末端执行器施加的压力)。然后,系统可以使用压阻传感器监测物品的相关区域的接触压力,以确保接触压力保持在选定的范围内。这可以使系统能够更好地响应抓握的变化,同时仍然确保物品的抓握不会太紧或太松。
该系统可以被配置为基于不同压电信号之间的比较(例如,响应于一个或多个压电信号中指示的改变)来确定如何改变其抓握。例如,在确定物品在第一方向上移动的情况下,可以控制系统使得一个或多个手指移动位置,其中,基于确定的第一方向控制该移动。例如,手指可以移动到其抵消该移动的位置,例如,以确保物品在手指之间保持静止握持。
应当理解,在本公开的上下文中,接触压力感测组件的上述示例不应被认为是限制性的。相反,本说明书提供了用于在将物品放入物品容器时控制末端执行器/机械臂的操作的系统的示例性功能。
在一些示例中,系统还可以包括位移传感器。然而,应当理解,在本公开的上下文中,位移传感器不是必要的,因为物品的移动可以基于来自压力感测组件的传感器信号来控制。位移传感器可以是可操作的以提供手指之间的位移的指示和/或手指从参考点(例如,中心位置)的位移的指示。可以使用与手指的移动相关联的坐标来确定手指之间的位移。例如,可将手指的位移标定到第一位置(例如,当它们触摸时,或者在最大间隔时),然后每当控制手指移动时,基于此移动更新手指的位置或相对位移。相机和图像分析可以用来确定手指之间的位移,其它位移感测技术也可以。位移感测可以与来自压力感测组件的传感器结合使用,以使得能够获取被抓握的物品的尺寸的指示。应当理解,待测量的尺寸可以根据物品的类型而变化。例如,物品的直径可以用于圆形物品,例如番茄。取决于手指的数目和/或排列,该尺寸可以直接对应于两个手指之间的位移,或者该尺寸可以基于手指的相对位移来确定,例如基于手指之间的几何关系。例如,在物体是圆形的情况下,物体的直径可基于任何一个手指从其中心点(即,半径为零的地方)的位移来确定。
在一些示例中,本公开的系统可以包括压力传感器和位移传感器。压力传感器可以被配置为获取物品与一个或多个末端执行器之间的接触压力的指示,并且位移传感器可以被配置为获取不同末端执行器之间的相对位移的指示。例如,系统不必包括压力传感器,该压力传感器被配置为获取接触压力的大小和方向两者的指示,例如,可以仅获取接触压力的大小。该系统可以被配置成以上述结合压力和位移数据的方式,基于压力数据(例如压力大小的指示)和位移数据来控制机械臂和末端执行器的操作。
例如,该系统可以被配置为基于压力传感器提供的指示与位移传感器提供的指示的比较来确定末端执行器(例如,至少一个第二末端执行器122、222、722)正确地握持物品。可以基于该比较确定物品的尺寸。
在包括位移传感器的示例中,确定末端执行器是否正确地握持物品可以基于对压力和/或位移的一个以上的测量。所述系统可以被配置为随时间监测压力值和/或位移值以识别末端执行器是否正确地握持物品。该系统可以被配置为,如果压力值和位移值中的一个或两个随时间而变化(例如,变化率高于阈值变化率,或总变化率高于阈值),则确定发生了不正确的握持。
在包括位移传感器的示例中,如果压力减小而位移保持不变,则可以确定物品正在移动(例如,滑动)或收缩(例如,已经爆裂或过度压缩),并且位移可能需要减小以保证有足够的压力来握住物品。如果压力增加而位移保持不变,则可以确定物品正在移动(例如,进入末端执行器的较窄区域)或正在膨胀(例如,由于物品的一个或多个区域中的压力过大),并且可能需要增加位移以抑制对物品的损坏。如果位移减小而压力保持不变,则可以确定物品正在被压缩或已经移动,并且可能需要控制手指的位移以减小压力。如果位移增加而压力保持不变,则可以确定物品正在膨胀或已经移动,并且可能需要控制手指以增加压力。
在包括位移传感器的示例中,该系统可以被配置为基于压力和位移两者来控制这些手指的操作。该系统可以被配置为控制操作,使得压力或位移之一保持在选定范围内(例如,保持恒定,或至少基本恒定)。例如,可以控制手指的分离,使得它们施加在物品上的压力保持在选定的范围内。作为另一个示例,可以控制由手指施加的压力,使得它们之间的位移保持在选定的范围内。可以基于水果和/或蔬菜的相关物品来选择压力和/或移位的选定范围。例如,该系统可以被配置为接收待包装的一个或多个水果和/或蔬菜等物品的指示,并且可为这些物品选择相应的压力值/位移值范围。基于位移的指示,可以确定要抓握什么物品,并且相应地选择位移/压力阈值。
本文描述的示例可以包括使用一个或多个位移传感器来确定末端执行器的手指之间的位移的系统和方法。应当理解,在本公开的上下文中,可以使用任何合适的位移传感器。所描述的示例可以利用来自已经控制手指分离的机械臂的信息。然而,这仅仅是一个示例,并且该位移可以以其它方式测量。例如,可以使用相机,例如第一相机至第三相机中的一个。相机可以处理手指的图像以确定手指的间隔。在其它示例中,可以根本不使用位移传感器。
每个机械臂可以具有三个自由度。示例性机械臂(例如,用于第一机械臂或第二机械臂)可以包括由Hans Robot生产的以商品名Elfin 5出售的机械臂,诸如Elfin5.19或Elnfin5.21。本公开的实施例可以利用一个或多个3D相机,诸如由HIKorbotics生产的以商品名MV-CA050-10GC出售的相机。
从上面的讨论中可以理解,附图中示出的示例仅仅是示例性的,并且包括可以如本文所述和权利要求中所述的概括、移除、或替换的特征。总体上参照附图,应当理解,示意性功能框图用于指示本文描述的系统和装置的功能。此外,处理功能也可以由电子设备支持的设备提供。然而,应当理解,功能不需要以这种方式划分,并且不应该被认为意味着除了下面描述和要求保护的硬件之外的任何特定的硬件结构。附图中所示的一个或多个元件的功能可以进一步细分,和/或分布在本公开的整个装置中。在一些示例中,附图中示出的一个或多个元件的功能可以集成到单个功能单元中。
如在本公开的上下文中本领域的读者应当理解的,本文描述的每个示例可以以各种不同的方式实现。本公开任何方面的任何特征都可能与本公开的任何其他方面相结合。例如,方法方面可以与装置方面相结合,并且可以在不使用那些特定类型的装置的方法中提供参照装置的特定元件的操作所描述的特征。此外,除非明确说明某些其他特征对其操作是必要的,否则每个示例的每个特征都旨在与结合描述的特征相分离。这些可分离特征中的每个特征当然可以与其中描述该特征的示例的任何其他特征相结合,或者与本文描述的任何其他示例中的任何其他特征或特征的组合相结合。此外,在不脱离本发明的情况下,也可以采用上文未描述的等同物和修改。
本文描述的方法的某些特征可以在硬件中实现,并且装置的一个或多个功能可以在方法步骤中实现。还应当理解,在本公开的上下文中,本文描述的方法不需要按照其被描述的顺序来执行,也不需要按照其在附图中被描述的顺序来执行。因此,参照产品或装置描述的本公开的各方面也旨在作为方法来实现,反之亦然。本文描述的方法可以在计算机程序中、或者在硬件中、或者在其任意组合中实现。计算机程序包括软件、中间件、固件、及其任意组合。这样的程序可以作为信号或网络消息提供,并且可以记录在计算机可读介质上(例如可以以非暂时性形式存储计算机程序的有形计算机可读介质)。硬件包括计算机、手持设备、可编程处理器、通用处理器、专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)、以及逻辑门阵列。本文描述的控制器可以由任何控制装置提供(例如配置有计算机程序产品的通用处理器),该计算机程序产品用于对处理器进行编程,以根据本文描述的任何方法进行操作。
本文描述的机器学习元件可以以多种形式提供。这可以包括被配置为对计算机处理器进行编程以根据指令操作的计算机程序指令。这些指令可以包括最终的机器学习元件,使得用户不能够改变或标识与该元件相关联的属性,或者这些指令可以被设置为使得它们可以被覆写,使得对机器学习元件的继续使用可以使得代码能够被更新(以便进一步开发该元件)。如将在本公开的上下文中理解的,机器学习元件的特定性质不被认为是限制性的,并且这可以取决于待处理的数据的性质而变化。可以使用用于提供机器学习元件的任何合适的系统。
机器学习元件可以包括神经网络。神经网络可以包括多个神经元层,其中每个神经元被配置为处理输入数据以提供输出数据。应当理解,任何给定的神经元都可以提供任何合适的过程,并且这些过程可以取决于输入数据的类型而改变。网络的每一层可以包括多个神经元。一层中的每个神经元的输出可被提供为后续层中的一个或多个(例如所有)神经元的输入。每个神经元可以具有一组相关联的权重,该组权重向提供给该神经元的每个输入数据流提供相应的权重。从神经元到神经元的每条路径都可以称为“边”。权重可以存储在每个神经元和/或每个边缘。
这样的神经网络可以具有至少两个变量,这些变量可以被修改以提供改进的数据处理。首先,可以选择或更新神经元的功能。神经架构搜索的系统和方法可被用来标识网络中神经元的适当功能。其次,可以更新网络中的权重,例如以改变整个网络中的输入和输出数据的不同流的优先级。
可以训练机器学习元件。例如,训练机器学习元件可以包括更新权重。可以使用多种方法来确定如何更新权重。例如,可以使用监督学习方法,其中对存在已知正确输出的输入数据操作元件。在机器学习元件对数据进行操作以使机器学习元件能够更新自身(例如,修改其权重)之后,该输入/输出被提供给机器学习元件。这可以使用诸如反向传播的方法来执行。通过大量重复该过程,该元件可以被训练,使得它适于处理相关数据并提供相关输出。训练机器学习元件的其他例子包括使用强化学习,其中定义一个或多个奖励,以通过识别和利用探索和剥削行为之间的平衡来训练元件。例如,这种方法可以利用bandit算法。作为另一个例子,可以利用无监督学习来训练机器学习元件。无监督学习方法可以利用主成分和/或聚类分析来尝试基于输入数据(例如,其可以与已知/识别的输出相关联)的特征来推断输出的概率分布。
机器学习元件的细节以及如何训练它可以变化,例如考虑要处理的输入数据的类型。应当理解,不同类型的机器学习元件可以适用于不同的任务或用于处理不同类型的数据。还应当理解,数据可以被转换成不同的形式,以利用不同的机器学习元件。例如,标准神经网络可用于处理数值输入数据,例如来自获得的测量值的经验值。为了处理图像,可以使用卷积神经网络,其包括一个或多个卷积层。数字数据可以被转换成图像形式,例如通过使用以图像形式表示数字数据的光栅化形式。可以使用得到的图像必须遵循的标准文件格式,然后可以训练(并使用)卷积神经网络来分析表示测量值(而不是测量值本身)的图像。因此,机器学习元件的特定类型不应该被认为是限制性的。机器学习元件可以是适于处理特定类型的输入数据以提供期望形式的输出数据的任何元件(例如,已经被训练/精炼以在其指定任务中提供改进的性能的任何元件)。
本领域技术人员也应当理解,虽然已经在包装和操作葡萄簇的上下文中描述了实施例,但是本公开的实施例同样可以应用于包装和操纵其它水果和蔬菜,特别是非线性水果和蔬菜,例如蔓生果和蔬菜,如香蕉串、藤蔓上的番茄、蓝莓等。
在本公开的上下文中,本公开的其它示例和变化对于本领域技术人员将是显而易见的。1“Hand-Eye Calibration Using Dual Quaternions-CiteSeerX.”http://citeseerx.ist.psu.edu/view doc/download?doi=10.1.1.18.366&rep=rep1&type=pdf.Accessed 8 Mar.2021.
2“Robot sensor calibration:solving AX=XB on the Euclidean group.”https://ieeexplore.ieee.org/document/326576.Accessed 18 Aug.2021.
3“A new technique for fully autonomous and efficient 3D roboticshand....”https://ieeexplor e.ieee.org/document/34770.Accessed 8 Mar.2021.
Claims (29)
1.一种物品包装系统,被配置为将蔓生果分类和/或包装到容器中,所述系统包括:
第一机械臂,包括用于从葡萄串中切割葡萄的至少一个第一末端执行器;
第二机械臂,包括用于握住和操纵葡萄串以包装到容器中的至少一个第二末端执行器;
至少一个相机,用于提供蔓生果的图像数据;和
控制器,被配置为接收所述蔓生果的图像数据并基于接收的图像数据确定所述蔓生果的重量;
其中,所述控制器被配置为基于确定的所述蔓生果的重量控制所述第一机械臂的所述至少一个第一末端执行器以切割所述蔓生果;和
其中,所述控制器被配置为控制所述第二机械臂的所述至少一个第二末端执行器以握住和操纵切割后的蔓生果到容器中。
2.根据权利要求1所述的物品包装设备,其中,所述至少一个第二末端执行器包括用于提供接触压力的指示的压力感测组件,并且其中,所述控制器被配置为基于所述接触压力的指示控制所述第二机械臂的所述至少一个第二末端执行器以握住和操纵切割后的蔓生果到容器中。
3.根据权利要求1所述的物品包装系统,其中,至少一个相机靠近所述第一机械臂,并且其中,至少另一个相机靠近所述第二机械臂,并且其中,所述控制器被配置为接收靠近所述第二机械臂的切割后的蔓生果的图像数据并且基于从所述至少另一个相机接收的图像数据确定切割后的蔓生果的重量。
4.根据权利要求3所述的物品包装系统,其中,所述控制器被配置为基于所确定的切割后的蔓生果的重量确定是否将切割后的蔓生果包装到容器中。
5.根据权利要求1至4中任一项所述的物品包装系统,还包括传送装置,所述传送装置被配置为将所述蔓生果传送至所述第一机械臂并且将所述蔓生果从所述第一机械臂传送至所述第二机械臂,并且其中,所述控制器被配置为基于所述第一机械臂和/或所述第二机械臂的操作来控制所述传送装置。
6.根据权利要求5所述的物品包装系统,其中,所述控制器被配置为基于第一机械臂的所述至少一个第一末端执行器和/或第二机械臂的所述至少一个第二末端执行器中的至少一个的控制来控制所述传送装置。
7.根据权利要求5或6所述的物品包装系统,还包括操纵装置,所述操纵装置被布置为翻动所述蔓生果,使得所述蔓生果的不同面暴露于所述至少一个相机,并且其中,所述控制器被配置为基于与翻动后的蔓生果的不同暴露面有关的接收的图像数据做出所述蔓生果的重量的第二确定。
8.根据权利要求7所述的物品包装系统,其中,所述控制器被配置为比较所述蔓生果的第二确定重量与所述蔓生果的所确定的第一重量。
9.根据前述权利要求中任一项所述的物品包装系统,还包括激光雷达(lightdetection and ranging,LIDAR)设备,所述设备用于确定到所述物品的距离和/或用于确定所述蔓生果的重量。
10.根据前述权利要求中任一项所述的物品包装系统,其中,所述控制器被配置为获取点云信息以确定所述蔓生果的重量。
11.根据前述权利要求中任一项所述的物品包装系统,其中,所述控制器被配置为对接收的图像数据执行语义图像分割以确定茎或梗相对于所述果实的位置,并且其中,所述控制器被配置为使用所确定的茎或梗的位置来控制所述第一机械臂的所述至少一个末端执行器在茎或梗处切割所述蔓生果。
12.根据前述权利要求中任一项所述的物品包装系统,其中,所述控制器被配置为基于接收的图像数据确定握住所述蔓生果的朝向。
13.根据权利要求2或从属于权利要求2的任何权利要求所述的物品包装系统,其中,所述控制器被配置为从所述第二机械臂的所述压力感测组件接收传感器信号以获取以下指示:
(iii)所述末端执行器和被所述末端执行器握住的所述物品之间接触的接触压力的大小;和
(iv)所述末端执行器和被所述末端执行器握住的所述物品之间接触的接触压力的方向;和
其中,所述控制器被配置为基于所述接触压力的大小的指示和所述接触压力的方向的指示确定所述末端执行器是否正确地握住所述物品。
14.根据权利要求13所述的物品包装系统,其中,所述系统被配置为同时在以下两种情况下确定所述末端执行器正确地握住所述物品:(i)指示所述接触压力的大小在选定的压力范围内,和(ii)指示所述接触压力的方向在选定的方向范围内。
15.根据权利要求13或14所述的物品包装系统,其中,所述系统被配置为在以下至少一种情况下确定所述末端执行器没有正确地握住所述物品:
(i)指示所述接触压力的大小已经增加或降低了大于第一量;
(ii)指示所述接触压力的大小的正在以大于第一变化率的速率增加或减小;
(iii)指示所述接触压力的方向已经改变了大于第二量;和
(iv)指示所述接触压力的方向正在以大于第二变化率的速率变化。
16.根据权利要求13至15中任一项所述的物品包装系统,其中,所述系统被配置为在以下至少一种情况下确定所述末端执行器没有正确地握住所述物品:
(i)指示所述接触压力的大小正在变化,而指示所述接触压力的方向保持不变;和
(ii)指示所述接触压力的方向正在变化,而指示所述接触压力的大小保持不变。
17.根据权利要求13至16中任一项所述的物品包装系统,其中,在所述控制器确定所述一个或多个末端执行器没有正确地握住所述物品的情况下,所述控制器被配置为控制所述末端执行器中的至少一个相对于所述物品移动。
18.根据权利要求17所述的物品包装系统,其中,控制所述末端执行器中的至少一个以移动包括以下至少一个:
(i)在所述接触压力的大小太小的情况下,向内移动所述末端执行器以增加所述末端执行器在所述物品上的接触压力;
(ii)在所述接触压力的大小太大的情况下,向外移动所述末端执行器以减小所述末端执行器在所述物品上的接触压力;和
(iii)在所述接触压力的方向不是正确方向的情况下,将所述末端执行器围绕所述物品移动至所述物品的表面上的不同位置。
19.根据权利要求13至18中任一项所述的物品包装系统,其中,在所述系统确定所述一个或多个末端执行器没有正确地握住所述物品的情况下,所述系统执行以下动作中的至少一个:
(i)拒绝所述物品以复查;
(ii)将所述拒绝记录在数据库中,可选择带有时间戳;
(iii)触发警报通知;
(iv)将所述物品送回至所述物品被拾取的地方,例如,以使得能够对所述物品进行进一步的目视检查;
(v)尝试获取所述物品的尺寸的新指示;
(vi)确定所述物品是否被擦伤或损坏;和
(vii)提供用于训练机器学习算法的反馈。
20.根据权利要求2或从属于权利要求2的任何权利要求所述的物品包装系统,其中,所述第二机械臂的所述压力感测组件包括由基板制成的电子皮肤,所述基板包括:
基底聚合物层;
通过第一粘合层附着到所述基底聚合物层的第一中间聚合物层,所述第一中间聚合物层包括第一中间聚合物,所述第一中间聚合物中的富电子基团彼此直接连接或通过任选取代的C1-4烷二基连接;和
通过第二粘合层或通过多个第二粘合层附着到所述第一中间聚合物层的第一导电层,在所述第二粘合层之间设置有第二中间聚合物层或第二导电层。
21.一种用于操纵蔓生果的机械臂的末端执行器,所述末端执行器包括:
通过连接部耦合的一对相对的勺,其中,每个相对的勺包括多个手指,并且其中,每个手指包括压力感测装置;
其中,所述压力感测装置被布置为检测每个所述手指上的由所述蔓生果引起的压力的(i)大小和(ii)方向中的至少一个。
22.根据权利要求21所述的末端执行器,其中,每个手指包括弯曲的指尖,所述弯曲的指尖包括被配置为支撑蔓生果的挤压件。
23.根据权利要求21或22所述的末端执行器,还包括控制器,并且其中,所述控制器被配置为基于所检测的压力的大小和/或方向控制所述勺和每个手指中的至少一个的操作。
24.根据权利要求23所述的末端执行器,其中,所述控制器被配置为基于所述蔓生果是否相对于所述手指移动的指示确定末端执行器是否正确地握住蔓生果,并且其中,所述控制器被配置为响应于确定所述末端执行器没有正确地握住所述蔓生果来控制所述末端执行器操纵所述手指中的至少一个。
25.根据权利要求23或24所述的末端执行器,其中,所述控制器被配置为基于每个所述手指上的压力的(i)大小和(ii)方向中的至少一个确定所述蔓生果的近似形状,并且其中,所述控制器被配置为基于所述确定的近似形状来操纵所述勺和/或每个手指中的至少一个。
26.一种通过机器人系统将蔓生果分类和/或包装到容器中的方法,所述机器人系统包括:
第一机械臂,包括用于切割蔓生果的至少一个第一末端执行器;
第二机械臂,包括用于握住和操纵蔓生果以包装到容器中的至少一个第二末端执行器;
所述方法包括:
接收所述蔓生果的图像数据;
基于接收的图像数据确定蔓生果的重量;
基于所确定的蔓生果的重量确定在何处切割所述蔓生果;
控制所述第一机械臂的所述至少一个第一末端执行器切割所述蔓生果;
控制所述第二机械臂的所述至少一个第二末端执行器握住和操纵切割后的蔓生果到容器中。
27.根据权利要求26所述的方法,其中,所述至少一个第二末端执行器包括用于提供接触压力的指示的压力感测组件,并且其中,所述方法包括基于所述接触压力的指示控制所述第二机械臂的所述至少一个第二末端执行器以握住和操纵切割后的蔓生果到容器中。
28.根据权利要求27所述的方法,其中,所述至少一个第二末端执行器包括多个手指,所述方法还包括:
接收所述多个手指之间的物品的接触压力的大小的指示;
接收所述多个手指之间的物品的接触压力的方向的指示;
基于所述接触压力的大小的指示和所述接触压力的方向的指示确定所述多个手指是否正确地握住所述物品。
29.一种计算机可读非易失性存储介质,包括用于计算机的程序,所述程序被配置为使处理器执行权利要求26至28中任一项所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2017042.9 | 2020-10-27 | ||
GB2105575.1 | 2021-04-19 | ||
GB2113296.4 | 2021-09-17 | ||
GB202113296 | 2021-09-17 | ||
PCT/GB2021/052780 WO2022090705A1 (en) | 2020-10-27 | 2021-10-26 | Item packing system, end effetor and method of sorting and/or packing vine fruit |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116783039A true CN116783039A (zh) | 2023-09-19 |
Family
ID=88008545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180087956.8A Pending CN116783039A (zh) | 2020-10-27 | 2021-10-26 | 物品包装系统、末端执行器、用于分类和/或包装蔓生果的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116783039A (zh) |
-
2021
- 2021-10-26 CN CN202180087956.8A patent/CN116783039A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Challenges and opportunities in robotic food handling: A review | |
Bhattacharjee et al. | Towards robotic feeding: Role of haptics in fork-based food manipulation | |
GB2600504A (en) | System and method for sorting and/or packing items | |
CN110329710A (zh) | 具有机器人臂吸附控制机制的机器人系统及其操作方法 | |
CN110465960A (zh) | 具有物件丢失管理机制的机器人系统 | |
US20230399136A1 (en) | Item packing system, end effector and method of sorting and/or packing vine fruit | |
US20240139778A1 (en) | Methods, apparatuses, and systems for automatically performing sorting operations | |
CN116783039A (zh) | 物品包装系统、末端执行器、用于分类和/或包装蔓生果的方法 | |
JP7126667B1 (ja) | 深さベースの処理メカニズムを伴うロボットシステム及びロボットシステムを操作するための方法 | |
de Haan et al. | Geometry-based grasping of vine tomatoes | |
CN114972234B (zh) | 一种食用菌品质监测方法及系统 | |
US20230364787A1 (en) | Automated handling systems and methods | |
Yamamoto et al. | Study on an automatic packing system for strawberries | |
Mulholland et al. | The adoption of robotics in pack houses for fresh produce handling | |
Flemmer et al. | Innovations in fruit packing: a slow kiwifruit packing line and a robotic apple packer | |
GB2616510A (en) | System and method for sorting and/or packing items | |
GB2616507A (en) | System and Method for Sorting and/or Packing Items | |
GB2616508A (en) | System and method for sorting and/or packing items | |
GB2616509A (en) | System and method for sorting and/or packing items | |
Xiang et al. | Classification-design-optimization integrated picking robots: a review | |
Chakravarthy et al. | Micro controller based post harvesting robot | |
CN112528826B (zh) | 一种基于3d视觉感知的采摘装置的控制方法 | |
Beltran et al. | Exploring computer vision, machine learning, and robotics applications in banana grading: A review | |
CN117415807A (zh) | 一种多用途移动机器人的取货方法及其系统 | |
Parmar et al. | Robotic Arm for Segregation Using Image Processing |
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 |