从容器中拾取对象的方法、电子设备和系统与流程

文档序号:17849858发布日期:2019-06-11 22:06阅读:211来源:国知局
从容器中拾取对象的方法、电子设备和系统与流程

本文中公开的示例实施例总体上涉及通过机器人机械手从容器中拾取对象的方法,并且还涉及用于实现该方法的电子设备以及用于从容器中拾取对象的系统。



背景技术:

在物流业或其他行业中,机器人广泛用于从较大的容器中拾取对象。通常,诸如盒子等对象随机放置在容器中。容器通常在传送带上移动,并且当机器人机械手准备从容器中拾取盒子时,传送带将停止。

因此,工业上需要能够从容器中快速拾取盒子,以便可以在更短的时间内清空容器。在清空容器之后,下一容器将被放置在适当位置以便机器人机械手清空。更快地清空一个容器中的盒子可以使得整体效率显著提高。

目前,3d相机可以用于促进拾取过程。基于由3d相机捕获的3d照片,机器人机械手能够接近容器中的盒子的很多表面中对于机器人机械手从中拾取来说相对容易的一个表面。通常,机器人或系统可以将对象的顶表面视为机器人机械手从中拾取的更容易的对象表面,因为顶表面不太可能被其他对象阻挡。然而,从所捕获的3d照片计算表面分布以便确定要接近的表面需要大量计算资源。因此,3d照片的分析需要时间,这对物流业来说并不令人满意。



技术实现要素:

本文中公开的示例实施例提出了一种通过机器人机械手从容器中拾取对象的方法。

在一个方面,本文中公开的示例实施例提供了一种通过机器人机械手从容器中拾取对象的方法。该方法包括:获取包含表示对象和容器的灰度信息的像素的第一图像;获取包含表示对象和容器的3d空间信息的像素的第二图像;基于灰度信息来标识第一图像中的对象的至少一个表面;基于所标识的第一图像中的对象的至少一个表面和3d空间信息,来标识第二图像中的对象的至少一个表面的像素;以及基于所标识的第二图像中的像素,控制机器人机械手接近所标识的至少一个表面以拾取对象。

在另一方面,本文中公开的示例实施例提供了一种电子设备。该电子设备包括处理单元和存储器,该存储器被耦合到处理单元并且存储用于由处理单元执行的指令。这些指令在由处理单元执行时使得该设备执行包括以下操作的动作:基于对象和容器的灰度信息,标识第一图像中的对象的至少一个表面,第一图像包含表示对象和容器的灰度信息的像素;基于所标识的第一图像中的对象的至少一个表面、以及对象和容器的3d空间信息,标识第二图像中的对象的至少一个表面的像素,第二图像包含表示对象和容器的3d空间信息的像素;以及基于所标识的第二图像中的像素,控制机器人机械手接近所标识的至少一个表面以拾取对象。

在又一方面,本文中公开的示例实施例提供了一种用于从容器中拾取对象的系统。该系统包括:包括用于拾取对象的机器人机械手的机器人、相机和如上所述的电子设备。相机被配置为:获取包含表示对象和容器的灰度信息的像素的第一图像;并且获取包含表示对象和容器的3d空间信息的像素的第二图像。

通过以下描述,应当理解,根据本公开的设备、系统或方法提供了一种用于使图像分析所需要的计算资源要求较低的改进的解决方案。通过考虑灰度信息和3d空间信息,处理速度将大大提高,并且因此机器人机械手的拾取动作快速且准确。

附图说明

通过以下参考附图的详细描述,本文中公开的示例实施例的上述和其他目的、特征和优点将变得更易于理解。在附图中,将在示例中以非限制性方式示出本文中公开的若干示例实施例,在附图中:

图1示出了根据一个示例实施例的由机器人机械手从容器中拾取对象的方法的流程图;

图2示出了根据另一示例实施例的用于机器人拾取容器中的对象的示例工作环境;以及

图3-9分别示出了根据一个示例实施例的在每个处理阶段之后的图像。

在整个附图中,相同或相应的附图标记表示相同或相应的部分。

具体实施方式

现在将参考若干示例实施例讨论本文中描述的主题。这些实施例被讨论仅用于使得本领域技术人员能够更好地理解并且因此实现本文中描述的主题的目的,而不是暗示对主题的范围的任何限制。

术语“包括(comprises)”或“包含(includes)”及其变体应当被理解为表示“包括但不限于”的开放术语。术语“或”应当理解为“和/或”,除非上下文另外清楚地说明。术语“基于”应当被理解为“至少部分基于”。术语“可操作以”是指功能、动作、运动或状态可以通过由用户或外部机制引起的操作来实现。术语“一个实施例”和“实施例”应当被理解为“至少一个实施例”。术语“另一实施例”应当被理解为“至少一个其他实施例”。除非另有说明或限制,否则术语“安装”、“连接”、“支撑”和“耦合”及其变体被广泛使用并且包括直接和间接安装、连接、支撑和耦合。此外,“连接”和“耦合”不限于物理或机械连接或耦合。在下面的描述中,相同的附图标记和标号用于描述图1-10的若干视图中的相同、相似或相应的部分。下面可以包括明确的和隐含的其他定义。

图1示出了根据一个示例实施例的由机器人机械手从容器中拾取对象的方法100的流程图。图2示出了用于机器人210拾取容器230中的对象220的示例工作环境200。图3至图9分别示出了在每个处理阶段之后的图像300-900。在下文中,将以图1的流程中所示的顺序来解释根据本公开的方法。对于方法100中的每个块和子块(如果有的话),将相应地描述如图2-9中的任一个中所示的相应图像。

图2示出了用于在实际工作环境中从容器230中拾取对象220的系统200。系统200包括具有用于拾取对象220的机器人机械手211的机器人210和可以位于机器人机械手211的末梢附近的相机(未示出)。相机可以用于获取包含对象220和容器230的必要信息的图像,这将在以下段落中参考方法100详细说明。此外,系统200包括通常位于机器人210中的某处的电子设备。电子设备包括处理单元和耦合到处理单元并且存储用于由处理单元执行的指令的存储器,这些指令在由处理单元执行时使得该设备执行方法100中的动作。

容器230放置在传送带240上,并且机器人210固定到工作台250上。随着在传送带240上移动的容器230到达其中机器人210的机器人机械手211能够接近整个容器230的区域,传送带240将停止移动在其上的容器230。在图2的配置中,机器人机械手211可以进入容器230内的空间并且抓握任何对象220。这样的抓握动作可以通过本领域的任何现有手段来实现。例如,可以使用气动吸盘粘附到对象的表面。存在通常用于机器人机械手的其他抓握装置,并且它们通常要求在该空间中标识对象的特定表面以便于抓握动作。

图2示出了在基本上垂直于对象220的一个顶表面的方向上,将机器人机械手211接近该顶表面而使该顶表面被粘附到该机器人机械手211。如果机器人机械手211试图从另一角度接近对象220或者试图在另一表面处接近对象220,则由于对象的形状或由容器230限制的受限空间而可能难以拾取对象220。

应当理解,机器人机械手211如何接近对象220在很大程度上取决于对象220的形状和尺寸以及机器人机械手211的类型。例如,在容器中的对象是矩形盒子的情况下,可以有效地接近该盒子的六个表面之一。在其他情况下,接近对象的一个边缘可能是有效的。在实际运行传送带之前,用户可以定制如何通过什么类型的机器人机械手来拾取特定尺寸的对象。然而,为了成功地拾取对象,就在空间(容器)中的定位而言,标识对象的暴露表面总是有益的。

例如,假定容器230相对于机器人210静止并且放置在机器人机械手211能够拾取容器230中的任何对象220的区域内,可以执行方法100以用于从容器230中拾取一个对象220。通过重复方法100,机器人机械手211可以一个接一个地拾取所有对象220。一旦特定容器230被清空(即,留下空容器),具有多个对象的另一容器被传送带移动到该区域以代替空容器。然后控制机器人机械手一个接一个地从新容器中拾取对象。

在框101处,获取包含表示对象和容器的灰度信息的像素的第一图像。第一图像可以由数码相机捕获,该数码相机包括透镜、将光转换成信号的传感器和用于生成第一图像的处理器。所捕获的图像通常是以像素矩阵为特征的位图图像。为每个像素分配用于表示颜色和/或亮度的一些值。为了有效地标识第一图像的透视图内的对象的边界或边缘,仅使用亮度信息。这表示,所捕获的第一图像被转换为灰度图像。

应当理解,在本文中,亮度信息可以与灰度信息可互换地使用,并且包含灰度信息的图像并不表示它排除颜色信息。换言之,所捕获的第一图像可以包含颜色信息和灰度信息两者,尽管在框101的示例中仅利用灰度信息。也就是说,根据本公开的实施例,图像的颜色信息可以在某些情况下被保持,并且该颜色信息的使用也可能是有益的。另外,在整个说明书中,“边界”和“边缘”可以可互换地使用。这两个术语都可以指代对象的表面或外围线之间的边缘。

图3示出了第一图像的示例,图3是示出包括容器330的边界、矩形盒子形式的多个对象320和机器人310的一部分的透视图的灰度照片。从灰度图片可以看出,每个对象320具有一些边缘和一些表面,这些表面由于从一个表面到另一表面的亮度的突然变化而是可区分的。

在框102处,获取包含表示对象和容器的3d空间信息的像素的第二图像。第二图像可以由3d相机捕获。这样的3d相机的一个示例是输出空间中的对象的3d点云数据的双目相机。3d点云数据记录透视图中的对象的位置和取向。在一些实施例中,在框102处使用的3d相机可以与在框101处使用的相机集成。换言之,同一双目相机能够捕获灰度位图图像以及包括3d空间信息的图像。以此方式,两张照片共享相同的透视图,并且结果,表面和边缘的位置在这两个图像中是一致的。在替代实施例中,还可以针对框101和102使用两个相机。

作为示例,图4示出了包括3d空间信息的实际图像。该图像与在框101处生成的图像共享相同的透视图。因此,容器430和对象420的3d空间信息。容器430和对象420分别对应于图3中的容器330和对象320。然而,图3的第一图像示出了每个必须具有灰度或亮度信息的像素矩阵,而图4的第二图像示出了每个必须具有3d点云数据的像素矩阵。对于一个像素,3d点云数据可以包括表示该点的空间位置的坐标的x、y和z值(3d空间中的3个轴)。例如,用于记录3d点云数据的一种方法是针对三个轴在一个像素中包含红色、绿色和蓝色,并且因此三个轴的尺寸可以由三种颜色的水平表示。应当理解,用于记录和表示空间信息的其他三通道数据也是可行的。

从由3d相机捕获的第二图像,可以直接提取每个对象和对象的每个表面的位置和取向。但是,直接提取通常耗费时间和资源。而且,从图4中可以看出,当对象彼此靠近时,有时不同对象420的边界太靠近。在这样的情况下,所生成的第二图像可能具有大的域,其中若干表面连接或合并在一起,产生难以标识的边界。仅通过分析第二图像,可能经常发生表面的错误标识。为了解决上述问题,包含灰度信息的第一图像对于在分析第二图像之前确定2d照片中的边界/边缘的分布是有用的。

在框103处,基于来自第一图像的灰度信息来标识第一图像中的对象的至少一个表面。框103处的操作可以在将参考图5-7进行描述的三个子块中完成。在图5中,示出了通过去除诸如容器的边界等不相关区域来调节第一图像的透视图。结果,留下了对象520,其对应于图3中的对象320。

然后,如图6所示,基于灰度信息来提取对象的边缘。因为对象的每个表面面向不同的方向(取向),所以来自每个表面的反射光被相机不同地捕获。结果,通过分析第一图像中的灰度信息,能够标识对象的边缘。如图所示,通过突出显示图6的图像中的对象620的边缘/边界来标记对象620(对应于图3中的对象320和图5中的对象520)。

图7示出了另一突出显示的图像,其中边缘/边界变厚,从而进一步区分相同对象或不同对象的表面。在一些实施例中,这可以通过例如对边缘执行侵蚀过程来完成。侵蚀过程是一种用于消除边界内的嘈杂或无意义的点的常用的图像处理。另外,可以在侵蚀过程之前执行扩展过程,扩展过程通常也用于消除边界外的嘈杂或无意义的点。因此,通过图像处理技术,可以获取第一图像中的另外的区分表面720(对应于图3中的对象320、图5中的对象520和图6中的对象620)。由于形态学开放(扩展)和闭合(侵蚀)操作是现有技术,因此不在上下文中详细讨论它们。

应当注意,在上述过程中不一定需要某些操作。例如,容器的边界可以被保持在图像中,并且可以省略扩展或侵蚀操作。利用框103处的操作,标识并且提取对象的边缘/边界。因此,在框103之后,获取边缘在其位置方面的分布,这将在稍后在框104处使用。此外,在框103之后,通常同时标识对象的表面和边缘,因为表面被一些边缘包围,并且边缘又围绕表面。表面或边缘不能单独存在,因此所标识的表面也表示一些标识的边缘,反之亦然。

仍然参考图1,在框104处,基于所标识的第一图像中的对象(或边缘)的至少一个表面和3d空间信息来标识第二图像中的对象的至少一个表面的像素。具体地,所标识的第一图像中的边缘或表面指示对象的表面或边缘的分布,并且第一图像的透视图基本上对应于第二图像的透视图。因此,从第一图像中提取的位置信息可以无缝地应用于第二图像。例如,可以仅保留由所标识的第一图像中的边缘围绕的域,其中移除了第二图像中的其余像素。利用框104处的处理,如图8所示,有源像素的数量大大减少。结果,分析空间中的表面的位置和取向所需要的计算能力显著降低,并且因此有利地减少了实现计算所需要的时间。

在图8中,仍然存在一些不需要的区域801。这可能是由于在分析第一图像的过程中的一些错误地标识的边缘而导致的。由这些标识的边缘围绕的区域801可能在框104之后留在第二图像中。可以另外使用一些现有的图像处理算法来移除这些不需要的区域801,并且因此可以从第二图像中移除对象外部的像素。例如,在仅涉及立方体或矩形盒子的情况下,已知表面是四边形,并且因此可以消除除了四边形之外的任何形状。图9中示出了主要包括对象的表面的空间信息的结果图像的一个示例。通过使用空间信息,机器人可以很容易地知道容器中的盒子的空间分布,并且然后确定哪个表面是机器人机械手的“轻松选择”。

然后,在框105处,基于所标识的第二图像中的像素,控制机器人机械手接近所标识的至少一个表面以拾取对象。通常,机器人机械手更容易接近最靠近机械手的顶表面。因此,在一个实施例中,将从所标识的第二图像中的很多表面中确定顶表面。然后,向机器人机械手发出接近该顶表面以拾取相应对象的控制命令。

应当理解,方法100的序列不一定是上面讨论的序列。例如,用于获取第二图像的框102可以在用于获取第一图像的框101之前,或者可以在用于标识对象的表面或边缘的框103之后。此外,对象可以具有不同数量的表面,并且对象的形状可以是规则的(例如,立方体、盒子、金字塔等)或不规则的(例如,倒角或圆角对象)。

虽然在以上描述中以特定顺序描绘了操作,但是不应当理解为要求以所示的特定顺序或按顺序执行这些操作或者执行所有示出的操作以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。同样地,尽管在上述讨论中包含若干细节,但这些细节不应当被解释为对本文中描述的主题的范围的限制,而是作为可能特定于特定实施例的特征的描述。在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。另一方面,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合来实现。

尽管用结构特征和/或方法动作专用的语言描述了本主题,但应当理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。而是,上述具体特征和动作被公开作为实现权利要求的示例形式。

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