机器学习装置、控制系统以及机器学习方法

文档序号:1415483 发布日期:2020-03-10 浏览:18次 >En<

阅读说明:本技术 机器学习装置、控制系统以及机器学习方法 (Machine learning device, control system, and machine learning method ) 是由 恒木亮太郎 猪饲聪史 下田隆贵 于 2019-08-27 设计创作,主要内容包括:本发明提供机器学习装置、控制系统以及机器学习方法。能够容易地设置用于决定滤波器特性的参数。根据设置于电动机控制装置外部的外部测量器的测量信息和输入到电动机控制装置的控制指令,优化设置于电动机控制装置的滤波器的系数,其中,所述电动机控制装置控制机床、机器人或工业机械用的电动机的旋转。(The invention provides a machine learning device, a control system and a machine learning method. The parameters for determining the filter characteristics can be easily set. The coefficient of a filter provided in a motor control device that controls the rotation of a motor for a machine tool, a robot, or an industrial machine is optimized based on measurement information of an external measurement device provided outside the motor control device and a control command input to the motor control device.)

机器学习装置、控制系统以及机器学习方法

技术领域

本发明涉及设置于电动机控制装置的、进行对滤波器的系数进行优化的机器学习的机器学习装置、包含该机器学习装置的控制系统、以及机器学习方法,其中,所述电动机控制装置对机床、机器人或工业机械等的电动机的旋转进行控制。

背景技术

例如在专利文献1以及专利文献2中记载了自动调整滤波器的特性的装置。

专利文献1记载了如下伺服致动器:在调谐模式时,将扫描频率而得的交流信号叠加在速度指令值的信号上,检测作为叠加结果从速度控制部获得的转矩指令值信号的振幅,将振幅变化率从正转为负时的转矩指令值信号的频率设定为陷波滤波器(notchfilter)的中心频率。

专利文献2记载了一种伺服致动器,其具有控制电动机速度的速度反馈环,将陷波滤波器单元***到该速度反馈环来除去机器共振,该伺服致动器具有:数据收集单元,其取得表示速度反馈环的频率应答特性的数据;移动平均单元,其对通过数据收集单元取得的数据进行移动平均处理;比较单元,其将该移动平均单元取得的数据与数据收集单元获得的数据进行比较,来提取速度反馈环的共振特性;陷波滤波器设定单元,其根据比较单元提取出的共振特性来设定陷波滤波器单元的频率和Q值。

现有技术文献

专利文献1:日本特开平5-19858号公报

专利文献2:日本特开2009-104439号公报

专利文献1的伺服致动器使用转矩指令值信号来调整陷波滤波器的特性,专利文献2的伺服致动器根据速度反馈环的频率应答特性来调整陷波滤波器的特性。

但是,在决定陷波滤波器的特性时,要求决定衰减系数、想要除去的频带的中心频率以及带宽等多个参数,难以求出它们的最佳值。

此外,专利文献1的伺服致动器需要与伺服控制电路分开设置:将扫描频率而得的交流信号叠加到速度指令值的信号上的单元、以及检测作为叠加结果从速度控制部获得的转矩指令值信号的振幅的单元,电路结构会变得复杂。在专利文献2的伺服致动器中,也需要与伺服控制电路分开设置:取得表示速度反馈环的频率应答特性的数据的数据收集单元、对数据收集单元取得的数据进行移动平均处理的移动平均单元、对该移动平均单元获得的数据与数据收集单元获得的数据进行比较来提取速度反馈环的共振特性的比较单元等单元,电路结构会变得复杂。

发明内容

本发明的目的在于提供一种机器学习装置、包含该机器学习装置的控制系统、以及机器学习方法,可以容易地设定决定滤波器特性的参数,此外,还能够在机器学习之后拆下外部测量器,可以降低成本并且提高可靠性。

(1)本发明的一种机器学习装置(例如,后述的机器学习部130),根据在电动机控制装置(例如,后述的电动机控制装置100)的外部设置的外部测量器(例如,后述的加速度传感器300)的测量信息和对所述电动机控制装置输入的控制指令,来优化设置于所述电动机控制装置的滤波器(例如,后述的滤波器110)的系数,其中,所述电动机控制装置控制电动机(例如,后述的伺服电动机127)的旋转。

(2)在上述(1)的机器学习装置中,可以是,所述外部测量器的测量信息包含位置、速度、加速度中的至少一个。

(3)在上述(1)或(2)的机器学习装置中,可以是,所述电动机控制装置具有位置反馈环和速度反馈环中的至少一个,所述滤波器处于所述位置反馈环或所述速度反馈环的外部。

(4)在上述(1)或(2)的机器学习装置中,可以是,所述电动机控制装置具有反馈环,在所述反馈环的反馈控制中不使用所述外部测量器的测量信息。

(5)在上述(1)~(4)中的任一项的机器学习装置中,可以是,在通过机器学习调整了所述滤波器之后,拆下所述外部测量器。

(6)在上述(1)~(5)中的任一项的机器学习装置中,可以是,所述机器学习装置具有:

状态信息取得部(例如,后述的状态信息取得部131),其取得状态信息,该状态信息包含所述测量信息、所述控制指令、所述滤波器的系数;

行为信息输出部(例如,后述的行为信息输出部133),其向所述滤波器输出行为信息,该行为信息包含在所述状态信息中所包含的所述系数的调整信息;

回报输出部(例如,后述的回报输出部1321),其输出强化学习中的回报值,该回报值使用了基于所述测量信息与所述控制指令之差的评价函数;以及价值函数更新部(例如,后述的价值函数更新部1322),其根据由所述回报输出部输出的回报值、所述状态信息、所述行为信息,更新行为价值函数。

(7)在上述(6)的机器学习装置中,可以是,所述机器学习装置具有:优化行为信息输出部(例如,后述的优化行为信息输出部135),其根据由所述价值函数更新部更新了的价值函数,输出所述系数的调整信息。

(8)本发明的一种控制系统,具有:

电动机控制装置(例如,后述的电动机控制装置100),其包含上述(1)~(7)中的任一项的机器学习装置(例如,后述的机器学习部130)、电动机(例如,后述的伺服电动机127)、以及滤波器(例如,后述的滤波器110),所述电动机控制装置控制所述电动机的旋转;以及

外部测量器(例如,后述的加速度传感器300),其设置在所述电动机控制装置的外部。

(9)本发明的一种机器学习装置的机器学习方法,所述机器学习装置进行如下的机器学习:取得设置于电动机控制装置的滤波器的系数、在所述电动机控制装置的外部设置的外部测量器的测量信息、输入到所述电动机控制装置的控制指令,其中,所述电动机控制装置控制电动机的旋转,根据所述测量信息和所述控制指令来优化所述系数。

发明效果

根据本发明,能够容易地设定决定滤波器的特性的系数(参数)。此外,外部测量器配置于电动机控制装置的外部,因此,能够在机器学习之后拆下外部测量器,可以降低成本并且提高可靠性。

附图说明

图1是表示本发明的一实施方式的包含电动机控制装置、机床以及加速度传感器的控制系统的框图。

图2是用于说明工作台的移动轨迹是圆形时的电动机动作的图。

图3是用于说明工作台的移动轨迹是四边形时的电动机动作的图。

图4是用于说明工作台的移动轨迹是八边形时的电动机动作的图。

图5是用于说明工作台的移动轨迹是八边形的角每隔一个置换为圆弧的形状时的电动机动作的图。

图6是表示本发明的一实施方式的机器学习部的框图。

图7是说明本发明的一实施方式的机器学习部的动作的流程图。

图8是说明本发明的一实施方式的机器学习部的优化行为信息输出部的动作的流程图。

图9是表示在机器本体的工作台安装了标尺的状态的说明图。

图10是表示直接连接多个滤波器来构成滤波器的示例的框图。

图11是表示控制系统的其他结构例的框图。

符号说明

10、10A 控制系统

100、100A-1~100A-n 电动机控制装置

110 滤波器

120 伺服控制部

121 减法器

122 位置控制部

123 加法器

124 位置前馈部

125 减法器

126 速度控制部

127 伺服电动机

128 旋转编码器

129 积分器

130 机器学习部

130A-1~130A-n 机器学习装置

131 状态信息取得部

132 学习部

133 行为信息输出部

134 价值函数存储部

135 优化行为信息输出部

200 200-1~200-n机床

300 加速度传感器

400 网络

具体实施方式

以下,使用附图对本发明的实施方式进行详细说明。

图1是表示本发明的一实施方式的包含电动机控制装置、机床以及加速度传感器的控制系统的框图。

如图1所示,控制系统10具有:电动机控制装置100、由电动机控制装置100控制的机床200、安装于机床200的加速度传感器300。加速度传感器300为设置于电动机控制装置100的外部的外部测量器,测量出的加速度为测量信息。

作为电动机控制装置100的控制对象,这里列举机床来进行说明,但是控制对象不限定于机床,例如也可以是机器人、工业机械等。电动机控制装置100也可以设置为机床、机器人、工业机械等的控制对象的一部分。

电动机控制装置100具有:滤波器110、伺服控制部120、机器学习部130。另外,这里电动机控制装置100包含控制伺服电动机的伺服控制部120,也可以包含控制主轴电动机、而不进行反馈控制的控制部。

滤波器110是机床200的滤波器,例如使用陷波滤波器、设定加减速时间常数的滤波器、或逆特性滤波器等。将位置指令输入到滤波器110,滤波器110为对输入的位置指令进行整形的位置指令值整形器。通过上位控制装置或外部输入装置等,按照规定的加工程序生成位置指令,以便为了使伺服电动机127的速度变化而改变脉冲频率。位置指令为控制指令。滤波器110设置于伺服控制部120的外部,即,设置于后述的位置反馈环和速度反馈环的外部,但是也可以设置于伺服控制部120的位置反馈环或速度反馈环之中。例如,可以将滤波器110与伺服控制部120的后述的速度控制部126的输出侧或加法器123的输出侧连接。其中,为了抑制伺服控制部120的控制环(位置反馈环或速度反馈环)外部的振动,优选将滤波器设置于位置反馈环或速度反馈环的外部。在图1中,滤波器110配置于用于求位置偏差的后述的减法器121之前。滤波器110的结构没有特别限定,但是希望是二阶以上的IIR滤波器。

数学公式1(以下表示为数学式1)表示作为滤波器110的陷波滤波器的传递函数F(ρ、s)。参数ρ表示系数ω、ζ、R。

数学式1的系数R是衰减系数,系数ω是中心角频率,系数ζ是比带宽(specificbandwidth)。将中心频率设为fc,将带宽设为fw,于是通过ω=2πfc来表示系数ω,通过ζ=fw/fc来表示系数ζ。

【数学式1】

Figure BDA0002180890130000061

伺服控制部120具有:减法器121、位置控制部122、加法器123、位置前馈部124、减法器125、速度控制部126、伺服电动机127、与伺服电动机127关联起来的、作为位置检测部的旋转编码器128、以及积分器129。减法器121、位置控制部122、加法器123、减法器125、速度控制部126、伺服电动机127、旋转编码器128、以及积分器129构成位置反馈环。此外,减法器125、速度控制部126、伺服电动机127、以及旋转编码器128构成速度反馈环。

减法器121求出从滤波器110输出的整形后的位置指令与位置反馈了的检测位置之差,将该差作为位置偏差输出给位置控制部122以及位置前馈部124。

位置控制部122将位置增益Kp乘以位置偏差而得的值作为速度指令值输出给加法器123。

位置前馈部124对位置指令值进行微分并乘以常数α而得的值进行由数学公式2(以下表示为数学式2)表示的传递函数G(s)所示的位置前馈处理,将其处理结果作为位置前馈项输出给加法器123。数学式2的系数ai、bj(X≥i,j≥0,X是自然数)是传递函数G(s)的各系数。

【数学式2】

加法器123将速度指令值与位置前馈部124的输出值(位置前馈项)相加,作为前馈控制的速度指令值输出给减法器125。减法器125求出加法器123的输出与速度反馈了的速度检测值之差,将该差作为速度偏差输出给速度控制部126。

速度控制部126将积分增益K1v乘以速度偏差并进行了积分而得的值、与比例增益K2v乘以速度偏差所得的值相加,作为转矩指令输出给伺服电动机127。

通过旋转编码器128来检测伺服电动机127的旋转角度位置,速度检测值作为速度反馈(速度FB)而输入到减法器125。速度检测值通过积分器129被积分而成为位置检测值,位置检测值作为位置反馈(位置FB)输入到减法器121。

如上所述,构成伺服控制部120。

接下来,在进行机器学习部130的说明之前,对机床200以及安装于机床200的加速度传感器300进行说明。

机床200具有:与伺服电动机127的旋转轴连接的滚珠丝杠230、与滚珠丝杠230螺合的螺母240、包含与螺母连接的工作台251的机器本体250。通过伺服电动机127的旋转驱动,与滚珠丝杠230螺合的螺母240向滚珠丝杠230的轴向移动。

在机床200中,在搭载被加工物(工件)的工作台251在X轴方向和Y轴方向上移动时,对X轴方向和Y轴方向分别设置图1所示的电动机控制装置100。在使工作台在三轴以上的方向上移动时,对各轴方向设置电动机控制装置100。

加速度传感器300设置于伺服控制部120的外部,这里,安装于机器本体250。加速度传感器为外部测量器。加速度传感器已知有一轴、二轴、三轴等加速度传感器,可以根据需要选择这些加速度传感器。例如,在使机器本体250的工作台在X轴方向和Y轴方向上移动时,使用二轴加速度传感器,在使机器本体250的工作台在X方向、Y方向和Z方向上移动时,可以使用三轴加速度传感器。希望加速度传感器300设置于接近加工点的场所。

加速度传感器300测量机器本体250的加速度并输出给机器学习部130。当仅在机器学习过程中使用加速度传感器300时,在出库前进行机器学习来调整滤波器110的系数,可以在调整了滤波器110之后从机器本体250拆下加速度传感器300。当在出库后再次进行学习时,可以在再次学习之后拆下。从加速度传感器300输出的加速度可以用于伺服控制部120的反馈控制,如果不用于反馈控制则可以拆下加速度传感器300。该情况下,可以降低机床200的成本,可靠性也得以提高。

<机器学习部130>

机器学习部130执行预先设定的加工程序(以下,也称为“学习时的加工程序”),使用位置指令和来自加速度传感器300的加速度测量值来对滤波器110的传递函数的系数ω、ζ、R进行机器学习(以下,称为学习)。机器学习部130为机器学习装置。在出库前进行由机器学习部130进行的学习,也可以在出库后进行再次学习。

这里,电动机控制装置100通过学习时的加工程序来驱动伺服电动机127,在没有搭载被加工物(工件)的状态下,使工作台251移动。在X轴方向和Y轴方向上移动的工作台251的任意点的移动轨迹例如是圆形、四边形、八边形、或八边形的角每隔一个置换成圆弧的形状等形状。图2~图5分别是用于对移动轨迹是圆形、四边形、八边形、或八边形的角每隔一个置换成圆弧的形状时的电动机的动作进行说明的图。在图2~图5中,工作台251顺时针在X轴和Y轴方向上移动。

在工作台251的移动轨迹是图2所示的圆形时,在图2所示的位置A1处,使工作台在Y轴方向上移动的伺服电动机随着接近位置A1而缓缓减速,在位置A1处旋转方向反转,通过位置A1时缓缓加速。然后,工作台以隔着位置A1在Y轴方向上缓缓地直线反转的方式进行移动。另一方面,在位置A1处,使工作台在X轴方向上移动的伺服电动机以与位置A1前后的速度相同的速度旋转,工作台在X轴方向上以与位置A1前后的速度相同的速度进行移动。在图2所示的位置A2处,控制各伺服电动机,以便使工作台在X轴方向上移动的伺服电动机的动作与使工作台在Y轴方向上移动的伺服电动机的动作相反。

在工作台251的移动轨迹是图3所示的四边形的情况下,在图3所示的位置B1处,使工作台在X轴方向上移动的伺服电动机旋转方向急剧反转,工作台以隔着位置B1而在X轴方向上急剧地直线反转的方式进行移动。另一方面,在位置B1处,使工作台在Y轴方向上移动的伺服电动机以与位置B1前后的速度相同的速度旋转,工作台在Y轴方向上以与位置B1前后的速度相同的速度进行移动。在图3所示的位置B2处,控制各伺服电动机,以便使工作台在X轴方向上移动的伺服电动机的动作与使工作台在Y轴方向上移动的伺服电动机的动作相反。

在工作台251的移动轨迹是图4所示的八边形时,如图4所示,在角的位置C1处,使工作台在Y轴方向上移动的电动机转速变慢,使工作台在X轴方向上移动的电动机转速变快。

在角的位置C2处,使工作台在Y轴方向上移动的电动机旋转方向反转,工作台以在Y轴方向上直线反转的方式进行移动。此外,使工作台在X轴方向上移动的电动机从位置C1朝向位置C2和从位置C2朝向位置C3,以相同的旋转方向,等速旋转。

在角的位置C3处,使工作台在Y轴方向上移动的电动机转速变快,使工作台在X轴方向上移动的电动机转速变慢。

在角的位置C4处,使工作台在X轴方向上移动的电动机旋转方向反转,工作台以在X轴方向上直线反转的方式移动。此外,使工作台在Y轴方向上移动的电动机从位置C3朝向位置C4和从位置C4朝向下一个角的位置,以相同的旋转方向,等速旋转。

如图5所示,在工作台251的移动轨迹是八边形的角每隔一个置换为圆弧的形状时,在角的位置D1处,使工作台在Y轴方向上移动的电动机转速变慢,使工作台在X轴方向上移动的电动机转速变快。

在圆弧的位置D2处,使工作台在Y轴方向上移动的电动机旋转方向反转,工作台以在Y轴方向上直线反转的方式进行移动。此外,使工作台在X轴方向上移动的电动机从位置D1朝向位置D3以相同的旋转方向,等速旋转。与图4所示的移动轨迹是八边形的情况不同,使工作台在Y轴方向上移动的电动机朝向位置D2缓缓减速,在位置D2处停止旋转,通过位置D2时旋转速度缓缓增加,以便在位置D2的前后形成圆弧的移动轨迹。

在角的位置D3处,使工作台在Y轴方向上移动的电动机转速变快,使工作台在X轴方向上移动的电动机转速变慢。

在圆弧的位置D4处,使工作台在X轴方向上移动的电动机旋转方向反转,工作台以在X轴方向上直线反转的方式进行移动。此外,使工作台在Y轴方向上移动的电动机从位置D3朝向位置D4、以及从位置D4朝向下一个角的位置以相同的旋转方向,等速旋转。使工作台在X轴方向上移动的电动机朝向位置D4缓缓减速,在位置D4处停止旋转,通过位置D4时旋转速度缓缓增加,以便在位置D4的前后形成圆弧的移动轨迹。

在本实施方式中,可以通过以上说明的、由学习时的加工程序指定的移动轨迹的、位置A1与A2、位置B1与B2、位置C2与C4、以及位置D2与D4,使用加速度传感器300来测量X轴方向或Y轴方向的一个旋转方向反转时产生的振动。此外,可以通过位置C1与C3、以及位置D1与D3,使用加速度传感器300来测量在没有反转的线性控制中变更了转速时的振动。结果,可以对滤波器110的系数进行机器学习,以便控制振动。

以下,对机器学习部130进行更详细说明。

在以下的说明中,对机器学习部130进行强化学习的情况进行说明,但是机器学习部130进行的学习并不特别限定于强化学习,例如,在进行监督学习的情况下也能够应用本发明。

在进行机器学习部130所包含的各功能块的说明之前,首先对强化学习的基本结构进行说明。智能体(相当于本实施方式中的机器学习部130)观测环境状态,选择某个行为,根据该行为环境发生变化。随着环境的变化,提供某种回报,智能体学习更好的行为选择(决策)。

监督学习表示完整的正确答案,而强化学习中的回报大多是基于环境的部分变化的片段值。因此,智能体学习选择行为使得到将来的回报合计为最大。

这样,在强化学习中通过学习行为,在行为给予环境的相互作用基础上学习适当的行为,即学习用于使将来获得的回报为最大的要学习的方法。这表示在本实施方式中,可以获得例如选择用于抑制机器端振动的行为信息这样的、影响未来的行为。

这里,作为强化学习可以使用任意的学习方法,在以下的说明中,以在某种环境状态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 BDA0002180890130000111

在上述的数学式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〉

机器学习部130进行以上说明的Q学习。具体来说,机器学习部130学习如下价值Q:将滤波器110的传递函数的各系数ω、ζ、R的值、通过执行学习时的加工程序而获得的来自加速度传感器300的测量加速度、以及位置指令作为状态S,将该状态S有关的滤波器110的传递函数的各系数ω、ζ、R的值的调整选择为行为A。

机器学习部130根据滤波器110的传递函数的各系数ω、ζ、R将所述的学习时的加工程序的一个或多个组合来执行,由此,观测包含来自加速度传感器300的测量加速度和位置指令的状态信息S,从而决定行为A。机器学习部130每当进行行为A时返回回报。机器学习部130例如试错性地搜索最佳行为A以使到将来的回报合计为最大。通过这样,机器学习部130能够针对状态S选择最佳行为A(即,滤波器110的传递函数的最佳系数ω、ζ、R),其中,状态S包含根据滤波器110的传递函数的各系数ω、ζ、R来执行学习时的加工程序所取得的来自加速度传感器300的测量加速度、以及位置指令。

即,根据由机器学习部130学习到的价值函数Q,选择对某种状态S有关的滤波器110的传递函数的各系数ω、ζ、R应用的行为A中的、Q的值为最大那样的行为A,由此,能够选择通过执行学习时的加工程序而产生的机器端振动为最小那样的行为A(即,滤波器110的传递函数的各系数ω、ζ、R)。

图6是表示本发明的一实施方式的机器学习部130的框图。

为了进行上述的强化学习,如图6所示,机器学习部130具有:状态信息取得部131、学习部132、行为信息输出部133、价值函数存储部134、以及优化行为信息输出部135。学习部132具有:回报输出部1321、价值函数更新部1322、以及行为信息生成部1323。

状态信息取得部131取得状态S,其中,状态S包含:根据滤波器110的传递函数的各系数ω、ζ、R来执行学习时的加工程序而取得的来自加速度传感器300的测量加速度、以及位置指令。该状态信息S相当于Q学习中的环境状态S。

状态信息取得部131对学习部132输出取得到的状态信息S。

另外,最初开始Q学习的时间点的滤波器110的传递函数的各系数ω、ζ、R由用户预先生成。在本实施方式中,通过强化学习将用户制作出的滤波器110的传递函数的各系数ω、ζ、R的初始设定值调整为最佳。

另外,关于系数ω、ζ、R,在操作员预先调整了机床的情况下,可以将调整完的值作为初始值来进行机器学习。

学习部132是在某种环境状态S下对选择某种行为A时的价值Q(S、A)进行学习的部分。

回报输出部1321是在某种状态S下计算选择了行为A时的回报的部分。这里,通过y(S)来表示状态S下的状态变量即测量加速度,通过r(S)来表示状态信息S有关的状态变量即位置指令,通过y(S’)来表示因行为信息A(滤波器110的传递函数的各系数ω、ζ、R的修正)而从状态S变化了的状态信息S’有关的状态变量即测量加速度,通过r(S’)来表示状态信息S’有关的状态变量即位置指令。

评价函数f例如可以应用以下的数学公式4(以下表示为数学式4)。数学式4表示评价函数f是对位置指令r的二阶微分与测量加速度y之差的绝对值进行了二次方而得的值的时间积分。

【数学式4】

Figure BDA0002180890130000141

另外,评价函数也可以使用:数学式(d2r/dt2-y)的绝对值的时间积分、对数学式(d2r/dt2-y)的绝对值进行了时间t的加权而得的时间积分、数学式(d2r/dt2-y)的绝对值的集合的最大值。

此时,在电动机控制装置100根据通过行为信息A进行了修正的状态信息S’有关的修正后的滤波器110而进行了动作时的评价函数f(r(S’)、y(S’))比电动机控制装置100根据通过行为信息A进行修正前的状态信息S有关的修正前的滤波器110而进行了动作时的评价函数f(r(S)、y(S))大时,回报输出部1321使回报值为负值。

另一方面,在电动机控制装置100根据通过行为信息A进行了修正的状态信息S’有关的修正后的滤波器110而进行了动作时的评价函数f(r(S’)、y(S’))比电动机控制装置100根据通过行为信息A进行修正前的状态信息S有关的修正前的滤波器110而进行了动作时的评价函数f(r(S)、y(S))小时,回报输出部1321使回报值为正值。

另外,在电动机控制装置100根据通过行为信息A进行了修正的状态信息S’有关的修正后的滤波器110而进行了动作时的评价函数f(r(S’)、y(S’))与电动机控制装置100根据通过行为信息A进行修正前的状态信息S有关的修正前的滤波器110而进行了动作时的评价函数f(r(S)、y(S))相等时,回报输出部1321使回报值为零。

此外,作为执行行为A后的状态S’的评价函数f(r(S’)、y(S’))比之前的状态S下的评价函数f(r(S)、y(S))大时的负值,可以根据比例将负值设定得大。也就是说,可以根据f(r(S’)、y(S’))的值变大的程度使负值变大。反之,执行行为A后的状态S’的评价函数f(r(S’)、y(S’))比之前的状态S下的评价函数f(r(S)、y(S))小时的正值,可以根据比例将正值设定得大。也就是说,可以根据f(r(S’)、y(S’))的值变小的程度使正值变大。

价值函数更新部1322根据状态S、行为A、将行为A应用于状态S时的状态S’、如上所述计算出的回报值来进行Q学习,由此,对价值函数存储部134存储的价值函数Q进行更新。

价值函数Q的更新既可以通过在线学习来进行,也可以通过批量学习来进行,还可以通过小批量学习来进行。

在线学习是如下学习方法:通过将某种行为A应用于当前状态S,每当状态S向新状态S’转移时,立即进行价值函数Q的更新。此外,批量学习是如下学习方法:通过重复将某种行为A应用于当前状态S,状态S向新状态S’转移,由此收集学习用的数据,使用收集到的所有学习用数据,来进行价值函数Q的更新。进而,小批量学习是在线学习与批量学习中间的学习方法,是每当积攒了某种程度学习用数据时进行价值函数Q的更新的学习方法。

行为信息生成部1323针对当前状态S选择Q学习的过程中的行为A。行为信息生成部1323在Q学习的过程中,为了进行修正滤波器110的传递函数的各系数ω、ζ、R的动作(相当于Q学习中的行为A),而生成行为信息A,对行为信息输出部133输出所生成的行为信息A。更具体来说,行为信息生成部1323例如相对于状态S所包含的滤波器110的传递函数的各系数ω、ζ、R,使行为A所包含的滤波器110的传递函数的各系数ω、ζ、R加上或减去增量。

并且,可以采取如下策略:行为信息生成部1323在应用滤波器110的传递函数的各系数ω、ζ、R的增加或减少,而向状态S’转移并返回了正回报(正值的回报)时,作为下一行为A’,选择使滤波器110的传递函数的各系数ω、ζ、R与前次的动作同样地增加或减少增量等使评价函数f的值更小那样的行为A’。

此外,反之还可以采取如下策略:当返回了负回报(负值的回报)时,行为信息生成部1323作为下一行为A’,例如选择使滤波器110的传递函数的各系数ω、ζ、R与前次的动作相反地减少或增加增量等使评价函数f比前次的值小那样的行为A’。

此外,行为信息生成部1323也可以采取如下策略:通过在当前推定的行为A的价值中选择价值Q(S、A)最高的行为A’的贪婪算法,或者用某个较小的概率ε随机选择行为A’,并在其之外选择价值Q(S、A)最高的行为A’的ε贪婪算法这样的众所周知的方法,来选择行为A’。

行为信息输出部133是对滤波器110发送从学习部132输出的行为信息A的部分。如上所述,滤波器110根据该行为信息,对当前状态S,即当前设定的各系数ω、ζ、R进行微修正,而向下一状态S’(即,进行了修正的滤波器110的各系数)转移。

价值函数存储部134是存储价值函数Q的存储装置。价值函数Q例如可以按状态S、行为A而存储为表(以下,称为行为价值表)。存储于价值函数存储部134的价值函数Q通过价值函数更新部1322而被更新。此外,存储于价值函数存储部134的价值函数Q也可以在与其他机器学习部130之间共享。如果在多个机器学习部130之间共享价值函数Q,则能够通过各机器学习部130分散地进行强化学习,因此,能够提高强化学习的效率。

优化行为信息输出部135根据价值函数更新部1322进行Q学习而进行了更新的价值函数Q,生成用于使滤波器110进行价值Q(S、A)为最大的动作的行为信息A(以下,称为“优化行为信息”)。

更具体来说,优化行为信息输出部135取得价值函数存储部134存储的价值函数Q。如上所述该价值函数Q是通过价值函数更新部1322进行Q学习而被更新的函数。并且,优化行为信息输出部135根据价值函数Q,生成行为信息,对滤波器110输出所生成的行为信息。该优化行为信息与行为信息输出部133在Q学习的过程中输出的行为信息一样,包含修正滤波器110的传递函数的各系数ω、ζ、R的信息。

在滤波器110中,根据该行为信息来修正传递函数的各系数ω、ζ、R。

机器学习部130可以进行动作,以便通过以上的动作进行滤波器110的传递函数的各系数ω、ζ、R的优化,抑制机器端的振动。

像以上那样,通过利用本发明涉及的机器学习部130,可以使滤波器110的参数调整简化。

以上,对电动机控制装置100所包含的功能块进行了说明。

为了实现这些功能块,电动机控制装置100具有CPU(Central Processing Unit,中央处理单元)等运算处理装置。此外,电动机控制装置100还具有存储应用软件或OS(Operating System,操作系统)等各种控制用程序的HDD(Hard Disk Drive,硬盘驱动器)等辅助存储装置、存储运算处理装置执行程序之后暂时需要的数据的RAM(Random AccessMemory,随机存取存储器)这样的主存储装置。

并且,在电动机控制装置100中,运算处理装置从辅助存储装置中读入应用软件或OS,一边在主存储装置上展开读入的应用软件或OS,一边进行基于这些应用软件或OS的运算处理。此外,根据该运算结果来控制各装置具有的各种硬件。由此,实现本实施方式的功能块。也就是说,本实施方式可以通过硬件与软件协作来实现。

关于机器学习部130,由于伴随机器学习的运算量增多,因此例如利用在个人计算机搭载GPU(Graphics Processing Units,图形处理器),称为GPGPU(General-Purposecomputing on Graphics Processing Units,通用图形处理器)的技术,在将GPU用于伴随机器学习的运算处理时可以进行高速处理。并且,为了进行更高速的处理,可以使用多台搭载了这样的GPU的计算机来构筑计算机集群,通过该计算机集群所包含的多个计算机来进行并列处理。

接下来,参照图7的流程对本实施方式中的Q学习时的机器学习部130的动作进行说明。

在步骤S11中,状态信息取得部131从电动机控制装置100取得状态信息S。将所取得的状态信息输出给价值函数更新部1322或行为信息生成部1323。如上所述,该状态信息S是与Q学习中的状态相当的信息,包含步骤S11时间点的滤波器110的传递函数的各系数ω、ζ、R。这样,取得滤波器110的传递函数的各系数是初始值时的、规定的进给速度且与移动轨迹的形状对应的位置指令r(S)、以及测量加速度y(S)。

通过学习时的加工程序使电动机控制装置100动作,由此取得最初开始Q学习的时间点的状态S0下的位置指令r(S0)、以及来自加速度传感器300的测量加速度y(S0)。输入到电动机控制装置100的位置指令是与通过加工程序指定的规定的移动轨迹,例如图4和图5所示的八边形的移动轨迹对应的位置指令。将该位置指令输入到滤波器110和机器学习部130。滤波器110的传递函数的各系数ω、ζ、R的初始值预先由用户生成,将该系数ω、ζ、R的初始值发送给机器学习部130。加速度传感器300将上述的移动轨迹的位置C1-C4以及位置D1-D4等各位置处的测量加速度y(S0)输出给机器学习部130。另外,在机器学习部130中,可以提取所述的移动轨迹的位置C1-C4以及位置D1-D4等各位置处的位置指令r(S0)与测量加速度y(S0)。

在步骤S12中,行为信息生成部1323生成新的行为信息A,经由行为信息输出部133将生成的新的行为信息A输出给滤波器110。行为信息生成部1323根据上述策略输出新的行为信息A。另外,接收到行为信息A的电动机控制装置100通过根据接收到的行为信息而修正了当前状态S有关的滤波器110的传递函数的各系数ω、ζ、R的状态S’,来驱动包含伺服电动机127的机床。如上所述,该行为信息相当于Q学习中的行为A。

在步骤S13中,状态信息取得部131从新的状态S’下的、位置指令r(S’)、来自加速度传感器300的测量加速度y(S’)以及滤波器110取得传递函数的各系数ω、ζ、R。这样,状态信息取得部131从滤波器110取得作为状态S’下的系数ω、ζ、R时的、与八边形的移动轨迹(具体来说,所述的移动轨迹的位置C1-C4、以及位置D1-D4等各位置)对应的位置指令r(S’)和测量加速度y(S’)。将所取得的状态信息输出给回报输出部1321。

在步骤S14中,回报输出部1321判断状态S’下的评价函数f(r(S’)、y(S’))与状态S下的评价函数f(r(S)、y(S))的大小关系,在f(r(S’)、y(S’))>f(r(S)、y(S))时,在步骤S15中,使回报为负值。在f(r(S’)、y(S’))<f(r(S)、y(S))时,在步骤S16中,使回报为正值。在f(r(S’)、y(S’))=f(r(S)、y(S))时,在步骤S17中,使回报为零。另外,可以对回报的负值、正值进行加权。另外,状态S在开始Q学习的时间点为状态S0

在步骤S15、步骤S16以及步骤S17的某一个结束时,在步骤S18中,根据通过该某一步骤计算出的回报值,价值函数更新部1322对存储于价值函数存储部134的价值函数Q进行更新。然后,再次返回到步骤S11,重复上述的处理,价值函数Q收敛为适当值。另外,可以以重复规定次数的上述处理、或重复规定时间的上述处理为条件来结束处理。

另外,步骤S18例示了在线更新,也可以替换在线更新而置换成批量更新或小批量更新。

以上,通过参照图7所说明的动作,获得如下效果:在本实施方式中,通过利用机器学习部130,可以取得滤波器110的传递函数的各系数ω、ζ、R的调整用的、适当的价值函数,可以使滤波器110的传递函数的各系数ω、ζ、R的优化简化。

接下来,参照图8的流程,对优化行为信息输出部135进行的优化行为信息生成时的动作进行说明。

首先,在步骤S21中,优化行为信息输出部135取得存储于价值函数存储部134的价值函数Q。如上所述价值函数Q是通过价值函数更新部1322进行Q学习而被更新了的函数。

在步骤S22中,优化行为信息输出部135根据该价值函数Q,生成优化行为信息,将生成的优化行为信息输出给滤波器110。

此外,通过参照图8所说明的动作,在本实施方式中,可以根据由机器学习部130进行学习而求出的价值函数Q,生成优化行为信息,根据该优化行为信息,简化当前设定的滤波器110的传递函数的各系数ω、ζ、R的调整,并且可以抑制机器端的振动,可以提高工件的加工面的品质。外部测量器配置于电动机控制装置的外部,因此,能够在机器学习之后拆下外部测量器,可以降低成本并且提高可靠性。

上述的电动机控制装置的伺服控制部和机器学习部所包含的各结构部可以通过硬件、软件或者它们的组合来实现。此外,由上述电动机控制装置所包含的各结构部的各自协作而进行的伺服控制方法也可以通过硬件、软件或者它们的组合来实现。这里,所谓通过软件来实现表示通过计算机读入并执行程序来进行实现。

可以使用各种类型的非临时性的计算机可读记录介质(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)而供给到计算机。

上述实施方式是本发明的优选实施方式,但是并非将本发明的范围仅限定于上述实施方式,可以在不脱离本发明精神的范围内以实施了各种变更的方式来进行实施。

在上述的实施方式中,对使用加速度传感器作为外部测量器,测量信息是加速度信息的情况进行了说明,但是在要获得加速度信息的情况下,可以使用位置传感器、速度传感器作为外部测量器,获得位置信息、速度信息,并分别进行一阶微分、二阶微分来获得加速度信息。

此外,评价函数f为使用了对位置指令r进行二阶微分而得的值d2r/dt2与测量加速度y之差、即加速度偏差的函数,也可以为使用了位置偏差或速度偏差的函数。

具体来说,在使用了位置偏差作为评价函数的情况下,机器学习部130取得位置指令以及来自作为外部测量器的位置传感器的测量位置作为状态信息,将位置指令与测量位置之差(位置偏差)的绝对值的时间积分、位置偏差的绝对值的二次方的时间积分、对位置偏差的绝对值进行了时间t的加权而得的时间积分、位置偏差的绝对值的集合的最大值作为评价函数。

此外,在使用了速度偏差作为评价函数的情况下,机器学习部130取得位置指令以及来自作为外部测量器的速度传感器的测量位置作为状态信息,将对位置指令进行了一阶微分而得的值与测量速度之差(速度偏差)的绝对值的时间积分、速度偏差的绝对值的二次方的时间积分、对速度偏差的绝对值进行了时间t的加权而得的时间积分、速度偏差的绝对值的集合的最大值作为评价函数。

使用了位置偏差、速度偏差、加速度偏差的评价函数的示例,例如是

[ca×(位置偏差)2+cb×(速度偏差)2+cc×(加速度偏差)2]的时间积分。系数ca、cb、cc是给予加权的系数。

在使用了位置传感器作为外部测量器的情况下,例如,在工作台上安装标尺(线性标尺)作为外部测量器。图9是表示在机器本体250的工作台251安装了标尺的状态的说明图。该情况下,通过标尺301来检测工作台251的位置,将位置信息输出给机器学习部130。

此外,在上述的实施方式中,对在机床200存在一个共振点的情况进行了说明,但是有时在机床200存在多个共振点。当在机床200存在多个共振点时,以与各共振点对应的方式设置多个滤波器,通过串联连接,可以使所有的共振衰减。图10是表示直接连接多个滤波器来构成滤波器的示例的框图。在图10中,当存在m个(m是2以上的自然数)的共振点时,串联连接m个滤波器100-1~110-m来构成滤波器110。关于m个滤波器110-1~110-m的各自系数ω、ζ、R,通过机器学习依次求出使共振点衰减的最佳值。

在图1所示的、电动机控制装置100的伺服控制部120中,示出了作为前馈控制只设置了位置前馈部124的示例,但是除了位置前馈部124之外,还可以设置速度前馈部。在图1所示的速度控制部126的输出侧设置加法器,在该加法器的输入侧与滤波器110的输出侧之间设置速度前馈部。该加法器将速度控制部126的输出与速度前馈部的输出相加,输出给伺服电动机127。

速度前馈部对位置指令值进行二阶微分并乘以常数β而得的值进行由数学式5(以下表示为数学式5)表示的传递函数H(s)所示的速度前馈处理,将其处理结果作为速度前馈项输出给加法器。数学式5的系数ci、dj(X≥i,j≥0,X是自然数)是传递函数H(s)的各系数。自然数X既可以是与数学式2的自然数X相同的值也可以是不同的值。

【数学式5】

Figure BDA0002180890130000211

此外,控制系统的结构除了图1的结构以外还存在以下的结构。

<机器学习装置设置于电动机控制装置的外部的变形例>

图11是表示控制系统的其他结构例的框图。图11所示的控制系统10A与图1所示的控制系统10的不同点在于:n(n是2以上的自然数)个电动机控制装置100A-1~100A-n、与分别安装了加速度传感器300-1~300-n的n个机床200-1~200-n经由网络400同机器学习装置130A-1~130A-n连接。电动机控制装置100A-1~100A-n的每一个除了不具有机器学习部这方面之外,具有与图1的电动机控制装置100相同的结构。机器学习装置130A-1~130A-n具有与图6所示的机器学习部130相同的结构。

这里,电动机控制装置100A-1以及加速度传感器300-1、与机器学习装置130A-1为一对一的组,能够通信地连接。关于电动机控制装置100A-2~100A-n以及加速度传感器300-2~300-n与机器学习装置130A-2~130A-n,也和电动机控制装置100A-1以及机床200-1与机器学习装置130A-1一样地连接。在图11中,电动机控制装置100A-1~100A-n以及加速度传感器300-1~300-n与机器学习装置130A-1~130A-n的n个组经由网络400而连接,但是关于电动机控制装置100A-1~100A-n以及加速度传感器300-1~300-n与机器学习装置130A-1~130A-n这n个组,各组的电动机控制装置以及机床与机器学习装置可以经由连接接口而直接连接。安装了这些电动机控制装置100A-1~100A-n以及加速度传感器300-1~300-n的机床200-1~200-n与机器学习装置130A-1~130A-n这n个组,例如可以在同一个工厂中设置多组,也可以分别设置于不同的工厂中。

另外,网络400例如是在工厂内构建的LAN(Local Area Network:局域网)、互联网、公共电话网、或者它们的组合。对于网络400中具体的通信方式是有线连接还是无线连接等,不做特别限定。

<系统结构的自由度>

在上述的实施方式中,电动机控制装置100A-1~100A-n以及加速度传感器300-1~300-n、与机器学习装置130A-1~130A-n分别为一对一的组以能够通信的方式进行连接,例如一台机器学习装置可以经由网络400而与多台电动机控制装置和多个加速度传感器能够通信地连接,实施各电动机控制装置与各机床的机器学习。

此时,可以将一台机器学习装置的各功能作为适当分散于多个服务器的分散处理系统。此外,也可以在云上利用虚拟服务器功能等来实现一台机器学习装置的各功能。

此外,当存在n台相同型号名称、相同规格、或者相同系列的与电动机控制装置100A-1~100A-n以及机床200-1~200-n分别对应的n个机器学习装置130A-1~130A-n时,可以共享各机器学习装置130A-1~130A-n中的学习结果。这样,能够构建更合适的模型。

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:永磁同步电机的堵转检测方法、堵转检测装置和控制系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!