数值控制装置及机器学习装置转让专利

申请号 : CN201810064681.6

文献号 : CN108345273B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 清水健二佐藤和生前田英朗

申请人 : 发那科株式会社

摘要 :

本发明涉及一种数值控制装置及机器学习装置。数值控制装置具备对用于倍率控制的设定值的调整进行机器学习的机器学习装置。该机器学习装置获取表示数值控制装置和机器的状态的状态数据,设定回报条件,基于这些状态数据和所述回报条件计算回报,并对用于倍率控制的设定值的调整进行机器学习,并且,基于该机器学习结果和状态数据决定用于倍率控制的设定值的调整。

权利要求 :

1.一种数值控制装置,其对至少具备一个轴的机器进行控制,该数值控制装置的特征在于,具备:机器学习装置,其对用于电动机的倍率控制的设定值的调整进行机器学习,该电动机驱动所述轴,所述机器学习装置具有:

状态观测部,其获取包括用于所述电动机的倍率控制的设定值的当前值在内的表示所述数值控制装置和所述机器的状态的状态数据;

回报条件设定部,其设定回报条件;

回报计算部,其基于由所述状态观测部获取到的所述状态数据和所述回报条件来计算回报;

倍率控制用设定值调整学习部,其对用于所述倍率控制的设定值的调整进行机器学习;以及倍率控制用设定值调整量决定部,其基于所述倍率控制用设定值调整学习部的用于所述倍率控制的设定值的调整的机器学习结果和所述状态数据,来决定并输出用于所述倍率控制的设定值的调整,所述倍率控制用设定值调整学习部基于调整后的所述设定值、所述设定值的调整后所获取的所述状态数据以及由所述回报计算部计算出的所述回报,对用于所述倍率控制的设定值的调整进行机器学习,所述回报计算部基于所述机器的动作的周期时间、所述机器的主轴负荷、安装于所述机器的工具的破损以及由所述机器加工的工件的加工精度中的至少任一个来计算回报。

2.根据权利要求1所述的数值控制装置,其特征在于,

该数值控制装置与至少一个其他数值控制装置连接,

在与所述其他数值控制装置之间互相交换或共享机器学习的结果。

3.一种机器学习装置,其对用于电动机的倍率控制的设定值的调整进行机器学习,其中,所述电动机驱动由数值控制装置控制的机器所具备的至少一个轴,该机器学习装置的特征在于,具有:学习结果存储部,其存储用于所述倍率控制的设定值的调整的机器学习结果;

状态观测部,其获取包括用于所述电动机的倍率控制的设定值的当前值在内的表示所述数值控制装置和所述机器的状态的状态数据;

回报条件设定部,其设定回报条件;

回报计算部,其基于由所述状态观测部获取到的所述状态数据和所述回报条件来计算回报;

倍率控制用设定值调整学习部,其对用于所述倍率控制的设定值的调整进行机器学习;以及倍率控制用设定值调整量决定部,其基于所述倍率控制用设定值调整学习部的用于所述倍率控制的设定值的调整的机器学习结果和所述状态数据,来决定并输出用于所述倍率控制的设定值的调整,所述倍率控制用设定值调整学习部基于调整后的所述设定值、所述设定值的调整后所获取的所述状态数据以及由所述回报计算部计算出的所述回报,对用于所述倍率控制的设定值的调整进行机器学习,所述回报计算部基于所述机器的动作的周期时间、所述机器的主轴负荷、安装于所述机器的工具的破损以及由所述机器加工的工件的加工精度中的至少任一个来计算回报。

说明书 :

数值控制装置及机器学习装置

技术领域

[0001] 本发明涉及一种数值控制装置及机器学习装置,尤其涉及一种通过机器学习来学习最佳的倍率(override)控制用设定值的数值控制装置及机器学习装置。

背景技术

[0002] 作为机床进行加工时的现有技术,存在通过将主轴负荷作为输入值的比例/积分/微分控制(PID控制)控制来对进给速度倍率进行控制的功能(例如,参照日本特开2012-032869号公报)。通过利用该功能,在负荷低的部分增加倍率来实现周期时间的缩短,在负荷高的部分减少倍率来防止工具破损或过热。
[0003] 进给速度的控制方法中,作为用于将对象的值保持在固定值的控制,一般广泛使用PID控制。通常可以用下式(1)来计算出基于PID控制的输出。此外,在式(1)中,设PID控制开始时的时刻为t0。
[0004]
[0005] O(t):输出值
[0006] eL(t):控制对象的目标和当前(时刻t)的值的差分
[0007] Kp:PID控制的比例项的增益
[0008] Ki:PID控制的积分项的增益
[0009] Kd:PID控制的微分项的增益
[0010] C:PID控制的偏移
[0011] 图8示出了利用现有技术的PID控制的反馈控制的框线图的例子。
[0012] 在控制进给速度以使主轴的负荷固定的情况下,通过将输出值O(t)设为进给速度(倍率),将eL(t)设为目标主轴负荷与时刻t的主轴负荷的差分,对常数设定适当的值,可以使主轴负荷接近目标。在未进行切削的状态下,即由于在主轴空转时即使提高进给速度主轴负荷也不会变动,因而在切削过程中,即优选仅在主轴负荷达到一定值以上时进行控制。
[0013] 在PID控制中,根据控制对象的状态(在机床中,例如,机器结构或工具的种类、工件材质、切削量等)调整各增益(式(1)和图8中的Kp、Ki、Kd),从而能够进行符合该状态的适当的反馈控制。
[0014] 由于PID控制是通常的反馈控制,因而研究了例如稳定边界法等这样的多个经验性增益的设定方法。另外,在日本特开平07-036506号公报、国际公开第2007/049412号中公开了为补偿PID控制的动作而利用神经网络的技术。
[0015] 然而,在现有技术的PID控制方法中,存在需要对加工中的控制对象的状态(机器结构、工具的种类、工件材质、切削量等)设定增益设定,且为了进行稳定的控制需要尝试多次的问题。

发明内容

[0016] 因此,本发明的目的在于,提供一种通过机器学习来学习最佳的倍率控制用设定值的数值控制装置及机器学习装置。
[0017] 本发明的数值控制装置对至少具备一个轴的机器进行控制,并具备对用于电动机的倍率控制的设定值的调整进行机器学习的机器学习装置,其中该电动机控制所述轴。并且,所述机器学习装置具有:状态观测部,其获取包括用于所述电动机的倍率控制的设定值的当前值在内的表示所述数值控制装置和所述机器的状态的状态数据;回报条件设定部,其设定回报条件;回报计算部,其基于由所述状态观测部获取到的所述状态数据和所述回报条件来计算回报;倍率控制用设定值调整学习部,其对用于所述倍率控制的设定值的调整进行机器学习;以及倍率控制用设定值调整量决定部,其基于所述倍率控制用设定值调整学习部的用于所述倍率控制的设定值的调整的机器学习结果和所述状态数据,来决定并输出用于所述倍率控制的设定值的调整,所述倍率控制用设定值调整学习部基于调整后的所述设定值、所述设定值的调整后所获取的所述状态数据以及由所述回报计算部计算出的所述回报,对用于所述倍率控制的设定值的调整进行机器学习。
[0018] 所述回报计算部基于所述机器的动作的周期时间、所述机器的主轴负荷、安装于所述机器的工具的破损以及由所述机器加工的工件的加工精度中的至少任一个来计算回报。
[0019] 所述数值控制装置与至少一个其他数值控制装置连接,在与所述其他数值控制装置之间互相交换或共享机器学习的结果。
[0020] 本发明的机器学习装置对用于电动机的倍率控制的设定值的调整进行机器学习,其中,所述电动机驱动由数值控制装置控制的机器所具备的至少一个轴。该机器学习装置具备:学习结果存储部,其存储用于所述倍率控制的设定值的调整的机器学习结果;状态观测部,其获取包括用于所述电动机的倍率控制的设定值的当前值在内的表示所述数值控制装置和所述机器的状态的状态数据;回报条件设定部,其设定回报条件;回报计算部,其基于由所述状态观测部获取到的所述状态数据和所述回报条件来计算回报;倍率控制用设定值调整学习部,其对用于所述倍率控制的设定值的调整进行机器学习;以及倍率控制用设定值调整量决定部,其基于所述倍率控制用设定值调整学习部的用于所述倍率控制的设定值的调整的机器学习结果和所述状态数据,来决定并输出用于所述倍率控制的设定值的调整,所述倍率控制用设定值调整学习部基于调整后的所述设定值、所述设定值的调整后所获取的所述状态数据以及由所述回报计算部计算出的所述回报,对用于所述倍率控制的设定值的调整进行机器学习。
[0021] 根据本发明,能够基于控制对象的机器的状态(机器结构、工具的种类、工件材质、切削量、指令进给速度等),自动地设定最佳的倍率控制用设定值。由此,作业者无需根据机器的状态来调整增益,因而能够减少增益调整所需的精力和时间。

附图说明

[0022] 图1是说明强化学习算法的基本概念的图。
[0023] 图2是表示神经元模型的示意图。
[0024] 图3是表示具有3层权重的神经网络的示意图。
[0025] 图4是表示将自编码器用作学习模型时的例子的图。
[0026] 图5是与本发明的实施方式的数值控制装置的机器学习相关的图。
[0027] 图6是本发明的实施方式的数值控制装置的概略性功能框图。
[0028] 图7是表示本发明的实施方式中的机器学习的流程的流程图。
[0029] 图8是现有技术的使用PID控制的反馈控制的框线图的例子。

具体实施方式

[0030] 本发明中,对控制机器的数值控制装置引入作为人工智能的机器学习装置,并对与该机器的状态(机器结构、工具的种类、工件材质、切割量、指令进给速度等)对应的倍率控制用设定值(PID控制的各增益)的调整进行机器学习,从而能够对机器的状态进行恰当的PID控制。
[0031] 下面,对本发明中引入的机器学习进行简单说明。
[0032] <1.机器学习>
[0033] 在此,简单地对机器学习进行说明。通过分析,从向进行机器学习的装置(以下称为机器学习装置)输入的数据的集合中提取存在于其中的有用的规则、知识表达、判断基准等,输出其判断结果,并且进行知识的学习,由此实现机器学习。机器学习方法有多种,大致分为“监督学习”、“无监督学习”、“强化学习”。并且,具有在实现这些方法的基础上对特征量自身的提取进行学习的被称为“深度学习”的方法。
[0034] “监督学习”是指通过向机器学习装置大量赋予某个输入和结果(标签)的数据组,来学习这些数据集中存在的特征,能够归纳性地获得根据输入推定结果的模型,即其关系性。该监督学习能够使用后述的神经网络等算法来实现。
[0035] “无监督学习”是如下的方法:通过向学习装置仅大量赋予输入数据,来学习输入数据进行怎样的分布,即使不赋予对应的监督输出数据,也会学习对输入数据进行压缩、分类、整形等处理的装置。能够将这些数据集中具有的特征聚类为彼此相似。使用该结果,通过设置某种基准来进行使其最优的输出的分配,能够实现输出的预测。此外,作为“无监督学习”和“监督学习”的中间的问题设定,还存在被称为“半监督学习”的机器学习方法,这相当于仅存在一部分的输入和输出的数据组,除此以外仅为输入的数据的情况。在本实施方式中,在无监督学习中使用即使未使加工机实际动作也能取得的数据,能够有效地进行学习。
[0036] “强化学习”是如下方法:不仅学习判定、分类,还学习行为,由此考虑行为对于环境赋予的相互作用来学习恰当的行为,即进行用于使将来获得的回报最大的学习。在强化学习中,机器学习装置能够从完全不知道行为引起的结果的状态、或者从只是不完全知道的状态开始学习。此外,还能够如同模拟人的动作那样将事先进行了学习(上述的监督学习、逆向强化学习这样的方法)的状态作为初始状态,从良好的开始地点开始学习。
[0037] 另外,在对控制机床的数值控制装置应用机器学习的情况下,需要考虑加工机实际进行动作后才能取得其结果来作为数据的情况,即需要一边进行试错一边搜索最佳的行为。因此,在本发明中,作为机器学习装置的主要的学习算法,采用通过赋予回报使机器学习装置自动学习用于到达目标的行为的强化学习的算法。
[0038] 图1是说明强化学习算法的基本概念的图。
[0039] 在强化学习中,通过成为学习的主体的智能体(机器学习装置)与成为控制对象的环境(控制对象系统)之间的交换来推进智能体的学习和行为。更具体地,在智能体与环境之间进行如下的交换:
[0040] (1)智能体观测某个时间点的环境的状态St;
[0041] (2)根据观测结果和过去的学习,选择自己采取的行为at,并执行行为at;
[0042] (3)基于某些规则以及行为at的执行,环境的状态St变化为下一状态St+1;
[0043] (4)基于作为行为at的结果的状态变化,智能体取得回报rt+1;
[0044] (5)智能体根据状态st、行为at、回报rt+1以及过去的学习结果来推进学习。
[0045] 在强化学习的初始阶段,智能体完全不知道在(2)的行为选择中用于选择针对环境的状态st的最佳的行为at的价值判断的基准。因此,智能体以某个状态st为基础选择各种行为at,根据针对此时的行为at赋予的回报rt+1,学习选择更好的行为,即学习正确的价值判断的基准。
[0046] 在上述的(5)的学习中,智能体获得观测到的状态St,行为at,回报rt+1的映射,来作为用于判断将来可获得的回报量的基准信息。例如,当假设在各时刻取得的状态的个数为m,取得的行为的个数为n时,通过反复进行行为而得到m×n的二维排列,该m×n的二维排列存储与状态st和行为at的组相对的回报rt+1。
[0047] 并且,使用表示根据上述取得的映射而选择出的状态、行为有多好的函数即价值函数(评价函数),在反复进行行为的过程中更新价值函数(评价函数),由此来学习与状态相对的最佳的行为。
[0048] 状态价值函数是表示某个状态st为有多好的状态的价值函数。该状态价值函数表现为将状态作为自变量的函数,在反复进行行为的学习中,根据针对某个状态下的行为获得的回报、由于该行为而转移的未来的状态的价值等来更新状态价值函数。根据强化学习的算法定义了状态价值函数的更新式,例如,在作为强化学习算法之一的TD学习中,通过以下的式(2)来更新状态价值函数。另外,在该式(2)中,α为学习系数,γ为折扣率,在0<α≤1,0<γ≤1的范围内进行定义。
[0049] V(st)←V(st)+α[rt+1+γV(st+1)-V(st)]……(2)
[0050] 此外,行为价值函数是表示在某个状态st下行为at是有多好的行为的价值函数。行为价值函数表现为将状态和行为作为自变量的函数,在反复进行行为的学习中,根据针对某个状态下的行为获得的回报、通过该行为而转移的未来的状态的行为的价值等来更新行为价值函数。根据强化学习的算法定义了行为价值函数的更新式,例如,在作为代表性的强化学习算法之一的Q学习中,通过以下的式(3)来更新行为价值函数。另外,在该式(3)中,α为学习系数,γ为折扣率,在0<α≤1,0<γ≤1的范围内进行定义。
[0051]
[0052] 该式表示了根据作为行为at的结果而返回的回报rt+1,对状态st下的行为at的评价值Q(st,at)进行更新的方法。表示了如果基于回报rt+1+行为at的下一个状态下的最佳行为max(a)的评价值Q(st+1,max(a))大于状态st下的行为at的评价值Q(St,at),则使Q(st,at)变大,若相反,则使Q(st,at)变小。也就是说,使某个状态下的某个行为的价值接近作为结果而即时返回的回报和基于该行为的下一个状态的最佳的行为的价值。
[0053] 在Q学习中,通过反复进行这样的更新,以最终Q(St,at)成为期待值E[Σγt rt]为目标(对于按照最佳的行为状态发生了变化的时候取得期待值。当然,因为不知道最佳值,所以要一边搜索一边学习)。
[0054] 并且,在上述(2)的行为选择中,使用根据过去的学习而生成的价值函数(评价函数),选择在当前的状态st下到将来的回报(rt+1+rt+2+…)成为最大的行为at(在使用了状态价值函数的情况下,用于向价值最高的状态迁移的行为,在使用了行为价值函数的情况下,在该状态下价值最高的行为)。另外,在智能体的学习中以学习进展为目标,有时在上述(2)的行为的选择中以一定的概率选择随机的行为(ε贪婪算法)。
[0055] 另外,作为针对作为学习结果的价值函数(评价函数)进行存储的方法,具有对于全部的状态行为对(S,a),将其值保存为表(行为价值表)的方法、准备对上述价值函数进行近似的函数的方法。在后者的方法中,上述的更新式可通过使用随机梯度下降法等方法调整近似函数的参数来实现。作为近似函数,能够使用神经网络等监督学习器。
[0056] 神经网络例如由图2所示的用于实现对神经元模型进行模拟的神经网络的运算装置以及存储器等构成。图2是表示神经元模型的示意图。
[0057] 如图2所示,神经元输出针对多个输入x(在此,作为一个例子,是输入x1~x3)的输出y。各输入x1~x3乘以与该输入x相对应的权重w(w1~w3)。由此,神经元输出通过下述的式(4)表现的输出y。另外,在式(3)中,输入x、输出y和权重w全部是向量。此外,θ是偏置,fk是激活函数。
[0058]
[0059] 接着,参照图3说明具有将上述的神经元组合后的三层权重的神经网络。
[0060] 图3是表示具有D1~D3这三层权重的神经网络的示意图。如图3所示,从神经网络的左侧输入多个输入x(在此,作为一个例子,输入x1~输入x3),从右侧输出结果y(在此,作为一个例子,结果y1~结果y3)。
[0061] 具体地,输入x1~输入x乘以对应的权重后输入至3个神经元N11~N13中的各个神经元。把与这些输入相乘的权重统一标记为w1。神经元N11~N13分别输出z11~z13。将这些z11~z13统一标记为特征向量z1,能够视为提取了输入向量的特征量的向量。该特征向量z1是权重w1与权重w2之间的特征向量。
[0062] z11~z13乘以对应的权重后输入至2个神经元N21、N22中的各个神经元。将与这些特征向量相乘的权重统一标记为w2。神经元N21、N22分别输出z21、z22。将这些统一标记为特征向量z2。该特征向量z2是权重w2与权重w3之间的特征向量。
[0063] 特征向量z21、z22乘以对应的权重后输入至3个神经元N31~N33中的各个神经元。将与这些特征向量相乘的权重统一标记为w3。
[0064] 最后,神经元N31~N33分别输出结果y1~结果y3。
[0065] 神经网络的动作中存在学习模式和预测模式,在学习模式中,使用学习数据集来对权重w进行学习,使用其参数在预测模式下进行加工机的行为判断(出于方便,写成预测,但能够进行检测、分类、推论等各种任务)。
[0066] 能够在预测模式下即时学习实际通过控制装置对机器进行控制而得的数据,将学习的数据反映到下一个行为中(在线学习),还能够使用预先收集到的数据群来进行统一的学习,以后一直通过该参数进行检测模式(批量学习)。还能够进行中间性的学习模式,即在每次积存了某种程度的数据时插入学习模式。
[0067] 能够通过误差逆传播法(反向传播)来学习权重w1~w3。误差信息从右侧进入,向左侧流动。误差逆传播法是如下方法:针对各神经元,调整(学习)各个权重,以便缩小在输入了输入x时的输出y与真正的输出y(监督)之间的差值。
[0068] 神经网络也可以进一步将层增加到3层以上(称为深度学习)。能够阶段性地进行输入的特征提取,仅从监督数据自动地获得使结果回归的运算装置。另外,在利用多层的神经网络的情况下,也可以构成如图4所示那样的公知的自动编码器,来提取特征量其本身,并自律地学习。
[0069] 通过将这样的神经网络作为近似函数来使用,能够在反复进行上述的强化学习过程中的上述(1)~(5)的同时,将上述的价值函数(评价函数)存储为神经网络来推进学习。
[0070] 一般,机器学习装置在某个环境下学习结束后,即使被放置在新的环境下也能够通过进行追加的学习来推进学习从而适应于该环境。因此,如本发明那样,通过将机器学习应用于与该机器的状态对应的倍率控制用设定值(PID控制的各增益)的调整,即使在应用于新的及其控制的前提条件的情况下,也能够基于过去的倍率控制用设定值的调整的学习,进行新的加工前提条件下的追加学习,由此可在短时间内进行倍率控制用设定值的调整的学习。
[0071] 此外,在强化学习中,设为将多个智能体经由网络进行连接的系统,在智能体之间共享状态s、行动a、回报r等信息,并将该信息在各个学习中使用,由此进行各个智能体还考虑其他智能体的环境来进行学习的分散强化学习,从而能够进行高效的学习。
[0072] 在本发明中,在将组入到多个环境(控制机器的数值控制装置)中的多个智能体(机器学习装置)经由网络等连接的状态下进行分散机器学习,由此能够高效地进行控制机器的数值控制装置的倍率控制用设定值的调整的学习。
[0073] 另外,作为强化学习的算法,已知Q学习、SARSA法、TD学习、AC法等各种方法,作为应用于本发明的方法,可以采用任一种强化学习算法。上述的各个强化学习算法是公知的,因此在本说明书中省略针对各算法的详细说明。
[0074] 以下,根据具体的实施方式,对导入了机器学习装置的本发明的控制系统进行说明。
[0075] <2.实施方式>
[0076] 图5表示在导入了本发明的一实施方式的机器学习装置的数值控制装置中,与倍率控制用设定值的调整相关的机器学习的图。另外,图5中仅示出了对本实施方式的数值控制装置的机器学习的说明所需要的结构。
[0077] 在本实施方式中,作为机器学习装置20用于确定环境(在<1.机器学习>中说明的状态st)的信息,将从机器2取得的机器结构或工具种类、工件材质、切削量以及基于程序的指令进给速度、倍率控制用设定值(PID控制的各增益等)的当前值等信息作为状态信息输入至机器学习装置20。
[0078] 在本实施方式中,作为机器学习装置20对环境输出的行为(在<1.机器学习>中说明的行为at),输出在机器2的PID控制中所使用的倍率控制用设定值的调整量。
[0079] 在本实施方式的数值控制装置1中,根据从机器2取得的机器结构或工具种类、工件材质、切削量以及基于程序的指令进给速度、倍率控制用设定值(PID控制的各增益等)等的状态来定义上述状态信息。并且,能够根据机器学习装置20输出的在机器2的PID控制中所使用的倍率控制用设定值的调整量来定义上述的调整行为。
[0080] 此外,在本实施方式中,作为向机器学习装置20赋予的回报(在<1.机器学习>中说明的回报rt),采用周期时间的增减(正/负回报)、主轴负荷轻减(正/负回报)、工具破损(负回报)、加工精度(正/负回报)等。另外,关于根据何种数据来决定回报,可以由作业者适当设定。
[0081] 并且,在本实施方式中,机器学习装置20根据上述的状态信息(输入数据)、调整行为(输出数据)、回报来进行机器学习。在该机器学习中,在某时刻t,根据输入数据的组合来定义状态st,对该定义的状态st进行的倍率控制用设定值的调整为行为at,作为根据该行为at进行了倍率控制用设定值的调整的结果,新得到机器的运行结果的数据进行评价计算而得到的值为回报rt+1,如在<1.机器学习>中说明的那样,将这些应用于与机器学习的算法对应的价值函数(评价函数)的更新式来推进学习。
[0082] 以下,根据数值控制装置的功能框图来进行说明。
[0083] 图6是本实施方式的数值控制装置的功能框图。
[0084] 本实施方式的数值控制装置1具备控制驱动作为控制对象的机器2所具备的轴的伺服电动机(未图示)的伺服控制部(未图示)等数值控制装置所通常具备的结构、控制伺服控制部或周边设备等的控制部10以及作为进行机器学习的人工智能的机器学习装置20。若对比图6所示的结构和图1所示的强化学习中的要素,则机器学习装置20对应于智能体,除机器学习装置20外的机器2等结构对应于环境。此外,数值控制装置1除了上述结构外还具备通常的数值控制装置的结构,除了本发明中的机器学习的动作的说明中特别必要的结构外,将省略本说明书中的详细说明。
[0085] 控制部10分析从未图示的存储器中读取的或经由未图示的输入设备等输入的程序,并基于作为分析结果而获得的控制数据来控制机器2的各部。该控制部10通常进行基于程序的分析结果的控制,但在本实施方式中,按照根据来自机器学习装置20的输出调整后的倍率控制用设定值来进行机器2的各轴的控制。
[0086] 进行机器学习的机器学习装置20具备状态观测部21、状态数据存储部22、回报条件设定部23、回报计算部24、倍率控制用设定值调整学习部25、学习结果存储部26以及倍率控制用设定值调整量决定部27。该机器学习装置20可以如图6所示具备于数值控制装置1内,也可以具备于数值控制装置1外的个人用电脑等。
[0087] 状态观测部21经由控制部10观察与数值控制装置1和机器2相关的状态,并将观察结果作为状态数据获取至机器学习装置20内。所获取的状态数据中包括从机器2获取的机器结构或工具种类、工件材质、切削量、基于程序的指令进给速度、倍率控制用设定值(PID控制的各增益等)的当前值、以及进一步对各物理量进行运算处理而计算出的计算值等。该状态观测部21在将与数值控制装置1和机器2相关的状态作为状态数据而获取时,也可以按照预先决定的规则来进行字符、符号等数值以外的数据的数值化。
[0088] 状态数据存储部22输入并存储状态数据,并将该存储的状态数据输出至回报计算部24、倍率控制用设定值调整学习部25。被输入的状态数据既可以是在最新的加工运转中获取的数据,或者,也可以是在过去的加工运转中获取的数据。进一步地,也可以输入并存储或输出存储于另外的数值控制装置1、集中管理系统30的状态数据。
[0089] 回报条件设定部23设定在由操作者等设定的机器学习中赋予回报的条件。回报中有正的回报和负的回报,可进行适当设定。向回报条件设定部23的输入由在集中管理系统中使用的个人用电脑或平板电脑终端等来进行,也能够经由数值控制装置1所具备的未图示的MDI设备进行输入,从而可以更简单地进行设定。
[0090] 回报计算部24基于由回报条件设定部23设定的条件来分析从状态观测部21或状态数据存储部22输入的状态数据,并将所计算出的回报输出至倍率控制用设定值调整学习部25。
[0091] 以下示出了由本实施方式中的回报条件设定部23设定的回报条件的例子。此外,以下所示的回报条件是一例,也可以分别在设计上进行变更,另外,也可以设定其他各种回报条件。
[0092] [回报1:周期时间的增减(正回报、负回报)]
[0093] 在机器2的一系列动作(加工动作)的周期时间比预先决定的预定的基准值短的情况下,根据其短的程度来赋予正的回报。另一方面,在机器2的一系列动作(加工动作)的周期时间比预先决定的预定的基准值长的情况下,根据其长的程度来赋予负的回报。
[0094] [回报2:主轴负荷轻减(正/负回报)]
[0095] 在施加于机器2的动作(加工动作)中的主轴的负荷小于预先决定的预定的基准值的情况下,根据其小的程度来赋予正的回报。
[0096] 另一方面,在施加于机器2的动作(加工动作)中的主轴的负荷大于预先决定的预定的基准值的情况下,根据其大的程度来赋予负的回报。
[0097] [回报3:工具破损(负回报)]
[0098] 在安装于机器2的工具破损的情况下,赋予较大的负回报。
[0099] [回报4:加工精度(正/负回报)]
[0100] 在通过机器2的动作(加工动作)加工的工件的加工精度比预先决定的预定的基准值高的情况下(例如,在用CAD等设计的工件图和被加工的工件的尺寸误差小于预先决定的预定的基准值的情况下),根据其高度的程度来赋予正的回报。
[0101] 另一方面,在通过机器2的动作(加工动作)加工的工件的加工精度比预先决定的预定的基准值低的情况下(例如,在用CAD等设计的工件图和被加工的工件的尺寸误差大于预先决定的预定的基准值的情况下),根据其低度的程度来赋予负的回报。
[0102] 倍率控制用设定值调整学习部25基于状态观测部21观察到的状态所涉及的数据、倍率控制用设定值调整学习部25自身进行的倍率控制用设定值的调整(调整量的输出)以及由回报计算部24出计算的回报,来进行机器学习(强化学习)。在该倍率控制用设定值调整学习部25所进行的机器学习中,根据在某一时刻t的状态数据的组合来定义状态st,并根据该定义的状态st,由后述的倍率控制用设定值调整量决定部27决定倍率控制用设定值的调整动作并输出至数值控制装置1,实际调整倍率控制用设定值的行为成为行动at,另外,调整倍率控制用设定值,进行机器2的动作的控制,基于作为其结果由状态观测部21获取的状态数据,回报计算部24计算出的值成为回报rt+1。
[0103] 根据适用的学习算法来决定学习中所使用的价值函数。例如,在利用Q学习的情况下,按照上述的式(3)来更新行为价值函数Q(st,at),从而推进学习即可。
[0104] 学习结果存储部26存储倍率控制用设定值调整学习部25学习到的结果。另外,当倍率控制用设定值调整学习部25再次使用学习结果时,学习结果存储部26将该存储的学习结果输出至倍率控制用设定值调整学习部25。如上述,通过近似函数、排列或多值输出的SVM或神经网络等监督学习器等,将与利用的机器学习算法对应的价值函数存储于学习结果的存储中即可。
[0105] 此外,可以在学习结果存储部26中输入并存储另外的数值控制装置1或集中管理系统30所存储的学习结果,或向另外的数值控制装置1或集中管理系统30输出学习结果存储部26所存储的学习结果。
[0106] 倍率控制用设定值调整量决定部27基于倍率控制用设定值调整学习部25所学习的(并且,存储于学习结果存储部26)学习结果和由状态观测部21观察到的与状态相关的数据,来决定倍率控制用设定值的调整行为,并将其决定结果(倍率控制用设定值的调整量)输出至控制部10。这里的倍率控制用设定值的调整行为的决定相当于在机器学习中所使用的行动a。倍率控制用设定值的调整行为以作为调整对象的增益(Kp、KI、Kd)的选择和将所选择的增益调整为何种程度为一组,将各个组作为可选择的行为(例如,将行为1=增益Kp设定为XX,将行为2=增益KI设定为+YY,……)而预先设定并准备,根据过去的学习结果选择行为以使将来获得的回报最大。可选择的行为也可以是同时调整多个增益的行为。另外,也可以通过采用上述的ε贪婪算法,以预定的概率选择随机的行为,来实现后面的基于倍率控制用设定值调整学习部25的学习的进展。
[0107] 并且,控制部10基于从倍率控制用设定值调整量决定部27接收的倍率控制用设定值的调整量来调整倍率控制用设定值。
[0108] 利用图7的流程图对由倍率控制用设定值调整学习部25进行的机器学习的流程进行说明。
[0109] [步骤SA01]当机器学习开始时,状态观测部21经由控制部10将数值控制装置1和机器2的状态作为状态数据来观察。
[0110] [步骤SA02]倍率控制用设定值调整学习部25基于状态观测部21观察到的与状态相关的数据来确定当前状态st。
[0111] [步骤SA03]倍率控制用设定值调整量决定部27基于过去的学习结果和在步骤SA02中确定的状态st,来选择行为at(倍率控制用设定值的调整行为)。
[0112] [步骤SA04]控制部10执行在步骤SA03中选择的倍率控制用设定值的调整行为at。
[0113] [步骤SA05]状态观测部21将数值控制装置1和机器2的状态作为状态数据而获取。在该阶段,数值控制装置1和机器2的状态随着从时刻t至时刻t+1的时间推移,根据在步骤SA04执行的行为at而变化。
[0114] [步骤SA06]根据在步骤SA05中获取的状态数据,回报计算部24计算出回报rt+1。
[0115] [步骤SA07]根据在步骤SA02中确定的状态st、在步骤SA03中选择的行为at以及在步骤SA06中计算出的回报rt+1,倍率控制用设定值调整学习部25推进机器学习,并返回至步骤SA02。
[0116] 如上述,基于倍率控制用设定值调整量决定部27的决定调整倍率控制用设定值,根据所调整的倍率控制用设定值来控制机器2而使机器2动作(加工工件),进行由状态观测部21进行的状态数据的观察,反复进行机器学习,由此能够获得良好的学习结果。
[0117] 当利用充分进行了上述机器学习而得的学习数据实际调整倍率控制用设定值时,可以使机器学习装置20不进行新的学习,直接使用充分进行了机器学习而获得的学习数据来进行运转。
[0118] 此外,也可以将完成了机器学习的机器学习装置20(或者,对其他的机器学习装置20的完成了机器学习后的学习数据进行了复制的机器学习装置20)安装在其他的上位装置
1,直接使用充分进行了机器学习时的学习数据来进行运转。
[0119] 数值控制装置1的机器学习装置20可以单独进行机器学习,但是当多个数值控制装置1分别还具备与外部进行通信的通信单元时,能够相互收发在各个学习结果存储部26中存储的价值函数来共享该价值函数,能够更高效地进行机器学习。例如,在多个数值控制装置1中一边分别使不同的调整对象和不同的调整量在预定范围内变动,一边在各个数值控制装置1之间交换与状态相关的数据、作为学习结果的价值函数,由此并行地推进学习从而能够高效地进行学习。
[0120] 当这样在多个数值控制装置1之间进行交换时,通信既可以经由未图示的管理装置等来进行,也可以直接在数值控制装置1之间进行通信,还可以使用云,因为存在处理大量数据的情况,因此优选通信速度快的通信单元。
[0121] 以上对本发明的实施方式进行了说明,但本发明并不限定于上述的实施方式的例子,通过增加适当的变更能够以各种方式实施。
[0122] 例如,在上述实施方式中表示的数值控制装置1所具备的各功能单元的关系并不限于图6的功能框图所示的关系,只要具备相当于各功能单元的功能的结构,则可以划分为任意的功能单元,此外,可以在功能之间具有任何的上下关系。