CN110727242B - 机器学习装置、控制装置、以及机器学习方法 - Google Patents

机器学习装置、控制装置、以及机器学习方法 Download PDF

Info

Publication number
CN110727242B
CN110727242B CN201910624109.5A CN201910624109A CN110727242B CN 110727242 B CN110727242 B CN 110727242B CN 201910624109 A CN201910624109 A CN 201910624109A CN 110727242 B CN110727242 B CN 110727242B
Authority
CN
China
Prior art keywords
machine learning
transfer function
iir filter
coefficient
control device
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
CN201910624109.5A
Other languages
English (en)
Other versions
CN110727242A (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 CN110727242A publication Critical patent/CN110727242A/zh
Application granted granted Critical
Publication of CN110727242B publication Critical patent/CN110727242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • 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/33Director till display
    • G05B2219/33032Learn by changing input weights as function of position error

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Feedback Control In General (AREA)
  • Numerical Control (AREA)

Abstract

本发明提供一种机器学习装置、控制装置、以及机器学习方法,实现机器学习装置的收敛时间的缩短。机器学习装置(200)对伺服控制装置(100)进行机器学习,该伺服控制装置使用具有IIR滤波器(1092、1102)的前馈计算部(109、110)进行的前馈控制来控制伺服电动机(300),该机器学习是与前馈计算部的IIR滤波器的传递函数的系数优化有关的机器学习,该伺服电动机驱动机床、机器人或工业机械的轴,通过使用半径r和角度θ来进行表示的极坐标,分别表现IIR滤波器的传递函数为零的零点以及传递函数无限发散的极,并在规定的搜索范围内分别搜索半径r和角度θ并进行学习,由此,进行IIR滤波器的传递函数的系数优化。

Description

机器学习装置、控制装置、以及机器学习方法
技术领域
本发明涉及对伺服控制装置进行机器学习的机器学习装置、包含该机器学习装置的控制装置、以及机器学习方法,其中,该伺服控制装置使用具有IIR(Infinite impulseresponse;无限脉冲响应)滤波器的前馈计算部进行的前馈控制来控制伺服电动机,该机器学习是与IIR滤波器的传递函数的系数优化有关的机器学习,该伺服电动机驱动机床、机器人或工业机械的轴。
背景技术
例如,在专利文献1中记载有使用了具有IIR滤波器的前馈计算部进行的前馈控制的伺服控制装置。
专利文献1是关于伺服电动机的控制装置的发明,有如下记载:速度前馈器(与后述的本实施方式的位置前馈计算部对应)由速度进给运算器(与后述的本实施方式的微分器对应)和速度前馈滤波器构成,作为速度前馈滤波器可以使用IIR滤波器(段落0080等)。
现有技术文献
专利文献1:日本特开2003-23785号公报
专利文献1记载使用了IIR滤波器的前馈控制,但是对于实现IIR滤波器的传递函数的系数优化的机器学习没有记载。
发明内容
本发明的目的在于提供一种机器学习装置、包含该机器学习装置的控制装置、以及机器学习方法,针对使用具有IIR滤波器的前馈计算部进行的前馈控制来控制伺服电动机的伺服控制装置,可以缩短用于实现IIR滤波器的传递函数的系数优化的机器学习的收敛时间。
(1)本发明涉及一种机器学习装置(例如,机器学习装置200),其对伺服控制装置(例如,后述的伺服控制装置100)进行机器学习,其中,该伺服控制装置使用具有IIR滤波器(例如,后述的IIR滤波器1092或1102)的前馈计算部(例如,后述的速度前馈计算部109或位置前馈计算部110)进行的前馈控制来控制伺服电动机(例如,后述的伺服电动机300),该机器学习是与所述IIR滤波器的传递函数的系数优化有关的机器学习,所述伺服电动机驱动机床、机器人或工业机械的轴,
通过使用半径r和角度θ来进行表示的极坐标,分别表现所述IIR滤波器的传递函数为零的零点以及该传递函数无限发散的极,并在规定的搜索范围内分别搜索半径r和角度θ并进行学习,由此,进行所述IIR滤波器的传递函数的系数优化。
(2)在上述(1)的机器学习装置中,可以是,根据衰减率来规定所述半径r的搜索范围,根据抑制振动的频率来规定所述角度θ的搜索范围。
(3)在上述(1)或(2)的机器学习装置中,可以是,所述机器学习装置在进行所述极的搜索之前,进行所述零点的搜索。
(4)在上述(1)~(3)中的任一项的机器学习装置中,可以是,所述机器学习装置在搜索所述零点时,固定所述极。
(5)在上述(1)~(4)中的任一项的机器学习装置中,可以是,所述机器学习装置在进行所述半径r的搜索之前,进行所述角度θ的搜索。
(6)在上述(1)~(5)中的任一项的机器学习装置中,可以是,所述机器学习装置在搜索所述角度θ时,将所述半径r固定为固定值。
(7)在上述(1)~(6)中的任一项的机器学习装置中,可以是,通过复数和共轭复数来表现所述零点。
(8)在上述(1)~(7)中的任一项的机器学习装置中,可以是,所述前馈计算部是速度前馈计算部或位置前馈计算部。
(9)在上述(1)~(8)中的任一项的机器学习装置中,可以是,
所述前馈计算部是速度前馈计算部,
所述机器学习装置还具有具备IIR滤波器的位置前馈计算部,
所述机器学习装置在进行所述位置前馈计算部的IIR滤波器的传递函数的优化之前,进行所述速度前馈计算部的IIR滤波器的传递函数的优化。
(10)在上述(1)~(9)中的任一项的机器学习装置中,可以是,
所述机器学习装置具有:
状态信息取得部(例如,后述的状态信息取得部201),其通过使所述伺服控制装置执行规定的加工程序,从所述伺服控制装置取得状态信息,该状态信息包含伺服状态和所述前馈计算部的传递函数,所述伺服状态至少包含位置偏差;
行为信息输出部(例如,后述的行为信息输出部203),其将行为信息输出给所述伺服控制装置,该行为信息包含所述状态信息所包含的输送传递函数的系数的调整信息;
回报输出部(例如,后述的回报输出部2021),其输出基于所述状态信息所包含的所述位置偏差的、强化学习中的回报值;以及
价值函数更新部(例如,后述的价值函数更新部2022),其根据由所述回报输出部输出的回报值、所述状态信息、所述行为信息来更新行为价值函数。
(11)在上述(10)的机器学习装置中,可以是,所述回报输出部根据所述位置偏差的绝对值来输出所述回报值。
(12)在上述(10)或(11)的机器学习装置中,可以是,所述机器学习装置具有:优化行为信息输出部(例如,后述的优化行为信息输出部205),其根据由所述价值函数更新部更新而得的价值函数,生成并输出所述前馈计算部的传递函数的系数的修正信息。
(13)本发明涉及一种控制装置,具有:上述(1)~(12)中任一项的机器学习装置;以及
伺服控制装置,其使用具有IIR滤波器的前馈计算部进行的前馈控制,对驱动机床、机器人或工业机械的轴的伺服电动机进行控制。
(14)在上述(13)的控制装置中,可以是,所述机器学习装置包含于所述伺服控制装置中。
(15)本发明涉及一种机器学习装置(例如,机器学习装置200)的机器学习方法,该机器学习装置对伺服控制装置(例如,后述的伺服控制装置100)进行机器学习,其中,该伺服控制装置使用具有IIR滤波器(例如,后述的IIR滤波器1092或1102)的前馈计算部(例如,后述的速度前馈计算部109或位置前馈计算部110)进行的前馈控制来控制伺服电动机(例如,后述的伺服电动机300),该机器学习是与所述IIR滤波器的传递函数的系数优化有关的机器学习,所述伺服电动机驱动机床、机器人或工业机械的轴,
通过使用半径r和角度θ来进行表示的极坐标,分别表现所述IIR滤波器的传递函数为零的零点以及该传递函数无限发散的极,并在规定的搜索范围内分别搜索半径r和角度θ并进行学习,由此,进行所述IIR滤波器的传递函数的系数优化。
发明效果
根据本发明,可以缩短用于实现IIR滤波器的传递函数的系数优化的机器学习的收敛时间。
附图说明
图1是表示本发明的一实施方式的控制装置的一结构例的框图。
图2是表示成为伺服控制装置的控制对象的一例的、包含伺服电动机的机床的一部分的框图。
图3是用于对加工形状是八边形时的伺服电动机的动作进行说明的图。
图4是用于对加工形状是八边形的角每隔一个置换为圆弧的形状时的电动机的动作进行说明的图。
图5是表示极和零点的搜索范围的复平面的说明图。
图6是表示本实施方式的机器学习装置的框图。
图7是说明本实施方式的机器学习装置的动作的流程图。
图8是说明本实施方式的机器学习装置的优化行为信息输出部的动作的流程图。
图9是表示其他结构的控制装置的框图。
符号说明
10、10A 控制装置
100 伺服控制装置
101 位置指令制作部
102 减法器
103 位置控制部
104 加法器
105 减法器
106 速度控制部
107 加法器
108 积分器
109 速度前馈计算部
110 位置前馈计算部
200 机器学习装置
201 状态信息取得部
202 学习部
203 行为信息输出部
204 价值函数存储部
205 优化行为信息输出部
300 伺服电动机
400 控制对象
500 网络
具体实施方式
以下,使用附图对本发明的实施方式进行详细说明。
图1是表示本发明的一实施方式的控制装置的一结构例的框图。图1所示的控制装置10具有伺服控制装置100和机器学习装置200。
伺服电动机300是伺服控制装置100的控制对象,例如包含于机床、机器人、或工业机械等中。伺服控制装置100也可以与伺服电动机300一起设置为机床、机器人、或工业机械等的一部分。
首先,对伺服控制装置100进行说明。
伺服控制装置100具有:位置指令制作部101、减法器102、位置控制部103、加法器104、减法器105、速度控制部106、加法器107、积分器108、速度前馈计算部109、以及位置前馈计算部110。速度前馈计算部109具有二阶微分器1091和IIR滤波器1092。此外,位置前馈计算部110具有微分器1101和IIR滤波器1102。
位置指令制作部101制作位置指令值,将制作出的位置指令值输出给减法器102、速度前馈计算部109、位置前馈计算部110、以及机器学习装置200。减法器102求出位置指令值与位置反馈的检测位置之差,将该差作为位置偏差输出给位置控制部103和机器学习装置200。
位置指令制作部101根据使伺服电动机300动作的程序来制作位置指令值。伺服电动机300例如包含于机床中。在机床中,在搭载被加工物(工件)的工作台在X轴方向和Y轴方向上移动时,对X轴方向和Y轴方向分别设置图1所示的伺服控制装置100和伺服电动机300。在使工作台在三轴以上的方向上移动时,对各轴方向设置伺服控制装置100和伺服电动机300。
位置指令制作部101设定进给速度来制作位置指令值,以成为由加工程序指定的加工形状。
位置控制部103将位置增益Kp乘以位置偏差而得的值作为速度指令值输出给加法器104。
加法器104将速度指令值与位置前馈计算部110的输出值(位置前馈项)相加,作为前馈控制的速度指令值输出给加法器105。减法器105求出加法器104的输出与速度反馈的速度检测值之差,将该差作为速度偏差输出给速度控制部106。
速度控制部106将积分增益K1v乘以速度偏差而进行了积分所得的值、与比例增益K2v乘以速度偏差所得的值相加,作为转矩指令值输出给加法器107。
加法器107将转矩指令值与速度前馈计算部109的输出值(速度前馈项)相加,作为前馈控制的转矩指令值输出给伺服电动机300来驱动伺服电动机300。
通过与伺服电动机300关联起来的、作为位置检测部的旋转编码器来检测伺服电动机300的旋转角度位置,速度检测值作为速度反馈而输入到减法器105。速度检测值通过积分器108而被积分成为位置检测值,位置检测值作为位置反馈输入到减法器102。
速度前馈计算部109的二阶微分器1091对位置指令值进行二阶微分并乘以常数α,IIR滤波器1092对二阶微分器1091的输出进行由数学式1(以下表示为数学式1)表示的传递函数VFF(z)所示的IIR滤波处理,将其处理结果作为速度前馈项输出给加法器107。数学式1的系数a1、a2、b0~b2是IIR滤波器1092的传递函数的各系数。另外,这里传递函数VFF(z)的分母和分子都为二次函数,但是并不特别限定于二次函数,也可以是三次以上的函数。
【数学式1】
Figure BDA0002126495220000071
位置前馈计算部110的微分器1101对位置指令值进行微分并乘以常数β,IIR滤波器1102对微分器1101的输出进行由数学式2(以下表示为数学式2)表示的传递函数PFF(z)所示的IIR滤波处理,将其处理结果作为位置前馈项输出给加法器104。数学式2的系数c1、c2、d0~d2是IIR滤波器1102的传递函数的各系数。这里传递函数PFF(z)的分母和分子都为二次函数,但是并不特别限定于二次函数,也可以是三次以上的函数。
【数学式2】
Figure BDA0002126495220000072
像以上那样,构成伺服控制装置100。
接下来,对包括由伺服控制装置100控制的伺服电动机300的控制对象400进行说明。
图2是表示成为伺服控制装置100的控制对象400的一例的、包含伺服电动机300的机床的一部分的框图。
伺服控制装置100通过伺服电动机300经由连接机构302使工作台303移动,由此,对搭载于工作台303上的被加工物(工件)进行加工。连接机构302具有与伺服电动机300连接的联轴器(coupling)3021、固定于联轴器3021的滚珠丝杠3023,螺母3022与滚珠丝杠3023螺合。通过伺服电动机300的旋转驱动,与滚珠丝杠3023螺合的螺母3022向滚珠丝杠3023的轴向移动。通过螺母3022的移动,工作台303得以移动。
通过与伺服电动机300关联起来的、作为位置检测部的旋转编码器301来检测伺服电动机300的旋转角度位置。如上所述,检测出的信号用作速度反馈。检测出的信号通过积分器108进行积分而用作位置反馈。另外,也可以将安装于滚珠丝杠3023的端部,检测滚珠丝杠3023的移动距离的线性标尺304的输出用作位置反馈。此外,也可以使用加速度传感器来生成位置反馈。
<机器学习装置200>
机器学习装置200通过执行预先设定的加工程序(以下,也称为“学习时的加工程序”),对速度前馈计算部109的IIR滤波器1092的传递函数的系数、以及位置前馈计算部110的IIR滤波器1102的传递函数的系数进行学习。
这里,由学习时的加工程序指定的加工形状例如是八边形、或八边形的角每隔一个置换为圆弧的形状等。另外,由学习时的加工程序指定的加工形状并不限定于这些加工形状,也可以是其他加工形状。
图3是用于对加工形状是八边形时的电动机的动作进行说明的图。图4是用于对加工形状是八边形的角每隔一个置换为圆弧的形状时的电动机的动作进行说明的图。在图3和图4中,工作台在X轴和Y轴方向上移动以便顺时针加工被加工物(工件)。
如图3所示,在加工形状为八边形时,在角的位置A1处,使工作台在Y轴方向上移动的电动机转速慢,使工作台在X轴方向上移动的电动机转速快。
在角的位置A2处,使工作台在Y轴方向上移动的电动机旋转方向反转,工作台以在Y轴方向上直线反转的方式进行移动。此外,使工作台在X轴方向上移动的电动机从位置A1朝向位置A2和从位置A2朝向位置A3,以相同的旋转方向,等速旋转。
在角的位置A3处,使工作台在Y轴方向上移动的电动机转速快,使工作台在X轴方向上移动的电动机转速慢。
在角的位置A4处,使工作台在X轴方向上移动的电动机旋转方向反转,工作台以在X轴方向上直线反转的方式进行移动。此外,使工作台在Y轴方向上移动的电动机从位置A3朝向位置A4和从位置A4朝向下一个角的位置,以相同的旋转方向,等速旋转。
如图4所示,在加工形状是八边形的角每隔一个置换为圆弧的形状时,在角的位置B1处,使工作台在Y轴方向上移动的电动机转速慢,使工作台在X轴方向上移动的电动机转速快。
在圆弧的位置B2处,使工作台在Y轴方向上移动的电动机旋转方向反转,工作台以在Y轴方向上直线反转的方式进行移动。此外,使工作台在X轴方向上移动的电动机从位置B1朝向位置B3以相同的旋转方向,等速旋转。与图3所示的加工形状为八边形的情况不同,使工作台在Y轴方向上移动的电动机朝向位置B2缓缓减速,在位置B2处停止旋转,通过位置B2时旋转方向缓缓增加,以便在位置B2的前后形成圆弧的加工形状。
在角的位置B3处,使工作台在Y轴方向上移动的电动机转速快,使工作台在X轴方向上移动的电动机转速慢。
在圆弧的位置B4处,使工作台在X轴方向上移动的电动机旋转方向反转,工作台以在X轴方向上直线反转的方式进行移动。此外,使工作台在Y轴方向上移动的电动机从位置B3朝向位置B4、和从位置B4朝向下一个角的位置以相同的旋转方向,等速旋转。使工作台在X轴方向上移动的电动机朝向位置B4缓缓减速,在位置B4处停止旋转,通过位置B4时旋转方向缓缓增加,以便在位置B4的前后形成圆弧的加工形状。
在本实施方式中,通过以上说明的、由学习时的加工程序指定的加工形状的位置A1与位置A3、以及位置B1与位置B3,评价在线性控制中变更转速时的振动,调查针对位置偏差的影响,由此,进行速度前馈计算部109的IIR滤波器1092的传递函数的系数优化、以及位置前馈计算部110的IIR滤波器1102的传递函数的系数优化有关的机器学习。另外,IIR滤波器的传递函数的系数优化有关的机器学习并非特别限定于速度前馈计算部、位置前馈计算部,例如还能够应用于进行伺服控制装置的电流前馈时设置的、具有IIR滤波器的电流前馈计算部。
以下,对机器学习装置200进行更详细说明。
如后面描述那样,本实施方式的机器学习装置200作为机器学习的一例,进行在伺服控制装置100中分别构成速度环和位置环的、速度前馈计算部109与位置前馈计算部110的传递函数的系数优化有关的强化学习。另外,本发明中的机器学习不限于强化学习,也可以应用于进行其他机器学习(例如监督学习)的情况。
在进行机器学习装置200所包含的各功能块的说明之前,首先对强化学习的基本结构进行说明。智能体(相当于本实施方式中的机器学习装置200)观测环境状态,选择某个行为,根据该行为环境发生变化。随着环境的变化,提供某种回报,智能体学习更好的行为选择(决策)。
监督学习表示完全的正确答案,而强化学习中的回报大多是基于环境的部分变化的片段值。因此,智能体学习选择行为使得到将来的回报合计为最大。
这样,在强化学习中通过学习行为,在行为给予环境的相互作用基础上学习适当的行为,即学习用于使将来获得的回报为最大的要学习的方法。这表示在本实施方式中,可以获得例如选择用于降低位置偏差的行为信息这样的、影响未来的行为。
这里,作为强化学习可以使用任意的学习方法,在以下的说明中,以在某种环境状态S下,使用Q学习(Q-learning)的情况为例进行说明,所述Q学习是学习选择行为A的价值Q(S、A)的方法。
Q学习以在某种状态S时从能够取得的行为A中将价值Q(S、A)最高的行为A选择为最佳行为为目的。
但是,在最初开始Q学习的时间点,对于状态S与行为A的组合来说,完全不知晓价值Q(S、A)的正确值。因此,智能体在某种状态S下选择各种行为A,针对当时的行为A,根据给予的回报,选择更好的行为,由此,继续学习正确的价值Q(S、A)。
此外,想要使将来获得的回报的合计最大化,因此,目标是最终成为Q(S、A)=E[Σ(γt)rt]。这里,E[]表示期待值,t表示时刻、γ表示后述的称为折扣率的参数,rt表示时刻t的回报,Σ是时刻t的合计。该数学式中的期待值是按最佳行为状态发生变化时的期望值。但是在Q学习的过程中,由于不知道最佳行为,因此通过进行各种行为,一边搜索一边进行强化学习。这样的价值Q(S、A)的更新式例如可以通过如下的数学式3(以下表示为数学式3)来表示。
【数学式3】
Figure BDA0002126495220000101
在上述的数学式3中,St表示时刻t的环境状态,At表示时刻t的行为。通过行为At,状态变化为St+1。rt+1表示通过该状态的变化而得到的回报。此外,带有max的项是:在状态St+1下,将γ乘以选择出当时知道的Q值最高的行为A时的Q值而得的。这里,γ是0<γ≤1的参数,称为折扣率。此外,α是学习系数,设α的范围为0<α≤1。
上述的数学式3表示如下方法:根据尝试At的结果而反馈回来的回报rt+1,更新状态St下的行为At的价值Q(St、At)。
该更新式表示了:若行为At导致的下一状态St+1下的最佳行为的价值maxa Q(St+1、A)比状态St下的行为At的价值Q(St、At)大,则增大Q(St、At),反之如果小,则减小Q(St、At)。也就是说,使某种状态下的某种行为的价值接近该行为导致的下一状态下的最佳行为价值。其中,尽管该差因折扣率γ和回报rt+1的存在形式而变化,但基本上是某种状态下的最佳行为价值传播至其前一个状态下的行为价值的结构。
这里,Q学习存在如下方法:制作针对所有状态行为对(S、A)的Q(S、A)的表格,来进行学习。但是,有时为了求出所有状态行为对的Q(S、A)的值状态数会过多,使得Q学习收敛需要较多的时间。
因此,可以利用公知的称为DQN(Deep Q-Network)的技术。具体来说,可以使用适当的神经网络来构成价值函数Q,调整神经网络的参数,由此通过适当的神经网络来近似价值函数Q来计算价值Q(S、A)的值。通过利用DQN,能够缩短Q学习收敛所需的时间。另外,关于DQN,例如在以下的非专利文献中有详细的记载。
<非专利文献>
“Human-level control through deep reinforcement learning”,VolodymyrMnih1著[online],[平成29年1月17日检索],因特网〈URL:http://files.davidqiu.com/research/nature14236.pdf〉
机器学习装置200进行以上说明的Q学习。
机器学习装置200对图1所示的、速度前馈计算部109的IIR滤波器1092的传递函数、与位置前馈计算部110的IIR滤波器1102的传递函数进行机器学习(以下,称为学习)。
机器学习装置200先于IIR滤波器1102的传递函数的系数学习来进行处于比IIR滤波器1102靠近内侧(内环)的IIR滤波器1092的传递函数的系数学习。具体来说,固定IIR滤波器1102的传递函数的系数,学习IIR滤波器1092的传递函数的系数的最佳值。之后,机器学习装置200将IIR滤波器1092的传递函数的系数固定为通过学习而获得的最佳值,学习IIR滤波器1102的传递函数的系数。通过先于IIR滤波器1102的传递函数的系数的学习来进行IIR滤波器1092的传递函数的系数的学习,在通过学习而优化的速度前馈项(IIR滤波器1092的输出)的条件下,可以进行IIR滤波器1102的传递函数的系数优化有关的学习。
IIR滤波器1092的传递函数的系数的学习、与IIR滤波器1102的传递函数的系数的学习可以同时进行,但是在同时进行学习时,机器学习的信息处理量增大导致机器学习的收敛时间变长。
如上所述,首先,机器学习装置200进行速度前馈计算部109的IIR滤波器1092的传递函数的系数的机器学习。机器学习装置200学习将状态S有关的、IIR滤波器1092的传递函数VFF(z)的系数a1,a2,b0~b2的调整选择为行为A的价值Q,其中,将指令和反馈等伺服状态设为状态S,所述指令和反馈包含速度前馈计算部109的IIR滤波器1092的传递函数VFF(z)的系数a1,a2,b0~b2、通过执行学习时的加工程序而取得的伺服控制装置100的位置偏差信息、以及位置指令。
具体来说,本发明的实施方式涉及的机器学习装置200在规定的范围内分别搜索用极坐标表示了传递函数VFF(z)的零点和极的半径r与角度θ并进行学习,由此,设定IIR滤波器1092的传递函数VFF(z)的系数。另外,极是传递函数VFF(z)为无限大的z值,零点是传递函数VFF(z)为0的z值。
因此,以如下方式对传递函数VFF(z)的分子中的系数进行变形。
b0+b1z-1+b2z-2=b0(1+(b1/b0)z-1+(b2/b0)z-2)
以下,只要没有特别说明,就通过b1’和b2’来分别表示(b1/b0)和(b2/b0)进行说明。
并且,机器学习装置200学习位置偏差为最小那样的半径r与角度θ,设定传递函数VFF(z)的系数a1、a2、b1’以及b2’。
系数b0例如可以在将半径r和角度θ分别设定为最佳值r0和θ0之后,进行机器学习来求出。系数b0可以与角度θ同时进行学习。此外,也可以与半径r同时进行学习。
之后,以与IIR滤波器1092的传递函数VFF(z)相同的方法来进行IIR滤波器1102的传递函数PFF(z)的系数c1,c2,d0~d2的学习。在以下的说明中,对速度前馈计算部109的IIR滤波器1092的传递函数VFF(z)的系数的学习进行说明,位置前馈计算部110的IIR滤波器1102的传递函数PFF(z)的系数的学习也同样进行。
机器学习装置200根据IIR滤波器1092的传递函数VFF(z)的系数a1,a2,b0~b2的值来观测包含指令以及反馈等伺服状态的状态信息S,从而决定行为A,其中,指令以及反馈包含通过执行学习时的加工程序而在所述的加工形状的位置A1与位置A3和位置B1与位置B3处的、伺服控制装置100的位置指令以及位置偏差信息。机器学习装置200每当进行行为A时返回回报。机器学习装置200例如试错性地搜索最佳行为A以使到将来的回报合计为最大。通过这样,机器学习装置200能够对包含指令和反馈等伺服状态的状态S选择最佳行为A(即,IIR滤波器1092的传递函数VFF(z)的最佳的零点和极值),其中,上述指令和反馈包含根据系数值来执行学习时的加工程序所取得的伺服控制装置100的位置指令以及位置偏差信息,该系数值是根据IIR滤波器1092的传递函数VFF(z)的零点、极值计算出的。在位置A1与位置A3和位置B1与位置B3处,X轴方向和Y轴方向的伺服电动机的旋转方向不变,机器学习装置200可以学习线性动作时的IIR滤波器1092的传递函数VFF(z)的零点和极值。
即,根据由机器学习装置200学习到的价值函数Q,选择应用于某种状态S有关的IIR滤波器1092的传递函数VFF(z)的行为A中的、Q的值为最大那样的行为A,由此,能够选择通过执行学习时的加工程序而取得的位置偏差为最小那样的行为A(即,IIR滤波器1092的传递函数VFF(z)的零点和极值)。
以下说明学习位置偏差为最小那样的、用极坐标表示了IIR滤波器1092的传递函数VFF(z)的零点和极的半径r与角度θ,来求出传递函数VFF(z)的系数a1、a2、b1’、b2’的方法、以及求出系数b0的方法。
机器学习装置200设定从IIR滤波器1092取得的极和零点,其中,极是数学式1的传递函数VFF(z)为无限大的z,零点是传递函数VFF(z)为0的z。
机器学习装置200为了求出极和零点,对数学式1的分母和分子乘以z2,求出数学式4(以下,表示为数学式4)
【数学式4】
Figure BDA0002126495220000141
极是数学式4的分母为0的z,即z2+a1z+a2=0的z,零点是数学式4的分子为0的z,即z2+b1’z+b2’=0的z。
在本实施方式中用极坐标表示极和零点,对用极坐标表示的极和零点进行搜索。
为了抑制振动,零点尤为重要,机器学习装置200首先将极固定,将在分子(z2+b1’z+b2’)中把z=re和其共轭复数z*=re-iθ设为零点(角度θ在规定范围内,0≤r≤1)时计算出的系数b1’(=-re-re-iθ)和b2’(=r2)设定为传递函数VFF(z)的系数,由此,在极坐标上搜索零点re来学习最佳系数b1’、b2’。半径r取决于衰减率,角度θ取决于抑制振动的频率。之后,可以将零点固定为最佳值,来学习系数b0的值。接下来,用极坐标表示传递函数VFF(z)的极,以与上述的零点相同的方法来搜索用极坐标表示的极值re。通过这样,可以学习传递函数VFF(z)的分母的最佳系数a1、a2的值。
另外,在固定极来学习传递函数VFF(z)的分子中的系数时,只要可以抑制高频侧的增益即可,例如,极相当于二阶低通滤波器。例如,通过数学式5(以下表示为数学式5)来表示二阶低通滤波器的传递函数。ω是滤波器的峰值增益频率。
【数学式5】
Figure BDA0002126495220000151
另外,在将极设为三阶低通滤波器时,传递函数可以设置三个由1/(1+Ts)表示的一阶低通滤波器(T是滤波器的时间常数)来构成,或将该一阶低通滤波器与数学式5的二阶低通滤波器组合来构成。
另外,z区域中的传递函数使用双线性变换来求出上述的s区域的传递函数。
另外,传递函数VFF(z)的极与零点可以同时进行搜索,但是分开搜索极和零点并分开进行学习,可以降低机器学习量,可以缩短学习时间。
在图5的复平面中,极与零点的搜索范围可以缩小到斜线区域所表示的规定的搜索范围,将半径r例如设为0≤r≤1的范围,速度环能够响应的频率范围规定角度θ。关于频率的范围,由于速度环的共振而产生的振动是200Hz左右,因此例如可以将频率范围的上限设为200Hz。虽然可以通过机床等控制对象的共振特性来决定搜索范围,但是在将采样周期设为1msec时,由于角度θ以大约250Hz对应于90度,因此若将频率范围的上限设为200Hz,就会成为图5的复平面那样的角度θ的搜索范围。通过这样将搜索范围缩小到规定范围,可以降低机器学习量,可以缩短机器学习的收敛时间。
在极坐标上搜索零点时,首先将系数b0固定为例如1,将半径r固定为(0≤r≤1)的范围内的任意值,在上述的图5所示的搜索范围中尝试设定角度θ来设定z和其共轭复数z*为(z2+b1’z+b2’)的零点那样的系数b1’(=-re-re-jθ)和b2’(=r2)。在图5所示的搜索范围内设定角度θ的初始设定值。
机器学习装置200将求出的系数b1’和b2’的调整信息作为行为A输出给IIR滤波器1092,设定IIR滤波器1092的传递函数VFF(z)的分子的系数b1’和b2’。系数b0如上所述例如设定为1。在通过机器学习装置200进行角度θ的搜索的学习而决定价值Q的值为最大那样的最佳角度θ0时,之后,将角度θ固定为该角度θ0而将半径r设为可变,设定IIR滤波器1092的传递函数VFF(z)的分子的系数b1’(=-re-re-jθ)和b2’(=r2)。通过进行半径r的搜索的学习,决定价值Q的值为最大那样的最佳半径r0。通过角度θ0和半径r0来设定系数b1’和b2’,之后,通过对b0进行学习,决定传递函数VFF(z)的分子的系数b0,b1’和b2’。
在极坐标上搜索极的情况也可以与传递函数VFF(z)的分子一样进行学习。首先,将半径r固定为(例如,0≤r≤1)的范围的值,与零点的搜索一样,在上述的搜索范围中搜索角度θ,通过学习决定IIR滤波器1092的传递函数VFF(z)的极的最佳角度θ时,之后,将角度θ固定为该角度来搜索半径r并进行学习,由此,决定IIR滤波器1092的传递函数VFF(z)的极的最佳角度θ和最佳半径r。通过这样,决定极的最佳角度θ和最佳半径r对应的最佳系数a1、a2。另外,如已经描述过那样,半径r取决于衰减率,角度θ取决于抑制振动的频率,为了抑制振动而希望先于半径来学习角度θ。
如以上那样,分别在规定的范围内进行搜索用极坐标表示了IIR滤波器1092的传递函数VFF(z)的零点和极的半径r和角度θ并进行学习,以使位置偏差最小,由此,可以比直接学习系数a1、a2、b0、b1’和b2’更高效地进行传递函数VFF(z)的系数a1、a2、b0、b1’和b2’的优化。
另外,在进行IIR滤波器1092的传递函数VFF(z)的系数b0的学习时,例如将系数b0的初始值设为1,使之后行为A所包含的、传递函数VFF(z)的系数b0加上或减去增量。系数b0的初始值不限于1。系数b0的初始值可以设为任意值。机器学习装置200每当进行行为A时都根据位置偏差来给予回报,通过试错性地搜索最佳行为A的强化学习将传递函数VFF(z)的系数b0调整为价值Q的值为最大那样的最佳值,以使到将来的回报的合计最大。这里,系数b0的学习在半径r的学习之后,但是也可以与角度θ同时学习,还可以与半径r同时学习。
另外,半径r、角度θ、系数b0也可以同时学习,但是通过分开学习可以降低机器学习量,可以缩短机器学习的收敛时间。
在IIR滤波器1092的传递函数VFF(z)的系数优化有关的学习结束时,接着进行IIR滤波器1102的传递函数PFF(z)的系数优化有关的学习。
机器学习装置200为了求出极和零点,对数学式2的分母和分子乘以z2,求出数学式6(以下,表示为数学式6)。
【数学式6】
Figure BDA0002126495220000171
数学式6的d1’和d2’对应于(d1/d0)和(d2/d0)。
对用极坐标表示了此后的IIR滤波器1102的传递函数PFF(z)的零点和极的半径r与角度θ进行学习,进行传递函数PFF(z)的系数c1、c2、d0~d2的优化,由于与上述的对用极坐标表示了IIR滤波器1092的传递函数VFF(z)的零点和极的半径r与角度θ进行学习的情况一样,因此省略说明。
图6是表示本实施方式的机器学习装置200的框图。以下说明学习速度前馈计算部109的IIR滤波器1092的传递函数VFF(z)的系数,与之后进行的学习位置前馈计算部110的IIR滤波器1102的传递函数的系数一样来进行。
为了进行上述的强化学习,如图6所示,机器学习装置200具有:状态信息取得部201、学习部202、行为信息输出部203、价值函数存储部204、以及优化行为信息输出部205。学习部202具有回报输出部2021、价值函数更新部2022、以及行为信息生成部2023。
状态信息取得部201从伺服控制装置100取得包含指令、反馈等伺服状态的状态S,其中,指令、反馈包含根据伺服控制装置100中的速度前馈计算部109的IIR滤波器1092的传递函数VFF(z)的系数a1、a2、b0~b2的值来执行学习时的加工程序而取得的伺服控制装置100的位置指令和位置偏差信息。该状态信息S相当于Q学习中的环境状态S。
状态信息取得部201对学习部202输出取得到的状态信息S。此外,状态信息取得部201从行为信息生成部2023取得用极坐标表示了零点和极的角度θ、半径r、以及与它们对应的系数a1、a2、b1’、b2’并进行存储,从伺服控制装置100取得的系数a1、a2、b1’、b2’所对应的用极坐标表示了零点和极的角度θ、半径r也一起输出给学习部202。
另外,最初开始Q学习的时间点的IIR滤波器1092的传递函数VFF(z)的初始设定由用户预先设定。在本实施方式中,之后,如上所述,通过在规定的范围内分别搜索用极坐标表示了零点和极的半径r与角度θ的强化学习,将用户初始设定的IIR滤波器1092的传递函数VFF(z)的系数a1、a2、b0~b2调整为最佳。速度前馈计算部109的二阶微分器1091的系数α设为固定值,例如设α=1。此外,IIR滤波器1092的传递函数VFF(z)的分母的初始设定设为数学式5所示那样(通过双线性变换而变换后的z区域的传递函数)。此外,对于传递函数VFF(z)的分子的系数b0~b2的初始设定例如可以设b0=1,将r设为0≤r≤1的范围内的值,将θ设为上述的规定搜索范围内的值。
另外,位置前馈计算部110的初始设定也是一样进行。
此外,关于系数a1、a2、b0~b2以及系数c1、c2、d0~d2,在操作员预先调整了机床的情况下,可以将用极坐标表示了调整完成的传递函数的零点和极的半径r与角度θ的值设为初始值来进行机器学习。
学习部202是在某种环境状态S下对选择某种行为A时的价值Q(S、A)进行学习的部分。另外,关于行为A,例如将系数b0固定为1,根据用极坐标表示了传递函数VFF(z)的零点的半径r与角度θ的修正信息来计算IIR滤波器1092的传递函数VFF(z)的分子的系数b1’、b2’的修正信息。在以下的说明中,以系数b0例如初始设定为1,行为信息A是系数b1’、b2’的修正信息的情况为例进行说明。
回报输出部2021是在某种状态S下计算选择了行为A时的回报的部分。这里,状态S下的状态变量即位置偏差的集合(位置偏差集合)通过PD(S)来表示,因行为信息A而从状态S变化了的状态信息S’有关的状态变量即位置偏差集合通过PD(S’)来表示。此外,状态S下的位置偏差的值设为根据预先设定的评价函数f(PD(S))而计算出的值。
作为评价函数f,例如可以应用如下等函数,
计算位置偏差的绝对值的积分值的函数
∫|e|dt
对位置偏差的绝对值进行时间加权来计算积分值的函数
∫t|e|dt
计算位置偏差的绝对值的2n(n是自然数)次幂的积分值的函数
∫e2ndt(n是自然数)
计算位置偏差的绝对值的最大值的函数
Max{|e|}。
此时,在根据通过行为信息A进行了修正的状态信息S’有关的修正后的速度前馈计算部109而进行了动作的伺服控制装置100的位置偏差的值f(PD(S’))比根据通过行为信息A进行修正前的状态信息S有关的修正前的速度前馈计算部109而进行了动作的伺服控制装置100的位置偏差的值f(PD(S))大时,回报输出部2021使回报值为负值。
另一方面,在根据通过行为信息A进行了修正的状态信息S’有关的修正后的速度前馈计算部109而进行了动作的伺服控制装置100的位置偏差的值f(PD(S’))比根据通过行为信息A进行修正前的状态信息S有关的修正前的速度前馈计算部109而进行了动作的伺服控制装置100的位置偏差的值f(PD(S))小时,回报输出部2021使回报值为正值。
另外,在根据通过行为信息A进行了修正的状态信息S’有关的修正后的速度前馈计算部109而进行了动作的伺服控制装置100的位置偏差的值f(PD(S’))与根据通过行为信息A进行修正前的状态信息S有关的修正前的速度前馈计算部109而进行了动作的伺服控制装置100的位置偏差的值f(PD(S))相等时,回报输出部2021使回报值为零。
此外,执行行为A后的状态S’的位置偏差的值f(PD(S’))比之前的状态S下的位置偏差的值f(PD(S))大时的负值,可以根据比例将负值设定得大。也就是说,可以根据位置偏差的值变大的程度使负值变大。反之,执行行为A后的状态S’的位置偏差的值f(PD(S’))比之前的状态S下的位置偏差的值f(PD(S))小时的正值,可以根据比例将正值设定得大。也就是说,可以根据位置偏差的值变小的程度使正值变大。
价值函数更新部2022根据状态S、行为A、将行为A应用于状态S时的状态S’、如上所述计算出的回报值来进行Q学习,由此,对价值函数存储部204存储的价值函数Q进行更新。
价值函数Q的更新既可以通过在线学习来进行,也可以通过批量学习来进行,还可以通过小批量学习来进行。
在线学习是如下学习方法:通过将某种行为A应用于当前状态S,每当状态S向新状态S’转移时,立即进行价值函数Q的更新。此外,批量学习是如下学习方法:通过重复将某种行为A应用于当前状态S,状态S向新状态S’转移,由此收集学习用的数据,使用收集到的所有学习用数据,来进行价值函数Q的更新。进而,小批量学习是在线学习与批量学习中间的学习方法,是每当积攒了某种程度学习用数据时进行价值函数Q的更新的学习方法。
行为信息生成部2023针对当前状态S选择Q学习的过程中的行为A。行为信息生成部2023在Q学习的过程中,为了进行根据用极坐标表示了零点的半径r与角度θ来修正伺服控制装置100的IIR滤波器1092的传递函数VFF(z)的系数b1’、b2’的动作(相当于Q学习中的行为A),而生成行为信息A,对行为信息输出部203输出所生成的行为信息A。
更具体来说,行为信息生成部2023例如为了在极坐标上搜索零点,而在固定了数学式4的传递函数VFF(z)的系数a1、a2、b0的状态下,在分子(z2+b1’z+b2’)中将z的零点设为re,在固定了从状态信息取得部201接收到的半径r的状态下,使从状态信息取得部201接收到的角度θ在图5的搜索范围内增加或减少。并且,通过固定了的半径r和增加或减少的角度θ,设定作为零点的z和其共轭复数z*,根据该零点重新求出系数b1’、b2’。
可以采取如下策略:行为信息生成部2023在使角度θ增加或减少,重新设定IIR滤波器1092的传递函数VFF(z)的系数b1’、b2’而向状态S’转移并返回了正回报(正值的回报)时,作为下一行为A’,选择与前次的动作同样地增加或减少角度θ等使位置偏差值更小那样的行为A’。
此外,反之还可以采取如下策略:当返回了负回报(负值的回报)时,行为信息生成部2023作为下一行为A’,例如选择与前次的动作相反地减少或增加角度θ等使位置偏差比前次的值小那样的行为A’。
此外,行为信息生成部2023也可以采取如下策略:通过在当前推定的行为A的价值中选择价值Q(S、A)最高的行为A’的贪婪算法,或者用某个较小的概率ε随机选择行为A’,除此之外选择价值Q(S、A)最高的行为A’的ε贪婪算法这样的众所周知的方法,来选择行为A’。
行为信息输出部2023继续角度θ的搜索,通过来自优化行为信息输出部205的后述的优化行为信息,利用学习来决定价值Q的值为最大那样的最佳角度θ0时,之后,将角度θ固定为该角度θ0而在0≤r≤1的范围内搜索半径r,与角度θ的搜索一样地设定IIR滤波器1092的传递函数VFF(z)的分子的系数b1’、b2’。行为信息生成部2023继续半径r的搜索,通过来自优化行为信息输出部205的后述的优化行为信息,利用学习来决定价值Q的值为最大那样的最佳半径r0时,决定分子的最佳系数b1’、b2’。之后,如上所述,通过学习系数b0,学习传递函数VFF(z)的分子的系数的最佳值。
之后,行为信息生成部2023与上述一样地根据用极坐标表示了极的半径r与角度θ来搜索传递函数VFF(z)的分母有关的传递函数的系数。另外,该学习与IIR滤波器1092的传递函数VFF(z)的分子的情况一样通过强化学习将用极坐标表示了极的半径r与角度θ调整为最佳。此时,在与传递函数VFF(z)的分子的情况一样地学习了角度θ之后学习半径r。由于学习方法与传递函数VFF(z)的零点的搜索情况一样,因此详细说明省略。
行为信息输出部203是对伺服控制装置100发送从学习部202输出的行为信息A的部分。如上所述,伺服控制装置100根据该行为信息,对当前状态S,即用极坐标表示当前设定的IIR滤波器1092的传递函数VFF(z)的零点的半径r和角度θ进行微修正,而向下一状态S’(即,与进行了修正的零点对应的、IIR滤波器1092的传递函数VFF(z)的系数b1’、b2’)转移。
价值函数存储部204是存储价值函数Q的存储装置。价值函数Q例如可以按状态S、行为A而存储为表(以下,称为行为价值表)。存储于价值函数存储部204的价值函数Q通过价值函数更新部2022而被更新。此外,存储于价值函数存储部204的价值函数Q也可以在与其他机器学习装置200之间共享。如果在多个机器学习装置200之间共享价值函数Q,则能够通过各机器学习装置200分散地进行强化学习,因此,能够提升强化学习的效率。
优化行为信息输出部205根据价值函数更新部2022进行Q学习而进行了更新的价值函数Q,生成用于使速度前馈计算部109进行价值Q(S、A)为最大的动作的行为信息A(以下,称为“优化行为信息”)。
更具体来说,优化行为信息输出部205取得价值函数存储部204存储的价值函数Q。如上所述该价值函数Q是通过价值函数更新部2022进行Q学习而被更新的函数。并且,优化行为信息输出部205根据价值函数Q,生成行为信息,对伺服控制装置100(速度前馈计算部109的IIR滤波器1092)输出所生成的行为信息。该优化行为信息与行为信息输出部203在Q学习的过程中输出的行为信息一样,包含通过角度θ、半径r和系数b0的学习来修正IIR滤波器1092的传递函数VFF(z)的系数信息。
在伺服控制装置100中,根据基于角度θ、半径r和系数b0的行为信息来修正IIR滤波器1092的传递函数VFF(z)的分子有关的传递函数的系数。
机器学习装置200在通过以上的动作进行了IIR滤波器1092的传递函数VFF(z)的分子的系数优化之后,与该优化一样,通过角度θ和半径r的学习,来进行IIR滤波器1092的传递函数VFF(z)的分母的系数优化。之后,与IIR滤波器1092的传递函数VFF(z)的系数的学习和优化一样,可以通过角度θ、半径r和系数d0的学习,来进行IIR滤波器1102的传递函数PFF(z)的系数的学习和优化,进行动作以便降低位置偏差的值。
像以上那样,通过利用本发明涉及的机器学习装置200,可以使伺服控制装置100的速度前馈计算部109和位置前馈计算部110的参数调整简化。
以上,对伺服控制装置100、机器学习装置200所包含的功能块进行了说明。
为了实现这些功能块,伺服控制装置100和机器学习装置200分别具有CPU(Central Processing Unit,中央处理单元)等运算处理装置。此外,伺服控制装置100和机器学习装置200还分别具有存储应用软件或OS(Operating System,操作系统)等各种控制用程序的HDD(Hard Disk Drive,硬盘驱动器)等辅助存储装置、存储运算处理装置执行程序之后暂时需要的数据的RAM(Random Access Memory,随机存取存储器)这样的主存储装置。
并且,分别在伺服控制装置100和机器学习装置200中,运算处理装置从辅助存储装置中读入应用软件或OS,一边在主存储装置上展开读入的应用软件或OS,一边进行根据这些应用软件或OS的运算处理。此外,根据该运算结果,来控制各装置具有的各种硬件。由此,实现本实施方式的功能块。也就是说,本实施方式可以通过硬件与软件协作来实现。
关于机器学习装置200,由于伴随机器学习的运算量增多,因此例如利用在个人计算机搭载GPU(Graphics Processing Units,图形处理器),称为GPGPU(General-Purposecomputing on Graphics Processing Units,通用图形处理器)的技术,在将GPU用于伴随机器学习的运算处理时可以进行高速处理。并且,为了进行更高速的处理,可以使用多台搭载了这样的GPU的计算机来构筑计算机集群,通过该计算机集群所包含的多个计算机来进行并列处理。
接下来,参照图7的流程对本实施方式中的Q学习时的机器学习装置200的动作进行说明。另外,图7所记载的流程是用于决定速度前馈计算部109的IIR滤波器1092的传递函数VFF(z)的分子的传递函数有关的系数b0~b2的角度θ、半径r和系数b0的学习相关的流程。
以下的流程中,以用极坐标表示了用于决定速度前馈计算部109的IIR滤波器1092的传递函数VFF(z)的分子的传递函数有关的系数b0~b2的传递函数VFF(z)的零点的角度θ、半径r以及系数b0的学习为例进行说明,但是用极坐标表示了用于决定分母的传递函数有关的系数a1、a2的极的角度θ和半径r的学习也以同样的流程来进行。此外,之后进行的、用极坐标表示了用于决定位置前馈计算部110的IIR滤波器1102的传递函数PFF(z)的系数c1、c2、d0~d2的传递函数PFF(z)的零点和极的角度θ、半径r以及系数d0的学习相关的流程,也与图7所记载的流程一样地进行,因此说明省略。
在步骤S11中,状态信息取得部201从伺服控制装置100取得状态信息S。所取得的状态信息输出给价值函数更新部2022或行为信息生成部2023。如上所述,该状态信息S是相当于Q学习中的状态的信息,包含步骤S11时间点的、IIR滤波器1092的传递函数VFF(z)的系数a1、a2、b0~b2。另外,最初开始学习的状态信息S0是初始设定值,IIR滤波器1092的传递函数VFF(z)的分子有关的系数b0和分母有关的系数a1、a2设为固定值。这样,取得IIR滤波器1092的传递函数VFF(z)的系数a1、a2、b0~b2是初始值时的、对应于规定的进给速度且对应于圆的加工形状的位置偏差的集合PD(S)。
通过学习时的加工程序使伺服控制装置100进行动作而从最初开始Q学习的时间点的减法器102获得状态S0下的位置偏差的值PD(S0)。位置指令制作部101以由加工程序所指定的规定的加工形状,例如八边形的加工形状,依次输出位置指令。例如,从位置指令制作部101输出与八边形的加工形状对应的位置指令值,该位置指令值输出给减法器102、速度前馈计算部109、位置前进计算部110以及机器学习装置200。减法器102将所述的加工形状的位置A1与位置A3和位置B1与位置B3处的、位置指令值与从积分器108输出的检测位置之差作为位置偏差PD(S0)输出给机器学习装置200。另外,在机器学习装置200中,也可以将所述的加工形状的位置A1与位置A3和位置B1与位置B3处的、位置指令值与从积分器108输出的检测位置之差提取为位置偏差PD(S0)。
在步骤S12中,如上所述,行为信息生成部2023根据用极坐标表示了零点的半径r和角度θ,以角度θ、半径r、系数b0的顺序生成新的行为信息A,经由行为信息输出部203将生成的新的行为信息A输出给伺服控制装置100。行为信息生成部2023根据上述策略输出新的行为信息A。
另外,接收到行为信息A的伺服控制装置100通过根据接收到的行为信息而修正了当前状态S有关的IIR滤波器1092的传递函数VFF(z)的系数b1’、b2’的状态S’,来驱动包含伺服电动机300的机床。如上所述,该行为信息相当于Q学习中的行为A。
在步骤S13中,状态信息取得部201从减法器102取得新的状态S’下的位置偏差PD(S’)、以及IIR滤波器1092的传递函数VFF(z)的系数b1’、b2’。这样,状态信息取得部201取得作为状态S’下的传递函数VFF(z)的系数时的、与八边形的加工形状(具体来说,所述加工形状的位置A1与位置A3、和位置B1与位置B3)对应的位置偏差的集合PD(S’)。所取得的状态信息输出给回报输出部2021。
在步骤S14中,回报输出部2021判断状态S’下的位置偏差的值f(PD(S’))与状态S下的位置偏差的值f(PD(S))的大小关系,在f(PD(S’))>f(PD(S))时,在步骤S15中,使回报为负值。在f(PD(S’))<f(PD(S))时,在步骤S16中,使回报为正值。在f(PD(S’))=f(PD(S))时,在步骤S17中,使回报为零。另外,可以对回报的负值、正值进行加权。
在步骤S15、步骤S16以及步骤S17的某一个结束时,在步骤S18中,根据通过该某一步骤计算出的回报值,价值函数更新部2022对存储于价值函数存储部204的价值函数Q进行更新。另外,步骤S18例示了在线更新,也可以替换在线更新而置换成批量更新或小批量更新。
接下来,在步骤S19中,在角度θ的学习没有结束时,再次返回到步骤S11,在结束时向步骤S20前进。
接着,在步骤S20中,在半径r的学习没有结束时,再次返回到步骤S11,在结束时向步骤S21前进。
接着,在步骤S21中,在系数b0的学习没有结束时,再次返回到步骤S11,在结束时结束处理。
另外,通过返回到步骤S11,重复上述的步骤S11~S21的处理,价值函数Q收敛为适当值。另外,可以以重复规定次数的上述处理、或重复规定时间的上述处理为条件来结束角度θ、半径r以及系数的学习。
以上,通过参照图7等所说明的动作,利用在本实施方式中作为一例而说明的机器学习装置200,分别在规定范围内进行搜索来学习用极坐标表示了IIR滤波器1092和IIR滤波器1102的各传递函数的零点和极的半径r与角度θ的值,由此,获得可以进一步缩短IIR滤波器1092和IIR滤波器1102的各传递函数的系数优化所需的学习时间这样的效果。
接下来,参照图8的流程,对优化行为信息输出部205进行的优化行为信息生成时的动作进行说明。
首先,在步骤S31中,优化行为信息输出部205取得存储于价值函数存储部204的价值函数Q。如上所述价值函数Q是通过价值函数更新部2022进行Q学习而被更新的函数。
在步骤S32中,优化行为信息输出部205根据该价值函数Q,生成优化行为信息,将生成才优化行为信息输出给伺服控制装置100的IIR滤波器1092。
机器学习装置200通过以上的动作,进行了用极坐标表示了用于决定IIR滤波器1092的传递函数VFF(z)的分子的系数的零点的角度θ、半径r以及系数b0的优化之后,进行用极坐标表示了用于决定分母的传递函数有关的系数a1、a2的极的角度θ和半径r的优化。为了通过同样的动作来决定IIR滤波器1102的传递函数PFF(z)的系数c1、c2、d0~d2,而进行用极坐标表示传递函数PFF(z)的零点和极时的角度θ、半径r有关的学习和系数d0的学习以及优化。
另外,通过参照图8所说明的动作,在本实施方式中,可以根据由机器学习装置200进行学习而求出的价值函数Q,生成优化行为信息,伺服控制装置100根据该优化行为信息,简化当前设定的IIR滤波器1092的传递函数VFF(z)的系数a1、a2、b0~b2的调整,并且可以降低位置偏差的值。此外,将速度前馈初始设定为更高维度,通过机器学习装置200进行学习,可以进一步降低位置偏差的值。对于IIR滤波器1102的传递函数PFF(z)的系数c1、c2、d0~d2的调整,与IIR滤波器1092的传递函数VFF(z)的系数a1、a2、b0~b2的调整一样,可以降低位置偏差的值。
在本实施方式中,回报输出部2021通过比较状态S的位置偏差的值f(PD(S))与状态S’的位置偏差的值f(PD(S’))来计算出回报值,其中,值f(PD(S))是将状态S下的位置偏差PD(S)作为输入根据预先设定的评价函数f(PD(S))而计算出的,值f(PD(S’))是将状态S’下的位置偏差PD(S’)作为输入根据评价函数f而计算出的。
但是,也可以每当计算回报值时都施加位置偏差以外的其他要素。
例如,除了作为减法器102的输出的位置偏差之外,还可以对机器学习装置200给予作为加法器104的输出的位置前馈控制的速度指令、位置前馈控制的速度指令与速度反馈之差、以及作为加法器107的输出的位置前馈控制的转矩指令等中的至少一个。
此外,作为前馈计算部可以具有位置前馈计算部或速度前馈计算部的某一个。该情况下,例如在只设置位置前馈计算部时,不需要二阶微分器1091、IIR滤波器1092、加法器107。
上述的伺服控制装置的伺服控制部和机器学习装置所包含的各结构部可以通过硬件、软件或者它们的组合来实现。此外,由上述伺服控制装置所包含的各结构部的各自协作而进行的伺服控制方法也可以通过硬件、软件或者它们的组合来实现。这里,所谓通过软件来实现表示计算机通过读入程序来执行从而实现。
可以使用各种类型的非临时性的计算机可读记录介质(non-transitorycomputer readable medium)来存储程序并将该程序提供给计算机。非临时性的计算机可读记录介质包含各种类型的有实体的记录介质(tangible storage medium)。非临时性的计算机可读记录介质的示例包含:磁记录介质(例如,磁盘、硬盘驱动器)、光-磁记录介质(例如,光磁盘)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半导体存储器(例如,掩模ROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、闪存ROM、RAM(random accessmemory)。此外,程序也可以通过各种类型的临时性的计算机可读记录介质(transitorycomputer readable medium)而供给到计算机。
上述实施方式是本发明的优选实施方式,但是并非将本发明的范围只限定于上述实施方式,可以在不脱离本发明精神的范围内以实施了各种变更的方式来进行实施。
<伺服控制装置具有机器学习装置的变形例>
在上述的实施方式中,通过与伺服控制装置100分开的装置构成了机器学习装置200,但是也可以通过伺服控制装置100来实现机器学习装置200的功能的一部分或全部。
<系统结构的自由度>
图9是表示其他结构的控制装置的框图。如图9所示,控制装置10A具有n(n是2以上的自然数)台伺服控制装置100-1~100-n、n台机器学习装置200-1~200-n以及网络500。另外,n是任意自然数。n台伺服控制装置100-1~100-n分别与图1所示的伺服控制装置100对应。n台机器学习装置200-1~200-n分别与图1所示的机器学习装置200对应。
这里,伺服控制装置100-1与机器学习装置200-1为一对一的组,能够通信地连接。关于伺服控制装置100-2~100-n与机器学习装置200-2~200-n也同伺服控制装置100-1与机器学习装置200-1一样地连接。在图9中,伺服控制装置100-1~100-n与机器学习装置200-1~100-n的n个组经由网络500而连接,但是关于伺服控制装置100-1~100-n与机器学习装置200-1~200-n这n个组,各组的伺服控制装置与机器学习装置可以经由连接接口而直接连接。关于这些伺服控制装置100-1~100-n与机器学习装置200-1~200-n这n个组,例如可以在同一个工厂中设置多组,也可以分别设置于不同的工厂中。
另外,网络500例如是在工厂内构建的LAN(Local Area Network:局域网)、互联网、公共电话网、或者它们的组合。对于网络500中具体的通信方式是有线连接还是无线连接等没有特别限定。
在上述的图9的控制装置中,机器学习装置200-1~200-n与伺服控制装置100-1~100-n作为一对一的组以能够通信的方式进行连接,例如一台机器学习装置200-1可以经由网络500而与多台伺服控制装置100-1~100-m(m<n或m=n)能够通信地连接,实施各伺服控制装置100-1~100-m的机器学习。
此时,可以将机器学习装置200-1的各功能作为适当分散于多个服务器的分散处理系统。此外,机器学习装置200-1的各功能也可以在云上利用虚拟服务器功能等来实现。
此外,当存在与多个相同型号名称、相同规格、或者相同系列的伺服控制装置100-1~100-n分别对应的多个机器学习装置200-1~200-n时,可以共享各机器学习装置200-1~200-n中的学习结果。这样,能够构建更理想的模型。
在本发明的实施方式中,以二次函数的情况为例对IIR滤波器1092和1102的传递函数进行了说明,但是像实施方式中所说明那样,并不限定于二次函数。也可以是三次以上的函数。

Claims (14)

1.一种机器学习装置,其对伺服控制装置进行机器学习,其中,该伺服控制装置使用具有IIR滤波器的前馈计算部进行的前馈控制来控制伺服电动机,该机器学习是与所述IIR滤波器的传递函数的系数优化有关的机器学习,所述伺服电动机驱动机床、机器人或工业机械的轴,其特征在于,
通过使用半径r和角度θ来进行表示的极坐标,分别表现所述IIR滤波器的传递函数为零的零点以及该传递函数无限发散的极,并在规定的搜索范围内分别搜索半径r和角度θ并进行学习,由此,进行所述IIR滤波器的传递函数的系数优化,
所述机器学习装置具有:
状态信息取得部,其通过使所述伺服控制装置执行规定的加工程序,从所述伺服控制装置取得状态信息,该状态信息包含伺服状态和所述前馈计算部的传递函数,所述伺服状态至少包含位置偏差;
行为信息输出部,其将行为信息输出给所述伺服控制装置,该行为信息包含所述状态信息所包含的输送传递函数的系数的调整信息;
回报输出部,其输出基于所述状态信息所包含的所述位置偏差的、强化学习中的回报值;以及
价值函数更新部,其根据由所述回报输出部输出的回报值、所述状态信息、所述行为信息来更新行为价值函数。
2.根据权利要求1所述的机器学习装置,其特征在于,
根据衰减率来规定所述半径r的搜索范围,根据抑制振动的频率来规定所述角度θ的搜索范围。
3.根据权利要求1或2所述的机器学习装置,其特征在于,
所述机器学习装置在进行所述极的搜索之前,进行所述零点的搜索。
4.根据权利要求1或2所述的机器学习装置,其特征在于,
所述机器学习装置在搜索所述零点时,固定所述极。
5.根据权利要求1或2所述的机器学习装置,其特征在于,
所述机器学习装置在进行所述半径r的搜索之前,进行所述角度θ的搜索。
6.根据权利要求1或2所述的机器学习装置,其特征在于,
所述机器学习装置在搜索所述角度θ时,将所述半径r固定为固定值。
7.根据权利要求1或2所述的机器学习装置,其特征在于,
通过复数和共轭复数来表现所述零点。
8.根据权利要求1或2所述的机器学习装置,其特征在于,
所述前馈计算部是速度前馈计算部或位置前馈计算部。
9.根据权利要求1或2所述的机器学习装置,其特征在于,
所述前馈计算部是速度前馈计算部,
所述机器学习装置还具有具备IIR滤波器的位置前馈计算部,
所述机器学习装置在进行所述位置前馈计算部的IIR滤波器的传递函数的优化之前,进行所述速度前馈计算部的IIR滤波器的传递函数的优化。
10.根据权利要求1所述的机器学习装置,其特征在于,
所述回报输出部根据所述位置偏差的绝对值来输出所述回报值。
11.根据权利要求1或10所述的机器学习装置,其特征在于,
所述机器学习装置具有:优化行为信息输出部,其根据由所述价值函数更新部更新而得的价值函数,生成并输出所述前馈计算部的传递函数的系数的修正信息。
12.一种控制装置,其特征在于,具有:
权利要求1~11中任一项所述的机器学习装置;以及
伺服控制装置,其使用具有IIR滤波器的前馈计算部进行的前馈控制,对驱动机床、机器人或工业机械的轴的伺服电动机进行控制。
13.根据权利要求12所述的控制装置,其特征在于,
所述机器学习装置包含于所述伺服控制装置中。
14.一种机器学习装置的机器学习方法,该机器学习装置对伺服控制装置进行机器学习,其中,该伺服控制装置使用具有IIR滤波器的前馈计算部进行的前馈控制来控制伺服电动机,该机器学习是与所述IIR滤波器的传递函数的系数优化有关的机器学习,所述伺服电动机驱动机床、机器人或工业机械的轴,其特征在于,
通过使用半径r和角度θ来进行表示的极坐标,分别表现所述IIR滤波器的传递函数为零的零点以及该传递函数无限发散的极,并在规定的搜索范围内分别搜索半径r和角度θ并进行学习,由此,进行所述IIR滤波器的传递函数的系数优化,
所述机器学习方法包括:
状态信息取得步骤,通过使所述伺服控制装置执行规定的加工程序,从所述伺服控制装置取得状态信息,该状态信息包含伺服状态和所述前馈计算部的传递函数,所述伺服状态至少包含位置偏差;
行为信息输出步骤,将行为信息输出给所述伺服控制装置,该行为信息包含所述状态信息所包含的输送传递函数的系数的调整信息;
回报输出步骤,输出基于所述状态信息所包含的所述位置偏差的、强化学习中的回报值;以及
价值函数更新步骤,根据由所述回报输出步骤输出的回报值、所述状态信息、所述行为信息来更新行为价值函数。
CN201910624109.5A 2018-07-17 2019-07-11 机器学习装置、控制装置、以及机器学习方法 Active CN110727242B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-134352 2018-07-17
JP2018134352A JP6740290B2 (ja) 2018-07-17 2018-07-17 機械学習装置、制御装置、及び機械学習方法

Publications (2)

Publication Number Publication Date
CN110727242A CN110727242A (zh) 2020-01-24
CN110727242B true CN110727242B (zh) 2021-04-09

Family

ID=69163028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910624109.5A Active CN110727242B (zh) 2018-07-17 2019-07-11 机器学习装置、控制装置、以及机器学习方法

Country Status (4)

Country Link
US (1) US10901374B2 (zh)
JP (1) JP6740290B2 (zh)
CN (1) CN110727242B (zh)
DE (1) DE102019210397A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101954638A (zh) * 2010-10-18 2011-01-26 湖南大学 高压输电线路除冰机器人自主抓线控制方法
CN105690392A (zh) * 2016-04-14 2016-06-22 苏州大学 基于行动者-评论家方法的机器人运动控制方法和装置
CN107303675A (zh) * 2016-04-25 2017-10-31 发那科株式会社 最佳化具有多台工业机械的生产系统的动作的单元控制器
CN107505914A (zh) * 2017-07-20 2017-12-22 西安交通大学 一种考虑滚珠丝杠进给系统高阶动态特性的高精运动控制方法
CN108227482A (zh) * 2016-12-14 2018-06-29 发那科株式会社 控制系统以及机器学习装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6636862B2 (en) * 2000-07-05 2003-10-21 Camo, Inc. Method and system for the dynamic analysis of data
JP2003023785A (ja) * 2001-07-05 2003-01-24 Matsushita Electric Ind Co Ltd サーボモータの制御装置及び制御方法
JP2005327191A (ja) * 2004-05-17 2005-11-24 Fanuc Ltd サーボ制御装置
JP5279299B2 (ja) * 2008-02-29 2013-09-04 キヤノン株式会社 反復学習制御回路を備える位置制御装置、露光装置及びデバイス製造方法
KR101402486B1 (ko) * 2010-10-27 2014-06-03 미쓰비시덴키 가부시키가이샤 전동기 제어 장치
JP6430144B2 (ja) * 2014-05-13 2018-11-28 キヤノンメディカルシステムズ株式会社 心電波形検出装置、心電波形検出方法、心電波形検出プログラム、及び撮像装置
JP5897645B2 (ja) * 2014-06-05 2016-03-30 ファナック株式会社 機械先端点のたわみを低減するサーボ制御装置
US20170089043A1 (en) * 2015-09-25 2017-03-30 Caterpillar Inc. Online system identification for controlling a machine
JP6325504B2 (ja) * 2015-10-28 2018-05-16 ファナック株式会社 学習制御器の自動調整を行う機能を有するサーボ制御装置
JP6604198B2 (ja) * 2015-12-25 2019-11-13 株式会社ジェイテクト モータ制御装置
US10334454B2 (en) * 2017-05-11 2019-06-25 Intel Corporation Multi-finger beamforming and array pattern synthesis
JP6821041B2 (ja) * 2017-09-08 2021-01-27 三菱電機株式会社 サーボ制御装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101954638A (zh) * 2010-10-18 2011-01-26 湖南大学 高压输电线路除冰机器人自主抓线控制方法
CN105690392A (zh) * 2016-04-14 2016-06-22 苏州大学 基于行动者-评论家方法的机器人运动控制方法和装置
CN107303675A (zh) * 2016-04-25 2017-10-31 发那科株式会社 最佳化具有多台工业机械的生产系统的动作的单元控制器
CN108227482A (zh) * 2016-12-14 2018-06-29 发那科株式会社 控制系统以及机器学习装置
CN107505914A (zh) * 2017-07-20 2017-12-22 西安交通大学 一种考虑滚珠丝杠进给系统高阶动态特性的高精运动控制方法

Also Published As

Publication number Publication date
DE102019210397A1 (de) 2020-03-12
JP6740290B2 (ja) 2020-08-12
CN110727242A (zh) 2020-01-24
US20200026248A1 (en) 2020-01-23
US10901374B2 (en) 2021-01-26
JP2020013268A (ja) 2020-01-23

Similar Documents

Publication Publication Date Title
CN108628355B (zh) 伺服控制装置及系统、机器学习装置及方法
CN109274314B (zh) 机器学习装置、伺服电动机控制装置、伺服电动机控制系统以及机器学习方法
CN109116811B (zh) 机器学习装置和方法、伺服控制装置、伺服控制系统
US10824121B2 (en) Machine learning device, servo motor controller, servo motor control system, and machine learning method
JP6748135B2 (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
CN111830904B (zh) 机器学习装置、控制装置以及机器学习方法
US11592789B2 (en) Output device, control device, and method for outputting evaluation functions and machine learning results
CN111103849B (zh) 输出装置、控制装置、以及学习参数的输出方法
US11029650B2 (en) Machine learning device, control system, and machine learning method
CN111857052A (zh) 机器学习装置、数值控制系统以及机器学习方法
CN111082729A (zh) 机器学习装置、控制装置以及机器学习方法
CN111552237B (zh) 机器学习装置、控制装置、以及机器学习的搜索范围的设定方法
CN111478682A (zh) 优化滤波器系数的机器学习系统、控制装置以及机器学习方法
CN112445181A (zh) 机器学习装置、伺服控制装置、伺服控制系统以及机器学习方法
CN111722530B (zh) 机器学习装置、控制系统以及机器学习方法
CN110138296B (zh) 机器学习装置和方法、伺服电动机控制装置和系统
CN110727242B (zh) 机器学习装置、控制装置、以及机器学习方法
WO2022030346A1 (ja) 制御支援装置、制御システム及び制御支援方法
WO2022065190A1 (ja) 制御支援装置、制御システム及びフィルタ調整方法
CN115398353A (zh) 机器学习装置、控制装置以及机器学习方法

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