机械学习装置及方法以及电动机控制装置与流程

文档序号:12597506阅读:153来源:国知局
机械学习装置及方法以及电动机控制装置与流程

本发明涉及一种学习与针对用于电动机控制的位置指令、速度指令以及电流指令中的某一个指令的修正量相关联的条件的机械学习装置及方法以及具备该机械学习装置的电动机控制装置。



背景技术:

机床等机械的进给轴的进给顺滑性,能够根据针对电动机转子的位置指令与由用于使进给轴动作的电动机和其附带的各种仪器组成的进给机构部的实际位置之间的误差即误差量来定量掌握,例如机械的进给轴的进给顺滑性越恶化,误差量就越大。在此,在进给机构部的实际位置中,包含在应用全闭环控制时通过外部传感器(线位移传感器)取得的加工部的实际位置、以及在应用半闭环控制时通过设置在电动机上的脉冲编码器取得的转子的实际位置。

机械的进给轴的进给顺滑性恶化的主要原因有多种。例如,具有在转子中产生的齿槽转矩或电动机的转子旋转方向的差异这样的电动机引起的原因、在电动机的控制中使用的动作程序或转矩指令的大小这样的电动机控制装置引起的原因等。又或者,将电动机作为驱动源的机床中的工件加工条件、机床在加工时的切削负荷的大小、机床的温度、在具有多个驱动轴的机床中由各驱动轴动作所产生的振动等,也是机械的进给轴的进给顺滑性恶化的主要原因。

例如,因为针对电动机的电角的每转一周,产生一次转矩脉动,所以由转矩脉动引起的进给的顺滑性恶化具有周期性。

以往,对于由转矩脉动引起的具有周期性的进给的顺滑性恶化,通过对转矩脉动预先补偿反相位的修正量来降低。图11说明基于与转矩脉动对应的反相位的修正量的补偿。在图11中,通过实线来表示在转子中产生的转矩脉动,通过虚线来表示转矩脉动修正量,通过点划线来表示基于与转矩脉动对应的转矩脉动修正量的补偿后波形。对于转子中产生的转矩脉动,能够通过将反相位的转矩脉动修正量预先与转矩指令重叠来消除转矩脉动,并能够由此减少进给的顺滑性恶化。

另外,例如日本特开平7-284286号公报中记载的那样,为了减少由转矩脉动产生的进给的顺滑性恶化,在具备速度环修正器的速度环中,通过补偿转矩变化相当量来修正转矩命令。

如上所述,因为由转矩脉动引起的进给的顺滑性恶化具有周期性,所以容易生成用于减少进给的顺滑性恶化的、相对于转矩脉动为反相位的修正量。然而,以电动机为驱动源的机床中的工件加工条件、该机床加工时的切削负荷的大小、机床的温度、在具有多个驱动轴的机床中由各驱动轴动作所产生的振动等引起的进给的顺滑性恶化虽然具有某种程度的再现性,但是没有周期性。图12举例说明没有周期性的误差量。对于没有周期性的误差量,无法像由转矩脉动引起的误差量那样通过反相位的修正量进行修正。



技术实现要素:

鉴于上述问题,本发明的目的在于提供一种能够容易地将针对电动机的转子位置指令与进给机构部的实际位置之间的误差即误差量进行最小化的机械学习装置及方法、以及具备该机械学习装置的电动机控制装置。

为了实现上述目的,一种学习与针对电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令的修正量相关联的条件的机械学习装置,其具备:状态观测部,其观测由针对通过电动机控制装置驱动控制的电动机的转子的位置指令与进给机构部的实际位置之间的误差即误差量相关的数据、电动机控制装置的动作程序、电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令、具有电动机控制装置的机床中的工件加工条件相关的数据、具有电动机控制装置的机床的状态相关的数据中的至少一个构成的状态变量;学习部,其根据由状态变量构成的训练数据集,学习与用于修正电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令的修正量相关联的条件。

在这里,机床的状态也可以包含机床的温度、机床的振动中的至少一个。

另外,学习部也可以具备:回报计算部,其基于误差量来计算回报;函数更新部,其基于状态变量以及回报来更新用于计算修正量的函数。

另外,回报计算部也可以在误差量比在当前的误差量之前由状态观测部观测到的误差量小时增加回报,在误差量比在当前的误差量之前由状态观测部观测到的误差量大时减少回报。

另外,回报计算部也可以在误差量为规定范围内时增加回报,在误差量为规定范围外时减少回报。

另外,函数更新部也可以基于状态变量以及回报,按照神经网络模型来更新用于计算修正量的函数。

另外,学习部也可以具备:误差计算部,其基于误差量来计算误差;学习模型更新部,其基于状态变量以及误差来更新用于计算修正量的学习模型。

另外,学习部也可以构成为根据针对多个电动机控制装置取得的训练数据集来学习上述条件。

另外,具备了上述的机械学习装置的电动控制装置进一步具备:意图决定部,其基于学习部根据训练数据集学习而得的结果,对当前的状态变量的输入进行应答来决定修正量;修正部,其使用意图决定部所决定的修正量来修正电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令;电动机电力供给部,其基于通过修正部修正后的指令,向电动机供给驱动电力;位置检测部,其检测进给机构部的实际位置;误差量测定部,其测定针对转子的位置指令与实际位置之间的误差即误差量。

另外,学习与针对电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令的修正量相关联的条件的机械学习方法,具备如下步骤:状态观测步骤,观测由针对通过电动机控制装置驱动控制的电动机的转子的位置指令与进给机构部的实际位置之间的误差即误差量相关的数据、电动机控制装置的动作程序、电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令、具有电动机控制装置的机床中的工件加工条件相关的数据、具有电动机控制装置的机床的状态相关的数据中的至少一个构成的状态变量;学习步骤,根据由状态变量构成的训练数据集,学习与用于修正电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令的修正量相关联的条件。

附图说明

通过参照以下的附图,能够更加明确地理解本发明。

图1是实施例的机械学习装置的原理框图。

图2是简要表示电动机控制装置内的驱动指令生成部的结构的框图。

图3是表示实施例的机械学习方法的动作流程的流程图。

图4是实施例的应用了强化学习的机械学习装置的原理框图。

图5是表示实施例的应用了强化学习的机械学习方法的动作流程的流程图。

图6是表示实施例的具备应用了强化学习的机械学习装置的电动机控制装置的原理框图。

图7是表示实施例的具备应用了强化学习的机械学习装置的电动机控制装置的动作流程的流程图。

图8是表示神经元的模型的示意图。

图9是表示具有D1~D3的三层权值的神经网络的示意图。

图10是表示实施例的具备应用了有教师学习的机械学习装置的电动机控制装置的原理框图。

图11说明基于与转矩脉动对应对的反相位的修正量的补偿。

图12举例说明无周期性的误差量。

具体实施方式

以下,参照附图对将机械的进给轴的进给顺滑性最佳化的机械学习装置及方法以及具备该机械学习装置的电动机控制装置进行说明。然而,本发明希望被理解为并不限定于附图或以下所说明的实施方式。

图1是实施例的机械学习装置的原理框图。以下,在不同的附图中赋予了相同参照符号的内容意味着是具有相同功能的结构要素。

实施例的机械学习装置1构成为学习针对电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令的修正量。

机械学习装置1具备状态观测部11和学习部12。

状态观测部11观测由针对电动机控制装置驱动控制的电动机的转子的位置指令与进给机构部的实际位置之间的误差即误差量相关的数据、电动机控制装置的动作程序、电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令、具有电动机控制装置的机床中的工件加工条件相关的数据、具有电动机控制装置的机床的状态相关的数据中的至少一个构成的状态变量。在这里,进给机构部由用于使进给轴动作的电动机和其附带的各种仪表组成。在进给机构部的实际位置中,包含在应用全闭环控制时通过外部传感器(线位移传感器)取得的加工部的实际位置、以及在应用半闭环控制时通过设置在电动机上的脉冲编码器取得的转子的实际位置。

与通过状态观测部11作为状态变量而观测的转子的位置指令和进给机构部的误差即误差量相关的数据,作为存储在电动机控制装置中的动作程序的内部数据进行利用,从电动机控制装置取得。从电动机控制装置还取得电动机控制装置的动作程序、以及电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令。另外,从机床取得具有电动机控制装置的机床中的工件加工条件相关的数据、具有电动机控制装置的机床的状态相关的数据。在这里,机床的状态包含机床的温度、机床的振动中的至少一个。从设置在机床内的任意位置的温度传感器取得机床的温度相关的数据。从设置在机床内的任意位置的振动传感器取得机床的振动相关的数据。

学习部12根据由状态变量构成的训练数据集来学习与用于修正电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令的修正量相关联的条件。此外,也可以在多个电动机控制装置的情况下取得训练数据集,此时,学习部12根据针对多个电动机控制装置生成的训练数据集来学习将误差量最小化的修正量。此外,学习部12也可以基于与具备该学习部12的机械学习装置1不同的机械学习装置内的学习部学习的结果,来学习用于修正电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令的修正量。

在这里,参照图2来说明电动机控制装置中的位置指令、速度指令以及电流指令。图2是简要表示电动机控制装置内的驱动指令生成部的结构的框图。

驱动指令生成部50由位置控制环、速度控制环以及电流控制环构成,所述驱动指令生成部50生成控制逆变换器的驱动指令,所述逆变换器供给用于驱动作为机床的驱动源使用的交流电动机的驱动电力。在位置控制环中,基于安装在三相交流电动机300上的位置检测部16检测出的三相交流电动机300的转子实际位置相关的信息(位置反馈值)和位置指令制作部(未图示)制作的位置指令,通过速度指令生成部213制作速度指令。在速度控制环中,基于安装在三相交流电动机300上的速度检测部18检测出的三相交流电动机300的转子速度相关的信息(速度反馈值)和速度指令生成部213制作的速度指令,通过电流指令生成部212制作电流指令。在电流控制环中,基于电流检测部19检测出的从电动机电力供给部15内的逆变换器向三相交流电动机300流入的电流相关的信息(电流反馈值)和电流指令生成部212制作的电流指令值,使用电流控制部211来制作用于控制电动机电力供给部15内的逆变换器的电力转换动作的驱动指令(例如PWM控制信号)。电动机电力供给部15内的逆变换器例如是通过设置在内部的开关元件的开关动作将直流电力转换为交流电力的电动机电力供给用的逆变器,根据接收到的驱动指令,控制电动机电力供给部15内的逆变换器内的开关元件的开关动作,由此控制将直流电力转换为三相交流电动机300的驱动用交流电力的转换动作。三相交流电动机300将从电动机电力供给部15内的逆变换器输出的交流电力作为驱动电力来进行动作,所以如果控制从电动机电力供给部15内的逆变换器输出的交流电力,则能够驱动控制三相交流电动机300的速度、转矩或者转子的位置。通过驱动三相交流电动机300来驱动机床的可动部。

这样,作为电动机控制装置中的指令,存在位置指令、速度指令以及电流指令。通过学习部12学习的修正量用于修正电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令。

图3是表示实施例的机械学习方法的动作流程的流程图。学习与针对电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令的修正量相关联的条件的机械学习方法具备状态观测步骤S101、学习步骤S102。

状态观测步骤S101通过状态观测部11来执行,即,观测由针对电动机控制装置驱动控制的电动机的转子的位置指令和转子的实际位置之间的误差即误差量相关的数据、电动机控制装置的动作程序、电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令、具有电动机控制装置的机床中的工件加工条件相关的数据、具有电动机控制装置的机床的状态相关的数据中的至少一个构成的状态变量。

学习步骤S102通过学习部12来执行,即,根据由状态变量构成的训练数据集来学习与用于修正电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令的修正量相关联的条件。

学习部12使用的学习算法可以使用任意的算法。机械学习装置1具有从输入到装置中的数据的集合,通过分析来提取其中有用的规则或知识表现、判断基准等,输出其判断结果,并且进行知识学习的功能。该方法多种多样,但是大体上分为“有教师学习”、“无教师学习”、“强化学习”。并且,在实现这些方法方面,具有学习特征量本身的提取的、被称为“深层学习(深度学习:Deep Learning)”的方法。此外,这些机械学习(机械学习装置1)例如通过应用GPGPU(General-Purpose computing on Graphics Processing Units通用计算图形处理器)或大规模PC集群等来实现。

以下,作为一个例子,参照图4以及图5来说明使用了强化学习的情况。“有教师学习”、“无教师学习”等如后所述。

图4是实施例的应用了强化学习的机械学习装置的原理框图。学习部12具备回报计算部21和函数更新部22。此外,因为回报计算部21以及函数更新部22以外的结构要素与图1所示的结构要素相同,所以对相同的结构要素赋予相同的符号,并省略该结构要素的详细说明。

回报计算部21基于由针对电动机控制装置驱动控制的电动机的转子的位置指令与转子的实际位置之间的误差即误差量来计算回报。回报计算部21理解为误差量越小,用于修正电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令的修正量带来越好的影响,从而赋予高回报。例如,回报计算部21在状态观测部11观测到的误差量比在当前的误差量之前由状态观测部11观测到的误差量小时增加回报、大时减少回报即可。另外,例如回报计算部21也可以在状态观测部11观测到的误差量为规定范围内时增加回报、为规定范围外时减少回报。在这里,规定范围由操作员考虑电动机或机床的制造成本或使用环境等各种因素来适当设定即可。

函数更新部22基于状态观测部11观测到的状态变量以及回报计算部21计算出的回报,来更新用于计算使用在修正电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令中的修正量的函数(行为价值表)。

学习部12也可以通过多层结构来运算状态观测部11观测到的状态变量,并实时更新函数(行为价值表)。例如,函数更新部22也可以基于状态观测部11观测到的状态变量以及回报计算部21计算出的回报,根据神经网络模型来更新用于计算使用在修正电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令中的修正量的函数。在这里,作为通过多层结构运算状态变量的方法,例如能够使用后述的图9所示那样的多层神经网络。

图5是表示实施例的应用了强化学习的机械学习方法的动作流程的流程图。

首先,在状态观测步骤S101中,状态观测部11观测由针对电动机控制装置驱动控制的电动机的转子的位置指令和进给机构部的实际位置之间的误差即误差量相关的数据、电动机控制装置的动作程序、电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令、具有电动机控制装置的机床中的工件加工条件相关的数据、具有电动机控制装置的机床的状态相关的数据中的至少一个构成的状态变量。

其次,在回报计算步骤S102-1中,回报计算部21基于针对由电动机控制装置驱动控制的电动机的转子的位置指令与进给机构部的实际位置之间的误差即误差量来计算回报。

然后,在函数更新步骤S102-2中,函数更新部22基于状态观测部11观测到的状态变量以及回报计算部21计算出的回报,来更新用于计算使用在修正电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令中的修正量的函数(行为价值表)。

接下来,对具备上述机械学习装置的电动机控制装置进行说明。

图6是表示实施例的、具备应用了强化学习的机械学习装置的电动机控制装置的原理框图。在这里,对在机床内设置电动控制装置100,并通过电动控制装置100来控制作为机床驱动轴的驱动源的三相交流电动机300的情况进行说明。

实施例的电动机控制装置具备上述的机械学习装置1、意图决定部13、修正部14、电动机电力供给部15、位置检测部16、误差量测定部17、温度测定部31和振动测定部32。此外,在图6中,对图2所示的速度检测部以及电流检测部省略了图示。此外,如上所述,在进给机构部的实际位置中,包含在应用全闭环控制时通过外部传感器(线位移传感器)取得的加工部的实际位置、以及在应用半闭环控制时通过设置在电动机上的脉冲编码器取得的转子的实际位置,在图6中,作为进给机构部的实际位置,使用由设置在电动机300上的位置检测部16(脉冲编码器)检测的电动机300的转子实际位置。

电动机电力供给部15基于驱动指令生成部50中生成的驱动指令来向电动机300供给驱动电力。电动机电力供给部15例如由如下部分组成:将从交流电源侧供给的交流电力转换为直流电力来输出到DC链路的整流器、与DC链路相连接,并将DC链路中的直流电路转换为交流电力来供给到三相交流电动机300的逆变换器(逆变器)。不特别限定使用的整流器的实施方式,例如有二极管整流器、或者PWM控制方式的整流器等。另外,对于逆变换器也不特别限定实施方式,一般为可在交直流双方向转换的电力转换器,例如有PWM逆变器。PWM逆变器由开关元件以及与其反向并联连接的二极管的桥电路组成,基于驱动指令生成部50中生成的驱动指令来对开关元件的开关动作进行PWM控制。即,电动机电力供给部15内的逆变换器,基于从驱动指令生成部50接收到的驱动指令使内部的开关元件进行开关动作,将从DC链路侧供给的直流电力转换为用于驱动三相交流电动机300的期望电压以及期望频率的三相交流电力。由此,三相交流电动机300基于供给的电压可变以及频率可变的三相交流电力来进行动作。另外,在三相交流电动机300的减速时产生再生电力,此时,基于从驱动指令生成部50接收到的电动机驱动指令,将由三相交流电动机300产生的交流再生电力转换为直流电力并返回DC链路。

位置检测部16检测三相交流电动机300的转子实际位置,其由设置在三相交流电动机300中的脉冲编码器组成。

误差量测定部17测定从驱动指令生成部50取得的针对三相交流电动机300的转子的位置指令与位置检测部16检测出的实际位置之间的误差即误差量。向机械学习装置1内的状态观测部11输入与误差量测定部17测定到的误差量相关的数据。

温度测定部31是在设置电动机控制装置100的机床电动机内的任意位置设置的温度传感器,测定机床的温度。温度测定部31也可以设置在机床内的多个位置并测定该多个位置的温度。向机械学习装置1内的状态观测部11输入与温度测定部31测定到的机床温度相关的数据。

振动测定部32是在设置电动机控制装置100的机床内的任意位置设置的振动传感器,测定机床内产生的振动。振动测定部32也可以设置在机床内的多个位置并测定该多个位置的温度。向机械学习装置1内的状态观测部11输入与振动测定部32测定到的机床振动相关的数据。

如上所述,电动机控制装置100内的机械学习装置1具备状态观测部11和学习部12。

状态观测部11观测由误差量测定部17测定到的误差量相关的数据、电动机控制装置100的动作程序、从驱动指令生成部50取得的电动机控制装置100中的位置指令、速度指令以及电流指令中的某一个指令、设置了电动机控制装置100的机床中的工件加工条件相关的数据、设置了电动机控制装置100的机床的状态相关的数据构成的状态变量。观测到的状态变量作为训练数据集被用于学习部12中的学习。此外,在这里将设置了电动机控制装置100的机床的状态相关的数据设为由温度测定部31测定到的机床的温度相关的数据、以及由振动测定部32测定到的机床的振动相关的数据,但是也可以使用除此之外的机床的状态相关的数据作为状态变量。另外,电动机控制装置100的动作程序可以从总括控制电动机控制装置100的动作的控制部(未图示)取得。另外,设置了电动机控制装置100的机床中的工件加工条件相关的数据也可以从总括控制电动机控制装置100的动作的控制部(未图示)取得,又或者也可以由操作员经由输入装置(未图示)来输入。

学习部12内的回报计算部21基于由状态观测部11观测到的误差量来计算回报。例如,回报计算部21可以在状态观测部11观测到的误差量比在当前的误差量之前由状态观测部11观测到的误差量小时增加回报,大时减少回报。另外,例如回报计算部21也可以在状态观测部11观测到的误差量为规定范围内时增加回报,为规定范围外时减少回报。

学习部12内的函数更新部22基于状态观测部11观测到的状态变量以及回报计算部21计算出的回报,来更新用于计算在修正电动机控制装置100中的位置指令、速度指令以及电流指令中的某一个指令时使用的修正量的函数(行为价值表)。

意图决定部13基于学习部12根据训练数据集学习的结果,对当前状态变量的输入进行应答,来决定用于修正电动机控制装置100中的位置指令、速度指令以及电流指令中的某一个指令的修正量。在本实施例中,以作为学习算法使用了强化学习为例,所以基于由学习部12内的回报计算部21计算出的回报,学习部12内的函数更新部22更新用于计算在修正电动机控制装置100中的位置指令、速度指令以及电流指令中的某一个指令时使用的修正量的函数,意图决定部13基于更新后的函数,选择得到最多回报的修正量。

修正部14使用意图决定部13决定的修正量来修正电动机控制装置100中的位置指令、速度指令以及电流指令中的某一个指令。通过修正量修正的指令可以是位置指令、速度指令以及电流指令中的任意一个。

驱动指令生成部50基于修正后的指令(位置指令、速度指令以及电流指令中的某一个),生成用于控制电动机电力供给部15向三相交流电动机300的电力供给的驱动指令。电动机控制装置100内的驱动指令生成部50的结构如图2所示。即,驱动指令生成部50由位置控制环、速度控制环以及电流控制环构成。在位置控制环中,基于安装在三相交流电动机300上的位置检测部16检测出的三相交流电动机300的转子实际位置相关的信息(位置反馈值)和位置指令制作部(未图示)制作的位置指令,来通过速度指令生成部213制作速度指令。在速度控制环中,基于安装在三相交流电动机300上的速度检测部18检测出的三相交流电动机300的转子速度相关的信息(速度反馈值)和速度指令生成部213制作的速度指令,来通过电流指令生成部212制作电流指令。在电流控制环中,基于电流检测部19检测出的从电动机电力供给部15内的逆变换器向三相交流电动机300流入的电流相关的信息(电流反馈值)和电流指令生成部212制作的电流指令值,使用电流控制部211来制作用于驱动电动机电力供给部15内的逆变换器的驱动指令(例如PWM控制信号)。如上所述,电动机电力供给部15内的逆变换器例如是通过在内部设置的开关元件的开关动作将直流电力转换为交流电力的电动机电力供给用的PWM逆变器,根据接收到的驱动指令,控制电动机电力供给部15内的逆变换器内的开关元件的开关动作,由此控制将直流电力转换为三相交流电动机300的驱动用的交流电力的转换动作。三相交流电动机300将从电动机电力供给部15内的逆变换器输出的交流电力作为驱动电力来进行动作,所以如果控制从电动机电力供给部15内的逆变换器输出的交流电力,则能够对三相交流电动机300的速度、转矩或转子的位置进行驱动控制。通过驱动三相交流电动机300来驱动机床的驱动轴。

图7是表示实施例的具备应用了强化学习的机械学习装置的电动机控制装置的动作流程的流程图。

一般在强化学习中随机地选择行为的初始值。在实施例的步骤S201中,随机选择作为行为的指令(位置指令、速度指令以及电流指令中的某一个)对应的修正量。

在步骤S202中,驱动指令生成部50基于使用设定的修正量修正后的指令(位置指令、速度指令以及电流指令中的某一个),使用三相交流电动机300的动作程序、电动机电力供给部15的三相交流电动机300侧的交流电流或交流电压以及/或三相交流电动机300的旋转速度等,来生成用于控制三相交流电动机300的速度、转矩或转子的位置的驱动指令。由此,电动机电力供给部15进行将交流电力转换为直流电力的动力运行动作(正变换动作)以及将直流电力转换为交流电力的再生动作(逆变换动作),三相交流电动机300通过供给的交流驱动电力进行驱动。在此期间,位置检测部16检测三相交流电动机300的转子实际位置,误差量测定部17测定从驱动指令生成部50取得的针对三相交流电动机300的转子的位置指令与位置检测部16检测到的实际位置之间的误差即误差量,速度检测部18检测三相交流电动机300的转子速度,电流检测部19检测从电动机电力供给部15内的逆变换器向三相交流电动机300流入的电流。另外,温度测定部31测定设置了电动机控制装置100的机床的温度,振动测定部32测定设置了电动机控制装置100的机床内产生的振动。

在步骤S203中,状态观测部11观测由误差量测定部17测定到的误差量相关的数据、电动机控制装置100的动作程序、从驱动指令生成部50取得的电动机控制装置100中的位置指令、速度指令以及电流指令中的某一个指令、设置了电动机控制装置100的机床中的工件加工条件相关的数据、设置了电动机控制装置100的机床的状态相关的数据构成的状态变量。

在步骤S204中,状态观测部11基于误差量相关的数据,辨别该误差量是否在规定范围α内。当状态观测部11判定为误差量在规定范围α内时,在步骤S205中回报计算部21增加回报。另一方面,当状态观测部11判定为误差量在规定范围α外时,在步骤S206中回报计算部21减少回报。此外,在图7所示的例子中,回报计算部21在误差量在规定范围α内时增加回报,在规定范围α外时减少回报,但是作为代替其的例子,回报计算部21也可以在误差量比在当前的误差量之前由状态观测部11观测到的误差量小时增加回报,大时减少回报。

在步骤S207中,函数更新部22基于状态观测部11观测到的状态变量以及回报计算部21计算出的回报,来更新用于计算在修正电动机控制装置100中的位置指令、速度指令以及电流指令中的某一个指令时使用的修正量的函数。

接着在步骤S208中,意图决定部13基于在步骤S207中更新的函数来选择得到最多回报的修正量。此后,返回到步骤S202,在此之后,重复执行步骤S202~S208的处理。因此,机械学习装置1学习能够将误差量最小化的修正量。此外,也可以从多个电动机控制装置100取得训练数据集,此时,学习部12根据针对多个电动机控制装置100取得的训练数据集,重复执行步骤S201~S208的处理,并学习修正量。在针对多个电动机控制装置100取得了训练数据集时,机械学习装置1的学习精度提高。

其次,对机械学习装置1进行更详细的说明。机械学习装置1具有从输入装置中的数据的集合,通过分析而提取其中有用的规则或知识表现、判断基准等,输出其判断结果,并且进行知识的学习的功能。如上所述,作为机械学习装置1的学习算法,大致分为“有教师学习”、“无教师学习”、“强化学习”。并且,在实现这些方法的方面,具有学习特征量本身的提取的、被称为“深层学习”的方法。此外,这些机械学习(机械学习装置1)例如通过应用GPGPU(General-Purpose computing on Graphics Processing Units通用计算图形处理器)或大规模PC集群等来实现。

“有教师学习”是指通过大量地向机械学习装置1赋予某个输入和结果(标签)的数据的组,来学习这些数据集所具有的特征,并归纳性地获得从输入推定结果的模型,即其关系性。在本实施方式中应用该有教师学习时,能够使用在计算用于修正电动机控制装置中的位置指令、速度指令以及电流指令中的某一个指令的修正量的部分等中。能够使用后述的神经网络等算法来实现。

“无教师学习”是指通过大量地向学习装置1仅赋予输入数据,来学习输入数据是怎样分布的,即使不赋予对应的教师输出数据,也学习对输入数据进行压缩、分类、整形等的装置的方法。例如,能够对这些数据集所具有的特征的相似特征彼此进行聚类等。通过使用该结果,设置某种基准来进行使其为最佳的输出的分配,能够实现输出的预测。

另外,作为“无教师学习”和“有教师学习”的中间性的问题设定,具有被称为“半有教师学习”的方法,其相当于只一部分地存在输入和输出的数据的组,除此之外仅为输入的数据的情况。在本实施方式中,能够通过无教师学习来利用不实际使电动机驱动装置动作也能够取得的数据(例如模拟的数据),并有效地进行学习。

首先,对将机械学习装置1的学习算法设为强化学习的例子进行说明。

考虑如下,作为强化学习的问题设定。

·电动机驱动装置观测环境的状态,并决定行为。

·环境根据某种规则进行变化,并且自己的行为有时也对环境赋予变化。

·每当发生行为时返回回报信号。

·期望最大化的是将来的(折扣)回报的合计。

·从完全不知道、或不完全知道行为引起的结果的状态开始学习。即,电动机驱动装置最初进行实际动作,能够将其结果作为数据来得到。即,需要一边尝试一边探索最佳的行为。

·也可以将以模仿人类的动作的方式进行事先学习(上述的有教师学习、或称为逆强化学习的方法)后的状态作为初始状态,从好的开始地点开始学习。

在这里,“强化学习”是指不仅通过判定和分类,还通过学习行为,进行将行为赋予环境的相互作用作为基础来学习适当的行为,即用于把将来得到的回报变为最大的学习的方法。这种情况在本实施方式中,表示能够获得将转子位置指令与进给机构部的实际位置之间的误差最小化(将误差量最小化)这样的,对未来产生影响的行为。例如虽然在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[Σγtrt]。在这里,假定根据最佳的行为发生了状态变化时,取得期待值,因为不知道期待值,所以一边探索一边学习。这样的价值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)的方法。表示与状态s中的行为a的评价值Q(st、at)相比,如果基于回报rt+1+行为a的下一个状态中的最佳的行为max a的评价值Q(st+1、max at+1)更大,则Q(st、at)增大,反之,若Q(st+1、max at+1)更小,则Q(st、at)也减小的情况。即,将某种状态中的某种行为的价值接近作为结果而立即返回的回报、和该行为导致的下一个状态中的最佳的行为价值。

在这里,Q(s、a)在计算机上的表现方法,具有针对全部的状态行为对(s、a),将其值作为表(行为价值表)进行保持的方法、以及准备对Q(s、a)进行近似的函数的方法。在后者的方法中,上述的更新式能够通过使用随机梯度下降法等方法调整近似函数的参数来实现。作为近似函数,能够使用后述的神经网络。

另外,作为有教师学习、无教师学习以及强化学习中的价值函数的近似算法,能够使用神经网络。神经网络例如由实现模拟图8所示那样的神经元模型的神经网络的运算装置以及存储器等构成。图8是表示神经元模型的示意图。

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

其次,参照图9对组合了上述神经元的具有三层权值的神经网络进行说明。图9是表示具有D1~D3的三层权值的神经网络的示意图。

如图9所示的那样,从神经网络的左侧输入多个输入x(在此作为一个例子,输入x1~输入x3),从右侧输出结果y(在此作为一个例子,结果y1~结果y3)。

具体来说,输入x1~输入x3针对三个神经元N11~N13的每个乘以相对应的权值来进行输入。将与这些输入相乘的权值统一标记为w1。

神经元N11~N13分别输出z11~z13。在图9中,将这些z11~z13统一标记为特征矢量z1,能够视为提取了输入矢量的特征量的矢量。该特征矢量z1是权值w1和权值w2之间的特征矢量。z11~z13针对两个神经元N21、N22的每个乘以相对应的权值来进行输入。将与这些特征矢量相乘的权值统一标记为w2。

神经元N21、N22分别输出z21、z22。在图9中,将这些z21、z22统一标记为特征矢量z2。该特征矢量z2是权值w2和权值w3之间的特征矢量。特征矢量z21、z22针对三个神经元N31~N33的每个乘以相对应的权值来进行输入。将与这些特征矢量相乘的权值统一标记为w3。

最后,神经元N31~N33分别输出结果y1~结果y3。

在神经网络的动作中,具有学习模式和价值预测模式。例如,在学习模式中,使用学习数据集来学习权值w,使用该参数在预测模式中进行电动机驱动装置的行为判断。此外,为了方便,预测和描述的当然可能是检测、分类、推论等多种任务。

在这里,在预测模式中,可以即时学习实际运行电动机驱动装置来得到的数据,并反映到下次行为中(在线学习),也可以使用预先收集的数据群来进行汇总学习,以后一直使用该参数进行检测模式(批量学习)。或者,也能够为其中间性的,在积累了一定程度数据时插入学习模式。

另外,权值w1~w3能够通过误差逆向传播法(反向传播:Back Propagation)进行学习。误差的信息从右侧进入,向左侧流动。误差逆向传播法是对于各神经元调整(学习)各自的权值,使得输入了输入x时的输出y和真实的输出y(教师)之间的差变小的方法。

这样的神经网络,也可以在三层以上进一步增加层(称为深层学习)。能够只从教师数据自动的获得阶段性的进行输入的特征提取,并返回结果的运算装置。

因此,本实施方式的机械学习装置1为了实施上述的Q学习,例如图6所示的那样具备状态观测部11、学习部12以及意图决定部13。但是,应用于本发明的机械学习方法如上所述并不限定于Q学习。即,可以应用能够在机械学习装置中使用的方法、即“有教师学习”、“无教师学习”、“半有教师学习”以及“强化学习”等各种各样的方法。此外,这些机械学习(机械学习装置1)例如能够通过应用GPGPU或大规模PC集群等来实现。例如在应用有教师学习时,价值函数与学习模型相对应,回报与误差相对应。此外,也能够将使用上述神经网络近似出函数用作该行为价值表,这在s以及a的信息量巨大时特别有效。

接下来,以将机械学习装置1的学习算法设为有教师学习为例进行说明。

图10是表示实施例的具备应用了有教师学习的机械学习装置的电动机控制装置的原理框图。通过图10与上述的图6相比较能够知道,具备图10所示的具备应用了有教师学习的机械学习装置的电动机控制装置的电动机驱动装置,相对于图6所示的具备应用了Q学习(强化学习)的机械学习装置的电动机控制装置,进一步具备结果(标签)提供部40。另外,图10中的机械学习装置1具备状态观测部11、包含误差计算部23以及学习模型更新部24的学习部41、以及意图决定部42。

在图10所示的具备应用了有教师学习的机械学习装置的电动机控制装置中,误差计算部23以及学习模型更新部24分别与图6所示的应用了Q学习的电动机控制装置中的回报计算部21以及函数更新部22相对应。但是,在误差计算部23中输入了来自结果提供部40的结果(标签)。此外,其他的结构与上述的图6相同,省略其说明。另外,在图10中,对图2所示的速度检测部以及电流检测部省略了图示。

结果提供部40向学习部41的误差计算部23提供(输入)带标签的数据(结果),误差计算部23收取来自状态观测部11的信号,并且收取来自结果提供部40的带标签的数据来进行误差计算,并且,学习模型更新部24进行学习模型的更新。在这里,结果提供部40例如在电动机控制装置100的处理相同时,例如能够保持到驱动电动机控制装置100的预定日的前日为止得到的带标签的数据,并在该预定日向误差计算部23提供在结果提供部40中保持的带标签的数据。

或者,能够将通过在电动机控制装置100的外部进行的模拟等得到的数据、或者其他电动机控制装置的带标签的数据通过存储器卡或通信线路向该电动机控制装置100的误差计算部23提供。并且,也能够由闪速存储器(Flash Memory)等非易失性存储器构成结果提供部40,将结果提供部(非易失性存储器)40内置在学习部41中,并将该结果提供部40中保持的带标签的数据直接使用在学习部41中。

图10所示的电动机控制装置100中具备的机械学习装置1的动作,为了将转子位置指令与进给机构部的实际位置之间的误差最小化(将误差量最小化),并取得用于修正电动机控制装置100中的位置指令、速度指令以及电流指令中的某一个指令的修正量,例如,误差计算部23根据从结果提供部40输入的结果,基于状态变量引起的误差量来计算误差,并更新学习模型更新部24中的学习模型。

此外,作为本发明中的机械学习装置1,并不限定于应用上述的强化学习(例如Q学习)或有教师学习,也能够应用各种各样的机械学习的算法。

上述的状态观测部11、学习部12、41以及意图决定部13、42例如可以由软件程序形式来构筑,或者也可以由各种电子电路和软件程序的组合来构筑。例如在将它们由软件程序形式来构筑时,能够通过根据该软件程序来运行电动机控制装置100内的运算处理装置来实现上述各部的功能。又或者,也可以将具备状态观测部11以及学习部12、41的机械学习装置1作为写入了实现各部的功能的软件程序的半导体集成电路来实现。又或者,不仅是具备状态观测部11以及学习部12、41的机械学习装置1,包含意图决定部13、42的形式,也可以实现写入了实现各部的功能的软件程序的半导体集成电路。另外,对于修正部14以及驱动指令生成部50,与一般的电动机控制装置一样,例如可以由软件程序形式来构筑,或者也可以由各种电子电路和软件程序的组合来构筑。

另外,本发明的机械学习处理使用如下数据来执行:电动机控制装置100为了三相交流电动机300的驱动控制而通过原本具备的误差量测定部17取得的误差量相关的数据、由温度测定部31测定的设置了电动控制装置100的机床内的温度相关的数据、由振动测定部32测定的设置了电动机控制装置100的机床内产生的振动相关的数据,因此不需要如现有技术那样设置新的硬件装置,所以能够后装到既有的电动机控制装置上来应用。此时,在该既有的电动机控制装置中装入写入了实现机械学习装置1和意图决定部13、42的各部的功能的软件程序的半导体集成电路,或者在该既有的电动机控制装置内的运算处理装置中追加安装实现机械学习装置1和意图决定部13、42的各部的功能的软件程序自身即可。另外,也可以将关于某个电动机控制装置学习了修正量的机械学习装置1安装在与之不同的其他电动机驱动装置上,关于该其他电动机控制装置,再次学习修正量来进行更新。

根据本发明,能够实现可以容易地将针对电动机的转子位置指令与进给机构部的实际位置之间的误差即误差量最小化的机械学习装置及方法以及具备该机械学习装置的电动机控制装置。

根据本发明,能够在电动机控制装置运行的状态下,结合将电动机作为驱动源的机床中的工件加工条件、该机床的加工时的切削负荷的大小、机床的温度、在具有多个驱动轴的机床中由各驱动轴动作而产生的振动等,机械学习装置自我学习并调整将转子位置指令与转子实际位置之间的误差即误差量最小化的针对指令的修正量,所以即使周围环境发生变动,也能够实时变更各修正量,并能够将误差量可靠地最小化。

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