首页> 中国专利> 改善工件取出动作的工件取出装置以及工件取出方法

改善工件取出动作的工件取出装置以及工件取出方法

摘要

本发明提供一种改善工件取出动作的工件取出装置以及工件取出方法。该工件取出装置具有:传感器,其对分散堆积于三维空间的多个工件进行计测;机器人,其保持工件;机械手,其安装于机器人上且能够保持工件;保持位置姿势计算部,其根据传感器的输出,计算通过机器人保持工件的位置和姿势的保持位置姿势数据;装载状态改善动作生成部,其根据传感器的输出,生成通过机器人来改善工件的装载状态的动作的装载状态改善动作数据;机器人控制部,其控制机器人和机械手,机器人控制部根据保持位置姿势计算部和装载状态改善动作生成部的输出来控制机器人和机械手由此进行工件的取出或装载状态改善动作。

著录项

  • 公开/公告号CN108393908A

    专利类型发明专利

  • 公开/公告日2018-08-14

    原文格式PDF

  • 申请/专利权人 发那科株式会社;

    申请/专利号CN201810118479.7

  • 发明设计人 后藤健文;

    申请日2018-02-06

  • 分类号

  • 代理机构北京银龙知识产权代理有限公司;

  • 代理人曾贤伟

  • 地址 日本山梨县

  • 入库时间 2023-06-19 06:13:14

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-03-13

    授权

    授权

  • 2019-04-19

    实质审查的生效 IPC(主分类):B25J13/08 申请日:20180206

    实质审查的生效

  • 2018-08-14

    公开

    公开

说明书

技术领域

本发明涉及改善工件取出动作的工件取出装置以及工件取出方法。

背景技术

以往,在各种领域中使用了通过机器人来取出分散堆积于集装箱(container)等收纳物内的部件(分散堆积于三维空间内的工件)的装置(工件取出装置)。在这样的工件取出装置中,例如一般情况下难以使该装置稳定运转至取出最后的工件。

例如,在为了取出工件(部件)而进行将机器人的机械手靠近工件的动作(接近动作(approach))时,产生机械手与收纳物或其他工件的干扰,结果产生无法保持要取出的工件这样的情况。此外,例如在通过预先设定的保持方法来保持工件进行取出处理时,频繁发生不能对三维空间上任意姿势的工件执行该预先设定的保持方法的情况。具体来说,在针对工件的保持方法只设定了一个时,当想要保持的面向下时,难以通过规定保持方法来保持该工件。

因此,在工件取出装置(分散堆积取出系统)中,很多时候尽管在收纳物内残留有工件也会陷入无法进一步取出工件的状况。

以往,例如日本特开2013-052490号公报公开了如下内容:作为减少从多个工件中的取出失败并减少重试动作的工件取出装置,根据数据库所积蓄的过去取出是否成功的信息,推定抓住由传感器计测的工件一部分的容易程度,对于难抓住的工件不优先抓取,而在没有其他要抓取的部分时,调整机械手的开闭量、动作速度、把持力中的至少一个,来进行更细致的取出动作。

此外,以往例如日本特开2016-132086号公报公开了如下内容:作为升把持分散堆积的工件的概率、并提升后续工序的作业成功率而不使装置大型化这样的工件供给技术,对照计测分散堆积的工件的计测数据和预先蓄积的工件的形状数据来计算工件的位置和姿势,从计算出的工件的位置中选择要把持的工件,将该选择出的工件的位置和姿势、与多个把持姿势对应起来决定工件的把持姿势,该把持姿势表示为了能够将工件供给到供给对象物而计算出的工件与把持机构的位置关系。

并且,以往例如日本特开2012-183616号公报公开了如下内容:作为使分散堆积的工件的位置和姿势可靠地发生变化,生成新的分散装载状态的挑选(picking)用工件供给技术,从能够分散堆积多个工件的上方打开的容器本体的底部向上方内侧进退自如地设置突出部,使该突出部进退自如地动作,通过安装于机器人上的机器人手来逐个取出工件。

但是,在上述工件取出装置中,例如在其他工件的一部分与进行取出的工件重叠时,难以改善该状况而取出工件,因此效果有限。此外,例如为了与多个把持姿势对应,需要准备非常多的把持姿势候补,因此这不现实。并且,例如还会产生如下情况:在使容器本体的突出部进退自如地动作时,需要进行该动作用的专用硬件机构,此外在工件为重物时,难以使容器本体的突出部进退自如地动作。

这样,以往作为工件取出装置虽然提出了各种装置,但是存在难以满意地取出分散堆积的工件或者需要专用的硬件机构这样的问题。

发明内容

本发明的目的在于提供一种工件取出装置以及工件取出方法,可以降低难以取出的工件数量。

根据第一实施方式,提供一种工件取出装置,具有:传感器,其对分散堆积于三维空间的多个工件进行计测;机器人,其保持所述工件;机械手,其安装于所述机器人上且能够保持工件;保持位置姿势计算部,其根据所述传感器的输出,计算通过所述机器人保持所述工件的位置和姿势的保持位置姿势数据;装载状态改善动作生成部,其根据所述传感器的输出,生成通过所述机器人来改善所述工件的装载状态的动作的装载状态改善动作数据;以及机器人控制部,其控制所述机器人和所述机械手,所述机器人控制部根据所述保持位置姿势计算部和所述装载状态改善动作生成部的输出来控制所述机器人和所述机械手由此进行所述工件的取出或装载状态改善动作。

根据第二实施方式,提供一种工件取出装置的工件取出方法,所述工件取出装置具有:传感器,其对分散堆积于三维空间的多个工件进行计测;机器人,其保持所述工件;以及机械手,其安装于所述机器人上且保持工件,其中,根据所述传感器的输出,计算通过所述机器人保持所述工件的位置和姿势的保持位置姿势数据,根据所述传感器的输出,生成通过所述机器人来改善所述工件的装载状态的动作的装载状态改善动作数据,根据所述保持位置姿势数据和所述装载状态改善动作数据来控制所述机器人和所述机械手由此进行所述工件的取出或装载状态改善动作。

附图说明

通过参照以下附图,可以进一步理解本发明。

图1是示意性地表示工件取出装置的一例的图,

图2A、图2B和图2C是用于说明图1所示的工件取出装置的动作的一例的图,

图3是概略性地表示第一实施例涉及的工件取出装置的框图,

图4A、图4B和图4C是用于说明图3所示的工件取出装置的动作的一例的图,

图5是用于说明第一实施例涉及的工件取出装置进行的工件取出处理的一例的流程图,

图6是表示第二实施例涉及的工件取出装置的框图,

图7是示意性地表示神经元模型的图,

图8是示意性地表示将图7所示的神经元组合而构成的三层神经网络的图,

图9是用于说明第二实施例涉及的工件取出装置进行的工件取出处理的一例的流程图,

图10是表示第三实施例涉及的工件取出装置的框图,

图11是表示第三实施例涉及的工件取出装置的框图,

图12是用于说明第三实施例涉及的工件取出装置进行的工件取出处理的一例的流程图(其一),

图13是用于说明第三实施例涉及的工件取出装置进行的工件取出处理的一例的流程图(其二)。

具体实施方式

首先,在详细叙述工件取出装置和工件取出方法的实施例之前,参照图1和图2A~图2C,对工件取出装置的一例和其课题进行说明。图1是示意性地表示工件取出装置的一例的图。如图1所示,工件取出装置500例如按顺序取出分散堆积于集装箱40等收纳物内的多个工件(部件)4a~4d,其包括机器人1、传感器2、机器人控制装置3。另外,工件4a~4d不限于收纳在集装箱40内,例如可以是分散堆积于三维空间内。

在机器人1的侧方配置有上表面打开的箱形形状的集装箱40。集装箱40上表面开口,在集装箱40内的收纳空间中收纳有分散堆积的多个工件(包含分散堆积的状态的、杂乱放置的多个工件)4a~4d(4)。另外,工件4可以通过安装于机器人1上的机械手10来保持,通过由机器人控制装置3控制的机器人1和机械手10的动作从集装箱40中逐个取出工件4(4a~4d)。此外,在集装箱40的中央部上方配置有传感器2,传感器2的输出(计测数据)2a被输入到机器人控制装置3。

这里,为了简化说明,示出了在4个圆盘形状的工件4a~4d(4)分散地堆积于集装箱40内的状态下,通过机械手(内径卡盘)10来保持各工件4的中央部的孔的示例,但是工件4的形状不限于圆盘形状,此外工件4的保持机构也不限于内径卡盘。即,机械手10只要能够保持工件4则可以具有各种形态,例如可以是通过开闭两个或者多个爪部把持工件4的形态,或者具有对工件4产生吸引力的电磁石或者负压产生装置。

并且,传感器2是取得各工件4a~4d的三维位置和姿势的信息的三维视觉传感器,例如可以是应用2台摄像机的立体方式、扫描激光狭缝光线的方式、扫描激光光点的方式、使用投影仪等装置将图案光投射于物品的方式、利用光从投光机射出在工件4的表面反射而射入到受光器为止的时间的方式等。此外,在根据传感器2的输出(2a),进行分散堆积的多个工件4a~4d的三维位置和姿势、集装箱40的三维形状等的计测时,例如可以应用三角计测法、光切断法、飞行时间法(Time-of-flight)、对焦测距法(Depth from Defocus)、或兼用了以上方法的方法。

另外,在图1中传感器(视觉传感器)2的输出(计测数据)2a输入到机器人控制装置3,在机器人控制装置3中进行图像处理等,但是传感器2的输出2a也可以通过与机器人控制装置3分开设置的专用的图像处理装置等进行处理,将该图像处理装置的输出输入到机器人控制装置3。并且,传感器2固定设置于集装箱40的中央部上方,但是例如也可以设置为安装于机器人1的手指尖(末端部)上的手眼(hand eye)。

这样,在图1所示的工件取出装置500中,机器人控制装置3根据对分散堆积的多个工件4a~4d(4)的三维位置和姿势、以及集装箱40的三维形状等进行计测的传感器2的输出2a,来计算通过机器人1的内径卡盘10保持工件4的位置和姿势的保持位置姿势数据,控制机器人1和内径卡盘10逐个取出工件4。

图2A、图2B和图2C是用于说明图1所示的工件取出装置的动作的一例的图。这里,图2A表示如下情况:在收纳于图1所示的集装箱40内的4个工件4a~4d中,使机器人1的内径卡盘(机械手)10移动至一个工件4c的中央部(孔的位置),打开内径卡盘10来保持工件4c。此外,图2B表示抬起图2A中保持的工件4c进行取出动作的情况。并且,图2C表示在集装箱40内的4个工件4a~4d中,两个工件4c和4d的取出处理结束的状态。

如上所述,工件取出装置500根据传感器2的输出2a,计算由机器人1的内径卡盘10来保持工件4的位置和姿势的保持位置姿势数据,控制机器人1和内径卡盘10逐个取出工件4。但是,例如图2C所示,在工件4a放在工件4b上的状态下,而且在工件4a矗立于集装箱40的一角(工件4a以锐角角度倚靠在集装箱40的壁面的)情况下,工件4a和4b都难以取出。

具体来说,关于工件4b,例如由于工件4a放在工件4b上,因此难以使机器人1的内径卡盘10移动至工件4b的中央部而插入进孔中。此外,关于工件4a,例如在想要将机器人1的内径卡盘10插入到以锐角角度倚靠于集装箱40的壁面的工件4a的中央部时,机器人1的一部分与集装箱40的壁面发生干扰,或者难以使内径卡盘10以适当的角度插入。因此,例如机器人控制装置3计算由机器人1的内径卡盘10来保持工件4a或者4b的位置保持姿势数据失败。这样,尽管在集装箱40内是否残存有工件4a和4b也无法取出这些工件4a和4b的情况下,造成生产性的降低等。

以下,参照附图对本发明涉及的工件取出装置和工件取出方法的实施例进行详细叙述。图3是表示第一实施例涉及的工件取出装置100的框图,是概略性地表示机器人控制装置3的结构的图。此外,图4A、图4B和图4C是用于说明图3所示的工件取出装置的动作的一例的图,图4A表示机器人1(机械手10)靠近工件(4a)的接近位置,图4B表示机器人1开始改善工件(4a和4b)的装载状态的动作的装载状态改善动作开始位置,并且,图4C表示机器人1结束改善工件(4a和4b)的装载状态的动作的装载状态改善动作结束位置。另外,图4A相当于计算保持所述的图2C所示的工件4a或者4b的位置保持姿势数据失败的状态。

即,从图4A~图4C与所述的图1和图2A~图2C的比较可以明确,第一实施例涉及的工件取出装置100在外观上与上述的工件取出装置500相同,但是机器人控制装置3的功能(结构),即当不存在能够由机器人1(机器人1的机械手(内径卡盘)10)保持的工件时进行的装载状态改善动作的功能不同。

如图3所示,在第一实施例的工件取出装置100中,机器人控制装置3具有:机器人控制部30、保持位置姿势计算部31和装载状态改善动作生成部32。保持位置姿势计算部31根据传感器2的输出(计测数据)2a,计算由机器人1的内径卡盘10来保持工件4(4a~4d)的位置和姿势的保持位置姿势数据31a。装载状态改善动作生成部32根据传感器2的输出(计测数据)2a生成由机器人1的内径卡盘10来改善工件4的装载状态的动作的装载状态改善动作数据32a。另外,机器人控制部30根据保持位置姿势计算部31和装载状态改善动作生成部32的输出2a来控制机器人1和内径卡盘10。

即,当存在能够由机器人1(机器人1的内径卡盘10)保持的工件4时,例如当存在图1所示的4个工件4a~4d中的工件4c时,保持位置姿势计算部31根据传感器2的输出2a,计算用于保持工件4c的保持位置姿势数据31a并输出给机器人控制部30,控制机器人1的内径卡盘10(机器人1)进行工件4c的取出处理。另外,该工件4c的取出处理与参照图2A和图2B所说明的处理相同。

反之,当不存在能够由机器人1的内径卡盘10保持的工件4时,例如图2C所示在计算用于保持残存的2个工件4a或4b的保持位置姿势数据失败时,装载状态改善动作生成部32根据传感器2的输出2a和保持位置姿势计算部31的输出,生成用于改善工件4(4a和4b)的装载状态的装载状态改善动作数据32a并输出给机器人控制部30,控制机器人1的内径卡盘10(机器人1)进行工件4a和4b的装载状态的改善。

这里,作为装载状态改善动作生成部32生成的装载状态改善动作数据32a,例如包含以下数据:图4A所示的机器人1(机器人1的内径卡盘10)靠近工件4a的接近位置、图4B所示的机器人1开始改善工件4a和4b的装载状态的动作的装载状态改善动作开始位置、以及图4C所示的机器人1结束改善工件4a和4b的装载状态的动作的装载状态改善动作结束位置。

并且,作为装载状态改善动作数据32a例如还可以包含以下数据:机器人1(机器人1的内径卡盘10)从接近位置移动至装载状态改善动作开始位置的速度数据(第一速度数据)、机器人1从装载状态改善动作开始位置移动至装载状态改善动作结束位置的速度数据(第二速度数据)。另外,这些数据只是示例,装载状态改善动作数据32a当然也可以包含其他数据。

这样,通过使机器人1的内径卡盘10从图4B所示的装载状态改善动作开始位置移动至图4C所示的装载状态改善动作结束位置,例如以锐角角度倚靠于集装箱40的壁面的工件4a被向下方按压而倒下。结果,例如保持外置姿势计算部31对进行了装载状态改善动作之后的(倒下的)工件4a计算保持位置姿势数据31a,可以使机器人1的内径卡盘10移动至工件4a的中央部(孔的位置)而插入其中,从而能够取出工件4a。

这里,作为改善装载状态的动作,示出了为了使工件4移动或倒下而通过机械手(内径卡盘)10向分散堆积的工件4施加外力的动作,但是作为装载状态改善动作,例如在机械手10是吸引机械手或磁性机械手时,当然可以进行暂时保持任意工件4之后释放(放开)这样的动作等各种动作。此外,例如在进行装载状态改善动作时,计测作用于机器人和机械手中至少一方的负载,在装载状态改善动作过程中,若规定以上的负载作用于机器人1和机械10中至少一方则停止(中断)装载状态改善动作,使机器人1退避,由此能够使系统稳定地运转。并且,通过将阻抗控制应用于装载状态改善动作,还能够一边对工件施加适当的外力一边进行装载状态改善动作。

另外,在进行了装载状态改善动作之后,例如在能够对工件4b而不是对工件4a计算保持位置姿势数据31a的情况下,可以进行工件4b的取出。此外,在虽然进行了装载状态改善动作,但依然对残存的工件4a和工件4b计算保持位置姿势数据31a都失败时,再次根据装载状态改善动作生成部32生成的、进一步的装载状态改善动作数据32a进行装载状态改善动作。这样,根据第一实施例的工件取出装置100,可以降低难以取出的工件数量,能够实现生产性的提升。

即,根据第一实施例的工件取出装置,克服了例如尽管在集装箱内残存工件但难以取出工件的状态,能够提升可以取出的工件数量,例如可以取出最后一个工件。此外,根据第一实施例的工件取出装置,例如不设置摇晃集装箱这样的专用装置,机器人使用机械手来改善装载状态,就能继续工件的取出动作。另外,若通过以往的示教再现的方式来实现这样的装载状态改善动作,则需要预先对所有随机应变的动作进行编程,需要用户的高熟练度和大量的作业时间,但是根据本实施例的工件取出装置,由于在系统运转中机器人自身进行装载状态改善动作,因此用户能够简单地建立稳定的系统。这些效果并不限于第一实施例的工件取出装置,通过应用了后述的机器学习的第二和第三实施例,可以更近一步得到更大的效果。

图5是用于说明第一实施例涉及的工件取出装置进行的工件取出处理的一例的流程图。如图5所示,在第一实施例的工件取出装置100进行的工件取出处理的一例开始时,在步骤ST11中,取得基于传感器2的输出的计测数据2a,向步骤ST12前进,通过保持位置姿势计算部31计算保持位置姿势(保持位置姿势数据31a)向步骤ST13前进。

在步骤ST13中,判定保持位置姿势计算部31进行的保持位置姿势计算是否成功,在判定为保持位置姿势数据31a的计算成功(ST13:是)时,向步骤ST14前进,根据计算出的保持位置姿势数据31a来进行操作动作(机器人1的内径卡盘10进行的工件4的保持和取出动作),向步骤ST15前进。

在步骤ST15中,例如判定收纳于集装箱40内的多个工件4a~4d的取出是否全部结束,在判定为全部结束(ST15:是)时,结束工件取出处理,在判定为没有全部结束(ST15:否)时,返回到步骤ST13,重复同样的处理。

此外,在步骤ST13中,当判定为保持位置姿势的计算失败(ST13:否)时,向步骤ST16前进,通过装载状态改善动作生成部32生成装载状态改善动作(装载状态改善动作数据32a)向步骤ST17前进。在步骤ST17中,更新装载状态改善动作的价值函数,返回到步骤ST11,重复与上述一样的处理。这里,步骤ST16中的装载状态改善动作数据32a的生成处理、和步骤ST17中的价值函数的更新处理例如可以应用机器学习(深层学习、强化学习)来进行。

或者,作为步骤ST16中的装载状态改善动作数据32a的生成处理以及步骤ST17中的价值函数的更新处理,还可以不使用机器学习,而是例如根据预先设定的装载状态改善动作,通过控制机器人1和机械手(内径卡盘)10进行工件4的装载状态改善动作。此时,作为装载状态改善动作,例如预先设定多个装载状态改善动作数据32a,通过由步骤ST12计算出的保持位置姿势数据31a选择最佳的装载状态改善动作数据,根据该选择出的装载状态改善动作数据,进行装载状态改善动作。

图6是表示第二实施例涉及的工件取出装置200的框图,相当于作为装载状态改善动作生成部32而应用了机器学习装置(第二机器学习装置)5。另外,在图6中虽未图示,但是保持位置姿势计算部31例如设置于包含机器人1和传感器2等的环境中,来自保持位置姿势计算部31的保持位置姿势数据31a作为状态数据(状态变量、状态量)被输入到机器学习装置5。此外,机器学习装置5例如可以内置于包含机器人控制部30和保持位置姿势计算部31的机器人控制装置3(未图示)中,也可以与机器人控制装置3分开设置为专用的装置。另外,在图6中作为工件4示出了圆柱形状的工件,作为机械手10示出了通过开闭两个爪部把持工件4的机械手,但如上所述也可以是各种装置。

如图6所示,在第二实施例的工件取出装置200中,机器学习装置5例如实现图3所示的第一实施例的工件取出装置100中的装载状态改善动作生成部32的功能,具有:状态观测部(第二状态观测部)51、判定数据取得部(第二判定数据取得部)52、学习部(第二学习部)53、决策部54。状态观测部51将以下数据作为状态数据来进行观测:传感器2的输出即计测数据2a、基于保持位置姿势计算部(31)的输出的各工件4的保持位置姿势数据31a。

判定数据取得部52取得以下数据作为判定数据:基于计测数据2a的改善工件4的装载状态的动作前后装载状态有无变化、以及进行改善工件4的装载状态的动作之后各工件4的保持位置姿势数据31a。决策部54参照来自学习部53的输出,对机器人1(机械手10)决定改善工件4的装载状态的动作。

学习部53具有回报计算部(第二回报计算部)531和价值函数更新部(第二价值函数更新部)532,接收来自状态观测部51的输出和来自判定数据取得部52的输出,学习改善工件4的装载状态的动作。这里,回报计算部531根据判定数据取得部52的输出即改善工件4的装载状态的动作前后装载状态有无变化、以及进行了改善工件4的装载状态的动作之后各工件4的保持位置姿势数据31a来计算回报。此外,价值函数更新部532具有价值函数并根据回报来更新价值函数,该价值函数决定用于改善工件4的装载状态的动作的价值。

即,例如如果改善工件4的装载状态的动作前后装载状态有变化则回报计算部531设定正回报,如果装载状态没有变化则设定负回报(第三回报设定)。此外,例如如果进行了改善工件4的装载状态的动作之后各工件4的保持位置姿势数据31a计算成功则回报计算部531设定正回报,如果保持位置姿势数据31a计算失败则设定负回报(第四回报设定)。另外,回报计算部531可以进行第三回报设定和第四回报设定两个设定,也可以进行其中一个设定。

这样,根据第二实施例的工件取出装置200,即使残存有机器人1的机械手10难以保持和取出(操作)的工件4的情况下,通过应用机器学习装置5来更新改善工件4的装载状态的动作,可以成为能够操作的状态。由此,能够降低难以取出的工件数量而实现生产性的提升。

这里,可以将机器学习装置5设置给控制各机器人1的机器人控制装置3(边缘),例如也可以设置给具有多个机器人1(机器人系统)的各工场(例如,雾服务器),或者经由互联网等通信电路与多个工场连接的云服务器。另外,设置给各机器人的机器学习装置5例如能够与至少一个其他机器学习装置5相连接,能够在机器学习装置5与该至少一个其他机器学习装置5之间相互交换或者共享机器学习的结果。

机器学习装置5具有如下功能:通过解析从输入到装置的数据集合中提取出其中有用的规则和知识表现、以及判断基准等,输出其判断结果,并且进行知识的学习(机器学习)。机器学习的方法是多种多样的,但是大致分类为例如“监督学习”、“无监督学习”以及“强化学习”。并且,在实现这些方法的基础上,存在对特征量本身的提取进行学习的、称为“深度学习(Deep Learning)”的方法。

另外,图6所示的机器学习装置5应用了“强化学习(Q学习)”。该机器学习装置5可以使用广泛应用的计算机或者处理器,例如,在应用GPGPU(General-Purpose computingon Graphics Processing Units)或大规模PC集群等时,能够更高速地进行处理。这里,关于机器学习的整体进行概略说明。

首先,所谓监督学习是如下技术:通过将教师数据即某种输入与结果(label标签)的数据组大量地给予到机器学习装置,学习这些数据集(data set)中的特征,能够归纳性地获得从输入推定结果的模型(误差模型)即其相关性。例如,能够使用后述的神经网络等算法来实现。

此外,所谓无监督学习是如下技术:通过只将输入数据大量地给予到机器学习装置,学习输入数据进行怎样的分散,即使不给予对应的教师输出数据,也能学习针对输入数据进行压缩、分类、以及整形等的方法。例如,可以将处于这些数据集之中的特征聚类于相似者之间等。使用其结果来进行设定某个基准而使其为最佳这样的输出分配,由此,可以实现预测输出。

另外,作为无监督学习和监督学习中间的问题设定存在被称为半监督学习的技术,该技术例如对应于如下情况:仅存在一部分输入和输出的数据组,除此之外仅有输入数据。

接下来,对强化学习进行说明。首先,作为强化学习的问题设定考虑如下。

·工件取出装置(即,机器人1和机器人控制装置(包含机器人控制部30和机器学习装置5)3)200观测环境的状态,决定行为。

·环境按照某种规则进行变化,并且自身行为有时也对环境给予变化。

·每次进行行为时反馈回来回报信号。

·想要最大化的是到将来的(折扣)回报的总和。

·从完全不知道行为引起的结果或者从只是不完全知道的状态起,开始学习。即,以机器人控制部实际动作开始,能够将其结果获得为数据。也就是说,需要一边试错一边探索最佳的行为。

·可以将模仿人类动作这样事前学习(所述的称为监督学习、逆强化学习这样的技术)了的状态设为初始状态,来从较好的开始点起开始学习。

这里,所谓强化学习是用于如下学习的方法:不单进行判定和分类,还通过学习行为而在行为给予环境的相互作用基础上学习适当的行为,即,使将来获得的回报最大化。以下,作为示例,以Q学习的情况继续说明,但是并非局限于Q学习。

Q学习是在某种环境状态s下学习选择行为a的价值Q(s、a)的方法。也就是说,在某种状态s时,将价值Q(s、a)最高的行为a选择为最佳行为。但是,最开始对于状态s与行为a的组合来说,完全不知道价值Q(s、a)的正确值。因此,智能体(行为主体)在某种状态s下选择各种各样的行为a,并针对当时的行为a给予回报。由此,智能体继续学习更好的行为选择,即学习正确的价值Q(s、a)。

并且,行为的结果是想要使到将来获得的回报的总和最大化,所以目标是最终成为Q(s、a)=E[Σ(γt)rt]。这里,按最佳行为改变状态时得到期望值,由于不知道期望值,因此不得不一边探索一边学习。这样的价值Q(s、a)的更新式例如可以通过如下数学式(1)来表示。

在上述的数学式(1)中,st表示时刻t的环境状态,at表示时刻t的行为。通过行为at,状态变化为st+1。rt+1表示通过该状态的变化而得到的回报。此外,带有“max”的项是:在状态st+1下,将γ乘以选择出当时知道的Q值最高的行为a时的Q值。这里,γ是0<γ≤1的参数,被称为折扣率。α是学习系数,设α的范围为0<α≤1。

上述的数学式(1)表示如下方法:根据行为at的结果而反馈回来的回报rt+1,更新状态st下的行为at的评价值Q(st、at)。即,表示了:若回报rt+1+行为a导致的下一状态下的最佳行为max>t+1、max>t+1)的和比状态s下的行为a的评价值Q(st、at)大,则增大Q(st、at),反之如果小,则减小Q(st、at)。也就是说,使某种状态下的某种行为价值,接近在作为结果即时反馈回来的回报和该行为导致的下一状态下的最佳的行为价值。

这里,Q(s、a)在计算机上的表现方法有以下方法:针对所有的状态行为对(s、a),将其值保持为表格的方法、和准备近似Q(s、a)这样的函数的方法。在后者的方法中,可以通过随机梯度下降法等方法来调整近似函数的参数来实现所述的数学式(1)。另外,作为近似函数,可以使用后述的神经网络。

此外,作为强化学习中的价值函数的近似算法,可以使用神经网络。图7是示意性地表示神经元模型的图,图8是示意性地表示将图7所示的神经元组合而构成的三层神经网络的图。即,例如由模拟了图7所示那样的神经元模型的运算装置和存储器等来构成神经网络。

如图7所示,神经元输出针对多个输入x(在图7中,作为一个示例,输入x1~x3)的输出(结果)y。对各输入x(x1、x2、x3)乘以与该输入x对应的权值w(w1、w2、w3)。由此,神经元输出由如下数学式(2)表现的结果y。另外,输入x、结果y和权值w都是向量。此外,在下述的数学式(2)中,θ是偏置(bias),fk是激活函数。

参照图8,对组合了图7所示的神经元而构成的三层神经网络进行说明。如图8所示,从神经网络的左侧输入多个输入x(这里,作为一例是输入x1~输入x3),从右侧输出结果y(这里作为一例,结果y1~结果y3)。具体来说,输入x1、x2、x3乘以对应的权值而被输入到三个神经元N11~N13的每一个。与这些输入相乘的权值统一标记为W1。

神经元N11~N13分别输出z11~z13。在图8中,这些z11~z13可以被统一标记为特征向量Z1,看作是提取出输入向量的特征量而得的向量。该特征向量Z1是权值W1与权值W2间的特征向量。z11~z13乘以对应的权值而被输入到两个神经元N21和N22的每一个。与这些特征向量相乘的权值被统一标记为W2。

神经元N21、N22分别输出z21、z22。在图8中,这些z21、z22被统一标记为特征向量Z2。该特征向量Z2是权值W2与权值W3之间的特征向量。z21、z22乘以对应的权值而被输入到三个神经元N31~N33的每一个。与这些特征向量相乘的权值被统一标记为W3。

最后,神经元N31~N33分别输出结果y1~结果y3。在神经网络的动作中有学习模式和价值预测模式。例如,在学习模式中使用学习数据集来学习权值W,在预测模式中使用其参数进行机器人控制部的行为判断。另外,为了方便而写为预测,但是也可以是检测、分类、推论等各种任务。

这里,可以是在预测模式下对实际运行机器人控制部而获得的数据进行即时学习,并反映到下一行为中(在线学习),也可以是使用预先收集好的数据组来进行汇总学习,以后一直用该参数进行检测模式(批量学习)。或者,每当积攒了其中间的某种程度数据时,就可以插入学习模式。

此外,能够通过误差反传播法(back propagation)来学习权值W1~W3。另外,误差信息从右侧进入流向左侧。误差反传播法是如下技术:针对各神经元调整(学习)各自的权值使得降低输入了输入x时的输出y与真的输出y(教师)之间的差量。这样的神经网络还可以在三层以上进一步增加层(称为深层学习)。此外,还能够阶段性地进行输入的特征提取,仅从教师数据自动地获得用于反馈结果的运算装置。

这里,参照图6进行了说明可知,本实施例的机器学习装置5例如为了实施Q学习而具有:状态观测部51、判定数据取得部52、学习部53、决策部54。其中,应用于本发明的机器学习方法不局限于Q学习,此外,机器学习装置5例如如上所述能够通过应用GPGPU或大规模PC集群等来实现。

图9是用于说明第二实施例涉及的工件取出装置进行的工件取出处理的一例的流程图,是用于说明装载状态改善动作(装载状态改善处理)的一例的流程图。如图9所示,在开始第二实施例的工件取出装置200进行的工件取出处理(装载状态改善处理)的一例时,在步骤ST21中,取得状态数据(基于传感器2的输出的计测数据2a),向步骤ST22前进,进行行为输出,并且向步骤ST23前进。

这里,步骤ST22中的行为输出相当于所述图3中的装载状态改善动作生成部32生成的装载状态改善动作数据32a,例如对应于进行基于以下数据的行为:所述图4A所示的机器人1靠近工件4的接近位置、图4B所示的机器人1开始改善工件4的装载状态的动作的装载状态改善动作开始位置、图4C所示的机器人1结束改善工件4的装载状态的动作的装载状态改善动作结束位置。并且,步骤ST22中的行为输出例如还可以包含基于以下数据的行为:所述机器人1从接近位置移动至装载状态改善动作开始位置的速度数据(第一速度数据)、机器人1从装载状态改善动作开始位置移动至装载状态改善动作结束位置的速度数据(第二速度数据)。

在步骤ST23中,取得基于步骤ST22的行为输出的判定数据,进行步骤ST24的判定条件1涉及的判定、和步骤ST27的判定条件2涉及的判定。即,步骤ST23中的判定数据的取得例如取得:将进行装载状态改善动作之前的计测数据与进行了装载状态改善动作之后的计测数据进行比较而得的装载状态有无变化(判定条件1)、以及使用进行了装载状态改善动作之后的计测数据进行保持位置姿势的计算时的成功与否(判定条件2)。

首先,在步骤ST24中,根据在步骤ST23取得的改善工件4的装载状态的动作前后装载状态有无变化的数据,例如,在判定为改善工件4的装载状态的动作前后装载状态有变化,则向步骤ST25前进,设定正回报,在判定为装载状态没有变化时,向步骤ST26前进,设定负回报。

此外,在步骤ST27中,根据在步骤ST23取得的进行了改善工件4的装载状态的动作之后各工件4的保持位置姿势(保持位置姿势数据31a),例如,在判定为进行了改善工件4的装载状态的动作之后各工件4的保持位置姿势数据31a的计算成功时,向步骤ST28前进,设定正回报,在判定为保持位置姿势数据31a的计算失败时,向步骤ST29前进,设定负回报。

另外,步骤ST24的判定,可以不根据改善工件4的装载状态的动作前后装载状态有无变化,而是根据装载状态变化的程度来决定回报。具体来说,例如通过两个阈值TH1、TH2(其中,TH1>TH2)来分割装载状态的变化程度LV,如果装载状态的变化LV比阈值TH1大则设定正回报(LV>TH1:回报+5),如果装载状态的变化LV处于阈值TH1与TH2之间则设定零回报(TH1≥LV≥TH2:回报0),如果装载状态的变化LV比阈值TH2小则设定负回报(TH2>LV:回报-5)。此外,装载状态的变化程度LV例如在计测数据是距离图像时,可以对在距离图像上变化的像素数进行计数,也可以对像素的变化量进行卷积,不限其方法。

并且,在步骤ST24的判定条件1涉及的判定、步骤ST27的判定条件2涉及的判定中可以使权重不同。具体来说,例如可以将判定条件2涉及的保持位置姿势数据31a的计算成功时的步骤ST28的正回报(例如,+10)设定得比判定条件1涉及的装载状态有变化时的步骤ST25的正回报(例如,+5)大。这是因为即使在判定条件1涉及的装载状态有变化的情况下,在判定条件2涉及的保持位置姿势数据31a的计算不成功时,也难以保持工件4而将其取出,因此优选的是增大判定条件2涉及的判定结果(回报)的权重。另外,作为判定条件,不限于步骤ST24的判定条件1和步骤ST27的判定条件2,可以追加其他条件,或者也可以是判定条件1或判定条件2中的某一个。

接下来,向步骤ST30前进,根据步骤ST24的判定条件1涉及的判定和步骤ST27的判定条件2涉及的判定,即根据步骤ST25、ST26、ST28和ST29涉及的回报总和来更新价值函数,向步骤ST31前进,该价值函数用于决定改善工件4的装载状态的动作的价值。在步骤ST31中,判定是否继续装载状态改善处理,在判定为还继续(ST31:是)时,返回到步骤ST21,重复上述的处理,在判定为不继续(ST31:否)时,结束装载状态改善处理。这样,通过应用机器学习(强化学习)来进行装载状态改善处理,能够进一步降低难以取出的工件数量。

图10是表示第三实施例涉及的工件取出装置300的框图,是概略性地表示机器人控制装置3的结构的图。从图10与所述图3的比较可知,在第三实施例的工件取出装置300中,机器人控制装置3具有候补动作输出部33和动作决定部34,其中该候补动作输出部33包含至少一个保持位置姿势计算部31-1~31-n和至少一个装载状态改善动作生成部32-1~32-n。

动作决定部34根据候补动作输出部33的输出,经由机器人控制部30控制机器人1。这里,动作决定部34具有:机器学习装置6,其进行机器学习(强化学习)学习通过机器人1来改善工件(4)的装载状态的动作。

图11是表示第三实施例涉及的工件取出装置300的框图,作为动作决定部34相当于应用了机器学习装置6的装置。另外,第三实施例涉及的工件取出装置300中的机器学习装置(第一机器学习装置)6对应于参照图6所说明的第二实施例涉及的工件取出装置200中的机器学习装置(第二机器学习装置)5,例如与参照图7和图8等所说明的装置一样,例如可以由神经网络构成,还可通过应用GPGPU或大规模PC集群等来实现。并且,从由机器学习装置6学习到的至少一个以上的候补动作中决定一个动作的动作决定,可以经由通信介质在多个对应的机器学习装置(6)中相互共享或交换数据,与第二实施例一样。此外,机器学习装置6例如可以内置于包含机器人控制部30和保持外置姿势计算部31-1~31-n等在内的机器人控制装置3(未图示)中,也可以与机器人控制装置3分开地设置为专用的装置。

如图11所示,机器学习装置6具有:状态观测部(第一状态观测部)61、判定数据取得部(第一判定数据取得部)62、学习部(第一学习部)63、决策部54。这里,状态观测部61例如将以下数据作为状态数据来进行观测:基于传感器2的输出的各工件4的计测数据2a、基于至少一个保持位置姿势计算部31-1~31-n的输出的保持位置姿势数据31a-1~31a-n、基于至少一个装载状态改善动作生成部32-1~32-m的输出的装载状态改善动作数据32a-1~32a-m。此外,判定数据取得部62例如取得机器人1进行的工件4的操作(操作动作)相关联的时间数据作为判定数据。并且,学习部63例如接收来自状态观测部61的输出和来自判定数据取得部62的输出来学习改善工件4的装载状态的动作。

第一学习部63具有:回报计算部(第一回报计算部)631,其根据判定数据取得部62的输出即与工件4的操作相关联的时间数据来计算回报;价值函数更新部(第一价值函数更新部)632,其具有价值函数并对应于回报来更新价值函数,价值函数用于决定从至少一个候补动作中决定一个动作的动作决定的价值。这里,例如如果将一个工件4的操作所需时间进行平均而得的平均周期时间变短则回报计算部631设定正回报,如果平均周期时间变长则设定负回报(第一回报设定)。此外,例如如果表示一个工件4的操作所需时间的分散的分散周期时间变小则回报计算部631设定正回报,如果分散周期时间变大则设定负回报(第二回报设定)。另外,回报计算部631可以进行第一回报设定和第二回报设定两个设定,也可以进行其中一个设定。另外,在第三实施例的工件取出装置300中,装载状态改善动作生成部32-1~32-m例如可以向上述第二实施例那样应用机器学习装置5生成装载状态改善动作数据32a-1~32a-m。

图12和图13是用于说明第三实施例涉及的工件取出装置进行的工件取出处理的一例的流程图,图12是说明整体处理的流程的流程图,图13是用于说明机器学习(强化学习)涉及的动作决定处理的流程图。

首先,如图12所示,在开始第三实施例的工件取出装置300进行的工件取出的整体处理的一例时,在步骤ST41中,取得基于传感器2的输出的计测数据2a,向步骤ST42前进,输出一个以上(至少一个)的保持位置姿势的候补和一个以上的装载状态改善动作的候补(候补动作组),向步骤ST43前进。在步骤ST43中,例如从多个保持位置姿势和装载状态改善动作中决定进行哪个动作,向步骤ST44前进。

在步骤ST44中,判定是否进行操作动作(例如,通过机器人1和内径卡盘(机械手)10取出工件4的一连串动作),在判定为进行操作动作(ST44:是)时,向步骤ST45前进,进行操作动作,向步骤ST47前进。此外,在步骤ST44中,在判定为不进行操作动作(ST44:否)时,向步骤ST46前进,进行装载状态改善动作,向步骤ST47前进。

这里,在进行机器学习(强化学习)时,如果是取出动作(操作动作),例如将有无成功取出输入到机器学习装置6,此外,如果是装载状态改善动作,例如将有无装载状态变更输入到机器学习装置6。另外,不管是操作动作和装载状态改善动作的哪一个,例如都将系统开始(开始处理)起的累积经过时间、系统开始起的累积取出成功数、以及计测数据2a等输入到机器学习装置6。

在步骤ST47中,对从至少一个候补动作中决定一个动作的动作决定的价值函数进行更新,向步骤ST48前进,例如判定所有工件的取出是否结束,在判定为所有工件的取出结束(ST48:是)时,结束处理,在判定为所有工件的取出没有结束(ST48:否)时,返回到步骤ST41,重复与上述同样的处理。这里,计测数据2a例如可以沿用机器学习装置6进行的学习中使用过的数据。

接下来,如图13所示,在开始第三实施例的工件取出装置300(机器学习装置6)进行的动作决定处理的一例时,在步骤ST51中取得状态数据,向步骤ST52前进,进行行为输出,并且,向步骤ST53前进。这里,在步骤ST51取得的状态数据例如是基于传感器2的输出的计测数据2a、基于至少一个保持位置姿势计算部31-1~31-n的输出的至少一个保持位置姿势数据31a-1~31a-n、基于至少一个装载状态改善动作生成部32-1~32-m的输出的至少一个装载状态改善动作数据32a-1~32a-m等。

此外,步骤ST52中的行为输出对应于从候补动作部输出的至少一个候补动作中决定一个动作。并且,步骤ST52中的行为输出例如包含机器人1根据动作决定来进行取出动作或装载状态改善动作。

在步骤ST53中,取得基于步骤ST52的行为输出的判定数据,进行步骤ST54的判定条件A涉及的判定、以及步骤ST57的判定条件B涉及的判定。即,步骤ST53中的判定数据的取得例如取得:对一个工件4的操作所需时间进行平均而得的平均周期时间(判定条件A)、以及表示一个工件4的操作所需时间的分散的分散周期时间(判定条件B)。

首先,在步骤ST54中,根据在步骤ST53取得的将一个工件4的操作所需时间进行平均而得的平均周期时间,例如在判定为平均周期时间变短时,向步骤ST55前进设定正回报,在判定为平均周期时间变长时,向步骤ST56前进设定负回报。即,平均周期时间短则每单位时间可以处理的工件数量多,因此在平均周期时间变短时设定正回报。

此外,在步骤ST57中,根据在步骤ST53取得的表示一个工件4的操作所需时间的分散的分散周期时间,例如在判定为分散周期时间变小时,向步骤ST58前进设定正回报,在判定为分散周期时间变大时,向步骤ST59前进设定负回报。即,分散周期时间(周期时间的分散)小则以固定间隔稳定地进行操作,因此在分散周期时间变小时设定正回报。

并且,向步骤ST60前进,根据步骤ST54的判定条件A涉及的判定和步骤ST57的判定条件B涉及的判定,即,根据步骤ST55、ST56、ST58和ST59涉及的回报总和来更新动作决定的价值函数,向步骤ST61前进。在步骤ST61中,判定是否继续动作决定处理,在判定为还继续(ST61:是)时,返回到步骤ST51,重复上述的处理,在判定为不继续(ST61:否)时,结束动作决定处理。这样,通过应用机器学习(强化学习)来进行动作决定处理,能够进一步降低难以取出的工件数量。

另外,在步骤ST54的判定条件A涉及的判定和步骤ST57的判定条件B涉及的判定中还可以使权重不同,例如通过增大判定条件A涉及的判定结果(回报)的权重,能够重视每单位时间可取出工件的数量来进行机器学习。此外,作为判定条件不限于步骤ST54的判定条件A和步骤ST57的判定条件B,可以追加其他条件,或当然也可以是判定条件A或判定条件B中的某一个。

如以上详细叙述那样,根据各实施例,可以降低难以取出的工件数量,例如能够取出到最后的工件,结果可以实现产业性的提升。即,根据本发明涉及的工件取出装置和工件取出方法,获得能够降低难以取出的工件数量这样的效果。

以上,对实施方式进行了说明,这里所记载的所有示例和条件是以有助于理解发明以及技术应用的发明概念为目的而记载的,特别记载的示例和条件并不意味着限制发明的范围。此外,说明书中的记载并不表示发明的优点和缺点。虽然详细地记载了发明的实施方式,但是在不脱离发明的精神以及范围的情况下还可以进行各种变更、置换、变形。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号