CN111857052A - 机器学习装置、数值控制系统以及机器学习方法 - Google Patents
机器学习装置、数值控制系统以及机器学习方法 Download PDFInfo
- Publication number
- CN111857052A CN111857052A CN202010323648.8A CN202010323648A CN111857052A CN 111857052 A CN111857052 A CN 111857052A CN 202010323648 A CN202010323648 A CN 202010323648A CN 111857052 A CN111857052 A CN 111857052A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- command
- blocks
- machining
- value
- 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.)
- Granted
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 124
- 238000003754 machining Methods 0.000 claims abstract description 133
- 230000006399 behavior Effects 0.000 claims abstract description 127
- 230000006870 function Effects 0.000 claims abstract description 105
- 230000002787 reinforcement Effects 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims description 30
- 238000005457 optimization Methods 0.000 claims description 15
- 238000011156 evaluation Methods 0.000 description 49
- 230000001133 acceleration Effects 0.000 description 29
- 238000000034 method Methods 0.000 description 23
- 238000004364 calculation method Methods 0.000 description 17
- 238000003860 storage Methods 0.000 description 17
- 238000001514 detection method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 16
- 230000009471 action Effects 0.000 description 15
- 238000012937 correction Methods 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 9
- 230000007613 environmental effect Effects 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000005520 cutting process Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 238000004904 shortening Methods 0.000 description 3
- 101100521334 Mus musculus Prom1 gene Proteins 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000001154 acute effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013021 overheating Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/408—Numerical 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 data handling or data format, e.g. reading, buffering or conversion of data
- G05B19/4086—Coordinate conversions; Other special calculations
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/406—Numerical 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 monitoring or safety
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/408—Numerical 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 data handling or data format, e.g. reading, buffering or conversion of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/4093—Numerical 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 part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33056—Reinforcement learning, agent acts, receives reward, emotion, action selective
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35356—Data handling
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36125—Select out of library, beforehand only functions needed for part program
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43011—Shorter time by adjusting corner speed, avoid zero speed when engage corner
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/49—Nc machine tool, till multiple
- G05B2219/49164—Corner, making corner
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Neurology (AREA)
- Numerical Control (AREA)
Abstract
本发明提供机器学习装置、数值控制系统以及机器学习方法。机器学习装置对数值控制装置进行机器学习,并在加工程序中含有包含由2个程序块构成的角部的第1指令时生成替换为m个以上程序块的第2指令,m>2。机器学习装置具有:状态信息取得单元,其取得包含第1指令、m个以上程序块的各程序块的坐标值、加工路径的位置信息和加工时间的状态信息;行为信息输出单元,其将包含m个以上程序块的各程序块的坐标值的调整信息的行为信息输出给数值控制装置;回报输出单元,其输出基于使用第1指令和加工路径的位置信息而计算出的角部的内转量和加工时间的、强化学习中的回报值;价值函数更新单元,其根据回报值、状态信息、行为信息更新价值函数。
Description
技术领域
本发明涉及进行对角部(corner position)的指令进行优化的机器学习的机器学习装置、包含该机器学习装置的数值控制系统、以及机器学习方法。
背景技术
例如,在专利文献1~专利文献5中记载有使用了机器学习装置的机床。
专利文献1中记载有一种对工具动作进行机器学习的机床,所述工具动作将由直线和曲线形成的规定加工物的轮廓作为工具路径。具体来说,专利文献1中记载有一种机床,具有:动作评价部,其对机床动作进行评价并输出评价数据;机器学习器,其对机床的轴移动量进行机器学习,机器学习器具有:状态观测部,其取得机床的物理量数据和评价数据;回报计算部,其根据物理量数据和评价数据来计算回报;移动量调整学习部,其根据机器学习结果和物理量数据来调整轴移动量;移动量输出部,其输出移动量调整学习部调整了的轴移动量,移动量调整学习部根据调整而得的所述轴移动量、由状态观测部取得的物理量数据、回报计算部计算出的所述回报,来对轴移动量的调整进行机器学习。
专利文献2中记载有一种生成各轴控制中最佳加减速的机床。具体来说,专利文献2中记载有一种机床,具有:动作评价部,其评价机床的动作;机器学习器,其对机床的轴移动量进行机器学习,机器学习器具有:状态观测部,其取得机床的状态数据;回报计算部,其根据状态数据来计算回报;移动量调整学习部,其对轴移动量的决定进行机器学习;移动量输出部,其根据机器学习结果来决定轴移动量并进行输出,移动量调整学习部根据决定出的所述轴移动量、由状态观测部取得的状态数据、回报计算部计算出的回报,来对轴移动量的决定进行机器学习。
专利文献3中记载有一种进行强化学习的行为信息学习装置,所述强化学习能够避免产生过热并且能够选择用于缩短周期时间的行为信息。具体来说,专利文献3中记载有一种行为信息学习装置,具有:状态信息取得单元,其取得状态信息,该状态信息包含机床中加工有关的主轴动作模式和参数的组合;行为信息输出单元,其输出行为信息,该行为信息包含所述状态信息所包含的所述动作模式和所述参数的组合的调整信息;回报计算单元,其取得判定信息,并根据该取得的判定信息输出强化学习中的回报值,其中,所述判定信息是与所述机床的温度和所述机床的所述加工涉及的加工时间有关的信息;价值函数更新单元,其根据所述回报值、所述状态信息、所述行为信息来进行所述强化学习,由此更新价值函数。
专利文献4中记载有一种数值控制数据制作装置,在制作外形加工数值控制数据时,用一个工具来减少未削剩余部分,而不是利用其他工具来校正未削剩余部分,由此缩短加工时间。具体来说,专利文献4中记载有一种数值控制数据制作装置,将具有凹形形状的外形形状作为输入时,从预先登记的工具信息中选择最佳的工具,按加工工序顺序来制作数值控制数据,接下来,从输入的外形形状中提取凹部,将该部位的数据修正为考虑到正负的公差量而计算出的外形加工数值控制数据,由此,即使不新追加校正加工工程,也能够以高精度来切削外形。
专利文献5中记载有一种线放电加工机,根据形成角部的2个移动程序块构成的角来校正加工路径。具体来说,专利文献5中记载有一种线放电加工机,从加工程序存储部中读入加工程序的程序块并进行解析,通过角部角度检测部判断为有角时,根据由角部角度检测部检测出的角度来计算校正距离和返回距离,按照校正距离进行校正使得先要加工的程序块的终点延长,按照返回距离从始点到程序块途中删除接下来要加工的程序块,在加工路径校正部中制作加工路径以便将延长并制作出的新的程序块终点与删除并制作出的新的程序块开始点连接,通过加工路径控制部使线电极相对于被加工物进行相对移动。
现有技术文献
专利文献
专利文献1:日本特开2017-033138号公报
专利文献2:日本特开2017-068325号公报
专利文献3:日本特开2018-120453号公报
专利文献4:日本特开平08-202424号公报
专利文献5:日本特开2014-121755号公报
在控制机床的数值控制装置中,为了避免因角部而在机械产生振动,而进行插补后加减速控制。结果,在指令路径的程序块间重叠地(overlap)进行加减速,因此,加工路径偏离所指令的加工路径而产生内转量(inward turning amount,向内偏转量)。
希望在控制机床的数值控制装置中削减该内转量,从而提高加工精度并且削减加工时间。
发明内容
(1)本公开的一方式提供一种对数值控制装置进行机器学习的机器学习装置,所述数值控制装置对加工程序进行解析,并在该加工程序中含有第1指令时生成第2指令,其中,所述第1指令包含由2个程序块构成的角部,所述第2指令将该2个程序块替换为比该2个多的m个以上程序块,m是自然数,其中,
所述机器学习装置具有:
状态信息取得单元,其取得状态信息,该状态信息包含所述第1指令、所述m个以上程序块的各程序块的坐标值、以及通过所述数值控制装置执行所述加工程序而获得的加工路径的位置信息;
行为信息输出单元,其将行为信息输出给所述数值控制装置,该行为信息包含所述状态信息所包含的所述m个以上程序块的各程序块的坐标值的调整信息;
回报输出单元,其输出基于所述角部的内转量和加工时间的、强化学习中的回报值,其中,所述角部的内转量是使用所述状态信息所包含的所述第1指令和所述加工路径的位置信息而计算出的;以及
价值函数更新单元,其根据由所述回报输出单元输出的回报值、所述状态信息、所述行为信息来更新价值函数。
(2)本公开的其他一方式提供一种数值控制系统,具有:上述(1)所记载的机器学习装置;以及数值控制装置,其通过该机器学习装置,对所述m个以上程序块的各程序块的坐标值进行机器学习。
(3)本公开的另一方式,提供一种机器学习装置的机器学习方法,所述机器学习装置对数值控制装置进行机器学习,所述数值控制装置对加工程序进行解析,并在该加工程序中含有第1指令时生成第2指令,其中,所述第1指令包含由2个程序块构成的角部,所述第2指令将该2个程序块替换为比该2个多的m个以上程序块,m是自然数,其中,在所述机器学习方法中,
取得状态信息,该状态信息包含所述第1指令、所述m个以上程序块的各程序块的坐标值、以及通过所述数值控制装置执行所述加工程序而获得的加工路径的位置信息,
将行为信息输出给所述数值控制装置,该行为信息包含所述状态信息所包含的所述m个以上程序块的各程序块的坐标值的调整信息,
求出基于所述角部的内转量和加工时间的、强化学习中的回报值,其中,所述角部的内转量是使用所述状态信息所包含的所述第1指令和所述加工路径的位置信息而计算出的,
根据所述回报值、所述状态信息、所述行为信息来更新价值函数。
发明效果
根据本公开的各方式,能够削减内转量,从而提高加工精度并且缩短加工时间。
附图说明
图1是表示本公开的一实施方式的数值控制系统的结构的框图。
图2是表示具有2个程序块的指令以及5个程序块的内部指令的一例的说明图。
图3是表示基于具有2个程序块的指令的指令路径和加工路径、以及基于具有5个程序块的内部指令的内部指令路径和校正了的加工路径的图。
图4是表示图3所示的校正了的加工路径的允许误差范围的图。
图5是表示本公开的一实施方式的机器学习装置200的框图。
图6是表示基于具有2个程序块的指令的加工路径中X轴和Y轴的速度与时间的关系的特性图。
图7是表示基于具有5个程序块的内部指令的、校正了的加工路径的X轴和Y轴的速度与时间的关系的特性图。
图8是表示本实施方式中Q学习(Q-learning)时的机器学习装置200的动作的流程图。
图9是表示图8的步骤S14内的基于加工精度的回报计算方法的流程图。
图10是表示图8的步骤S14内的基于加工时间的回报计算方法的一部分的流程图。
图11是对本公开的一实施方式的机器学习装置的优化行为信息输出部的动作进行说明的流程图。
图12是表示数值控制系统的其他结构例的框图。
符号说明
10,10A 数值控制系统
100,100A-1~100A-n 数值控制装置
101 指令解析部
102 内部指令生成部
103 插补部
104 加减速控制部
105 X轴伺服控制部
106 Y轴伺服控制部
200 机器学习装置
200A-1~200A-n 机器学习装置
201 状态信息取得部
202 学习部
203 行为信息输出部
204 价值函数存储部
205 优化行为信息输出部
400 网络
具体实施方式
以下使用附图对本公开的实施方式进行详细说明。
首先,对包含本公开的机器学习装置的数值控制系统进行说明。
图1是表示本公开的一实施方式的数值控制系统的结构的框图。
如图1所示,数值控制系统10具有:CNC(Computerized Numerical Control)装置等的数值控制装置100、机器学习装置200和电动机301、302。机器学习装置200可以包含在数值控制装置100中。
电动机301、302例如可以设置为机床、机器人、工业机械等的一部分。此外,数值控制装置100也可以设置为机床、机器人、工业机械等的一部分。以下的说明中,以电动机301、302为进行旋转运动的电动机进行说明,但也可以是进行直线运动的线性电动机。
机床例如是3轴加工机,图1中只示出了作为X轴和Y轴的进给轴电动机的电动机301、302。作为进给轴电动机除此之外还可以设置Z轴的电动机,此外,3轴加工机还具有使球头立铣刀等工具旋转的主轴电动机,这里省略说明。
电动机301、302经由滚珠丝杠等,使装载了用于制造工件的基板的工作台分别在X轴方向和Y轴方向上直线移动。Z轴的电动机使工具或者工作台在Z轴方向上直线移动。另外,3轴加工机的结构不限于这样的结构,例如,也可以固定工具,使工作台在X轴方向、Y轴方向和Z轴方向上直线移动,或固定工作台,使工具在X轴方向、Y轴方向和Z轴方向上直线移动。
数值控制装置100具有:指令解析部101、内部指令生成部102、插补部103、加减速控制部104、X轴伺服控制部105以及Y轴伺服控制部106。数值控制装置100包含Z轴伺服控制部和主轴控制部,但是这里省略说明,以下,对X轴和Y轴有关的角部控制进行说明。
指令解析部101从所输入的加工程序中依次读出包含X轴和Y轴的移动指令在内的程序块并进行解析,根据解析结果来制作指令各轴的移动的移动指令数据,并将制作出的移动指令数据输出给插补部103。
指令解析部101在检测出加工程序中包含由2个程序块构成的角部而包含指令(作为第1指令)时,对内部指令生成部102和机器学习装置200发送2个程序块的指令。另外,这里角部为直角,但也可以是锐角还可以是钝角。
内部指令生成部102根据2个程序块的指令,生成角部的5个程序块的内部指令(作为第2指令),将制作出的5个程序块的内部指令发送给指令解析部101和机器学习装置200。内部指令中包含5个程序块的各程序块的坐标值。指令解析部101制作将2个程序块的指令替换为5个程序块的内部指令而得的移动指令数据,将制作出的移动指令数据输出给插补部103。生成的程序块数量是比2多的m个(m是自然数)以上即可,不限定为5个,可以是此外的数量,例如4个或者7个。
插补部103根据从指令解析部101输出的移动指令数据所指令的移动指令,生成以插补周期对指令路径上的点进行了插补计算而得的插补数据。
加减速控制部104根据从插补部103输出的插补数据,进行加减速处理而计算每一个插补周期的各轴的速度,将基于计算结果的数据输出给X轴伺服控制部105和Y轴伺服控制部106。此外,加减速控制部104将加速度输出给机器学习装置200。
图2是表示具有2个程序块的指令以及5个程序块的内部指令的一例的说明图。指令“G01;”、“N01 X10.0;”、以及“N02 Y10.0;”是由指令解析部101解析而得的指令,“G01”表示“直线插补(切削进给)”,“N”表示“序列号(行的程序块编号)”,“X”表示X轴坐标,“Y”表示Y轴坐标。具体来说,该指令表示利用切削进给中的直线插补、通过第1程序块从X轴和Y轴坐标(0,0)向(10,0)的移动、通过第2程序块从X轴和Y轴坐标(10,0)向(10,10)的移动的指令。
内部指令“G01;”、“N01 X5.0;”、“N02 X9.9 Y-0.1;”、“N03 X10.1Y0.1;”、“N04X10.0 Y5.0;”、以及“N05 Y10.0;”是通过内部指令生成部102根据指令“G01;”、“N01X10.0;”、“N02 Y10.0;”生成的指令。具体来说,该内部指令表示在削除进给中,通过第1程序块从X轴和Y轴坐标(0,0)向(5,0)的移动、通过第2程序块从X轴和Y轴坐标(5,0)向(9.9,-0.1)的移动、通过第3程序块从X轴和Y轴坐标(9.9,-0.1)向(10.1,0.1)的移动、通过第4程序块从X轴和Y轴坐标(10.1,0.1)向(10.0,5.0)的移动、通过第5程序块从X轴和Y轴坐标(10.0,5.0)向(10.0,10.0)的移动的指令。
图3是表示基于具有2个程序块的指令的指令路径与加工路径、以及基于具有5个程序块的内部指令的内部指令路径和校正了的加工路径的图。图3所示的点A与点G之间的指令路径、以及点G与点F之间的指令路径是基于指令“G01;”、“N01 X10.0;”、以及“N02Y10.0;”的2个程序块的指令路径,该指令路径在图3中通过实线表示。此外,图3中通过实线示出了通过2个程序块的指令路径实际要加工的加工路径。
图3所示的点A与点B之间的指令路径、点B与点C之间的指令路径、点C与点D之间的指令路径、点D与点E之间的指令路径、以及点E与点F之间的指令路径是基于内部指令“G01;”、“N01 X5.0;”、“N02 X9.9Y-0.1;”、“N03 X10.1 Y0.1;”、“N04 X10.0 Y5.0;”、以及“N05 Y10.0;”的5个程序块的指令路径,该指令路径在图3中通过间隔宽的虚线来表示。此外,图3中通过间隔窄的虚线来表示通过5个程序块的指令路径实际要加工的、校正了的加工路径。
图3所示的实线所表示的加工路径中,由于加减速控制部104进行的插补后加减速控制,所以在指令路径的程序块间重叠地进行加减速。结果,加工路径偏离所指令的指令路径而产生内转量。
后述的机器学习装置200对内部指令的X轴和Y轴坐标的数据(坐标值)的最佳值进行学习,以便能够削减内转量并降低加工时间。
X轴伺服控制部105和Y轴伺服控制部106根据来自加减速控制部104的输出,分别控制X轴和Y轴的电动机301、302。
X轴伺服控制部105和Y轴伺服控制部106分别包含:用于构成位置、速度反馈环的位置控制部、速度控制部、根据转矩指令值来驱动电动机的电动机驱动放大器、以及用于受理用户的操作的操作盘等。
X轴伺服控制部105和Y轴伺服控制部106使用来自编码器等位置检测器的位置反馈信号和从加减速控制部104输出的位置指令来求出位置偏差,所述编码器分别与电动机301、302结合。从分别与电动机301、302结合的位置检测器输出的位置检测值用作位置反馈信号,并且作为位置信息输出给机器学习装置200。另外,X轴伺服控制部105和Y轴伺服控制部106的内部结构对于本领域技术人员来说是已知的,因此省略详细说明以及图示。
<机器学习装置200>
机器学习装置200执行加工程序,使用加工程序的指令、由数值控制装置100生成的内部指令、由内部指令的5个程序块设定的进给速度、各轴的时间常数、从加减速控制部104输出的加速度以及从电动机301和电动机302输出的位置检测值,来对内部指令的5个程序块的X轴坐标值和Y轴坐标值进行机器学习(以下,称为学习)。机器学习装置200进行的学习在出库前进行,也可以在出库后再次进行学习。
这里,数值控制装置100通过加工程序来控制电动机301、302,在没有搭载被加工物(工件)的状态下驱动机床。
在以下的说明中对机器学习装置200进行强化学习的情况进行说明,但是机器学习装置200进行的学习并不特别限定于强化学习,例如,本发明还能够应用于进行监督学习的情况。
在进行机器学习装置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)的更新式例如可以通过如下的数学公式1(以下表示为数学式1)来表示。
【数学式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)。
该更新式表示了:若行为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学习如下价值Q,将加工程序的指令、由数值控制装置100生成的内部指令、由内部指令的5个程序块设定的进给速度、各轴的时间常数、从加减速控制部104输出的加速度、以及执行加工程序而取得的从电动机301、302输出的位置检测值作为状态S,将该状态S有关的、内部指令的5个程序块的X轴坐标值和Y轴坐标值(以下,称为坐标值xi,yi(1≤i≤5))的调整选择为行为A。另外,进给速度是切削加工时的进给速度,预先设定进给速度。各轴的时间常数也被预先设定。
机器学习装置200观测状态信息S来决定行为A,所述状态信息S包含:加工程序的指令、由数值控制装置100生成的内部指令、由内部指令的5个程序块设定的进给速度、各轴的时间常数、从加减速控制部104输出的加速度、以及执行加工程序而取得的从电动机301、302输出的位置检测值。机器学习装置200每当进行行为A时返回回报。根据加工精度和加工时间来决定该回报。机器学习装置200例如试错性地搜索最佳行为A以使到将来的回报合计为最大。通过这样,能够使用包含5个程序块的坐标值xi、yi的指令,来驱动数值控制装置,针对状态S选择最佳的行为A(即,内部指令的最佳坐标值xi,yi),所述状态S包含:加工程序的指令、由数值控制装置100生成的内部指令、由内部指令的5个程序块设定的进给速度、各轴的时间常数、从加减速控制部104输出的加速度、以及执行加工程序而取得的从电动机301、302输出的位置检测值。
即,根据由机器学习装置200学习到的价值函数Q,选择应用于某个状态S下的内部指令的坐标值xi,yi的行为A中的、Q值为最大那样的行为A,由此,加工路径的精度得以提高,能够选择可以削减加工时间的最佳行为A(即,内部指令的坐标值xi,yi)。
图5是表示本公开的一实施方式的机器学习装置200的框图。
为了进行上述强化学习,如图5所示,机器学习装置200具有:状态信息取得部201、学习部202、行为信息输出部203、价值函数存储部204、以及优化行为信息输出部205。学习部202具有:回报输出部2021、价值函数更新部2022、以及行为信息生成部2023。
状态信息取得部201作为状态信息S而从数值控制装置100中取得加工程序的指令、由数值控制装置100生成的内部指令、从加减速控制部104输出的加速度、以及执行加工程序而取得的从电动机301、302输出的位置检测值。预先取得由内部指令的5个程序块设定的进给速度和各轴的时间常数,存储为状态信息S的一部分。该状态信息S相当于Q学习中的环境状态S。
状态信息取得部201将状态信息S输出给学习部202。
另外,最初开始Q学习的时间点的内部指令的坐标值xi,yi,预先由数值控制装置100的制造者或者用户生成。本实施方式中,通过强化学习将制造者等制作出的内部指令的坐标值xi,yi的初始设定值调整为最佳。
另外,内部指令的坐标值xi,yi可以在制造者或者用户预先调整机床时,将调整完成的值作为初始值来进行机器学习。
学习部202是在某种环境状态S下,对选择某种行为A时的价值Q(S,A)进行学习的部分。
回报输出部2021是在某种状态S下,对选择了行为A时的回报进行计算的部分。关于回报,可以根据多个评价项目来计算整体的回报。此外,还可以通过根据多个评价项目对要计算的回报进行加权来计算整体的回报。本实施方式中,根据加工精度和加工时间来计算回报。
回报输出部2021首先求出通过加工程序的指令而获得的指令路径(例如图3的指令路径)的位置、与通过从电动机301、302输出的位置检测值而获得的、校正了的实际的加工路径(例如图3的校正了的加工路径)的位置之差r。该差r为校正后的内转量。回报输出部2021判断该校正后的内转量是否是图4所示的、预先设定的允许误差范围内。图4是表示图3所示的校正了的加工路径的允许误差范围的图,图4中用单点划线来表示允许误差范围。校正后的内转量如果是预先设定的允许误差范围内则计算以下说明的基于加工精度的回报。另一方面,校正后的内转量如果超出预先设定的允许误差范围,则不进行以下说明的基于加工精度的回报的计算,生成新的行为信息。以上说明的、判断校正后的内转量是否是预先设定的允许误差范围内的处理也可以不进行。但是,通过进行该处理,在校正后的内转量超出允许误差范围时不需要进行回报的计算,因此,可以削减学习时间。
接下来,对计算基于加工精度的回报进行说明。
回报输出部2021将通过加工程序的指令而获得的指令路径(例如图3的指令路径)的位置、与通过从电动机301、302输出的位置检测值而获得的、校正了的实际的加工路径(例如图3的校正了的加工路径)的位置之差r的积分作为评价函数。该差r为校正后的内转量。用x1来表示加工程序的指令路径的X轴的坐标值,用y1来表示Y轴的坐标值,用x2来表示坐标值x1,y1对应的、校正了的实际的加工路径(例如图3的校正了的加工路径)的X轴的坐标值,用y2来表示Y轴的坐标值时,评价函数f可以使用以下的数学公式2(以下表示为数学式2)的评价函数f1。
【数学式2】
评价函数f不限于数学公式2的评价函数f1,也可以使用其他评价函数例如以下的数学公式3(以下表示为数学式3)所示的、差r的分散值即评价函数f2。在数学公式3中,r’表示差r的平均值。n表示数据数量。
【数3】
数学公式2的评价函数f1和数学公式3的评价函数f2都是使用了内转量(=差r)的评价函数,根据数学公式2的评价函数f1或者数学公式3的评价函数f2,像以下那样来计算回报。在以下的说明中,作为评价函数f来进行说明,可以使用数学公式2的评价函数f1和数学公式3的评价函数f2的某一个。
这里,通过f(S)来表示状态S下的评价函数f的值,通过f(S’)来表示状态信息S’涉及的评价函数f的值。
此时,在通过行为信息A进行了修正的状态信息S’涉及的评价函数值f(S’)比通过行为信息A进行修正前的状态信息S涉及的修正前的评价函数f(S)大的情况下,回报输出部2021使回报值为第1负值。
另一方面,评价函数值f(S’)比评价函数f(S)小的情况下,回报输出部2021使回报值为第1正值。
评价函数f(S’)与评价函数f(S)相等的情况下,回报输出部2021使回报值为零。
此外,作为执行行为A后的状态S’的评价函数f(S’)比之前的状态S的评价函数f(S)大时的负值,可以根据比例将负值设定得大。也就是说,可以根据f(S’)的值变大的程度使负值变大。反之,作为执行行为A后的状态S’的评价函数f(S’)比之前的状态S的评价函数f(S)小时的正值,可以根据比例将正值设定得大。也就是说,可以根据f(S’)的值变小的程度使正值变大。
另外,在计算上述的基于加工精度的回报之前,在通过数学公式2给予的评价函数f1的值为预先设定的第1阈值以上时,或者通过数学公式3给予的评价函数f2的值为预先设定的第2阈值以上时,作为绝对值比第1负值大的第2负值,可以不进行上述的基于加工精度的回报的计算,而是生成新的行为信息。这里,第1和第2阈值是设定成评价函数f1和评价函数f2即指令路径与校正后的实际的加工路径之差r的积分不足规定的上限值的值。通过进行该处理,在评价函数为阈值以上时不需要进行回报计算,因此,可以削减学习时间。
接下来,对计算基于加工时间的回报进行说明。
回报输出部2021根据从电动机301、302输出的位置检测值(位置信息),对校正了的实际的加工路径(例如图3的校正了的加工路径)的加工时间进行计数。例如在图3中在点A电动机301开始旋转,直到在点F电动机302停止旋转为止,将时间作为加工时间。另外,通过数值控制装置100根据从电动机301、302输出的位置检测值来对加工时间进行计数,状态信息取得部201可以取得为状态信息。
回报输出部2021如以下那样来计算基于加工时间的回报。这里,在因行为A而从状态S向状态S’转移时,将状态S和状态S’下的加工时间设为值T(S)和值T(S’)。
值T(S’)>值T(S)时,使回报为正的第2值。
值T(S’)=值T(S)时,使回报为比正的第2值大的正的第3值。设为零。
值T(S’)<值T(S)时,使回报为比正的第3值大的正的第4值。
另外,回报值的给予方法不限于此,例如,可以在值T(S’)>值T(S)时使回报为零,在值T(S’)=值T(S)以及值T(S’)<值T(S)时,使回报为相同的正值。
在以上说明过的基于加工精度的回报以及基于加工时间的回报的计算中,理想的是将要设定的回报值设定成加工精度比加工时间优先。这是因为在加工精度低时,被加工物的质量低。
此外,作为执行行为A后的状态S’的加工时间比之前的状态S下的加工时间长时(值T(S’)>值T(S))的正值,可以根据比例将正值设定得小。也就是说,可以根据加工时间变长的程度将正值设定得小。反之,作为执行行为A后的状态S’的加工时间比之前的状态S下的加工时间短时(值T(S’)<值T(S))的正值,可以根据比率将正值设定得大。也就是说,可以根据加工时间变短的程度使正值变大。
回报输出部2021根据如上所述计算出的基于加工精度的回报、基于加工时间的回报来计算整体的回报。在计算整体的回报时,不限定于加法运算,例如,也可以进行加权相加,此外,还可以计算基于加工精度的回报与基于加工时间的回报的平均值。计算整体回报的方法可以根据加工精度与加工时间的优先级适当设定。例如,在重视加工精度的情况下,可以对基于加工精度的回报乘以超过1的加权系数与基于加工时间的回报相加从而进行加权相加。
价值函数更新部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学习过程中,为了进行修正内部指令的坐标值xi,yi的动作(相当于Q学习中的行为A),而生成行为信息A,将生成的行为信息A输出给行为信息输出部203。更具体来说,行为信息生成部2023例如针对状态S所包含的内部指令的坐标值xi,yi,使行为A所包含的内部指令的坐标值xi,yi加上或者减去增量。
并且,可以采取如下策略:行为信息生成部2023应用内部指令的坐标值xi,yi的増加或者减少,向状态S’转移,在整体的回报大时,作为下一行为A’,针对内部指令的坐标值xi,yi,选择与前次的动作一样加上或者减去增量等使整体的回报更大那样的行为A’。
此外,反之还可以采取如下策略:在整体回报小时,作为下一行为A’,例如,行为信息生成部2023针对内部指令的坐标值xi,yi,选择与前次的动作相反地减去或者加上增量等使整体的回报更大那样的行为A’。
此外,行为信息生成部2023也可以采取如下策略:通过在当前推定的行为A的价值中选择价值Q(S、A)最高的行为A’的贪婪算法,或者用某个较小的概率ε随机选择行为A’,除此之外选择价值Q(S、A)最高的行为A’的ε贪婪算法这样的公知方法,来选择行为A’。
行为信息输出部203是将从学习部202输出的行为信息(内部指令的坐标值xi,yi的修正信息)A发送给指令滤波器110的部分。内部指令生成部102根据该行为信息,对当前的状态S即当前设定的内部指令的坐标值xi,yi进行微修正,由此,向下一状态S’(即进行了修正的、内部指令的坐标值xi,yi)转移。
价值函数存储部204是存储价值函数Q的存储装置。价值函数Q例如可以按状态S、行为A而存储为表(以下,称为行为价值表)。存储在价值函数存储部204中的价值函数Q通过价值函数更新部2022而被更新。此外,存储在价值函数存储部204的价值函数Q也可以在与其他机器学习装置200之间共享。如果在多个机器学习装置200之间共享价值函数Q,则能够通过各机器学习装置200分散地进行强化学习,因此,能够提高强化学习的效率。
优化行为信息输出部205根据价值函数更新部2022进行Q学习而进行了更新的价值函数Q,生成用于使内部指令生成部102进行价值Q(S、A)为最大的动作的行为信息A(以下,称为“优化行为信息”)。
更具体来说,优化行为信息输出部205取得价值函数存储部204存储的价值函数Q。该价值函数Q是如上所述价值函数更新部2022进行Q学习而进行了更新的函数。并且,优化行为信息输出部205根据价值函数Q,生成行为信息,将生成的行为信息输出给指令滤波器110。该优化行为信息与行为信息输出部203在Q学习的过程中输出的行为信息一样,包含对内部指令生成部102的内部指令的坐标值xi,yi进行修正的信息。
内部指令生成部102根据该行为信息对内部指令的坐标值xi,yi进行修正。
机器学习装置200可以进行动作,使得通过以上的动作,进行内部指令生成部102的坐标值xi,yi的优化,提高加工精度,并缩短加工时间。
以下,使用图6以及图7对可以缩短加工时间的效果进行说明。
图6是表示基于具有2个程序块的指令的加工路径中的X轴和Y轴的速度与时间的关系的特性图。图7是表示基于具有5个程序块的内部指令的、校正了的加工路径的X轴和Y轴的速度与时间的关系的特性图。
如图6所示,基于具有2个程序块的指令的加工路径中,在X轴的速度开始减速的时刻Y轴的速度开始加速。另一方面,如图7所示,在基于具有5个程序块的内部指令的、校正了的加工路径中,从X轴的速度开始减速的时刻前开始Y轴的速度被加速,在X轴的速度开始减速的时刻Y轴已经完成了加速,因此,可以缩短加工时间。
以上,对数值控制装置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的运算处理。此外,根据该运算结果,来控制各装置具有的各种硬件。由此,实现本实施方式的功能块。也就是说,本实施方式可以通过硬件与软件协作来实现。
另外,数值控制装置100也可以包含机器学习装置200,该情况下,CPU(CentralProcessing Unit)等运算处理装置、辅助存储装置以及主存储装置共享,不需要针对数值控制装置100以及机器学习装置200分别设置。
关于机器学习装置200,由于伴随机器学习的运算量增多,因此例如利用在个人计算机搭载GPU(Graphics Processing Units,图形处理器),称为GPGPU(General-Purposecomputing on Graphics Processing Units,通用图形处理器)的技术,在将GPU用于伴随机器学习的运算处理时可以进行高速处理。并且,为了进行更高速的处理,可以使用多台搭载了这样的GPU的计算机来构筑计算机集群,通过该计算机集群所包含的多个计算机来进行并列处理。
接下来,参照图8、图9和图10的流程图对本实施方式中的Q学习时的机器学习装置200的动作进行说明。图8是表示本实施方式中的Q学习时的机器学习装置200的动作的流程图,图9是表示图8的步骤S14内的基于加工精度的回报的计算方法的流程图,图10是表示图8的步骤S14内的基于加工时间的回报的计算方法的一部分的流程图。
首先,在图8的步骤S11中,状态信息取得部201从数值控制装置100中取得最初的状态信息。取得的状态信息输出给价值函数更新部2022和行为信息生成部2023。如上所述,该状态信息是相当于Q学习的状态S的信息,包含步骤S11时间点的加工程序的指令、由数值控制装置100生成的内部指令、从加减速控制部104输出的加速度、以及执行加工程序而取得的从电动机301、302输出的位置检测值。由内部指令的5个程序块设定的进给速度、以及各轴的时间常数被预先取得,存储为状态信息S的一部分。
另外,最初开始Q学习的时间点的内部指令的坐标值xi,yi预先由数值控制装置100的制造者或者用户生成。本实施方式中,通过强化学习将制造者等制作出的内部指令的坐标值xi,yi的初始设定值调整为最佳。
在步骤S12中,行为信息生成部2023生成新的行为信息A,将生成的新的行为信息A经由行为信息输出部203输出给数值控制装置100的内部指令生成部102。接收到行为信息的内部指令生成部102,根据接收到的行为信息对当前的状态S有关的内部指令的坐标值xi,yi进行修正而设为状态S’,数值控制装置100通过修正而得的状态S’,来驱动电动机301、302。
在步骤S13中,状态信息取得部201取得与从数值控制装置100取得的新的状态S’相当的状态信息。这里,新的状态信息中包含状态S’有关的加工程序的指令、由数值控制装置100生成的内部指令、从加减速控制部104输出的加速度、以及执行加工程序而取得的从电动机301、302输出的位置检测值。状态S’有关的、加工程序的指令路径的位置与通过位置检测值获得的校正了的实际的加工路径(例如图3的校正了的加工路径)的位置之差r的积分(加工精度)、以及从位置检测值中计算的校正后的实际的加工路径的加工时间成为判定信息。状态信息取得部201对学习部202输出所取得的状态信息。
在步骤S14中,回报输出部2021根据输入的判定信息、即加工精度与加工时间来计算回报。步骤S14包含根据加工精度来计算回报的步骤S14A、根据加工时间来计算回报的步骤S14B、根据在步骤S14A求出的回报和在步骤S14B求出的回报来计算整体的回报的步骤S14C。另外,这里对使用数学公式2所示的评价函数来计算回报的示例进行了说明,但是也可以使用数学公式3所示的评价函数来计算回报。
如上所述,回报输出部2021在根据加工精度来计算回报的步骤14A之前,求出校正后的内转量,判断该校正后的内转量是否是图4所示的、预先设定的允许误差范围内,校正后的内转量如果是预先设定的允许误差范围内则向步骤S14A转移,校正后的内转量如果超过允许误差范围,则返回到步骤S12。
在根据加工精度来计算回报的步骤S14A中,首先,回报输出部2021在步骤S141判断评价函数值f是否是阈值(已经说明的第1阈值)以上。在评价函数值f是阈值以上的情况下(是),加工精度为允许范围外,在步骤142使回报为负的第2值,返回到步骤S12。该负的第2值的绝对值比后述的第1负值大,设为不通过学习选择的值例如负无限大。另外,可以不进行步骤S141和S142。
在步骤S141,在评价函数值f不足阈值的情况下(否),回报输出部2021在步骤S143,将状态S’的评价函数值f(S’)与状态S的评价函数值f(S)进行比较,判断评价函数值f(S’)比评价函数值f(S)大,还是小或者相等。
在f(S’)>f(S)时,在步骤S144使回报为负的第1值。在f(S’)=f(S)时,在步骤S145使回报为零。在f(S’)<f(S)时,在步骤S146使回报为正的第1值。
接下来,在根据加工时间来计算回报的步骤S14B中,回报输出部2021在步骤S147,将为了进行状态S’下的加工处理所需的加工时间T(S’)与为了进行状态S下的加工处理所需的加工时间T(S)进行比较,判断加工时间T(S’)比加工时间T(S)大,还是小或者相等。
在T(S’)>T(S)时,在步骤S148使回报为第2正值。在T(S’)=T(S)时,在步骤S149使回报为比第2正值大的第3正值。在T(S’)<值T(S)时,在步骤S150使回报为比第3正值大的第4正值。
计算整体回报的步骤S14C是对基于加工精度的回报与基于加工时间的回报例如进行加法运算,或加权相加或求出平均值,来计算整体回报的步骤。
在步骤S14结束时,在步骤S15中,根据整体回报值,价值函数更新部2022对价值函数存储部204存储的价值函数Q进行更新。接下来,在步骤S16中,判断学习部202是否继续学习。关于是否继续学习的判断,例如可以通过是否到达最大试行次数,或是否经过规定时间来进行判断。在继续学习的情况下,返回到步骤S12。在学习结束之前重复进行步骤S12到步骤S16的处理。
另外,步骤S15例示了在线更新,但是也可以替换在线更新而置换为批量更新或者小批量更新。
以上,通过参照图8、图9和图10所说明的动作,在本实施方式中获得可以生成价值函数Q这样的效果,该价值函数Q生成用于提高加工精度、缩短加工时间的行为信息。
接下来,参照图11的流程图,对优化行为信息输出部205进行的优化行为信息生成时的动作进行说明。
首先,步骤S21中,优化行为信息输出部205取得存储在价值函数存储部204中的价值函数Q。如上所述价值函数Q是通过价值函数更新部2022进行Q学习而被更新了的函数。
步骤S22中,优化行为信息输出部205根据该价值函数Q,生成优化行为信息,将生成的优化行为信息输出给数值控制装置100的内部指令生成部102。
如上所述,获得如下效果,数值控制装置100根据该优化行为信息来修正当前设定的加工程序,生成内部指令,由此,机床能够以提高工件的加工精度并且进一步缩短加工时间的方式进行动作。
上述的电动机控制装置的伺服控制部和机器学习装置所包含的各结构部可以通过硬件、软件或者它们的组合来实现。此外,由上述电动机控制装置所包含的各结构部的各自协作而进行的伺服控制方法也可以通过硬件、软件或者它们的组合来实现。这里,所谓通过软件来实现表示计算机通过读入程序来执行从而实现。
可以使用各种类型的非临时性的计算机可读记录介质(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 access memory))。此外,程序也可以通过各种类型的临时性的计算机可读记录介质(transitory computerreadable medium)而供给到计算机。
上述实施方式是本发明的优选实施方式,但是并非将本发明的范围只限定于上述实施方式,可以在不脱离本发明精神的范围内以实施了各种变更的方式来进行实施。
数值控制系统的结构除了图1的结构以外还存在以下的结构。
<机器学习部经由网络设置于数值控制装置的外部的变形例>
图12是表示数值控制系统的其他结构例的框图。图12所示的数值控制系统10A与图1所示的数值控制系统10的不同点在于:n(n是2以上的自然数)个数值控制装置100A-1~100A-n经由网络400与机器学习装置200A-1~200A-n连接。图12中省略了电动机301、302,但是电动机301、302与数值控制装置100A-1~100A-n的每一个连接。机器学习装置200A-1~200A-n具有与图5所示的机器学习装置200相同的结构。
这里,数值控制装置100A-1与机器学习装置200A-1为一对一的组,能够通信地连接。关于数值控制装置100A-2~100A-n和机器学习装置200A-2~200A-n也与数值控制装置100A-1和机器学习装置200A-1一样地连接。在图12中,数值控制装置100A-1~100A-n与机器学习装置200A-1~200A-n的n个组经由网络400而连接,而关于数值控制装置100A-1~100A-n与机器学习装置200A-1~200A-n这n个组,各组的数值控制装置与机器学习装置可以经由连接接口而直接连接。这些数值控制装置100A-1~100A-n与机器学习装置200A-1~200A-n这n个组,例如可以在同一个工厂中设置多组,也可以分别设置于不同的工厂中。
另外,网络400例如是在工厂内构建的LAN(Local Area Network:局域网)、互联网、公共电话网、或者它们的组合。对于网络400中具体的通信方式是有线连接还是无线连接等没有特别限定。
<系统结构的自由度>
在上述的实施方式中,数值控制装置100A-1~100A-n与机器学习装置200A-1~200A-n分别为一对一的组以能够通信的方式进行连接,但例如一台机器学习装置也可以经由网络400与多台数值控制装置能够通信地连接,实施各电动机控制装置与机床的机器学习。
此时,可以将一台机器学习装置的各功能作为适当分散于多个服务器的分散处理系统。此外,一台机器学习装置的各功能也可以在云上利用虚拟服务器功能等来实现。
此外,当存在与n台相同型号名称、相同规格、或者相同系列的伺服控制装置100A-1~100A-n分别对应的n个机器学习装置200A-1~200A-n时,可以共享各机器学习装置200A-1~200A-n中的学习结果。这样,能够构建更理想的模型。
本公开的机器学习装置、控制系统以及机器学习方法可以取包含上述实施方式、具有以下结构的各种实施方式。
(1)本公开的一方式提供一种对数值控制装置进行机器学习的机器学习装置,所述数值控制装置对加工程序进行解析,并在该加工程序中含有第1指令时生成第2指令,其中,所述第1指令包含由2个程序块构成的角部,所述第2指令将该2个程序块替换为比该2个多的m(m是自然数)个以上程序块,其中,
所述机器学习装置具有:
状态信息取得单元,其取得状态信息,该状态信息包含所述第1指令、所述m个以上程序块的各程序块的坐标值、以及通过所述数值控制装置执行所述加工程序而获得的加工路径的位置信息;
行为信息输出单元,其将行为信息输出给所述数值控制装置,该行为信息包含所述状态信息所包含的所述m个以上程序块的各程序块的坐标值的调整信息;
回报输出单元,其输出基于所述角部的内转量和加工时间的、强化学习中的回报值,其中,所述角部的内转量是使用所述状态信息所包含的所述第1指令和所述加工路径的位置信息而计算出的;以及
价值函数更新单元,其根据由所述回报输出单元输出的回报值、所述状态信息、所述行为信息来更新价值函数。
根据该机器学习装置,能够削减内转量并且缩短加工时间。
(2)在上述(1)所述的机器学习装置中,使用所述位置信息来对所述加工时间进行计数。
根据该机器学习装置,不需要在数值控制装置设置对加工时间进行计数的功能。
(3)在上述(1)或者(2)所述的机器学习装置中,所述机器学习装置具有:优化行为信息输出单元,其根据由所述价值函数更新单元更新而得的价值函数,生成所述m个以上程序块的各程序块的坐标值并进行输出。
(4)一种数值控制系统,具有:
上述(1)~(3)中任一项所述的机器学习装置;以及
数值控制装置,其通过该机器学习装置,对所述m个以上程序块的各程序块的坐标值进行机器学习。
根据该数值控制系统,能够削减内转量并且缩短加工时间。
(5)本公开的另一方式,提供一种机器学习装置的机器学习方法,所述机器学习装置对数值控制装置进行机器学习,所述数值控制装置对加工程序进行解析,并在该加工程序中含有第1指令时生成第2指令,其中,所述第1指令包含由2个程序块构成的角部,所述第2指令将该2个程序块替换为比该2个多的m(m是自然数)个以上程序块,其中,在所述机器学习方法中,
取得状态信息,该状态信息包含所述第1指令、所述m个以上程序块的各程序块的坐标值、以及通过所述数值控制装置执行所述加工程序而获得的加工路径的位置信息,
将行为信息输出给所述数值控制装置,该行为信息包含所述状态信息所包含的所述m个以上程序块的各程序块的坐标值的调整信息,
求出基于所述角部的内转量和加工时间的、强化学习中的回报值,其中,所述角部的内转量是使用所述状态信息所包含的所述第1指令和所述加工路径的位置信息而计算出的,
根据所述回报值、所述状态信息、所述行为信息来更新价值函数。
根据该机器学习方法,能够削减内转量并且缩短加工时间。
Claims (5)
1.一种对数值控制装置进行机器学习的机器学习装置,所述数值控制装置对加工程序进行解析,并在该加工程序中含有第1指令时生成第2指令,其中,所述第1指令包含由2个程序块构成的角部,所述第2指令将该2个程序块替换为比该2个多的m个以上程序块,m是自然数,其特征在于,
所述机器学习装置具有:
状态信息取得单元,其取得状态信息,该状态信息包含所述第1指令、所述m个以上程序块的各程序块的坐标值、以及通过所述数值控制装置执行所述加工程序而获得的加工路径的位置信息;
行为信息输出单元,其将行为信息输出给所述数值控制装置,该行为信息包含所述状态信息所包含的所述m个以上程序块的各程序块的坐标值的调整信息;
回报输出单元,其输出基于所述角部的内转量和加工时间的、强化学习中的回报值,其中,所述角部的内转量是使用所述状态信息所包含的所述第1指令和所述加工路径的位置信息而计算出的;以及
价值函数更新单元,其根据由所述回报输出单元输出的回报值、所述状态信息、所述行为信息来更新价值函数。
2.根据权利要求1所述的机器学习装置,其特征在于,
使用所述位置信息来对所述加工时间进行计数。
3.根据权利要求1或2所述的机器学习装置,其特征在于,
所述机器学习装置具有:优化行为信息输出单元,其根据由所述价值函数更新单元更新而得的价值函数,生成所述m个以上程序块的各程序块的坐标值并进行输出。
4.一种数值控制系统,其特征在于,具有:
权利要求1~3中任一项所述的机器学习装置;以及
数值控制装置,其通过该机器学习装置,对所述m个以上程序块的各程序块的坐标值进行机器学习。
5.一种机器学习装置的机器学习方法,所述机器学习装置对数值控制装置进行机器学习,所述数值控制装置对加工程序进行解析,并在该加工程序中含有第1指令时生成第2指令,其中,所述第1指令包含由2个程序块构成的角部,所述第2指令将该2个程序块替换为比该2个多的m个以上程序块,m是自然数,其特征在于,在所述机器学习方法中,
取得状态信息,该状态信息包含所述第1指令、所述m个以上程序块的各程序块的坐标值、以及通过所述数值控制装置执行所述加工程序而获得的加工路径的位置信息,
将行为信息输出给所述数值控制装置,该行为信息包含所述状态信息所包含的所述m个以上程序块的各程序块的坐标值的调整信息,
求出基于所述角部的内转量和加工时间的、强化学习中的回报值,其中,所述角部的内转量是使用所述状态信息所包含的所述第1指令和所述加工路径的位置信息而计算出的,
根据所述回报值、所述状态信息、所述行为信息来更新价值函数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019084477A JP7010877B2 (ja) | 2019-04-25 | 2019-04-25 | 機械学習装置、数値制御システム及び機械学習方法 |
JP2019-084477 | 2019-04-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111857052A true CN111857052A (zh) | 2020-10-30 |
CN111857052B CN111857052B (zh) | 2024-03-22 |
Family
ID=72839760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010323648.8A Active CN111857052B (zh) | 2019-04-25 | 2020-04-22 | 机器学习装置、数值控制系统以及机器学习方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11640557B2 (zh) |
JP (1) | JP7010877B2 (zh) |
CN (1) | CN111857052B (zh) |
DE (1) | DE102020204854A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114755974A (zh) * | 2022-04-19 | 2022-07-15 | 中科航迈数控软件(深圳)有限公司 | 复杂结构件加工路径优化方法、装置、终端及存储介质 |
CN116583794A (zh) * | 2021-01-08 | 2023-08-11 | 三菱电机株式会社 | 加工程序修正装置、数控装置、加工程序修正方法及机器学习装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117521725A (zh) * | 2016-11-04 | 2024-02-06 | 渊慧科技有限公司 | 加强学习系统 |
JP6564432B2 (ja) * | 2017-08-29 | 2019-08-21 | ファナック株式会社 | 機械学習装置、制御システム、制御装置、及び機械学習方法 |
CN114341752B (zh) * | 2019-09-02 | 2023-06-13 | 山崎马扎克公司 | 控制装置、机床、修正系数算出方法和存储介质 |
CN113905606B (zh) * | 2021-09-13 | 2022-09-30 | 中国地质大学(武汉) | 基于深度强化学习的贴片机贴装调度模型训练方法 |
CN114690707B (zh) * | 2021-12-01 | 2023-08-18 | 南京工业大学 | 一种基于改进bp神经网络的数控成形磨齿机直线轴几何综合误差辨识方法 |
JP7355952B1 (ja) * | 2022-08-23 | 2023-10-03 | ファナック株式会社 | 制御装置及びコンピュータ読み取り可能な記録媒体 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1148176A (ja) * | 1997-08-08 | 1999-02-23 | Yaskawa Electric Corp | ロボット位置教示装置 |
DE102016009106A1 (de) * | 2015-07-30 | 2017-02-02 | Fanuc Corporation | Mit Steuerung ausgerüstete Bearbeitungsvorrichtung mit Bearbeitungszeit- Messfunktion und Messfunktion auf der Maschine |
CN108628355A (zh) * | 2017-03-15 | 2018-10-09 | 发那科株式会社 | 伺服控制装置及系统、机器学习装置及方法 |
CN109116811A (zh) * | 2017-06-22 | 2019-01-01 | 发那科株式会社 | 机器学习装置和方法、伺服控制装置、伺服控制系统 |
CN109283887A (zh) * | 2017-07-21 | 2019-01-29 | 发那科株式会社 | 机器学习装置、数值控制装置、数值控制系统以及机器学习方法 |
US20190064756A1 (en) * | 2017-08-29 | 2019-02-28 | Fanuc Corporation | Machine learning device, control system, control device, and machine learning method |
CN109643102A (zh) * | 2016-09-02 | 2019-04-16 | 三菱电机株式会社 | 指令值生成装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5890208A (ja) * | 1981-11-25 | 1983-05-28 | Yaskawa Electric Mfg Co Ltd | 自動機械におけるptp制御の軌道補正方式 |
JP2746170B2 (ja) | 1995-01-27 | 1998-04-28 | 日本電気株式会社 | 数値制御データ作成装置 |
JP5890208B2 (ja) | 2012-03-14 | 2016-03-22 | 日本放送協会 | パケット送信装置、パケット受信装置及びパケット伝送システム |
JP5734270B2 (ja) | 2012-12-21 | 2015-06-17 | ファナック株式会社 | コーナ角度に応じて自動的に加工経路の補正を行うワイヤ放電加工機 |
JP6169655B2 (ja) | 2015-07-30 | 2017-07-26 | ファナック株式会社 | 工作機械、シミュレーション装置、及び機械学習器 |
JP6219897B2 (ja) * | 2015-09-28 | 2017-10-25 | ファナック株式会社 | 最適な加減速を生成する工作機械 |
JP6453919B2 (ja) | 2017-01-26 | 2019-01-16 | ファナック株式会社 | 行動情報学習装置、行動情報最適化システム及び行動情報学習プログラム |
JP6740199B2 (ja) * | 2017-10-30 | 2020-08-12 | ファナック株式会社 | 数値制御装置、cnc工作機械、数値制御方法及び数値制御用プログラム |
-
2019
- 2019-04-25 JP JP2019084477A patent/JP7010877B2/ja active Active
-
2020
- 2020-03-24 US US16/828,021 patent/US11640557B2/en active Active
- 2020-04-16 DE DE102020204854.1A patent/DE102020204854A1/de active Pending
- 2020-04-22 CN CN202010323648.8A patent/CN111857052B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1148176A (ja) * | 1997-08-08 | 1999-02-23 | Yaskawa Electric Corp | ロボット位置教示装置 |
DE102016009106A1 (de) * | 2015-07-30 | 2017-02-02 | Fanuc Corporation | Mit Steuerung ausgerüstete Bearbeitungsvorrichtung mit Bearbeitungszeit- Messfunktion und Messfunktion auf der Maschine |
CN109643102A (zh) * | 2016-09-02 | 2019-04-16 | 三菱电机株式会社 | 指令值生成装置 |
CN108628355A (zh) * | 2017-03-15 | 2018-10-09 | 发那科株式会社 | 伺服控制装置及系统、机器学习装置及方法 |
CN109116811A (zh) * | 2017-06-22 | 2019-01-01 | 发那科株式会社 | 机器学习装置和方法、伺服控制装置、伺服控制系统 |
CN109283887A (zh) * | 2017-07-21 | 2019-01-29 | 发那科株式会社 | 机器学习装置、数值控制装置、数值控制系统以及机器学习方法 |
US20190064756A1 (en) * | 2017-08-29 | 2019-02-28 | Fanuc Corporation | Machine learning device, control system, control device, and machine learning method |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116583794A (zh) * | 2021-01-08 | 2023-08-11 | 三菱电机株式会社 | 加工程序修正装置、数控装置、加工程序修正方法及机器学习装置 |
CN116583794B (zh) * | 2021-01-08 | 2024-04-05 | 三菱电机株式会社 | 加工程序修正装置、数控装置、加工程序修正方法及机器学习装置 |
CN114755974A (zh) * | 2022-04-19 | 2022-07-15 | 中科航迈数控软件(深圳)有限公司 | 复杂结构件加工路径优化方法、装置、终端及存储介质 |
CN114755974B (zh) * | 2022-04-19 | 2022-12-02 | 中科航迈数控软件(深圳)有限公司 | 复杂结构件加工路径优化方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11640557B2 (en) | 2023-05-02 |
DE102020204854A8 (de) | 2020-12-10 |
DE102020204854A1 (de) | 2020-10-29 |
JP2020181403A (ja) | 2020-11-05 |
JP7010877B2 (ja) | 2022-01-26 |
US20200342356A1 (en) | 2020-10-29 |
CN111857052B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111857052A (zh) | 机器学习装置、数值控制系统以及机器学习方法 | |
US10921774B2 (en) | Machine learning devices and methods for optimizing the speed and accuracy of thread mill, inner diameter, outer shape, and surface machine tools | |
CN109116811B (zh) | 机器学习装置和方法、伺服控制装置、伺服控制系统 | |
CN108628355B (zh) | 伺服控制装置及系统、机器学习装置及方法 | |
JP6219897B2 (ja) | 最適な加減速を生成する工作機械 | |
US10824121B2 (en) | Machine learning device, servo motor controller, servo motor control system, and machine learning method | |
JP6748135B2 (ja) | 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法 | |
JP6077617B1 (ja) | 最適な速度分布を生成する工作機械 | |
JP6564432B2 (ja) | 機械学習装置、制御システム、制御装置、及び機械学習方法 | |
US11914333B2 (en) | Machine learning device, servo control device, servo control system, and machine learning method | |
CN110875703B (zh) | 机器学习装置、控制系统以及机器学习方法 | |
JP2018180764A (ja) | 調整装置及び調整方法 | |
US20200005499A1 (en) | Output device, control device, and evaluation function value output method | |
JP6806746B2 (ja) | モータ制御装置 | |
JP6978452B2 (ja) | 機械学習装置、制御装置、及び機械学習の探索範囲の設定方法 | |
CN111722530B (zh) | 机器学习装置、控制系统以及机器学习方法 | |
JP6836540B2 (ja) | 情報処理装置及び情報処理方法 | |
CN110727242B (zh) | 机器学习装置、控制装置、以及机器学习方法 | |
WO2021187268A1 (ja) | 機械学習装置、数値制御システム、設定装置、数値制御装置、及び機械学習方法 |
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 |