CN110658785B - 输出装置、控制装置、以及评价函数值的输出方法 - Google Patents

输出装置、控制装置、以及评价函数值的输出方法 Download PDF

Info

Publication number
CN110658785B
CN110658785B CN201910560957.4A CN201910560957A CN110658785B CN 110658785 B CN110658785 B CN 110658785B CN 201910560957 A CN201910560957 A CN 201910560957A CN 110658785 B CN110658785 B CN 110658785B
Authority
CN
China
Prior art keywords
control device
machine learning
output
evaluation function
learning
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
CN201910560957.4A
Other languages
English (en)
Other versions
CN110658785A (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 CN110658785A publication Critical patent/CN110658785A/zh
Application granted granted Critical
Publication of CN110658785B publication Critical patent/CN110658785B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • 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
    • 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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • 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/34Director, elements to supervisory
    • G05B2219/34082Learning, online reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Abstract

本发明提供一种输出装置、控制装置、以及评价函数值的输出方法,可以根据评价函数值确认机器学习的进展状况。输出装置具有:信息取得部,其从对控制伺服电动机的伺服控制装置进行机器学习的机器学习装置,取得多个使用了伺服数据的或使用所述伺服数据计算出的评价函数值,其中,所述伺服电动机驱动机床、机器人或工业机械的轴;输出部,其输出所取得的多个所述评价函数值。输出部包含:显示部,其将多个所述评价函数值显示于显示画面。

Description

输出装置、控制装置、以及评价函数值的输出方法
技术领域
本发明涉及输出装置、包含该输出装置的控制装置、以及评价函数值的输出方法,该输出装置从对控制伺服电动机的伺服控制装置进行机器学习的机器学习装置,取得多个使用了伺服数据的或使用所述伺服数据计算出的评价函数值来进行输出,其中,所述伺服电动机驱动机床、机器人或工业机械的轴。
背景技术
例如在专利文献1中记载了如下内容:在对驱动机床的轴的伺服电动机进行控制的伺服控制装置中,根据评价函数的值来变更构成学习控制器的限带滤波器(band-limiting filter)和动态特性补偿滤波器(dynamic characteristic compensationfilter)中至少一方的结构。
具体来说,在专利文献1中记载了如下内容:伺服控制装置具有:位置指令制作部、进给轴的位置检测部、计算位置偏差的位置偏差取得部、位置控制环、使位置偏差的高频成分衰减的限带滤波器、实施相位超前的动态特性补偿要素、包含限带滤波器以及动态特性补偿要素的学习控制器、进行对位置控制环的正弦波扫描的正弦波扫描输入部、推定位置控制环输入输出信号的增益和相位的频率特性计算部、根据实测的频率特性和学习控制器的频率特性来计算表示带学习控制器的位置控制特性的评价函数的学习控制特性评价函数计算部,根据评价函数的值来变更构成学习控制器的限带滤波器和动态特性补偿滤波器中至少一方的结构。
现有技术文献
专利文献1:日本特开2017-84104号公报
在通过机器学习装置来对控制伺服电动机的伺服控制装置的伺服控制参数进行机器学习时,在机器学习结束之前,通常不显示机器学习过程中的伺服控制参数有关的评价函数值,因此,操作员无法根据评价函数值来确认机器学习的进展状况,其中,所述伺服电动机驱动机床、机器人或工业机械的轴。因此,操作员无法评价机器学习过程中的评价函数值,无法判断机器学习的继续、中断、结束等。
发明内容
本发明的目的在于提供一种输出装置、包含该输出装置的控制装置、以及评价函数值的输出方法,从机器学习装置取得多个评价函数值来进行输出(显示),使得操作员可以根据机器学习过程中的伺服控制参数有关的评价函数值确认机器学习的进展状况。
(1)本发明涉及的输出装置具有:信息取得部(例如,后述的信息取得部301),其从对控制伺服电动机(例如,后述的伺服电动机500)的伺服控制装置(例如,后述的伺服控制装置100)进行机器学习的机器学习装置(例如,后述的机器学习装置200),取得多个使用了伺服数据的或使用所述伺服数据计算出的评价函数值,其中,所述伺服电动机驱动机床、机器人或工业机械的轴;以及输出部(例如,后述的控制部305与显示部309、控制部305与存储部306),其输出所取得的多个所述评价函数值。
(2)在上述(1)的输出装置中,也可以是,所述输出部包含:显示部,其将多个所述评价函数值显示于显示画面。
(3)在上述(2)的输出装置中,也可以是,所述输出装置具有:制图部,其制作表示机器学习过程中的多个所述评价函数值的时间推移的图,所述输出部将制作出的图显示于所述显示画面。
(4)在上述(1)~(3)中任一项的输出装置中,也可以是,所述输出部输出多个所述评价函数值的最小值。
(5)在上述(1)~(4)中任一项的输出装置中,也可以是,所述输出装置输出从开始机器学习起所取得的所有所述评价函数值的最小值。
(6)在上述(1)~(5)中任一项的输出装置中,也可以是,所述输出装置实时地输出所取得的多个所述评价函数值。
(7)在上述(1)~(5)中任一项的输出装置中,也可以是,在操作员做出了显示指示时,所述输出装置输出所取得的多个所述评价函数值。
(8)在上述(1)~(5)中任一项的输出装置中,也可以是,在从开始学习时起的试验次数的累计达到预先设定的规定次数时,所述输出装置输出所取得的多个所述评价函数值。
(9)在上述(1)~(5)中任一项的输出装置中,也可以是,在所述评价函数值为预先设定的阈值以下时,所述输出装置输出所取得的多个所述评价函数值。
(10)在上述(1)~(5)中任一项的输出装置中,也可以是,在中断或结束机器学习时,所述输出装置输出所取得的多个所述评价函数值。
(11)在上述(1)~(10)中任一项的输出装置中,也可以是,所述输出装置对所述机器学习装置输出中断指示。
(12)在上述(1)~(11)中任一项的输出装置中,也可以是,在从开始机器学习起所取得的所有所述评价函数值的最小值收敛时,所述输出装置输出中断指示。
(13)本发明涉及的控制装置具有:上述(1)~(12)中任一项的输出装置;
伺服控制装置,其对驱动机床、机器人或工业机械的轴的伺服电动机进行控制;
机器学习装置,其对伺服控制装置进行机器学习;以及
数值控制装置,其对所述伺服控制装置输出控制指令。
(14)在上述(13)的控制装置中,也可以是,所述输出装置包含在所述伺服控制装置、机器学习装置、以及数值控制装置中的一个之中。
(15)本发明涉及的输出装置的评价函数值的输出方法,该评价函数值用于针对伺服控制装置的机器学习,所述伺服控制装置对驱动机床、机器人或工业机械的轴的伺服电动机进行控制,
从对所述伺服控制装置进行机器学习的机器学习装置,取得多个使用了伺服数据的或使用所述伺服数据计算出的评价函数值,
输出所取得的多个所述评价函数值。
根据本发明,通过从机器学习装置取得多个评价函数值来进行输出,使得操作员可以了解评价函数值,由此可以根据评价函数值来确认机器学习的进展状况。
附图说明
图1是表示本发明的第一实施方式的控制装置所含的伺服控制装置的一结构例的框图。
图2是表示成为伺服控制装置的控制对象的一例的、包含伺服电动机的机床的一部分的框图。
图3是表示由学习时的加工程序指定的加工形状为八边形的情况的图。
图4是表示加工形状为八边形的角每隔一个置换为圆弧的形状时的图。
图5是表示本发明的第一实施方式的机器学习装置的框图。
图6是表示本发明的第一实施方式的控制装置所含的输出装置的一结构例的框图。
图7是表示在机器学习过程中,对照机器学习的进展状况,将状态S有关的评价函数值的值显示于显示部309时的显示画面的一例的图。
图8是表示机器学习后的、将调整前与调整后的位置偏差显示于显示部时的显示画面的一例的图。
图9是表示从开始机器学习到结束机器学习后的调整结果显示为止的、以输出装置为中心的控制装置的动作的流程图。
图10是表示本发明的第二实施方式的控制装置所含的输出装置的一结构例的框图。
图11是表示本发明的第三实施方式的控制装置的一结构例的框图。
图12是表示本发明的其他结构的控制装置的框图。
符号说明
10、10A、10B、10C 控制装置
100、100A 伺服控制装置
101 减法器
102 位置控制部
103 加法器
104 减法器
105 速度控制部
106 加法器
107 积分器
108 速度前馈计算部
109 位置前馈计算部
200 机器学习装置
201 状态信息取得部
202 学习部
203 行为信息输出部
204 价值函数存储部
205 最佳化行为信息输出部
300 输出装置
400 数值控制装置
500 伺服电动机
600 控制对象
700 调整装置
800 网络
具体实施方式
以下,使用附图对本发明的实施方式进行详细说明。
(第一实施方式)
图1是表示本发明的第一实施方式的控制装置所含的伺服控制装置的一结构例的框图。图1所示的控制装置10具有:伺服控制装置100、机器学习装置200、输出装置300、以及数值控制装置400。在图1中详细地示出了伺服控制装置100的结构,机器学习装置200和输出装置的详细结构在后面叙述。伺服控制装置100与数值控制装置400连接,输出装置300与伺服控制装置100、机器学习装置200以及数值控制装置400连接。
伺服控制装置100控制伺服电动机500的旋转。机器学习装置200对伺服控制装置100的控制参数进行机器学习。输出装置300输出机器学习装置200机器学习过程中的信息和机器学习结果。此外,输出装置300还作为进行机器学习装置200与伺服控制装置100之间的信息中继、机器学习装置200与伺服控制装置100的动作控制的调整装置发挥功能。并且,输出装置300向数值控制装置400输出通常的加工程序、学习时的加工程序(评价用程序)、比学习时的加工程序低速的验证时的加工程序(验证程序)、比学习时高速的验证时的加工程序(验证程序)中某一个的启动指示。数值控制装置400将通常的加工程序、学习时的加工程序、比学习时的加工程序即评价用程序低速的验证程序、比学习时高速的验证程序存储于存储部中。
数值控制装置400根据使伺服电动机500动作的加工程序来制作位置指令值。伺服电动机500例如包含于机床中。在机床中,在搭载被加工物(工件)的工作台向X轴方向和Y轴方向移动时,针对X轴方向和Y轴方向分别设置图1所示的伺服控制装置100和伺服电动机500。在使工作台向3轴以上的方向移动时,对各轴方向设置伺服控制装置100和伺服电动机500。
数值控制装置400设定进给速度来制作位置指令值,以成为由加工程序指定的加工形状。
首先,对伺服控制装置100进行说明。
如图1所示,伺服控制装置100具有:减法器101、位置控制部102、加法器103、减法器104、速度控制部105、加法器106、积分器107、速度前馈计算部108、以及位置前馈计算部109。加法器106与伺服电动机500连接。
速度前馈计算部108具有二次微分器1081、以及速度前馈处理部1082。位置前馈计算部109具有微分器1091、位置前馈处理部1092。
从数值控制装置400输出的位置指令值输入到减法器101、速度前馈计算部108、位置前馈计算部109、以及输出装置300。
减法器101接收从数值控制装置400输入的位置指令,求出位置指令与位置反馈的检测位置之差,将该差作为位置偏差输出给位置控制部102和输出装置300。
位置控制部102将位置增益Kp乘以位置偏差而得的值作为速度指令值而输出给加法器103。
位置前馈计算部109的微分器1091对位置指令值进行微分而乘以常数β,位置前馈处理部1092对微分器1091的输出进行由数学式1(以下表示为数学式1)表示的传递函数G(s)所示的位置前馈处理,将该处理结果作为位置前馈项输出给减法器104。数学式1的系数ai、bj(X≥i、j≥0,X是自然数)是位置前馈处理部1092的传递函数G(s)的各系数。
【数学式1】
加法器103将速度指令值与位置前馈计算部109的输出值(位置前馈项)相加,作为前馈控制的速度指令值输出给减法器104。减法器104求出加法器103的输出与速度反馈的速度检测值之差,将该差作为速度偏差输出给速度控制部105。
速度控制部105将积分增益K1v乘以速度偏差来进行积分所得的值、与比例增益K2v乘以速度偏差所得的值相加,作为转矩指令值输出给加法器106。
速度前馈计算部108的二次微分器1081对位置指令值进行二次微分而乘以常数α,速度前馈处理部1082对二次微分器1081的输出进行由数学式2(以下表示为数学式2)表示的传递函数F(s)所示的速度前馈处理,将该处理结果作为速度前馈项输出给加法器106。数学式2的系数ci、dj(X≥i、j≥0,X是自然数)是速度前馈处理部1082的传递函数F(s)的各系数。
【数学式2】
加法器106将转矩指令值与速度前馈处理部108的输出值(速度前馈项)相加,作为前馈控制的转矩指令值输出给伺服电动机500来驱动伺服电动机500。
通过与伺服电动机500关联起来的、作为位置检测部的旋转编码器来检测伺服电动机500的旋转角度位置,速度检测值作为速度反馈被输入到减法器104。速度检测值通过积分器107被积分而成为位置检测值,位置检测值作为位置反馈被输入到减法器101。
如以上那样,构成伺服控制装置100。
接下来,对包含由伺服控制装置100控制的伺服电动机500在内的控制对象600进行说明。
图2是表示成为伺服控制装置100的控制对象600的一例的、包含伺服电动机的机床的一部分的框图。
伺服控制装置100通过伺服电动机500经由连接机构602使工作台603移动,由此,对搭载于工作台603上的被加工物(工件)进行加工。连接机构602具有与伺服电动机500连接的耦合器6021、固定于耦合器6021的滚珠丝杠6023,螺母6022与滚珠丝杠6023螺合。通过伺服电动机500的旋转驱动,与滚珠丝杠6023螺合的螺母6022向滚珠丝杠6023的轴向移动。通过螺母6022的移动,工作台603得以移动。
通过与伺服电动机500关联起来的、作为位置检测部的旋转编码器601来检测伺服电动机500的旋转角度位置。如上所述,检测出的信号用作速度反馈。检测出的信号通过积分器107进行积分而用作位置反馈。另外,也可以将安装于滚珠丝杠6023的端部,检测滚珠丝杠6023的移动距离的线性标尺604的输出用作位置反馈。此外,还可以使用加速度传感器来生成位置反馈。
接下来,对机器学习装置200进行说明。
机器学习装置200对位置前馈处理部1092的传递函数的系数、与速度前馈处理部1082的传递函数的系数进行机器学习(以下,称为学习)。
机器学习装置200分开进行速度前馈处理部1082的传递函数的系数的学习、以及位置前馈处理部1092的传递函数的系数的学习,先于位置前馈处理部1092的传递函数的系数的学习来进行处于比位置前馈处理部1092靠近内侧(内环)的速度前馈处理部1082的传递函数的系数的学习。具体来说,固定位置前馈处理部1092的传递函数的系数,学习速度前馈处理部1082的传递函数的系数的最佳值。之后,机器学习装置200将速度前馈处理部1082的传递函数的系数固定为通过学习而获得的最佳值,学习位置前馈处理部1092的传递函数的系数。
通过这样,可以在通过学习而最佳化的速度前馈项的条件下,进行位置前馈处理部1092的传递函数的系数的最佳化有关的学习,可以抑制位置偏差的变动。
因此,通过先于位置前馈处理部1092的传递函数的系数的学习来进行处于比位置前馈处理部1092靠近内侧(内环)的速度前馈处理部1082的传递函数的系数的学习,可以抑制位置偏差的变动,可以实现高精度化。
在以下的说明中,以速度前馈处理部1082的传递函数的系数有关的机器学习(强化学习)为例进行说明。另外,在本实施方式中,作为机器学习的一例对强化学习进行说明,但是机器学习并不特别限定于强化学习。
机器学习装置200通过执行预先设定的加工程序(成为“学习时的加工程序”,也称为评价程序),来对速度前馈处理部1082的传递函数的系数进行机器学习(以下,称为学习)。
这里,由学习时的加工程序指定的加工形状例如是图3所示的八边形、和/或图4所示的八边形的角每隔一个置换为圆弧的形状等。
这里,通过由学习时的加工程序指定的加工形状的位置A1与位置A3、和/或位置B1与位置B3,对线性控制中变更了转速时的振动进行评价,调查针对位置偏差的影响,由此,学习传递函数G(s)有关的系数。
另外,通过加工形状的位置A2与位置A4、和/或位置B2与位置B4,对旋转方向反转时产生的惯性(所谓的“象限突起”)进行评价,调查针对位置偏差的影响,由此,可以学习用于计算抑制象限突起的校正量的传递函数有关的系数。
在进行机器学习装置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】
在上述的数学式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”,VolodymyrMnihl著[online],[平成29年1月17日检索],因特网〈URL:http://files.davidqiu.com/research/nature14236.pdf〉
机器学习装置200进行以上说明的Q学习。具体来说,机器学习装置200学习如下内容的价值Q:将指令以及反馈等伺服状态作为状态S,将该状态S有关的速度前馈处理部1082的传递函数的各系数ci、dj的值的调整选择为行为A,其中,指令以及反馈包含伺服控制装置100中的速度前馈处理部1082的传递函数的各系数ci、dj(X≥i、j≥0)的值、通过执行学习时的加工程序而取得的伺服控制装置100的位置偏差信息、以及位置指令。
机器学习装置200根据速度前馈处理部1082的传递函数的各系数ci、dj的值来观测包含指令以及反馈等伺服状态的状态信息S,从而决定行为A,其中,指令以及反馈包含通过执行学习时的加工程序而在上述的加工形状的位置A1与位置A3和/或位置B1与位置B3处的、伺服控制装置100的位置指令以及位置偏差信息。机器学习装置200每当进行行为A时返回回报。机器学习装置200例如试错性地探索最佳的行为A以使到将来的回报合计为最大。通过这样,机器学习装置200能够对包含指令和反馈等伺服状态的状态S选择最佳的行为A(即,速度前馈处理部1082的最佳系数ci、dj),其中,指令和反馈包含根据速度前馈处理部1082的传递函数的各系数ci、dj的值来执行学习时的加工程序而取得的伺服控制装置100的位置指令以及位置偏差信息。机器学习装置200可以学习线性动作时的速度前馈处理部1082的传递函数的各系数ci、dj
即,根据由机器学习装置200学习到的价值函数Q,选择应用于某种状态S有关的速度前馈处理部1082的传递函数的各系数ci、dj的行为A中的、Q的值为最大那样的行为A,由此,能够选择通过执行学习时的加工程序而取得的位置偏差为最小那样的行为A(即,速度前馈处理部1082的系数ci、dj)。
图5是表示第一实施方式的机器学习装置200的框图。
为了进行上述的强化学习,如图5所示,机器学习装置200具有:状态信息取得部201、学习部202、行为信息输出部203、价值函数存储部204、以及最佳化行为信息输出部205。学习部202具有:回报输出部2021、价值函数更新部2022、以及行为信息生成部2023。
状态信息取得部201从伺服控制装置100取得包含指令、反馈等伺服状态的状态S,其中,指令、反馈包含伺服控制装置100中的速度前馈处理部1082的传递函数的各系数ci、dj、以及根据这些系数执行学习时的加工程序而取得的伺服控制装置100的位置指令和位置偏差信息。该状态S相当于Q学习中的环境状态S。
状态信息取得部201对学习部202输出所取得的状态S。
另外,最初开始Q学习的时间点的速度前馈处理部1082的系数ci、dj预先由用户生成。在本实施方式中,通过强化学习将用户制作出的速度前馈处理部1082的系数ci、dj的初始设定值调整为最佳。将微分器112的系数β设为固定值,例如设α=1。此外,速度前馈处理部1082的系数ci、dj例如作为初始设定值,设数学式2的c0=1,c1=0,c2=0,d0=1,d1=0,d2=0。此外,预先设定系数ci、dj的维度(次元)m、n。即,对于ci设0≤i≤m,对于dj设0≤j≤n。
另外,系数ci、dj在操作员预先调整机床时,可以将调整完的值作为初始值来进行机器学习。
学习部202是在某种环境状态S下,学习选择某种行为A时的价值Q(S、A)的部分。
回报输出部2021是在某种状态S下计算选择了行为A时的回报的部分。这里,状态S下的状态变量即位置偏差的集合(位置偏差集合)通过PD(S)来表示,因行为信息A而从状态S变化了的状态信息S’有关的状态变量即位置偏差集合通过PD(S’)来表示。此外,状态S下的位置偏差的值设为根据预先设定的评价函数f(PD(S))而计算的值。行为信息A是速度前馈处理部1082的各系数ci、dj(i、j表示0和正整数)的修正。
这里,所谓状态S下的状态变量即位置偏差的集合表示在包含所述的加工形状的位置A1与位置A3、和/或位置B1与位置B3在内的规定范围内测量的位置偏差的集合。
通过评价函数f而取得的评价函数值可以使用成为伺服数据的位置偏差或根据位置偏差计算来取得。
作为评价函数f,例如可以应用如下等函数,
计算位置偏差的绝对值的积分值的函数
∫|e|dt
对位置偏差的绝对值进行时间加权来计算积分值的函数
∫t|e|dt
计算位置偏差的绝对值的2n(n是自然数)次幂的积分值的函数
∫e2ndt(n是自然数)
计算位置偏差的绝对值的最大值的函数
Max{|e|}。
回报输出部2021按试验次数将针对每一次试验而取得的评价函数值的集合存储于存储部中,当存在从输出装置300进行评价函数值的输出请求时,将评价函数值的集合与试验次数关联起来输出给输出装置300。回报输出部2021还存储速度前馈、位置前馈等的调整对象、试验次数、以及最大试验次数,与评价函数值的集合一起输出给输出装置300。
此外,回报输出部2021将通过调整前(开始学习时)的控制参数进行了加工处理时的位置偏差的集合、与通过调整后(结束学习后)的控制参数进行了加工处理时的位置偏差的集合存储于存储部,当存在从输出装置300进行这些位置偏差的集合的输出请求时,输出这些位置偏差的集合。
此时,当根据通过行为信息A进行了修正的状态信息S’有关的修正后的速度前馈处理部1082而进行了动作的伺服控制装置100的位置偏差的值f(PD(S’)),比根据通过行为信息A进行修正前的状态信息S有关的修正前的速度前馈处理部1082而进行了动作的伺服控制装置100的位置偏差的值f(PD(S))大时,回报输出部2021使回报值为负值。
另一方面,当根据通过行为信息A进行了修正的状态信息S’有关的修正后的速度前馈处理部1082而进行了动作的伺服控制装置100的位置偏差的值f(PD(S’)),比根据通过行为信息A进行修正前的状态信息S有关的修正前的速度前馈处理部1082而进行了动作的伺服控制装置100的位置偏差的值f(PD(S))小时,回报输出部2021使回报值为正值。
另外,当根据通过行为信息A进行了修正的状态信息S’有关的修正后的速度前馈处理部1082而进行了动作的伺服控制装置100的位置偏差的值f(PD(S’)),与根据通过行为信息A进行修正前的状态信息S有关的修正前的速度前馈处理部1082而进行了动作的伺服控制装置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学习的过程中,为了进行修正伺服控制装置100的速度前馈处理部1082的各系数ci、dj的动作(相当于Q学习中的行为A),而生成行为信息A,向行为信息输出部203输出所生成的行为信息A。更具体来说,行为信息生成部2023例如相对于状态S所包含的速度前馈处理部1082的各系数ci、dj,使行为A所包含的速度前馈处理部1082的各系数ci、dj加上或者减去增量(例如0.01左右)。
并且,可以采取如下策略:行为信息生成部2023在应用速度前馈处理部1082的各系数ci、dj的增加或减少而向状态S’转移并返回了正回报(正值的回报)时,作为下一行为A’,选择针对速度前馈处理部1082的各系数ci、dj与前次的动作同样地加上或减去增量等使位置偏差值更小那样的行为A’。
此外,反之还可以采取如下策略:当返回了负回报(负值的回报)时,行为信息生成部2023作为下一行为A’,例如选择针对速度前馈处理部1082的各系数ci、dj与前次的动作相反地减去或者加上增量等使位置偏差比前次的值小那样的行为A’。
此外,行为信息生成部2023也可以采取如下策略:通过在当前推定的行为A的价值中选择价值Q(S、A)最高的行为A’的贪婪算法,或者用某个较小的概率ε随机选择行为A’,除此之外选择价值Q(S、A)最高的行为A’的ε贪婪算法这样的众所周知的方法,来选择行为A’。
行为信息输出部203是针对伺服控制装置100发送从学习部202输出的行为信息A的部分。如上所述,伺服控制装置100根据该行为信息,对当前状态S,即当前设定的速度前馈处理部1082的各系数ci、dj进行微修正,而向下一状态S’(即,进行了修正的速度前馈处理部1082的各系数ci、dj)转移。
价值函数存储部204是存储价值函数Q的存储装置。价值函数Q例如可以按状态S、行为A而存储为表(以下,称为行为价值表)。存储于价值函数存储部204的价值函数Q通过价值函数更新部2022而被更新。此外,存储于价值函数存储部204的价值函数Q也可以在与其他机器学习装置200之间共享。如果在多个机器学习装置200之间共享价值函数Q,则能够通过各机器学习装置200分散地进行强化学习,因此,能够提升强化学习的效率。
最佳化行为信息输出部205根据价值函数更新部2022进行Q学习而进行了更新的价值函数Q,生成用于使速度前馈处理部1082进行价值Q(S、A)为最大的动作的行为信息A(以下,称为“最佳化行为信息”)。
更具体来说,最佳化行为信息输出部205取得价值函数存储部204存储的价值函数Q。如上所述该价值函数Q是通过价值函数更新部2022进行Q学习而被更新的函数。并且,最佳化行为信息输出部205根据价值函数Q,生成行为信息,对伺服控制装置100(速度前馈处理部1082)输出所生成的行为信息。该最佳化行为信息与行为信息输出部203在Q学习的过程中输出的行为信息一样,包含对速度前馈处理部1082的各系数ci、dj进行修正的信息。
在伺服控制装置100中,根据该行为信息对速度前馈处理部1082的各系数ci、dj进行修正。
机器学习装置200通过以上的动作,可以进行速度前馈处理部1082的各系数ci、dj的学习和最佳化,以降低位置偏差的值的方式来进行动作。
像以上那样,通过利用本实施方式涉及的机器学习装置200,使伺服控制装置100的速度前馈处理部1082的校正参数(系数ci、cj)调整简化。通过校正参数(系数ci、dj)调整来完成速度前馈处理部1082的速度前馈项的调整。
以上,对伺服控制装置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-Purpose computing on Graphics Processing Units,通用图形处理器)的技术,在将GPU用于伴随机器学习的运算处理时进行高速处理。并且,为了进行更高速的处理,可以使用多台搭载了这样的GPU的计算机来构筑计算机集群,通过该计算机集群所包含的多个计算机来进行并列处理。
以上,对机器学习装置200进行的、速度前馈处理部1082的系数的学习进行了说明,但是位置前馈处理部1092的传递函数的系数的机器学习也同样地进行。即,将第一实施方式中的速度前馈处理部1082改为位置前馈处理部1092,并且将速度前馈处理部1082的各系数ci,dj改为位置前馈处理部1092的传递函数的各系数ai,bj来进行说明。
在本实施方式中,机器学习装置200优先进行速度前馈处理部1082的传递函数的系数的学习,在优化了速度前馈处理部1082的传递函数的系数之后,进行位置前馈处理部1092的传递函数的系数的学习,但是本实施方式不限于此。
例如,机器学习装置200可以同时学习位置前馈处理部1092的传递函数的系数、以及速度前馈处理部1082的传递函数的系数。这样,在机器学习装置200同时学习的情况下,两个学习可能相互干扰导致信息处理量增大。
此外,在本实施方式中具有位置前馈计算部109和速度前馈计算部108。
但是,也可以具有位置前馈计算部109或速度前馈计算部108中的某一个。该情况下,例如在只设置位置前馈计算部109时,不需要二次微分器1081、速度前馈处理部1082、以及加法器106。
接下来,对输出装置300进行说明。
图6是表示本发明的第一实施方式的控制装置所含的输出装置的一结构例的框图。如图6所示,输出装置300具有:信息取得部301、信息输出部302、制图部303、操作部304、控制部305、存储部306、信息取得部307、信息输出部308、以及显示部309。信息取得部301为从机器学习装置中取得多个评价函数的信息取得部。控制部305和显示部309为输出评价函数的输出部。输出部的显示部309可以使用液晶显示装置、打印机等。还包含输出存储于存储部306,该情况下,输出部为控制部305和存储部306。
输出装置300具有如下输出功能:通过图或文字来表示机器学习装置200机器学习过程中的学习动作,具体来说强化学习时的评价函数值(例如上述的状态S有关的评价函数值f(PD(S)))的推移,此外,还通过图或文字来表示强化学习后的调整结果(例如位置偏差的抑制)以及机器学习的验证结果。
此外,输出装置300还具有如下调整功能:进行机器学习装置200与伺服控制装置100之间的信息(例如,位置偏差、位置指令、速度前馈计算部的系数、以及速度前馈计算部的系数的修正信息)的中继、机器学习装置200的动作的控制(例如,针对机器学习装置的学习程序启动指示)。
并且,输出装置300还具有如下调整功能:向数值控制装置400输出通常的加工程序、学习时的加工程序(评价用程序)、比学习时的加工程序低速的验证时的加工程序(验证程序)、比学习时高速的验证时的加工程序(验证程序)的某一个启动指示。
使用图6~图8对机器学习装置200的信息的输出功能进行说明。图7是表示在机器学习过程中,对照机器学习的进展状况,将状态S有关的评价函数值f(PD(S))显示于显示部309时的显示画面的一例的图,图8是表示机器学习后的、将调整前与调整后的位置偏差显示于显示部309时的显示画面的一例的图。
首先,对输出装置300输出机器学习过程中的伺服控制参数有关的评价函数值的情况进行说明。
如图7所示,显示画面例如具有调整流程的栏、转矩极限的栏。此外,显示画面例如还具有对速度前馈等的调整对象、数据采集中等的状态(状态)、表示相对于预先设定的该机器学习结束为止的试验次数(以下也称为“最大试验次数”)的目前为止的试验次数的累计的试验次数、在开始机器学习到目前为止的试验中取得的评价函数值集合中的最小值、以及选择中断的按钮进行表示的栏、在该栏之下用点来表示通过试验次数而关联起来的按各试验的评价函数值,并且用折线表示在开始机器学习到通过试验次数而关联起来的各试验之前取得的评价函数值集合中的最小值的推移的图的栏。
调整流程的栏例如由轴选择、参数确认、程序确认和编辑、程序启动、机器学习中、调整结果构成。
操作员在通过鼠标、键盘等操作部304选择液晶显示装置等显示部309的图7所示的显示画面的“调整流程”的栏的“机器学习中”时,控制部305经由信息输出部302对机器学习装置200发送包含通过试验次数而关联起来的状态S有关的评价函数值f(PD(S))、该机器学习的调整对象(学习对象)相关的信息、试验次数、最大试验次数在内的信息等的输出指示。
信息取得部301在从机器学习装置200接收包含通过试验次数而关联起来的状态S有关的评价函数值f(PD(S))、该机器学习的调整对象(学习对象)相关的信息、试验次数、最大试验次数在内的信息等时,控制部305将接收到的信息存储于存储部306,并且求出与目前所存储的试验次数关联起来的状态S有关的评价函数值f(PD(S))的集合的最小值、与试验开始到规定的试验次数为止的状态S有关的评价函数值f(PD(S))的集合(从开始机器学习起取得的所有评价函数值)的最小值之间的推移,将该最小值的推移、和与接收到的试验次数关联起来的状态S有关的评价函数值f(PD(S))存储于存储部306,将控制转移到制图部303。制图部303根据与试验次数关联起来的状态S有关的评价函数值f(PD(S))的集合的最小值来制作散布图,在该散布图中,对从开始试验到规定的试验次数为止的状态S有关的评价函数值f(PD(S))的集合的最小值的推移进行施加折线的处理,制作该散布图的图像信息,将控制转移到控制部305。控制部305如图7所示来显示施加了表示最小值的推移的折线的散布图。
此外,如图7所示,控制部305例如根据表示速度前馈是调整对象的信息,在显示画面的调整对象栏中显示为速度前馈,在试验次数没有达到最大试验次数时在显示画面的状态栏中显示为数据采集中。并且,控制部305在显示画面的试验次数栏中显示试验次数相对于最大试验次数之比,这里显示试验次数85相对于最大试验次数为100次之比85/100,将从开始试验到当前的试验次数为止的状态S有关的评价函数值f(PD(S))的最小值显示为26.634。
另外,图7所记载的显示画面是一个示例,并不限定于此。也可以显示上述所例示的项目以外的信息。此外,也可以省略上述所例示的几个项目的信息显示。
此外,在上述说明中,控制部305将从机器学习装置200接收到的信息存储于存储部306并且实时地将通过试验次数而关联起来的状态S有关的评价函数值f(PD(S))相关的信息显示于显示部309,但是并不限定于此。
例如,作为没有实时显示的实施例存在以下的示例。
变形例1:在操作员(作业员)做出了显示指示时,显示图7所记载的信息(由机器学习装置200此前进行的学习(试验结果)的信息)。
变形例2:(从开始机器学习时起的)试验次数的累计达到预先设定的规定次数时,显示图7所记载的信息(由机器学习装置200此前进行的学习(试验结果)的信息)。
变形例3:在状态S有关的评价函数值f(PD(S))为预先设定的阈值以下时,显示图7所记载的信息(由机器学习装置200此前进行的学习(试验结果)的信息)。
变形例4:在中断或结束机器学习时,显示图7所记载的信息(由机器学习装置200此前进行的学习(试验结果)的信息)。
在以上的变形例1~4中也与上述的实时的显示的动作一样,信息取得部301在从机器学习装置200接收包含通过试验次数而关联起来的状态S有关的评价函数值f(PD(S))、该机器学习的调整对象(学习对象)相关的信息、试验次数、最大试验次数在内的信息等时,控制部305将接收到的信息存储于存储部306中。之后,在变形例1中操作员(作业员)做出了显示指示时,在变形例2中试验次数的累计达到预先设定的规定次数时,在变形例3中状态S有关的评价函数值f(PD(S))为预先设定的阈值以下时,在变形例4中中断或结束机器学习时,控制部305都进行将控制转移到制图部的动作。
接下来,对输出装置300输出调整前和调整后的伺服控制动作的情况进行说明。
操作员通过图8的显示画面利用鼠标、键盘等操作部304来选择显示部309的图8所示的显示画面的“调整流程”的栏的“调整结果”时,控制部305经由信息输出部302对机器学习装置200发送通过调整前(开始学习时)的控制参数进行了加工处理时的位置偏差的集合、与通过调整后(结束学习后)的控制参数进行了加工处理时的位置偏差的集合的信息的输出指示。
此外,控制部305可以经由信息输出部308向数值控制装置400发送使比学习时的加工程序即评价用程序低速的验证程序、比评价用程序高速的验证程序依次启动的指示、低速的验证程序动作时的位置偏差的集合、与高速的验证程序动作时的位置偏差的集合的信息的输出指示。
信息取得部301从机器学习装置200接收通过调整前(开始学习时)的控制参数进行了加工处理时的位置偏差的集合、与通过调整后(结束学习后)的控制参数进行了加工处理时的位置偏差的集合的信息时,控制部305将接收到的信息存储于存储部306,并且将控制转移到制图部303。制图部303从调整前与调整后的位置偏差的集合中,制作表示调整前的位置偏差的时间变化的图、与表示调整后的位置偏差的时间变化的图的图像信息,将控制转移到控制部305。控制部305将表示调整前的位置偏差的时间变化的图、与表示调整后的位置偏差的时间变化的图显示于图8的显示画面。
接下来,对输出装置300输出验证结果的情况进行说明。
操作员在图8的显示画面利用鼠标、键盘等操作部304选择显示部309的图8所示的显示画面的“调整流程”的栏的“调整结果”时,输出装置300可以输出验证结果。输出装置300在选择了“调整结果”时,对数值控制装置400输出比学习时的加工程序低速的验证时的加工程序(验证程序)、比学习时高度的验证时的加工程序(验证程序)的某一个的启动指示。伺服控制装置100根据从数值控制装置400输出的位置指令来进行伺服电动机500的伺服控制。
信息取得部301从伺服控制装置100接收到低速的验证程序动作时的位置偏差的集合、与高速的验证程序动作时的位置偏差的集合的信息时,控制部305将接收到的信息存储于存储部306,并且将控制转移到制图部303。制图部303从低速的验证程序动作时的位置偏差的集合中制作表示低速的验证程序动作时的位置偏差的施加变化的图的图像信息、从高速的验证程序动作时的位置偏差的集合中制作表示高速的验证程序动作时的位置偏差的时间变化的图的图像信息,将控制转移到控制部305。控制部305可以将表示低速的验证程序动作时的位置偏差的时间变化的图、与表示高速的验证程序动作时的位置偏差的时间变化的图分别显示于图8的显示画面中。
另外,可以如图8左下的表所示,显示伺服控制装置的位置偏差、速度偏差等参数的每一个的学习之前(before)与学习之后(after)的变化。
接下来,对输出装置300的上述输出功能与调整功能进行说明。
图9是表示从开始机器学习到结束机器学习后的调整结果显示为止的、以输出装置为中心的控制装置的动作的流程图。
输出装置300在步骤S31中,在操作员利用鼠标、键盘等操作部304来选择图7或图8所示的、显示部309的显示画面的“调整流程”的栏的“程序启动”时,控制部305经由信息输出部302向机器学习装置200输出学习程序启动指示。并且,针对伺服控制装置100输出学习程序启动指示通知,所述学习程序启动指示通知用于通知向机器学习装置200输出了学习程序启动指示。此外,输出装置300在步骤S31之后的步骤S32中,经由信息输出部308向数值控制装置400输出学习时的加工程序的启动指示。步骤S32可以在步骤S31之前进行,也可以与步骤S31同时进行。数值控制装置400接收学习时的加工程序的启动指示时,启动学习时的程序来制作位置指令值,输出给伺服控制装置100。
机器学习装置200在步骤S21中,接收学习程序启动指示时,开始机器学习。
伺服控制装置100在步骤S11中,控制伺服电动机500,将包含位置偏差、速度前馈处理部1082的传递函数的系数(成为参数信息)在内的反馈信息输出给输出装置300。并且,输出装置300将反馈信息输出给机器学习装置200。机器学习装置200将包含与步骤S21中进行的机器学习动作过程中回报输出部2021所使用的与试验次数关联起来的状态S有关的评价函数值f(PD(S))、最大试验次数、试验次数以及速度前馈处理部1082的传递函数的系数的修正信息(成为参数修正信息)在内的信息输出给输出装置300。输出装置300将速度前馈处理部1082的传递函数的系数的修正信息发送给伺服控制装置。此外,输出装置300在步骤S33利用上述的输出功能,在选择图7所示的显示画面的“调整流程”的栏的“机器学习中”时将包含机器学习装置200的机器学习过程中的伺服控制参数有关的评价函数值等在内的机器学习的进展状况涉及的信息输出给显示部309。此外,输出装置300在步骤S33选择图8所示的显示画面的“调整流程”的栏的“调整结果”时,将调整前和调整后的伺服控制动作(位置偏差的时间变化)输出给显示部309。在中断或结束机器学习之前重复进行步骤S11、步骤S21、步骤S33。
这里,对将包含机器学习过程中的伺服控制参数有关的评价函数值等在内的机器学习的进展状况涉及的信息实时输出给显示部309的情况进行了说明,但是在作为已经没有实时显示时的示例而进行了说明的变形例1~变形例4那样的情况下,也可以将机器学习的进展状况涉及的信息实时地输出给显示部309。
操作员观察图7的折线而判断为从开始机器学习起取得的所有评价函数的最小值充分收敛时,在通过鼠标、键盘等操作部304选择液晶显示装置等的显示部309的图7所示的显示画面的“中断”时,输出装置300在步骤S34中对机器学习装置200和数值控制装置400进行机器学习的中断指示。
机器学习装置200从输出装置300接收学习的中断指示时,中断学习,根据接收到指示时的评价函数Q,生成行为信息,从最佳化行为信息输出部205输出所生成的行为信息即参数修正信息(速度前馈处理部1082的传递函数的系数的修正信息)。该参数修正信息经由输出装置300输出到伺服控制装置100。
另外,操作员在选择了显示部309的图7所示的显示画面的“中断”之后,在图7的状态中显示了“机器学习中断”之后,当选择了“调整流程”的栏的“调整结果”时,输出装置300可以在步骤S35中,向数值控制装置400发送使比学习时的加工程序即评价用程序低速的验证时的加工程序(验证程序)、与比学习时的加工程序即评价用程序高速的验证时的加工程序(验证程序)依次启动的启动指示。
数值控制装置400接收低速与高速的验证程序的启动指示时,依次启动低速的验证程序与高速的验证程序,针对伺服控制装置100输出位置指令。伺服控制装置100在步骤S12中,通过低速的验证程序和高速的验证程序来对伺服电动机500进行伺服控制,将低速的验证程序动作时的位置偏差的集合、与高速的验证程序动作时的位置偏差的集合的信息发送给输出装置300。输出装置300在步骤S36利用上述的输出功能,将伺服控制装置100的信息输出给显示部309。
(第二实施方式)
在第一实施方式中,输出装置300与伺服控制装置100、机器学习装置200和数值控制装置400连接,进行机器学习装置200与伺服控制装置100之间的信息(例如,位置偏差、位置指令、速度前馈计算部的系数)的中继、伺服控制装置100与数值控制装置400的动作的控制(例如,针对机器学习装置的学习程序启动指示、针对数值控制装置400的验证程序启动指示)。
在本实施方式中,对输出装置与机器学习装置和数值控制装置连接的情况进行说明。
图10是表示本发明的第二实施方式的控制装置所含的输出装置的一结构例的框图。控制装置10A具有:伺服控制装置100、机器学习装置200、输出装置300A、以及数值控制装置400。
输出装置300A相比于图6所示的输出装置300,不具有信息取得部307和信息输出部308。
输出装置300A不与伺服控制装置100连接,因此,不进行机器学习装置200与伺服控制装置100之间的信息(例如,位置偏差、位置指令、以及速度前馈计算部的系数)的中继、与伺服控制装置100之间的信息(例如,针对伺服控制装置100的验证用的位置偏差)的收发。具体来说,进行图9所示的、步骤S31的学习程序启动指示、步骤S33的机器学习状态输出、步骤S34的机器学习的中断指示,但是不进行图9所示的其他动作(例如,步骤S35、S36)。通过这样,由于输出装置300A不与伺服控制装置100连接,因此输出装置300A的动作减少,装置结构实现简易化。
(第三实施方式)
在第一实施方式中,输出装置300与伺服控制装置100、机器学习装置200和数值控制装置400连接,但是在本实施方式中,对调整装置与伺服控制装置100、机器学习装置200、数值控制装置400连接,输出装置与调整装置连接的情况进行说明。
图11是表示本发明的第三实施方式的控制装置的一结构例的框图。控制装置10B具有:伺服控制装置100、机器学习装置200、输出装置300A、数值控制装置400以及调整装置700。图11所示的输出装置300A与图10所示的输出装置300A的结构一样,但是信息取得部301和信息输出部302并非机器学习装置200而与调整装置700连接。
调整装置700为除去图6的输出装置300的制图部303、操作部304以及显示部309的结构。
图11所示的输出装置300A与第二实施方式的图10所示的输出装置300A一样,除了图7所示的、步骤S31的学习程序启动指示、步骤S33的机器学习状况输出、步骤S34的机器学习的中断指示之外,进行步骤S36的验证结构显示,但是经由调整装置700来进行这些动作。调整装置700进行机器学习装置200与伺服控制装置100之间的信息(例如,位置偏差、位置指令、以及速度前馈计算部的系数)的中继。此外,调整装置700对输出装置300A进行的、针对机器学习装置200的学习程序启动指示、针对数值控制装置400的、学习时的加工程序、低速的验证程序、或高速的验证程序启动指示等进行中继,分别向机器学习装置200和数值控制装置400输出启动指示。
通过这样,与第一实施方式相比较输出装置300的功能分离给输出装置300A和调整装置700,因此,输出装置300A的动作减少,装置结构实现简易化。
以上对本发明的各实施方式进行了说明,上述的伺服控制装置的伺服控制部和机器学习装置所包含的各结构部可以通过硬件、软件或者它们的组合来实现。此外,由上述伺服控制装置所包含的各结构部的各自协作而进行的伺服控制方法也可以通过硬件、软件或者它们的组合来实现。这里,所谓通过软件来实现表示计算机通过读入程序来执行从而实现。
可以使用各种类型的非临时性的计算机可读记录介质(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)。
上述实施方式是本发明的优选实施方式,但是并非将本发明的范围只限定于上述实施方式,可以在不脱离本发明精神的范围内以实施了各种变更的方式来进行实施。
<输出装置包含于伺服控制装置或机器学习装置中的变形例>
在上述实施方式中,对将机器学习装置200、伺服控制装置100、输出装置300或300A、以及数值控制装置400构成为控制装置的示例、与将输出装置300分为输出装置300A和调整装置700而设置于控制装置的示例进行了说明。在这些示例中,机器学习装置200、伺服控制装置100、输出装置300或300A、数值控制装置400、调整装置700通过分开的装置而构成,但是也可以将这些装置中的一个与其他装置一体地构成。例如,可以通过机器学习装置200、伺服控制装置100、或数值控制装置400来实现输出装置300或300A的功能的一部分。
此外,也可以将输出装置300或300A设置于由机器学习装置200、伺服控制装置100、以及数值控制装置400构成的控制装置的外部。
<系统结构的自由度>
图12是表示其他结构的控制装置的框图。控制装置10C如图12所示,具有n台伺服控制装置100-1~100-n、n台机器学习装置200-1~200-n、输出装置300-1~300-n、数值控制装置400-1~400-n、以及网络800。另外,n是任意自然数。n台伺服控制装置100-1~100-n分别与图1、图10以及图11所示的伺服控制装置100对应。n台机器学习装置200-1~200-n分别与图1、图10以及图11所示的机器学习装置200对应。数值控制装置400-1~400-n与数值控制装置400对应,设置于伺服控制装置100-1~100-n的每一个。输出装置300-1~300-n与图6、以及图10所示的输出装置300或300A对应。图11所示的输出装置300A以及调整装置700与输出装置300-1~300-n对应。伺服控制装置100-1~100-n可以包含于数值控制装置400-1~400-n。
这里,伺服控制装置100-1与输出装置300-1为一对一的组,能够通信地连接。关于伺服控制装置100-2~100-n与输出装置300-2~300-n,也同伺服控制装置100-1与输出装置300-1一样地连接。在图12中,伺服控制装置100-1~100-n与输出装置300-1~300-n的n个组经由网络800而连接,但是关于伺服控制装置100-1~100-n与输出装置300-1~300-n这n个组,各组的伺服控制装置与输出装置可以经由连接接口而直接连接。关于这些伺服控制装置100-1~100-n与输出装置300-1~300-n这n个组,例如可以在同一个工厂中设置多组,也可以分别设置于不同的工厂中。
另外,网络800例如是在工厂内构建的LAN(Local Area Network:局域网)、互联网、公共电话网、或者它们的组合。对于网络800中具体的通信方式是有线连接还是无线连接等没有特别限定。
在上述的图12的控制装置中,输出装置300-1~300-n与伺服控制装置100-1~100-n作为一对一的组以能够通信的方式进行连接,例如一台输出装置300-1也可以经由网络800而与多台伺服控制装置100-1~100-m(m<n或m=n)能够通信地连接,与一台输出装置300-1连接的一台机器学习装置实施各伺服控制装置100-1~100-m的机器学习。
此时,机器学习装置200-1的各功能可以适当分散于多个服务器而成为分散处理系统。此外,机器学习装置200-1的各功能也可以在云上利用虚拟服务器功能等来实现。
此外,当存在与多个相同型号名称、相同规格、或者相同系列的伺服控制装置100-1~100-n分别对应的多个机器学习装置200-1~200-n时,可以共享各机器学习装置200-1~200-n中的学习结果。这样,能够构建更合适的模型。

Claims (15)

1.一种控制装置,其特征在于,具有:
伺服控制装置,其对驱动机器人或工业机械的轴的伺服电动机进行控制;
机器学习装置,其对伺服控制装置进行机器学习;
数值控制装置,其对所述伺服控制装置输出控制指令,以及
输出装置,其进行所述机器学习装置的动作控制和向所述数值控制装置输出程序启动指示,
所述输出装置从对控制伺服电动机的伺服控制装置进行机器学习的机器学习装置,取得多个使用了伺服数据的评价函数值,并且输出所取得的多个所述评价函数值,其中,所述伺服电动机驱动机器人或工业机械的轴。
2.根据权利要求1所述的控制装置,其特征在于,所述输出装置还进行所述机器学习装置与所述伺服控制装置之间的信息的中继。
3.根据权利要求1所述的控制装置,其特征在于,所述控制装置还具有:
调整装置,其进行所述机器学习装置与所述伺服控制装置之间的信息的中继,
所述输出装置经由所述调整装置进行所述机器学习装置的动作控制和向所述数值控制装置输出加工程序启动指示,并且经由所述调整装置从所述机器学习装置取得多个所述评价函数值。
4.根据权利要求1所述的控制装置,其特征在于,
所述输出装置包含:显示部,其将多个所述评价函数值显示于显示画面。
5.根据权利要求4所述的控制装置,其特征在于,
所述输出装置具有:制图部,其制作表示机器学习过程中的多个所述评价函数值的时间推移的图,
所述输出装置将制作出的图显示于所述显示画面。
6.根据权利要求1~5中任一项所述的控制装置,其特征在于,
所述输出装置输出多个所述评价函数值的最小值。
7.根据权利要求1~5中任一项所述的控制装置,其特征在于,
所述输出装置输出从开始机器学习起所取得的所有所述评价函数值的最小值。
8.根据权利要求1~5中任一项所述的控制装置,其特征在于,
所述输出装置实时地输出所取得的多个所述评价函数值。
9.根据权利要求1~5中任一项所述的控制装置,其特征在于,
在操作员做出了显示指示时,所述输出装置输出所取得的多个所述评价函数值。
10.根据权利要求1~5中任一项所述的控制装置,其特征在于,
在从开始学习时起的试验次数的累计达到预先设定的规定次数时,所述输出装置输出所取得的多个所述评价函数值。
11.根据权利要求1~5中任一项所述的控制装置,其特征在于,
在所述评价函数值为预先设定的阈值以下时,所述输出装置输出所取得的多个所述评价函数值。
12.根据权利要求1~5中任一项所述的控制装置,其特征在于,
在中断或结束机器学习时,所述输出装置输出所取得的多个所述评价函数值。
13.根据权利要求1~5中任一项所述的控制装置,其特征在于,
所述输出装置对所述机器学习装置输出中断指示。
14.根据权利要求1~5中任一项所述的控制装置,其特征在于,
在从开始机器学习起所取得的所有所述评价函数值的最小值收敛时,所述输出装置输出中断指示。
15.根据权利要求1~5中任一项所述的控制装置,其特征在于,
所述输出装置包含在所述伺服控制装置、机器学习装置、以及数值控制装置中的一个之中。
CN201910560957.4A 2018-06-28 2019-06-26 输出装置、控制装置、以及评价函数值的输出方法 Active CN110658785B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-122877 2018-06-28
JP2018122877A JP6784722B2 (ja) 2018-06-28 2018-06-28 出力装置、制御装置、及び評価関数値の出力方法

Publications (2)

Publication Number Publication Date
CN110658785A CN110658785A (zh) 2020-01-07
CN110658785B true CN110658785B (zh) 2024-03-08

Family

ID=68886368

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910560957.4A Active CN110658785B (zh) 2018-06-28 2019-06-26 输出装置、控制装置、以及评价函数值的输出方法

Country Status (4)

Country Link
US (1) US11087509B2 (zh)
JP (1) JP6784722B2 (zh)
CN (1) CN110658785B (zh)
DE (1) DE102019209104A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020085535A (ja) * 2018-11-19 2020-06-04 アークレイ株式会社 情報処理装置、測定システム、及びプログラム
JP6719790B1 (ja) * 2019-09-05 2020-07-08 キタムラ機械株式会社 Cadデータによるマシニングセンタの自動運転装置
CN112034715B (zh) * 2020-09-17 2021-07-13 福州大学 一种基于改进q学习算法的电机伺服系统无模型反馈控制器设计方法
JPWO2022264262A1 (zh) * 2021-06-15 2022-12-22
WO2024005138A1 (ja) * 2022-07-01 2024-01-04 パナソニックIpマネジメント株式会社 制御パラメータの生成方法、プログラム、記録媒体、および、制御パラメータの生成装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009124803A (ja) * 2007-11-12 2009-06-04 Mitsubishi Electric Corp サーボゲイン調整装置およびサーボゲイン調整方法
CN102792234A (zh) * 2010-03-12 2012-11-21 西门子公司 用于计算机辅助地控制和/或调节技术系统的方法
CN102787915A (zh) * 2012-06-06 2012-11-21 哈尔滨工程大学 基于强化学习pid控制器的柴油机电子调速方法
JP2017030135A (ja) * 2015-07-31 2017-02-09 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
CN106483934A (zh) * 2015-08-27 2017-03-08 发那科株式会社 数值控制装置
CN106489105A (zh) * 2015-06-18 2017-03-08 三菱电机株式会社 控制参数调整装置
CN106557073A (zh) * 2015-09-30 2017-04-05 发那科株式会社 具有测定学习控制器的特性的功能的伺服控制装置
CN106557075A (zh) * 2015-09-28 2017-04-05 发那科株式会社 生成最佳的加速/减速的机床
CN106598058A (zh) * 2016-12-20 2017-04-26 华北理工大学 内在动机驱动的极限学习机自发育系统及其运行方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11242503A (ja) * 1998-02-25 1999-09-07 Hitachi Ltd プラント運転制御支援システム
JP2003061377A (ja) * 2001-08-17 2003-02-28 Yaskawa Electric Corp オートチューニング機能を備えたモータ制御装置
JP4627553B2 (ja) * 2008-03-28 2011-02-09 株式会社日立製作所 プラントの制御装置および火力発電プラントの制御装置
JP6325504B2 (ja) 2015-10-28 2018-05-16 ファナック株式会社 学習制御器の自動調整を行う機能を有するサーボ制御装置
JP6457472B2 (ja) * 2016-12-14 2019-01-23 ファナック株式会社 制御システム及び機械学習装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009124803A (ja) * 2007-11-12 2009-06-04 Mitsubishi Electric Corp サーボゲイン調整装置およびサーボゲイン調整方法
CN102792234A (zh) * 2010-03-12 2012-11-21 西门子公司 用于计算机辅助地控制和/或调节技术系统的方法
CN102787915A (zh) * 2012-06-06 2012-11-21 哈尔滨工程大学 基于强化学习pid控制器的柴油机电子调速方法
CN106489105A (zh) * 2015-06-18 2017-03-08 三菱电机株式会社 控制参数调整装置
JP2017030135A (ja) * 2015-07-31 2017-02-09 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
CN106483934A (zh) * 2015-08-27 2017-03-08 发那科株式会社 数值控制装置
CN106557075A (zh) * 2015-09-28 2017-04-05 发那科株式会社 生成最佳的加速/减速的机床
CN106557073A (zh) * 2015-09-30 2017-04-05 发那科株式会社 具有测定学习控制器的特性的功能的伺服控制装置
CN106598058A (zh) * 2016-12-20 2017-04-26 华北理工大学 内在动机驱动的极限学习机自发育系统及其运行方法

Also Published As

Publication number Publication date
CN110658785A (zh) 2020-01-07
JP2020004080A (ja) 2020-01-09
US20200005499A1 (en) 2020-01-02
US11087509B2 (en) 2021-08-10
DE102019209104A1 (de) 2020-01-02
JP6784722B2 (ja) 2020-11-11

Similar Documents

Publication Publication Date Title
CN108628355B (zh) 伺服控制装置及系统、机器学习装置及方法
CN110658785B (zh) 输出装置、控制装置、以及评价函数值的输出方法
CN109116811B (zh) 机器学习装置和方法、伺服控制装置、伺服控制系统
JP6538766B2 (ja) 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法
JP6474449B2 (ja) 調整装置及び調整方法
JP6748135B2 (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
US10824121B2 (en) Machine learning device, servo motor controller, servo motor control system, and machine learning method
JP6740277B2 (ja) 機械学習装置、制御装置、及び機械学習方法
JP6740278B2 (ja) 機械学習装置、制御装置、及び機械学習方法
US11592789B2 (en) Output device, control device, and method for outputting evaluation functions and machine learning results
JP6841801B2 (ja) 機械学習装置、制御システム及び機械学習方法
CN110941242B (zh) 电动机控制装置
JP6860541B2 (ja) 出力装置、制御装置、及び評価関数値の出力方法
CN111722530B (zh) 机器学习装置、控制系统以及机器学习方法
JP6740290B2 (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