物体取出系统的制作方法

文档序号:6547227阅读:206来源:国知局
专利名称:物体取出系统的制作方法
技术领域
本发明涉及一种用于一个个地取出多个物体的物体取出系统(an objectpicking system)。本发明例如可用于一个个地从容器中取出工厂内被不规则地容纳在容器等中的工件的作业中。
背景技术
例如就工厂的生产线而言,在将多个工件按不规则且随机配置放置在容器内的情况下,以其原状态安全且切实地取出各个工件从省力化的观点看是有利的。以前,已知通过配备用于检测工件位置、姿势等的视觉传感器的机器人系统来实现这种工件取出作业。在由机器人系统对不规则地配置在容器内的工件执行取出作业的情况下,若其它工件未重叠在要求取出的工件(下面称为‘取出对象工件’)上,则可根据由视觉传感器得到的工件的外观信息等,控制机器人机构部,通过通常的取出动作把持取出对象工件并将其取出。
但是,在其它工件至少部分重叠在取出对象工件上的情况下,若在该状态下抬起取出对象工件,则担心重叠在取出对象工件上的其它工件下落到容器内,或在其后的搬运中被放出到工厂内。另外,若工件下落,则还担心与其它工件冲突,产生工件彼此损伤或冲突引起的噪声。
在这种状态下,现有的机器人系统中一般执行优先作业者安全的工件取出作业。即,在通过视觉传感器检测到其它工件至少部分重叠在取出对象工件上的情况下,将对这种取出对象工件的取出作业设为下次作业,取出没有工件重叠的其它取出对象工件。例如,特开平9-91441号公报(JP-A-9-91441)中公开了在使用机器人的部件取出系统中、利用图像处理来检测有无取出对象部件与其它部件之间的‘干涉’(接触、接近、重复)的干涉检测方法。
但是,在将与其它工件间产生干涉的取出对象工件的取出作业设为下次作业的上述方法中,有时由于工件彼此的重叠状态而不能直至最后取出这种取出对象工件。此时,因为未取出全部重叠于该取出对象工件下的工件,所以担心作业效率显著下降。

发明内容
本发明的目的在于提供一种物体取出系统,就用于一个个地取出不规则地放置的多个物体的物体取出系统而言,对于其它物体至少部分重叠在其上的取出对象物体,避免取出作业中的物体的下落或与之相伴的物体损伤,并且不将取出作业设为下次作业地进行实施,所以是一种安全并防止作业效率的降低的物体取出系统。
为了实现上述目的,本发明提供一种物体取出系统,具备检测部,作为图像、检测相互至少部分重叠设置的多个物体中的取出对象物体;存储部,存储具有与取出对象物体相同外观的基准物体的规定部分的外观信息;判断部,根据存储在存储部中的基准物体的外观信息,判断在检测部检测的取出对象物体的图像中、对应于基准物体的规定部分的取出对象物体的检查部分是否被其它物体所隐蔽;控制部,根据判断部的判断结果,确定取出对象物体的取出动作,输出取出动作的控制信号;和取出机构,根据从控制部输出的控制信号,对取出对象物体完成取出动作。取出机构可由机器人机构部构成。
在上述物体取出系统中,取出机构可具备机器人机构部。
另外,当判断部判断为取出对象物体的检查部分被其它物体所隐蔽时,控制部确定的取出动作包含倾斜取出对象物体的动作,以使检查部分沿重力方向实质上变得比取出对象物体的剩余部分还低。
另外,取出机构可具备可把持取出对象物体的机械手,控制部根据判断部的判断结果,选择在取出机构完成取出动作时使用的机械手的种类,指示给取出机构。
此时,控制部根据判断部的判断结果,确定机械手把持的取出对象物体的把持部位,指示给取出机构。


本发明的上述和其它目的、特征及优点通过关联附图的以下最佳实施方式的说明将变得更加明显。在附图中图1是表示本发明的物体取出系统的基体构成框图。
图2是代表性地表示本发明一实施方式的物体取出系统的整体构成的图。
图3A是表示图2的物体取出系统中的取出对象工件的整体模型和部分模型的事先示教例的图。
图3B是表示图3A的整体模型和部分模型的原点的位置关系的表格。
图4是表示图2的物体取出系统执行的物体取出步骤的流程图。
图5是关联整体模型和部分模型来表示其它工件部分地重叠在实际的取出对象工件上的状态的一例的图。
图6A是概念地说明其它工件重叠的取出对象工件的取出方法的图。
图6B是说明由图2的物体取出系统执行的图6A的取出方法的图。
图7是表示可由图2的物体取出系统取出的、相互至少部分重叠的多个工件的图。
具体实施例方式
下面,参照附图来详细说明本发明的实施方式。图中,对相同或类似的构成要素附加共同的参照符号。
参照附图,图1表示本发明的物体取出系统10的基体构成。物体取出系统10构成为具备检测部12,作为图像、检测相互至少部分重叠放置的多个物体中的要求取出的物体(下面称之为‘取出对象物体Q’);存储部14,存储具有与取出对象物体Q相同外观的基准物体R(下面称为‘基准物体R’)的规定部分的外观信息;判断部16,根据存储在存储部14中的基准物体R的外观信息,判断在检测部12检测的取出对象物体Q的图像中、对应于基准物体R的规定部分的取出对象物体Q的检查部分是否被其它物体所隐蔽;控制部18,根据判断部16的判断结果,确定取出对象物体Q的取出动作,输出取出动作的控制信号;和取出机构20,根据从控制部18输出的控制信号,对取出对象物体Q完成取出动作。
图2代表性地表示具有上述基本构成的本发明一实施方式的物体取出系统300的整体构成。图示实施方式的物体取出系统30是包含机械手及视觉传感器的机器人系统,可从容器32中一个个地取出不规则且随机重叠容纳于箱状容器32中的多个工件W。
作为检测作为取出对象物体Q(图1)的工件W的检测部12(图1)、物体取出系统30具备构成三维视觉传感器的传感器头部的投光器34和摄像机36。投光器34将狭缝光或疑似狭缝光作为参照光,投光到工件W上。这里,所谓‘疑似狭缝光’是通过沿平面扫描点光而形成为狭缝状的光。摄像机36用作检测从投光器34投光到工件W上的参照光的反射光的感光器发挥作用。摄像机36还用于求出计测对象(即工件W)的二维特征量。
另外,物体取出系统30还具备包含存储部14、判断部16和控制部18(图1)的机器人控制器38;和作为连接于机器人控制器38而被控制的取出机构20(图1)的机器人机构部40。如图所示,构成三维视觉传感器的传感器头部的投光器34和摄像机36与作为工具、即终端受动器的机械手42一起,被装配在机器人机构部40的臂前端的法兰部44上。机器人控制器38也用作三维视觉传感器的图像处理/控制部。即,机器人控制器38被连接于投光器34和摄像机36上,执行投光器34的投光动作和摄像机36的摄像动作的控制、摄像机36摄像的图像的取入及图像处理在、以及后述的各种处理。
机器人机构部40具有固有的基坐标系(也称为机器人坐标系)。另外,在机器人机构部40的臂前端的法兰部44中,设定相对法兰部44固定的机器接口(メカニカルインタフエ一ス)坐标系(也称为法兰坐标系)48。法兰坐标系48中的部件的位置和姿势对应于机器人机构部40的当前位置和姿势,在机器人坐标系46上变位。因此,表示两个坐标系46、48中的位置和姿势的数据可使用存储在机器人控制器38内的存储器中的适当参数,随时相互变换。
在上述构成中,三维视觉传感器的校准完成,将由此得到的各数据(即校准数据)存储在机器人控制器38内的存储器中。在校准数据中包含用于计算从投光器34投光到工件W上的狭缝光在空间何处构成平面(即参照光面)的数据、和用于计算摄像机36的光轴朝向哪个方向的数据等。
另外,在三维视觉传感器的传感器头部中设定固有的传感器坐标系50。法兰坐标系48与传感器坐标系50成为通过存储在机器人控制器38内的存储器中的变换矩阵[Sf]来相互关联。对由摄像机36得到的基于二维和三维图像处理的检测信息通过各个校准数据进行变换,作为共同的传感器坐标系50中的数据,输出到机器人控制器38。另外,校准的具体方法、变换矩阵[Sf]的求出方法等是公知的,省力细节。
下面,参照图3A-图7,说明由上述带机械手/视觉传感器的机器人系统构成的物体取出系统30中的、不规则且随机重叠容纳在容器32中的多个工件W的取出作业。
在机器人控制器38中,事先示教表现工件W整体的模型(下面称为整体模型)和表现工件W的周围附近的期望部位的模型(下面称为部分模型)。这里,参照图3A和图3B来说明工件W的整体模型和部分模型的事先示教。
在工件W的整体模型和部分模型的事先示教时,首先,将多个工件W中的任意一个工件WR作为示教用基准物体R(图1),配置在其整体收容于摄像机36的视野中的部位。另外,在机器人控制器38的控制下,由摄像机36执行摄像,取得例如图3A所示的二维图像(椭圆形)。机器人控制器38对取得的二维图像进行图像处理,将关联于一个整体模型M(由虚线包围的矩形区域内的图像)和几个(图中为2个)部分模型m1、m2(用虚线包围的矩形区域内的图像)的数据(即外观信息)存储在存储器(存储部14(图1))中。
存储的数据包含各模型M、m1、m2的形状信息、整体模型M在图像上的位置和姿势(或旋转角度)、以及整体模型M与各部分模型m1、m2之间在图像上的相对位置关系。例如,图3A中,存储整体模型M的原点P0(代表整体模型M的位置的期望点例如图像上的工件W的重心(例如既定值))、与部分模型m1、m2的各自的原点P1、P2(代表各部分模型m1、m2的位置的期望点例如对应于图像上的各部分模型m1、m2的工件WR的一部分重心(例如既定值,但是在图中采用重心之外的点))的位置和方向(由以图像上提供的坐标轴为基准的旋转角度表示)作为外观信息而被存储。
图3B作为这些存储数据的一例,以表格形式表示整体模型M的原点P0与部分模型m1、m2的原点P1、P2的位置和旋转角度的数据。另外,用上述方法示教的部分模型m的个数不限于2个,也可以是任意个。
下面,根据表示关联于机器人机构部40的动作和计算过程的机器人控制器38的处理流程的图4的流程图步骤来说明物体取出系统30的工件W的取出作业。
步骤S1使机器人机构部40向计测位置移动。计测位置是事先示教的位置,例如是容纳多个工件W的容器32的中心点的上方、可将几个工件W的图像收容于摄像机36的视野中的位置。
步骤S2在计测位置执行摄像机36的摄像,取得几个工件W的二维图像。
步骤S3处理取得的二维图像,尝试检测对应于整体模型M的工件W(即取出对象的工件WQ(图5))的图像。在对应于整体模型M的图像检测中,可采用例如将整体模型M用于模板中的模板匹配法。另外,基于模板匹配法的整体模型对应图像的检测方法是公知的,省略细节。
步骤S4若步骤S3的检测不成功,则判断为容器32内无工件W,结束处理。当步骤S3的检测成功时,前进到步骤S5。
步骤S5在对应于整体模型M的工件WQ的图像上,计算对应于各部分模型m1、m2的工件部分(即检查部分)可存在的区域(通常为向图3A的矩形区域附加规定余裕的区域下面称为存在区域)。这里,首先参照事先示教的整体模型M的位置和旋转数据(图3B),推定对应于整体模型M的工件WQ的、在图像上距整体模型M的位置和姿势的偏差。之后,根据推定的工件WQ的位置和姿势的偏差、与事先示教的部分模型m1、m2的位置和旋转数据(图3B),计算对应于各部分模型m1、m2的工件部分的存在区域(图5中由虚线表示的矩形区域)n1、n2。
步骤S6在由步骤S5计算的存在区域n1、n2内,尝试检测对应于各部分模型m1、m2的工件部分(检查部分)。
步骤S7存储对应于各部分模型m1、m2的工件部分的检查成功与否。这里,‘检测成功’意味着其它工件未重叠于该工件部分上,‘检测不成功’意味着其它工件重叠于该工件部分上。例如图5所示,虽在存在区域n2内检测到对应于部分模型m2的工件部分,但在存在区域n1内未能检测对应于部分模型m1的部分的情况下,可判断为由步骤S3检测到的对应于整体模型M的工件WQ中的、对应于部分模型m1的工件部分被其它工件W所隐蔽。另外,图5在同一画面中表示整体模型M的示教时的图像与实际检测到的工件WQ的图像,以便能比较它们的位置和姿势。在工件WQ的图像中,P0表示整体模型M的原点,P0’表示对应于P0的工件WQ的原点。
步骤S8在传感器坐标系50(图2)上求出从对应于整体模型M的工件WQ的原点P0’、至对应于各部分模型m1、m2的工件部分的原点的矢量Vi(这里i=1、2)。另外,因为Vi为二维信息,不包含进深方向的信息,所以设传感器坐标系50中的Z分量=0。
在上述步骤S8之前,采用如下步骤,即使用整体模型M与部分模型m1、m2,先检测对应于整体模型M的工件WQ,并根据检测结果,检测对应于各部分模型m1、m2的工件部分(检查部分)。但是,也可后检测对应于整体模型M的工件WQ,并且可以不使用整体模型M。例如,可仅存储多个部分模型,将其中的一个处理成上述整体模型那样的基准模型。
另外,也可采用对全部模型单独检测对应工件部分的步骤,代替先检测对应于基准模型的工件部分,并根据检测结果来检测对应于其它模型的工件部分的上述步骤。此时,通过相互比较事先示教的全部模型的相对位置关系与实际检测到的对应工件部分的相对位置关系,可判断每个模型有无隐蔽。
步骤S9就对应于整体模型M的工件WQ(即这次的取出对象工件)而言,使用三维视觉传感器,计测工件整体的三维位置/姿势,取得数据。将取得的工件WQ整体的位置和姿势数据用矩阵[Wa]表示并存储在存储器(存储部14(图1))中。[Wa]是=[Na,Oa,Aa,Pa]。这里,Na,Oa,Aa,Pa分别是法线矢量、定向矢量、接近矢量和位置矢量。
步骤S10作为基准把持姿势,存储上述接近矢量Aa与‘工具方向’(终端受动器对工作产生作用的方向在图示的实施方式中,机械手42(图2)接近工件W的方向)一致的机械手42的姿势。
步骤S11边将机械手42维持在基准把持姿势,边使机器人机构部40向把持位置(机械手42开闭动作时的位置)移动。
步骤S12关闭机械手42,把持工件WQ。可事先示教工件WQ上的把持部位。
步骤S13在步骤S7存储的检测结果中,若对应于部分模型m1、m2的工件部分均检测成功,则前进到步骤S14。另外,若对应于部分模型m1、m2的工件部分的至少一方检测不成功,则前进到步骤S15。
步骤S14控制机器人机构部40,在将机械手42维持在基准把持姿势的状态下,抬起在步骤S12中把持的工件WQ,搬运到程序指定的部位,返回步骤S1。若对应于部分模型m1、m2的工件部分均检测成功,则判断为其它工件未重叠于取出对象的工件WQ上,所以即便保持基准把握姿势不变地抬起工件WQ,也可认为未引起工件下落等缺陷。
步骤S15通过计算来确定机械手42的姿势的变更内容。若对应于部分模型m1、m2的工件部分的至少一方检测不成功,则判断为其它工件重叠于取出对象的工件WQ上,所以若保持基准把握姿势不变地抬起工件WQ,则担心重叠的其它工件下落到容器32(图2)内,或在搬运途中放出到工厂内。因此,变更机械手42的姿势后执行工件WQ的取出。
例如,如图6A和图6B所示,可采用沿对应于其它工件重叠的位置选择的方向倾斜机械手42后、倾斜取出工件WQ的方式。倾斜机械手42的方向只要如下设定即可,即,如图6A所示,以基准把持姿势(对应于接近矢量Aa的方向)为基准,其它工件W重叠在工件WQ上的部位、即不能检测到对应于部分模型的工件部分(检查部分)的部位沿重力方向实质上变得比工件WQ的剩余部分还低。此时,机械手42的倾斜量可作为既定值来事先对每个部分模型存储。
步骤S16根据步骤S15的计算结果,从基准把持姿势变更机械手42的姿势,配置成倾斜姿势。
步骤S17将其它工件不重叠于工件WQ上的部位、即不能检测对应工件部分(检查位置)的部分模型不存在的部位设为前端,使机器人机构部40移动。此时,例如只要使机械手42执行使上述矢量Vi的符号反转的移动量-Vi的移动即可。图6B表示步骤S16和步骤S17中的机械手42的动作。
或者,也可根据以基准把持姿势把持工件WQ时的机械手42的位置和姿势(对应于工件WQ的位置和姿势)的数据[Wa],通过计算求出倾斜时的机械手42的位置和姿势[Wb]=[Nb,Ob,Ab,Pb]、以及倾斜拔出工件WQ时的机械手42的位置和姿势[Wc]=[Nc,Oc,Ac,Pc],使机械手42从基准把持姿势向[Wb]和[Wc]的位置依次动作。下面说明具体的计算方法。
首先,如下定义新的坐标系[Wn]=[Nn,On,An,Pn]。
An=AaOn=(An×([Uf]*[Sf]*Vi))/‖An×([Uf]*[Sf]*Vi)‖Nn=On×AnPn=Pa这里,[Uf]是表示工件图像检测中的法兰坐标系48(图2)的位置和姿势的矩阵。另外,“×”是矢量外积的运算符,“*”是积的运算符。
在上述坐标系[Wn]中,将旋转轴设定成Y轴。因此,若由Rot[Y,α]表示绕Y轴旋转α度的坐标变换,则成为[Wb]=[Wn]*Rot[Y,α]*Inv[Wn]*[Wa]。这里,Inv[Wn]是[Wn]的逆矩阵。
另外,就[Wc]而言,若定义[Wm]=[Wn]*Rot[Y,α],则可计算Nc=NbOc=ObAc=AbPc=Pb-β*Nm(其中,β为取出量)步骤S18控制机器人机构部40,若抬起把持在机械手42中的工件WQ,则搬运到程序指定的部位,返回步骤S1。
在上述工件取出作业中,采用倾斜机械手42(工具)、在倾斜状态下取出工件WQ的方法,但取出方法可对应于工件WQ的形状或容器32内的工件WQ的配置来变更。例如考虑如下方法,在倾斜取出工件WQ时容器32与机械手42产生相互干涉的情况下,首先将工件WQ把持在基准把持姿势的机械手42上后,绕轴线使机械手42慢慢旋转,抖落重叠于工件WQ上的工件W后,抬起工件WQ,或与普通的取出速度相比慢慢地使机器人机构部40动作,在工件WQ下落的情况下,减轻其震动,或保持基准把持姿势不变地使机械手42向不与容器32产生干涉的位置移动后,倾斜机械手42。
在上述工件取出作业中,步骤S11和S12可产生由其它工件隐蔽工件WQ上的规定把持部位的情况。为了解决该问题,使这种把持部位包含于检测工件图像与整体模型的模板匹配时的重点检查部位中、或使这种把持部位包含于事先示教的部分模型之一中是有利的。参照图7来说明前者的方法。
图7从上方表示出分别具有大小两个孔H1、H2的多个工件W1、W2、W3...不规则且随机重叠设置的状态。当把持这种方式的工件时,例如对具有孔的机械部件等一般执行使机械手42(图2)的手指动作以插入工件的孔H1或H2中后从内侧展开。对于这种工件,为了检测工件彼此的隐蔽状态并且执行工件取出作业,与上述作业例一样,首先示教整体模型与部分模型。
作为示教的部分模型,例如也可将部分模型m1(图3A)设定为‘包含孔H1的区域’,将部分模型m2(图3A)设定为‘包含孔H2的区域’。由此,与上述作业例一样,可通过部分模型m1、m2的检测成功与否来判断对应于整体模型的工件孔H1、H2是否被其它工件塞隹。
因此,在通过与整体模型的模板匹配检测出两个孔H1、H2露出的工件W1的情况下,只要首先取出工件W1即可。但是,有时也由于某种原因而不能检测工件W1。此时,通过模板匹配检测出仅一个孔塞住的其它工件W2、W3,首先执行这种工件W2、W3的把持和取出。在图示的例子中,事先准备适于把持大小两个孔H1、H2各个的两种机械手,选择可适于在检测到的工件W2、W3上未被隐蔽的孔的机械手,对未被隐蔽的孔完成机械手的把持动作,执行工件取出作业。
具体而言,在作为取出对象、检测到工件W2的情况下,选择把持小尺寸孔H1的机械手,指示把持孔H1的动作,执行工件W2的把持及取出。另外,在作为取出对象、检测到工件W3的情况下,选择把持大尺寸孔H2的机械手,指示把持孔H2的动作,执行工件W3的把持及取出。这里,机械手的选择可通过将配备两种机械手的双机械手安装在机器人机构部中,切换机器人机构部或机械手的姿势来实施,或者通过使用自动工具变换器,根据需要将各个机械手安装在机器人机构部中来实施。另外,在可由同一机械手把持图6的工件中的两个孔H1、H2的情况下,只要对应于检测到的工件的孔的隐蔽状态,指示把持未被隐蔽的孔并执行工件取出作业即可。
以上关联最佳实施方式来说明本发明,但本领域的技术人员应当理解,在不脱离后述的权利要求范围的精神和公开范围下,可进行各种修正和变更。
权利要求
1.一种物体取出系统,具备检测部(12;34、36),作为图像、检测相互至少部分重叠放置的多个物体中的取出对象物体(Q);存储部(14;38),存储具有与所述取出对象物体相同外观的基准物体(R)的规定部分的外观信息;判断部(16;38),根据存储在所述存储部中的所述基准物体的所述外观信息,判断在所述检测部检测的所述取出对象物体的所述图像上、对应于所述基准物体的所述规定部分的该取出对象物体的检查部分是否被其它物体所隐蔽;控制部(18;38),根据所述判断部的判断结果,确定所述取出对象物体的取出动作,输出该取出动作的控制信号;和取出机构(20;40,42),根据从所述控制部输出的所述控制信号,对所述取出对象物体完成所述取出动作。
2.根据权利要求1所述的物体取出系统,其特征在于所述取出机构具备机器人机构部(40)。
3.根据权利要求1所述的物体取出系统,其特征在于当所述判断部判断为所述取出对象物体的所述检查部分被其它物体所隐蔽时,所述控制部确定的所述取出动作包含倾斜该取出对象物体的动作,以使该检查部分沿重力方向实质上变得比该取出对象物体的剩余部分还低。
4.根据权利要求1所述的物体取出系统,其特征在于所述取出机构具备可把持所述取出对象物体的机械手(42),所述控制部根据所述判断部的所述判断结果,选择在该取出机构完成所述取出动作时使用的该机械手的种类,指示给该取出机构。
5.根据权利要求4所述的物体取出系统,其特征在于所述控制部根据所述判断部的所述判断结果,确定所述机械手把持的所述取出对象物体的把持部位,指示给所述取出机构。
全文摘要
本发明涉及一种用于一个个地取出多个物体的物体取出系统。该系统具备检测部,作为图像、检测相互至少部分重叠设置的多个物体中的取出对象物体;存储部,存储具有与取出对象物体相同外观的基准物体的规定部分的外观信息;判断部,根据存储在存储部中的基准物体之外观信息,判断在检测部检测的取出对象物体的图像中、对应于基准物体的规定部分的取出对象物体的检查部分是否被其它物体所隐蔽;控制部,根据判断部的判断结果,确定取出对象物体的取出动作,输出取出动作的控制信号;和取出机构,根据从控制部输出的控制信号,对取出对象物体实现取出动作。取出机构可由机器人机构部构成。
文档编号G06T7/00GK1699033SQ200510066339
公开日2005年11月23日 申请日期2005年4月22日 优先权日2004年4月23日
发明者伴一训, 管野一郎 申请人:发那科株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1