JP6519457B2 - 補正装置、補正装置の制御方法、情報処理プログラム、および記録媒体 - Google Patents

補正装置、補正装置の制御方法、情報処理プログラム、および記録媒体 Download PDF

Info

Publication number
JP6519457B2
JP6519457B2 JP2015234143A JP2015234143A JP6519457B2 JP 6519457 B2 JP6519457 B2 JP 6519457B2 JP 2015234143 A JP2015234143 A JP 2015234143A JP 2015234143 A JP2015234143 A JP 2015234143A JP 6519457 B2 JP6519457 B2 JP 6519457B2
Authority
JP
Japan
Prior art keywords
control
command value
correction device
target
feedback
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
JP2015234143A
Other languages
English (en)
Other versions
JP2017102617A (ja
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
Priority to JP2015234143A priority Critical patent/JP6519457B2/ja
Priority to EP16196884.7A priority patent/EP3173883B1/en
Priority to CN201611009487.5A priority patent/CN106873506B/zh
Priority to US15/343,250 priority patent/US10241490B2/en
Publication of JP2017102617A publication Critical patent/JP2017102617A/ja
Application granted granted Critical
Publication of JP6519457B2 publication Critical patent/JP6519457B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/048Monitoring; Safety
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • 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
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • 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/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1103Special, intelligent I-O processor, also plc can only access via processor
    • 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/34013Servocontroller

Description

本発明は、サーボドライバ等のフィードバック制御系に与える指令値を補正する補正装置等に関する。
目標値(目標軌道)から制御周期ごとに生成された指令値をサーボドライバ等のフィードバック制御系に与えることにより、当該フィードバック制御系が、制御対象であるサーボモータ等の出力である制御量を当該指令値に追従するようにフィードバック制御を行う制御システムが知られている。このような制御システムにおける前記目標値への追従性能を向上させるための方法として、従来、次の2つの方法が知られている。第1に、前記フィードバック制御系が受け付ける指令値の情報と、前記フィードバック制御系の制御ゲインの情報とを利用するフィードフォワード制御を用いて、指令値を補正する方法である。第2に、前記フィードバック制御系と前記制御対象とのトータルの特性モデルの逆関数を利用して、指令値を補正する方法である。
例えば、下掲の特許文献1には、サーボ制御部(フィードバック制御系)に与える指令値について、モータ(制御対象)および機械系(負荷機械)のモデルを用いたフィードフォワード制御により制御する方法が記載されている。
特開2014−2474号公報(2014年1月9日公開)
前記第1の方法は、フィードバック制御系が受け付ける指令値の情報と、前記フィードバック制御系の制御ゲインの情報とを利用するフィードフォワード制御を用いた簡易な構成で指令値を補正するものであり、目標値への追従性能を十分に向上させるものとはいえない。
また、前記第2の方法は、前記フィードバック制御系と前記制御対象とのトータルの特性モデルの精度が良ければ、前記第1の方法よりも高い追従性能を実現することができる。しかしながら、前記第2の方法は前記特性モデルのモデル誤差の影響が追従性能の悪化に直結する。その結果、前記第2の方法は、前記特性モデルの精度が悪い場合、かえって、目標値への追従性能が低くなる場合もある。
したがって、従来用いられてきた前記第1の方法および前記第2の方法は、制御システム、特にフィードバック制御の、目標値への追従性能を十分に向上させることができないという問題がある。
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、制御システム、特にフィードバック制御の、目標値への追従性能の向上を実現することにある。
上記の課題を解決するために、本発明の一態様に係る補正装置は、目標軌道から制御周期ごとに生成された指令値に制御対象の制御量を追従させるフィードバック制御系が受け付ける当該指令値を補正する補正装置であって、前記制御対象の、今回の制御周期における制御量を取得する制御量取得部と、前記制御量取得部が取得した前記今回の制御周期における制御量を用いて、前記フィードバック制御系が受け付ける今回の制御周期の指令値を補正する指令値補正部と、を備えることを特徴としている。
前記の構成によれば、前記補正装置は、前記フィードバック制御系に与える、今回の制御周期における指令値を、前記今回の制御周期における制御量を用いて補正する。したがって、前記補正装置は、前記補正後の指令値を前記フィードバック制御系に与えることができるため、前記補正装置を含む制御システムの、特に前記フィードバック制御系の、前記目標軌道への追従性能の更なる向上を実現することができるという効果を奏する。
好ましくは、前記指令値補正部は、前記フィードバック制御系と前記制御対象とのモデルを用いたモデル予測制御によって、前記今回の制御周期における制御量を用いた前記今回の制御周期の指令値の補正を行う。
前記の構成によれば、前記指令値補正部は、前記今回の制御周期における制御量を入力として利用した、前記フィードバック制御系と前記制御対象とのモデルを用いたモデル予測制御によって、前記今回の制御周期の指令値を補正する。したがって、前記補正装置は、前記モデルを用いてモデル予測制御により前記今回の制御周期の指令値の補正を行うことができる。これにより、前記フィードバック制御系の制御ループと比較して相対的に遅れの大きい前記指令値補正部による制御ループを構成することで生じる、制御安定性への悪影響を軽減することができるという効果を奏する。
好ましくは、前記フィードバック制御系は、サーボモータを制御対象とするサーボドライバである。
前記の構成によれば、前記補正装置は、前記サーボモータに与える、今回の制御周期における指令値を、前記今回の制御周期における制御量を用いて補正する。したがって、前記補正装置は、前記補正後の指令値を前記サーボモータに与えることができるため、前記補正装置を含む制御システムの前記目標軌道への追従性能の更なる向上を実現することができるという効果を奏する。
好ましくは、前記制御量取得部は、さらに、前記目標軌道に対応する前記制御対象の制御量を取得し、前記制御量取得部が取得した前記目標軌道に対応する前記制御対象の制御量を用いて、前記目標軌道と同様の次回の目標軌道から制御周期ごとに生成される指令値の補正量を出力する学習制御部をさらに備える。
前記の構成によれば、前記補正装置は、前記学習制御部により、前記目標軌道に対応する前記制御量を用いて、前記目標軌道と同様の次回の目標軌道から生成される前記指令値の補正量を出力する。したがって、前記補正装置は、指令値補正部および前記学習制御部の各々により補正された指令値を前記フィードバック制御系に与えることができるため、前記補正装置を含む制御システムの前記目標軌道への追従性能の更なる向上を実現することができるという効果を奏する。
好ましくは、前記制御量取得部は、複数のフィードバック制御系の各々の制御対象の、今回の制御周期における制御量を取得し、前記指令値補正部は、前記複数のフィードバック制御系の各々の制御対象の、今回の制御周期における制御量を用いて、前記複数のフィードバック制御系の各々が受け付ける、今回の制御周期の指令値を補正する。
前記の構成によれば、前記補正装置は、前記複数のフィードバック制御系の各々に与える、今回の制御周期における指令値を、前記今回の制御周期における制御量を用いて補正する。したがって、前記補正装置は、前記補正後の指令値を前記複数のフィードバック制御系の各々に与えることができるため、前記補正装置および前記複数のフィードバック制御系の各々を含む制御システムの前記目標軌道への追従性能の更なる向上を実現することができるという効果を奏する。
また、上記の課題を解決するために、本発明の一態様に係る補正装置の制御方法は、目標軌道から制御周期ごとに生成された指令値に制御対象の制御量を追従させるフィードバック制御系が受け付ける当該指令値を補正する補正装置の制御方法であって、前記制御対象の、今回の制御周期における制御量を取得する制御量取得ステップと、前記制御量取得ステップにて取得した前記今回の制御周期における制御量を用いて、前記フィードバック制御系が受け付ける今回の制御周期の指令値を補正する指令値補正ステップと、を含んでいる。
前記の構成によれば、前記補正装置の制御方法は、前記フィードバック制御系に与える、今回の制御周期における指令値を、前記今回の制御周期における制御量を用いて補正する。したがって、前記補正装置の制御方法は、前記補正後の指令値を前記フィードバック制御系に与えることができるため、前記フィードバック制御系の、前記目標軌道への追従性能の更なる向上を実現することができるという効果を奏する。
本発明は、制御システムの、特に前記フィードバック制御系の、目標値への追従性能の向上を実現することができるという効果を奏する。
本発明の実施形態1に係る指令値補正装置の要部構成を示すブロック図である。 図1の指令値補正装置を含む制御システムの概要を示す図である。 図1の指令値補正装置を含む、図2とは別の制御システムの概要を示す図である。 図1の指令値補正装置を含む、図2および図3とは別の制御システムの概要を示す図である。 本発明の実施形態2に係る指令値補正装置の要部構成を示すブロック図である。 図5の指令値補正装置を含む制御システムの概要を示す図である。 モデル予測制御のアルゴリズムの基本概念を説明するための図である。 図5の指令値補正装置を用いて補正する指令値の基となる軌道の一例を示す図である。 図5の指令値補正装置を用いて補正する指令値、フィードフォワード制御を用いて補正した指令値、および補正を行わない指令値の各々についての、直交する2軸で構成したときの、一方の軸の指令値、位置偏差、トルクの軌跡を示す図である。 図9に示した軌跡の拡大図である。
〔実施形態1〕
以下、本発明の実施形態1について、図1から図4に基づいて詳細に説明する。図中同一または相当部分には同一符号を付してその説明は繰返さない。本発明の一態様に係る指令値補正装置1(フィードバック制御系が受け付ける指令値を補正する補正装置)についての理解を容易にするため、先ず、指令値補正装置1を含む制御システム1000の概要を、図2(特に図2の(a))を用いて説明する。
(制御システムの概要)
図2は、指令値補正装置1を含む制御システム1000および制御システム1100の概要を示す図である。図2の(a)は、フィードバック制御部2を含む下位コントローラ200(例えばサーボドライバ)と、下位コントローラ200に指令値を与える上位コントローラ100(例えばプログラマブルコントローラ(PLC、Programmable Logic Controller))と、制御対象3(マシン、例えばサーボモータおよび当該サーボモータによって駆動される機械要素)と、を含む制御システム1000の概要を示す図である。制御システム1000において、指令値補正装置1は、上位コントローラ100に含まれている。
上位コントローラ100は、制御対象3の駆動制御(例えば、「軌道追従制御」および「加工機における軌道制御」など)のための指令値(制御信号)を下位コントローラ200に送信し、下位コントローラ200の制御を行う。上位コントローラ100は、目標軌道生成部4と、指令値補正装置1と、を含んでいる。目標軌道生成部4は、外部(例えばユーザ)から目標軌道データ(目標軌道)を受け付け、受け付けた目標軌道データから制御周期ごとに基準制御指令値を生成する。指令値補正装置1は、目標軌道生成部4が生成した基準制御指令値を、制御対象3の出力である制御量をフィードバック情報として用いて補正し、補正後の指令値(補正後指令値)を出力する。すなわち、上位コントローラ100は、目標軌道データ(目標軌道)から制御周期ごとに生成された基準指令値を指令値補正装置1が制御対象3の制御量を用いて補正した値である補正後指令値を、下位コントローラ200に送信する。
下位コントローラ200は、上位コントローラ100から指令値(制御信号)、特に指令値補正装置1が制御対象3の制御量を用いて補正した補正後指令値を受信し、受信した補正後指令値に基づいて、制御対象3を制御する。例えば、制御対象3がサーボモータである場合、下位コントローラ200は、前記補正後指令値に基づいて、制御対象3であるサーボモータが所定の回転速度で所定量回転するように、制御対象3であるサーボモータを駆動させる。下位コントローラ200は、制御対象3についてフィードバック制御を行うフィードバック制御部2を含んでいる。
フィードバック制御部2は、上位コントローラ100から取得する指令値(特に、指令値補正装置1によって補正された補正後の指令値)に制御対象3の出力である制御量が追従するように、制御対象3に与える操作量を制御する。フィードバック制御部2は、制御対象3の制御量をフィードバック情報として取得し、取得したフィードバック情報(制御対象3の制御量)と、前記指令値との差(偏差)に基づいて前記操作量を制御する。
制御対象3は、下位コントローラ200から与えられる操作量に従って駆動する。制御対象3の出力である制御量は、フィードバック情報として、上位コントローラ100(特に指令値補正装置1)および下位コントローラ200(特にフィードバック制御部2)に与えられる。
下位コントローラ200は、上位コントローラ100および制御対象3の各々と通信可能に接続されており、その接続方式は、任意の有線接続方式または無線接続方式である。例えば、上位コントローラ100と下位コントローラ200とは、任意の通信ケーブルによって接続されており、代表的には、EtherIP、EtherCAT(登録商標)により通信接続されていてもよい。また、下位コントローラ200と制御対象3(例えばサーボモータ)とは、例えば、専用ケーブルによって接続されていてもよい。
指令値補正装置1は、下位コントローラ200(特にフィードバック制御部2)が利用しているフィードバック情報(制御対象3の制御量)を用いて、下位コントローラ200(特にフィードバック制御部2)に与える指令値を補正する。指令値補正装置1は、フィードバック制御部2(フィードバック制御系)が利用しているフィードバック情報を用いて、フィードバック制御部2に与える指令値を補正することにより、目標軌道への高精度の追従性能を実現する。
ここで、従来、下位コントローラ200(特にフィードバック制御部2)に与える指令値を補正する方法としては、次の2つの方法が知られている。第1に、フィードバック制御部2に与える(フィードバック制御部2が受け付ける)指令値の情報と、フィードバック制御部2(下位フィードバック制御系)の制御ゲインの情報とを利用するフィードフォワード制御を用いて、指令値を補正する方法である。第2に、フィードバック制御部2(下位フィードバック制御系)と制御対象3(マシン、例えばサーボモータおよび当該サーボモータによって駆動される機械要素)とのトータルの特性モデルの逆関数を利用して、指令値を補正する方法である。
前記第2の方法は、フィードバック制御部2(下位フィードバック制御系)と制御対象3(マシン)とのトータルの特性モデルの精度が良ければ、前記第1の方法よりも高い追従性能を実現することができる。しかしながら、前記第2の方法は、前記特性モデルのモデル誤差の影響が追従性能の悪化に直結する。すなわち、前記第2の方法は、前記特性モデルの精度が悪い場合、かえって、追従性能が低くなる場合もある。
これに対して、フィードバック制御部2(下位フィードバック制御系)が利用するフィードバック情報を用いてフィードバック制御部2(下位フィードバック制御系)に与える(フィードバック制御部2が受け付ける)指令値を補正する指令値補正装置1は、前記第1の方法および前記第2の方法に比べて、以下の特異な効果を奏する。すなわち、指令値補正装置1は、フィードバック制御部2(下位フィードバック制御系)と制御対象3(マシン)とのトータルの特性モデルを利用する場合であっても、当該特性モデルのモデル誤差の影響を吸収できる効果を有する。したがって、指令値補正装置1は、モデル誤差の影響を緩和して従来の方法と比較して高い追従性能を実現することができる。
これまで図2の(a)を用いて説明してきた制御システム1000において、制御対象3の出力である制御量は、制御対象3に付属の制御量検出装置(例えばモータエンコーダ)によって検出され、当該制御量検出装置から、フィードバック情報として指令値補正装置1およびフィードバック制御部2に与えられる。ただし、制御対象3の制御量は、例えば外部スケールによって検出され、当該外部スケールから、フィードバック情報として指令値補正装置1およびフィードバック制御部2に与えられてもよい。また、フィードバック制御部2は付属制御量検出装置(例えばモータエンコーダ)から取得した制御対象3の制御量をフィードバック情報として使用し、指令値補正装置1は外部スケールから取得した制御対象3の制御量をフィードバック情報として使用するとしてもよい。すなわち、指令値補正装置1およびフィードバック制御部2の各々がフィードバック情報として利用する制御対象3の制御量の検出装置、取得元として、制御対象3に付属の制御量検出装置と外部スケールとを組み合わせてもよい。
同様に、図2の(b)、図3、および図4を用いて後述する制御システム1100、1200、1300、および1400においても、指令値補正装置1およびフィードバック制御部2がフィードバック情報として利用する制御対象3の制御量は、付属制御量検出装置(例えばモータエンコーダ)から取得する情報であっても、または外部スケールから取得する情報であってもよい。また、フィードバック制御部2は付属制御量検出装置から取得した制御対象3の制御量をフィードバック情報として使用し、指令値補正装置1は外部スケールから取得した制御対象3の制御量をフィードバック情報として使用するとしてもよい。
(指令値補正装置の概要)
図2の(a)を用いてこれまで説明してきた制御システム1000に含まれる指令値補正装置1は、目標軌道データから制御周期ごとに生成する基準指令値(制御指令値)に対して、目標軌道データへの追従性能を向上させるために、フィードバック情報(制御対象3の制御量)を利用して補正した指令値(補正後指令値)を、フィードバック制御部2に与える。指令値補正装置1の理解を容易にするために、指令値補正装置1の概要を説明しておけば、以下の通りである。すなわち、指令値補正装置1(補正装置)は、目標軌道から制御周期ごとに生成された指令値に制御対象3の制御量を追従させるフィードバック制御部2(フィードバック制御系)が受け付ける当該指令値を補正する補正装置であって、制御対象3の、今回の制御周期における制御量を取得する制御量取得部12と、制御量取得部12が取得した前記今回の制御周期における制御量を用いて、フィードバック制御部2が受け付ける今回の制御周期の指令値を補正する指令値補正部13と、を備えている。
前記の構成によれば、指令値補正装置1は、フィードバック制御部2に与える、今回の制御周期における指令値を、前記今回の制御周期における制御量を用いて補正する。したがって、指令値補正装置1は、前記補正後の指令値(補正後指令値)をフィードバック制御部2に与えることができるため、指令値補正装置1を含む制御システム(例えば、制御システム1000、1100、1200、1300、1400、および1500)の、特にフィードバック制御部2の、前記目標軌道への追従性能の更なる向上を実現することができるという効果を奏する。
(指令値補正装置の詳細)
以上に概要を説明した指令値補正装置1について、次に、図1を用いて、その詳細を説明していく。
図1は、本発明の実施形態1に係る指令値補正装置1の要部構成を示すブロック図である。図1に示すように、指令値補正装置1は、基準指令値取得部11と、制御量取得部12と、指令値補正部13と、補正後指令値出力部14と、を備えている。
基準指令値取得部11は、目標軌道データ(目標軌道)から目標軌道生成部4が制御周期ごとに生成した基準制御指令値を取得する。制御量取得部12は、制御対象3の出力である制御量を、フィードバック情報として、取得する。指令値補正部13は、基準指令値取得部11が目標軌道生成部4から取得した基準制御指令値を、制御量取得部12の取得した制御量をフィードバック情報として用いて補正する。補正後指令値出力部14は、指令値補正部13によって補正された指令値(補正後指令値)を、下位コントローラ200(フィードバック制御部2)に出力(送信)する。
ここで、指令値補正装置1についての理解を容易にするため、以下の事例を用いて、指令値補正装置1が実行する指令値の補正処理を説明する。なお、以下の事例はあくまでも理解を容易にするための一例にすぎない。指令値補正装置1について、1つの目標軌道から複数の指令値が生成されていることは必須ではなく、また、1つの目標軌道から生成される複数の指令値の各々の制御周期が同一であることも必須ではない。例えば、1つの目標軌道から、各々の制御周期が4ミリ秒〜8ミリ秒である、複数の指令値が生成されてもよい。
(指令値の補正処理の例)
例えば、1サイクルが1秒である目標軌道から生成された、1制御周期が5ミリ秒である指令値(基準指令値)を基準指令値取得部11が取得するものとする。すなわち、基準指令値取得部11は、連続する200個の指令値を取得することになる。
指令値補正装置1の補正後指令値出力部14が、連続する200個の指令値のうちn番目(例えば100番目)の指令値(つまり、第n番目制御周期の指令値)を下位コントローラ200(フィードバック制御部2)に出力すると、以下の処理が実行される。すなわち、下位コントローラ200は、第n番目制御周期の指令値に従って制御対象3の駆動を制御する。
ここで、第n番目の補正後指令値によって制御された制御対象の出力である制御量は、第n+1番目の制御量として、第n+1番目の指令値の補正に使用される。つまり、第n番目の基準指令値と第n番目の制御量とから第n番目の補正後指令値を計算して出力するが、このときの第n番目の制御量は、それ以前の(つまり第n−1番目以前の)補正後指令値によって駆動された制御対象3(マシン)の状態から決定される。
つまり、第n−1番目以前の制御周期の補正後指令値に従って制御された制御対象3の出力である「第n番目制御周期の制御量」を、指令値補正装置1の制御量取得部12(およびフィードバック制御部2)は、「第n番目制御周期のフィードバック情報」として取得する。以上のように、指令値補正装置1は、1制御周期毎に、制御対象3の制御量を取得して、取得した制御量に基づいて基準指令値を補正し、フィードバック制御部2(下位コントローラ200)に出力する。
(指令値補正装置を含む制御システムの例示)
これまでに説明してきた指令値補正装置1は、図2の(a)に例示したように、フィードバック制御部2を含む下位コントローラ200とは別の、上位コントローラ100に含まれるものであった。しかしながら、指令値補正装置1を含む制御システムが、図2の(a)に例示した制御システム1000のような構成であることは必須ではない。以下に、指令値補正装置1を含む制御システムの例として、制御システム1000以外のものを、図2の(b)、図3、および図4を用いて説明する。指令値補正装置1を含む制御システムにおいては、指令値補正装置1が、フィードバック制御部2よりも上位にあり、フィードバック制御部2より駆動を制御される制御対象3の制御量をフィードバック情報として取得できればよい。
図2の(b)は、指令値補正装置1と、フィードバック制御部2と、目標軌道生成部4と、を含むコントローラ110が、制御対象3の駆動を制御する制御システム1100の概要を示す図である。制御システム1100における、指令値補正装置1と、フィードバック制御部2と、目標軌道生成部4と、の各々は、図2の(a)の制御システム1000における、指令値補正装置1と、フィードバック制御部2と、目標軌道生成部4と、の各々と同様である。制御システム1100は、1つのコントローラ(つまり、コントローラ110)の内部ですべての制御処理を(つまり、指令値補正装置1によるフィードバック情報を用いた補正値の補正と、フィードバック制御部2によるフィードバック処理と、を)実行する構成である。
図3は、指令値補正装置1を含む制御システム1200および制御システム1300の概要を示す図である。図3の(a)は、フィードバック制御系である位置−速度制御部21を含む下位コントローラであるサーボドライバ220と、サーボドライバ220に指令値を与える上位コントローラであるコントローラ120(例えばプログラマブルコントローラ(PLC、Programmable Logic Controller))と、制御対象3(マシン、例えば、サーボモータおよび当該サーボモータによって駆動される機械要素)と、を含む制御システム1200の概要を示す図である。
コントローラ120は、上位コントローラ100と同様に、制御対象3の駆動制御のための指令値(指令位置)をサーボドライバ220に送信し、サーボドライバ220の制御を行う。コントローラ120は、目標軌道生成部4と、指令値補正装置1と、を含んでいる。コントローラ120における目標軌道生成部4と、指令値補正装置1と、の各々は、上位コントローラ100における指令値補正装置1と、目標軌道生成部4と、の各々と同様である。すなわち、指令値補正装置1は、目標軌道生成部4が生成した基準制御指令値である指令位置(基準指令位置)を、制御対象3の出力である制御量(検出位置、すなわちフィードバック位置)をフィードバック情報として用いて補正し、補正後の指令値(補正後指令位置)を出力する。
サーボドライバ220は、コントローラ120から指令値(指令位置)、特に指令値補正装置1が制御対象3の制御量を用いて補正した補正後指令位置を受信し、受信した補正後指令位置に基づいて、制御対象3を制御する。サーボドライバ220は、制御対象3についてフィードバック制御を行う位置−速度制御部21を含んでいる。
位置−速度制御部21はP−PI制御を行うフィードバック制御系であり、コントローラ120(指令値補正装置1)から取得する補正後の指令値(補正後指令位置)に制御対象3の出力である制御量である検出位置(フィードバック位置)が追従するように、制御対象3に与える操作量を制御する。位置−速度制御部21は、制御対象3の検出位置および検出速度をフィードバック情報(フィードバック位置およびフィードバック速度)として取得する。位置−速度制御部21は、取得したフィードバック位置およびフィードバック速度(制御対象3の検出位置および検出速度)と、前記補正後指令位置との差(偏差)に基づいて前記操作量を制御する。
以上に説明したように、制御システム1200において、指令値補正装置1によって補正された補正後の指令値(補正後指令位置)を受け付けるフィードバック制御系は、制御対象3(例えば、サーボモータおよび当該サーボモータによって駆動される機械要素)を制御対象とするサーボドライバ220である。
前記の構成によれば、指令値補正装置1(補正装置)は、サーボドライバ220に与える、今回の制御周期における指令値を、前記今回の制御周期における制御量を用いて補正する。したがって、指令値補正装置1は、前記補正後の指令値をサーボドライバ220に与えることができるため、指令値補正装置1を含む制御システム1200の前記目標軌道への追従性能の更なる向上を実現することができるという効果を奏する。
図3の(b)は、フィードバック制御系である位置−速度制御部21を含むサーボドライバ230と、サーボドライバ230に指令値を与えるコントローラ130(例えばプログラマブルコントローラ(PLC、Programmable Logic Controller))と、制御対象3(マシン、例えば、サーボモータおよび当該サーボモータによって駆動される機械要素)と、を含む制御システム1300の概要を示す図である。制御システム1300のサーボドライバ230は、制御システム1200のサーボドライバ220と同様であるため、詳細は略記する。
コントローラ130は、制御システム1200のコントローラ120の構成に加えてさらに、学習制御部5を備えている。学習制御部5以外のコントローラ130の備える構成は、コントローラ120の備える構成と同様であるから、詳細は略記する。
学習制御部5は、前回制御結果(フィードバック情報)に基づいて算出される偏差データから、次回制御用に、指令値に対する補正量を計算する。
なお、一般的には、前記偏差データは、基準指令値と、フィードバック情報である制御量との差として、コントローラ130にて計算する。つまり、コントローラ130は、前記偏差データを直接的にフィードバック情報として取得する訳ではない。
また、学習制御部5は、所定の回数の学習を実行したら、当該所定の回数で学習を止め、以降は、当該所定の回数までに求めた補正量を使用する。つまり、図3の(b)に示すように、学習制御部5の前にはスイッチが設けられ、学習制御部5は、前記所定の回数以降は、前回制御結果(フィードバック情報)を取得しない。
ここで、学習制御部5は、(フィードバック情報)を使用するが、次回制御のために使用するものであり、リアルタイムには使用しない。
例えば、1サイクルが1秒である目標軌道から生成された、1制御周期が5ミリ秒である指令値(基準指令値)を基準指令値取得部11が取得するものとする。すなわち、基準指令値取得部11は、連続する200個の指令値を取得することになる。
指令値補正装置1が、前記連続する200個の指令値のセット(1サイクルが1秒である目標軌道)を下位コントローラ200(フィードバック制御部2)に出力すると、以下の処理が実行される。すなわち、下位コントローラ200は、前記連続する200個の指令値のセットに従って制御対象3の駆動を制御する。そして、前記連続する200個の指令値のセットに従って制御された制御対象3の出力である「1サイクル分の制御量(つまり、前記目標軌道に対応する制御対象3の制御量)」を、指令値補正装置1の制御量取得部12は取得する。
学習制御部5は、制御量取得部12の取得した前記目標軌道に対応する「1サイクル分の(つまり、連続する200個の指令値のセットに対応する)制御量」を用いて、前記目標軌道と同一内容の次回の目標軌道から生成される指令値のセットを補正する。つまり、学習制御部5は、「今回の目標軌道」全体に対応する制御対象3の制御量全体(1サイクル分の制御量)を用いて、「今回の目標軌道」と同一内容の次回の目標軌道について生成される指令値のセット(1サイクル分の、つまり連続する200個の、指令値のセット)を補正する。
例えば、学習制御部5は、200個の補正量の計算を、制御開始前に一括で実行する。ただし、上位コントローラであるコントローラ130が、前記200個のデータを1セットとして、下位コントローラ200へ一括転送することは必須ではない。また、前記200個の制御量を一括して上位コントローラであるコントローラ130が取得することも必須ではない。一般的には、学習制御部5を含まない場合と同様に、上位コントローラであるコントローラ130は、コントローラ130の制御周期毎に、補正後指令値を出力し(つまり、予め計算しておいた前記200個の補正量から、1個ずつ補正量を取り出して、基準指令値に加算して出力し)、かつ、制御量を取得する(つまり、次回用の補正量計算のために、前記200個を記憶する)。
なお、図3の(b)に示す学習制御部5は、例えば、指令値の補正自体は実行せずに、指令値の補正に用いる補正量の算出を行うものとする。学習制御部5によって算出された補正量は、補正量の加算器など(不図示)によって、指令値補正装置1による指令値の補正に用いられる。
すなわち、制御システム1300のコントローラ130(指令値補正装置1)において、制御量取得部12は、さらに、前記目標軌道に対応する制御対象3の制御量を取得し、コントローラ130(指令値補正装置1)は、制御量取得部12が取得した前記目標軌道に対応する制御対象3の制御量を用いて、前記目標軌道と同様の次回の目標軌道から制御周期ごとに生成される指令値の補正量を出力する学習制御部5をさらに備えている。
前記の構成によれば、コントローラ130(指令値補正装置1)は、学習制御部5により、前記目標軌道に対応する前記制御量を用いて、前記目標軌道と同様の次回の目標軌道から生成される前記指令値の補正量を出力する。したがって、コントローラ130(指令値補正装置1)は、指令値補正部13および学習制御部5の各々により補正された指令値をフィードバック制御部2に与えることができるため、指令値補正装置1を含む制御システム1300の前記目標軌道への追従性能の更なる向上を実現することができるという効果を奏する。
図4は、指令値補正装置1を含む制御システム1400の概要を示す図である。制御システム1400は、制御システム1000の上位コントローラ100と同様の構成である上位コントローラ140と、複数の下位コントローラ200(1)〜200(n)と、複数の下位コントローラ200(1)〜200(n)の各々により駆動を制御される複数の制御対象3(1)〜3(n)と、を含んでいる。なお、図4は、「n=3」である場合の例を示している。複数の下位コントローラ200(1)〜200(n)の各々は、制御システム1000の下位コントローラ200と同様の構成であり、複数の制御対象3(1)〜3(n)の各々は、制御システム1000の制御対象3と同様の構成であるため、詳細は略記する。
図4に例示する制御システム1400において、上位コントローラ140の制御量取得部12は、複数の下位コントローラ200(1)〜200(n)(つまり、複数のフィードバック制御系)の各々の制御対象である制御対象3(1)〜3(n)の、今回の制御周期における制御量を取得し、指令値補正部13は、制御対象3(1)〜3(n)の各々の、今回の制御周期における制御量を用いて、複数の下位コントローラ200(1)〜200(n)の各々が受け付ける、今回の制御周期の指令値を補正する。
前記の構成によれば、指令値補正装置1は、複数の下位コントローラ200(1)〜200(n)の各々に与える、今回の制御周期における指令値を、制御対象3(1)〜3(n)の各々の、前記今回の制御周期における制御量を用いて補正する。したがって、指令値補正装置1は、前記補正後の指令値を複数の下位コントローラ200(1)〜200(n)の各々に与えることができるため、指令値補正装置1および複数の下位コントローラ200(1)〜200(n)の各々を含む制御システム1400の前記目標軌道への追従性能の更なる向上を実現することができるという効果を奏する。
なお、制御対象3(k)の制御量を、k番目のループの指令値の補正にのみ使用することは必須ではない。例えば、複数の制御ループの間で干渉が存在するような場合(例えば、k番目のループとk+1番目のループとの間で干渉が存在する場合)、指令値補正装置1は、制御対象3(k)の制御量を、他のループの(例えば、k+1番目のループの)補正にも使用することで、補正の効果をさらに向上させることが期待できる。
(本発明の一態様に係る指令値補正装置が実行する処理)
以上に構成の詳細等を説明してきた指令値補正装置1について、指令値補正装置1が実行する処理の流れは以下のように整理することができる。すなわち、指令値補正装置1(補正装置)の制御方法は、目標軌道から制御周期ごとに生成された指令値に制御対象3の制御量を追従させるフィードバック制御系(フィードバック制御部2、位置−速度制御部21)が受け付ける当該指令値を補正する補正装置の制御方法であって、制御対象3の、今回の制御周期における制御量を取得する制御量取得ステップと、前記制御量取得ステップにて取得した前記今回の制御周期における制御量を用いて、前記フィードバック制御系が受け付ける今回の制御周期の指令値を補正する指令値補正ステップと、を含んでいる。
前記の構成によれば、指令値補正装置1の制御方法は、前記フィードバック制御系に与える、今回の制御周期における指令値を、前記今回の制御周期における制御量を用いて補正する。したがって、指令値補正装置1の制御方法は、前記補正後の指令値を前記フィードバック制御系に与えることができるため、前記フィードバック制御系の、前記目標軌道への追従性能の更なる向上を実現することができるという効果を奏する。
(指令値補正装置が実行する処理についての補足)
一般に、上位コントローラ(例えば、上位コントローラ100、コントローラ120、コントローラ130、および、上位コントローラ140。特に、指令値補正装置1)の制御周期は、下位コントローラ(例えば、下位コントローラ200、サーボドライバ220、サーボドライバ230、および、複数の下位コントローラ200(1)〜200(n))の制御周期より長い。また、前記上位コントローラの制御ループ内に通信などが追加になるために、前記上位コントローラの制御動作は、前記下位コントローラの制御動作に比べて相対的に遅れる。
具体的には、指令値補正装置1の制御周期(指令値の演算周期の時間間隔を示すもの)は、前記下位コントローラ(つまり、フィードバック制御部2および位置−速度制御部21)の制御周期に比べて長い。指令値補正装置1の制御動作は、前記下位コントローラの制御動作に比べて相対的に遅れる。
したがって、指令値補正装置1による制御方法(指令値の補正方法)は、モデル予測制御のような予測機構を備える制御方式が望ましい。後述する本発明の実施形態2においては、本発明の一態様に係る指令値補正装置による制御方法(指令値の補正方法)として、モデル予測制御のような予測機構を備える制御方式を説明する。
ただし、指令値補正装置1による制御方法は、これに限定されるものではない。指令値補正装置1による制御方法は、例えば、状態フィードバック制御、内部モデル制御など、他の制御方式でもよい。
なお、指令値補正装置1による制御方法について、(モデル予測制御などの)モデルベース制御を利用して、下位のフィードバック制御の指令値を補正する方法は、モデルベース制御を利用して操作量を直接計算する方法に比べて、以下の点において優位である。
すなわち、モデルベースの制御は、PID制御などと比較すると演算負荷が大きいため、制御周期の高速化とはトレードオフの関係がある。ここで、制御周期が低速になれば、外乱への対応が遅れるなどのデメリットが生じる。
一方、従来型のシンプルな制御方式(PID制御など)で高速制御周期のフィードバック制御ループを、例えば下位の構成として、維持したまま、低速制御周期のモデルベースのフィードバック制御を上位に配して、下位のフィードバック制御ループの受け付ける指令値の補正に利用することにより、制御精度を確保する、という組み合わせは有効である。具体的には、従来型の、制御周期が高速でシンプルな制御方式のフィードバック制御系であるフィードバック制御部2および位置−速度制御部21の制御ループを維持したまま、低速制御周期のモデルベースのフィードバック制御を行う指令値補正装置1を、フィードバック制御部2および位置−速度制御部21の上位に配する。指令値補正装置1は、フィードバック制御部2および位置−速度制御部21の受け付ける指令値を、低速制御周期のモデルベースのフィードバック制御により補正することにより、目標軌道への追従性を向上させ、制御精度を確保することができる。
〔実施形態2〕
本発明の他の実施形態について、図5から図10に基づいて説明すれば、以下のとおりである。なお記載の簡潔性を担保するため、実施形態1とは異なる構成(処理の手順及び処理の内容)のみについて説明する。すなわち、実施形態1で記載された構成等は、本実施形態にもすべて含まれ得る。また、実施形態1で記載した用語の定義も同じである。
本発明の一態様に係る指令値補正装置7(フィードバック制御系が受け付ける指令値を補正する補正装置)についての理解を容易にするため、先ず、指令値補正装置7を含む制御システム1500の概要を、図6を用いて説明する。
図6は、指令値補正装置7を含む制御システム1500の概要を示す図である。図6に例示した制御システム1500は、図3の(a)に例示した制御システム1200とほぼ同様である。すなわち、制御システム1500は、フィードバック制御系である位置−速度制御部21を含む下位コントローラであるサーボドライバ250と、サーボドライバ250に指令値を与える上位コントローラであるコントローラ150(例えばプログラマブルコントローラ(PLC、Programmable Logic Controller))と、制御対象3(マシン、例えば、サーボモータおよび当該サーボモータによって駆動される機械要素)と、を含んでいる。制御システム1500のサーボドライバ250および制御対象3の各々は、制御システム1200のサーボドライバ220および制御対象3の各々と同様であるため、詳細は略記する。
コントローラ150は、制御システム1200のコントローラ120と同様に目標軌道生成部4を備えており、また、コントローラ120の指令値補正装置1に代えて、指令値補正装置7を含んでいる。
(実施形態2に係る指令値補正装置の概要)
ここで、本発明の実施形態2に係る指令値補正装置7(補正装置)の概要を予め説明しておけば以下の通りである。すなわち、指令値補正装置7の指令値補正部13は、フィードバック制御部2と制御対象3とのモデルを用いたモデル予測制御によって、今回の制御周期における制御量を用いて今回の制御周期の指令値の補正を行う。
前記の構成によれば、指令値補正装置7の指令値補正部13は、フィードバック制御系であるサーボドライバ250と制御対象3とのモデルを用いたモデル予測制御と、前記今回の制御周期における制御量とを利用して、前記今回の制御周期の指令値を補正する。したがって、指令値補正装置7は、前記モデルを用いてモデル予測制御により前記今回の制御周期の指令値の補正を行うことができる。その結果、上位コントローラに配するフィードバック制御ループに起因して生じる遅れの影響を、モデル予測制御により抑制して、追従性能を向上できるという効果を奏する。
指令値補正部13は、前記今回の制御周期における制御量を入力として利用した、前記フィードバック制御系(サーボドライバ250)と制御対象3とのモデルを用いたモデル予測制御によって、前記今回の制御周期の指令値を補正する。したがって、指令値補正装置7(補正装置)は、前記モデルを用いてモデル予測制御により前記今回の制御周期の指令値の補正を行うことができる。これにより、前記フィードバック制御系の制御ループと比較して相対的に遅れの大きい指令値補正部13による制御ループを構成することで生じる、制御安定性への悪影響を軽減することができるという効果を奏する。
(指令値補正装置の詳細)
以上に概要を説明した指令値補正装置7について、次に、図5を用いて、その詳細を説明していく。
図5は、指令値補正装置7の要部構成を示すブロック図である。図5に示すように、指令値補正装置7は、指令値補正装置1と同様に、基準指令値取得部11と、制御量取得部12と、指令値補正部13と、補正後指令値出力部14と、を備え、さらに、指令値補正部13はモデル予測制御部131を含んでいる。モデル予測制御部131は、モデル予測制御(MPC:Model Predictive Control)によって、制御対象3の、今回の制御周期における制御量をフィードバック情報として用いて、フィードバック制御部2が受け付ける今回の制御周期の指令値を補正(制御)する。
ここで、MPCは、制御対象の内部モデルに基づいて、未来の出力の変化、つまり制御対象3の出力(=制御量)の変化を予測し、出力と目標値ができるだけ近づくように入力を決定するものである。すなわち、MPCは、制御対象の挙動をモデル化した内部モデルを用いて未来の状態を予測し、できる限り目標値に近づけるように操作量を決定するものである。以下、モデル予測制御部131の処理の詳細を、図7〜図10を用いて説明する。
(モデル予測制御の詳細)
図7は、モデル予測制御のアルゴリズムの基本概念を説明するための図である。
モデル予測制御部131は、サーボドライバ250(下位フィードバック制御部)と制御対象3(マシン、例えばサーボモータおよび当該サーボモータによって駆動される機械要素)とのトータルの特性モデル(内部)を利用する。ここで、モデル予測制御部131の利用する「サーボドライバ250と制御対象3とのトータルの特性」は、以下に示す離散時間伝達関数で表すことができる。
Figure 0006519457
なお、上記モデルを、パルス伝達関数とも呼ぶ。
モデル予測制御部131は、図7に示すように、現時刻nにおいて制御量PV(n)を測定し、現時刻の制御量PV(n)を始点として設定値SPに徐々に近づく破線で示す参照軌道を計算する。ここでは、簡単のために、制御ホライズンHuは1とする。
次に内部モデルを用いて、予測ホライズンH後の制御量PVの予測値PV(n+H)が参照軌道に一致するように、現在の時刻nの操作量MV(n)を決定する。
得られた操作量MV(n)を実際に下位コントローラのフィードバック制御系(本実施形態ではサーボドライバ250)に加え、次の制御周期(サンプリング時刻)n+1まではその値を保持する。
時刻n+1において制御量PV(n+1)が測定されれば、改めて時刻t+1を現時刻とみなし、未来の予測値と参照軌道とが、予測ホライズンH後に一致するように操作量を決定し、次の制御周期(サンプリング時刻)までその操作量を下位コントローラのフィードバック制御系(本実施形態ではサーボドライバ250)に加える。以下、この手順を繰り返す。
次に、本実施の形態におけるモデル予測制御部131における予測制御について、詳細に説明する。
モデル予測制御部131は、上述のように内部モデルを用いて予測制御を行なうものであり、本実施の形態では、内部モデルは、制御周期(サンプリング時間)で離散化した次式で表されるN次のARXモデルとしている。なお、制御対象のモデルがARXモデルであることは必須ではなく、制御対象のモデルとして、ステップ応答モデル、およびその他のモデルを用いてもよい。
Figure 0006519457
なお、むだ時間を上記モデルに含ませることもできるが、本実施の形態においては、むだ時間は、内部モデルから切り離して、後述のように別に扱うようにしている。
このARXモデルの決定は、例えば、下位コントローラのフィードバック制御系(本実施形態ではサーボドライバ250)および制御対象3に対する入出力の時系列データ、すなわち、操作量MVおよび制御量PVの時系列データを予め計測し、最小二乗法等を用いて行われる。
本実施の形態においては、図7の破線で示される参照軌道として、現時刻nでの偏差を、時定数Trで指数関数的に0に近づける軌道を用いている。
すなわち、予測ホライズンH後の参照軌道上の目標値R(n+H)は、次式で求めることができる。
R(n+H)=SP(n+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)は、
ΔP(n+H)=SP(n+H)−λ*{SP(n)−PV(n)}−PV(n)
=(1−λ){SP(n)−PV(n)}+SP(n+H)−SP(n)
となる。
次に、操作量MVの計算について説明する。
線形の制御対象の場合、モデル出力の挙動は、次の2つの加算により求めることができる。
(1)自由応答
現在の状態を初期値として、未来の操作量MVとして0が継続する場合の、予測ホライズンH後のモデル出力Yf(n+H)を、上述のARXモデルの式から繰り返し計算により求める。
Figure 0006519457
(2)ステップ応答
初期状態を0として、MV=1(100%)のステップ応答における、時刻Hのモデル出力S(H)を求める。
Figure 0006519457
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を求めればよい。
ΔM(n+H)=ΔP(n+H)より、
Yf(n+H)+MV(n)*S(H)−Y(n)=(1−λ){SP(n)−PV(n)}+SP(n+H)−SP(n)
MV(n)について解くと、
MV(n)=[(1−λ){SP(n)−PV(n)}+SP(n+H)−SP(n)−Yf(n+H)+Y(n)]/S(H)
本実施の形態においては、上述のように、むだ時間を内部モデルに含めていないので、前項のMVの算出式を、むだ時間dを考慮したものに修正する必要がある。
そこで、本実施の形態においては、実際のプロセスデータについて、時刻nの代わりに時刻n+dのデータを使用するようにしている。
MV(n)=[(1−λ){SP(n+d)−PV(n+d)}+SP(n+H+d)−SP(n+d)−Yf(n+H)+Y(n)]/S(H)
ここで、PV(n+d)の予測値が必要となり、合理的な近似として通常は次の計算式で求める。
PV(n+d)=PV(n)+Y(n)−Y(n−d)
なお、時刻nの操作量MV(n)を計算後、次回計算のために、次のモデル出力Y(n+1)を求めておく。
Figure 0006519457
ただし、MV(n)は操作量リミット処理後の値を使用する。
なお、上述までに示した制御アルゴリズムは、モデル予測制御の理解を容易にし、説明を簡易にするため、目標値(=指令値)の変化がステップ状の場合のみを想定したものとしている。図8〜図10を用いて後述する追従性能の比較では、指令値のランプ状変化も含んでおり、モデル予測制御部131がランプ状変化にも対応できる制御アルゴリズムを用いた場合の制御結果である。また、追従性を高めるため、モデル予測制御部131は参照軌道は使用していない(参照軌道時定数Tr=0の意味)。
(モデル予測制御の一例)
以上に詳細を説明したモデル予測制御を実行するモデル予測制御部131の効果を、図8〜図10を用いて説明する。なお、図8〜図10に示す例においては、モデル予測制御部131の利用するモデル(サーボドライバ250と制御対象3とのトータルの特性を示すモデル)として、4次の伝達関数モデルを使用した。一般に、モデル予測制御部131による指令値の補正の効果(追従性能の向上率)は、モデル予測制御部131の利用するモデルのモデル精度に依存し、一般にある程度の次数まではモデル次数が高い方が精度が上がる。
図8は、指令値補正装置7を用いて補正する指令値の基となる目標軌道の一例を示す図である。すなわち、以下では、XYテーブルで図8に示すような、ひし形軌道(目標軌道)への追従制御を行う場合のX軸制御について、指令値補正装置7と従来技術(フィードフォワード制御を用いて指令値を補正する場合、および指令値の補正を行わない場合)との追従性能を比較する。図8に示す目標軌道は、座標(0,0)から時計回りに1周する軌道であって、直線と円弧との組み合わせからなる軌道である。
図9は、指令値補正装置7を用いて補正する指令値、フィードフォワード制御を用いて補正した指令値、および補正を行わない指令値の各々についての、位置偏差およびトルクの軌跡を示す図である。図9において、実線は指令位置を示しており、つまり基準指令値である基準指令位置を示している。また、点線はFB位置(フィードバック位置)を示している。さらに、一点鎖線は、サーボへの指令位置、つまり、サーボドライバ250に与える指令位置を示している。図9には、紙面左側から、補正値の指令を行わない場合、フィードフォワード制御を用いて指令値を補正する場合、指令値補正装置7を用いて指令値を補正する場合の各々について、計測された各種の軌跡が示されている。前記計測された各種の軌跡は、紙面上側から、指令位置(基準指令位置、FB位置、および、サーボへの指令位置)、位置偏差、トルクを示している。
図9に示されている位置偏差について、補正値の指令を行わない場合は位置偏差が「0」から大きく乖離しているのに対し、フィードフォワード制御を用いて指令値を補正する場合は位置偏差の「0」からの乖離が小さくなったことが示されている。そして、指令値補正装置7を用いて指令値を補正する場合、位置偏差は「0」になっている。
図9に示されているトルクについて、補正値の指令を行わない場合に比べて、フィードフォワード制御を用いて指令値を補正する場合は、トルクの変動が大きい。指令値補正装置7を用いて指令値を補正する場合は、補正値の指令を行わない場合と同様の、トルクの変動となっていることが示されている。
図9において、指令値が下降から上昇に転じるタイミングでトルクを増加させている。ここで、図9に示されているように、補正値の指令を行わない場合、フィードフォワード制御を用いて指令値を補正する場合、指令値補正装置7を用いて指令値を補正する場合の順に、トルクが増加するタイミングが早くなっている。これは、補正後指令値が下降から上昇に転じるタイミングが早くなっていることに対応している。すなわち、指令値補正装置7は予測機構であるモデル予測制御部131を備えるため、指令値補正装置7は、補正後指令値について下降から上昇に転じるタイミングを適切に決定することができ、そのため、トルクを増加させるタイミングを適切に決定することができる。
図10は、図9に示した軌跡の拡大図である。図10に示されている位置偏差について、補正値の指令を行わない場合、フィードフォワード制御を用いて指令値を補正する場合、指令値補正装置7を用いて指令値を補正する場合の順に、位置偏差の「0」からの乖離が小さくなっていることが示されている。また、図10に示されているトルクについて、補正値の指令を行わない場合に比べて、フィードフォワード制御を用いて指令値を補正する場合は、トルクの変動が大きく、指令値補正装置7を用いて指令値を補正する場合は、補正値の指令を行わない場合と同様の、トルクの変動となっていることが示されている。
ここで、フィードフォワード制御を用いた補正は、指令値の微分値(つまり、変化率)に基づいて補正を行っている。したがって、フィードフォワード制御を用いた補正は、指令値が直線的に変化する区間ではスムーズな制御を実現することができるが、下降から上昇に転じる場面では、急激に補正量を修正する形になり、そのためトルク波形が少し振動的になっている。
これに対し、MPCによる補正(指令値補正装置7を用いた補正)は、内部モデルと少し将来の指令値とを利用して将来の制御量を予測している。したがって、指令値補正装置7を用いた補正は、急激に補正量を修正することがなく、つまり、無駄な動きがなく、補正することができている。
〔ソフトウェアによる実現例〕
指令値補正装置1および指令値補正装置7の制御ブロック(特に、基準指令値取得部11、制御量取得部12、指令値補正部13、補正後指令値出力部14、およびモデル予測制御部131)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、指令値補正装置1および指令値補正装置7は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
1 指令値補正装置(補正装置)
2 フィードバック制御部(フィードバック制御系)
3 制御対象
5 学習制御部
7 指令値補正装置(補正装置)
12 制御量取得部
13 指令値補正部
21 位置−速度制御部(フィードバック制御系)
130 コントローラ(補正装置)
131 モデル予測制御部
1000、1100、1200、1300、1400、1500 制御システム

Claims (8)

  1. 目標軌道から制御周期ごとに生成された指令値に制御対象の制御量を追従させるフィードバック制御系が受け付ける当該指令値を補正する補正装置であって、
    Nを2以上の整数として、N−1番目以前の制御周期の補正後の指令値に従って制御された前記制御対象の制御量を、N番目の制御周期において取得する制御量取得部と、
    前記制御量取得部が前記N番目の制御周期において取得した前記制御量を用いて、前記フィードバック制御系が受け付ける前記N番目の制御周期の指令値を補正する指令値補正部と、を備えることを特徴とする補正装置。
  2. 前記指令値補正部は、前記フィードバック制御系と前記制御対象とのモデルを用いたモデル予測制御によって、前記N番目の制御周期において取得した前記制御量を用いた前記N番目の制御周期の指令値の補正を行うことを特徴とする請求項1に記載の補正装置。
  3. 前記フィードバック制御系は、サーボモータを制御対象とするサーボドライバであることを特徴とする請求項1または2に記載の補正装置。
  4. 前記制御量取得部は、さらに、前記目標軌道に対応する前記制御対象の制御量を取得し、
    Mを1以上の整数として、前記制御量取得部が取得したM回目の前記目標軌道の全体に対応する前記制御対象の制御量を用いて、前記M回目の前記目標軌道と同様の、M+1回目の前記目標軌道から制御周期ごとに生成される指令値の全体に対する補正量を出力する学習制御部をさらに備えることを特徴とする請求項1から3のいずれか1項に記載の補正装置。
  5. 前記制御量取得部は、複数のフィードバック制御系の各々の、前記N−1番目以前の制御周期の補正後の指令値に従って制御された制御対象の制御量を前記N番目の制御周期において取得し、
    前記指令値補正部は、前記制御量取得部が前記N番目の制御周期において取得した、前記複数のフィードバック制御系の各々の制御対象の制御量を用いて、前記複数のフィードバック制御系の各々が受け付ける、前記N番目の制御周期の指令値を補正することを特徴とする請求項1から4のいずれか1項に記載の補正装置。
  6. 目標軌道から制御周期ごとに生成された指令値に制御対象の制御量を追従させるフィードバック制御系が受け付ける当該指令値を補正する補正装置の制御方法であって、
    Nを2以上の整数として、N−1番目以前の制御周期の補正後の指令値に従って制御された前記制御対象の制御量を、N番目の制御周期において取得する制御量取得ステップと、
    前記制御量取得ステップにて前記N番目の制御周期において取得した前記制御量を用いて、前記フィードバック制御系が受け付ける前記N番目の制御周期の指令値を補正する指令値補正ステップと、を含むことを特徴とする補正装置の制御方法。
  7. 請求項1から5のいずれか一項に記載の補正装置としてコンピュータを機能させるための情報処理プログラムであって、前記各部としてコンピュータを機能させるための情報処理プログラム。
  8. 請求項7に記載の情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2015234143A 2015-11-30 2015-11-30 補正装置、補正装置の制御方法、情報処理プログラム、および記録媒体 Active JP6519457B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015234143A JP6519457B2 (ja) 2015-11-30 2015-11-30 補正装置、補正装置の制御方法、情報処理プログラム、および記録媒体
EP16196884.7A EP3173883B1 (en) 2015-11-30 2016-11-02 Correction device, correction device controlling method, information processing program, and recording medium
CN201611009487.5A CN106873506B (zh) 2015-11-30 2016-11-03 校正装置、校正装置的控制方法、信息处理程序及记录介质
US15/343,250 US10241490B2 (en) 2015-11-30 2016-11-04 Correction device, correction device controlling method, information processing program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015234143A JP6519457B2 (ja) 2015-11-30 2015-11-30 補正装置、補正装置の制御方法、情報処理プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
JP2017102617A JP2017102617A (ja) 2017-06-08
JP6519457B2 true JP6519457B2 (ja) 2019-05-29

Family

ID=57754905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015234143A Active JP6519457B2 (ja) 2015-11-30 2015-11-30 補正装置、補正装置の制御方法、情報処理プログラム、および記録媒体

Country Status (4)

Country Link
US (1) US10241490B2 (ja)
EP (1) EP3173883B1 (ja)
JP (1) JP6519457B2 (ja)
CN (1) CN106873506B (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170194882A1 (en) * 2016-01-05 2017-07-06 ZEROTECH (Chongqing) Intelligence Technology Co., Ltd. Platform motor driving module, platform controlling system, and platform system
EP3324254A1 (de) * 2016-11-17 2018-05-23 Siemens Aktiengesellschaft Einrichtung und verfahren zur bestimmung der parameter einer regeleinrichtung
JP6930150B2 (ja) * 2017-03-14 2021-09-01 オムロン株式会社 制御装置、制御プログラムおよび制御システム
JP6897360B2 (ja) * 2017-06-21 2021-06-30 オムロン株式会社 制御装置、制御プログラムおよび制御システム
JP7024235B2 (ja) 2017-07-19 2022-02-24 オムロン株式会社 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体
JP2019021087A (ja) * 2017-07-19 2019-02-07 オムロン株式会社 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体
JP7003623B2 (ja) * 2017-12-15 2022-01-20 オムロン株式会社 制御システム
EP3739401A4 (en) 2018-01-11 2021-10-06 Omron Corporation METHOD OF DEFINING CONTROL PARAMETERS FOR MODEL PREDICTION CONTROL PURPOSES
WO2019142712A1 (ja) * 2018-01-17 2019-07-25 日本電産株式会社 指令生成装置および指令生成方法
JP6888564B2 (ja) * 2018-02-13 2021-06-16 オムロン株式会社 モデル予測制御装置、モデル予測制御装置の制御方法、情報処理プログラム、および記録媒体
EP3605249A1 (de) * 2018-08-02 2020-02-05 Siemens Aktiengesellschaft Verfahren zur synchronisierung, verfahren zum betreiben einer industriellen anlage, vorrichtung, computerprogrammprodukt und computerlesbares medium
JP6992719B2 (ja) * 2018-09-27 2022-01-13 オムロン株式会社 制御装置
US20220075333A1 (en) * 2019-01-11 2022-03-10 Omron Corporation Control device
JP7151546B2 (ja) * 2019-02-25 2022-10-12 オムロン株式会社 制御装置、制御方法、及び制御プログラム
JP7171126B2 (ja) * 2019-02-28 2022-11-15 株式会社日立ハイテクソリューションズ 制御システム
CN109856978B (zh) * 2019-03-26 2022-02-15 广东电网有限责任公司 一种获取被控对象模型的方法及装置
JP7405537B2 (ja) 2019-09-05 2023-12-26 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム及び機械学習方法
JP7451182B2 (ja) 2020-01-15 2024-03-18 日野自動車株式会社 制御装置

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04199301A (ja) * 1990-11-29 1992-07-20 Meidensha Corp ディジタル制御装置
KR0185951B1 (ko) * 1995-07-04 1999-05-15 김광호 회전모터의 속도제어방법 및 그 장치
US5773938A (en) * 1995-07-04 1998-06-30 Samsung Electronics Co., Ltd. Apparatus for controlling speed of a rotary motor
US6094602A (en) * 1996-11-29 2000-07-25 Woodward Governor Company Method and apparatus for estimating and controlling non-linear disturbances in a feedback control system
JP3215067B2 (ja) * 1997-03-21 2001-10-02 ファナック株式会社 移動方向反転時の位置補正方法
JP3485905B2 (ja) * 2001-04-26 2004-01-13 本田技研工業株式会社 モータ制御装置
GB2388922B (en) * 2002-01-31 2005-06-08 Cambridge Consultants Control system
JP2004227163A (ja) * 2003-01-21 2004-08-12 Fanuc Ltd サーボ制御装置
JP4289299B2 (ja) * 2003-04-11 2009-07-01 三菱電機株式会社 サーボ制御器
JP2005094964A (ja) * 2003-09-19 2005-04-07 Yaskawa Electric Corp モータの制御装置及び制御方法
US7548035B2 (en) * 2003-11-26 2009-06-16 Nsk Ltd. Control apparatus of electric power steering apparatus
JP4276187B2 (ja) * 2005-02-02 2009-06-10 ファナック株式会社 学習制御機能を有する数値制御装置
JP4280241B2 (ja) * 2005-02-02 2009-06-17 ファナック株式会社 学習制御機能を有する数値制御装置
JP4591136B2 (ja) * 2005-03-14 2010-12-01 株式会社安川電機 2次元位置決め装置
JP4745158B2 (ja) * 2006-07-24 2011-08-10 本田技研工業株式会社 電動機の制御装置
EP1882623B1 (en) * 2006-07-25 2010-11-03 NSK Ltd. Electric Power steering apparatus
US7844352B2 (en) * 2006-10-20 2010-11-30 Lehigh University Iterative matrix processor based implementation of real-time model predictive control
JP5130716B2 (ja) * 2007-01-09 2013-01-30 株式会社ジェイテクト モータ制御装置および電気式動力舵取装置
DE602008000946D1 (de) * 2007-07-10 2010-05-20 Jtekt Corp Motorsteuervorrichtung
CN101349893B (zh) * 2007-07-18 2011-03-16 太极光控制软件(北京)有限公司 自适应模型预测控制装置
JP5082719B2 (ja) * 2007-09-26 2012-11-28 株式会社ジェイテクト モータ制御装置及び電動パワーステアリング装置
US8295951B2 (en) * 2007-12-21 2012-10-23 The University Of Florida Research Foundation, Inc. Systems and methods for offset-free model predictive control
JP4770883B2 (ja) * 2008-06-25 2011-09-14 株式会社デンソー 回転機の制御装置、及び回転機の制御システム
US8594828B2 (en) * 2008-09-30 2013-11-26 Rockwell Automation Technologies, Inc. System and method for optimizing a paper manufacturing process
JP2010161907A (ja) * 2009-01-09 2010-07-22 Toyota Motor Corp モータ駆動制御システムの制御装置
JP5312688B2 (ja) * 2010-04-26 2013-10-09 三菱電機株式会社 サーボ制御装置
JP5672966B2 (ja) * 2010-10-29 2015-02-18 株式会社デンソー 車両運動制御システム
US8649884B2 (en) * 2011-07-27 2014-02-11 Honeywell International Inc. Integrated linear/non-linear hybrid process controller
US8810187B2 (en) * 2011-08-19 2014-08-19 Oriental Motor Boston Technology Group Incorporated Method and apparatus for misstep detection and recovery in a stepper motor
JP5848962B2 (ja) * 2011-11-24 2016-01-27 オークマ株式会社 位置制御装置
JP5836206B2 (ja) 2012-06-15 2015-12-24 三菱電機株式会社 サーボ制御装置
JP6038189B2 (ja) * 2013-02-01 2016-12-07 三菱電機株式会社 同期制御装置
JP5650814B1 (ja) * 2013-07-05 2015-01-07 ファナック株式会社 フィードフォワード制御を備えたモータ制御装置
JP5865930B2 (ja) * 2014-03-07 2016-02-17 三菱電機株式会社 モータ制御装置
US20160131057A1 (en) * 2014-11-12 2016-05-12 Deere And Company Fresh air flow and exhaust gas recirculation control system and method

Also Published As

Publication number Publication date
US10241490B2 (en) 2019-03-26
EP3173883A1 (en) 2017-05-31
EP3173883B1 (en) 2018-08-29
CN106873506B (zh) 2019-12-06
US20170153614A1 (en) 2017-06-01
CN106873506A (zh) 2017-06-20
JP2017102617A (ja) 2017-06-08

Similar Documents

Publication Publication Date Title
JP6519457B2 (ja) 補正装置、補正装置の制御方法、情報処理プログラム、および記録媒体
US10386794B2 (en) Control device, storage medium, and control system by creating internal model of control target
US7863851B2 (en) Closed loop stepper motor control
JP6469065B2 (ja) 機械学習装置及び加工時間予測装置
CN107193219B (zh) 仿真装置、仿真方法、控制程序以及记录介质
US10571874B2 (en) Control device for performing learning control
US10977576B2 (en) Control device, recording medium, and control system
US10401849B2 (en) Controller for performing hybrid control using velocity and force
JP2019021087A (ja) 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体
US20190361421A1 (en) Servo control device
WO2020162199A1 (ja) 制御装置、モデル作成方法および制御プログラム
JP7047794B2 (ja) 制御装置および制御プログラム
JP7024235B2 (ja) 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体
CN111052029B (zh) 指令值插值装置和伺服驱动器
WO2020162202A1 (ja) 制御装置および制御プログラム
JP2005349494A (ja) 位置制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181017

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190408

R150 Certificate of patent or registration of utility model

Ref document number: 6519457

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250