CN107797446A - 模型预测控制装置、控制方法、信息处理程序及记录介质 - Google Patents

模型预测控制装置、控制方法、信息处理程序及记录介质 Download PDF

Info

Publication number
CN107797446A
CN107797446A CN201710092421.5A CN201710092421A CN107797446A CN 107797446 A CN107797446 A CN 107797446A CN 201710092421 A CN201710092421 A CN 201710092421A CN 107797446 A CN107797446 A CN 107797446A
Authority
CN
China
Prior art keywords
model predictive
error
model
value
cycle
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
Application number
CN201710092421.5A
Other languages
English (en)
Other versions
CN107797446B (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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Publication of CN107797446A publication Critical patent/CN107797446A/zh
Application granted granted Critical
Publication of CN107797446B publication Critical patent/CN107797446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

Landscapes

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

Abstract

本发明提出一种模型预测控制装置、控制方法、信息处理程序及记录介质。控制器(10)针对预测误差变动周期,使用某预测误差变动周期的前一个预测误差变动周期中的预测误差,来修正某预测误差变动周期中的预测值,所述预测误差变动周期是控制量的实测值与预测值的误差即预测误差的时间变化的周期。本发明不需要干扰的模型,能够针对广范围的机械以及装置而更简单地适用干扰补偿。

Description

模型预测控制装置、控制方法、信息处理程序及记录介质
技术领域
本发明涉及一种使用控制对象的模型来预测控制量的模型预测控制装置、控制方法、信息处理程序及记录介质。
背景技术
以往,例如在加工机械中,已知有各种尝试,用于在产生因刀具以及平台的加减速而激发的振动、从周边的其他机械受到的震动等干扰时,维持控制性能。
例如,下述专利文献1中记载了一种过程控制装置,其包含内插干扰去除控制器,所述内插干扰去除控制器附加于反馈环(feedback loop),并使用内部模型原理设计而成,使用控制对象的测定值来去除对反馈环施加的干扰。
现有技术文献
专利文献
专利文献1:日本专利特开2008-198064号公报(2008年8月28日公开)
但是,如上所述的以往技术必须预先准备干扰产生器的模型式。一般而言,干扰的模型化要难于控制对象的模型化,因此,如上所述的以往技术存在下述问题,即,需要高度的模型制作能力,而且,能够适用的机械及装置受到限定。
发明内容
[发明所要解决的问题]
本发明是有鉴于所述问题而完成,其目的在于提供一种不需要干扰模型,并能够针对广范围的机械以及装置而更简单地适用干扰补偿的模型预测控制装置等。
[解决问题的技术手段]
为了解决所述问题,本发明的一实施方式的模型预测控制装置使用控制对象的模型,来预测与根据目标轨道而在每个控制周期生成的指令值对应的所述控制对象的控制量,所述模型预测控制装置包括:判定部,针对模型预测误差的时间变化来判定有无周期性,所述模型预测误差是所述控制对象的控制量的实测值、与使用所述模型而预测的控制量预测值的误差;以及预测值修正部,当由所述判定部针对所述模型预测误差的时间变化而判定为有周期性时,对于所述模型预测误差的时间变化的周期即预测误差变动周期,使用某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。
根据所述结构,所述预测值修正部在针对模型预测误差的时间变化而判定为有周期性时,使用所述某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。
另外,预测值修正部使用某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差来修正的“所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值”也可换言之为“当前的预测值”。
因此,所述模型预测控制装置起到下述效果:当所述某预测误差变动周期中的所述控制量的预测值因具有周期性的干扰而发生波动时,能够使用所述某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,来修正所述某预测误差变动周期中的所述预测值。所述模型预测控制装置起到下述效果:不需要干扰的模型,能够针对广范围的机械以及装置而更简单地适用干扰补偿。
优选的是,所述模型预测控制装置还包括:计算部,针对连续的多个所述控制周期,分别算出所述模型预测误差;以及极值检测部,根据由所述计算部分别算出的、连续的多个所述模型预测误差的时间变化,检测所述模型预测误差的极大值以及极小值,所述判定部从由所述极值检测部分别检测出所述极大值以及所述极小值的时刻,针对所述模型预测误差的时间变化来判定有无周期性。
根据所述结构,所述判定部从根据针对连续的多个所述控制周期分别算出的所述模型预测误差的时间变化而检测出的所述极大值以及所述极小值的各自的检测时刻,针对所述模型预测误差的时间变化来判定有无周期性。
因此,所述模型预测控制装置起到下述效果:在从所述模型预测误差的时间变化的所述极大值以及所述极小值的各自的检测时刻,针对所述模型预测误差的时间变化而判定为有周期性时,能够使用所述某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。
优选的是,在所述模型预测控制装置中,所述判定部基于由所述极值检测部分别检测出多个所述极大值的时刻的间隔、与由所述极值检测部分别检测出多个所述极小值的时刻的间隔之差,而针对所述模型预测误差的时间变化来判定有无周期性。
根据所述结构,所述判定部基于由所述极值检测部分别检测出多个所述极大值的时刻的间隔、与由所述极值检测部分别检测出多个所述极小值的时刻的间隔之差,针对所述模型预测误差的时间变化来判定有无周期性。
因此,所述模型预测控制装置起到下述效果:基于分别检测出多个所述极大值的时刻的间隔、与分别检测出多个所述极小值的时刻的间隔之差,针对所述模型预测误差的时间变化来判定有无周期性,当判定为有所述周期性时,能够使用所述某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。
例如,所述判定部在由所述极值检测部分别检测出多个所述极大值的时刻的间隔、与由所述极值检测部分别检测出多个所述极小值的时刻的间隔之差小于规定值时,针对所述模型预测误差的时间变化而判定为有周期性。
因此,所述模型预测控制装置起到下述效果:当分别检测出多个所述极大值的时刻的间隔、与分别检测出多个所述极小值的时刻的间隔之差小于规定值时,针对所述模型预测误差的时间变化而判定为有周期性,从而能够使用所述某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。
优选的是,在所述模型预测控制装置中,所述极值检测部仅检测所述连续的多个所述模型预测误差的时间变化中的所述模型预测误差的极大值以及极小值中的、所述极大值与所述极小值之差大于规定值的所述极大值以及所述极小值。
根据所述结构,所述极值检测部仅检测所述连续的多个所述模型预测误差的时间变化中的所述模型预测误差的极大值以及极小值中的、所述极大值与所述极小值之差大于规定值的所述极大值以及所述极小值。
此处,所述模型预测误差是由所述计算部,作为所述控制对象的控制量的实测值与使用所述模型而预测的控制量预测值的误差而算出,所述实测值可能包含计测噪声。而且,例如因静止摩擦造成的停止状态下的微小振动可能影响到所述实测值。即,由所述计算部所算出的所述模型预测误差可能会受到所述实测值可能包含的计测噪声等影响。
所述极值检测部仅检测所述连续的多个所述模型预测误差的时间变化中的所述模型预测误差的极大值以及极小值中的、所述极大值与所述极小值之差大于规定值的所述极大值以及所述极小值,由此,能够防止将受所述计测噪声等影响的所述模型预测误差误检测为极值(极大值或极小值)。
因此,所述模型预测控制装置起到下述效果:能够使用高精度地检测出的极值的检测时刻,针对所述模型预测误差的时间变化来判定有无周期性。
优选的是,在所述模型预测控制装置中,所述极值检测部(1)以多个所述极大值之间的检测时刻的间隔长于规定周期的方式,来分别检测多个所述极大值,且(2)以多个所述极小值之间的检测时刻的间隔长于规定周期的方式,来分别检测多个所述极小值。
根据所述结构,所述极值检测部以多个所述极大值(所述极小值)之间的检测时刻的间隔长于规定周期的方式,来分别检测多个所述极大值(所述极小值)。即,所述极值检测部在极大值(极小值)间的检测时刻之差(间隔)短于规定周期时,不确定所述极值(即,不视为极大值(极小值))。所述极值检测部例如也可视与之前确定的极大值(极小值)的检测时间差不满规定周期的山(谷)并非为极大值(极小值)。
此处,例如当表示所述模型预测误差的时间变化的曲线是在大的周期曲线中包含小的周期曲线的曲线时,判定所述模型预测误差的时间变化的周期性时应使用的周期是所述大的周期曲线的周期。
因此,所述模型预测控制装置起到下述效果:由于将检测出所述多个所述极值(极大值或极小值)的时刻的间隔且长于规定周期的间隔用于判定有无所述周期性时,因此能够针对所述模型预测误差的时间变化来正确地判定有无周期性。
优选的是,所述模型预测控制装置还包括:受理部,受理指定周期下限值的用户操作,所述判定部(1)在由所述极值检测部检测出多个极大值时,使用所述多个极大值之间的检测时刻的间隔中的、长于所述周期下限值的间隔,来作为判定有无所述周期性时所用的、检测出所述极大值的时刻的间隔,(2)在由所述极值检测部检测出多个极小值时,使用所述多个极小值之间的检测时刻中的、长于所述周期下限值的间隔,来作为判定有无所述周期性时所用的、检测出所述极小值的时刻的间隔。
根据所述结构,所述判定部(1)使用由所述极值检测部检测出的多个所述极大值之间的检测时刻的间隔中的、长于所述周期下限值的间隔,来作为判定有无所述周期性时所用的、检测出所述极大值的时刻的间隔,(2)使用由所述极值检测部检测出的多个所述极小值之间的检测时刻的间隔中的、长于所述周期下限值的间隔,来作为判定有无所述周期性时所用的、检测出所述极小值的时刻的间隔。
此处,例如当表示所述模型预测误差的时间变化的曲线是在大的周期曲线中包含小的周期曲线的曲线时,判定所述模型预测误差的时间变化的周期性时应使用的周期是所述大的周期曲线的周期。
因此,所述模型预测控制装置起到下述效果:由于将检测出所述多个所述极值(极大值或极小值)的时刻的间隔且长于所述周期下限值的间隔用于判定有无所述周期性时,因此能够针对所述模型预测误差的时间变化来正确地判定有无周期性。
优选的是,所述模型预测控制装置还包括:显示控制部,将所述模型预测误差的时间变化显示给用户。
根据所述结构,所述显示控制部将所述模型预测误差的随着时间的流逝变化显示给用户。
因此,所述模型预测控制装置起到下述效果:由于将所述模型预测误差的随着时间的流逝变化显示给用户,因此用户能够根据由所述模型预测控制装置所显示的所述模型预测误差的随着时间的流逝变化(所谓的趋势图)中出现的波形,来近似地掌握干扰的状态。
优选的是,所述模型预测控制装置还包括:扭矩计算部,算出经所述预测值修正部修正的所述预测值追随于所述指令值所需的扭矩;以及扭矩指令部,将由所述扭矩计算部所算出的扭矩作为与所述控制对象的扭矩控制相关的指令值而输出至对所述控制对象进行运动控制的控制系统。
根据所述结构,所述扭矩计算部算出经所述预测值修正部修正的所述预测值追随于所述指令值所需的扭矩,所述扭矩指令部将由所述扭矩计算部所算出的扭矩作为与所述控制对象的扭矩控制相关的指令值而输出至所述控制系统。
因此,所述模型预测控制装置起到下述效果:无须执行用于将因所述干扰造成的控制量的变化转换成操作量的运算处理,能够将用于使所述控制对象的控制量追随于所述指令值的扭矩输出至所述控制系统。
优选的是,所述模型预测控制装置还包括:指令值修正部,以经所述预测值修正部修正的所述预测值追随于所述指令值的方式,来修正所述指令值;以及位置指令部,将经所述指令值修正部修正的所述指令值即修正后指令值作为与所述控制对象的位置控制相关的指令值而输出至对所述控制对象进行运动控制的控制系统。
根据所述结构,所述指令值修正部以经所述预测值修正部修正的所述预测值追随于所述指令值的方式来修正所述指令值,所述位置指令部将经所述指令值修正部修正的所述指令值即修正后指令值作为与所述控制对象的位置控制相关的指令值而输出至对所述控制对象进行运动控制的控制系统。
因此,所述模型预测控制装置起到下述效果:无须执行用于将因所述干扰造成的控制量的变化转换成操作量的运算处理,能够将以所述控制对象的控制量追随于所述指令值的方式经修正的所述指令值输出至所述控制系统。
而且,为了解决所述问题,本发明的一实施方式的控制方法是模型预测控制装置的控制方法,所述模型预测控制装置使用控制对象的模型,来预测与根据目标轨道而在每个控制周期生成的指令值对应的所述控制对象的控制量,所述控制方法包括:判定步骤,针对模型预测误差的时间变化来判定有无周期性,所述模型预测误差是所述控制对象的控制量的实测值、与使用所述模型而预测的控制量预测值的误差;以及预测值修正步骤,当在所述判定步骤中针对所述模型预测误差的时间变化而判定为有周期性时,对于所述模型预测误差的时间变化的周期即预测误差变动周期,使用某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。
根据所述控制方法,所述预测值修正步骤在针对模型预测误差的时间变化而判定为有周期性时,使用所述某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。
另外,预测值修正部使用某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差来修正的“所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值”也可换言之为“当前的预测值”。
因此,所述控制方法起到下述效果:当所述某预测误差变动周期中的所述控制量的预测值因具有周期性的干扰而发生波动时,能够使用所述某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,来修正所述某预测误差变动周期中的所述预测值。所述控制方法起到下述效果:不需要干扰的模型,能够针对广范围的机械以及装置而更简单地适用干扰补偿。
[发明的效果]
本发明起到下述效果:不需要干扰的模型,能够针对广范围的机械以及装置而更简单地适用干扰补偿。
附图说明
图1是表示本发明的实施方式1的控制器的主要部分结构的框图。
图2是表示包含图1的控制器的控制系统的概要的图。
图3是用于说明图1的控制器所执行的模型预测控制的概要的图。
图4是表示图1的控制器所执行的干扰补偿处理的一例的流程图。
图5是用于说明图1的控制器针对模型预测误差的时间变化来判定有无周期性的方法的图。
图6是用于说明图1的控制器对预测值进行修正的方法的图。
图7是用于说明图1的控制器执行了干扰补偿处理时的效果的图。
图8是用于说明图1的控制器使用周期下限值来判定模型预测误差有无周期性的、复杂干扰的图。
图9是用于说明图1的控制器执行了使用周期下限值的干扰补偿处理时的效果的图。
图10是表示图1的控制器所显示的预测误差的趋势图的一例的图。
图11(A)及图11(B)是表示图1的控制器进行了补偿的扭矩干扰波形的图。
图12是表示本发明的实施方式2的控制器的主要部分结构的框图。
图13是表示包含图12的控制器的控制系统的概要的图。
[符号的说明]:
1、2:控制系统
10、100:控制器(模型预测控制装置)
20、120:伺服驱动器
30:控制对象
101:指令值生成部
102:扭矩计算部
103:扭矩指令部
104:计算部
105:极值检测部
106:判定部
107:预测值修正部
108:受理部
109:显示控制部
110:存储部
112:指令值修正部
113:位置指令部
1101:误差数据(模型预测误差)
1102:极值数据(模型预测误差的极大值以及极小值)
(A)、(B):周期
Cd(n)、CH(n):预测修正量
d:停滞时间
H:预测水平
Hu:控制水平
MV:操作量
n-Ptime(k):经过时间
n、n+H、Ptime (k-2)、Ptime(k-1)、Ptime(k):时刻
PE (n):时刻n的预测误差
PV:控制量
PV(n):时刻n的控制量
S1O~S50:步骤
SP:目标值
Y(n-d):时刻n-d的模型预测值
具体实施方式
〔实施方式1〕
以下,对于本发明的实施方式1,基于图1至图11(A)及图11(B)来详细说明。对于图中相同或相当的部分标注相同符号,不再重复其说明。为了便于理解本发明的一实施方式的控制器10(模型预测控制装置),首先使用图2来说明包含控制器10的控制系统1的概要。
(控制系统的概要)
图2是表示包含控制器10的控制系统1的概要的图。控制系统1欲迅速抑制因具有周期性的干扰造成的控制量的波动。控制系统1的控制器10不使用干扰的模型便能够进行干扰补偿,因此起到能够针对广范围的机械以及装置而更简单地适用干扰补偿的效果。控制器10既能够适用于有周期(cycle)(动作周期)的动作的控制,也能够适用于无周期的连续动作的控制。控制器10所执行的干扰补偿不使用动作周期,因此也能够适用于持续连续且不规则动作的动作控制中。
控制器10例如是具备模型预测控制(Model Predictive Control,MPC)等预测机构的控制装置(上位控制器)。控制器10判定有无与预测误差的变动相关的周期性,当判定为有周期性时,针对所述预测误差的时间变化的周期即预测误差变动周期,使用1周期(1预测误差变动周期)前的预测误差数据来修正控制量的预测。例如,在加工机械中,当产生了因刀具以及平台的加减速而激发的振动、从周边的其他机械受到的震动等有周期性的干扰时,控制器10能够维持控制性能。而且,控制器10通过维持控制性能,从而能够维持例如制造物的品质。
控制系统1包含:(1)控制器10,例如为可编程控制器(PLC,Programmable LogicController(可编程逻辑控制器));(2)作为下位控制器的伺服驱动器20,由作为上位控制器的控制器10予以控制;以及(3)控制对象30(例如马达及机械),由伺服驱动器20予以控制。在控制系统1中,控制器10执行位置/速度控制,通过预测控制来输出对伺服驱动器20的扭矩指令值。
控制器10是具备模型预测控制机构的控制器,对伺服驱动器20输出作为操作量的扭矩指令值。控制器10例如从用户等外部受理目标轨道数据(目标轨道)(轨道生成),根据所受理的目标轨道数据,在每个控制周期生成指令值(指令位置)。而且,控制器10从控制对象30获取“控制对象30的输出即控制量(控制量的实测值)”,以作为反馈信息。即,控制器10获取控制对象30所输出的速度以及位置(速度以及位置中的至少一者),以作为反馈速度以及反馈位置(反馈速度以及反馈位置中的至少一者)。
控制器10具有控制对象30(以及伺服驱动器20)的模型作为内部模型,使用所述内部模型,基于所生成的指令位置与“控制对象30的输出即控制量”,对伺服驱动器20输出作为操作量的扭矩指令值。此处,控制器10使用控制对象(即,控制对象30以及伺服驱动器20)的模型来预测控制量,并且推定预测误差以进行干扰补偿。控制器10将干扰图形(pattem)直接以控制量的维度来存储并利用,因此不需要在用于计算控制量的运算以外另行准备用于推定干扰的运算(但是,更准确而言,控制器10所存储的并非“干扰图形”,而是包含干扰信息的预测误差图形)。因此,控制器10与除了用于计算控制量的运算以外,还另执行进行用于推定干扰的运算的装置相比,运算负载小,在需要高速控制周期的运动控制中,成为重要的优点。
伺服驱动器20依照来自控制器10的扭矩指令值,对控制对象30执行扭矩控制。
(控制器的概要)
对于至此为止使用图2说明了概要的控制系统1中所含的控制器10,接下来使用图1等来说明其结构以及处理的内容等。在参照图1来说明详细内容之前,为了便于理解控制器10,将其概要整理如下。
控制器10(模型预测控制装置)是一种模型预测控制装置,其使用控制对象30的模型,来预测与根据目标轨道而在每个控制周期生成的指令值对应的控制对象30的控制量,所述模型预测控制装置包括:判定部106,针对模型预测误差的时间变化来判定有无周期性,所述模型预测误差是控制对象30的控制量的实测值、与使用所述模型而预测的控制量预测值的误差;以及预测值修正部107,当由判定部106针对所述模型预测误差的时间变化而判定为有周期性时,对于所述模型预测误差的时间变化的周期即预测误差变动周期,使用某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。
根据所述结构,预测值修正部107在针对模型预测误差的时间变化而判定为有周期性时,使用所述某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。
另外,预测值修正部107使用某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差来修正的“所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值”也可换言之为“当前的预测值”。
因此,控制器10起到下述效果:当所述某预测误差变动周期中的所述控制量的预测值因具有周期性的干扰而发生波动时,能够使用所述某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,来修正所述某预测误差变动周期中的所述预测值。控制器10起到下述效果:不需要干扰的模型,能够针对广范围的机械以及装置而更简单地适用干扰补偿。
控制器10还包括:计算部104,针对连续的多个所述控制周期,分别算出所述模型预测误差;以及极值检测部105,根据由计算部104分别算出的、连续的多个所述模型预测误差的时间变化,检测所述模型预测误差的极大值以及极小值,判定部106从由极值检测部105分别检测出所述极大值以及所述极小值的时刻,针对所述模型预测误差的时间变化来判定有无周期性。
根据所述结构,判定部106从根据针对连续的多个所述控制周期分别算出的所述模型预测误差的时间变化而检测出的所述极大值以及所述极小值的各自的检测时刻,针对所述模型预测误差的时间变化来判定有无周期性。
因此,控制器10起到下述效果:在从所述模型预测误差的时间变化的所述极大值以及所述极小值的各自的检测时刻,针对所述模型预测误差的时间变化而判定为有周期性时,能够使用所述某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。
控制器10还包括:扭矩计算部102,算出经预测值修正部107修正的所述预测值追随于所述指令值所需的扭矩;以及扭矩指令部103,将由扭矩计算部102所算出的扭矩作为与控制对象30的扭矩控制相关的指令值而输出至伺服驱动器20(对控制对象30进行运动控制的控制系统)。
根据所述结构,扭矩计算部102算出经预测值修正部107修正的所述预测值追随于所述指令值所需的扭矩,扭矩指令部103将由扭矩计算部102所算出的扭矩作为与控制对象30的扭矩控制相关的指令值而输出至伺服驱动器20。
因此,控制器10起到下述效果:无须执行用于将因所述干扰造成的控制量的变化转换成操作量的运算处理,能够将用于使控制对象30的控制量追随于所述指令值的扭矩输出至伺服驱动器20。
(关于控制周期与预测误差变动周期的关系)
关于控制系统1中的控制周期与预测误差变动周期的关系(区别),必须注意以下方面。即,在控制系统1中,所谓“控制周期”,是指控制器10反复执行控制动作的周期,例如为0.25ms、1ms等非常短的时间(周期)。与此相对,所谓“预测误差变动周期”,是指控制器10(扭矩计算部102)所算出的控制量的预测值、与来自控制对象30的反馈控制量(控制对象30的控制量的实测值)的误差即模型预测误差的时间变化的时间(周期)。模型预测误差的时间变化存在周期性时的周期(预测误差变动周期)比控制周期长,例如为50ms或1s的范围。
控制器10在每个“控制周期”,算出使用控制对象30(以及伺服驱动器20)的模型而预测的控制量的预测值、与来自控制对象30的反馈控制量(控制对象30的控制量的实测值)的误差即模型预测误差。控制器10将连续的多个模型预测误差沿时间序列排列,针对模型预测误差的时间变化来判定有无周期性。控制器10在判定为模型预测误差的时间变化有周期性时,算出模型预测误差的时间变化的周期即“预测误差变动周期”。并且,控制器10针对所述“预测误差变动周期”,使用某“预测误差变动周期”的前一个“预测误差变动周期”中的所述模型预测误差,对所述某“预测误差变动周期”中的控制量的预测值进行修正。
另外,所述“某预测误差变动周期”并非能够指定者,也非在当前时刻已确定者。确定的只是当前之前(过去)的变动周期(即,某“预测误差变动周期”的前一个“预测误差变动周期”)。控制器10使用“当前之前(过去)的变动周期”,对在当前时刻所预测的、(未来的)控制量的预测值(即,某“预测误差变动周期”中的控制量的预测值)进行修正。
(控制器的详细说明)
如前所述,控制器10根据使用控制对象30(以及伺服驱动器20)的模型而预测的控制量的预测值、与来自控制对象30的反馈控制量(控制对象30的控制量的实测值)的误差即模型预测误差的时间变化,来判断干扰有无周期性。并且,当判定为有周期性时,控制器10针对预测误差变动周期(所述模型预测误差的时间变化的周期),使用某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。对于以上说明了概要的控制器10,接下来使用图1来说明其详细结构。
另外,如前所述,所述“某预测误差变动周期”并非能够指定者,也非在当前时刻已确定者。确定的只是当前之前(过去)的变动周期(即,某“预测误差变动周期”的前一个“预测误差变动周期”)。控制器10使用某“预测误差变动周期”的前一个“预测误差变动周期”(即,“当前之前(过去)的变动周期”),对某“预测误差变动周期”中的控制量的预测值(即,“在当前时刻所预测的、(未来的)控制量的预测值”)进行修正。
图1是表示本发明的实施方式1的控制器10的主要部分结构的框图。图1所示的控制器10在结构上具备指令值生成部101、扭矩计算部102、扭矩指令部103、计算部104、极值检测部105、判定部106、预测值修正部107、受理部108、显示控制部109以及存储部110。另外,为了确保记载的简洁性,与本实施方式无直接关系的结构从说明及框图中予以省略。但是,根据实施的实际情况,控制器10也可具备所述省略的结构。所述指令值生成部101、扭矩计算部102、扭矩指令部103、计算部104、极值检测部105、判定部106、预测值修正部107、受理部108、显示控制部109等各功能块例如能够通过下述方式来实现,即:中央处理器(Central Processing Unit,CPU)等将以只读存储器(Read Only Memory,ROM)、非易失性随机存取存储器(Non-Volatile Random Access Memory,NVRAM)等实现的存储装置(存储部110)中存储的程序读出到未图示的随机存取存储器(RandomAccess Memory,RAM)等中而执行。以下,对控制器10中的各功能块进行说明。
指令值生成部101从外部(例如用户)受理目标轨道数据(目标轨道)(轨道生成),根据所受理的目标轨道数据,在每个控制周期生成指令值(指令位置)。指令值生成部101将所生成的指令值(指令位置)发送至扭矩计算部102。
扭矩计算部102执行模型预测控制(Model Predictive Control,MPC),具体而言,使用控制对象30的内部模型来预测未来的状态,以控制对象30未来的输出(控制量的预测值)尽可能接近目标值(指令值,即指令位置)的方式来决定操作量。即,扭矩计算部102基于所述内部模型来预测未来的输出(控制量)的变化,以输出与目标值尽可能接近的方式来决定输入(操作量)。
扭矩计算部102包含将控制对象30的行为模型化的所述内部模型,使用所述内部模型来预测在各控制周期内控制对象30输出的控制量。即,扭矩计算部102使用所述内部模型来算出各控制周期中的预测值(控制量的预测值)。扭矩计算部102将所算出的预测值(预测控制量)通知给计算部104。
扭矩计算部102算出控制对象30的控制量的预测值并决定操作量所用的所述内部模型不仅为控制对象30的模型,还包含伺服驱动器20的模型。即,扭矩计算部102使用控制对象30以及伺服驱动器20的内部模型来算出控制对象30的控制量的预测值,并以预测值接近指令值(即指令位置)的方式来决定操作量。
此处,当从控制器10所见的控制对象(即伺服驱动器20以及控制对象30的整体,从控制器输出直至控制器输入为止的范围)的特性包含停滞时间时,存在下述问题,即:控制器10对干扰推定的精度下降,若停滞时间变大,则无法获得充分的补偿效果。作为从控制器10所见的控制对象包含停滞时间的示例,可列举控制器10与伺服驱动器20等输出设备通过通信而连接的系统。若从控制器10来看,伺服驱动器20以及控制对象30的整体成为控制的对象(控制对象),因此所述内部模型包含伺服驱动器20的模型是基本的。但是,一般而言,包含伺服驱动器20的扭矩控制部的特性与控制对象30的特性相比为充分高速,因此也可忽略伺服驱动器20的特性(即,也可将传递函数视为“1”)。
而且,扭矩计算部102使用所述内部模型来算出从预测值修正部107获取的预测修正值(修正后预测值),即,经预测值修正部107修正的预测值(控制量的预测值)追随于指令值(指令位置)所需的扭矩。扭矩计算部102将所算出的扭矩作为指令扭矩(操作量)而通知给扭矩指令部103。
扭矩指令部103将从扭矩计算部102通知的指令扭矩(操作量)作为与控制对象30的扭矩控制相关的指令值而输出至伺服驱动器20(对控制对象30进行运动控制的控制系统)。
计算部104在每个控制周期,算出某控制周期中的控制对象30的输出(控制量的实测值)、与所述某控制周期中的控制量的预测值(预测控制量)的误差即模型预测误差。即,计算部104算出从扭矩计算部102通知的“某控制周期中的控制量的预测值(预测控制量)”、与“所述某控制周期中的控制对象30的输出(控制量的实测值)”的误差(所述某控制周期中的模型预测误差)。
计算部104将在每个控制周期算出的“所述某动作周期中的模型预测误差”通知给极值检测部105。计算部104也可作为误差数据1101而保存至存储部110中。而且,计算部104将所算出的“所述某动作周期中的模型预测误差”通知给显示控制部109。
极值检测部105在每个控制周期,根据由计算部104所算出的模型预测误差(作为误差数据1101而保存至存储部110中的模型预测误差)的时间变化,来检测所述模型预测误差的(所述模型预测误差的时间变化的)极大值以及极小值。即,极值检测部105例如在每个控制周期,获得表示从计算部104所通知的模型预测误差的时间变化的预测误差变动波形。并且,极值检测部105在预测误差变动波形中,检测(确定)关于模型预测误差的时间变化的极值。极值检测部105在每个控制周期中,将检测出的极值与所述极值的产生时机(检测时刻)一同通知给判定部106。极值检测部105也可将检测出的极值与所述极值的产生时机(检测时刻)一同作为极值数据1102而保存至存储部110中。
而且,极值检测部105也可从受理部108获取在受理部108所受理的用户操作中指定的周期下限值。极值检测部105例如在从预测误差变动波形中确定模型预测误差的时间变化中的极大值以及极小值中的至少一者时,也可视与之前确定的极大值(极小值)的检测时刻之差(间隔)不满周期下限值的山(谷)并非为极大值(极小值)。即,极值检测部105在极大值(极小值)间的检测时刻差短于周期下限值时,不确定所述极值(即,不视为极大值(极小值))。
极值检测部105(1)以多个所述极大值之间的检测时刻的间隔长于规定周期的方式来分别检测多个所述极大值,(2)以多个所述极小值之间的检测时刻的间隔长于规定周期的方式来分别检测多个所述极小值。
判定部106在每个控制周期中,针对控制对象30的控制量的实测值、与使用所述模型而预测的控制量的预测值的误差即模型预测误差的时间变化,判定有无周期性。对于判定部106的判定方法,详细内容将使用图5以及图8等而后述,但判定部106例如从由极值检测部105分别检出出所述极大值以及所述极小值的时刻,针对所述模型预测误差的时间变化来判定有无周期性。即,判定部106参照保存于存储部110中的极值数据1102来算出多个极值各自的产生时机(检测时刻)之差(时间间隔)。并且,判定部106也可判定所算出的多个时间间隔是否彼此近似,由此,针对模型预测误差的时间变化来判定有无周期性。
而且,判定部106从受理部108获取在受理部108所受理的用户操作中指定的周期下限值。判定部106(1)在由极值检测部105检测出多个极大值时,使用所述多个极大值之间的检测时刻的间隔中的、长于所述周期下限值的间隔,来作为判定有无所述周期性时所用的、检测出所述极大值的时刻的间隔,(2)在由极值检测部105检测出多个极小值时,使用所述多个极小值之间的检测时刻中的、长于所述周期下限值的间隔,来作为判定有无所述周期性时所用的、检测出所述极小值的时刻的间隔。
另外,计算部104、极值检测部105以及判定部106是在每个控制周期执行各自的处理。即,计算部104在每个控制周期算出预测误差,极值检测部105在每个控制周期检测极值(极大值以及极小值)。判定部106在每个控制周期,使用计算部104所检测出的极大值间(极小值间)的时间间隔(检测时刻之差),针对模型预测误差的时间变化来判定有无周期性。但是,后述的显示控制部109也可将所述模型预测误差的随着时间的流逝变化通过每个动作周期的批处理而显示给用户。即使欲在每个控制周期显示所述模型预测误差的随着时间的流逝变化,但由于处理量大,因此显示控制部109也可在每个动作周期显示所述模型预测误差的随着时间的流逝变化。
预测值修正部107在由判定部106针对所述模型预测误差的时间变化而判定为有周期性时,针对所述模型预测误差的时间变化的周期即预测误差变动周期,使用某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。并且,预测值修正部107将经修正的预测值(控制量的预测值,即预测控制量),即,将预测修正值(修正后预测值)通知给扭矩计算部102。
受理部108受理指定周期下限值的用户操作。受理部108将在用户操作中指定的周期下限值通知给判定部106(以及极值检测部105)。
而且,受理部108也可受理指定基准值(后述的EPS1的值)的用户操作,所述基准值是在判定部针对模型预测误差的时间变化来判定有无周期性时所用。
进而,受理部108也可受理指定阈值的用户操作,所述阈值是在极值检测部105检测(确定)极值时所用。极值检测部105例如也可在从预测误差变动波形的山与谷中检测(确定)极值(作为山的极大值与作为谷的极小值)时,仅当山与谷之差超过由用户所指定的阈值时,才将所述山(谷)确定为极大值(极小值)。
显示控制部109将所述模型预测误差的随着时间的流逝变化显示给用户。显示控制部109例如也可从计算部104获取计算部104所算出的所述“某控制周期”中的模型预测误差,并利用所获取的模型预测误差来将所述模型预测误差的随着时间的流逝变化显示给用户。而且,显示控制部109也可参照保存在存储部110中的误差数据1101,来将所述模型预测误差的随着时间的流逝变化显示给用户。
存储部110是保存控制器10所使用的各种数据的存储装置。另外,存储部110也可非临时性地存储控制器10所执行的(1)控制程序、(2)操作系统(Operating System,OS)程序、(3)用于执行控制器10所具有的各种功能的应用程序、以及(4)执行所述应用程序时读出的各种数据。所述(1)~(4)的数据例如被存储在只读存储器(Read Only Memory,ROM)、快闪存储器、可擦可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM(注册商标))、硬盘驱动器(Hard Disc Drive,HDD)等非易失性存储装置中。
控制器10也可具备未图示的临时存储部。临时存储部是在控制器10所执行的各种处理过程中,临时存储用于运算的数据及运算结果等的所谓工作存储器,包含随机存取存储器(RandomAccess Memory,RAM)等易失性存储装置。
对于将哪个数据存储到哪个存储装置中,根据控制器10的使用目的、便利性、成本或物理限制等来适当决定。存储部110进而保存有误差数据1101与极值数据1102。
误差数据1101是计算部104所算出的所述“(某控制周期中的)模型预测误差”的信息,由计算部104保存至存储部110。
极值数据1102是由极值检测部105从模型预测误差的时间变化中检测出的有关模型预测误差的时间变化中的极值的信息,由极值检测部105保存至存储部110中。
(对于模型预测控制)
图3是用于说明控制器10所执行的模型预测控制的概要的图。模型预测控制是使用控制对象(在控制系统1中为控制对象30(以及伺服驱动器20))的模型,来决定用于使控制量与参照轨道(在控制系统1中为目标轨道)上的目标点一致的未来的操作量(在控制系统1中,为给予至伺服驱动器20的扭矩指令值),且在每周期反复进行所述处理。
控制器10如图3所示,在当前时刻n测定控制量PV(n),计算出以将当前时刻的控制量PV(n)作为起点而逐渐接近目标值SP的虚线所示的参照轨道。此处,为了简单,控制水平Hu设为“1”。
接下来,控制器10使用内部模型(控制对象30(以及伺服驱动器20)的模型),以预测水平H后的控制量PV的预测值PV(n+H)与参照轨道一致的方式,来决定当前的时刻n的操作量MV(n)。
控制器10将所获得的操作量MV(n)实际追加至伺服驱动器20,并保持所述值,直至下个采样时刻n+1为止。
当在时刻n+1测定控制量PV(n+1)时,控制器10改为将时刻t+1视为当前时刻,并以未来的预测值和参照轨道与预测水平H后一致的方式来决定操作量,将所述操作量追加至伺服驱动器20,直至下个采样时刻为止。以下,反复进行所述过程。
接下来,详细说明控制系统1中的控制器10所执行的预测控制。
控制器10是如上所述般使用内部模型来进行预测控制者,在控制系统1中,内部模型采用由以采样时间而离散化的下式来表示的N次的自回归外生(Auto RegressiveeXogenous,ARX)模型。另外,控制对象(在控制系统1中为控制对象30(以及伺服驱动器20))的模型并不限于ARX模型,也可使用步进响应模型或其他模型。
[式1]
Y(n)=-a1×Y(n-1)-a2×Y(n-2)-...-aN×Y(n-N)
+b1×U(n-1)+b2×U(n-2)+...+bM×U(n-M)
此处,
Y(n):时刻n的内部模型输出值
U(n):时刻n的操作量
a1~aN、b1~bM:内部模型的系数
N、M:内部模型次数。
所述ARX模型的决定例如是预先计测针对控制对象(在控制系统1中为控制对象30(以及伺服驱动器20))的输入输出的时间序列数据,即,操作量MV以及控制量PV的时间序列数据,并使用最小二乘法等来进行。
在控制系统1中,作为以图3的虚线所示的参照轨道,使用使当前时刻n的偏差在时间常数Tr指数函数地接近0的轨道。
即,预测水平H后的参照轨道上的目标值R(n+H)能够以下式求出。
R(n+H)=SP(n+H)-λH×{SP(n)-PV(n)},
λ=exp(-Tc/Tr)
此处,
PV(n):时刻n的控制量
SP(n)、SP(n+H):时刻n、n+H的目标值
R(n+H):预测水平H前的参照轨道上的目标值
Tc:采样时间。
因此,从当前时刻n的控制量PV(n)算起的增量,即,在预测水平H后,使控制量PV与参照轨道上的目标值R(n+H)一致所需的控制量PV的增量(偏差)ΔP(n+H)成为
[式2]
ΔP(n+H)=SP(n+H)-λH×{SP(n)-PV(n)}-PV(n)
=(1-λH){SP(n)-PV(n)}+SP(n+H)-SP(n)。
接下来,对操作量MV的计算进行说明。
在线性控制对象的情况下,模型输出的行为能够通过下述的两个加法运算来求出。
(1)自由响应
将当前的状态作为初始值,根据所述ARX模型的式子,通过反复计算而求出作为未来的操作量MV而持续为0时的、预测水平H后的模型输出Yf(n+H)。
[式3]
Yf(n+1)=-a1×Y(n)-a2×Y(n-1)-...-aN×Y(n-N+1)
Yf(n+2)=-a1×Yf(n+1)-a2×Y(n)-...-aN×Y(n-N+2)
……
Yf(n+H)=-a1×Yf(n+H-1)-a2×Yf(n+H-2)-...-aN×Y(n-N+H)
(2)步进响应
将初始状态设为0,求出MV=1(100%)的步进响应中的、时刻H的模型输出S(H)。
[式4]
S(1)=b1
S(2)=-a1×S(1)+(b1+b2)
……
S(H)=-a1×S(H-1)-a2×S(H-2)-...-aN×S(H-N)+(b1+b2+...+bM)
若并非MV=1(100%)而是一般性设为MV(n),则时刻H的步进响应输出成为MV(n)×S(H)。
此处,MV(n):时刻n的操作量
Yf(n+H):预测水平H后的模型的自由响应输出
S(H):时刻H的模型的步进响应输出。
根据前项,当在时刻n以后使操作量MV(n)持续时,时刻n+H时间点的模型输出(控制量的预测值)成为下式。
Y(n+H)=Yf(n+H)+MV(n)×S(H)
此处,从Y(n)算起的增量,即,在预测水平H后所期待的模型输出的增量ΔM(n+H)成为
ΔM(n+H)=Yf(n+H)+MV(n)×S(H)-Y(n)。
因此,只要以在预测水平H后所期待的模型输出的增量ΔM(n+H),与用于使控制量PV在预测水平H后成为参照轨道上的目标值的、所述控制量PV的增量ΔP(n+H)相等的方式,来求出操作量MV即可。即,只要求出
ΔM(n+H)=ΔP(n+H)
的操作量MV即可。
此处,若考虑预测修正量CH(n),则
根据ΔM(n+H)+CH(n)=ΔP(n+H),
[式5]
Yf(n+H)+MV(n)×S(H)-Y(n)+CH(n)=(1-λH){SP(n)-PV(n)}+SP(n+H)-SP(n)
若对MV(n)求解,则
[式6]
MV(n)=[(1-λH){SP(n)-PV(n)}+SP(n+H)-SP(n)-Yf(n+H)+Y(n)-CH(n)]/S(H)
当内部模型中不含停滞时间时,必须将前项的MV的计算式修正为考虑到停滞时间d者。
因此,对于实际的过程数据,取代时刻n而设为时刻n+d。
[式7]
MV(n)=[(1-λH){SP(n+d)-PV(n+d)}+SP(n+H+d)-SP(n+d)-Yf(n+H)+Y(n)-CH(n)]/S(H)
此处,需要PV(n+d)的预测值,作为合理的近似,通常以下述计算式求出。
PV(n+d)=PV(n)+Y(n)-Y(n-d)
此处,若也考虑停滞时间d间的预测修正量Cd(n),则根据
PV(n+d)=PV(n)+Y(n)-Y(n-d)+Cd(n)
[式8]
MV(n)=[(1-λH){SP(n+d)-PV(n)+Y(n)-Y(n-d)+Cd(n)}
+SP(n+H+d)-SP(n+d)-Yf(n+H)+Y(n)-CH(n)]/S(H)
另外,在计算出时刻n的操作量MV(n)之后,为了下次计算,预先求出下个模型输出Y(n+1)。
[式9]
Y(n+1)=a1×Y(n)+a2×Y(n-1)+...+aN×Y(n-N+1)
+b1×MV(n)+b2×MV(n-1)+...+bM×MV(n-M+1)
其中,MV(n)是使用操作量限制处理后的值。
(干扰补偿处理的一例)
图4是表示控制器10所执行的干扰补偿处理的一例的流程图。如图4所示,控制器10存储模型预测误差(S10),并从将模型预测误差沿时间序列排列的数据中,检测模型预测误差的极值(S20)。并且,控制器10使用所检测出的极值,针对模型预测误差的时间变化来判定有无周期性(S30)。控制器10在判定为模型预测误差的时间变化存在周期性时(S30中为是(Yes)),利用1周期(1预测误差变动周期)前的预测误差来进行预测值的修正,并使用经修正的预测值来执行预测控制(S40)。控制器10在判定为模型预测误差的时间变化无周期性时(S30中为否(No)),不进行预测值的修正而执行预测控制(S50)。以下说明详细。
另外,以下的说明中,“PE(n)”是指“周期内时刻n的预测误差”,“PV(n)”是指“周期内时刻n的控制量(控制对象30所输出的控制量的实测值,例如反馈位置)”。而且,“Y(n-d)”是指“时刻(n-d)的模型预测值(扭矩计算部102使用将控制对象(即,控制对象30以及伺服驱动器20)的行为模型化的内部模型而算出的周期内时刻(n-d)的控制量的预测值)”,“d”是指“停滞时间”。停滞时间d为控制器10的控制周期的整数倍。
计算部104在每个控制周期,算出1周期的预测误差数据,并将所算出的模型预测误差通知给极值检测部105,并且作为误差数据1101而保存至存储部110中(S10)。计算部104通过以下的式子来算出模型预测误差PE(n),并将所算出的模型预测误差PE(n)通知给极值检测部105,并且作为误差数据1101而保存至存储部110中。
PE(n)=PV(n)-Y(n-d)
极值检测部105在每个控制周期,根据由计算部104分别算出的、连续的多个所述模型预测误差的时间变化,检测所述模型预测误差的极大值以及极小值。即,极值检测部105例如在每个控制周期,从表示在每个控制周期自计算部104所通知的模型预测误差的时间变化的、曲线(直线)中,检测模型预测误差的极大值以及极小值。并且,极值检测部105在每个控制周期,将检测出的极值(极大值以及极小值)的值与检测出的时刻(检测时刻)一同通知给判定部106。极值检测部105也可将检测出的极值与所述极值的产生时机(检测时刻)一同作为极值数据1102而保存至存储部110中(S20)。
判定部106在每个控制周期,由极值检测部105检测出多个极值后,算出极值间的检测时刻之差(检测时刻差),以判断有无周期性(S30)。当判定部106针对模型预测误差的时间变化而判定为存在周期性时(S30中为是(Yes)),预测值修正部107使用当前之前(过去)的变动周期(即,某“预测误差变动周期”的前一个“预测误差变动周期”)的预测误差,对在当前时刻所预测的、(未来的)控制量的预测值(即,某“预测误差变动周期”中的控制量的预测值)进行修正。并且,扭矩计算部102使用内部模型来算出经预测值修正部107修正的预测值(控制量的预测值)追随于指令值(指令位置)所需的扭矩。扭矩指令部103将扭矩计算部102所算出的扭矩作为指令扭矩(操作量)而输出至伺服驱动器20(S40)。
当判定部106针对模型预测误差的时间变化而判断为无周期性时(S30中为否(No)),预测值修正部107不进行预测的修正。并且,扭矩计算部102使用内部模型来算出未经预测值修正部107修正的预测值(控制量的预测值)追随于指令值(指令位置)所需的扭矩。扭矩指令部103将扭矩计算部102所算出的扭矩作为指令扭矩(操作量)而输出至伺服驱动器20(S50)。
参照图4来说明的控制器10所执行的处理(控制方法)能够整理如下。即,控制器10所执行的处理(控制方法)是一种模型预测控制装置的控制方法,所述模型预测控制装置使用控制对象30(以及伺服驱动器20)的模型,来预测与根据目标轨道而在每个控制周期生成的指令值对应的控制对象30的控制量,所述控制方法包括:判定步骤(S30),针对模型预测误差的时间变化来判定有无周期性,所述模型预测误差是控制对象30的控制量的实测值、与使用所述模型而预测的控制量预测值的误差;以及预测值修正步骤(S40),当在所述判定步骤中针对所述模型预测误差的时间变化而判定为有周期性时,对于所述模型预测误差的时间变化的周期即预测误差变动周期,使用某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。
根据所述控制方法,所述预测值修正步骤在针对模型预测误差的时间变化而判定为有周期性时,使用所述某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。
另外,预测值修正步骤(S40)使用某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差来修正的“所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值”也可换言之为“当前的预测值”。
因此,所述控制方法起到下述效果:当所述某预测误差变动周期中的所述控制量的预测值因具有周期性的干扰而发生波动时,能够使用所述某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,来修正所述某预测误差变动周期中的所述预测值。所述控制方法起到下述效果:不需要干扰的模型,能够针对广范围的机械以及装置而更简单地适用干扰补偿。
(周期性的判定方法-预测误差的极值检测与存储)
图5是用于说明控制器10针对模型预测误差的时间变化来判定有无周期性的方法的图。如使用图4所说明般,计算部104在每个控制周期检查(算出)模型预测误差,并将所算出的模型预测误差作为误差数据1101而保存至存储部110中。并且,极值检测部105将由计算部104所算出的模型预测误差沿时间序列排列,根据模型预测误差的时间变化来检测模型预测误差的极大值以及极小值。
此处,图5的中段所例示的“模型预测误差”表示将计算部104所算出的(作为误差数据1101而保存至存储部110中的)模型预测误差沿时间序列排列的曲线(直线)。另外,在以下的说明中,也将“使模型预测误差沿时间序列排列的曲线(直线)”称作“预测误差变动波形”。
极值检测部105从图5的中段所例示的“模型预测误差”的曲线(预测误差变动波形)中,依序确定画上圆圈的极大值以及极小值。并且,极值检测部105将“P(j):第j个极值”以及“Ptime(j):第j个极值的出现时刻(检测时刻)”作为极值数据1102而保存至存储部110中,以作为确定的极值信息。
极值检测部105是在图5的中段所例示的“模型预测误差”的曲线(预测误差变动波形)中,交替地确定极大值与极小值。此处,只要极值检测部10确定合计四个以上的极大值与极小值,判定部106便在下个要领中判定有无周期性。即,极值检测部105最后确定的极值设为P(K),当满足下述条件时,判定部106针对模型预测误差的时间变化而判定为有周期性。
[式10]
|{Ptime(k)-Ptime(k-2)}-{Ptime(k-1)-Ptime(k-3))}|/|Ptime(k-1)-Ptime(k-3)|<EPS1
此处,EPS1只要在“0”~“1”的范围内预先决定即可。例如,预先设定为“EPS1=0.2”等。将EPS1的值设定为越接近“1”的值,则判定部106对“与模型预测误差的时间变化相关的周期性的有无判定”越宽松。另外,EPS1也可设为用户能够在“0”~“1”的范围内进行设定。
即,在控制器10中,判定部106基于由极值检测部105分别检测出多个所述极大值的时刻的间隔、与由极值检测部105分别检测出多个所述极小值的时刻的间隔之差,针对所述模型预测误差的时间变化来判定有无周期性。
根据所述结构,判定部106基于由极值检测部105分别检测出多个所述极大值的时刻的间隔、与由极值检测部105分别检测出多个所述极小值的时刻的间隔之差,针对所述模型预测误差的时间变化来判定有无周期性。
因此,控制器10起到下述效果:基于分别检测出多个所述极大值的时刻的间隔、与分别检测出多个所述极小值的时刻的间隔之差,针对所述模型预测误差的时间变化来判定有无周期性,当判定为有所述周期性时,能够使用所述某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。
例如,判定部106在由极值检测部105分别检测出多个所述极大值的时刻的间隔、与由极值检测部105分别检测出多个所述极小值的时刻的间隔之差小于规定值(前述的EPS1)时,针对所述模型预测误差的时间变化而判定为有周期性。
因此,控制器10起到下述效果:当分别检测出多个所述极大值的时刻的间隔、与分别检测出多个所述极小值的时刻的间隔之差小于规定值时,针对所述模型预测误差的时间变化而判定为有周期性,从而能够使用所述某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。
另外,如前所述,EPS1也可设为用户能够在“0”~“1”的范围内进行设定,将EPS1的值设定为越接近“1”的值,判定部106对“与模型预测误差的时间变化相关的周期性的有无判定”越宽松。
而且,所述例中,对下述示例进行了说明,即,判定部106将
[式11]
|{Ptime(k)-Ptime(k-2)}-{Ptime(k-1)-Ptime(k-3))}|
除以
[式12]
|Ptime(k-1)-Ptime(k-3)|,
从而针对模型预测误差的时间变化来判定有无周期性。
但是,对于判定部106判定模型预测误差的时间变化有无周期性而言,将
[式13]
|{Ptime(k)-Ptime(k-2)}-{Ptime(k-1)-Ptime(k-3))}|
除以
[式14]
|Ptime(k-1)-Ptime(k-3)|
的做法并非必要的。
判定部106只要基于由极值检测部105分别检测出多个所述极大值的时刻的间隔、与由极值检测部105分别检测出多个所述极小值的时刻的间隔之差,针对所述模型预测误差的时间变化来判定有无周期性即可。即,判定部106也可在
[式15]
|{Ptime(k)-Ptime(k-2)}-{Ptime(k-1)-Ptime(k-3))}|
小于EPS1(即,接近“0”)时,判定为模型预测误差的时间变化存在周期性。
进而,所述例中,极值检测部105从预测误差变动波形(使模型预测误差沿时间序列排列的曲线)中,各检测两个极大值与极小值,判定部106基于分别检测出两个极大值的时刻的间隔、与分别检测出两个极小值的时刻的间隔之差,针对模型预测误差的时间变化来判定有无周期性。
但是,极值检测部105也可从预测误差变动波形中检测三个极值,判定部106求出分别检测出相邻的两个极值的时刻的间隔,并基于最初的间隔与下个间隔之差,针对模型预测误差的时间变化来判定有无周期性。即,也可基于检测出第1个极值(例如极大值)的时刻和检测出第2个极值(例如极小值)的时刻的的间隔(最初的间隔)、与检测出第2个极值(例如极小值)的时刻和检测出第3个极值(例如极大值)的时刻的间隔(下个间隔)之差,判定部106针对模型预测误差的时间变化来判定有无周期性。
而且,在图5中的极值检测中,为了防止因计测噪声造成的误检测,而且,为了防止对因静止摩擦造成的停止状态下的微小振动进行误检测,极值检测部105也可仅在极大值与极小值之差超过某阈值时确定极值。即,在控制器10中,极值检测部105仅检测所述连续的多个所述模型预测误差的时间变化中的所述模型预测误差的极大值以及极小值中的、所述极大值与所述极小值之差大于规定值的所述极大值以及所述极小值。
根据所述结构,极值检测部105仅检测所述连续的多个所述模型预测误差的时间变化中的所述模型预测误差的极大值以及极小值中的、所述极大值与所述极小值之差大于规定值的所述极大值以及所述极小值。
此处,所述模型预测误差是由计算部104作为控制对象30的控制量的实测值与使用所述模型而预测的控制量的预测值的误差而算出,所述实测值可能包含计测噪声。而且,例如因静止摩擦造成的停止状态下的微小振动可能影响到所述实测值。即,由计算部104所算出的所述模型预测误差可能会受到所述实测值可能包含的计测噪声等影响。
极值检测部105仅检测所述连续的多个所述模型预测误差的时间变化中的所述模型预测误差的极大值以及极小值中的、所述极大值与所述极小值之差大于规定值的所述极大值以及所述极小值,由此,能够防止将受所述计测噪声等影响的所述模型预测误差误检测为极值(极大值或极小值)。
因此,控制器10起到下述效果:能够使用高精度地检测出的极值的检测时刻,针对所述模型预测误差的时间变化来判定有无周期性。
(预测值的修正方法-使用1周期前的预测误差来修正预测)
图6是用于说明控制器10对预测值进行修正的方法的图。当判定部106针对模型预测误差的时间变化而判定为有周期性时,预测值修正部107通过以下所示的方法来算出预测修正量。
预测值修正部107首先在时刻n时间点,求出从最后确定的极值时刻直至当前时刻为止的经过时间即经过时间“n-Ptime(k)”。
预测值修正部107接下来利用下式求出从当前时刻起为1周期前的时刻,将其作为预测的起点。即,
Ptime(k-2)+n-Ptime(k)
然后,预测值修正部107求出从根据上式而求出的时刻起的、停滞时间d区间以及预测水平H区间中的预测误差的变化量,以作为预测修正量Cd(n)、CH(n)。即,
[式16]
Cd(n)=PE(Ptime(k-2)+n-Ptime(k)+d)-PE(Ptime(k-2)+n-Ptime(k)),
CH(n)=PE(Ptime(k-2)+n-Ptime(k)+d+H)-PE(Ptime(k-2)+n-Ptime(k)+d)
另外,如前所述,“PE(n)”是指“时刻n的预测误差”,计算部104通过以下式子算出模型预测误差PE(n),并将所算出的模型预测误差PE(n)作为误差数据1101而保存至存储部110中。
PE(n)=PV(n)-Y(n-d)
(干扰补偿效果的证实)
控制器10针对控制对象30的控制量的实测值、与使用控制对象30(以及伺服驱动器20)的模型而预测的控制量预测值的误差即模型预测误差的时间变化,来判定有无周期性。并且,当针对模型预测误差的时间变化而判定为有周期性时,控制器10对于预测误差变动周期,使用某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。对于控制器10所执行的所述干扰补偿处理起到的效果,以下分别对“简单(一般)干扰”与“复杂干扰”进行说明。
另外,所谓“简单(一般)干扰”,例如是指表示其大小的时间变化的变动波形(预测误差变动波形)仅具备一个周期的干扰。而且,所谓“复杂干扰”,例如是指表示其大小的时间变化的变动波形(预测误差变动波形)具备多个周期的干扰。
(简单干扰的补偿)
图7是用于说明控制器10执行了干扰补偿处理时的效果的图。即,图7所示的示例是用于说明针对“以100ms移动60mm,随后停止100ms期间”的目标轨道数据(目标轨道)的控制,施加有“最大振幅10%、频率100Hz的正弦波状干扰”的情况下,控制器10执行了干扰补偿处理时的效果的图。
如图7所示,在时刻40ms附近,控制器10执行周期性干扰补偿功能,时刻40ms以后的位置偏差能够抑制得较小。即,时刻40ms以后,所述干扰对控制的影响得到抑制。例如,时刻40ms以后的位置偏差不同于时刻40ms之前的位置偏差,几乎以“0”来推移。而且,时刻40ms以后的扭矩与时刻40ms之前的扭矩相比,变化变得平稳,并无时刻40ms之前那样的大起大落。即,控制器10在判定为干扰存在周期性时,对于干扰的周期(即,预测误差变动周期),使用在当前之前(过去)算出的模型预测误差,来对当前(当前时刻)的控制量预测值进行修正,由此,抑制了所述干扰对控制的影响。
此处,在使用位置偏差以及位置的振动波形中的至少一者来判断干扰的周期性的方法中,当干扰补偿发挥作用时,将无法再进行周期性的正确判定。这是因为,通过干扰补偿,干扰得到补偿,即,位置偏差以及位置的振动波形会因干扰补偿发生变形,因此无法再准确地掌握干扰(干扰的周期性)。
与此相对,在控制器10中,即使在控制器10通过干扰补偿来抑制位置偏差的振动的期间,干扰的振动波形仍会残留在预测误差中。因此,控制器10能够持续补偿干扰。控制器10起到下述效果:由于使用预测误差来判断干扰的周期性,因此即使在执行了干扰补偿之后,也能够在预测误差中检测干扰的振动波形,因此控制器10能够准确地判断干扰的周期性。
(复杂干扰的补偿)
在图7所示的示例中,控制器10对预测误差变动波形仅具备一个周期的“简单(一般)干扰”进行了补偿。与此相对,在对预测误差变动波形具备多个周期的“复杂干扰”进行补偿时,控制器10通过利用周期下限(值),从而能够准确地掌握模型预测误差的时间变化的周期即预测误差变动周期。以下,使用图8以及图9来进行说明。
图8是用于说明控制器10使用周期下限值来判定模型预测误差有无周期性的、“复杂干扰”的图。图7所例示的“简单(一般)干扰”的变动波形(预测误差变动波形)为单一周期,与此相对,图8所例示的“复杂干扰”的变动波形(预测误差变动波形)具备多个周期。
在图8中,欲捕捉的是周期(A),周期(B)必须忽略。因此,通过将长于周期(B)且短于周期(A)的时间设定为周期下限值,从而在控制器10中,判定部106能够忽略周期(B)。例如,极值检测部105在从预测误差变动波形中确定模型预测误差的时间变化中的极大值以及极小值中的至少一者时视为:与之前确定的极大值(极小值)的时间差不满周期下限值者并非极小值(极大值)。即,设定周期下限值,极值检测部105在极大值(极小值)间的检测时刻之差短于周期下限值时,不确定所述极值(即,不视为极大值(极小值))。极值检测部105(1)以多个所述极大值之间的检测时刻的间隔长于周期下限值的方式,来分别检测多个所述极大值,(2)以多个所述极小值之间的检测时刻的间隔长于周期下限值的方式,来分别检测多个所述极小值。
判定部106使用检测时刻之差为周期下限值以上的多个所述极大值(极小值)(更准确而言,使用多个所述极大值(极小值)的检测时刻的间隔),来判断模型预测误差的时间变化有无周期性。
而且,也可取代使极值检测部105使用周期下限值来检测(确定)的极值精度提高,而通过判定部106使用周期下限值,从而提高对于模型预测误差的时间变化的、有无周期性的判定精度。即,判定部106(1)使用由极值检测部105所检测出的多个极大值之间的检测时刻的间隔中的、长于所述周期下限值的间隔,来作为判定有无所述周期性时所用的、检测出所述极大值的时刻的间隔,(2)使用由极值检测部105所检测出的多个极小值之间的检测时刻中的、长于所述周期下限值的间隔,来作为判定有无所述周期性时所用的、检测出所述极小值的时刻的间隔。
通过判定部106以及极值检测部105中的至少一者使用周期下限值,从而在图8所例示的预测误差变动波形中,判定部106对于周期(A)而非周期(B),针对模型预测误差的时间变化来判定有无周期性。并且,当由判定部106针对模型预测误差的时间变化而判定为有周期性时,预测值修正部107针对模型预测误差的时间变化即预测误差变动周期(即,周期(A)),使用某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。
接下来,对于控制器10如以上所说明般,使用周期下限值来对预测误差变动波形具备多个周期的“复杂干扰”进行补偿时的效果,使用图9来进行说明。
图9是用于说明控制器10执行了使用周期下限值的干扰补偿处理时的效果的图。即,图9所示的示例是用于说明针对“以100ms移动60mm,随后停止100ms期间”目标轨道数据(目标轨道)的控制,施加有由多个周期的预测误差变动波形所示的“复杂干扰”的情况下,控制器10执行了干扰补偿处理时的效果的图。
控制器10所执行的处理与图7所例示的情况相比,在图9所例示的情况下,仅使用了周期下限值。即,在图9所例示的情况下,控制器10(极值检测部105)执行下述处理:对于图7所例示的情况下的处理,仅追加了“在不满周期下限值的时间,不确定极值”这一处理。
图9的差异下段所例示的模型预测误差中,预测误差变动波形具有多个周期。如使用图8所说明般,当预测误差变动波形具备多个周期时,必须仅检测最长的周期。
在控制器10中,提高极值检测部105使用周期下限值来检测(确定)的极值的精度。即,控制器10预先设定周期的下限值(周期下限值),通过忽略不满所述下限值的周期,从而能够对最长周期的预测误差变动进行检测。
在图9的正中间的列中,表示了针对预测误差变动波形具备多个周期的“复杂干扰”,控制器10执行通常的干扰补偿(即,不使用“周期下限值”的干扰补偿处理)时的位置偏差以及扭矩等的轨迹。
如使用图8所说明般,对于预测误差变动波形具备多个周期的“复杂干扰”,难以针对模型预测误差的时间变化来正确判定周期性,而且,难以正确推算模型预测误差的时间变化的周期。
因此,针对“复杂干扰”,控制器10“不使用周期下限值”而执行干扰补偿处理时的位置偏差以及扭矩等的轨迹如图9的正中间的列所示,类似于未执行干扰补偿处理时的位置偏差以及扭矩等的轨迹(图9的左侧的列所示的位置偏差以及扭矩等的轨迹)。即,控制器10在“不使用周期下限值”时,无法抑制因“复杂干扰”造成的控制的波动,例如无法抑制位置偏差变动。
与此相对,如图9的右侧的列所示,针对预测误差变动波形具备多个周期的“复杂干扰”,控制器10通过执行使用周期下限值的干扰补偿处理,从而能够良好地抑制位置偏差变动。而且,对于扭矩的变化,也能够使其变得平稳。
即,控制器10通过使用周期下限值,从而针对预测误差变动波形具备多个周期的“复杂干扰”,能够准确判定有无与其时间变化相关的周期性,且能够正确推算所述“复杂干扰”的时间变化的周期(即,模型预测误差的时间变化的周期)。并且,控制器10在判定为干扰存在周期性时,针对干扰的周期(即,预测误差变动周期),使用当前之前(过去)所算出的模型预测误差,对当前(当前时刻)的控制量预测值进行修正,由此来抑制所述干扰对控制的影响。
即,在控制器10中,极值检测部105(1)以多个所述极大值之间的检测时刻的间隔长于规定周期的方式,来分别检测多个所述极大值,(2)以多个所述极小值之间的检测时刻的间隔长于规定周期的方式,来分别检测多个所述极小值。
根据所述结构,极值检测部105以多个所述极大值(所述极小值)之间的检测时刻的间隔长于规定周期的方式,来分别检测多个所述极大值(所述极小值)。即,极值检测部105在极大值(极小值)间的检测时刻之差(间隔)短于规定周期时,不确定所述极值(即,不视为极大值(极小值))。极值检测部105例如也可视与之前确定的极大值(极小值)的时间差不满周期下限值的山(谷)并非为极大值(极小值)。
此处,例如当表示所述模型预测误差的时间变化的曲线是在大的周期曲线中包含小的周期曲线的曲线时,判定所述模型预测误差的时间变化的周期性时应使用的周期是所述大的周期曲线的周期。
因此,控制器10起到下述效果:由于将检测出所述多个所述极值(极大值或极小值)的时刻的间隔且长于规定周期(周期下限值)的间隔用于判定有无所述周期性时,因此能够针对所述模型预测误差的时间变化来正确地判定有无周期性。
(利用用户所指定的周期下限值的周期性判定精度的提高)
另外,判定部106针对模型预测误差的时间变化来判定有无周期性时所用的所述周期下限值也可为由用户所指定的值。即,控制器10的受理部108受理指定周期下限值的用户操作。并且,判定部106(1)在由极值检测部105检测出多个极大值时,使用所述多个极大值之间的检测时刻的间隔中的、长于所述周期下限值的间隔,来作为判定有无所述周期性时所用的、检测出所述极大值的时刻的间隔,(2)在由极值检测部105检测出多个极小值时,使用所述多个极小值之间的检测时刻中的、长于所述周期下限值的间隔,来作为判定有无所述周期性时所用的、检测出所述极小值的时刻的间隔。
根据所述结构,判定部106(1)使用由极值检测部105检测出的多个所述极大值之间的检测时刻的间隔中的、长于所述周期下限值的间隔,来作为判定有无所述周期性时所用的、检测出所述极大值的时刻的间隔,(2)使用由极值检测部105检测出的多个所述极小值之间的检测时刻的间隔中的、长于所述周期下限值的间隔,来作为判定有无所述周期性时所用的、检测出所述极小值的时刻的间隔。
此处,例如当表示所述模型预测误差的时间变化的曲线是在大的周期曲线中包含小的周期曲线的曲线时,判定所述模型预测误差的时间变化的周期性时应使用的周期是所述大的周期曲线的周期。
因此,控制器10起到下述效果:由于将检测出所述多个所述极值(极大值或极小值)的时刻的间隔且长于所述周期下限值的间隔用于判定有无所述周期性时,因此能够针对所述模型预测误差的时间变化来正确地判定有无周期性。
(显示画面的一例)
图10是表示控制器10所显示的预测误差的趋势图的一例的图。如图10所示,控制器10的显示控制部109将模型预测误差(计算部104所算出并保存至存储部110中的误差数据1101)的随着时间的流逝变化显示给用户。
根据所述结构,显示控制部109将所述模型预测误差的随着时间的流逝变化显示给用户。因此,控制器10起到下述效果:由于将所述模型预测误差的随着时间的流逝变化显示给用户,因此用户能够根据由控制器10所显示的所述模型预测误差的随着时间的流逝变化(所谓的趋势图)中出现的波形,来近似地掌握干扰的状态。
通过显示控制部109显示预测误差(模型预测误差)的趋势图,从而用户能够确认干扰的产生时机以及所产生的干扰是如何变化。尤其,当干扰补偿有效地发挥作用时,用户难以仅根据控制偏差(例如位置偏差)的波动来确认干扰产生的状态。由于显示控制部109显示预测误差的趋势图,因此用户能够容易地确认产生干扰的时间点(时机)以及干扰的随着时间的流逝变化。
图11(A)及图11(B)是表示控制器10进行了补偿的扭矩干扰波形的图。另外,图11(A)表示在图7所示的示例中,控制器10执行了干扰补偿处理的扭矩干扰波形(由单一周期的预测误差变动波形所示的“简单(一般)干扰”)。而且,图11(B)表示在图9所示的示例中,控制器10执行了干扰补偿处理的扭矩干扰波形(由多个周期的预测误差变动波形所示的“复杂干扰”)。
〔实施方式2〕
对于本发明的另一实施方式,基于图12及图13来说明如下。另外,为了确保记载的简洁性,仅对与实施方式1不同的结构(处理的过程及处理的内容)进行说明。即,实施方式1中记载的结构等也可全部包含在本实施方式中。而且,实施方式1中记载的术语的定义也相同。
(控制系统的概要)
图13是表示包含控制器100的控制系统2的概要的图。控制系统2与控制器10执行位置/速度控制且通过预测控制来输出对伺服驱动器20的扭矩指令值的控制系统1不同,控制器100通过预测控制来修正对伺服驱动器120的指令位置,且伺服驱动器120执行位置/速度控制。即,在控制系统1中,控制器10向伺服驱动器20输出扭矩指令值,与此相对,在控制系统2中,控制器100向伺服驱动器120输出指令位置。
控制器100是具备模型预测控制机构的控制器,且对伺服驱动器120输出作为操作量的指令位置。控制器100例如从用户等外部受理目标轨道数据(目标轨道)(轨道生成),根据所受理的目标轨道数据,在每个控制周期生成指令值(指令位置)。而且,控制器100从控制对象30获取“控制对象30的输出即控制量(控制量的实测值)”,以作为反馈信息。即,控制器100获取控制对象30所输出的位置来作为反馈位置。
此处,控制器100具有控制对象30的模型来作为内部模型,使用所述内部模型,基于所生成的指令位置与“控制对象30的输出即反馈位置(控制量的实测值)”,对伺服驱动器120输出作为操作量的指令位置。控制器100所用的内部模型为伺服驱动器120以及控制对象30的模型。控制系统2中,由于无法忽略伺服驱动器120的特性,因此仅有控制对象30的模型不够充分,控制器100需要伺服驱动器120以及控制对象30的模型来作为内部模型。
控制器100使用所述内部模型来预测控制对象30所输出的控制量(反馈位置),并且推定预测误差以进行干扰补偿,即,使用预先存储的模型预测误差(前一个预测误差变动周期中的模型预测误差)来修正预测的控制量(预测值)。并且,控制器100使用利用模型预测误差进行了修正的预测值即预测修正值(修正后预测值),来算出对伺服驱动器120输出的修正后指令位置(操作量)。
伺服驱动器120对控制对象30执行位置/速度控制。即,伺服驱动器120从控制器100获取指令位置(修正后指令位置)。而且,伺服驱动器120从控制对象30获取“控制对象30的输出即控制量(控制量的实测值)”,以作为反馈信息。即,伺服驱动器120获取控制对象30所输出的速度以及位置(速度以及位置中的至少一者),以作为反馈速度以及反馈位置(反馈速度以及反馈位置中的至少一者)。
伺服驱动器120使用从控制器100获取的指令位置(修正后指令位置)与从控制对象30获取的反馈速度及反馈位置中的至少一者,来对控制对象30执行位置/速度控制。
(控制器的概要)
对于至此为止使用图13说明了概要的控制系统2中所含的控制器100,接下来使用图12来说明其结构以及处理的内容等。在参照图12来说明详细内容之前,为了便于理解控制器100,将其概要整理如下。
控制器100还具备:指令值修正部112,以经预测值修正部107修正的所述预测值追随于所述指令值的方式来修正所述指令值;以及位置指令部113,将经指令值修正部112修正的所述指令值即修正后指令值作为与控制对象30的位置控制相关的指令值而输出至伺服驱动器120(对控制对象30进行运动控制的控制系统)。
根据所述结构,指令值修正部112以经预测值修正部107修正的所述预测值追随于所述指令值的方式来修正所述指令值,位置指令部113将经指令值修正部112修正的所述指令值即修正后指令值作为与控制对象30的位置控制相关的指令值而输出至伺服驱动器120。
因此,控制器100起到下述效果:无须执行用于将因所述干扰造成的控制量的变化转换成操作量的运算处理,能够将以控制对象30的控制量追随于所述指令值的方式经修正的所述指令值输出至伺服驱动器120。
(控制器的详细说明)
对于以上说明了概要的控制器100,接下来使用图12来说明其结构的详细。
图12是表示本发明的实施方式2的控制器100的主要部分结构的框图。图12所示的控制器100取代图1所示的控制器10的扭矩计算部102以及扭矩指令部103,而具备指令值修正部112以及位置指令部113。对于控制器100的扭矩计算部102以及扭矩指令部103以外的结构,由于与控制器10的扭矩计算部102以及扭矩指令部103以外的结构同样,因此省略详细记载。
指令值修正部112执行模型预测控制,具体而言,使用控制对象(即,伺服驱动器120以及控制对象30)的内部模型来预测未来的状态,以控制对象30未来的输出(控制量的预测值)尽可能接近目标值(指令值,即指令位置)的方式来决定操作量(指令位置)。即,指令值修正部112基于所述内部模型来预测未来的输出(控制量)的变化,以输出与目标值尽可能接近的方式来决定输入(操作量,即指令位置)。
指令值修正部112包含将控制对象(即控制对象30)的行为模型化的所述内部模型,使用所述内部模型来预测在各控制周期中控制对象30输出的控制量。即,指令值修正部112使用所述内部模型来算出各控制周期中的预测值(控制量的预测值)。指令值修正部112将所算出的预测值(预测控制量)通知给计算部104。
而且,指令值修正部112使用所述内部模型来算出从预测值修正部107获取的预测修正值(修正后预测值),即,经预测值修正部107修正的预测值(控制量的预测值)追随于指令值(指令位置)所需的操作量(修正后指令位置)。指令值修正部112将所算出的修正后指令位置作为操作量而通知给位置指令部113。
位置指令部113将从指令值修正部112通知的修正后指令位置(操作量)作为与控制对象30的位置/速度控制相关的指令值而输出至伺服驱动器120(对控制对象30进行运动控制的控制系统)。
〔借助软件的实现例〕
控制器10以及控制器100的控制块(尤其是指令值生成部101、扭矩计算部102、扭矩指令部103、计算部104、极值检测部105、判定部106、预测值修正部107、受理部108、显示控制部109、指令值修正部112以及位置指令部113)既可通过形成于集成电路(IC芯片)等上的逻辑电路(硬件)来实现,也可使用中央处理器(Central Processing Unit,CPU)而通过软件来实现。
在后者的情况下,控制器10以及控制器100具备执行实现各功能的软件即程序的命令的CPU、可由计算机(或CPU)读取地记录有所述程序及各种数据的只读存储器(ReadOnly Memory,ROM)或存储装置(将它们称作“记录介质”)、以及展开所述程序的随机存取存储器(Random Access Memory,RAM)等。并且,通过计算机(或CPU)从所述记录介质中读取并执行所述程序,从而达成本发明的目的。作为所述记录介质,可使用“并非临时的有形介质”,例如可使用带(tape)、盘(disk)、卡(card)、半导体存储器、可编程的逻辑电路等。而且,所述程序也可经由可传输所述程序的任意传输介质(通信网络或广播波等)而提供给所述计算机。另外,本发明也能以通过电子传输来将所述程序具现化的、被嵌入载波中的数据信号的形态来实现。
本发明并不限定于所述的各实施方式,可在权利要求所示的范围内进行各种变更,将不同的实施方式中分别揭示的技术部件适当组合而获得的实施方式也包含于本发明的技术范围内。

Claims (12)

1.一种模型预测控制装置,使用控制对象的模型,来预测与根据目标轨道而在每个控制周期生成的指令值对应的所述控制对象的控制量,所述模型预测控制装置的特征在于包括:
判定部,针对模型预测误差的时间变化来判定有无周期性,所述模型预测误差是所述控制对象的控制量的实测值、与使用所述模型而预测的控制量预测值的误差;以及
预测值修正部,当由所述判定部针对所述模型预测误差的时间变化而判定为有周期性时,对于所述模型预测误差的时间变化的周期即预测误差变动周期,使用某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。
2.根据权利要求1所述的模型预测控制装置,其特征在于还包括:
计算部,针对连续的多个所述控制周期,分别算出所述模型预测误差;以及
极值检测部,根据由所述计算部分别算出的、连续的多个所述模型预测误差的时间变化,检测所述模型预测误差的极大值以及极小值,
所述判定部从由所述极值检测部分别检测出所述极大值以及所述极小值的时刻,针对所述模型预测误差的时间变化来判定有无周期性。
3.根据权利要求2所述的模型预测控制装置,其特征在于,
所述判定部基于由所述极值检测部分别检测出多个所述极大值的时刻的间隔、与由所述极值检测部分别检测出多个所述极小值的时刻的间隔之差,而针对所述模型预测误差的时间变化来判定有无周期性。
4.根据权利要求2或3所述的模型预测控制装置,其特征在于,
所述极值检测部仅检测所述连续的多个所述模型预测误差的时间变化中的所述模型预测误差的极大值以及极小值中的、所述极大值与所述极小值之差大于规定值的所述极大值以及所述极小值。
5.根据权利要求3或4所述的模型预测控制装置,其特征在于,
所述极值检测部以多个所述极大值之间的检测时刻的间隔长于规定周期的方式,来分别检测多个所述极大值,且
以多个所述极小值之间的检测时刻的间隔长于规定周期的方式,来分别检测多个所述极小值。
6.根据权利要求3至5中任一项所述的模型预测控制装置,其特征在于还包括:
受理部,受理指定周期下限值的用户操作,
所述判定部在由所述极值检测部检测出多个极大值时,使用所述多个极大值之间的检测时刻的间隔中的、长于所述周期下限值的间隔,来作为判定有无所述周期性时所用的、检测出所述极大值的时刻的间隔,
在由所述极值检测部检测出多个极小值时,使用所述多个极小值之间的检测时刻中的、长于所述周期下限值的间隔,来作为判定有无所述周期性时所用的、检测出所述极小值的时刻的间隔。
7.根据权利要求1至6中任一项所述的模型预测控制装置,其特征在于还包括:
显示控制部,将所述模型预测误差的时间变化显示给用户。
8.根据权利要求1至7中任一项所述的模型预测控制装置,其特征在于还包括:
扭矩计算部,算出经所述预测值修正部修正的所述预测值追随于所述指令值所需的扭矩;以及
扭矩指令部,将由所述扭矩计算部所算出的扭矩作为与所述控制对象的扭矩控制相关的指令值而输出至对所述控制对象进行运动控制的控制系统。
9.根据权利要求1至7中任一项所述的模型预测控制装置,其特征在于还包括:
指令值修正部,以经所述预测值修正部修正的所述预测值追随于所述指令值的方式,来修正所述指令值;以及
位置指令部,将经所述指令值修正部修正的所述指令值即修正后指令值作为与所述控制对象的位置控制相关的指令值而输出至对所述控制对象进行运动控制的控制系统。
10.一种控制方法,是模型预测控制装置的控制方法,所述模型预测控制装置使用控制对象的模型,来预测与根据目标轨道而在每个控制周期生成的指令值对应的所述控制对象的控制量,所述控制方法的特征在于包括:
判定步骤,针对模型预测误差的时间变化来判定有无周期性,所述模型预测误差是所述控制对象的控制量的实测值、与使用所述模型而预测的控制量预测值的误差;以及
预测值修正步骤,当在所述判定步骤中针对所述模型预测误差的时间变化而判定为有周期性时,对于所述模型预测误差的时间变化的周期即预测误差变动周期,使用某预测误差变动周期的前一个预测误差变动周期中的所述模型预测误差,对所述某预测误差变动周期中的使用所述模型而预测的控制量的预测值进行修正。
11.一种信息处理程序,用于使计算机作为权利要求1至9中任一项所述的模型预测控制装置发挥功能,所述信息处理程序的特征在于,其用于使计算机作为所述各部发挥功能。
12.一种记录介质,其特征在于,其记录有权利要求11所述的信息处理程序且计算机可读取。
CN201710092421.5A 2016-09-05 2017-02-21 模型预测控制装置、控制方法及记录介质 Active CN107797446B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-172850 2016-09-05
JP2016172850A JP6859633B2 (ja) 2016-09-05 2016-09-05 モデル予測制御装置、モデル予測制御装置の制御方法、情報処理プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
CN107797446A true CN107797446A (zh) 2018-03-13
CN107797446B CN107797446B (zh) 2021-04-30

Family

ID=58314070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710092421.5A Active CN107797446B (zh) 2016-09-05 2017-02-21 模型预测控制装置、控制方法及记录介质

Country Status (4)

Country Link
US (1) US10394197B2 (zh)
EP (1) EP3291031A1 (zh)
JP (1) JP6859633B2 (zh)
CN (1) CN107797446B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984866A (zh) * 2020-08-20 2020-11-24 北京奇艺世纪科技有限公司 一种数据的排行榜生成方法及装置
CN112534363A (zh) * 2019-02-25 2021-03-19 欧姆龙株式会社 预测控制开发装置、预测控制开发方法及预测控制开发程序
CN113544598A (zh) * 2019-03-20 2021-10-22 欧姆龙株式会社 控制装置、控制方法以及控制程序

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6935775B2 (ja) * 2018-03-15 2021-09-15 トヨタ自動車株式会社 プラント制御装置
CN113439159A (zh) * 2018-12-21 2021-09-24 维斯塔斯风力系统集团公司 基于优化和非优化控制器例程的风力涡轮机控制
CN110187637B (zh) * 2019-06-03 2021-12-10 重庆大学 在控制方向和期望轨迹不确定下的机器人系统控制方法
CN110458423B (zh) * 2019-07-23 2022-12-06 南京国睿信维软件有限公司 基于bom跟踪的产品寿终预算方法
CN113189868B (zh) * 2021-03-26 2022-07-26 哈尔滨工大航博科技有限公司 伺服系统动态误差的精确补偿方法
KR102475484B1 (ko) * 2021-06-10 2022-12-09 주식회사 원프레딕트 회전 기기에서 진동을 예측하는 방법 및 이러한 방법을 수행하는 장치

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101052926A (zh) * 2004-08-27 2007-10-10 阿尔斯托姆科技有限公司 空气污染控制工艺的模型预测控制
JP2009193192A (ja) * 2008-02-13 2009-08-27 Omron Corp モデル予測制御方法およびモデル予測制御装置
CN103984242A (zh) * 2014-05-19 2014-08-13 上海交通大学 基于模型预测控制的分层预测控制系统及其控制方法
CN104047748A (zh) * 2014-06-16 2014-09-17 天津大学 一种基于主动扰动观测的燃油压力控制器及其控制方法
WO2015136809A1 (ja) * 2014-03-12 2015-09-17 株式会社豊田自動織機 周期検出モード制御装置及び方法
CN105071678A (zh) * 2015-07-17 2015-11-18 苏州大学张家港工业技术研究院 一种有限开关状态模型预测控制方法及装置
US20160041536A1 (en) * 2014-08-05 2016-02-11 Mitsubishi Electric Research Laboratories, Inc. Model Predictive Control with Uncertainties

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0538176A (ja) * 1991-07-24 1993-02-12 Mitsubishi Electric Corp 電動機速度制御装置
JP3292951B2 (ja) * 1998-11-13 2002-06-17 住友重機械工業株式会社 位置制御装置
JP2005339241A (ja) * 2004-05-27 2005-12-08 Nissan Motor Co Ltd モデル予測制御装置および車両用推奨操作量生成装置
JP5012075B2 (ja) 2007-02-15 2012-08-29 横河電機株式会社 プロセス制御装置
US8594828B2 (en) * 2008-09-30 2013-11-26 Rockwell Automation Technologies, Inc. System and method for optimizing a paper manufacturing process
JP5714622B2 (ja) * 2013-02-21 2015-05-07 トヨタ自動車株式会社 制御装置
JP2015225635A (ja) * 2014-05-30 2015-12-14 アズビル株式会社 最適化装置および方法
DE112015003733T5 (de) * 2014-08-13 2017-05-18 Fisher-Rosemount Systems, Inc. Modellprädiktive Regelung unter Verwendung drahtloser Prozesssignale
US10372089B2 (en) * 2014-10-10 2019-08-06 Japan Science And Technology Agency Predicted value shaping system, control system, predicted value shaping method, control method, and predicted value shaping program
US10386796B2 (en) * 2014-12-11 2019-08-20 University Of New Brunswick Model predictive controller and method with correction parameter to compensate for time lag
US10281897B2 (en) * 2015-06-02 2019-05-07 Mitsubishi Electric Research Laboratories, Inc. Model predictive control with uncertainties

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101052926A (zh) * 2004-08-27 2007-10-10 阿尔斯托姆科技有限公司 空气污染控制工艺的模型预测控制
JP2009193192A (ja) * 2008-02-13 2009-08-27 Omron Corp モデル予測制御方法およびモデル予測制御装置
WO2015136809A1 (ja) * 2014-03-12 2015-09-17 株式会社豊田自動織機 周期検出モード制御装置及び方法
CN103984242A (zh) * 2014-05-19 2014-08-13 上海交通大学 基于模型预测控制的分层预测控制系统及其控制方法
CN104047748A (zh) * 2014-06-16 2014-09-17 天津大学 一种基于主动扰动观测的燃油压力控制器及其控制方法
US20160041536A1 (en) * 2014-08-05 2016-02-11 Mitsubishi Electric Research Laboratories, Inc. Model Predictive Control with Uncertainties
CN105071678A (zh) * 2015-07-17 2015-11-18 苏州大学张家港工业技术研究院 一种有限开关状态模型预测控制方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JANGSIK PARK: "Performance Comparison of Peak Detection Algorithm for Nano-bio Sensors", 《PROCEEDINGS OPTICAL DIAGNOSTICS OF LIVING GELLS II》 *
RONALD L.ALLEN: "Time-domain Signal Analysis", 《SIGNAL ANALYSIS》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112534363A (zh) * 2019-02-25 2021-03-19 欧姆龙株式会社 预测控制开发装置、预测控制开发方法及预测控制开发程序
CN112534363B (zh) * 2019-02-25 2022-04-12 欧姆龙株式会社 预测控制开发装置、开发方法及计算机可读取的存储介质
CN113544598A (zh) * 2019-03-20 2021-10-22 欧姆龙株式会社 控制装置、控制方法以及控制程序
CN111984866A (zh) * 2020-08-20 2020-11-24 北京奇艺世纪科技有限公司 一种数据的排行榜生成方法及装置
CN111984866B (zh) * 2020-08-20 2023-09-05 北京奇艺世纪科技有限公司 一种数据的排行榜生成方法及装置

Also Published As

Publication number Publication date
JP6859633B2 (ja) 2021-04-14
EP3291031A1 (en) 2018-03-07
CN107797446B (zh) 2021-04-30
JP2018041149A (ja) 2018-03-15
US20180067461A1 (en) 2018-03-08
US10394197B2 (en) 2019-08-27

Similar Documents

Publication Publication Date Title
CN107797446A (zh) 模型预测控制装置、控制方法、信息处理程序及记录介质
US10121107B2 (en) Machine learning device and method for optimizing frequency of tool compensation of machine tool, and machine tool having the machine learning device
CN107797447A (zh) 模型预测控制装置、控制方法、信息处理程序及记录介质
JP6469065B2 (ja) 機械学習装置及び加工時間予測装置
CN106909074B (zh) 控制装置
KR20180103002A (ko) 마무리 가공량 예측 장치 및 기계 학습 장치
TWI471708B (zh) 伺服控制裝置
US20170308052A1 (en) Cell controller for optimizing motion of production system including industrial machines
TWI743986B (zh) 馬達控制裝置及馬達控制方法
CN106557069A (zh) 机械学习装置和方法以及具有该机械学习装置的机床
US11460824B2 (en) Numerical controller
AU2017359003B9 (en) Method for operating a state monitoring system of a vibrating machine and state monitoring system
US10444731B2 (en) Controller and machine learning device
CN108723889B (zh) 加减速控制装置
US11156988B2 (en) Drive apparatus and machine learning apparatus
JP2017102617A (ja) 補正装置、補正装置の制御方法、情報処理プログラム、および記録媒体
KR102073290B1 (ko) 공작기계의 진동 적응제어를 위한 진동신호 처리 방법
CN110161973A (zh) 模型预测控制装置、控制方法、信息处理程序及记录介质
TWI440295B (zh) 馬達控制裝置
CN108931959A (zh) 控制装置及机械学习装置
CN209297151U (zh) 异常因素确定装置
JP6856162B2 (ja) 制御システム
CN105765562B (zh) 用于求取基于数据的函数模型的方法和设备
CN108693829A (zh) 控制装置
US7346402B1 (en) Technique for an integrated and automated model generation and controller tuning process

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