信息处理装置和信息处理方法

文档序号:2352303阅读:87来源:国知局
信息处理装置和信息处理方法
【专利摘要】本发明提供一种信息处理装置和信息处理方法。本发明的信息处理装置预先正确地确定在要抓握的目标工件周围的物体与手之间是否发生干涉。该信息处理装置包括:获得单元,被配置为获得包括多个工件的空间的范围图像;识别单元,被配置为从所获得的范围图像中,识别所述多个工件中的要抓握的目标工件的区域;干涉确定单元,被配置为确定在包含在所述范围图像中的区域与被配置为抓握所述目标工件的抓握单元之间是否发生干涉;以及输出单元,被配置为基于由所述干涉确定单元进行的干涉确定的结果,输出关于在排除了所述目标工件的区域的区域与所述抓握单元之间是否发生干涉的确定的结果。
【专利说明】信息处理装置和信息处理方法

【技术领域】
[0001]本发明涉及一种确定在抓握工件时是否发生干涉(interference)的信息处理装置。

【背景技术】
[0002]近年来,开发了一种从工件堆中拾取单独的工件的技术,这种技术例如在工厂的生产线上,使用视觉系统从工件堆中识别单独的工件,并且辨识工件的三维位置和姿势(orientat1n),从而用机器人具有的手抓握工件。在抓握通过这种技术辨识的工件时,为了防止手碰撞工件的容器或者周边物体(例如要抓握的工件之外的任意工件),需要进行预先确定是否发生这种碰撞的处理。
[0003]例如,在日本特开2010-207989号公报中讨论的方法中,以图像格式获得从附着在目标工件上方的传感器到工件的距离,以根据所获得的距离信息(范围信息)辨识工件的位置和姿势,然后预先基于抓握工件的手的形状、位置和姿势,并且基于所获得的距离信息,进行干涉确定。更具体来说,将手虚拟地沿辨识出的工件的z方向向上移动到基准高度位置。然后,将手虚拟地沿z方向从基准高度位置降低到抓握工件的位置。在将手降低之后,第一和第二手指在抓握位置轻微张开,并且以从这些手指的各个指尖沿Z方向向下部分具有适当余量(allowance) Λ、并且还在各个指尖与工件之间具有适当余量Λ的方式,虚拟地设置干涉确定要使用的虚拟平板。如果在传感器获得的图像格式的距离信息中,存在在与虚拟平板重叠的像素的距离值中,ζ值大于虚拟平板的ζ值的物体,则确定发生干涉。这能够以高速预先确定当手抓握辨识出的工件时,与周边物体是否发生干涉。
[0004]然而,在日本特开2010-207989号公报中讨论的方法中,表示要抓握的目标工件的形状的距离信息也包含在所获得的图像格式的距离信息中。在日本特开2010-207989号公报中讨论的方法中,将各个手指与工件分离适当的余量Λ,以防止错误地确定存在对目标工件本身的干涉。由于该原因,可能会确定对在抓握目标工件时手实际没有干涉到的周边物体发生干涉。


【发明内容】

[0005]根据本发明的一方面,提供了一种信息处理装置,其包括:获得单元,被配置为获得包括多个物体的空间的范围图像;识别单元,被配置为从所获得的范围图像中,识别所述多个物体中的要抓握的目标物体的区域;干涉确定单元,被配置为确定在包含在所述范围图像中的区域与被配置为抓握所述目标物体的抓握单元之间是否发生干涉;以及输出单元,被配置为基于由所述干涉确定单元进行的干涉确定的结果,输出关于在排除了所述目标物体的区域的区域与所述抓握单元之间是否发生干涉的确定的结果。
[0006]根据本发明的示例性实施例,能够预先正确地确定在排除要抓握的目标工件的物体与手之间是否发生干涉。
[0007]通过以下参照附图对示例性实施例的描述,本发明的其它特征将变得清楚。

【专利附图】

【附图说明】
[0008]图1例示了根据本发明的第一示例性实施例的用于从工件堆中拾取工件的系统(下文中称为工件拾取系统)的配置。
[0009]图2是例示根据本发明的第一示例性实施例的信息处理装置的配置的示例的框图。
[0010]图3是例示根据本发明的第一示例性实施例的包括信息处理装置的工件拾取系统进行的拾取处理的流程图。
[0011]图4A、4B、4C和4D是例示根据本发明的第一示例性实施例的关于要抓握的目标工件周围的物体是否与手干涉的确定的示意图。
[0012]图5A、5B和5C例示了根据本发明的第二示例性实施例的关于要抓握的目标工件周围的物体是否与手干涉的确定的示意图。
[0013]图6是例示根据本发明的示例性实施例的信息处理装置的硬件配置的框图。

【具体实施方式】
[0014]下面,在描述本发明的示例性实施例之前,将参照图6描述包含在根据示例性实施例的信息处理装置中的硬件的配置。
[0015]图6例示了根据示例性实施例的信息处理装置的硬件配置。在图6中,中央处理单元(CPU) 1010对经由总线1000连接到其的各个设备进行综合控制。CPU 1010读取并执行存储在只读存储器(ROM) 1020中的处理步骤和程序。操作系统(OS)、根据示例性实施例的各个处理程序和设备驱动器存储在ROM 1020中,并且临时存储在随机存取存储器(RAM) 1030中,要由CPU 1010在需要时执行。输入接口(I/F) 1040输入来自外部装置(诸如距离传感器或者操作设备)的能够由信息处理装置进行处理的输入信号。输出接口(I/F) 1050向外部装置(例如显示设备或者机器人控制器)输出能够由外部装置进行处理的输出信号。
[0016]CPU 1010将存储在ROM 1020中的程序加载到RAM 1030中,并且根据下面要描述的各个流程图执行处理,以实现上面的功能单元。例如,如果作为使用CPU 1010的软件处理的替代构成硬件,则仅需要构成与这里描述的各个功能单元相对应的计算单元或者电路。
[0017]第一示例性实施例提供如下方法,其中,当要抓握检测到的工件时,使用该目标工件的位置和姿势,在二维图像上识别目标工件的区域,从而预先确定手是否与周边物体干涉。
[0018]具体来说,首先,基于检测到的工件的位置和姿势,将工件的三维形状模型投影到由具有与测量装置类似的照相机参数的虚拟照相机观察到的图像平面上。然后,将与将工件投影到其上的像素相对应的距离图像上的三维点确定为要抓握的目标工件的区域。此夕卜,使用排除了被确定为目标工件的区域的三维点的三维形状数据和手模型,来检测三维空间重叠,以确定是否发生干涉。
[0019]由此,即使对于手极其靠近要抓握的目标工件的抓握操作,也能够正确地确定在周边(周围)物体和手之间是否发生干涉,而不会由于目标工件的测量点发生错误检测。
[0020]图1例示了根据本示例性实施例的包括信息处理装置I的工件拾取系统10的配置。工件拾取系统10包括信息处理装置1、机器人控制器3和具有能够抓握目标工件22的手20的机器人臂21。工件拾取系统10使得能够在包含在工件容器23中的目标工件22中,识别、然后用手20抓握不发生干涉的目标工件22。
[0021]机器人控制器3包括机器人工作指令单元18和机器人控制单元19。
[0022]基于信息处理装置I的输出结果,机器人工作指令单元18指示机器人控制单元19抓握确定在抓握操作中在手20和周边物体之间不发生干涉的目标工件22。
[0023]机器人控制单元19接收来自机器人工作指令单元18的指令信息,并且对机器人臂21和手20的操作进行控制,以抓握并输送目标工件22。
[0024]手(抓握单元)20是附着到机器人臂21的尖端的凸缘的末端执行器,其在机器人控制单元19的操作控制下,对目标工件22进行抓握操作。手20可以是通过将自身靠置在目标工件22的平坦部分上来抓握目标工件22的磁式或者吸附式手,或者张开并闭合多个手指(两个或三个手指)以从内部或者外部保持并抓握物体的抓握式手。除此之外,可使用任何手,只要其是具有抓握机构并且能够附着到机器人臂21的末端执行器即可。
[0025]机器人臂21是能够在机器人控制单元19的操作控制下,将手20移动到手20能够抓握目标工件22的位置和姿势的多自由度机器人。
[0026]距离传感器(范围传感器)2是为了获得在各个像素中存储深度信息的距离图像(范围图像)而使用的传感器。作为距离传感器2,可使用由照相机捕获用来照射目标物体的例如激光、缝隙光或者随机点图案光的反射光,以通过三角测量来测量距离的主动式距离传感器。作为主动式距离测量方法,可以使用诸如空间编码法或者相移法的各种方法。距离传感器2不限于上述传感器,而可以使用利用光的飞行时间的飞行时间法(time-of-flight method)。作为另选方案,可以使用根据立体照相机捕获的图像通过三角测量计算各个像素的深度的被动式方法。除此之外,任何方法不损害本示例性实施例的要义,只要该方法能够根据范围图像获得目标物体的表面的三维位置即可。
[0027]下面,将参照图2描述信息处理装置I的配置。图2是例示信息处理装置I的功能配置的示例的框图。
[0028]信息处理装置I包括三维形状数据获得单元11、工作位置和姿势得出单元12、工作模型存储单元13、目标区域识别单元14、手位置和姿势得出单元15、手模型存储单元16以及干涉确定单元17。下面将描述各个单元。
[0029]三维形状数据获得单元11获得表示一堆目标工件22的表面的形状的三维形状数据。更具体来说,由距离传感器2捕获范围图像,然后获得通过根据各个像素的坐标和深度值计算三维坐标而获得的三维点组,作为三维形状数据。
[0030]向工作位置和姿势得出单元12输入由三维形状数据获得单元11获得的测量信息。下文中,将对工作位置和姿势得出单元12设置的坐标系称为传感器坐标系。在本示例性实施例中,假设在距离传感器2和机器人之间几何关系是固定的,并且通过事先进行用于获得相对位置和姿势的机器人视觉校准,已知其之间的相对位置和姿势。在本示例性实施例中,假设将距离传感器2固定在工件容器23上方进行了描述。然而,可以将距离传感器2固定到机器人臂21。
[0031]工作位置和姿势得出单元12基于三维形状数据获得单元11输入的信息,检测存在于工件容器23内部的单独的工件22,并且计算表示检测到的工件22在传感器坐标系中的位置和姿势的6个参数。
[0032]在本示例性实施例中,预先将通过从大量位置和姿势观察工件而获得的多个范围图像信息作为图案存储在数据库中,并且将通过使用距离传感器2进行测量而获得的范围图像与这些图案进行匹配,以检测单独的工件22,从而计算工件22的近似位置和姿势。然后,基于近似位置和姿势,再次计算工件22的位置和姿势。事先从在后续阶段处理中要使用的工件22的三维形状模型中,提取了在作为范围图像获得工件22时预期观察到的三维点组。获得该三维点组和从由距离传感器2获得的范围图像得出的三维点组之间的对应关系,并且计算工件22的位置和姿势,使得这两个三维点组彼此配合。可以使用上述方法之外的任意方法,只要该方法能够使用由三维形状数据获得单元11获得的范围图像,从一堆工件中检测要抓握的单独的工件22,然后得出其三维位置和姿势即可。
[0033]工作模型存储单元13存储要从一堆中拾取的目标工件22的三维形状模型。作为三维形状模型(三维模型信息),例如,可以使用近似表示工件22的三维形状的多边形模型。多边形模型由目标工件形状的表面点的三维坐标,以及由构成近似该形状的三角形面(多边形)的其之间的链接信息构成。多边形通常由三角形形成。然而,其可以由正方形或者五边形形成。可以使用任意多边形模型,只要其能够基于表面点的坐标和其链接信息近似地表示工件22的形状即可。然而,三维形状模型不限于多边形模型。三维形状模型可以是用诸如计算机辅助设计(CAD)数据(CAD模型)的被称为边界表示(B-Rep)的分段参数曲面的集合表示形状的模型。除上述模型之外,可以使用工件22的任意三维形状模型,只要其能够表示表面形状即可。当从自范围图像中获得的三维点组中识别出与目标工件22的区域相对应的三维点时,使用三维形状模型。
[0034]目标区域识别单元14识别从由三维形状数据获得单元11获得的包括目标工件22的空间的三维形状数据中排除了目标工件22的区域的区域。然后,目标区域识别单元14向干涉确定单元17输出关于识别出的区域的信息。
[0035]手位置和姿势得出单元15基于由工作位置和姿势得出单元12得出的工件22的位置和姿势,得出用于抓握目标工件22的手20的位置和姿势。下面将描述具体处理。手位置和姿势得出单元15向干涉确定单元17输出关于得出的手20的位置和姿势的信息。
[0036]手模型存储单元16存储用于抓握目标工件22的手20的三维形状模型。手20的三维形状模型与工件22的三维形状模型类似,因此这里省略其描述。手模型存储单元16向手位置和姿势得出单元15以及干涉确定单元17,输出所存储的手20的三维形状模型。
[0037]干涉确定单元17在由三维形状数据获得单元11获得的三维形状数据中,针对排除了由目标区域识别单元14识别出的目标工件22的区域的区域,进行干涉确定。在干涉确定中,干涉确定单元17确定在由手模型存储单元16得出的处于手20的位置和姿势的手模型与目标工件22周围的物体之间是否发生干涉。对于干涉确定,干涉确定单元17在使用存储在手模型存储单元16中的表示手20的三维形状的多边形模型的同时,使用例如通常在游戏编程中使用的碰撞确定技术。具体来说,通过检测从通过使用视觉系统捕获工件堆的图像而获得的范围图像获得的三维形状数据、与处于抓握检测到的工件22的位置和姿势的手20的形状之间的三维空间上的重叠,来检测是否发生干涉。干涉确定单元17进行上述干涉确定处理。如果干涉确定单元17确定没有发生干涉,则干涉确定单元17向机器人工作指令单元18输出关于目标工件22的信息。即使干涉确定单元17确定发生干涉,干涉确定单元17也可以输出干涉确定的结果。作为另选方案,代替直接向机器人工作指令单元18输出干涉确定的结果,干涉确定单元17可以向显示设备输出干涉确定的结果,以使显示设备显示干涉确定的结果。
[0038]图3是例示使用根据本示例性实施例的信息处理装置I进行的、通过事先确定在抓握操作中是否发生干涉来从工件堆中拾取工件的处理的流程图。
[0039]在步骤S201中,工作模型存储单元13将存储在其中的工件22的三维形状模型,输入到工作位置和姿势得出单元12以及干涉确定单元17中。
[0040]在步骤S202中,手模型存储单元16向手位置和姿势得出单元15以及干涉确定单元17,输入存储在其中的表示手20的三维形状的模型。这里假设向其输入使用多边形的集合近似三维形状的多边形模型。
[0041]在步骤S203中,三维形状数据获得单元11捕获一堆目标工件22的范围图像,根据各个像素的坐标和深度计算三维点组的坐标数据,然后向工作位置和姿势得出单元12输入计算的坐标数据。将三维点组中的点的总数取为N。假设用基准坐标系表示所获得的三维点组中的各个点的坐标。下文中,对由基准坐标系表示的三维点组中的各个点给出标识(ID),并且将第i个三维点称为ke i。为了相互参照,链接信息记录在该步骤中生成的各个三维点的坐标和范围图像的各个对应像素的坐标中。
[0042]在步骤S204中,工作位置和姿势得出单元12在工件堆中检测要抓握的单个单独的工件22,并且计算表示检测到的工件22在传感器坐标系统中的位置和姿势的6个参数。能够使用各种方法,来检测单独的工件22,并且计算其位置和姿势。如上所述,在该步骤中,将通过从大量位置和姿势观察工件而获得的各个范围图像的图案与在步骤S203中获得的范围图像进行匹配,并且获得观察到的与评分最高的数据相对应的位置和姿势,作为要抓握的目标工件22的近似位置和姿势。具体来说,使用在日本特开2001-14307号公报中讨论的方法计算近似位置和姿势,其中,将范围图像上的特征点之间的位置关系,与存在于数据库中的处于各个观察到的位置和姿势的特征点之间的位置关系进行比较,并且选择彼此最匹配的特征点组。使用计算的近似位置和姿势作为初始值,使用称为迭代最近点(ICP)法的方法,计算工件22的三维形状模型能够与从三维空间中的范围图像中获得的三维点组匹配的位置和姿势。
[0043]将从工件22的三维形状模型的表面中提取的点组取作P。
[0044]P = {pm l, Pm 2, — , Pm N}⑴
[0045]将从范围图像中获得的三维点组取作K。
[0046]K = {km l, km 2,…,km N} (2)
[0047]对从三维形状模型的表面中采样的点组P进行变换,并且计算将点组P与从范围图像中获得的三维点组K对应的位置和姿势参数。当基于近似位置和姿势,将点组P中的各个点P1变换到传感器坐标系时,将点组K中的距离最近的点取作匕e K,能够由下面的方程式(3)定义误差函数。其中,R和t分别是要获得的姿势参数和运动矢量。
[0048]傘“)艺bt (βρτ I ?} ‘.{3)


I=J.
[0049]获得使误差函数E减小的R和t,来计算表示位置和姿势的6个参数。在下面的论文:K.S.Arunj T.S.Huang, and S.D.Blostelnj iiLeast-Squares Fitting of Two3_D PointSets, "ΡΑΜΙ, vol.9,n0.5,1987中,讨论获得使误差函数E减小的R和t的方法。在该步骤中,代替如上所述直接获得R和t,可以通过使用诸如高斯-牛顿法(Gauss-Newton method)的非线性优化方法重复校正工件22的位置和姿势参数,来计算R和t。可以使用任意方法,只要其能够从工件堆中检测单个单独的工件22,并且计算表示工件22在传感器坐标系中的位置和姿势的6个参数即可。
[0050]在步骤S205中,目标区域识别单元14基于在步骤S204中得出的目标工件22的位置和姿势,识别三维形状数据上的排除了目标工件22的三维点。将参照图4A至4D描述该步骤中的处理。
[0051]图4A例示了通过捕获容器中的工件堆而获得的范围图像,以及在步骤S204中检测到并且根据范围图像计算了位置和姿势的目标工件22。这里,使用存储在工作模型存储单元13中的工件的三维形状模型以及目标工件22的位置和姿势,通过下面的方法识别排除了目标工件22的三维形状数据。
[0052]首先,准备虚拟照相机观察到的图像平面。在观察到的图像平面上,基于计算的位置和姿势绘制工件的三维形状模型。对于虚拟照相机的照相机参数,推荐获得并使用与三维形状数据获得单元11实际使用的摄像装置相同的照相机参数。使用相同的照相机参数使由三维形状数据获得单元11捕获的范围图像的各个像素(X,y)与观察到的虚拟照相机的图像平面上的(x,y)相对应。然而,如果能够识别捕获的范围图像和观察到的虚拟照相机的图像平面之间的像素对应关系,则不一定使用相同的照相机参数。在绘制处理之前,利用诸如(R,G,B) = (O, O, O)的颜色,对整个图像平面进行初始化。
[0053]为了识别在其上绘制工件22的像素,对形成三维形状模型的各个面分配排除了初始化使用的颜色的特定颜色,并且以分配的颜色绘制各个面。例如,如果使用多边形模型,则对形成多边形模型的所有多边形分配颜色(R,G,B) = (255,0,O)来进行绘制。如果使用具有分段参数曲面的B-Rep模型,则对各个曲面分配特定颜色来进行绘制。只要能够识别绘制工件22的区域的像素,可以使用彩色图像或灰度级图片,或者可以对各个面分配不同或相同的颜色。作为另选方案,可以使用二值化图像。图4B例示了通过对图4A所示的目标工件22进行上述处理而生成的图像。
[0054]依次参照与范围图像上的像素(x,y)相对应的观察到的图像平面上的像素的亮度值(R,G, B),以依次确定根据这些像素计算的三维点是否是与目标工件22相对应的区域。例如,假设与范围图像的目标像素(x,y)相对应的观察到的图像平面上的像素的亮度值是(R,G, B) = (255,O, O)。在这种情况下,确定根据该像素计算的三维点是表示与目标工件22相对应的形状的数据,并且与该像素相关联地记录值O。作为另选方案,假设与范围图像的目标像素(X,y)相对应的观察到的图像平面上的像素的亮度值是(R,G, B) = (O, O, O)。在这种情况下,确定根据该像素计算的三维点是表示诸如工件容器23或者目标工件22之外的任意工件的周边物体的形状的数据,并且与该像素相关联地记录值I。对所有像素进行该处理,能够识别根据各个像素计算的三维点对应于表示目标工件22的形状的数据,还是表示排除了目标工件22的周边物体的形状的数据。
[0055]这里,参照存储绘制的结果图像的帧缓冲器中的颜色缓冲区的亮度值,来识别目标工件22的区域。然而,代替颜色缓冲区,可以参照深度缓冲区或者模板缓冲区的值来进行识别。作为另选方案,代替进行绘制,可以计算从虚拟照相机坐标系的原点行进到各个像素的虚拟光线,来确定光线是否与目标工件22相交,从而确定目标工件22的区域。
[0056]图4C例示了沿着图4A所示的范围图像上的粗线截取的截面图。小空心圆指示根据由三维形状数据获得单元11获得的范围图像计算的三维点。虚线指示上述处理中的空心圆中的与目标工件22相对应的三维点。通过排除由虚线指示的与目标工件22相对应的三维点,并且使用由空心圆指示的三维点,进行干涉确定,从而能够确定是否对排除了目标工件22的物体发生干涉。
[0057]还能够通过下面的方法来确定目标工件22的区域。例如,如果从以不同的颜色混合并且堆放的不同类型的工件中抓握一种类型的工件22,则可以获得能够识别与范围图像的对应关系的亮度图像,以基于亮度图像的像素颜色信息,来识别目标工件22的区域。更具体来说,如果目标工件22的颜色为红色,则提供与亮度图像上的红色像素相对应的范围图像上的像素的测量点无效,并且与排除了红色像素的像素相对应的范围图像上的测量点有效的信息,使得能够进行识别目标工件22的处理。
[0058]在步骤S206中,手位置和姿势得出单元15基于在步骤S204中得出的工件22的位置和姿势,得出对工件22进行抓握操作的手20在传感器坐标系中的位置和姿势。具体来说,作为教导抓握操作的信息,预先记录在抓握操作中的工件22和手20之间的相对位置和姿势。通过在虚拟环境中操作工件22和手20的模型,来设置工件22和手20之间的相对位置和姿势。作为另选方案,可以将使得能够获得距离传感器2和手20之间的相对位置和姿势的手20,移动到手20能够抓握基于距离传感器2测量的数据在传感器坐标系中获得了位置和姿势的工件22的位置和姿势,从而根据工件22和手20之间的位置和姿势,计算手20的位置和姿势。基于记录的教导信息,将表示计算的工件22的位置和姿势的坐标变换矩阵,乘以表示工件22和手20之间的相对位置和姿势的坐标变换矩阵,以获得手20在传感器坐标系中的坐标变换矩阵,并且计算工件22和手20之间的位置和姿势。
[0059]图4D例示了在该步骤中得出手20的位置和姿势之后,布置抓握图4C所示的目标工件22的手20的状态。移除了在步骤S205中确定为对应于目标工件22的三维点。
[0060]在步骤S207中,目标区域识别单元14确定在步骤S205中识别的排除了目标工件22的三维形状数据,是否对处于在步骤S206中计算的位置和姿势的手20发生干涉。
[0061 ] 以在步骤S206中得出的位置和姿势布置表示手20的形状的多边形模型。此外,将半径为r的非常小的球体布置在排除了目标工件22的三维形状数据中的各个三维点的位置。检测各个多边形和该球体之间的三维空间重叠,来进行干涉确定。如果球体和多边形彼此重叠,则确定发生干涉。如果球体和多边形彼此不重叠,则确定未发生干涉。能够使用在uChrister Ericson, a real-time collis1n determinat1n for game programming, bonedigital, 2005”中讨论的方法,作为对多边形和球体之间的信息进行处理的方法。在图4D中,在排除了目标工件22的三维点中,用黑色点指示作为球体和多边形之间的干涉确定的结果,确定为与手20发生干涉的三维点。
[0062]可以使用其它方法进行干涉确定。例如,连接范围图像上的相邻像素之间的三维点,以生成表示工件堆的三维形状数据的多边形,并且检测与处于抓握位置和姿势的手20的多边形模型的多边形的相交,以进行干涉确定。在这种情况下,如果在多边形之间存在相交,则确定发生干涉。如果在多边形之间不存在相交,则确定没有发生干涉,并且输出结果。能够使用在 “Tomas Moller, A Fast Triangle-Triangle Intersect1n Test, 1997,,中讨论的方法,作为对多边形之间的信息进行处理的方法。这里,使用多边形模型作为手20的形状模型。然而,可以使用通过诸如圆柱体、球体或者长方体的简单几何形状的组合表示三维形状的模型。除此之外,可以使用任意方法,只要该方法能够检测工件堆的三维形状数据和抓握目标工件22的手20的形状模型之间的三维空间重叠即可。可以沿与目标工件22相反的方向,将手20的形状模型放大。使用手20的放大形状模型的干涉确定能够对实际进行的抓握操作提供余量。
[0063]作为步骤S207中的处理的结果,在步骤S208中,如果确定没有发生干涉,则处理进行到步骤S209。如果确定发生干涉,则处理进行到步骤S202,检测另一个单独的工件22,并且计算其位置和姿势。
[0064]在步骤S209中,机器人工作指令单元18向机器人控制单元19发送操作信号。机器人控制单元19操作机器人臂21,以将手20移动到能够抓握目标工件22的位置和姿势,使手20抓握工件22并且将其输送到预定位置。
[0065]在步骤S210中,手位置和姿势得出单元15确定工件容器23是否是空的。如果工件容器23不是空的(步骤S210:否),则处理进行到步骤S203。如果工件容器23是空的(步骤S210:是),则处理结束。
[0066]使用上述方法,使用信息处理装置I预先确定在抓握操作期间是否发生干涉,并且拾取(抓握)确定没有发生干涉的目标工件22。
[0067]在第一示例性实施例中,描述了如下方法:当要抓握检测到的工件时,通过使用目标工件的位置和姿势,来识别二维图像上的工件的区域,事先确定在周边物体和手之间是否发生干涉。更具体来说,基于检测到的工件的位置和姿势,将工件的三维形状模型投影到具有与测量装置相同的照相机参数的虚拟照相机的观察图像平面上,并且将与将工件投影在其上的像素相对应的三维点确定为要抓握的工件的区域。然后,通过使用排除了被确定为目标工件的区域的三维点的三维形状数据和手模型,检测三维空间重叠,以确定是否发生干涉。由此,即使在手极其靠近目标工件的抓握操作中,也能够正确地确定周边物体和手之间的干涉,而不会由于目标工件的区域中的测量点而发生错误检测。这种方法主要在工件检测方法具有在检测未被其它单独的工件隐藏的、工件堆的表面层中的单独的工件的特征时有效。
[0068]在本示例性实施例中,描述了确定是否与手发生干涉的方法,其中,从自范围图像中获得三维点中排除了被确定为目标工件的三维点(其中,识别目标工件之外的三维点)。然而,作为另一方法,可以使用范围图像上的所有三维点,来确定是否与手发生干涉,如果确定发生干涉的所有区域对应于目标工件,则可以输出指示没有发生干涉的结果,否则,可以输出指示发生干涉的结果。
[0069]在本示例性实施例中,仅记录了一个教导信息,来计算手的抓握位置和姿势。然而,可以预先记录手能够抓握目标工件的多个相对位置和姿势,以通过根据工件的姿势从多个教导信息中选择一个,来计算手的位置和姿势。作为另选方案,可以对多个教导信息分配优先级,以通过选择具有较高优先级的教导信息,来计算手的位置和姿势。如果记录了多个教导信息,并且如果在干涉确定处理中确定发生干涉,则通过基于具有次高优先级的教导信息,选择抓握操作,来计算手的位置和姿势,使得再次进行干涉确定。
[0070]在第二示例性实施例(下文中称为本示例性实施例)中,将描述如下方法:当要抓握检测到的工件时,通过使用目标工件的位置和姿势识别三维图像上的工件的区域,事先确定在周边物体和手之间是否发生干涉。在本示例性实施例中,基于处于计算的位置和姿势的目标工件的三维形状模型与形成三维数据的三维点之间的距离,确定具有小距离的三维点对应于目标工件,从而识别与周边物体相对应的三维点组。这使得即使在检测到被其它单独的工件隐藏的单独的工件的情况下,也能够正确地确定在周边物体和手之间是否发生干涉,而不会由于目标工件的区域中的测量点而发生错误检测。
[0071]本示例性实施例中的信息处理装置的配置和其各个处理单元的处理,与根据第一示例性实施例的图2所示的信息处理装置I基本类似,因此这里省略其描述。通过在抓握操作中事先确定是否发生干涉从工件堆中拾取工件的处理步骤,也与根据第一示例性实施例的图2所示的流程图基本类似,因此这里省略其描述。然而,本示例性实施例中的步骤S205、S206和S207中的处理与第一示例性实施例中的处理不同。因此,下面,省略对其它步骤 S201、S202、S203、S204、S208、S209 和 S210 的描述,而仅描述步骤 S205、S206 和 S207。
[0072]在步骤S205中,目标区域识别单元14基于在步骤S204中计算的目标工件22的位置和姿势,识别三维形状数据上的排除了目标工件22的三维点。参照图5A至5C描述该步骤中的处理。
[0073]图5A例示了捕获容器中的工件堆的范围图像,以及在步骤S204中检测到并且根据范围图像计算了位置和姿势的目标工件22。在由距离传感器2获得的范围图像上,预期观察到的没有被其它单独的工件隐藏的目标工件22的表面上的三维点,与基于计算的位置和姿势布置的目标工件22的表面的距离足够小。因此,使用存储在工作模型存储单元13中的工件的三维形状模型以及目标工件22的位置和姿势,通过下面的方法要识别排除了目标工件22的三维形状数据。
[0074]首先,计算三维点ke l(i = I至N)中的各个与处于计算的位置和姿势的工件的三维模型之间的距离Φ。具体来说,获得从传感器坐标系的原点到范围图像上的与三维点k。」相对应的像素的视线矢量,并且获得处于计算的位置和姿势的工件的三维模型与视线矢量在最短距离相交的点。将该交点和三维点k。」之间的距离取作屯,并且与三维点相关联地记录距离屯。如果没有交点,则记录相对于假设的距离值极其大的值作为距离值。例如,如果能够假设屯〈10,则在没有交点的情况下,记录Cli = 1000000。图5B例示了图5A所示的图像的截面图。在图5B中,虚线指示的直线示出了视线矢量。粗线指示的直线示出了获得的交点与三维点k。」之间的距离。接下来,要参照记录的距离屯,确定三维点k。」是否对应于目标工件22。具体来说,确定用于确定小距离值的阈值Θ。如果屯〈=Θ,则确定三维点让^对应于目标工件22。如果Θ彡屯,则确定三维点应于目标工件22之外的任意物体。通过使用该处理,因为到工件的三维模型的距离Cli的值小,因此确定图5B所示的由虚线指示的空心圆是与目标工件22相对应的三维点。
[0075]在步骤S206中,基于在步骤S205中得出的工件22的位置和姿势,计算抓握工件22的手的位置和姿势。更具体来说,作为教导抓握操作的信息,预先记录抓握操作中的工件22和手20之间的相对位置和姿势。基于记录的教导信息,将表示得出的工件22的位置和姿势的坐标变换矩阵,乘以表示工件22和手20之间的相对位置和姿势的坐标变换矩阵,以获得手20在传感器坐标系中的坐标变换矩阵,并且计算工件22和手20之间的位置和姿势。
[0076]图5C例示了通过在该步骤中计算手20的位置和姿势,来布置抓握图5B所示的目标工件22的手20的状态。移除了在步骤S205中确定为对应于目标工件22的三维点。
[0077]在步骤S207中,确定在步骤S205中识别的排除了目标工件22的三维形状数据,与处于在步骤S206中得出的位置和姿势的手20之间是否发生干涉。可以使用与根据第一示例性实施例的方法类似的方法,来进行干涉确定。在图5C中,用黑色点指示排除了目标工件22的三维点中的确定与手20发生干涉的三维点。
[0078]在第二示例性实施例中,描述了如下方法:当要抓握检测到的工件时,通过使用要抓握的工件的位置和姿势,来识别三维图像上的工件的区域,事先确定在手和周边物体之间是否发生干涉。更具体来说,基于处于计算的位置和姿势的目标工件的三维形状模型与形成三维数据的各个三维点之间的距离,确定具有小距离的三维点对应于目标工件,从而识别出与周边物体相对应的三维点组。这使得即使在检测到被其它单独的工件隐藏的单独的工件时,也能够正确地进行在周边物体和手之间是否发生干涉,而不会由于目标工件的区域中的测量点而发生错误检测。这种方法主要在工件检测方法具有在检测部分被其它单独的工件隐藏的单独的工件的特征时有效。
[0079]在本示例性实施例中,获得走向范围图像上的与各个三维点相对应的像素的视线矢量和三维形状模型的相交,来计算到三维点的距离。然而,对于计算工件的三维形状模型和各个三维点之间的距离的方法,可以使用另一种方法。例如,获得到处于计算的位置和姿势的工件的三维形状模型的表面的最短距离,并且可以代而使用该值。
[0080]下面将描述第三示例性实施例。
[0081]可以用硬件构成图2所示的信息处理装置I的各单元。此外,可以用存储器构成工作模型存储单元13,并且可以用计算机程序构成其它单元。
[0082]在这种情况下,可以将普通个人计算机(PC)应用于信息处理装置I。例如,工作模型存储单元13包含在硬盘中,并且将用于使CPU执行排除了工作模型存储单元13的各单元的功能的计算机程序存储在硬盘中。PC的CPU将存储在硬盘中的计算机程序或数据加载到RAM中,并且使用加载的计算机程序或数据执行处理。由此,PC用作信息处理装置I。可以根据需要组合使用上述示例性实施例和变型例。
[0083]本发明的实施例还能够由读出并执行记录在存储介质(例如非易失性计算机可读存储介质)上的计算机可执行指令,以执行本发明的上述实施例中的一个或更多个的功能的系统或装置的计算机,以及通过由系统或装置的计算机执行的方法,通过例如从存储介质中读出并执行计算机可执行指令,以执行上述实施例中的一个或更多个的功能来实现。计算机可以包括中央处理单元(CPU)、微处理单元(MPU)或其它电路中的一个或更多个,并且可以包括单独的计算机或单独的计算机处理器的网络。例如可以从网络或存储介质向计算机提供计算机可执行指令。存储介质例如可以包括硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算系统的存储设备、光盘(例如压缩盘(⑶)、数字通用盘(DVD)或蓝光盘(BD)?)、闪存设备、存储卡等中的一个或更多个。
[0084]虽然参照示例性实施例对本发明进行了说明,但是应当理解,本发明不限于所公开的示例性实施例。所附权利要求的范围符合最宽的解释,以使其涵盖所有这种变型、等同结构及功能。
【权利要求】
1.一种信息处理装置,其包括: 获得单元,被配置为获得包括多个物体的空间的范围图像; 识别单元,被配置为从所获得的范围图像中,识别所述多个物体中的要抓握的目标物体的区域; 干涉确定单元,被配置为确定在包含在所述范围图像中的区域与被配置为抓握所述目标物体的抓握单元之间是否发生干涉;以及 输出单元,被配置为基于由所述干涉确定单元进行的干涉确定的结果,输出关于在排除了所述目标物体的区域的区域与所述抓握单元之间是否发生干涉的确定的结果。
2.根据权利要求1所述的信息处理装置,其中,所述干涉确定单元确定,在所述范围图像中的至少在排除了识别出的所述目标物体的区域之外的区域中,在所述抓握单元与所述目标物体的周边之间是否发生干涉。
3.根据权利要求1所述的信息处理装置,其中,所述识别单元基于颜色信息,识别所述目标物体的区域。
4.根据权利要求1所述的信息处理装置,所述信息处理装置还包括:存储单元,被配置为存储所述物体的三维模型信息, 其中,所述识别单元基于所存储的三维模型信息,识别所述目标物体的区域。
5.根据权利要求4所述的信息处理装置,其中,所述识别单元通过基于所存储的三维模型信息得出所述目标物体的位置和姿势,来识别所述目标物体的区域。
6.根据权利要求4所述的信息处理装置,其中,所述干涉确定单元以如下方式进行所述干涉确定: 基于所识别的所述目标物体的区域,将所述三维模型信息投影到通过虚拟照相机观察到的图像平面上,然后排除所观察到的图像平面上的投影有所述三维模型信息的区域的数据。
7.根据权利要求1所述的信息处理装置,其中,所述干涉确定单元以如下方式进行所述干涉确定: 获得所述范围图像上的多个三维点与包含在所识别的区域中的多个三维点之间的距离,并且排除所获得的距离小于预定值的多个三维点中的任意三维点。
8.根据权利要求1所述的信息处理装置,所述信息处理装置还包括: 控制单元,被配置为进行控制以使所述抓握单元抓握被所述干涉确定单元确定为不引起干涉的目标物体。
9.根据权利要求1所述的信息处理装置,其中,所述获得单元基于捕获投影在包括所述多个物体的所述空间中的图案的图像,获得所述范围图像。
10.根据权利要求1所述的信息处理装置,其中,所述三维模型信息是计算机辅助设计模型。
11.根据权利要求1所述的信息处理装置,其中,所述干涉确定单元将表示被配置为抓握所述目标物体的所述抓握单元的模型,按所述抓握单元抓握所述目标物体的位置和姿势布置在虚拟空间中,以在所述虚拟空间内确定在包含在所述范围图像中的区域与由所布置的表示所述抓握单元的模型占据的区域之间是否发生干涉,并且 其中,所述输出单元基于由所述干涉确定单元进行的所述干涉确定的结果,输出关于在排除了所述目标物体的区域的区域与由表示所述抓握单元的所述模型所占据的区域之间是否发生干涉的确定的结果。
12.根据权利要求1所述的信息处理装置,其中,在所述干涉确定单元确定在所述抓握单元与所述目标物体的区域之间发生干涉的情况下,所述输出单元输出指示不发生干涉的结果;而在所述干涉确定单元确定在所述抓握单元与排除了所述目标物体的区域的区域之间发生干涉的情况下,所述输出单元输出指示发生干涉的结果。
13.—种信息处理方法,其包括: 获得包括多个物体的空间的范围图像; 从所获得的范围图像中,识别所述多个物体中的要抓握的目标物体的区域; 确定在包含在所述范围图像中的区域与被配置为抓握所述目标物体的抓握单元之间是否发生干涉;以及 基于所述确定的结果,输出关于在排除了所述目标物体的区域的区域与所述抓握单元之间是否发生干涉的确定的结果。
14.一种系统,其包括: 根据权利要求1所述的信息处理装置;以及 抓握单元,被配置为抓握被所述信息处理装置确定为不会引起干涉的目标物体。
【文档编号】B25J13/08GK104249371SQ201410302279
【公开日】2014年12月31日 申请日期:2014年6月27日 优先权日:2013年6月28日
【发明者】渡边大辅, 内山晋二 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1