机械学习器、电动机控制装置以及机械学习方法转让专利

申请号 : CN201710600373.6

文献号 : CN107645257B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 明石广大植松秀俊

申请人 : 发那科株式会社

摘要 :

本发明提供机械学习器、电动机控制装置以及机械学习方法。机械学习器(2)学习电动机(11)的电流指令,具有:状态观测部(21),其对状态变量进行观测,该状态变量包含所述电动机(11)的电动机转矩、电动机电流和电动机电压中的至少一个、以及所述电动机(11)的电动机转速或者电动机转矩指令;学习部(22),其根据由所述状态观测部(21)观测到的所述状态变量,学习所述电动机(11)的电流指令。

权利要求 :

1.一种学习电动机的电流指令的机械学习器,其特征在于,所述机械学习器具有:状态观测部,其对状态变量进行观测,该状态变量包含所述电动机的电动机转矩、电动机电流和电动机电压中的至少一个、以及所述电动机的电动机转速或者电动机转矩指令;

学习部,其根据由所述状态观测部观测到的所述状态变量,学习所述电动机的电流指令,所述学习部具有:

回报计算部,其根据所述状态观测部的输出来计算回报;以及价值函数更新部,其根据所述状态观测部的输出以及所述回报计算部的输出,来更新与所述电动机的电流指令相关联的价值函数。

2.根据权利要求1所述的机械学习器,其特征在于,在所述电动机的各电动机转速或者电动机转矩指令中,若所述电动机转矩增加,则所述回报计算部增加回报,若所述电动机电流超过规定值,则所述回报计算部减少回报,若所述电动机电压饱和,则所述回报计算部减少回报。

3.一种学习电动机的电流指令的机械学习器,其特征在于,所述机械学习器具有:状态观测部,其对状态变量进行观测,该状态变量包含所述电动机的电动机转矩、电动机电流和电动机电压中的至少一个、以及所述电动机的电动机转速或者电动机转矩指令;

学习部,其根据由所述状态观测部观测到的所述状态变量,学习所述电动机的电流指令,所述学习部具有:

误差计算部,其根据所述状态观测部的输出以及教师数据来计算误差;以及误差模型更新部,其根据所述状态观测部以及所述误差计算部的输出,来更新与所述电动机的电流指令相关联的误差模型。

4.根据权利要求1~3中任一项所述的机械学习器,其特征在于,所述机械学习器还具有:意图决定部,其根据所述学习部的输出,决定所述电动机的电流指令。

5.根据权利要求1~3中任一项所述的机械学习器,其特征在于,所述电动机是三相交流同步电动机,

所述三相交流同步电动机的电流指令包含电正交以及磁正交的d轴电流指令以及q轴电流指令。

6.根据权利要求5所述的机械学习器,其特征在于,所述d轴电流指令以及所述q轴电流指令的学习,学习为所述三相交流同步电动机的转子相位角。

7.根据权利要求1~3中任一项所述的机械学习器,其特征在于,所述机械学习器具有神经网络。

8.根据权利要求1~3中任一项所述的机械学习器,其特征在于,由所述机械学习器学习到的所述电动机的电流指令经由通信介质在多个机械学习器彼此之间共享数据或者交换数据。

9.根据权利要求1~3中任一项所述的机械学习器,其特征在于,所述机械学习器存在于云端服务器上。

10.一种电动机控制装置,其特征在于,具有:如权利要求1~8中任一项所述的机械学习器;

电动机驱动部,其对所述电动机进行驱动控制;以及电动机控制部,其根据由所述机械学习器学习到的所述电动机的电流指令,经由所述电动机驱动部来控制所述电动机的电流指令。

11.根据权利要求10所述的电动机控制装置,其特征在于,所述状态观测部对状态变量进行观测,其中,所述状态变量包含所述电动机的所述电动机转速或者电动机转矩指令、所述电动机电流以及所述电动机电压,根据观测到的所述电动机电流以及所述电动机电压来计算所述电动机转矩。

12.一种学习电动机的电流指令的机械学习方法,其特征在于,对状态变量进行观测,该状态变量包含所述电动机的电动机转矩、电动机电流和电动机电压中的至少一个、以及所述电动机的电动机转速或者电动机转矩指令,根据观测到的所述状态变量,学习所述电动机的电流指令,所述电动机的电流指令的学习包含:

根据观测到的所述状态变量来计算回报,根据观测到的所述状态变量以及计算出的所述回报,来更新与所述电动机的电流指令相关联的价值函数。

13.根据权利要求12所述的机械学习方法,其特征在于,在各电动机转速或者电动机转矩指令中,若所述电动机转矩增加,则所述回报的计算中增加回报,若所述电动机电流超过规定值,则所述回报的计算中减少回报,若所述电动机电压饱和,则所述回报的计算中减少回报。

14.一种学习电动机的电流指令的机械学习方法,其特征在于,对状态变量进行观测,该状态变量包含所述电动机的电动机转矩、电动机电流和电动机电压中的至少一个、以及所述电动机的电动机转速或者电动机转矩指令,根据观测到的所述状态变量,学习所述电动机的电流指令,所述电动机的电流指令的学习包含:

根据观测到的所述状态变量以及教师数据来计算误差,根据观测到的所述状态变量以及计算出的所述误差,来更新与所述电动机的电流指令相关联的误差模型。

说明书 :

机械学习器、电动机控制装置以及机械学习方法

技术领域

[0001] 本发明涉及学习电动机的电流指令的机械学习器、电动机控制装置以及机械学习方法。

背景技术

[0002] 以往,在机床、锻压机械、注射成形机、工业机械、或者工业用以及服务用机器人等中搭载有电动机(motor),并使用了对这样的电动机进行控制的电动机控制装置。此外,作为电动机(伺服电动机)例如广泛利用了使用dq三相坐标变换的三相交流的永久磁石同步电动机(PMSM:Permanent Magnet Synchronous Motor)。
[0003] 图8A以及图8B是用于对一般电动机特性进行说明的图,图8A表示电动机的转矩与转速的关系,图8B表示电动机的d轴电流(-Id)与q轴电流(Iq)的关系。如图8A的特性曲线CL1、CL2、CL3所示,例如在将电动机的转矩设定为分别不同大小的tq1、tq2、tq3时,在稳定区域Ra中,维持所设定的转矩tq1、tq2、tq3同时增加转速。此时,电动机的-Id以及Iq的关系固定为图8B中的参照符号P1、P2、P3的点。
[0004] 此外,如图8A的特性曲线CL1、CL2、CL3所示,在从稳定区域Ra进一步增加电动机的转速而为区域Rb时,电动机的转矩分别从tq1、tq2、tq3降低。此时,电动机的-Id以及Iq的关系变换成图8B的特性曲线CI1、CI2、CI3。因此,电动机(伺服电动机)根据其特性决定电流控制参数,花费较多的工时,并且由于电动机电感的转速或电流值的变化、或者磁饱和等影响,难以决定最佳的参数。
[0005] 以往提出了如下的同步电动机的控制装置(例如,参照日本特开2015-089236号公报):即使决定同步电动机(synchronous motor)的温度、转矩以及电压的要因发生变化,通过获得适当的d轴电流的动作指令,可以灵敏地进行转矩响应。该同步电动机的控制装置具有:弱磁通控制部,其输出用于实现基于弱磁通控制的高旋转化的、针对速度以及电压的d轴电流指令值1;以及最大转矩控制部,其输出用于产生最大转矩的相对于q轴电流指令值的d轴电流指令值2。并且,设置弱磁通校正部与转矩校正部,所述弱磁通校正部将d轴电流指令值1与2合成作为最终的d轴电流控制部的d轴电流指令值,对弱磁通控制部的输入信号和输出信号中的至少一个进行校正,所述转矩校正部对最大转矩控制部的输入信号进行校正。
[0006] 如上所述,以往提出了如下电动机控制装置:即使决定电动机的温度、转矩以及电压的要因发生变化,通过获得适当的电动机的电流指令,能够灵敏地进行转矩响应。
[0007] 但是,为了根据电动机的特性决定电流控制,要参数花费较多的工时,例如,由于电动机的电感因电动机的转速或电流值的变化或磁饱和等影响,难以决定最佳的参数。

发明内容

[0008] 本发明鉴于上述的现有技术的问题,其目的在于提供一种机械学习器、电动机控制装置以及机械学习方法,可以学习适合于各电动机的电动机电流指令。
[0009] 根据本发明涉及的第一实施方式,提供一种学习电动机的电流指令的机械学习器,所述机械学习器具有:状态观测部,其对状态变量进行观测,该状态变量包含所述电动机的电动机转矩、电动机电流和电动机电压中的至少一个、以及所述电动机的电动机转速或者电动机转矩指令;和学习部,其根据由所述状态观测部观测到的所述状态变量,学习所述电动机的电流指令。
[0010] 可以是,所述机械学习器还具有:意图决定部,其根据所述学习部的输出,决定所述电动机的电流指令。可以是,所述电动机是三相交流同步电动机,所述三相交流同步电动机的电流指令包含电正交以及磁正交的d轴电流指令以及q轴电流指令。可以是,所述d轴电流指令以及所述q轴电流指令的学习,学习为所述三相交流同步电动机的转子相位角。
[0011] 可以是,所述学习部具有:回报计算部,其根据所述状态观测部的输出来计算回报;以及价值函数更新部,其根据所述状态观测部的输出以及所述回报计算部的输出,来更新与所述电动机的电流指令相关联的价值函数。可以是,在所述电动机的各电动机转速或者电动机转矩指令中,若所述电动机转矩增加,则所述回报计算部增加回报,若所述电动机电流超过规定值,则所述回报计算部减少回报,若所述电动机电压饱和,则所述回报计算部减少回报。
[0012] 可以是,所述学习部具有:误差计算部,其根据所述状态观测部的输出以及教师数据来计算误差;以及误差模型更新部,其根据所述状态观测部以及所述误差计算部的输出,来更新与所述电动机的电流指令相关联的误差模型。可以是,所述机械学习器具有神经网络。可以是,由所述机械学习器学习到的所述电动机的电流指令经由通信介质在多个机械学习器彼此之间共享数据或者交换数据。可以是,所述机械学习器存在于云端服务器上。
[0013] 根据本发明涉及的第二实施方式,提供一种电动机控制装置,具有:如上述第一实施方式所述的机械学习器;电动机驱动部,其对所述电动机进行驱动控制;以及电动机控制部,其根据由所述机械学习器学习到的所述电动机的电流指令,经由所述电动机驱动部来控制所述电动机的电流指令。可以是,所述状态观测部对状态变量进行观测,其中,所述状态变量包含所述电动机的所述电动机转速或者电动机转矩指令、所述电动机电流以及所述电动机电压,根据观测到的所述电动机电流以及所述电动机电压来计算所述电动机转矩。
[0014] 根据本发明涉及的第三实施方式,提供一种学习电动机的电流指令的机械学习方法,对状态变量进行观测,该状态变量包含所述电动机的电动机转矩、电动机电流和电动机电压中的至少一个、以及所述电动机的电动机转速或者电动机转矩指令,根据观测到的所述状态变量,学习所述电动机的电流指令。可以是,所述电动机的电流指令的学习包含:根据观测到的所述状态变量来计算回报,根据观测到的所述状态变量以及观测到的所述回报,来更新与所述电动机的电流指令相关联的价值函数。可以是,在各电动机转速或者电动机转矩指令中,若所述电动机转矩增加,则所述回报的计算中增加回报,若所述电动机电流超过规定值,则所述回报的计算中减少回报,若所述电动机电压饱和,则所述回报的计算中减少回报。

附图说明

[0015] 通过参照以下附图,可以进一步理解本发明。
[0016] 图1是概略性地表示本发明涉及的电动机控制装置的一实施方式的框图,[0017] 图2是表示使用dq三相坐标变换对三相交流的电动机进行控制的电动机控制装置的一例的框图,
[0018] 图3是示意性地表示神经元模型的图,
[0019] 图4是示意性地表示将图3所示的神经元组合而构成三层神经网络的图,[0020] 图5A以及图5B是用于对本发明涉及的电动机控制装置中的电动机的电流控制进行说明的图,
[0021] 图6是用于对图1所示的机械学习器中的处理的一例进行说明的流程图,[0022] 图7是概略性地表示本发明涉及的电动机控制装置的其他实施方式的框图,[0023] 图8A以及图8B是用于对一般电动机的特性进行说明的图。

具体实施方式

[0024] 以下,参照附图对本发明涉及的机械学习器、电动机控制装置以及机械学习方法的实施方式进行详细描述。图1是概略性地表示本发明涉及的电动机控制装置的一实施方式的框图。
[0025] 如图1所示,本实施方式的电动机控制装置用于控制电动机11,电动机控制部12包含电动机驱动部3以及机械学习器2。这里,作为电动机11是用于机床、锻压机械、注射成形机、工业机械、或者工业用以及服务用机器人等的电动机(motor)。另外,电动机控制部12、电动机驱动部3以及机械学习器2可以作为电动机控制装置而一体化,也可以分别独立地设置。
[0026] 如图1所示,机械学习器2例如学习设定给电动机控制部12的电动机的电流指令,包含:状态观测部21、学习部22、以及意图决定部25。电动机控制部12经由电动机驱动部3来控制电动机11。
[0027] 状态观测部21对电动机11(电动机驱动部3)的状态进行观测,学习部22根据由状态观测部21观测到的状态变量(状态量),学习电动机11的电流指令。这里,作为状态观测部21观测的状态变量,例如包含电动机11的电动机转矩、电动机电流和电动机电压中的至少一个、以及电动机11的电动机转速(或者电动机转矩指令)。
[0028] 这里,状态观测部21观测的电动机11的电动机转速(或者电动机转矩指令)、电动机11的电动机转矩、电动机电流以及电动机电压等状态变量例如从设置于电动机控制部12、电动机驱动部3或者电动机11的传感器(未图示)等输入到状态观测部21。并且,电动机
11例如可以应用PMSM(使用dq三相坐标变换的三相交流的永久磁石同步电动机)这样的三相交流同步电动机,此外,由学习部22学习的电动机11的电流指令例如也可以包含电正交以及磁正交的d轴电流指令id*以及q轴电流指令iq*。
[0029] 学习部22包含:回报计算部23,其根据状态观测部21的输出计算回报;价值函数更新部24,其根据状态观测部21的输出以及回报计算部23的输出,更新与电动机11的电流指令关联的价值函数。即,回报计算部23根据由状态观测部21观测到的状态变量计算回报,价值函数更新部24根据由回报计算部23计算出的回报来更新根据当前的状态变量求出的电动机11的电流指令的价值函数。
[0030] 回报计算部23例如在电动机11中的各电动机转速(或者电动机转矩指令)中进行如下回报的计算:若电动机转矩增加则增加回报,若电动机电流超过规定值则减少回报,若电动机电压饱和则减少回报。另外,关于回报计算部23进行的回报计算(增加回报(设定正回报)、或者减少回报(设定负回报))将在后面进行详细描述。意图决定部25根据学习部22的输出决定电动机11的电流指令。即,意图决定部25决定学习部22学习到的电动机11的电流指令(操作量)并输出给电动机控制部12,电动机控制部12根据由机械学习器2学习到的电动机11的电流指令,经由电动机驱动部3来控制电动机11的电流指令。
[0031] 图2是表示使用dq三相坐标变换对三相交流的电动机进行控制的电动机控制装置的一例的框图,用于对控制PMSM的电动机控制装置的一例进行说明。这里,在dq坐标控制系中,例如在将转子磁极的方向设定为d轴、将与d轴电正交以及磁正交的轴设为q轴时,d轴电流表示用于产生磁通的励磁电流成分,q轴电流表示与负载的转矩对应的电机子电流成分。
[0032] 在图2中,参照符号iq*表示q轴的电动机电流指令(q轴电流指令),id*表示d轴的电动机电流指令(d轴电流指令),Vq表示q轴的电动机电压(q轴电动机电压),Vd表示d轴的电动机电压(d轴电动机电压),Lq表示q轴的电感(q轴电感),并且,Ld表示d轴的电感(d轴电感)。并且,参照符号Ψa表示转子磁链(rotor magnetic flux linkage),Kt表示转矩系数,T表示电动机转矩,J表示惯性力矩(moment of inertia),ω点(dot)表示角加速度,ω表示角速度,并且,ω[rad/sec]×(60/2π)表示电动机转速[min-1]。
[0033] 电动机控制装置100根据输入的d轴电流指令id*以及q轴电流指令iq*输出用于驱动电动机(11)的驱动电力。由此,在电动机中施加d轴电压Vd以及q轴电压Vq,使得流过d轴电流id以及q轴电流iq。此时,在电动机的d轴电压Vd、电动机的q轴电压Vq、电动机的d轴电流id以及电动机的q轴电流iq之间,以如下数学式[1]表现的电压方程式成立。
[0034]
[0035] 此外,通过以下的数学式[2]计算出d轴电流id与q轴电流iq的向量和即电动机电流ia。
[0036]
[0037] 并且,在将电动机的极对数设为Pn时,可以通过以如下数学式[3]表现的转矩方程式计算出电动机的转矩T。
[0038] T=PnΨaiq+Pn(Lq-Ld)idiq…〔3〕
[0039] 这里,在以往的技术中,例如对电动机(11)的转子磁链Ψa、q轴电感Lq以及d轴电感Ld进行检查,根据电动机转速和电动机转矩的指令(电动机转矩指令)计算角速度ω和q轴电流iq,在受限的电压与电流限制中将使转矩最大化的id计算为ω与iq的函数。另外,事先准备在该计算式中使用的参数。具体来说,例如已知有如下的数学式[4]。
[0040]
[0041] 在本实施方式中,根据电动机转速决定角速度ω,作为与电动机转矩指令成比例的值计算合计的电动机电流ia,由于ia是iq与id的向量和因此将从ia分割而生成的iq与id作为学习对象的变量输入到电动机,测定出电动机电流(iq、id)以及电动机电压(Vq、Vd)。
[0042] 然后,像以下那样在各电动机转速与各电动机转矩指令中,决定输入的iq与id的回报,根据其回报来变更电动机电流iq与id的指令值。
[0043] ·相对于iq与id的变化,电动机转矩越大为正
[0044] ·相对于iq与id的变化,电动机电压超过电压限制为负
[0045] 这里,各电动机转速表示分割成0~1min-1、1~2min-2的区间,各电动机转矩表示分割成0~1Nm、1~2Nm的区间。此外,iq与id的学习,设为iq=i a cosΦ、id=i a sinΦ,可以对Φ进行学习。即,三相交流同步电动机(PMSM)11的电流指令包含电正交以及磁正交的d轴电流指令id*以及q轴电流指令iq*,id*以及iq*的学习可以学习为三相交流同步电动机11的转子相位角Φ。
[0046] 机械学习器2(4)具有如下功能:通过解析而从输入到装置的数据集合中提取出其中有用的规则和知识表现、判断基准等,输出其判断结果,并且进行知识学习(机械学习)。该机械学习的方法是多种多样的,但是大致分类为例如“有教师学习”、“无教师学习”、以及“强化学习”。并且,在实现这些方法的基础上,存在对特征量本身的提取进行学习的、称为“深度学习(深层学习:Deep Learning)”的方法。
[0047] 另外,参照图1进行说明的机械学习器2应用了“强化学习”,此外,参照图7在后面进行叙述的机械学习器4应用了“有教师学习”。这些机械学习器(机械学习装置)2、4可以使用广泛使用的计算机或者处理器,但是例如在应用GPGPU(General-Purpose computing on Graphics Processing Units,通用计算图形处理单元)或大规模PC簇等时,能够进一步进行高速处理。
[0048] 首先,所谓有教师学习是通过将教师数据、即某种输入与结果(label)的数据组大量地给予到机械学习器(4),学习这些数据集(data set)中的特征,能够归纳性地获得从输入推定出结果的模型(误差模型),即其相关性。例如,上述学习能够使用后述的神经网络等算法来实现。
[0049] 此外,所谓无教师学习是如下技术:通过只将输入数据大量地给予到学习装置,学习输入数据进行怎样的分布,即使不给予对应的教师输出数据,也能学习针对输入数据进行压缩、分类、整形等的装置中进行学习的手法。例如,能够将处于这些数据集之中的特征聚类于相似者之间等。使用其结果来进行设定某个基准而使其为最佳化这样的输出分配,由此,能够实现预测输出。
[0050] 另外,作为无教师学习和有教师学习中间的问题设定而被称为半有教师学习,其例如对应于如下情况:仅存在一部分输入和输出的数据组,除此之外仅有输入数据。在本实施方式中,在无教师学习中能够利用即使实际上不使电动机动作也能够获得的数据(模拟数据)来高效地进行学习。
[0051] 接下来,对强化学习进行说明。首先,以如下方式来考虑强化学习的问题设定。
[0052] ·电动机(即,搭载于机床、锻压机械、注射成形机、工业机械、或者工业用以及服务用机器人等的电动机)观测环境的状态,决定行为。
[0053] ·环境按照某种规则进行变化,并且自身行为有时也对环境给予变化。
[0054] ·每次进行行为时反馈回来回报信号。
[0055] ·想要最大化的是到将来的(折扣)回报的总和。
[0056] ·从完全不知道行为引起的结果或者从只是不完全知道的状态起,开始学习。即,以电动机实际动作开始,能够将其结果获得为数据。也就是说,需要一边试错一边探索最佳的行为。
[0057] ·可以将像模仿人类动作这样事前学习(所述的称为有教师学习、逆强化学习这样的技术)了的状态设为初始状态,来从较好的开始点起开始学习。
[0058] 这里,所谓强化学习是用于如下学习的方法:不单进行判定和分类,还通过学习行为而在行为给予环境的相互作用基础上学习适当的行为,即,使将来获得的回报最大化。以下,作为示例,以Q学习的情况继续说明,但是并非局限于Q学习。
[0059] Q学习是在某种环境状态s下学习选择行为a的价值Q(s、a)的方法。也就是说,在某种状态s时,将价值Q(s、a)最高的行为a选择为最佳行为。但是,最开始对于状态s与行为a的组合来说,完全不知道价值Q(s、a)的正确值。因此,智能体(行为主体)在某种状态s下选择各种各样的行为a,并针对当时的行为a给予回报。由此,智能体继续学习更好的行为选择,即学习正确的价值Q(s、a)。
[0060] 并且,行为的结果是想要使到将来获得的回报的总和最大化,所以目标是最终成t为Q(s、a)=E[Σ(γ)rt]。这里,按最佳行为改变状态时得到期望值,由于不知道期望值,因此一边探索一边学习。这样的价值Q(s、a)的更新式例如可以通过如下数学式[5]来表示。
[0061]
[0062] 在上述的数学式[5]中,st表示时刻t的环境状态,at表示时刻t的行为。通过行为at,状态变化为st+1。rt+1表示通过该状态的变化而得到的回报。此外,带有max的项是:在状态st+1下,将γ乘以选择出当时知道的Q值最高的行为a时的Q值。这里,γ是0<γ≤1的参数,被称为折扣率。此外,α是学习系数,设α的范围为0<α≤1。
[0063] 上述的数学式[5]表示如下方法:根据试行at的结果而反馈回来的回报rt+1,更新状态st下的行为at的评价值Q(st、at)。即,表示了:若回报rt+1+行为a导致的下一状态下的最佳行为max a的评价值Q(st+1、max at+1)比状态s下的行为a的评价值Q(st、at)大,则增大Q(st、at),反之如果小,则减小Q(st、at)。也就是说,使某种状态下的某种行为价值,接近在作为结果即时反馈回来的回报和该行为导致的下一状态下的最佳的行为价值。
[0064] 这里,Q(s、a)在计算机上的表现方法有以下方法:针对所有的状态行为对(s、a),将其值保持为表格的方法、以及准备近似Q(s、a)这样的函数的方法。在后者的方法中,可以通过随机梯度下降法等方法来调整近似函数的参数来实现上述的数学式[5]。另外,作为近似函数,可以使用后述的神经网络。
[0065] 这里,作为强化学习中的价值函数的近似算法,可以使用神经网络。图3是示意性地表示神经元模型的图,图4是示意性地表示将图3所示的神经元组合而构成的三层神经网络的图。即,例如由模拟了图3所示那样的神经元模型的运算装置以及存储器等构成神经网络。
[0066] 如图3所示,神经元输出针对多个输入x(在图3中,作为一个示例输入x1~x3)的输出(结果)y。对各输入x(x1、x2、x3)乘以与该输入x对应的权值w(w1、w2、w3)。由此,神经元输出由如下数学式[6]表现的结果y。另外,输入x、结果y以及权值w都是向量。此外,在下述的数学式[6]中,θ是偏置(bias),fk是激活函数。
[0067]
[0068] 参照图4对组合了图3所示的神经元而构成的三层神经网络进行说明。如图4所示,从神经网络的左侧输入多个输入x(这里作为一例是输入x1~输入x3),从右侧输出结果y(这里作为一例,结果y1~结果y3)。具体来说,输入x1、x2、x3乘以对应的权值而被输入到三个神经元N11~N13的每一个。与这些输入相乘的权值统一标记为W1。
[0069] 神经元N11~N13分别输出z11~z13。在图4中,这些z11~z13可以被统一标记为特征向量Z1,看作是提取出输入向量的特征量而得的向量。该特征向量Z1是权值W1与权值W2间的特征向量。z11~z13乘以对应的权值而被输入到两个神经元N21以及N22的每一个。与这些特征向量相乘的权值被统一标记为W2。
[0070] 神经元N21、N22分别输出z21、z22。在图4中,这些z21、z22被统一标记为特征向量Z2。该特征向量Z2是权值W2与权值W3之间的特征向量。z21、z22乘以对应的权值而被输入到三个神经元N31~N33的每一个。与这些特征向量相乘的权值被统一标记为W3。
[0071] 最后,神经元N31~N33分别输出结果y1~结果y3。在神经网络的动作中有学习模式和价值预测模式。例如,在学习模式中使用学习数据集来学习权值W,在预测模式中使用其参数进行机器人的行为判断。另外,为了方便而写为预测,但是也可以是检测、分类、推论等多种多样的任务。
[0072] 这里,可以是在预测模式下对实际运行机器人而获得的数据进行即时学习,并反映到下一行为中(在线学习),也可以是使用预先收集好的数据组来进行汇总学习,以后一直用该参数进行检测模式(批量学习)。或者,每当积攒了其中间的某种程度数据时,就可以插入学习模式。
[0073] 此外,可以通过误差反传播法(误差反传播法:back propagation)来学习权值w1~w3。另外,误差信息从右侧进入流向左侧。误差反传播法是如下技术:针对各神经元调整(学习)各自的权值使得降低输入了输入x时的输出y与真的输出y(教师)之间的差量。这样的神经网络还可以在三层以上进一步增加层(称为深层学习)。此外,还可以阶段性地进行输入的特征提取,仅从教师数据自动地获得用于反馈结果的运算装置。
[0074] 因此,如上所述,本实施例的机械学习器2例如具有实施Q学习的所有的、状态观测部21、学习部22、以及意图决定部25。其中,本发明所应用的机械学习方法如上所述并非局限于Q学习。另外,机械学习(机械学习器2)例如如上所述,通过应用GPGPU或大规模PC簇等能够实现。
[0075] 图5A以及图5B是用于对本发明涉及的电动机控制装置中的电动机的电流控制进行说明的图,图5A是用于对状态变量(电动机转矩、电动机电流以及电动机电压)与回报的关系进行说明的图,图5B是表示所获得的回报RW的一例的图。
[0076] 如图5A所示,关于电动机转矩L1,若增加则设定正回报(增加回报),若减少则设定负回报(减少回报)。此外,关于电动机电流L2,如果超过电流极限值(规定值)I 1im则设定负回报,如果没有超过则设定正回报。并且,关于电动机电压L3,如果超过电压饱和值(规定值)V sat则设定负回报,如果没有超过则设定正回报。在将基于这些状态变量的回报汇总时,获得图5B那样的回报(回报曲线)RW。
[0077] 图6是用于对图1所示的机械学习器中的处理的一例进行说明的流程图。如图6所示,在机械学习开始(学习开始)时,在步骤ST1中,取得电动机的转速(电动机转矩指令),向步骤ST2前进,驱动电动机11。这里,关于步骤ST1中的电动机的转速的取得,例如可以从电动机控制部12直接受理。并且,向步骤ST3前进,判定电动机转矩(L1)是否增加。
[0078] 在步骤ST3中,在判定为电动机转矩没有增加(ST3:否)时,向步骤ST4前进而减少回报(设定负回报),反之,在判定为电动机转矩增加(ST3:是)时,向步骤ST5前进而增加回报(设定正回报),向步骤ST6前进。在步骤ST6中,判定电动机电流(L2)是否超过规定值(电流极限值I 1im)。
[0079] 在步骤ST6中,在判定为电动机电流超过规定值(ST6:是)时,向步骤ST7前进而减少回报,反之,在判定为电动机电流没有超过规定值(ST6:否)时,向步骤ST8前进而增加回报,向步骤ST9前进。在步骤ST9中,判定电动机电压(L3)是否饱和即电动机电压是否超过饱和电压(V sat)。
[0080] 在步骤ST9中,在判定为电动机电压饱和即电动机电压超过饱和电压(ST9:是)时,向步骤ST10前进而减少回报,反之,在判定为电动机电压没有饱和即电动机电压没有超过饱和电压(ST9:否)时,向步骤ST11前进而增加回报,向步骤ST12前进。在步骤ST12中,根据基于各步骤ST4、ST5、ST7、ST8、ST10以及ST11的回报来更新行为价值表,向步骤ST13前进。在步骤ST13中,根据更新后的行为价值表,决定电动机的电流指令,返回到步骤ST2,重复同样的处理。
[0081] 这里,步骤ST4、ST5、ST7、ST8、ST10以及ST11(ST3~ST11)例如相当于根据上述的状态观测部21的输出计算回报的回报计算部23的处理。此外,步骤ST12相当于根据所述的状态观测部21的输出以及回报计算部23的输出来更新与电动机11的电流指令相关联的价值函数的价值函数更新部24的处理。并且,步骤ST13相当于根据所述的价值函数更新部24(学习部22)的输出决定电动机11的电流指令的意图决定部25的处理。
[0082] 另外,在图6中,示出了如下情况:状态观测部21对包含电动机转矩、电动机电流以及电动机电压的全部在内的状态变量进行观测,但是也可以对包含它们中的至少一个在内的状态变量进行观测。即,根据本实施方式,状态观测部21对状态变量进行观测,该状态变量包含电动机转矩、电动机电流以及电动机电压中的至少一个、以及电动机11的电动机转速或者电动机转矩指令,回报计算部23根据状态观测部21的输出计算回报,价值函数更新部24根据状态观测部21的输出以及回报计算部23的输出,来更新与电动机11的电流指令相关联的价值函数。然后,意图决定部25根据价值函数更新部24的输出决定电动机11的电流指令。由此,能够学习适合于各电动机(电动机转速、电动机转矩指令)的电动机的电流指令。
[0083] 以上,例如可以针对电动机转矩指令(电动机的转矩指令),学习合计电流最小的电流控制(电动机的电流指令)。该情况下,控制环、计算式以及分割方法可以应用与上述相同的内容。此外,根据电动机转速决定角速度ω,作为与电动机转矩指令成比例的值,例如决定电动机电流iq。即,如所述的数学式[2]那样,可以认为电动机电流ia是d轴电流id与q轴电流iq的向量和,可以将作为学习对象的id作为变量输入给电动机,可以测定电动机电流(Iq、Id)以及电动机电压(Vq、Vd)。
[0084] 并且,在各电动机转速与各电动机转矩指令中,决定输入到电动机的id的回报,根据其回报来变更(更新)电动机电流(d轴电流)id的指令值。具体来说,例如,即使减少id也会产生与指令一样的转矩,且如果电压不超过电压限制(V sat)则设定正回报,任意一方没有达成则设定负回报。
[0085] 并且,还可以根据实际流过电动机的电流(电动机实际电流)计算电动机转矩,进行控制。即,可以测定电动机转速、电动机实际电流(Iq、Id)、实际施加到电动机的电动机实际电压(Vq、Vd),不进行电动机转矩的测定,而是假设电动机转矩与q轴电流Iq成比例,通过计算来求出电动机转矩。另外,也可以使用通过计算求出的电动机转矩,进行上述的最大转矩控制以及合计电流最小控制。
[0086] 图7是概略性地表示本发明涉及的电动机控制装置的其他实施方式的框图,表示应用了有教师学习。从图7与上述的图1的比较中可以明确,应用了图7所示的有教师学习的电动机控制装置在应用了图1所示的Q学习(强化学习)的电动机控制装置中,提供教师数据(带有结果(label)的数据)。
[0087] 如图7所示,应用了有教师学习的电动机控制装置中的机械学习器4具有:状态观测部41、学习部42、以及意图决定部45。学习部42包含误差计算部43、误差模型更新部44。另外,在本实施方式的机械学习器4中,状态观测部41对状态变量进行观测,该状态变量包含电动机11的电动机转矩、电动机电流以及电动机电压中的至少一个、以及电动机11的电动机转速或电动机转矩指令,学习部42根据由状态观测部41观测到的状态变量来学习电动机11的电流指令。
[0088] 如图7所示,学习部42包含误差计算部43以及误差模型更新部44,误差计算部43以及误差模型更新部44分别相当于应用了图1所示的Q学习的电动机控制装置中的回报计算部23以及价值函数更新部24。其中,从外部向本实施方式中的误差计算部43输入教师数据,使得其教师数据与误差模型的差异变小,在像这样通过误差模型更新部44来更新误差模型的结构等中,与参照图1所说明的情况不同。
[0089] 即,误差计算部43受理状态观测部41的输出以及教师数据,计算带有结果(label)的数据与实装于学习部42的误差模型输出之间的误差。这里,作为教师数据,例如可以在通过同一电动机控制装置利用相同的工业机械或机器人等进行相同作业时,保持实际进行作业的规定日的前一日之前所获得的带有结果的数据,在该规定日作为教师数据提供给误差计算部43。
[0090] 或者,也可以将在电动机控制装置(工业机械或机器人等)外部进行的模拟等而获得的数据、或者其他电动机控制装置的带有结果的数据作为教师数据通过存储卡或通信电路提供给该电动机控制装置的误差计算部43。并且,也可以将教师数据(带有结果的数据)保持于例如在学习部42内置的闪存(Flash Memory)等非易失性存储器中,也可以直接通过学习部42来使用保持于该非易失性存储器的带有结果的数据。
[0091] 以上,考虑了具有多个电动机控制装置的电动机控制系统的情况,例如,机械学习器2(4)分别设置于每一个电动机控制装置,设置于多个电动机控制装置的多个机械学习器2(4)可以经由通信介质彼此共享数据或者交换数据。此外,机械学习器2(4)也可以存在于云端服务器上。
[0092] 这样,作为本发明涉及的机械学习器不仅应用“强化学习”,还可以应用“有教师学习”、或者、“无教师学习”或“半有教师学习”等各种机械学习的方法。
[0093] 根据本发明涉及的机械学习器、电动机控制装置以及机械学习方法,获得可以学习适合于各电动机的电动机电流指令的有益效果。
[0094] 以上,对实施方式进行了说明,但是这里所记载的所有示例和条件以帮助应用于发明以及技术的发明概念的理解的目的而被记载,特别是所记载的示例和条件并非用于限制发明范围。此外,说明书的记载也并非表示发明的优点以及缺点。虽然详细记载了发明的实施方式,但是应当理解在不脱离发明精神以及范围的情况下可以进行各种变更、置换、变形。