CN109202394B - 部件供给装置以及机器学习装置 - Google Patents

部件供给装置以及机器学习装置 Download PDF

Info

Publication number
CN109202394B
CN109202394B CN201810737639.6A CN201810737639A CN109202394B CN 109202394 B CN109202394 B CN 109202394B CN 201810737639 A CN201810737639 A CN 201810737639A CN 109202394 B CN109202394 B CN 109202394B
Authority
CN
China
Prior art keywords
component
vibration
learning
unit
tray
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.)
Active
Application number
CN201810737639.6A
Other languages
English (en)
Other versions
CN109202394A (zh
Inventor
岩浪基史
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of CN109202394A publication Critical patent/CN109202394A/zh
Application granted granted Critical
Publication of CN109202394B publication Critical patent/CN109202394B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23PMETAL-WORKING NOT OTHERWISE PROVIDED FOR; COMBINED OPERATIONS; UNIVERSAL MACHINE TOOLS
    • B23P19/00Machines for simply fitting together or separating metal parts or objects, or metal and non-metal parts, whether or not involving some deformation; Tools or devices therefor so far as not provided for in other classes
    • B23P19/001Article feeders for assembling machines
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G43/00Control devices, e.g. for safety, warning or fault-correcting
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39288Track control with ann

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Supply And Installment Of Electrical Components (AREA)
  • Automatic Assembly (AREA)
  • Feeding Of Articles To Conveyors (AREA)
  • Manipulator (AREA)

Abstract

本发明提供一种部件供给装置以及机器学习装置。部件供给装置所具备的机器学习装置具备:状态观测部,其观测表示托盘的振动动作的动作参数的振动动作参数数据、表示托盘上的所述部件的配置以及姿势的部件配置数据、以及表示部件的种类的部件种类数据,来作为表示环境的当前状态的状态变量;判定数据取得部,其取得表示振动动作的适当与否判定结果的判定数据,振动动作的适当与否判定结果表示供给部件的效率;以及学习部,其使用状态变量和判定数据,将振动动作的动作参数与部件配置数据以及部件种类数据关联起来进行学习。

Description

部件供给装置以及机器学习装置
技术领域
本发明涉及一种部件供给装置以及机器学习装置,尤其涉及一种使动作参数最优化的部件供给装置以及机器学习装置。
背景技术
在进行产品组装的生产线上,例如有时组装机器人将放置在载盘(Pallet)上的部件取出来向产品进行组装。对于放置在载盘上的部件,为了使组装机器人容易抓持,使部件的姿势(表里和朝向)一致来进行放置,通过部件供给装置来供给这样的姿势一致的部件(例如,日本特开2017-030097号公报等)。
图9例示了部件供给装置的一部分结构。如图9所示,例如机器人6取出随意散落在托盘4上的部件5使姿势一致后放置在载盘(未图示)上,由此通过部件供给装置1向载盘放置部件5。托盘4上散落有表面向上的部件5a和背面向上的部件5b,部件供给装置1通过从上部拍摄托盘4的拍摄部60来检测各个部件5的状态,并通过机器人6抓持并取出表面向上的容易抓持的部件5a来放置在载盘上。
当这样持续进行将部件5移至载盘的作业时,表面向上的部件5a从托盘中消失,但是例如在托盘4的四角设有由音圈和气缸等执行器构成的振动部50,当托盘4上的部件5中的背面向上的部件5b的比例大时,部件供给装置1使各个振动部50以预定的强度、预定的频率、预定的相位差振动预定时间,使托盘4上的朝内的部件5b颠倒过来,或者使位于托盘4的端部而难以抓持的部件5移至托盘的中央,从而尝试使托盘4上的部件5成为能够抓持的状态。此外,部件供给装置1在托盘4上的部件减少某种程度时,通过未图示的部件输送装置重新向托盘4上供给部件。
根据动作参数(振动的强度、振动的频率、振动的相位差、振动时间等)来进行上述部件供给装置1的托盘振动动作,但是能够使托盘4上的部件变化为可高效且容易地抓持的姿势的动作参数根据部件的重量、大小、形状等而不同,因此需要熟练的作业者一边反复试验一边设定该动作参数,在作业工序中成为较大的负担。
发明内容
因此,本发明的目的在于,提供一种能够自动调整托盘振动动作的动作参数的部件供给装置以及机器学习装置。
在本发明的部件供给装置中,对于与部件的种类(重量、大小、形状)以及托盘上的部件的配置相对的使该托盘进行振动的振动部(激励部)的动作参数进行机器学习,根据机器学习的结果,使配置在托盘上的部件变化为可高效且容易地抓持的姿势,从而解决上述课题。
并且,本发明的一方式是部件供给装置,其供给放置在托盘的部件,并且决定使放置在所述托盘上的所述部件的配置以及姿势发生变化的所述托盘的振动动作的动作参数,所述部件供给装置具备对于所述振动动作的动作参数进行学习的机器学习装置,所述机器学习装置具备:状态观测部,其观测表示所述振动动作的动作参数的振动动作参数数据以及表示所述托盘上的所述部件的配置以及姿势的部件配置数据来作为表示环境的当前状态的状态变量;判定数据取得部,其取得表示所述振动动作的适当与否判定结果的判定数据,所述振动动作的适当与否判定结果表示供给所述部件的效率;以及学习部,其使用所述状态变量和所述判定数据,将所述振动动作的动作参数与所述部件配置数据关联起来进行学习。
本发明的另一方式是机器学习装置,其对于用于供给放置在托盘的部件的部件供给装置的使放置在所述托盘上的所述部件的配置以及姿势发生变化的所述托盘的振动动作的动作参数进行学习,该机器学习装置具有:状态观测部,其观测表示所述振动动作的动作参数的振动动作参数数据、表示所述托盘上的所述部件的配置以及姿势的部件配置数据、以及表示所述部件的种类的部件种类数据,来作为表示环境的当前状态的状态变量;判定数据取得部,其取得表示所述振动动作的适当与否判定结果的判定数据,所述振动动作的适当与否判定结果表示供给所述部件的效率;以及学习部,其使用所述状态变量和所述判定数据,将所述振动动作的动作参数与所述部件配置数据以及所述部件种类数据关联起来进行学习。
根据本发明,能够迅速设定用于使部件供给装置的托盘上配置的部件变为可高效且容易地抓持的姿势的动作参数。
附图说明
参照附图对以下的实施例进行说明,本发明的上述以及其他目的和特征变得更加明确。在这些附图中:
图1是第一实施方式的部件供给装置的概要性的硬件结构图。
图2是第一实施方式的部件供给装置的概要性的功能框图。
图3是表示部件供给装置的一方式的概要性的功能框图。
图4是表示机器学习方法的一方式的概要性流程图。
图5A是说明神经元的图。
图5B是说明神经网络的图。
图6是第二实施方式的部件供给装置的概要性的功能框图。
图7是表示组入了部件供给装置的系统的一方式的概要性的功能框图。
图8是表示组入了部件供给装置的系统的另一方式的概要性的功能框图。
图9是例示了部件供给装置的一部分结构的图。
具体实施方式
以下,与附图一起说明本发明的实施方式。
图1是表示第一实施方式的部件供给装置的主要部分的概要性的硬件结构图。关于部件供给装置1,例如能够安装成为对于进行电子部件的组装等的工业机器人(未图示)供给部件的部件供给装置。本实施方式的部件供给装置1所具备的CPU11是对部件供给装置1进行整体控制的处理器。CPU11经由总线20读出在ROM12中存储的系统程序,并按照该系统程序控制整个部件供给装置1。在RAM 13中临时存储临时的计算数据、显示数据、操作员经由未图示的输入部输入的各种数据等。
非易失性存储器14构成为例如通过未图示的电池进行支援等,即使部件供给装置1的电源被断开也保持存储状态的存储器。在非易失性存储器14中存储有操作员经由未图示的输入部输入的各种数据(例如,振动部50的振动的强度、频率、振动时间、相位差等振动参数、进行供给的部件的种类、部件的重量、形状、大小等)、经由未图示的接口输入的控制用程序等。存储在非易失性存储器14中的程序、各种数据在被执行/使用时可以在RAM13中展开。此外,在ROM12中预先写入了根据拍摄部60对托盘4上的各部件的配置以及姿势进行拍摄而得的图像进行解析的公知的解析程序等各种系统程序(包含用于控制与后述的机器学习装置100之间的交换的系统程序)。
控制电路30接受来自CPU11的指令来控制在托盘4设置的振动部50。控制电路30例如可以控制振动部50的振动的强度(振幅)、振动的频率。此外,控制电路30还可以控制振动部50进行振动的时间。另外,在上述的现有技术中,针对托盘设有4个振动部50,但只要具有至少1个振动部50,则能够控制托盘4上的部件5的姿势。并且,在对于托盘4设有多个振动部50的情况下,控制电路30还可以控制各振动部50之间的振动的相位差。
拍摄部60拍摄在托盘4上配置的部件5。拍摄部60只要能够至少拍摄托盘4的配置有部件5的区域即可。拍摄部60经由接口18将拍摄到的托盘4上的图像交给CPU11。
机器人控制器70是控制机器人的控制装置,该机器人用于将配置在托盘4上的部件5移至载盘等。机器人控制器70控制机器人,使得经由接口19根据拍摄部60拍摄到的托盘4上的画面的解析结果,将托盘4上的容易抓持的部件5移向载盘等。此外,机器人控制器70根据需要将机器人的运转状况经由接口19通知给CPU11。
接口21是用于将部件供给装置1与机器学习装置100连接的接口。机器学习装置100具备对整个机器学习装置100进行控制的处理器101、存储了系统程序等的ROM102、用于进行与机器学习有关的各处理中的临时存储的RAM103、以及用于存储学习模型等的非易失性存储器104。机器学习装置100能够经由接口21来观测部件供给装置1可取得的各信息(振动部50的动作参数、基于拍摄部60得到的托盘4上的各部件的配置以及姿势的解析结果、部件的种类、部件的重量、形状、大小等)。此外,部件供给装置1接受从机器学习装置100输出的用于设定振动部50的动作参数的指令,进行在非易失性存储器14中存储的振动部50的动作参数的设定等。
图2是第一实施方式的部件供给装置1和机器学习装置100的概要性的功能框图。机器学习装置100包含软件(学习算法等)以及硬件(处理器101等),该软件以及硬件通过所谓的机器学习来自己学习与托盘4上的部件的配置、姿势以及部件的种类相对的振动部50的动作参数。部件供给装置1所具备的机器学习装置100学习的内容相当于表示托盘4上的部件的配置、姿势以及部件的种类与振动部50的动作参数之间的相关性的模型构造。
如图2的功能框图所示,部件供给装置1所具备的机器学习装置100具备:状态观测部106,其观测表示振动部50的动作参数的振动动作参数数据S1、表示托盘4上的部件的配置以及姿势的部件配置数据S2以及表示部件的种类的部件种类数据S3,来作为表示环境的当前状态的状态变量S;判定数据取得部108,其取得包含振动动作判定数据D1的判定数据D,该振动动作判定数据D1表示设定了振动部50的动作参数时的托盘振动动作的适当与否判定结果;以及学习部110,其使用状态变量S和判定数据D,将托盘4上的部件的配置、姿势以及部件的种类与振动动作参数数据S1关联起来进行学习。
状态观测部106例如可构成为处理器101的一个功能。或者,状态观测部106例如可构成为用于使处理器101发挥功能的存储在ROM102中的软件。关于状态观测部106观测的状态变量S中的振动动作参数数据S1,能够作为用于控制振动部50的动作参数的集合来取得。作为用于控制振动部50的动作参数,例示了振动的强度、振动的频率等,此外,根据需要也可以采用振动的时间、多个振动部50之间的相位差等,关于这样的用于控制振动部50的动作参数,可以根据在振动部50中使用的执行器的种类、振动部50相对于托盘4的设置状况来设定适当的动作参数。
关于振动动作参数数据S1,在学习的初期,例如可使用由熟练的作业者报告而对部件供给装置1赋予的振动部50的动作参数。此外,在学习推进了某种程度的阶段,关于振动动作参数数据S1,能够使用机器学习装置100根据学习部110的学习结果在前一个学习周期决定的振动部50的动作参数,在这样的情况下,机器学习装置100在每个学习周期将所决定的振动部50的动作参数临时存储在RAM103中,状态观测部106从RAM103取得在前一个学习周期由机器学习装置100决定的振动部50的动作参数。
关于状态变量S中的部件配置数据S2,例如能够使用根据拍摄部60拍摄到的图像进行解析而得到的与托盘4上的部件的配置以及姿势有关的数据。在此,关于作为部件配置数据S2的部件的配置,能够使用以托盘4上的预定的位置为基准的坐标系上的各部件的坐标值。此外,关于作为部件配置数据S2的部件的姿势,能够使用单纯表示各部件为表面还是背面的数据,更详细地可以使用从成为基准的部件的朝向进行观察时的各部件的角度偏转。
关于状态变量S中的部件种类数据S3,例如能够使用作业者对部件供给装置1设定的部件的种类。此外,关于部件种类数据S3,可以根据其目的来使用部件的重量、形状、部件的大小等。在前者的情况下,可按各部件的每个种类来学习振动部50的动作参数,在后者的情况下,可学习与相同的重量、形状、大小的部件有关的振动部50的动作参数。
判定数据取得部108例如可构成为处理器101的一个功能。或者,判定数据取得部108例如可构成为用于使处理器101发挥功能的存储在ROM102中的软件。判定数据取得部108可使用设定了振动部50的动作参数时的托盘振动动作的适当与否判定值即振动动作判定数据D1来作为判定数据D。判定数据取得部108能够将从托盘4上供给预定个数的部件(通过机器人移动部件的动作)所花费的时间(周期时间)、或者从托盘4上在预定时间内能够供给的部件的个数作为振动动作判定数据D1来使用。判定数据D是表示在状态变量S下进行了托盘振动动作时的部件供给效率的结果的指标。
在按学习部110的学习周期进行考虑的情况下,向学习部110同时输入的状态变量S成为基于取得了判定数据D的前一个学习周期的数据的状态变量。这样,在部件供给装置1所具备的机器学习装置100推进学习的期间,在环境中反复取得部件配置数据S2和部件种类数据S3,基于振动动作参数数据S1反复执行托盘振动动作,并反复取得判定数据D。
学习部110例如可构成为处理器101的一个功能。或者,学习部110例如可构成为用于使处理器101发挥功能的存储在ROM102中的软件。学习部110按照统称为机器学习的任意的学习算法,学习与托盘4上的部件的配置、姿势以及部件的种类相对的振动动作参数数据S1。学习部110可以基于包含上述状态变量S和判定数据D的数据集合来反复执行学习。在与托盘4上的部件的配置、姿势以及部件的种类相对的振动动作参数数据S1的学习循环的重复过程中,关于状态变量S中的部件配置数据S2以及部件种类数据S3,如上所述从在一个学习周期前由拍摄部60拍摄到的图像的解析结果、在非易失性存储器14中设定的与部件相关的信息来取得,使振动动作参数数据S1为根据直到前一次为止的学习结果而决定的振动部50的动作参数,此外,使判定数据D为在根据振动动作参数数据S1设定了振动部50的动作参数后而执行的今后的学习周期中的托盘振动动作的适当与否判定结果。
通过重复这样的学习循环,学习部110能够自动识别出暗示托盘4上的部件的配置、姿势(部件配置数据S2)以及部件的种类(部件种类数据S3)与针对该状态的振动部50的动作参数之间的相关性的特征。在学习算法的开始时,部件配置数据S2以及部件种类数据S3与振动部50的动作参数之间的相关性实质上是未知的,但学习部110随着学习的推进逐渐识别特征来解释相关性。当把部件配置数据S2以及部件种类数据S3与振动部50的动作参数之间的相关性解析到以某种程度可信赖的水准时,能够将学习部110反复输出的学习结果用于针对当前状态(即,托盘4上的部件的配置、姿势以及部件的种类),应将振动部50的动作参数设为怎样的值,即能够用于选择行为(即,决策)。也就是说,学习部110随着学习算法的推进,可使托盘4上的部件的配置、姿势以及部件的种类与针对该状态应该将振动部50的动作参数设为怎样的值这样的行为之间的相关性逐渐接近最佳解。
如上所述,在部件供给装置1所具备的机器学习装置100中,学习部110使用由状态观测部106观测到的状态变量S以及由判定数据取得部108取得的判定数据D,按照机器学习算法,学习振动部50的动作参数。状态变量S由振动动作参数数据S1、部件配置数据S2和部件种类数据S3这样的难以受到干扰影响的数据构成,此外,判定数据D通过对部件供给装置1所具备的拍摄部60拍摄到的图像进行解析而唯一地求出。因此,根据部件供给装置1所具备的机器学习装置100,通过使用学习部110的学习结果,不依赖于运算和估算而能够自动且准确地求出与托盘4上的部件的配置、姿势以及部件的种类对应的振动部50的动作参数。
并且,若能够不依赖于运算和估算而自动求出振动部50的动作参数,则仅通过掌握托盘4上的部件的配置和姿势(部件配置数据S2)以及部件的种类(部件种类数据S3),能够迅速地决定振动部50的动作参数的适当的值。因此,能够高效地决定振动部50的动作参数。
作为部件供给装置1所具备的机器学习装置100的一个变形例,判定数据取得部108可以使用表示振动动作后从托盘4上溢出的部件数量的溢出部件数量判定数据D2来作为判定数据D。关于溢出部件数量判定数据D2,可以从对拍摄部60拍摄到的图像进行解析而得的解析结果(例如,振动动作前后的托盘4上的部件个数的差异等)来取得。
根据上述变形例,机器学习装置100在学习与托盘4上的部件的配置、姿势以及部件的种类相对的振动部50的动作参数时,可以将从托盘4上溢出的部件的数量作为负面评价来考虑。
作为部件供给装置1所具备的机器学习装置100的其他变形例,学习部110能够使用针对进行同一作业的多个部件供给装置1分别获得的状态变量S和判定数据D,来学习这些部件供给装置1中的振动部50的动作参数。根据该结构,能够增加在一定时间获得的包含状态变量S和判定数据D的数据集合的量,因此将更多样的数据集合作为输入,提高振动部50的动作参数的学习的速度和可靠性。
在具有上述结构的机器学习装置100中,并不特别限定学习部110执行的学习算法,作为机器学习可采用公知的学习算法。图3是图1所示的部件供给装置1的一个方式,作为学习算法的一例示出了具备执行强化学习的学习部110的结构。强化学习是如下的方法:观测学习对象所在的环境的当前状态(即输入),并且在当前状态下执行预定的行为(即输出),以试错的方式反复进行针对该行为赋予何种回报的循环,将使回报的总和最大化的方案(在本申请的机器学习装置中为振动部50的动作参数的决定)作为最佳解来进行学习。
在图3所示的部件供给装置1所具备的机器学习装置100中,学习部110具备回报计算部112和价值函数更新部114,回报计算部112求出与根据状态变量S设定了振动部50的动作参数时的托盘振动动作的适当与否判定结果(相当于在取得了状态变量S的下一个学习周期中所使用的判定数据D)相关联的回报R,价值函数更新部114使用回报R来对表示振动部50的动作参数的价值的函数Q进行更新。学习部110通过由价值函数更新部114反复进行函数Q的更新,来学习与托盘4上的部件的配置、姿势以及部件的种类相对的振动部50的动作参数。
对学习部110所执行的强化学习的算法的一例进行说明。该例子的算法是作为Q学习(Q-learning)而公知的算法,是以行为主体的状态s和在该状态s下行为主体可选择的行为a为独立变量,来对表示在状态s下选择了行为a时的行为价值的函数Q(s,a)进行学习的方法。在状态s下选择价值函数Q最高的行为a成为最佳解。在状态s和行为a之间的相关性未知的状态下开始Q学习,通过反复进行在任意的状态s下选择各种行为a的试错,反复更新价值函数Q使其接近最佳解。在此,当作为在状态s下选择了行为a的结果,环境(即状态s)发生了变化时,得到与该变化对应的回报(即,行为a的加权)r,对学习进行引导以便选择得到更高回报r的行为a,由此能够在较短时间内使价值函数Q接近最佳解。
一般,可以像以下的式(1)那样表示价值函数Q的更新式。在式(1)中,st以及at分别为时刻t的状态以及行为,由于行为at状态变化为st+1。rt+1为通过状态从st变化为st+1而获得的回报。maxQ的项表示在时刻t+1进行了为最大价值Q的(在时刻t认为在时刻t+1取得最大价值)行为a时的Q。α以及γ分别是学习系数以及折扣率,在0<α≤1、0<γ≤1的范围内任意设定。
【式1】
Figure BDA0001722440580000091
在学习部110执行Q学习的情况下,状态观测部106观测到的状态变量S以及判定数据取得部108取得的判定数据D相当于更新式的状态s,应该如何决定与当前状态(即,托盘4上的部件的配置、姿势以及部件的种类)相对的振动部50的动作参数的行为相当于更新式的行为a,回报计算部112求出的回报R相当于更新式的回报r。由此,价值函数更新部114通过使用了回报R的Q学习来反复更新函数Q,该函数Q表示与当前状态相对的振动部50的动作参数的价值。
关于回报计算部112求出的回报R,例如在决定了振动部50的动作参数后根据决定的动作参数进行了托盘振动动作时,在托盘的振动动作的适当与否判定结果被判定为“适当”时(例如,在供给预定个数的部件的周期时间在可允许的范围内的情况下,或者,在预定时间内供给的部件的个数为可允许的个数以上的情况下等)可设为正的回报R,在决定了振动部50的动作参数后根据决定的动作参数进行了托盘振动动作时,在托盘的振动动作的适当与否判定结果被判定为“不适当”时(例如,在供给预定个数的部件的周期时间超过了可允许的范围的情况下,或者,在预定时间内供给的部件的个数比可允许的个数少的情况下等)可设为负的回报R。正负的回报R的绝对值既可以彼此相同也可以彼此不同。此外,作为判定的条件,也可以将判定数据D中包含的多个值进行组合来进行判定。
此外,能够将机器人的动作的适当与否判定结果设定为多个阶段,而不只是设定为“适当”和“不适当”这两种。作为例子,在供给预定个数的部件的周期时间的允许范围的最大值为Tmax的情况下,在供给预定个数的部件的周期时间T为0≤T<Tmax/5时赋予回报R=5,在为Tmax/5≤T<Tmax/2时赋予回报R=2,在为Tmax/2≤T≤Tmax时赋予回报R=1。并且,还能够在学习的初期阶段将Tmax设定得较大,随着学习的推进将Tmax缩小。
价值函数更新部114能够具有将状态变量S、判定数据D以及回报R与通过函数Q表示的行为价值(例如数值)关联起来进行整理而得的行为价值表。在该情况下,价值函数更新部114更新函数Q的行为等同于价值函数更新部114更新行为价值表的行为。在Q学习开始时,环境的当前状态与振动部50的动作参数之间的相关性是未知的,因此在行为价值表中,通过与随意决定的行为价值的值(函数Q)相关联的方式准备了各种状态变量S、判定数据D以及回报R。另外,回报计算部112若知道判定数据D则能够立即计算出与之对应的回报R,并将计算出的值R写入行为价值表。
当使用与机器人的动作状态的适当与否判定结果对应的回报R来推进Q学习时,向选择可得到更高回报R的行为的方向引导学习,根据作为在当前状态下执行所选择的行为的结果而发生变化的环境的状态(即状态变量S和判定数据D)改写关于在当前状态下进行的行为的行为价值的值(函数Q)来更新行为价值表。通过反复进行该更新来改写在行为价值表中显示的行为价值的值(函数Q),使得越是适当的行为值越大。如此,未知环境的当前状态(托盘4上的部件的配置、姿势以及部件的种类)和与之相对的行为(振动部50的动作参数的决定)之间的相关性逐渐明确。也就是说,通过行为价值表的更新,使得托盘4上的部件的配置、姿势以及部件的种类与振动部50的动作参数之间的关系逐渐接近最佳解。
参照图4进一步说明学习部110执行的上述的Q学习的流程(即,机器学习方法的一方式)。首先,在步骤SA01中,价值函数更新部114一边参照该时间点的行为价值表,一边随意地选择振动部50的动作参数来作为在状态观测部106所观测到的状态变量S所表示的当前状态下进行的行为。接着,价值函数更新部114在步骤SA02中取入由状态观测部106观测到的当前状态的状态变量S,在步骤SA03中,取入由判定数据取得部108取得的当前状态的判定数据D。接着,价值函数更新部114在步骤SA04中根据判定数据D判断振动部50的动作参数是否适当,在为适当时,在步骤SA05中,将回报计算部112求出的正的回报R用于函数Q的更新式,接着,在步骤SA06中,使用当前状态下的状态变量S和判定数据D、回报R以及行为价值的值(更新后的函数Q)来更新行为价值表。在步骤SA04中,在判断为振动部50的动作参数不适当时,在步骤SA07中,将回报计算部112求出的负的回报R用于函数Q的更新式,接着在步骤SA06中,使用当前状态下的状态变量S和判定数据D、回报R以及行为价值的值(更新后的函数Q)来更新行为价值表。学习部110通过反复进行步骤SA01~SA07来反复更新行为价值表,从而推进振动部50的动作参数的学习。另外,对于在判定数据D中包含的各个数据,执行从步骤SA04至步骤SA07的求出回报R的处理以及价值函数的更新处理。
在推进上述强化学习时,例如可使用神经网络。图5A示意性地表示神经元的模型。图5B示意性地表示将图5A所示的神经元组合而构成的三层神经网络的模型。神经网络例如可以由模拟了神经元模型的运算装置、存储装置等构成。
图5A所示的神经元输出与多个输入x(在此,作为一个例子是输入x1~输入x3)相对的结果y。对各输入x1~x3乘以与该输入x对应的权重w(w1~w3)。由此,神经元输出通过以下的式(2)表现的输出y。另外,在式(2)中,输入x、结果y和权重w均为向量。此外,θ是偏置,fk是激活函数。
【式2】
Figure BDA0001722440580000121
图5B所示的三层神经网络从左侧输入多个输入x(在此,作为一个例子为输入x1~输入x3),从右侧输出结果y(在此,作为一个例子为结果y1~结果y3)。在图示的例子中,分别对输入x1、x2、x3乘以对应的权重(统称为w1),将各个输入x1、x2、x3均输入到三个神经元N11、N12、N13。
在图5B中将神经元N11~N13的各个输出统称为z1。可将z1视为提取了输入向量的特征量而得到的特征向量。在图示的例子中,对各个特征向量z1乘以对应的权重(统称为w2),将各个特征向量z1均输入到两个神经元N21、N22。特征向量z1表示权重W1与权重W1之间的特征。
在图5B中,将神经元N21~N22的各个输出统称为z2。可将z2视为提取了特征向量z1的特征量而得到的特征向量。在图示的例子中,对特征向量z2乘以对应的权重(统称为w3),将各个特征向量z2均输入到三个神经元N31、N32、N33。特征向量z2表示权重W2与权重W3之间的特征。最后,神经元N31~N33分别输出结果y1~结果y3。
另外,还能够采用所谓的深度学习方法,其使用了成为三层以上的层次的神经网络。
在部件供给装置1所具备的机器学习装置100中,以状态变量S和判定数据D为输入x,学习部110进行遵照上述的神经网络的多层构造的运算,从而能够输出振动部50的动作参数(结果y)。此外,在部件供给装置1所具备的机器学习装置100中,将神经网络用作强化学习中的价值函数,以状态变量S和行为a为输入x,学习部110进行遵照上述神经网络的多层构造的运算,由此能够输出该状态下的该行为的价值(结果y)。另外,神经网络的动作模式有学习模式和价值预测模式,例如在学习模式下使用学习数据集来学习权重w,并使用学习的权重w在价值预测模式下进行行为价值判断。另外,在价值预测模式下也可以进行检测、分类、推论等。
可以将上述的部件供给装置1的结构记述为处理器101执行的机器学习方法(或者软件)。该机器学习方法是学习振动部50的动作参数的机器学习方法,具备如下步骤:计算机的CPU观测振动动作参数数据S1、部件配置数据S2以及部件种类数据S3来作为表示进行机器人控制的环境的当前状态的状态变量S;取得表示基于所决定的动作参数的托盘振动动作的适当与否判定结果的判定数据D;使用状态变量S和判定数据D,将部件配置数据S2以及部件种类数据S3与振动部50的动作参数关联起来进行学习。
图6表示第2实施方式的部件供给装置2。部件供给装置2具备机器学习装置120、取得状态观测部106观测的状态变量S的振动动作参数数据S1、部件配置数据S2以及部件种类数据S3来作为状态数据S0的状态数据取得部3。状态数据取得部3能够从部件供给装置2的各部、通过拍摄部60拍摄到的图像的解析结果、作业者进行的适当的数据输入等取得状态数据S0。
在部件供给装置2所具有的机器学习装置120中,除了用于通过机器学习来自己学习振动部50的动作参数的软件(学习算法等)和硬件(处理器101等)外,还包含用于将根据学习结果而求出的振动部50的动作参数作为对于部件供给装置2的指令而进行输出的软件(运算算法等)和硬件(处理器101等)。部件供给装置2所包含的机器学习装置120也可具有通过一个通用的处理器执行学习算法、运算算法等全部软件的结构。
决策部122例如也可以构成为处理器101的一个功能。或者,决策部122例如可构成为用于使处理器101发挥功能的存储在ROM102中的软件。决策部122根据学习部110学习的结果,生成包含用于决定与托盘4上的部件的配置、姿势以及部件的种类相对的振动部50的动作参数的指令的指令值C,并作为生成的指令值C而输出。
在决策部122对部件供给装置2输出了指令值C的情况下,与之相应环境状态发生变化。
状态观测部106在下一个学习周期观测在输出决策部122生成的针对环境的指令值C后发生了变化的状态变量S。学习部110使用变化后的状态变量S,例如通过更新价值函数Q(即行为价值表)来学习振动部50的动作参数。另外,此时状态观测部106不是从状态数据取得部3取得的状态数据S0取得振动动作参数数据S1,而是如在第1实施方式中说明的那样从机器学习装置120的RAM103取得振动动作参数数据S1。
决策部122向部件供给装置2输出指令值C,该指令值C用于指令设定根据学习结果而决定的振动部50的动作参数。通过反复该学习周期,机器学习装置120推进振动部50的动作参数的学习,使自身决定的振动部50的动作参数的可靠性逐渐提高。
具有上述结构的部件供给装置2所具备的机器学习装置120实现与上述的机器学习装置100同样的效果。尤其是机器学习装置120可根据决策部122的输出使环境状态发生变化。另一方面,在机器学习装置100中,可向外部装置请求用于将学习部110的学习结果反映在环境中的相当于决策部的功能。
图7表示具备部件供给装置160的一实施方式的系统170。系统170至少具备进行同一作业的多个部件供给装置160、160’和将这些部件供给装置160、160’相互连接的有线/无线网络172,多个部件供给装置160中的至少一个构成为具备上述机器学习装置120的部件供给装置160。此外,系统170也可以包含不具备机器学习装置120的部件供给装置160’。部件供给装置160、160’具有相同目的的作业所需要的机构。
在具有上述结构的系统170中,多个部件供给装置160、160’中的具备机器学习装置120的部件供给装置160能够使用学习部110的学习结果,不依赖运算、估算地能够自动且准确地求出与托盘4上的部件的配置、姿势以及部件的种类相对的振动部50的动作参数。此外,至少一个部件供给装置160的机器学习装置120能够根据针对其他多个部件供给装置160、160’分别获得的状态变量S和判定数据D,来学习对于全部的部件供给装置160、160’通用的振动部50的动作参数,并由全部的部件供给装置160、160’共享该学习结果。因此,根据系统170,能够以更多样的数据集合(包含状态变量S和判定数据D)为输入,提高振动部50的动作参数的学习速度和可靠性。
图8表示具备部件供给装置160’的其他实施方式的系统170’。系统170’具备机器学习装置120(或100)、具有同一机械结构的多个部件供给装置160’、将这些部件供给装置160’与机器学习装置120(或100)相互连接的有线/无线网络172。
在具有上述结构的系统170’中,机器学习装置120(或100)根据针对多个部件供给装置160’分别获得的状态变量S和判定数据D,来学习针对全部的部件供给装置160’通用的与托盘4上的部件的配置、姿势以及部件的种类相对的振动部50的动作参数,并使用该学习结果,不依赖运算、估算地能够自动且准确地求出与托盘4上的部件的配置、姿势以及部件的种类相对的振动部50的动作参数。
系统170’能够具有机器学习装置120(或100)存在于在网络172中准备的云服务器等中的结构。根据该结构,与多个部件供给装置160’各自所在的场所、时期无关,可以在必要时将必要数量的部件供给装置160’与机器学习装置120(或100)连接。
从事于系统170、170’的作业者在机器学习装置120(或100)开始学习后的适当的时期能够执行如下的判断:机器学习装置120(或100)进行的振动部50的动作参数的学习的达成度(即,振动部50的动作参数的可靠性)是否达到了要求的水平。
以上对本发明的实施方式进行了说明,但本发明并不限定于上述的实施方式的例子,通过增加适当的变更能够以各种方式实施。
例如,机器学习装置100、120所执行的学习算法、机器学习装置120所执行的运算算法、部件供给装置1、2所执行的控制算法等并不限于上述的说明,可采用各种算法。
此外,在上述的实施方式中将部件供给装置1(或2)和机器学习装置100(或120)作为具有不同的CPU的装置来进行了说明,但机器学习装置100(或120)也可以通过部件供给装置1(或2)所具备的CPU11和存储在ROM12中的系统程序来实现。
并且,在上述的实施方式中表示了状态观测部106观测表示部件的种类的部件种类数据S3来作为状态变量的实施例,但是在使机器学习装置100(或120)的学习成为专门用于与特定的部件相关的振动动作的动作参数与托盘4上的部件配置之间的相关性的学习时,状态观测部106不一定必须将部件种类数据S3作为状态变量进行观测。这样,作为状态变量仅观测振动动作参数数据S1和部件配置数据S2来进行学习的机器学习装置100(或120)无法用于决定与各种部件相关的振动部50的振动动作的动作参数,但可毫无问题地用于决定与作为学习对象的特定的部件相关的振动部50的振动动作的动作参数(决定与该部件的大小、重量、形状相符的动作参数),此外,只针对作为学习对象的特定部件推进学习即可,因此具有如下有益效果:振动部50的动作参数的学习速度提高,可早期向市场提供部件供给装置1(或2)以及机器学习装置100(或120)。
以上对本发明的实施方式进行了说明,但本发明并不限于上述的实施方式的示例,通过增加适当的变更能够以其他方式实施。

Claims (11)

1.一种部件供给装置,其供给放置在托盘的部件,并且决定使放置在所述托盘上的多个所述部件的配置以及姿势发生变化的所述托盘的振动动作的动作参数,其特征在于,
所述部件供给装置具备对所述振动动作的动作参数进行学习的机器学习装置,
所述机器学习装置具备:
状态观测部,其观测表示所述振动动作的动作参数的振动动作参数数据以及表示所述托盘上的多个所述部件的配置以及姿势的部件配置数据来作为表示环境的当前状态的状态变量;
判定数据取得部,其取得表示所述振动动作的适当与否判定结果的判定数据,所述振动动作的适当与否判定结果表示供给所述部件的效率;以及
学习部,其使用所述状态变量和所述判定数据,将所述振动动作的动作参数与所述部件配置数据关联起来进行学习。
2.根据权利要求1所述的部件供给装置,其特征在于,
所述动作参数包含所述振动动作的振动的强度以及振动的频率中的至少一个。
3.根据权利要求2所述的部件供给装置,其特征在于,
所述动作参数包含所述振动动作的振动的时间以及相位差中的至少一个。
4.根据权利要求1至3中的任意一项所述的部件供给装置,其特征在于,
所述状态变量还包含表示所述部件的种类的部件种类数据,
所述学习部使用所述状态变量和所述判定数据,将所述振动动作的动作参数与所述部件配置数据以及所述部件种类数据关联起来进行学习。
5.根据权利要求1至3中的任意一项所述的部件供给装置,其特征在于,
在所述判定数据中,除了表示供给所述部件的效率的所述振动动作的适当与否判定结果以外,还包含所述部件从所述托盘溢出的所述部件的数量的适当与否判定结果。
6.根据权利要求1至3中的任意一项所述的部件供给装置,其特征在于,
所述学习部具备:
回报计算部,其求出与所述适当与否判定结果相关联的回报;以及
价值函数更新部,其使用所述回报来更新函数,该函数表示与所述托盘上的多个所述部件的配置、姿势以及所述部件的种类相对的所述振动动作的动作参数的价值。
7.根据权利要求1至3中的任意一项所述的部件供给装置,其特征在于,
所述学习部通过多层构造来对所述状态变量和所述判定数据进行运算。
8.根据权利要求1至3中的任意一项所述的部件供给装置,其特征在于,
所述部件供给装置还具备决策部,该决策部根据所述学习部的学习结果,输出用于决定所述振动动作的动作参数的指令值。
9.根据权利要求1至3中的任意一项所述的部件供给装置,其特征在于,
所述学习部使用针对多个部件供给装置中的各个部件供给装置获得的所述状态变量和所述判定数据,来学习该多个部件供给装置中的各个部件供给装置中的所述振动动作的动作参数。
10.根据权利要求1至3中的任意一项所述的部件供给装置,其特征在于,
所述机器学习装置存在于云服务器。
11.一种机器学习装置,其对于部件供给装置的使放置在托盘上的多个部件的配置以及姿势发生变化的所述托盘的振动动作的动作参数进行学习,所述部件供给装置用于供给放置在所述托盘的部件,其特征在于,
所述机器学习装置具有:
状态观测部,其观测表示所述振动动作的动作参数的振动动作参数数据、表示所述托盘上的多个所述部件的配置以及姿势的部件配置数据、以及表示所述部件的种类的部件种类数据,来作为表示环境的当前状态的状态变量;
判定数据取得部,其取得表示所述振动动作的适当与否判定结果的判定数据,所述振动动作的适当与否判定结果表示供给所述部件的效率;以及
学习部,其使用所述状态变量和所述判定数据,将所述振动动作的动作参数与所述部件配置数据以及所述部件种类数据关联起来进行学习。
CN201810737639.6A 2017-07-07 2018-07-06 部件供给装置以及机器学习装置 Active CN109202394B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017133810A JP6564426B2 (ja) 2017-07-07 2017-07-07 部品供給装置及び機械学習装置
JP2017-133810 2017-07-07

Publications (2)

Publication Number Publication Date
CN109202394A CN109202394A (zh) 2019-01-15
CN109202394B true CN109202394B (zh) 2020-10-30

Family

ID=64666089

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810737639.6A Active CN109202394B (zh) 2017-07-07 2018-07-06 部件供给装置以及机器学习装置

Country Status (4)

Country Link
US (1) US10807234B2 (zh)
JP (1) JP6564426B2 (zh)
CN (1) CN109202394B (zh)
DE (1) DE102018005199B4 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6484265B2 (ja) * 2017-02-15 2019-03-13 ファナック株式会社 学習制御機能を備えたロボットシステム及び学習制御方法
JP6577527B2 (ja) * 2017-06-15 2019-09-18 ファナック株式会社 学習装置、制御装置及び制御システム
JP6564426B2 (ja) * 2017-07-07 2019-08-21 ファナック株式会社 部品供給装置及び機械学習装置
CN112313043B (zh) * 2018-06-15 2024-04-02 谷歌有限责任公司 自我监督的机器人对象交互
JP6959278B2 (ja) * 2019-02-27 2021-11-02 ファナック株式会社 びびり振動判定装置、機械学習装置及びシステム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106393102A (zh) * 2015-07-31 2017-02-15 发那科株式会社 机械学习装置、机器人系统及机械学习方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2557723B1 (fr) * 1983-12-30 1986-05-30 Fragema Framatome & Cogema Dispositif de transfert de gaines d'elements de combustible nucleaire a un poste fixe de remplissage en pastilles
US6056108A (en) * 1997-11-17 2000-05-02 Adept Technology, Inc. Impulse-based, flexible parts feeder
US6116409A (en) * 1998-02-19 2000-09-12 Eastman Kodak Company Conveyor for uniformly distributing parts
EP2308434B1 (en) * 2008-07-31 2015-09-23 Uni-Charm Corporation Device for producing tampons and method for producing tampons
JP4850956B2 (ja) * 2010-02-19 2012-01-11 ファナック株式会社 学習制御機能を備えたロボット
US8886359B2 (en) 2011-05-17 2014-11-11 Fanuc Corporation Robot and spot welding robot with learning control function
JP2017030097A (ja) * 2015-07-31 2017-02-09 セイコーエプソン株式会社 ワーク供給装置、ロボット、及びロボットシステム
DE102016009030B4 (de) * 2015-07-31 2019-05-09 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
JP6438366B2 (ja) * 2015-08-28 2018-12-12 ファナック株式会社 電動機に対する動作指令を学習する機械学習方法および機械学習装置並びに該機械学習装置を備えた制御装置および電動機装置
JP6063016B1 (ja) * 2015-09-29 2017-01-18 ファナック株式会社 電動機に対する動作指令を学習する機械学習方法および機械学習装置並びに該機械学習装置を備えた工作機械
JP6010204B1 (ja) 2015-10-26 2016-10-19 ファナック株式会社 パワー素子の予測寿命を学習する機械学習装置及び方法並びに該機械学習装置を備えた寿命予測装置及びモータ駆動装置
JP6333795B2 (ja) * 2015-11-24 2018-05-30 ファナック株式会社 学習による教示作業の簡易化及び動作性能向上機能を備えたロボットシステム
DE202017007626U1 (de) * 2016-01-15 2023-10-04 Kokusai Keisokuki Kabushiki Kaisha Schwingungsvorrichtung und elektrodynamischer Aktuator
JP6457428B2 (ja) * 2016-04-26 2019-01-23 ファナック株式会社 物品供給装置
JP6527108B2 (ja) * 2016-05-19 2019-06-05 ファナック株式会社 物品搬送装置
JP6542833B2 (ja) * 2017-04-28 2019-07-10 ファナック株式会社 制御装置及び機械学習装置
JP6564426B2 (ja) * 2017-07-07 2019-08-21 ファナック株式会社 部品供給装置及び機械学習装置
JP6549655B2 (ja) * 2017-08-03 2019-07-24 ファナック株式会社 物品搬送装置
CN109704018A (zh) * 2017-10-25 2019-05-03 泰科电子(上海)有限公司 供料系统
US10399257B1 (en) * 2018-07-18 2019-09-03 Alex Xie Controlled vertical material distribution

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106393102A (zh) * 2015-07-31 2017-02-15 发那科株式会社 机械学习装置、机器人系统及机械学习方法

Also Published As

Publication number Publication date
DE102018005199A1 (de) 2019-01-10
US20190009407A1 (en) 2019-01-10
CN109202394A (zh) 2019-01-15
US10807234B2 (en) 2020-10-20
DE102018005199B4 (de) 2021-06-02
JP2019014020A (ja) 2019-01-31
JP6564426B2 (ja) 2019-08-21

Similar Documents

Publication Publication Date Title
CN109202394B (zh) 部件供给装置以及机器学习装置
CN109002012B (zh) 控制装置以及机器学习装置
CN109399122B (zh) 控制装置以及机器学习装置
JP6810087B2 (ja) 機械学習装置、機械学習装置を用いたロボット制御装置及びロボットビジョンシステム、並びに機械学習方法
CN107305370B (zh) 设定与产品的异常相关的变量的判定值的生产系统
CN109382825B (zh) 控制装置以及学习装置
CN108994818B (zh) 控制装置以及机器学习装置
CN109955115B (zh) 切屑去除装置以及信息处理装置
CN108723889B (zh) 加减速控制装置
CN110531705B (zh) 可编程控制器以及机器学习装置
JP2019117458A (ja) 制御装置及び機械学習装置
CN109814615B (zh) 控制装置以及机器学习装置
KR102224970B1 (ko) 제어 장치 및 기계 학습 장치
JP2019185125A (ja) 制御装置及び機械学習装置
US11897066B2 (en) Simulation apparatus
CN108687766B (zh) 机器人的控制装置、机器学习装置以及机器学习方法
CN108732963B (zh) 控制装置及机器学习装置
CN109725597B (zh) 测试装置以及机器学习装置
CN110171159A (zh) 控制装置以及机器学习装置
CN110125955B (zh) 控制装置以及机器学习装置
JP6740154B2 (ja) 制御装置及び機械学習装置

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
GR01 Patent grant
GR01 Patent grant