控制装置以及机器学习装置的制作方法

文档序号:16284217发布日期:2018-12-14 23:08阅读:135来源:国知局
控制装置以及机器学习装置的制作方法

本发明涉及控制装置以及机器学习装置,特别是涉及使示教速度优化的控制装置以及机器学习装置。

背景技术

一般工业用的机器人按预先制作的动作程序进行驱动,或者以通过被示教器等预先示教的示教点的方式使机器人以示教速度进行驱动。即,机器人沿预定的轨道以预定速度进行驱动。作为与机器人的示教动作有关的现有技术,例如在日本特开平06-285402号公报中公开了为了使机器人进行密封作业,而对该机器人示教密封动作(示教点、示教速度等)的技术。

在上述日本特开平06-285402号公报所公开的技术中,根据机器人的移动速度对密封剂供给泵的电动机的转动速度进行控制来向密封枪提供密封剂,由此在对象物的每个单位距离中涂敷的密封剂的量与机器人的移动速度无关地被保持为固定的值,以使凸起部的膜厚保持为固定。然而,这种具备压力控制功能的泵价格高昂,从而导致系统整体的成本上升。为了抑制系统整体的成本,考虑控制成一边将机器人的前端具备的密封枪的移动速度保持为固定一边移动示教点。如果能够进行这种控制,则能够使用仅可控制开启(on)/关闭(off)的廉价的泵来降低系统整体的成本。然而,机器人的前端的移动路径或移动速度被多个电动机的移动综合决定,在对一个电动机的移动施加变更时,机器人的前端的移动如何变化依赖于其它电动机的移动状态或加减速状态。因此,调整成一边将机器人的前端的移动速度维持为固定一边按移动路径进行移动对于熟练的操作员来说也是较难的,需要反复进行试错,从而存在操作员付出大量劳力这种问题。



技术实现要素:

因此,本发明的目的在于提供一种能够调整为机器人的前端的示教速度与规定的目标速度一致的控制装置以及机器学习装置。

在本发明的控制装置中,对与机器人的前端的目标速度、该机器人所具备的各电动机的当前速度以及该机器人的前端的移动路径相对的、该机器人所具备的各电动机的移动速度的调整量进行机器学习,根据该机器学习的结果进行控制,以使在机器人移动至示教位置时,机器人的前端的移动速度与目标速度一致,由此解决上述问题。

本发明的第一方式的控制装置对涂敷密封材料的机器人所具备的各电动机的移动速度进行调整,该控制装置具备机器学习装置,该机器学习装置对所述机器人所具备的各电动机的移动速度的调整量进行学习。所述机器学习装置具备:状态观测部,其将表示所述机器人所具备的各电动机的移动速度的调整量的示教速度调整量数据、表示所述机器人的前端的目标速度的目标速度数据、表示所述机器人所具备的各电动机的移动速度的移动速度数据以及表示所述机器人的前端的最近的移动路径的移动路径数据作为表示环境的当前状态的状态变量进行观测;判定数据获取部,其获取表示所述机器人的前端的移动速度的适当与否判定结果的判定数据;以及学习部,其使用所述状态变量和所述判定数据,将所述机器人所具备的各电动机的移动速度的调整量与所述目标速度数据、所述移动速度数据以及所述移动路径数据关联起来进行学习。

在所述判定数据中除了包含所述机器人的前端的移动速度的适当与否判定结果以外,还能够包含机器人的前端的位置的适当与否判定结果。

所述学习部能够具备:回报计算部,其求出与所述适当与否判定结果相关联的回报;以及价值函数更新部,其使用所述回报来更新与所述机器人的前端的目标速度、所述机器人所具备的各电动机的移动速度以及所述机器人的前端的最近的移动路径相对的、表示所述机器人所具备的各电动机的移动速度的调整量的价值的函数。

所述学习部能够以多层结构对所述状态变量和所述判定数据进行运算。

所述控制装置还能够具备决策部,该决策部根据所述学习部的学习结果,输出基于所述机器人所具备的各电动机的移动速度的调整量的指令值。

所述学习部使用针对多个机器人分别得到的所述状态变量和所述判定数据,能够对该多个机器人的每个所述机器人所具备的各电动机的移动速度的调整量进行学习。

所述机器学习装置也可以存在于云服务器中。

本发明的第二方式的机器学习装置对涂敷密封材料的机器人所具备的各电动机的移动速度的调整量进行学习。该机器学习装置具备:状态观测部,其将表示所述机器人所具备的各电动机的移动速度的调整量的示教速度调整量数据、表示所述机器人的前端的目标速度的目标速度数据、表示机器人所述所具备的各电动机的移动速度的移动速度数据以及表示所述机器人的前端的最近的移动路径的移动路径数据作为表示环境的当前状态的状态变量进行观测;判定数据获取部,其获取表示所述机器人的前端的移动速度的适当与否判定结果的判定数据;以及学习部,其使用所述状态变量和所述判定数据,将所述机器人所具备的各电动机的移动速度的调整量与所述目标速度数据、所述移动速度数据以及所述移动路径数据关联起来进行学习。

根据本发明,根据学习结果对机器人的示教速度进行调整,由此能够将该机器人的前端的移动速度保持为固定,即使不使用价格昂贵的泵也能够将凸起部的膜厚保持为固定。

附图说明

图1是第一实施方式的控制装置的概略硬件结构图。

图2是第一实施方式的控制装置的概略功能框图。

图3是表示控制装置的一个方式的概略功能框图。

图4是表示机器学习方法的一个方式的概略流程图。

图5a是说明神经元的图。

图5b是说明神经网络的图。

图6是第二实施方式的控制装置的概略功能框图。

图7是表示安装了控制装置的系统的一个方式的概略功能框图。

图8是表示安装了控制装置的系统的其它方式的概略功能框图。

具体实施方式

图1是表示第一实施方式的控制装置以及被该控制装置控制的机床的主要部分的概略硬件结构图。

控制装置1例如能够安装为控制密封材料的涂敷等的工业用机器人(未图示)的控制装置。本实施方式的控制装置1所具备的cpu11为整体控制控制装置1的处理器。cpu11经由总线20读取存储于rom12的系统程序,按该系统程序对控制装置1整体进行控制。在ram13中暂时存储临时计算数据、显示数据以及操作员经由后述的示教操作面板60输入的各种数据等。

非易失性存储器14例如构成为使用未图示的电池进行备用等,即使控制装置1的电源被关闭也能保持存储状态的存储器。在非易失性存储器14中存储有经由接口18从示教操作面板60输入的示教数据、经由未图示的接口输入的机器人控制用程序等。存储于非易失性存储器14的程序或各种数据在执行时/使用时也可以在ram13中展开。另外,在rom12中预先写入了用于执行与机器人的控制、示教位置的示教有关的处理等的各种系统程序(包括用于控制与后述的机器学习装置100之间的交换的系统程序)。

用于控制机器人所具备的关节等的轴的轴控制电路30接收来自cpu11的轴的移动指令量,将轴的指令输出到伺服放大器40。伺服放大器40接收该指令,对移动机器人所具备的轴的伺服电动机50进行驱动。轴的伺服电动机50内置有位置/速度检测器,将来自该位置/速度检测器的位置/速度反馈信号反馈至轴控制电路30,进行位置/速度的反馈控制。此外,在图1的硬件结构图中,轴控制电路30、伺服放大器40、伺服电动机50仅示出各一个,但是,实际上准备成为控制对象的机器人中具备的轴的数量。例如在具备六个轴的机器人的情况下,对六个轴分别准备轴控制电路30、伺服放大器40、伺服电动机50。

示教操作面板60为具备显示器、手柄、硬件密钥等的手动数据输入装置,经由接口18接收来自控制装置1的信息进行显示,并且将从手柄、硬件密钥等输入的脉冲、指令、各种数据传送到cpu11。

泵70向被机器人的前端把持的密封枪(未图示)提供密封材料。泵70基于经由接口19的来自cpu11的指令,能够开启/关闭密封材料的供给。

接口21为用于连接控制装置1与机器学习装置100的接口。机器学习装置100具备对机器学习装置100整体进行控制的处理器101、存储有系统程序等的rom102、用于进行机器学习涉及的的各处理中的临时存储的ram103以及使用于存储学习模型等的非易失性存储器104。机器学习装置100能够通过控制装置1观测可经由接口21获取的各信息(与伺服电动机50的位置信息、速度信息、电流值、存储于ram13等的执行中的程序、示教数据等有关的设定信息等)。另外,控制装置1接收从机器学习装置100输出的、用于控制伺服电动机50、机器人的外围装置的指令,进行基于程序、示教数据的机器人的控制指令的修正等。

图2是第一实施方式的控制装置1和机器学习装置100的概略功能框图。

机器学习装置100包括软件(学习算法等)和硬件(处理器101等),该软件和硬件通过所谓机器学习来自行学习与机器人的前端的目标速度、该机器人所具备的各电动机的当前速度以及该机器人的前端的移动路径相对的、该机器人所具备的各电动机的移动速度的调整量。控制装置1所具备的机器学习装置100进行学习的结构相当于表示机器人的前端的目标速度、该机器人所具备的各电动机的当前速度以及该机器人的前端的移动路径与该机器人所具备的各电动机的移动速度的调整量之间的相关性的模型结构。

如图2的功能块所示,控制装置1所具备的机器学习装置100具备状态观测部106、判定数据获取部108、学习部110,状态观测部106观测表示环境的当前状态的状态变量s,该状态变量s包括表示基于示教数据的机器人的控制中的该机器人所具备的各电动机的移动速度的调整量的示教速度调整量数据s1、表示机器人的前端的目标速度的目标速度数据s2、表示机器人所具备的各电动机的移动速度的移动速度数据s3以及表示机器人的前端的最近的移动路径的移动路径数据s4,判定数据获取部108获取判定数据d,该判定数据d包含对各电动机的示教速度进行调整的情况下的表示机器人的前端的移动速度的适当与否判定结果的移动速度判定数据d1,学习部110使用状态变量s和判定数据d,将示教速度调整量数据s1与机器人的前端的目标速度、该机器人所具备的各电动机的当前速度以及该机器人的前端的移动路径关联起来进行学习。

状态观测部106例如可以构成为处理器101的一个功能,也可以构成为用于使处理器101发挥功能的存储于rom102的软件。在状态观测部106观测的状态变量s中,示教速度调整量数据s1能够作为与机器人所具备的每个电动机的移动速度相对的调整量的集合而获取。此外,在此所说的机器人所具备的各电动机的移动速度的调整量包含对电动机的移动速度进行调整的方向(正负的值)。

在学习初期能,示教速度调整量数据s1例如能够使用由熟练的操作员汇报且被施加到控制装置1的、机器人所具备的各电动机的移动速度的调整量,或者使用从仿真装置进行仿真的结果获取的各电动机的移动速度的调整量。另外,在学习进入某种程度的阶段中,示教速度调整量数据s1能够使用机器学习装置100基于学习部110的学习结果而在前一学习周期内决定的机器人所具备的各电动机的移动速度的调整量,在这种情况下,机器学习装置100在每个学习周期中将决定的机器人所具备的各电动机的移动速度的调整量临时存储到ram103中,状态观测部106也可以从ram103获取在前一学习周期中机器学习装置100决定的机器人所具备的各电动机的移动速度的调整量。

在状态变量s中,目标速度数据s2例如能够使用由操作员设定的示教数据内包含的示教速度等。由操作员设定的示教速度由于是操作员设定为目标值的值,因此能够用作目标速度。

在状态变量s中,移动速度数据s3例如能够使用机器人所具备的各电动机(即,伺服电动机50)的本周期中的移动速度。可以使用安装于电动机的位置/速度检测器来获取移动速度数据s3。

状态变量s中,移动路径数据s4例如能够使用基于示教数据内包含的示教位置而求出的机器人的前端的移动路径。移动路径数据s4可以设为作为从机器人的前端的当前位置观察的相对的坐标值的预定的每个规定周期的系列数据而求出从当前时间点起至预定的规定期间中的移动路径。

判定数据获取部108例如可以构成为处理器101的一个功能,也可以构成为用于使处理器101发挥功能的存储于rom102的软件。判定数据获取部108能够使用与各电动机的示教速度进行调整的情况下的机器人的前端的移动速度相对的适当与否判断值即移动速度判定数据d1作为判定数据d。能够根据由状态观测部106观测移动速度数据s3时得到的机器人所具备的各电动机的移动速度来求出判定数据d。判定数据d为表示根据状态变量s来进行机器人的控制的情况下的结果的指标。

同时被输入于学习部110的状态变量s为在以学习部110的学习周期进行考虑的情况下基于获取到判定数据d的一个学习周期前的数据的变量。这样,在控制装置1所具备的机器学习装置100进行学习期间,在环境下,反复实施以下动作即获取目标速度数据s2、移动速度数据s3以及移动路径数据s4、执行按根据示教速度调整量数据s1调整的示教速度的机器人的控制以及获取判定数据d。

学习部110例如可以构成为处理器101的一个功能,也可以构成为用于使处理器101发挥功能的存储于rom102的软件。学习部110根据被称为机器学习的任意的学习算法,来学习与机器人的前端的目标速度、机器人所具备的各电动机的移动速度以及机器人的前端的最近的移动路径相对的、示教速度调整量数据s1。学习部110能够反复执行基于包含状态变量s和判定数据d的数据集合的学习。在与机器人的前端的目标速度、机器人所具备的各电动机的移动速度以及机器人的前端的最近的移动路径相对的、示教速度调整量数据s1的学习循环的反复过程中,如上所述,从在一个学习周期前获取的示教数据、各电动机的状态获取状态变量s中的目标速度数据s2、移动速度数据s3以及移动路径数据s4,示教速度调整量数据s1作为直到上一次为止的学习结果得到的机器人所具备的各电动机的移动速度的调整量,并且判定数据d作为根据示教速度调整量数据s1进行了移动速度的调整的状态下的本学习周期内的针对(所调整的)机器人的前端的移动速度的适当与否判定结果。

通过反复进行这种学习循环,学习部110能够自动地识别对机器人的前端的目标速度(目标速度数据s2)、机器人所具备的各电动机的移动速度(移动速度数据s3)以及机器人的前端的最近的移动路径(移动路径数据s4)和与该状态相对的机器人所具备的各电动机的移动速度的调整量之间的相关性进行暗示的特征。在学习算法开始时,目标速度数据s2、移动速度数据s3以及移动路径数据s4与机器人所具备的各电动机的移动速度的调整量之间的相关性实质上是未知的,但是,学习部110随着推进学习而逐渐识别特征并解释相关性。当目标速度数据s2、移动速度数据s3以及移动路径数据s4与机器人所具备的各电动机的移动速度的调整量之间的相关性被解释到某种程度能够信赖的水准时,学习部110反复输出的学习结果能够使用于进行以下选择即针对当前状态(即机器人的前端的目标速度、机器人所具备的各电动机的移动速度以及机器人的前端的最近的移动路径)要将机器人所具备的各电动机的移动速度的调整量设为什么程度的值这种行为的选择(即决策)。即,学习部110随着学习算法的进行,能够使机器人前端的目标速度、机器人所具备的各电动机的移动速度以及机器人的前端的最近的移动路径和针对该状态要将机器人所具备的各电动机的移动速度的调整量设为什么程度的值这种行为之间的相关性逐渐接近最佳解。

如上所述,控制装置1所具备的机器学习装置100使用状态观测部106观测到的状态变量s以及由判定数据获取部108获取的判定数据d,学习部110根据机器学习算法,对机器人所具备的各电动机的移动速度的调整量进行学习。状态变量s由示教速度调整量数据s1、目标速度数据s2、移动速度数据s3以及移动路径数据s4这种不易受到干扰的影响的数据构成,并且,判定数据d通过获取存储于控制装置1的示教速度以及控制装置1获取的伺服电动机50的移动速度而唯一地求出。因而,根据控制装置1所具备的机器学习装置100,通过使用学习部110的学习结果,不基于运算、估算而能够自动地且正确地求出与机器人的前端的目标速度、机器人所具备的各电动机的移动速度以及机器人的前端的最近的移动路径相对应的、机器人所具备的各电动机的移动速度的调整量。

而且,如果不基于运算、估算而能够自动地求出机器人所具备的各电动机的移动速度的调整量,则仅掌握机器人的前端的目标速度(目标速度数据s2)、机器人所具备的各电动机的移动速度(移动速度数据s3)以及机器人的前端的最近的移动路径(移动路径数据s4),就能够讯速地决定机器人所具备的各电动机的移动速度的调整量的适当的值。因而,能够有效地进行机器人所具备的各电动机的移动速度的调整。

在控制装置1所具备的机器学习装置100的第一变形例中,作为判定数据d,判定数据获取部108除了使用机器人的前端的移动速度的适当与否判断值即移动速度判定数据d1以外,还能够使用机器人的前端的位置的适当与否判定结果即前端位置判定数据d2等。

根据所述变形例,机器学习装置100在对与机器人的前端的目标速度、机器人所具备的各电动机的移动速度以及机器人的前端最近的移动路径相对的机器人所具备的各电动机的移动速度的调整量进行学习时,还能够一并考虑示教位置的偏离度等。

在控制装置1所具备的机器学习装置100的第二变形例中,学习部110使用进行相同作业的多个机器人分别得到的状态变量s和判定数据d,能够对这些机器人中的机器人所具备的各电动机的移动速度的调整量进行学习。根据该结构,能够增加固定时间得到的包含状态变量s和判定数据d的数据集合的量,因此将更多种数据集合作为输入,能够使机器人所具备的各电动机的移动速度的调整量的学习速度、可靠性提高。

在具有上述结构的机器学习装置100中,学习部110执行的学习算法并不特别限定,作为机器学习能够采用公知的学习算法。图3是图1示出的控制装置1的一个方式,示出作为学习算法的一例具备执行强化学习的学习部110的结构。

强化学习是以下方法:试错地反复进行以下循环即观测学习对象所存在的环境的当前状态(即输入)并且在当前状态下执行规定的行为(即输出)并对该行为赋予某些回报这种循环,将回报的总计被最大化的对策(在本件申请的机器学习装置中机器人所具备的各电动机的移动速度的调整)作为最佳解而进行学习。

在图3示出的控制装置1所具备的机器学习装置100中,学习部110具备回报计算部112和价值函数更新部114,回报计算部112根据状态变量s来求出与各电动机的示教速度被调整的情况下的机器人的前端的动作状态的适当与否判定结果(相当于在获取到状态变量s的下一学习周期中使用的判定数据d)相关联的回报r,价值函数更新部114使用回报r,对表示机器人所具备的各电动机的移动速度的调整量的价值的函数q进行更新。学习部110通过由价值函数更新部114反复更新函数q,对与机器人的前端的目标速度、机器人所具备的各电动机的移动速度以及机器人的前端的最近的移动路径相对的机器人所具备的各电动机的移动速度的调整量进行学习。

说明由学习部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)行为a时的q。α和γ分别为学习系数和折扣率,以0<α≤1、0<γ≤1进行任意设定。

在学习部110执行q学习的情况下,由状态观测部106观测到的状态变量s以及由判定数据获取部108获取的判定数据d对应于更新式的状态s,要如何决定与当前状态(即,机器人的前端的目标速度、机器人所具备的各电动机的移动速度以及机器人的前端的最近的移动路径)相对的机器人所具备的各电动机的移动速度的调整量这种行为对应于更新式的行为a,回报计算部112求出的回报r对应于更新式的回报r。由此,价值函数更新部114通过使用了回报r的q学习来反复更新表示与当前状态的相对的机器人所具备的各电动机的移动速度的调整量的价值的函数q。

由回报计算部112求出的回报r例如在按着基于对机器人所具备的各电动机的移动速度的调整量进行决定之后决定的调整量进行了调整的各电动机的移动速度来进行机器人的控制时,在该机器人的动作状态的适当与否判定结果被判断为“适当”的情况下(例如在机器人的前端的移动速度与目标速度之间的差为可允许的范围内的情况下,在机器人的前端的位置与示教位置之间的差为可允许的范围内的情况下等)能够设为正(plus)的回报r,在该机器人的动作状态的适当与否判定结果被判断为“否”的情况下(例如在机器人的前端的移动速度与目标速度之间的差为可允许的范围外的情况下、在机器人的前端的位置与示教位置之间的差为可允许的范围外的情况下等)能够设为负(minus)的回报r。

在上述回报r的决定中,正负的回报r的绝对值可以相互相同也可以相互不同。另外,作为判断条件,可以将判定数据d内包含的多个值进行组合而判断。

另外,能够将机器人动作的适当与否判定结果设定为多个阶段而并非仅“适当”和“否”这两种。作为示例,能够设为以下结构:在机器人的前端的移动速度与目标速度之间的差的允许范围的最大值为gmax的情况下,在机器人的前端的移动速度与目标速度之间的差g为0≤g<gmax/5时赋予回报r=5,在gmax/5≤g<gmax/2时赋予回报r=2,在gmax/2≤g≤gmax时赋予回报r=1。并且,还能够设为以下结构:在学习的初期阶段将gmax设定为较大,随着学习进行而缩小gmax。

价值函数更新部114能够具有将状态变量s、判定数据d、回报r与用函数q表示的行为价值(例如数值)相关联起来进行整理的而成的行为价值表。在该情况下,价值函数更新部114更新函数q的这种行为与价值函数更新部114更新行为价值表的这种行为同义。在开始q学习时环境的当前状态与机器人所具备的各电动机的移动速度的调整量之间的相关性是未知的,因此在行为价值表中,以与非人为决定的行为价值的值(函数q)相关联的方式准备各种状态变量s、判定数据d、回报r。此外,如果已知判定数据d,则回报计算部112能够立即计算与判定数据d对应的回报r,并将计算出的值r写入于行为价值表中。

若使用与机器人的动作状态的适当与否判定结果相应的回报r来进行q学习,则将学习引向选择得到更高的回报r的行为的方向,根据将选择的行为作为在当前状态下执行的结果而变化的环境的状态(即状态变量s和判定数据d),与在当前状态下进行的行为有关的行为价值的值(函数q)被改写且对行为价值表进行更新。通过反复进行该更新,在行为价值表中显示的行为价值的值(函数q)被改写为适当的行为大小的值。这样,未知的环境的当前状态(机器人的前端的目标速度、机器人所具备的各电动机的移动速度以及机器人的前端最近的移动路径)和与该当前状态的相对的行为(机器人所具备的各电动机的移动速度的调整)之间的相关性逐渐变得清楚。即,通过更新行为价值表,机器人的前端的目标速度、机器人所具备的各电动机的移动速度以及机器人的前端的最近的移动路径和机器人所具备的各电动机的移动速度的调整量之间的关系逐渐接近最佳解。

参照图4进一步说明由学习部110执行的上述q学习的流程(即机器学习方法的一个方式)。

首先,在步骤sa01中,价值函数更新部114一边参照该时间点的行为价值表,一边非人为地选择机器人所具备的各电动机的移动速度的调整量作为状态观测部106观测的状态变量s所表示的当前状态下进行的行为。接着,价值函数更新部114在步骤sa02中取得状态观测部106观测的当前状态的状态变量s,在步骤sa03中取得判定数据获取部108获取的当前状态的判定数据d。接着,价值函数更新部114在步骤sa04中根据判定数据d判断机器人所具备的各电动机的移动速度的调整量是否为适当,在适当的情况下,在步骤sa05中,将由回报计算部112求出的正的回报r应用于函数q的更新式,接着,在步骤sa06中使用当前状态下的状态变量s和判定数据d、回报r、行为价值的值(更新后的函数q)来更新行为价值表。另一方面,在步骤sa04中判断为机器人所具备的各电动机的移动速度的调整量并不适当的情况下,在步骤sa07中将由回报计算部112求出的负的回报r应用于函数q的更新式,接着,在步骤sa06中使用当前状态下的状态变量s和判定数据d、回报r、行为价值的值(更新后的函数q)来更新行为价值表。学习部110通过反复进行步骤sa01~sa07来反复更新行为价值表,从而学习机器人所具备的各电动机的移动速度的调整量。此外,对判定数据d内包含的各数据执行从步骤sa04至步骤sa07为止的求出回报r的处理和价值函数的更新处理。

在进行上述强化学习时,例如能够使用神经网络代替q学习。图5a示意性地示出神经元的模型。图5b示意性地示出将图5a示出的神经元进行组合而构成的三层神经网络的模型。神经网络例如能够由模拟神经元的模型的运算装置、存储装置等构成。

图5a示出的神经元输出与多个输入x(在此,作为一例,输入x1~输入x3)相对的结果y。将各输入x1~x3乘以与该输入x对应的权值w(w1~w3)。由此,神经元输出由以下式(2)表现的结果y。此外,在式(2)中,输入x、结果y以及权值w全部为矢量。另外,θ为偏置,fk为激活函数。

在图5b示出的三层神经网络中,从左侧输入多个输入x(在此,作为一例,输入x1~输入x3),从右侧输出结果y(在此,作为一例,结果y1~结果y3)。在图示的示例中,输入x1、x2、x3被乘以与各自对应的权值(总称地用w1表示),分别被输入到三个神经元n11、n12、n13。

在图5b中,将神经元n11~n13的各输出总称地用z1表示。能够将z1视为提取了输入矢量的特征量的特征矢量。在图5b的示例中,特征矢量z1被乘以与各自对应的权值(总称地用w2表示),分别被输入到两个神经元n21、n22。特征矢量z1表示权值w1与权值w2之间的特征。

在图5b中,将神经元n21~n22的各输出总称地用z2表示。能够将z2视为提取了特征矢量z1的特征量的特征矢量。在图5b的示例中,乘以与特征矢量z2各自对应的权值(总称地用w3表示),各特征矢量z2均被输入到三个神经元n31、n32、n33。特征矢量z2表示权值w2与权值w3之间的特征。最后,神经元n31~n33分别输出结果y1~y3。

此外,还能够使用所谓深度学习的方法,该方法使用了形成三层以上的层的神经网络。

在控制装置1所具备的机器学习装置100中,将状态变量s和判定数据d作为输入x,学习部110进行遵照上述神经网络的多层结构的运算,由此能够输出机器人所具备的各电动机的移动速度的调整量(结果y)。另外,在控制装置1所具备的机器学习装置100中,将神经网络用作强化学习中的价值函数,将状态变量s和行为a作为输入x,学习部110进行遵照上述神经网络的多层结构的运算,由此也能够输出该状态下的该行为的价值(结果y)。此外,在神经网络的动作模式中,存在学习模式和价值预测模式,例如能够在学习模式下使用学习数据组对权值w进行学习,使用学习的权值w在价值预测模式下判断行为的价值。此外,在价值预测模式下,还能够进行检测、分类、推论等。

上述控制装置1的结构能够作为由处理器101执行的机器学习方法(或者软件)而进行记述。机器学习方法是对机器人所具备的各电动机的移动速度的调整量进行学习的机器学习方法,该机器学习方法具有以下步骤:

计算机的cpu将示教速度调整量数据s1、目标速度数据s2、移动速度数据s3以及移动路径数据s4作为表示对机器人进行控制的环境的当前状态的状态变量s进行观测的步骤;

获取表示遵循调整后的各电动机的移动速度的该机器人的动作状态的适当与否判定结果的判定数据d的步骤;以及

使用状态变量s和判定数据d,将目标速度数据s2、移动速度数据s3以及移动路径数据s4与机器人所具备的各电动机的移动速度的调整量相关联起来进行学习的步骤。

图6示出第二实施方式的控制装置2。

控制装置2具备机器学习装置120和状态数据获取部3,该状态数据获取部3将状态观测部106观测的状态变量s的示教速度调整量数据s1、目标速度数据s2、移动速度数据s3以及移动路径数据s4作为状态数据s0进行获取。状态数据获取部3根据控制装置2的各部分、机器人所具备的各种传感器、由操作员进行的适当的数据输入等,能够获取状态数据s0。

控制装置2所具有的机器学习装置120除了包括通过机器学习用于自行学习机器人所具备的各电动机的移动速度的调整量的软件(学习算法等)和硬件(处理器101等)以外,还包括用于将根据学习结果求出的机器人所具备的各电动机的移动速度的调整量作为向控制装置2的指令而输出的软件(运算算法等)和硬件(处理器101等)。控制装置2所包括的机器学习装置120还能够具有一个共用的处理器执行学习算法、运算算法等所有软件的结构。

决策部122例如能够构成为处理器101的一个功能。或者,决策部122例如能够构成为用于使处理器101发挥功能的rom102中存储的软件。决策部122根据学习部110学习的结果来生成指令值c,作为生成的指令值c而输出,其中,该指令值c包含决定与机器人的前端的目标速度、机器人所具备的各电动机的移动速度以及机器人的前端的最近的移动路径的相对的、机器人所具备的各电动机的移动速度的调整量的指令。在决策部122将指令值c输出到控制装置2的情况下,与此相应地,环境的状态发生变化。

状态观测部106在下一学习周期中观测在决策部122输出向环境的指令值c之后变化的状态变量s。学习部110使用变化的该状态变量s例如对价值函数q(即行为价值表)进行更新,由此对机器人所具备的各电动机的移动速度的调整量进行学习。此外,此时,状态观测部106也可以如在第一实施方式中说明那样从机器学习装置120的ram103获取示教速度调整量数据s1,而并非从状态数据获取部3获取的状态数据s0获取。

决策部122将指令根据学习结果求出的机器人所具备的各电动机的移动速度的调整的指令值c输出到控制装置2。通过反复进行该学习周期,机器学习装置120对机器人所具备的各电动机的移动速度的调整量进行学习,使自己决定的机器人所具备的各电动机的移动速度的调整量的可靠性逐渐提高。

具有上述结构的控制装置2所具备的机器学习装置120实现与上述机器学习装置100相等的效果。特别是,机器学习装置120能够通过决策部122的输出使环境的状态变化。另一方面,在机器学习装置100中,能够使外部装置求出相当于用于使学习部110的学习结果反映于环境的决策部的功能。

图7示出具备机器人160的一个实施方式的系统170。

系统170至少具备进行相同作业的多个机器人160、160’以及使这些机器人160、160’相互进行连接的有线/无线的网络172,多个机器人160中至少一个构成为具备上述控制装置2的机器人160。另外,系统170能够包括不具备控制装置2的机器人160’。机器人160、160’具有相同目的的作业所需的机构。

在具有上述结构的系统170中,多个机器人160、160’中具备控制装置2的机器人160使用学习部110的学习结果,能够不基于运算、估算而自动地且正确地求出与机器人的前端的目标速度、机器人所具备的各电动机的移动速度以及机器人的前端的最近的移动路径相对的、机器人所具备的各电动机的移动速度的调整量。另外,能够具有构成为至少一个机器人160的控制装置2根据其它多个机器人160、160’分别得到的状态变量s和判定数据d,对所有机器人160、160’中共用的的机器人所具备的各电动机的移动速度的调整量进行学习,所有机器人160、160’共享该学习结果。因而,根据系统170,将更多种数据集合(包含状态变量s和判定数据d)作为输入,能够提高机器人所具备的各电动机的移动速度的调整量的学习的速度、可靠性。

图8示出具备机器人160’的其它实施方式的系统170’。

该系统170’具备机器学习装置120(或者100)、具有相同机械结构的多个机器人160’、使这些机器人160’与机器学习装置120(或者100)相互进行连接的有线/无线的网络172。

在具有上述结构的系统170’中,机器学习装置120(或者100)根据多个机器人160’分别得到的状态变量s和判定数据d,对与所有机器人160’中共用的机器人的前端的目标速度、机器人所具备的各电动机的移动速度以及机器人的前端的最近的移动路径相对的、机器人所具备的各电动机的移动速度的调整量进行学习,使用其学习结果,不基于运算、估算而能够自动地且正确地求出与机器人的前端的目标速度、机器人所具备的各电动机的移动速度以及机器人的前端的最近的移动路径相对的、机器人所具备的各电动机的移动速度的调整量。

系统170’能够具有机器学习装置120(或者100)存在于在网络172中准备的云服务器等的结构。根据该结构,与多个机器人160’分别存在的位置、时期无关地,需要时能够将所需数量的机器人160’与机器学习装置120(或者100)进行连接。

从事于系统170、170’的操作员在机器学习装置120(或者100)的学习开始后的适当时期,能够执行机器学习装置120(或者100)对机器人所具备的各电动机的移动速度的调整量进行学习的到达程度(即机器人所具备的各电动机的移动速度的调整量的可靠性)是否达到要求水平的判断。

以上,说明了本发明的实施方式,但是本发明并不仅限于上述实施方式的示例,通过施加适当的变更能够以各种方式来实施。

例如,由机器学习装置100、120执行的学习算法、由机器学习装置120执行的运算算法、由控制装置1、2执行的控制算法等并不限定于上述算法,能够采用各种算法。

另外,在上述实施方式中,说明了控制装置1(或者2)和机器学习装置100(或者120)为具有不同的cpu的装置,但是机器学习装置100(或者120)也可以根据控制装置1(或者2)所具备的cpu11以及存储于rom12的系统程序来实现。

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