(57)【要約】【課題】制御対象の出力を目標指令に対して追従させるサーボ制御のためにモデル予測制御を行う場合に、ユーザが制御対象の時間応答に基づいて直感的に当該モデル予測制御のための重み係数を設定することを可能とする。【解決手段】本発明の設定方法では、制御対象のサーボ制御構造に対応する最適サーボ制御構造において、所望の時間応答を決定し、その所望の時間応答に対応する所定のゲイン算出し、その所定のゲインに基づいて、所定のリカッチ方程式に従って該リカッチ方程式における第１重み係数Ｑｆ、第２重み係数Ｑ、第３重み係数Ｒを算出する。そして、モデル予測制御のための所定の評価関数における、終端コストに対応する重み係数、状態量コストに対応する重み係数、制御入力コストに対応する重み係数に、それぞれ第１重み係数Ｑｆ、第２重み係数Ｑ、第３重み係数Ｒを設定する。【選択図】図４
2019125367.tif 000002
【特許請求の範囲】
【請求項１】
サーボ制御の実際の対象である実対象装置の出力を所定の目標指令に対して追従させるために、該所定の目標指令と該実対象装置に対応する所定の制御対象の出力との偏差が入力される第１積分器を有する制御装置によって実行される、該所定の制御対象に関するモデル予測制御のための制御パラメータを設定する方法であって、
前記制御装置は、少なくとも前記所定の制御対象を含む拡大された制御対象に関連する所定の拡大状態変数と前記拡大された制御対象への制御入力との相関を所定の状態方程式の形式で画定した予測モデルを有し、前記所定の目標指令に対して、所定時間幅の予測区間において所定の評価関数に従って該予測モデルに基づいた前記モデル予測制御を行い、少なくとも該予測区間の初期時刻での前記制御入力の値を出力するモデル予測制御部を有し、
前記所定の拡大状態変数の一部であって前記所定の制御対象に関連する所定の状態変数に、前記偏差と所定の積分ゲインとの積で表される所定の積分項が含まれ、
前記設定する方法は、
前記第１積分器に仮想的に対応する仮想積分器を有し、前記拡大された制御対象に仮想的に対応する仮想制御対象に関連する最適サーボ制御構造であって、該仮想制御対象に対する仮想的な目標指令をｒ１とし、該仮想制御対象への仮想的な制御入力を仮想制御入力ｕ１とし、該仮想制御対象の仮想的な出力をｙ１とすると、該仮想制御入力ｕ１が、状態フィードバックゲインＫＦ、積分ゲインＫＩを含む下記の式１で表される該最適サーボ制御構造における、所望の時間応答を決定する時間応答決定ステップと、
前記所望の時間応答に対応する、前記状態フィードバックゲインＫＦ、及び前記積分ゲインＫＩを算出するゲイン算出ステップと、
前記拡大された制御対象への前記制御入力をｕとし、該拡大された制御対象の出力をｙとし、前記偏差をｅとし、前記所定の状態変数をｘとし、前記所定の制御対象に関する状態方程式が下記の式２で表されるとき、前記状態フィードバックゲインＫＦ、及び前記積分ゲインＫＩに基づいて、下記の式３で表される所定のリカッチ方程式に従って該リカッチ方程式における第１重み係数Ｑｆ、第２重み係数Ｑ、第３重み係数Ｒのうち該第２重み係数Ｑ及び該第３重み係数Ｒを算出する重み係数算出ステップと、
前記所定の評価関数において、前記所定の状態変数に関するステージコストである状態量コストに対応する重み係数に前記第２重み係数Ｑを設定し、前記制御入力に関するステージコストである制御入力コストに対応する重み係数に前記第３重み係数Ｒを設定する設定ステップと、
を含む、モデル予測制御のための制御パラメータの設定方法。
【数１】
2019125367.tif 000035
【請求項２】
前記重み係数算出ステップでは、更に、前記第１重み係数Ｑｆが算出され、
前記設定ステップでは、更に、前記所定の状態変数に関する終端コストに対応する重み係数に前記第１重み係数Ｑｆが設定される、
請求項１に記載のモデル予測制御のための制御パラメータの設定方法。
【請求項３】
前記拡大された制御対象は、前記所定の制御対象のみを含み、
前記所定の拡大状態変数の一部は、前記所定の状態変数に一致する、
請求項１又は請求項２に記載のモデル予測制御のための制御パラメータの設定方法。
【請求項４】
前記制御入力は、前記所定の制御対象に対するジャーク入力であって、
前記拡大された制御対象は、前記所定の制御対象に加えて、前記ジャーク入力に対して所定の積分処理を行う、更なる積分器を含み、
前記予測モデルは、前記所定の制御対象に関連する前記所定の状態変数と前記更なる積分器に関連する状態変数とを含む前記所定の拡大状態変数と、前記ジャーク入力との相関を画定する、
請求項１に記載のモデル予測制御のための制御パラメータの設定方法。
【請求項５】
前記制御装置において、前記所定の制御対象及び前記更なる積分器を含む前記拡大された制御対象に、前記所定の目標指令に基づく制御入力に対して所定周波数における減衰処理を行うフィルタ部を含めて、更に拡大された制御対象が形成され、
前記制御装置によって実行される、前記モデル予測制御のための制御パラメータを設定する方法であって、
前記更に拡大された制御対象に関連する状態変数には、前記所定の拡大状態変数に加えて、前記フィルタ部に関連する状態変数が含まれ、
前記予測モデルは、前記所定の拡大状態変数及び前記フィルタ部に関連する状態変数と、前記ジャーク入力との相関を画定し、
前記重み係数算出ステップでは、
前記状態フィードバックゲインＫＦ、及び前記積分ゲインＫＩに基づいて、前記第２重み係数Ｑ、前記第３重み係数Ｒを算出し、更に、該第２重み係数については、前記更に拡大された制御対象に対応させるために、前記フィルタ部に関連する状態変数に対応する重み係数として零を追加して新たな第２重み係数とし、
前記設定ステップでは、
前記所定の評価関数において、前記状態量コストに対応する重み係数に前記新たな第２重み係数を設定し、前記制御入力コストに対応する重み係数に前記第３重み係数Ｒを設定する、
請求項４に記載のモデル予測制御のための制御パラメータの設定方法。
【請求項６】
前記制御入力は、前記所定の制御対象に対するジャーク入力であって、
前記拡大された制御対象は、前記所定の制御対象に加えて、前記ジャーク入力に対して所定の積分処理を行う、更なる積分器を含み、
前記予測モデルは、前記所定の制御対象に関連する前記所定の状態変数と前記更なる積分器に関連する状態変数とを含む前記所定の拡大状態変数と、前記ジャーク入力との相関を画定する、
請求項２に記載のモデル予測制御のための制御パラメータの設定方法。
【請求項７】
前記制御装置において、前記所定の制御対象及び前記更なる積分器を含む前記拡大された制御対象に、前記所定の目標指令に基づく制御入力に対して所定周波数における減衰処理を行うフィルタ部を含めて、更に拡大された制御対象が形成され、
前記制御装置によって実行される、前記モデル予測制御のための制御パラメータを設定する方法であって、
前記更に拡大された制御対象に関連する状態変数には、前記所定の拡大状態変数に加え
て、前記フィルタ部に関連する状態変数が含まれ、
前記予測モデルは、前記所定の拡大状態変数及び前記フィルタ部に関連する状態変数と、前記ジャーク入力との相関を画定し、
前記重み係数算出ステップでは、
前記状態フィードバックゲインＫＦ、及び前記積分ゲインＫＩに基づいて、前記拡大された制御対象に対応した前記第１重み係数Ｑｆ、前記第２重み係数Ｑ、前記第３重み係数Ｒを算出し、更に、該第２重み係数については、前記更に拡大された制御対象に対応させるために、前記フィルタ部に関連する状態変数に対応する重み係数として零を追加して新たな第２重み係数とし、
前記設定ステップでは、
前記所定の評価関数において、前記終端コストに対応する重み係数に前記第１重み係数Ｑｆを設定し、前記状態量コストに対応する重み係数に前記新たな第２重み係数を設定し、前記制御入力コストに対応する重み係数に前記第３重み係数Ｒを設定する、
請求項６に記載のモデル予測制御のための制御パラメータの設定方法。
【請求項８】
前記フィルタ部は、前記所定周波数を前記減衰処理の中心周波数とするノッチフィルタ、又は前記所定周波数を前記減衰処理における遮断周波数とするローパスフィルタとして構成される、
請求項５又は請求項７に記載のモデル予測制御のための制御パラメータの設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデル予測制御のための制御パラメータの設定方法に関する。
【背景技術】
【０００２】
制御対象を目標指令に追従させて動かすために、一般的にはフィードバック制御が利用されている。例えば多関節ロボットにおいては、ロボットの制御装置により、フィードバック制御を用いてロボットの手先部の位置を予め設定（教示）された目標指令に追従させるように、各関節軸のサーボモータの制御が行われる。ところが、一般的なフィードバック制御では、どうしても各サーボモータに応答遅れが生ずるため、ロボットの実際の軌跡が目標指令の軌道からずれる問題がある。このような指令軌道に対するずれを抑制するために、モデル予測制御に関する技術が利用されている。
【０００３】
しかし、モデル予測制御を利用する場合でも、追従制御のように目標が時々刻々変化していくときには、定常偏差が発生し得る。そこで、モデル予測制御を用いる場合、その補償器に積分器をシリアルに接続することで定常偏差の解消を図ることが考えられる。また、想定される外乱を新たな状態とみなしてモデルに組み込むことで原理的にはその外乱を除去することができる。例えば、非特許文献１や非特許文献２では、外乱オブザーバを構築し、そこで推定された外乱を用いて定常偏差をキャンセルする手法が提案されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Yuta Sakurai and Toshiyuki Ohtsuka: Offset Compensation of Continuous Time Model Predictive Control By Disturbance Estimation;システム制御情報学会論文誌, Vol.25, No. 7, pp.10-18(2012)
【非特許文献２】U.Maeder and M.Morari: Linear offset-free model predictive control; Automatica, Vol. 45, No. 10, pp.2214-2222(2009)
【非特許文献３】Fatima TAHIR and Toshiyuki OHTSUKA : Tuning of Performance Index in Nonlinear Model Predictive Control by the Inverse Linear Quadratic Regulator Design Method, SICE Journal of Control, Measurement, and System Integration, Vol. 6, No. 6, pp. 387-395, (2013)
【発明の概要】
【発明が解決しようとする課題】
【０００５】
制御対象の出力を目標指令に対して追従させるサーボ制御のためにモデル予測制御を行う場合、所定の評価関数に従い最適な制御入力の算出が行われる。一般に、当該所定の評価関数では、制御対象の状態変数に関する終端コストと、当該状態変数と制御入力に関するステージコストとがそれぞれ算出され、その合算値が最小となるように制御入力の最適化が行われる。このとき、評価関数においては、終端コストやステージコストのそれぞれに重み係数が設定されることで、各コストの相関を反映した状態で上記制御入力の最適化が行われることになる。
【０００６】
ここで、上記モデル予測制御における上記の重み係数は、モデル予測制御における制御対象の時間応答に直感的な関係を見出しにくい。そのため、ユーザは、モデル予測制御のための重み係数を決定するには多大な試行錯誤を要していた。なお、上記の非特許文献３では、レギュレータにおいてモデル予測制御を行う場合において、制御対象の時間応答を考慮したそのモデル予測制御のための重み係数を決定する手法が開示されているが、当該手法ではサーボ制御には対応できない。
【０００７】
本発明は、このような問題に鑑みてなされたものであり、制御対象の出力を目標指令に対して追従させるサーボ制御のためにモデル予測制御を行う場合に、ユーザが制御対象の時間応答に基づいて直感的に当該モデル予測制御のための重み係数を設定することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明においては、上記課題を解決するために、モデル予測制御で用いられる予測モデルを終端付近で線形化したシステムと、モデル予測制御によりサーボ制御を行う制御構造に対応する最適サーボ制御構造とは、同じ制御入力に対して同じ出力を示すものとの前提を採用した。これにより、いわゆるＩＬＱ設計法を利用して、サーボ制御のためにモデル予測制御を行う場合においてユーザが制御対象の時間応答に直感的に基づいた重み係数の設定をすることが可能となる。
【０００９】
詳細には、本発明は、所定の制御対象の出力を所定の目標指令に対して追従させるために、該所定の目標指令と該所定の制御対象の出力との偏差が入力される第１積分器を有する制御装置によって実行される、該所定の制御対象に関するモデル予測制御のための制御パラメータを設定する方法（以下、単に「制御パラメータ設定方法」とも言う。）である。なお、前記制御装置は、少なくとも前記所定の制御対象を含む拡大された制御対象に関連する所定の拡大状態変数と前記拡大された制御対象への制御入力との相関を所定の状態方程式の形式で画定した予測モデルを有し、前記所定の目標指令に対して、所定時間幅の予測区間において所定の評価関数に従って該予測モデルに基づいた前記モデル予測制御を行い、少なくとも該予測区間の初期時刻での前記制御入力の値を出力するモデル予測制御部を有し、また、前記所定の拡大状態変数の一部であって前記所定の制御対象に関連する所定の状態変数に、前記偏差と所定の積分ゲインとの積で表される所定の積分項が含まれる。
【００１０】
そして、前記設定する方法は、前記第１積分器に仮想的に対応する仮想積分器を有し、前記拡大された制御対象に仮想的に対応する仮想制御対象に関連する最適サーボ制御構造であって、該仮想制御対象に対する仮想的な目標指令をｒ１とし、該仮想制御対象への仮想的な制御入力を仮想制御入力ｕ１とし、該仮想制御対象の仮想的な出力をｙ１とすると、該仮想制御入力ｕ１が、状態フィードバックゲインＫＦ、積分ゲインＫＩを含む下記の式１で表される該最適サーボ制御構造における、所望の時間応答を決定する時間応答決定ステップと、前記所望の時間応答に対応する、前記状態フィードバックゲインＫＦ、及び前記積分ゲインＫＩを算出するゲイン算出ステップと、前記拡大された制御対象への前記制御入力をｕとし、該拡大された制御対象の出力をｙとし、前記偏差をｅとし、前記所定の状態変数をｘとし、前記所定の制御対象に関する状態方程式が下記の式２で表されるとき、前記状態フィードバックゲインＫＦ、及び前記積分ゲインＫＩに基づいて、下記の式３で表される所定のリカッチ方程式に従って該リカッチ方程式における第１重み係数Ｑｆ、第２重み係数Ｑ、第３重み係数Ｒのうち該第２重み係数Ｑ及び該第３重み係数Ｒを算出する重み係数算出ステップと、前記所定の評価関数において、前記所定の状態変数に関するステージコストである状態量コストに対応する重み係数に前記第２重み係数Ｑを設定し、前記制御入力に関するステージコストである制御入力コストに対応する重み係数に前記第３重み係数Ｒを設定する設定ステップと、を含む。
更には、前記重み係数算出ステップでは、前記第１重み係数Ｑｆが算出され、その場合、前記設定ステップでは、前記所定の状態変数に関する終端コストに対応する重み係数に前記第１重み係数Ｑｆが設定されてもよい。
【数１】
2019125367.tif 000003
【００１１】
本開示の制御パラメータ設定方法では、上記式１に従った最適サーボ制御構造における、仮想制御対象の出力の時間応答、換言すると拡大された制御対象の出力の時間応答の決定を通して、最終的に実対象装置の出力を所定の目標指令に追従させるために用いられるモデル予測制御のための重み係数が算出される。すなわち、当該制御パラメータ設定方法を採用することで、ユーザは、直感的に認識可能な時間応答に対応するモデル予測制御のための重み係数を容易に取得でき、従来のように目標指令への追従のためにモデル予測制御のための重み係数に関する試行錯誤を繰り返す必要がなくなる。なお、所定の制御対象は、実対象装置であってもよく、又は、実対象装置をモデル化した実対象モデルであってもよい。所定の制御対象が実対象モデルである場合、拡大された制御対象も実対象モデルを含む拡大系モデルとなる。
【００１２】
上記の制御パラメータ設定方法において、前記拡大された制御対象は、前記所定の制御対象のみを含み、また、前記所定の拡大状態変数の一部は、前記所定の状態変数に一致してもよい。このように拡大された制御対象が所定の制御対象に一致するような形態であっても、本開示の制御パラメータ設定方法を適用可能であり、以てユーザのモデル予測制御のための重み係数に関する試行錯誤を繰り返す必要がなくなる。
【００１３】
また、別法として、上記の制御パラメータ設定方法において、前記制御入力は、前記所定の制御対象に対するジャーク入力であって、前記拡大された制御対象は、前記所定の制御対象に加えて、前記ジャーク入力に対して所定の積分処理を行う、更なる積分器を含んでもよい。そして、この場合、前記予測モデルは、前記所定の制御対象に関連する前記所定の状態変数と前記更なる積分器に関連する状態変数とを含む前記所定の拡大状態変数と、前記ジャーク入力との相関を画定してもよい。このように拡大された制御対象が所定の制御対象とともにジャーク入力に対する更なる積分器を含む形態であっても、本開示の制御パラメータ設定方法を適用可能であり、以てユーザのモデル予測制御のための重み係数に関する試行錯誤を繰り返す必要がなくなる。
【００１４】
更に、前記制御装置において、前記所定の制御対象及び前記更なる積分器を含む前記拡大された制御対象に、前記所定の目標指令に基づく制御入力に対して所定周波数における減衰処理を行うフィルタ部を含めて、更に拡大された制御対象が形成され、そして、本開示の制御パラメータ設定方法は、前記制御装置によって実行される、前記モデル予測制御のための制御パラメータを設定する方法であってよい。この場合、前記更に拡大された制御対象に関連する状態変数には、前記所定の拡大状態変数に加えて、前記フィルタ部に関連する状態変数が含まれ、前記予測モデルは、前記所定の拡大状態変数及び前記フィルタ部に関連する状態変数と、前記ジャーク入力との相関を画定してもよい。そして、前記重
み係数算出ステップでは、前記状態フィードバックゲインＫＦ、及び前記積分ゲインＫＩに基づいて、前記第２重み係数Ｑ、前記第３重み係数Ｒを算出し、更に、該第２重み係数については、前記更に拡大された制御対象に対応させるために、前記フィルタ部に関連する状態変数に対応する重み係数として零を追加して新たな第２重み係数としてもよい。また、前記設定ステップでは、前記所定の評価関数において、前記状態量コストに対応する重み係数に前記新たな第２重み係数を設定し、前記制御入力コストに対応する重み係数に前記第３重み係数Ｒを設定してもよい。
更には、前記重み係数算出ステップでは、前記状態フィードバックゲインＫＦ、及び前記積分ゲインＫＩに基づいて、前記拡大された制御対象に対応した前記第１重み係数Ｑｆ、前記第２重み係数Ｑ、前記第３重み係数Ｒを算出してもよい。この場合、前記設定ステップで、前記所定の評価関数において、更に、前記終端コストに対応する重み係数に前記第１重み係数Ｑｆを設定してもよい。
【００１５】
これらの場合、更に拡大された制御対象には、所定の制御対象と更なる積分器に加えて、フィルタ部が含まれ、モデル予測制御のための予測モデルには、そのフィルタ部に関連する状態変数が反映される。これにより当該モデル予測制御によって、所定の制御対象の出力が振動的になるのを抑制しながら、目標指令への好適な追従を実現することができる。ここで、フィルタ部による減衰処理そのものは、所定の評価関数に従った制御入力の最適化に対して実質的に作用すべきものではない。そこで、上記のように重み係数算出ステップでは、所定の制御対象と更なる積分器を含む拡大された制御対象について算出された上記の第２重み係数について、フィルタ部に関連する状態変数に対応する重み係数として零を追加して新たな第２重み係数とし、それを最終的なモデル予測制御のための重み係数として採用することができる。これにより、ユーザのモデル予測制御のための重み係数に関する試行錯誤を排除することができる。
【００１６】
なお、前記フィルタ部は、前記所定周波数を前記減衰処理の中心周波数とするノッチフィルタ、又は前記所定周波数を前記減衰処理における遮断周波数とするローパスフィルタとして構成されてもよい。また、フィルタ部は、これら以外のフィルタとして構成されてもよい。
【発明の効果】
【００１７】
制御対象の出力を目標指令に対して追従させるサーボ制御のためにモデル予測制御を行う場合に、ユーザが制御対象の時間応答に基づいて直感的に当該モデル予測制御のための重み係数を設定することができる。
【図面の簡単な説明】
【００１８】
【図１Ａ】モデル予測制御のための制御パラメータの設定方法が適用される制御構造の一例を示す図である。
【図１Ｂ】図１Ａに示す制御構造に対応する最適サーボ構造を示す図である。
【図１Ｃ】図１Ｂに示す最適サーボ構造を再構成した、積分型ＩＬＱサーボ制御構造である。
【図２】第１の構成例のサーボドライバの制御構造を示す図である。
【図３】第１の構成例のサーボドライバにおける制御構造を示す図である。
【図４】第１の構成例のサーボドライバにおいて実行されるモデル予測制御のための評価関数の重み係数（制御パラメータ）を設定する方法の流れを示す図である。
【図５】第１の構成例のサーボドライバによって２つの制御軸を有する実プラントをサーボ制御した場合の追従性の結果を示す図である。
【図６】第２の構成例のサーボドライバにおける制御構造を示す図である。
【図７】第２の構成例のサーボドライバによって２つの制御軸を有する実プラントをサーボ制御した場合の追従性の結果を示す図である。
【図８】第３の構成例のサーボドライバにおける制御構造を示す図である。
【図９】第３の構成例のサーボドライバにおける更なる拡大プラントに関する伝達関数を表す図である。
【図１０】更なる拡大プランに関する詳細な制御構造を表す図である。
【図１１】第３の構成例における、状態量コストに対応する重み係数の一例を示す図である。
【図１２】第３の構成例のサーボドライバによって２つの制御軸を有する実プラントをサーボ制御した場合の追従性の結果を示す図である。
【図１３】第４の構成例の標準ＰＬＣにおける制御構造を示す図である。
【図１４】第５の構成例の標準ＰＬＣにおける制御構造を示す図である。
【図１５】第５の構成例におけるプラントであるロボットアームの概略構成を示す図である。
【発明を実施するための形態】
【００１９】
＜適用例＞
本発明のモデル予測制御のための制御パラメータの設定方法が適用される場面の一例について、図１Ａ〜図１Ｃに基づいて説明する。図１Ａは、制御対象であるプラント１０３の出力ｙを目標指令ｒに追従させる追従制御（サーボ制御）を実行する制御構造を示す。当該制御構造においては、モデル予測制御部１０２によるモデル予測制御が実行されることで、目標指令ｒへの追従制御が実現され、モデル予測制御により算出されるプラント１０３への制御入力がｕで参照され、また、そのモデル予測制御の演算に利用されるプラント１０３に関連する状態変数がｘで参照されている。
【００２０】
当該制御構造では、目標指令ｒとプラント１０３の出力ｙとの偏差ｅ（ｅ＝ｒ−ｙ）が、第１積分器１０１に入力される。そして、その第１積分器１０１の出力ｚも、モデル予測制御の演算に利用される状態変数ｘに含められる。したがって、モデル予測制御部１０２は、プラント１０３に関連する状態変数ｘと、第１積分器１０１の出力ｚをモデル予測制御に利用している。また、プラント１０３に関連する状態変数ｘがブロック１０４を経て、プラント１０３の出力ｙが生成される。したがって、実プラント６に関する状態方程式は、下記の式４で表される。
【数２】
2019125367.tif 000004
・・・（式４）
【００２１】
ここで、モデル予測制御部１０２によって実行されるモデル予測制御について説明する。モデル予測制御部１０２は、第１積分器１０１の出力ｚを含む状態変数ｘと、自身の出力するプラント１０３への制御入力ｕとを用いて、モデル予測制御(Receding Horizon制
御)を実行する。そして、モデル予測制御部１０２は、状態変数ｘと、制御入力ｕとの相
関を、下記の状態方程式（式５）で画定した予測モデルを有している。なお、下記式５は、非線形の状態方程式である。当該予測モデルには、例えば、プラント１０３が有する所定の物理的特徴が反映されてもよい。
【数３】
2019125367.tif 000005
・・・（式５）
【００２２】
ここで、モデル予測制御部１０２は、状態変数ｘと制御入力ｕとを入力として、所定の時間幅Ｔを有する予測区間において下記の式６に示す評価関数に従って、式５で表す予測モデルに基づいたモデル予測制御を行う。
【数４】
2019125367.tif 000006
・・・（式６）
【００２３】
上記式６の右辺の第１項が終端コストであり、右辺の第２項がステージコストである。そして、当該終端コストを下記の式７で表し、当該ステージコストを下記の式８で表すことができる。
【数５】
2019125367.tif 000007
・・・（式７）
【数６】
2019125367.tif 000008
・・・（式８）
ただし、ｘｒｅｆ（ｋ）は時刻ｋにおける目標状態量を、ｘ（ｋ）は時刻ｋにおける計算上の状態量を表し、ｕｒｅｆ（ｋ）は時刻ｋにおける、定常状態での目標制御入力を、ｕ（ｋ）は時刻ｋにおける計算上の制御入力を表している。式７におけるＱｆは、終端コストにおける状態量の重みを表す係数（重み係数）である。また、式８におけるＱ及びＲは、それぞれステージコストにおける状態量の重みを表す係数（重み係数）、制御入力の重みを表す係数（重み係数）である。したがって、式８の右辺の第１項が、状態量に関するステージコストを意味し「状態量コスト」と称し、右辺の第２項が、制御入力に関するステージコストを意味し「制御入力コスト」と称する。
【００２４】
以上を踏まえてモデル予測制御において算出された、予測区間の初期時刻ｔでの制御入力ｕの値が、その時刻ｔでの、目標指令ｒに対応するプラント１０３への制御入力ｕとして出力される。そして、モデル予測制御では、その制御時刻において、都度、所定の時間幅Ｔの予測区間が設定されるとともに、式６の評価関数に従って当該制御時刻での制御入力ｕが算出され、プラント１０３へ送られることになる。式６のような形の評価関数Ｊの値を最良とする操作量を求める問題は、最適制御問題として広く知られている問題であり、その数値解を算出するアルゴリズムが公知技術として開示されている。そのような技術として連続変形法が例示でき、例えば、公知の文献である「連続変形法とGMRES法を組み
合わせた非線形Receding horizon制御の高速アルゴリズム（A continuation /GMRES method for fast computation of nonlinear receding horizon control）」{大塚敏之（T. Ohtsuka）, オートマティカ（ Automatica）, 第４０巻, ｐ563〜574, ２００４. }に詳細が開示されている。
【００２５】
連続変形法では、下記の式９に示す、入力Ｕ（ｔ）に関する連立１次方程式を解くことでモデル予測制御における入力Ｕ（ｔ）が算出される。具体的には、下記の式９を解き、dU/dtを数値積分して、入力Ｕ（ｔ）を更新していく。このように連続変形法では、反復
計算を行わないため、各時刻での入力Ｕ（ｔ）を算出するための演算負荷を可及的に抑制することができる。
【数７】
2019125367.tif 000009
・・・（式９）
ただし、Ｆ、Ｕ（ｔ）は、以下の式１０で表される。
【数８】
2019125367.tif 000010
・・・（式１０）
ただし、Ｈはハミルトニアン、λは共状態、μは拘束条件Ｃ＝０のラグランジュ乗数である。
【００２６】
次に、上記評価関数の終端コスト及びステージコストに関する重み係数の設定方法について説明する。当該設定方法は、時間応答決定ステップ、ゲイン算出ステップ、重み係数算出ステップ、設定ステップを含む。
（時間応答決定ステップ）
ここで、プラント１０３に仮想的に対応する仮想プラントに関連する最適サーボ構造を図１Ｂに示す。最適サーボ構造は、上記の第１積分器１０１に仮想的に対応する仮想積分器２０１、プラント１０３に仮想的に対応する仮想プラント２０３、ブロック１０４に仮想的に対応する仮想ブロック２０４を含む。そして、仮想的な目標指令をｒ１とし、仮想プラント２０３への仮想的な制御入力を仮想制御入力ｕ１とし、仮想プラント２０３の出
力をｙ１とすると、仮想制御入力ｕ１は、下記の式１１で表される。ただし、ＫＦは状態フィードバックゲインであり、ＫＩは積分ゲインである。
【数９】
2019125367.tif 000011
・・・（式１１）
このように形成される最適サーボ構造は、図１Ａに示す制御構造での予測モデルを終端付近で線形化した構造に相当する。この結果、図１Ａの制御構造と図１Ｂの最適サーボ構造とにおいて、評価項目である変数ｘ、ｚ、ｕ及び重み係数Ｑｆ、Ｑ、Ｒに着目すれば、最適サーボ構造での入出力と、図１Ａに示す制御構造での入出力、すなわちモデル予測制御部１０２によってモデル予測制御が行われる制御構造での入出力とを関連付けることができる。この点を踏まえて、先ず時間応答決定ステップでは、最適サーボ構造における所望の時間応答の決定が行われる。すなわち、当該決定は、実質的には図１Ａに示す制御構造において実現が見込まれる時間応答を決定することを意味する。
【００２７】
（ゲイン算出ステップ）
次に、ゲイン算出ステップでは、時間応答ステップで決定された所望の時間応答に対応する、最適サーボ構造における状態フィードバックゲインＫＦ、及び積分ゲインＫＩを算出する。これらのゲインの算出は、図１Ｂに示す最適サーボ構造を、図１Ｃに示す積分型ＩＬＱサーボ制御構造に再構成する手法（以下、「再構成手法」という）を利用して実現される。図１Ｂの最適サーボ構造と図１Ｃの積分型ＩＬＱサーボ制御構造との共通の構成については、同一の参照番号を付してその説明を省略する。図１Ｃの積分型ＩＬＱサーボ制御構造が、図１Ｂの最適サーボ制御構造と異なるのは、状態フィードバックゲインＫＦ、及び積分ゲインＫＩに共通するゲイン調整パラメータのブロック２０６が括り出されている点であり、その結果、積分型ＩＬＱサーボ制御構造では、各ゲインは、基準最適ゲインである第１基準最適ゲインＫＦ０（２０５’で参照される）及び第２基準最適ゲインＫＩ０（２０２’で参照される）と表されている。また、ブロック２０６の調整パラメータは、下記の式１２で表され、式中のΣは一次遅れ形での時間応答性を指定する応答性行列であり、Ｖは計算を簡便にするために非干渉化行列とされる。このように再構成手法により積分型ＩＬＱサーボ制御構造を再構成することで、上記調整パラメータの決定及び第１基準最適ゲインＫＦ０及び第２基準最適ゲインＫＩ０の算出を経て、決定された時間応答に一次遅れ形で好適に近似した時間応答を実現するための状態フィードバックゲインＫＦ、及び積分ゲインＫＩが算出される。
【数１０】
2019125367.tif 000012
・・・（式１２）
【００２８】
（重み係数算出ステップ）
次に重み係数算出ステップでは、プラント１０３に関する状態方程式が上記の式４で表されることを踏まえて、ゲイン算出ステップで算出された状態フィードバックゲインＫＦ、及び積分ゲインＫＩに基づいて、下記の式１３で表される所定のリカッチ方程式に従って該リカッチ方程式における第１重み係数Ｑｆ、第２重み係数Ｑ、第３重み係数Ｒを算出する。
【数１１】
2019125367.tif 000013
・・・（式１３）
【００２９】
（設定ステップ）
そして、本出願人は重み係数算出ステップで算出された第１重み係数Ｑｆ、第２重み係数Ｑ、第３重み係数Ｒが、式７及び式８で表された評価関数の各重み係数として好適に利用できることを見出した。そこで、設定ステップでは、当該評価関数において、終端コストに対応する重み係数に第１重み係数Ｑｆを設定し、状態量コストに対応する重み係数に第２重み係数Ｑを設定し、制御入力コストに対応する重み係数に第３重み係数Ｒを設定する。
【００３０】
このような制御パラメータ設定方法によれば、ユーザは、モデル予測制御により見込まれるプラント１０３の時間応答に対して直感的に評価関数における各重み係数Ｑｆ、Ｑ、Ｒを設定することができ、以て、ユーザのパラメータ設定に関する負荷を軽減することができる。そして、このようなパラメータ設定を経てモデル予測制御部１０２によりモデル予測制御が行われることで、モデル予測制御を用いた追従のためのサーボ制御において、当該サーボ制御の駆動源となる積分量が好適に調整され、従来のように外乱モデルの拡張やオブザーバゲインの設計等、容易ではない調整が必要な外乱オブザーバを利用することなく、オーバーシュートを抑制したサーボ制御の実現が可能となる。
【００３１】
＜第１の構成例＞
図２は、第１の構成例に係る制御システムの概略構成図である。当該制御システムは、ネットワーク１と、サーボドライバ４と、標準ＰＬＣ(Programmable Logic Controller)
５とを備える。サーボドライバ４は、モータ２と負荷装置３とを含んでなる、実際のプラント（以下、単に「実プラント」と称する）６をサーボ制御するためにモデル予測制御を実行する制御装置である。当該制御システムでは、標準ＰＬＣ５から送られてくる目標指令に、実プラント６の出力を追従させるように、サーボドライバ４がモデル予測制御を伴うサーボ制御を実プラント６に対して施す。当該モデル予測制御により、サーボドライバ４は、標準ＰＬＣ５から受けた目標指令に基づき、実プラント６のサーボ制御を行うための制御入力を生成する。サーボドライバ４による制御入力の生成については、後述する。ここで、実プラント６を構成する負荷装置３としては、各種の機械装置（例えば、産業用ロボットのアームや搬送装置）が例示でき、モータ２はその負荷装置３を駆動するアクチュエータとして負荷装置３内に組み込まれている。例えば、モータ２は、ＡＣサーボモータである。なお、モータ２には図示しないエンコーダが取り付けられており、当該エンコーダによりモータ２の動作に関するパラメータ信号（位置信号、速度信号等）がサーボドライバ４にフィードバック送信されている。
【００３２】
標準ＰＬＣ５は、実プラント６の動作（モーション）に関する目標指令を生成し、サーボドライバ４へ送信する。サーボドライバ４は、ネットワーク１を介して標準ＰＬＣ５から当該目標指令を受けるとともに、モータ２に接続されているエンコーダから出力されたフィードバック信号を受ける。そして、サーボドライバ４は、実プラント６の出力が目標指令に追従するように、モータ２に駆動電流を供給する。この供給電流は、交流電源から
サーボドライバ４に対して送られる交流電力が利用される。本実施例では、サーボドライバ４は三相交流を受けるタイプのものであるが、単相交流を受けるタイプのものでもよい。
【００３３】
ここで、実プラント６の上記サーボ制御のために、サーボドライバ４は、図３に示す制御構造を有している。なお、標準ＰＬＣ５からサーボドライバ４に供給される目標指令は、ｒで参照される。サーボドライバ４は、第１積分器４１、状態取得部４２、モデル予測制御部４３を有している。そして、これらの第１積分器４１、状態取得部４２、モデル予測制御部４３による各処理は、サーボドライバ４に搭載されている演算処理装置によって演算実行される。そして、サーボドライバ４の制御構造では、標準ＰＬＣ５から送信された目標指令ｒと、フィードバック系によってフィードバックされた実プラント６の出力ｙとの偏差ｅ（ｅ＝ｒ−ｙ）が、第１積分器４１に入力される。そして、その第１積分器４１の出力ｚは、状態取得部４２を経てモデル予測制御部４３に入力される。
【００３４】
ここで、状態取得部４２は、モデル予測制御部４３によって行われるモデル予測制御に供される、実プラント６に関する状態及び第１積分器４１の出力ｚを含む状態変数ｘを取得する。例えば、状態取得部４２は、実プラント６に含まれるモータ２に接続されたエンコーダの出力信号から生成される所定の情報を、状態変数ｘとして取得することができる。また、実プラント６に含まれる負荷装置３に関連する所定のパラメータ（例えば、負荷装置３の出力部の位置等）を状態変数ｘとして取得してもよい。更に、本実施例では、状態取得部４２は、第１積分器４１の出力であるｚも状態変数ｘとして取得する。そして、モデル予測制御部４３は、状態取得部４２が取得する状態変数ｘと、自身の出力する実プラント６への制御入力ｕとを用いて、上述したモデル予測制御(Receding Horizon制御)を実行する。
【００３５】
また、本明細書では、制御入力ｕが入力され、少なくとも実プラント６を含む仮想的な制御構成を拡大されたプラント６０として形成する。ここでいう「拡大された」とは、実プラント６単独で、または実プラント６と併せて仮想的な制御対象とみなすことを意味する。そして、拡大されたプラント６０は、単に「拡大プラント６０」とも称する。図３に示す制御構造では、拡大プラント６０には、実プラント６以外の制御構成は含まれず拡大プラント６０と実プラント６とは一致しているが、例えば、後述する図６では、拡大プラント６０に実プラント６と第２積分器６ａとが含まれる例が示されている。拡大プラント６０の出力は、実プラント６の出力と一致する。
【００３６】
ここで、図３に戻ると、指令ｒと拡大プラント６０の出力ｙとの偏差ｅが第１積分器４１に入力され、更にその出力ｚが状態取得部４２を経てモデル予測制御部４３に入力されることで、上記のモデル予測制御が行われる。このように第１積分器４１を含む制御構造を踏まえ、モデル予測制御部４３が有する予測モデルは、例えば、下記の式１４に示すように形成されている。なお、式１４には、実プラント６が有する所定の物理的特徴が反映されている。
【数１２】
2019125367.tif 000014
・・・（式１４）
【００３７】
式１４における添え字の「１」は、サーボドライバ４で制御される制御軸の番号を表しており、本実施例では制御軸が１つであるため、式１４に示す予測モデルにおける各変数の添え字は「１」とされる。そして、状態変数ｘ１は、例えば、実プラント６の出力位置を表し、実プラント６の出力ｙとしてフィードバックされるパラメータであってもよい。また、上記ｘｆ１は、その制御軸への位置指令ｒを表している。したがって、上記予測モデルにおける（ｘｆ１−ｘ１）は偏差ｅを表している。そして、上記予測モデルには、偏差ｅ（＝ｘｆ１−ｘ１）と、所定の積分ゲインＫｉ１との積で表される積分項が含まれていることが理解できる。これにより、モデル予測制御を用いたサーボドライバ４によるサーボ制御において、その駆動源となる積分量を調整しやすくなり、従来のように外乱モデルの拡張やオブザーバゲインの設計等、容易ではない調整が必要な外乱オブザーバを利用することなく、オーバーシュートを抑制したサーボ制御の実現が容易となる。
【００３８】
更に、サーボドライバ４においては、式１４に示す予測モデルに含まれている積分項の所定の積分ゲインＫｉ１を、偏差ｅに基づいて調整してもよい。具体的には、偏差ｅの大きさが小さくなるに従い、所定の積分ゲインＫｉ１の値が大きくなるように、該所定の積分ゲインＫｉ１を調整する。例えば、偏差eの大きさが所定の閾値以上となる場合には、
所定の積分ゲインＫｉ１は０となり、偏差ｅの大きさが所定の閾値未満の範囲では、偏差ｅの大きさが０に近づくほど、所定の積分ゲインＫｉ１の値が急峻に１に近づき、偏差ｅの大きさが０である場合には所定の積分ゲインＫｉ１は最大値の１となるように所定の積分ゲインＫｉ１の推移が設定されてもよい。このように、所定の積分ゲインＫｉ１が偏差ｅの大きさに基づいて調整可能とされることで、拡大プラント６０（実プラント６）の出力ｙ（ｘ１）が指令ｘｆ１と比較的乖離している場合には、所定の積分ゲインＫｉ１の値は小さく調整され、以て、サーボ制御のための積分量が不要に溜まらないように調整されることになる。また、拡大プラント６０（実プラント６）の出力ｙ（ｘ１）と指令ｘｆ１と乖離量が少なくなると、すなわち偏差ｅの大きさが小さくなると、所定の積分ゲインＫｉ１の値が大きく調整されるため、サーボ制御における追従性を効果的に高めることができる。このように所定の積分ゲインＫｉ１の値を変動させることで、オーバーシュートの抑制とサーボ制御の追従性向上の両立を図ることができる。
【００３９】
なお、上記の所定の積分ゲインＫｉ１の調整については、偏差ｅと所定の積分ゲインＫｉ１との相関に関するデータは、サーボドライバ４のメモリ内に格納されてもよく、その場合は、モデル予測制御において当該データにアクセスすることで上述の所定の積分ゲインＫｉ１の調整を行う。
【００４０】
ここで、図３に示す制御構造を有するサーボドライバ４によりモデル予測制御を実現するためには、当該予測制御に関連する制御パラメータ、すなわち式６〜式８に示した評価関数の各重み係数（第１重み係数Ｑｆ、第２重み係数Ｑ、第３重み係数Ｒ）を適切に設定する必要がある。そこで、図４に基づいてこれらの重み係数を評価関数に設定するパラメータ設定方法について説明する。図４は、パラメータ設定方法の流れを示す図であり、当該方法は、時間応答決定ステップ、ゲイン算出ステップ、重み係数算出ステップ、設定ステップを含む。
【００４１】
先ず、Ｓ１０１で行われる時間応答決定ステップについて説明する。時間応答決定ステップでは、上述したように、図１Ｂに示す最適サーボ構造における所望の時間応答、すなわち、図１Ａに示す制御構造において実現が見込まれる時間応答が決定される。具体的には、最適サーボ構造の相対次数ｄiと非干渉化行列Ｄが下記の式１５に従って算出される
。
【数１３】
2019125367.tif 000015
・・・（式１５）
その上で、最適サーボ構造における所望の時間応答に基づく時定数Ｔｉの逆数として定義される極ｓｉを根とするｄｉ次の安定多項式φｉ（ｓ）を下記の式１６に従って設定する。
【数１４】
2019125367.tif 000016
・・・（式１６）
したがって、時間応答決定ステップでは、図１Ａに示す制御構造において実現が見込まれる時間応答を考慮して想定される、最適サーボ構造での時間応答を踏まえて、上記処理が行われる。
【００４２】
次に、Ｓ１０２で行われるゲイン算出ステップについて説明する。ゲイン算出ステップでは、最適サーボ構造における状態フィードバックゲインＫＦ及び積分ゲインＫＩが算出される。そして、そのために先ず、下記の式１７に基づいて非干渉化ゲインＫが算出される。
【数１５】
2019125367.tif 000017
・・・（式１７）
次に、最適サーボ構造に対して上記の再構成手法により再構成された積分型ＩＬＱサーボ制御構造（図１Ｃを参照）における、第１基準最適ゲインＫＦ０及び第２基準最適ゲインＫＩ０が、下記の式１８に基づいて算出される。
【数１６】
2019125367.tif 000018
・・・（式１８）
【００４３】
そして、状態フィードバックゲインＫＦ及び積分ゲインＫＩが下記の式１９で表されることを踏まえて、調整パラメータにおける行列Σが下記の手順に従い決定される。なお、調整パラメータにおける行列Ｖは非干渉化行列としての単位行列Ｉとされる。
【数１７】
2019125367.tif 000019
・・・（式１９）
（Σの決定手順）
（手順１）
対称行列ＫＢ＋（ＫＢ）Ｔの最大固有値λｍａｘを求め、行列Σを構成する各σｉの範囲を下記の式２０のように決定する。
【数１８】
2019125367.tif 000020
・・・（式２０）
（手順２）
次に、手順１で算出された範囲のσを１つ選び、下記の式２１で表される対象正定行列Ｅを算出する。
【数１９】
2019125367.tif 000021
・・・（式２１）
（手順３）
次に、下記の式２２で表される行列Ｆの固有値を算出し、その安定性を判定する。その判定の結果行列Ｆが安定であれば、次の手順４へ進み、行列Ｆが不安定であれば再び手順２に戻る。このとき、σの値を上記の範囲において更に大きな値とする。
【数２０】
2019125367.tif 000022
・・・（式２２）
（手順４）
次に、下記の式２３で表されるハミルトン行列Πの固有値を算出し、それが虚軸上にないか否かを判定する。その結果、虚軸上に固有値がなければσの値を減らし、１つでも固有値が虚軸上にあればσの値を増やして上記の手順２へ戻る。
【数２１】
2019125367.tif 000023
・・・（式２３）
（手順５）
そして、手順１〜手順４を繰り返し、σの更新幅が所定の値以下となったとき、そのσの値を下限値σｍｉｎとして設定する。そして、行列Σを構成する各σｉの値を、σｉ＞σｍｉｎとなる範囲内で選び、行列Σを決定する。
【００４４】
次に、Ｓ１０３で行われる重み係数算出ステップについて説明する。重み係数算出ステップでは、拡大偏差系の所定のリカッチ方程式に基づいて、モデル予測制御のための評価関数（式６〜式８を参照）の重み係数を算出する。具体的には、下記の手順６〜手順９に従って当該算出が行われる。
（手順６）
行列Ｖ、Ｒを下記の式２４のように決定する。
【数２２】
2019125367.tif 000024
・・・（式２４）
（手順７）
更に、行列Ｋｖ、Ｂｖを下記の式２５で算出する。
【数２３】
2019125367.tif 000025
・・・（式２５）
そして、下記の式２６を満たす行列Σ及びＹを算出する。なお、上記の手順５で決定した行列Σが下記の式２６を満たす場合は、その値をそのまま手順７による行列Σの値とし、式２６を満たさない場合には、行列Σを構成する各σｉを大きくしていく。
【数２４】
2019125367.tif 000026
・・・（式２６）
（手順８）
そして、下記の式２７で表される拡大偏差系のリカッチ方程式の解Ｑｆの候補を、下記の式２８のように算出する。
【数２５】
2019125367.tif 000027
・・・（式２７）
【数２６】
2019125367.tif 000028
・・・（式２８）
そして、式２８の結果及び式２７より、行列Ｑが下記の式２９で算出される。
【数２７】
2019125367.tif 000029
・・・（式２９）
【００４５】
次に、Ｓ１０４で行われる設定ステップについて説明する。設定ステップでは、上記の式２８に従って算出された行列Ｑｆを、終端コストに対応する重み係数Ｑｆ（式７参照）に設定する。更に、上記の式２９に従って算出された行列Ｑを状態量コストに対応する重み係数Ｑに設定するとともに、上記の式２４に示す行列Ｒを制御入力コストに対応する重み係数Ｒに設定する（式８参照）。
【００４６】
図４に示すパラメータ設定方法によれば、ユーザは、モデル予測制御により見込まれる実プラント６の時間応答に対して直感的にモデル予測制御のための評価関数における各重み係数Ｑｆ、Ｑ、Ｒを設定することができ、以て、ユーザのパラメータ設定に関する負荷を軽減することができる。そして、このようなパラメータ設定を経てモデル予測制御が行われることで、モデル予測制御を用いたサーボ制御において、当該サーボ制御の駆動源となる積分量が好適に調整され、オーバーシュートを抑制したサーボ制御の実現が可能となる。そして、複数の制御軸を含む実プラント６に対して、上記のパラメータ設定方法を経て各制御軸に対して図１Ａに示す制御構造を構築し、各制御軸でモデル予測制御を実行した場合のシミュレーション結果を図５に示す。図５では、第１の制御軸の出力を横軸とし第２の制御軸の出力を縦軸として設定される作業座標系において、目標指令の軌跡を線Ｌ１で表し、実プラント６の出力の軌跡を線Ｌ２で表している。図５の開示から明らかなように、実プラント６の出力が目標指令へ好適に追従している。
【００４７】
図４に示すパラメータ設定方法では、リカッチ方程式の解Ｑｆが算出され、その算出されたＱｆが終端コストに対応する重み係数に設定されているが、当該Ｑｆはパラメータ設定方法において算出されなくてもよい。その場合、公知技術で算出される係数が終端コストに対応する重み係数として採用され得る。
【００４８】
＜第２の構成例＞
第２の構成例に係るサーボドライバ４によるサーボ制御について、図６に基づいて説明する。本構成例のサーボドライバ４では、上記第１の構成例と同様に実プラント６を含む拡大プラント６０が形成されてモデル予測制御部４３によるモデル予測制御が行われ、その際に第１積分器４１の出力ｚが状態取得部４２によって取得され、当該モデル予測制御に供される。そして、本構成例では、図６の下段（ｂ）に示すように第２積分器６ａと実プラント６とが合わさることで拡大プラント６０が形成されている。
【００４９】
本実施例の拡大プラント６０においては、制御入力ｕがジャーク入力（ｄτ／ｄｔ）とされる。そして、拡大プラント６０に関連する拡大状態変数を下記の式３０で表すと、モデル予測制御部４３が有する予測モデルを下記の式３１のように表すことができる。
【数２８】
2019125367.tif 000030
・・・（式３０）
【数２９】
2019125367.tif 000031
・・・（式３１）
【００５０】
上記式３１の予測モデルでは、拡大状態変数と制御入力であるジャーク入力ｕとの相関が画定されている。この結果、モデル予測制御部４３は、制御入力であるジャーク入力ｕを実時間で生成し、拡大プラント６０に対して出力する。このとき、モデル予測制御での評価関数でのステージコストの算出プロセスにおいては、図４に示すパラメータ設定方法により各重み係数が設定された、モデル予測制御のための評価関数（式６〜式８を参照）が使用されている。このようなパラメータ設定を経てモデル予測制御が行われることで、モデル予測制御を用いた追従のためのサーボ制御において、当該サーボ制御の駆動源となる積分量が好適に調整され、オーバーシュートを抑制したサーボ制御の実現が可能となる。更に、制御入力ｕをジャーク入力とすることで、ジャークの最大値を容易に抑制でき、ひいてはサーボ制御時の実プラント６の振動を好適に抑制することが可能となる。そして、複数の制御軸を含む実プラント６に対して、上記のパラメータ設定方法を経て各制御軸に対して図１Ａに示す制御構造を構築し、各制御軸でモデル予測制御を実行した場合のシミュレーション結果を図７に示す。図７では、第１の制御軸の出力を横軸とし第２の制御軸の出力を縦軸として設定される作業座標系において、目標指令の軌跡を線Ｌ３で表し、実プラント６の出力の軌跡を線Ｌ４で表している。図７の開示から明らかなように、実プラント６の出力が目標指令へ好適に追従している。
【００５１】
＜第３の構成例＞
第３の構成例に係るサーボドライバ４によるサーボ制御について、図８に基づいて説明する。本構成例のサーボドライバ４では、上記第２の構成例と同様に実プラント６を含む拡大プラント６０が形成されるとともに、その拡大プラント６０に対してフィルタ部７が組み込まれて更なる拡大プラント６００が形成されてモデル予測制御部４３によるモデル予測制御が行われる。その際には、更なる拡大プラント６００の出力、すなわち実プラント６の出力と目標指令との差分がサーボ積分器４１に供給され、そのサーボ積分器４１の出力ｚと、更なる拡大プラント６００の拡大状態変数が状態取得部４２によって取得され、当該モデル予測制御に供される。
【００５２】
ここで、フィルタ部７は、フィルタ部７に入力される信号（本実施例では、更なる拡大プラント６００への制御入力ｕ（ジャーク入力））に対して、所定周波数における減衰処理を行う。当該所定周波数は、サーボ制御時の振動抑制の直接の対象である実プラント６に関連する振動の周波数であることが好ましい。例えば、実プラント６における共振周波数を、所定周波数とすることができる。また、減衰処理としては、所定周波数に係る上記信号（制御入力）のゲインを所望程度減衰させる処理である。そこで、一例として、フィルタ部７は、前記所定周波数を前記減衰処理の中心周波数とするノッチフィルタとして構成されてもよく、又は前記所定周波数を前記減衰処理における遮断周波数とするローパス
フィルタとして構成されてもよい。このようにフィルタ部７を形成することで、フィルタ部７で減衰処理が施された上記信号（制御入力ｕ）が実プラント６を含む拡大プラント６０に入力されることになり、以て、実プラント６のサーボ制御時に、実プラント６での振動抑制が見込まれ、且つ所望の時間内に実プラント６の出力を目標に近付けることができる。
【００５３】
ここで、更なる拡大プラント６００がフィルタ部７及び拡大プラント６０を含んでいる点を踏まえて、モデル予測制御部４３が有する予測モデルが決定されている。図９には、フィルタ部７における伝達関数と、拡大プラント６０における伝達関数が図示されている。制御入力ｕがフィルタ部７に入力されたときの出力がｄν／ｄｔと表され、当該出力ｄν／ｄｔは、拡大プラント６０への入力とされる。なお、本実施例の制御入力ｕはジャーク入力とされる。
【００５４】
そして、フィルタ部７における伝達関数と、拡大プラント６０における伝達関数とを考慮して、図１０に、更なる拡大プラント６００の制御構造を示す。当該制御構造を踏まえ、更なる拡大プラント６００に関連する拡大状態変数を下記の式３２で表すと、モデル予測制御部４３が有する予測モデルを下記の式３３のように表すことができる。
【数３０】
2019125367.tif 000032
・・・（式３２）
【数３１】
2019125367.tif 000033
・・・（式３３）
【００５５】
上記式３３の予測モデルでは、拡大状態変数と制御入力であるジャーク入力ｕとの相関が画定されている。この結果、モデル予測制御部４３は、制御入力であるジャーク入力ｕを実時間で生成し、更なる拡大プラント６００に含まれるフィルタ部７に対して出力する。ここで本構成例の予測モデル（式３３で表される予測モデル）と上記の第２の構成例での予測モデル（式３１で表される予測モデル）とを比較すると、フィルタ部７に関連する状態変数の分だけ、本構成例の予測モデルの次数が大きいことが分かる。一方で、フィルタ部７に関連する状態変数は、モデル予測制御における最適性の評価、すなわち評価関数に基づいた最適性の評価には関連性を有するとは言えない。この点を考慮して、本構成例のモデル予測制御のための評価関数でのステージコストのうち状態量コストに関しては、第２の構成例で得られた重み係数を利用して、当該状態量コストに対応する重み係数を生成する。
【００５６】
具体的には、図４に示すパラメータ設定方法の重み係数算出ステップ（Ｓ１０３）において、フィルタ部７の状態変数が無い予測モデル、すなわち第２の構成例での予測モデル（式３１で表される予測モデル）に従って、評価関数の重み係数Ｑｆ、Ｑ、Ｒを算出する。そのうち状態量コストに関連する重み係数Ｑについては、この時点では拡大プラント６０に対応するものであるから、その次元は、更なる拡大プラント６００の拡大状態変数の次元と異なっている。そこで、上記重み係数Ｑの次元を、更なる拡大プラント６００に対応させるために、フィルタ部７に関連する状態変数に対応する次元分だけ重み係数Ｑに対して零を追加し、重み係数Ｑの次元を拡大プラント６００の拡大状態変数の次元に合わせ、新たな重み係数Ｑ’を生成する。
【００５７】
ここで、図１１には、状態量コストに関連する重み係数Ｑ’の一例を表している。なお、図１１の重み係数Ｑ’及びそのベースとなっている重み係数Ｑは、制御軸が２軸であるモデル予測制御に対応するものである。本構成例の予測モデル（式３３で表される予測モデル）は、フィルタ部７に関連する状態変数の２つ分だけ、第２の構成例での予測モデル（式３１で表される予測モデル）より状態変数が多く予測モデルに含まれている。そこで、この差分に相当する次元数だけ、重み係数Ｑに対して零を追加し図１１に示す新たな重み係数Ｑ’が生成される。上記の通り、図１１に示す重み係数Ｑ’は制御軸が２軸であるモデル予測制御に対応するものであるから、最終的には、２制御軸分の次元数の差分だけ、零が追加されることになる。
【００５８】
そして、図４に示すパラメータ設定方法の設定ステップ（Ｓ１０４）においては、終端コストに対応する重み係数に上記の第１重み係数Ｑｆ（第２の構成例での予測モデルに従って算出された重み係数Ｑｆ）を設定し、状態量コストに対応する重み係数に上記の新たな第２重み係数Ｑ’を設定し、制御入力コストに対応する重み係数に上記の第３重み係数Ｒ（第２の構成例での予測モデルに従って算出された重み係数Ｒ）を設定する。
【００５９】
このようなパラメータ設定を経てモデル予測制御が行われることで、モデル予測制御を用いた追従のためのサーボ制御において、当該サーボ制御の駆動源となる積分量が好適に調整され、オーバーシュートを抑制したサーボ制御の実現が可能となる。更に、制御入力ｕがジャーク入力とされるとともにフィルタ部７による減衰処理が施されることで、サーボ制御時の実プラント６の振動を好適に抑制することが可能となる。そして、複数の制御軸を含む実プラント６に対して、上記のパラメータ設定方法を経て各制御軸に対して図１Ａに示す制御構造を構築し、各制御軸でモデル予測制御を実行した場合のシミュレーション結果を図１２に示す。図１２では、第１の制御軸の出力を横軸とし第２の制御軸の出力を縦軸として設定される作業座標系において、目標指令の軌跡を線Ｌ５で表し、実プラント６の出力の軌跡を線Ｌ６で表している。図１２の開示から明らかなように、実プラント６の出力が目標指令へ好適に追従している。
【００６０】
＜第４の構成例＞
第４の構成例では、モデル予測制御部４３に相当するモデル予測制御部５３を含んで標準ＰＬＣ５に形成される制御構造について、図１３に基づいて説明する。標準ＰＬＣ５は、指令生成部５０、積分器５１、状態取得部５２、モデル予測制御部５３、拡大プラントモデル５６０を有している。積分器５１、状態取得部５２、モデル予測制御部５３については、それぞれ図３、図６、図８に示す積分器４１、状態取得部４２、モデル予測制御部４３に実質的に相当するものであるから、その詳細な説明は省略する。
【００６１】
指令生成部５０は、実プラント６の出力を指示する目標指令ｒを生成する。本構成例では、この目標指令ｒは、標準ＰＬＣ５から直接サーボドライバ４に供給されるのではなく、モデル予測制御部５３によるモデル予測制御に供されることになる。また、拡大プラントモデル５６０は、図３や図６に示す拡大プラント６０、又は図８に示す更なる拡大プラント６００をモデル化したプラントモデルを含む拡大系モデルを有し、その拡大系モデルを用いて拡大プラント６０等の出力をシミュレーションする。そのシミュレーション結果は、拡大プラントモデル５６０の出力ｙとされる。なお、拡大プラントモデル５６０の出力ｙは、フィードバック系によって積分器５１の入力側にフィードバックされる。
【００６２】
ここで、本構成例では、指令生成部５０によって生成された目標指令ｒと、フィードバックされた拡大プラントモデル５６０の出力ｙとの偏差ｅ（ｅ＝ｒ−ｙ）が、積分器５１に入力される。そして、その積分器５１の出力ｚは、状態取得部５２を経てモデル予測制御部５３に入力される。
【００６３】
ここで、状態取得部５２は、モデル予測制御部５３によって行われるモデル予測制御に供される、上記拡大系モデルに関する状態ｘに含まれる状態変数の値を取得する。状態取得部５２による状態変数の取得については、上述までの構成例１〜３で示した状態取得部４２による状態変数の取得と実質的に同じである。そして、モデル予測制御部５３は、状態取得部５２が取得する状態ｘと、自身の出力する拡大プラントモデル５６０への入力ｕとを用いて、モデル予測制御を実行する。モデル予測制御部５３によるモデル予測制御については、上述までの構成例１〜３で示したモデル予測制御部４３によるモデル予測制御と実質的に同様に、そこで利用される予測モデルに、上記偏差ｅと、所定の積分ゲインとの積で表される積分項が含まれている。
【００６４】
このように形成された制御構造によって、図１３に示す標準ＰＬＣ５は、拡大プラントモデル５６０のシミュレーション結果である出力ｙを、実プラント６の出力がオーバーシュート状態となるのを抑制しつつ目標指令ｒに好適に追従させる指令としてサーボドライバ４側に供給することができる。すなわち、上記標準ＰＬＣ５は、実際の制御対象である実プラント６の制御量は直接フィードバックされてはいないが、目標指令ｒによる目標軌道が時々刻々変化していく場合でも、モデル予測制御を行いながら実プラント６の出力における定常偏差の発生を抑制することを可能とする。
【００６５】
そして、このように構成される制御構造を有する標準ＰＬＣ５に対しても、モデル予測制御での評価関数の重み係数の設定については、図４に示すパラメータ設定方法を適用することができる。このようなパラメータ設定を経て標準ＰＬＣ５内でモデル予測制御が行われることで、モデル予測制御を用いた追従のためのサーボ制御において、当該サーボ制御の駆動源となる積分量が好適に調整され、オーバーシュートを抑制したサーボ制御の実現が可能となる。
【００６６】
＜第５の構成例＞
第５の構成例は、第４の構成例のようにモデル予測制御部５３を含む制御構造を有する
標準ＰＬＣ５の変形例に関するものであり、図１４及び図１５に基づいて説明する。図１４は、本構成例の標準ＰＬＣ５の制御構造を示しており、第４の構成例の標準ＰＬＣ５が有する機能部と実質的に同一のものについては、同一の参照番号を付してその詳細な説明は省略する。なお、本構成例では、プラント６は、図１５の上段（ａ）に示すロボットアーム６とされる。したがって、拡大プラントモデル５６０は、そのロボットアーム６の構造を反映した拡大系モデルを有し、その拡大系プラントモデルを用いて上述までの拡大プラントモデル６０等のシミュレーションを行う。
【００６７】
ここで、プラントであるロボットアーム６について、図１５（ａ）に基づいて説明する。なお、ロボットアーム６は、標準ＰＬＣ５からの目標指令に従って駆動される２台のモータ２（モータ２ａ及びモータ２ｂ）を有する。ロボットアーム６では、モータ２ａを第１関節として第１アーム３ａが回転駆動されるようにモータ２ａの出力軸に第１アーム３ａの一端が取り付けられる。更に、第１アーム３ａの他端にモータ２ｂが配置され、そのモータ２ｂを第２関節として第２アーム３ｂが回転駆動されるようにモータ２ｂの出力軸に第２アーム３ｂの一端が取り付けられる。そして、第２アーム３ｂの先端部３ｃはロボットアーム６の出力部であり、例えば、所定物を把持するためのエンドエフェクタが取り付けられる。そして、ロボットアーム６において、第１アーム３ａの回転面と第２アーム３ｂの回転面は同一平面であり、当該回転面を定義するための直交座標としてｘ１軸とｘ２軸が設定されている。当該直交座標が、ロボットアーム６に関連する作業座標となり、ロボットアーム６の先端部３ｃの位置を、当該直交座標上で画定することができる。そして、本構成例の指令生成部５０は、ロボットアーム６の先端部３ｃが追従すべき所定の指令ｒを生成する。この指令ｒは、ロボットアーム６に関連する作業座標系（図１５を参照）に基づくものである。
【００６８】
次に算出部５７０について説明する。制御入力ｕが入力されて得られる、拡大プラントモデル５６０の出力ｙは、図１５に示す作業座標系に基づくものである。一方で、ロボットアーム６を構成するモータ２ａ、２ｂは、回転駆動されるアクチュエータであり、それぞれのモータには、サーボドライバ４によるサーボ制御のために、作業座標系とは異なる独立した座標系である回転座標系が設定されている。したがって、出力ｙは、そのままではモータ２ａ、２ｂを駆動するための目標指令とはなり得ない。そこで、算出部５７０は、拡大プラントモデル５６０の出力ｙから、各モータの回転座標系に基づいた目標指令への変換のための算出処理を行う。
【００６９】
算出部５７０による算出処理は、ロボットアーム６の装置構造の幾何学関係に従って行われる。図１５の下段（ｂ）に、ロボットアーム６の装置構造を示す。なお、説明を簡便にするために、図１５（ｂ）では、モータ２ａが配置される第１関節を作業座標系の原点に位置させている。第１アーム３ａの長さをＬ１とし、第２アーム３ｂの長さをＬ２、先端部３ｃの位置を（ｘ１，ｘ２）としたときに、ロボットアーム６の装置構造の幾何学関係を考慮すると、モータ２ａ、２ｂの回転角θ１、θ２は、下記の式３４で表すことができる。なお、モータ２ａの回転角θ１は、ｘ１軸と第１アーム３ａとの間の角と定義され、モータ２ｂの回転角θ２は、第１アーム３ａと第２アーム３ｂとの間の角と定義される。
【数３２】
2019125367.tif 000034
・・・（式３４）
ただし、式３４中の関数ａｔａｎ２は、ａｔａｎ２（ｘ，ｙ）で表すとき直交座標系における（ｘ，ｙ）の偏角を返す関数である。
【００７０】
このように算出部５７０により、拡大プラントモデル５６０の出力ｙから算出されたθ１、θ２は、モータ２ａ、２ｂをサーボ制御するために好適な、各モータの位置（角度）に関する目標指令である。そこで、算出部５７０による算出結果は、供給部５８０によってサーボドライバ４へと供給され、そこでのサーボ制御（フィードバック制御）に供されることになる。このように本実施形態の制御システムでは、標準ＰＬＣ５において行われるモデル予測制御は、ロボットアーム６に関連する作業座標系に基づいて行われる。そのため、ロボットアーム６の出力を、同じように作業座標系に基づいた所定の指令ｒに好適に追従させやすくなる。更に、算出部５７０による上記算出処理を経由することで、作業座標系に基づいたモデル予測制御の結果を、回転座標系に基づいたモータ２ａ、２ｂのサーボ制御に好適に適用できる目標指令に変換することができる。このとき、当該算出処理は、ロボットアーム６の装置構造の幾何学関係に基づくことから、演算誤差の蓄積に起因するロボットアーム６の出力誤差（位置誤差）の発生を好適に回避することができる。このことは、ロボットアーム６の追従性を考慮する上で、極めて有用な効果である。
【００７１】
そして、このように構成される制御構造を有する標準ＰＬＣ５に対しても、モデル予測制御での評価関数の重み係数の設定については、図４に示すパラメータ設定方法を適用することができる。特に、本構成例では、標準ＰＬＣ５内のモデル予測制御部５３が有する予測モデルは、直交座標である作業座標系に基づくものであるため、当該パラメータ設定方法に従うことで直感的に評価関数における各重み係数Ｑｆ、Ｑ、Ｒを設定することができ、その設定に関する負荷を好適に軽減できる。そして、このようなパラメータ設定を経て標準ＰＬＣ５内でモデル予測制御が行われることで、モデル予測制御を用いた追従のためのサーボ制御において、当該サーボ制御の駆動源となる積分量が好適に調整され、オーバーシュートを抑制したサーボ制御の実現が可能となる。
【００７２】
＜第６の構成例＞
実プラント６が複数の制御軸を有する場合、構成例１〜３に示したサーボ制御のための制御構造は、構成例４及び構成例５に示すように標準ＰＬＣ５内に形成するのが好ましい。そのような構成により、サーボドライバ４を各制御軸に適合させる必要が無くなり、実プラント６のサーボ制御のためのシステム全体を構築しやすくなる。もちろん、サーボド
ライバ４を各制御軸に適合させた上で当該システムを構築しても構わない。
【符号の説明】
【００７３】
１・・・・ネットワーク
２・・・・モータ
３・・・・負荷装置
４・・・・サーボドライバ
５・・・・標準ＰＬＣ
６・・・・プラント
６ａ・・・・第２積分器
７・・・・フィルタ部
４１・・・・第１積分器
４２・・・・状態取得部
４３・・・・モデル予測制御部
５０・・・・指令生成部
５１・・・・積分器
５２・・・・状態取得部
５３・・・・モデル予測制御部
６０・・・・拡大プラント
５６０・・・・拡大プラントモデル
５７０・・・・算出部
５８０・・・・供給部
６００・・・・更なる拡大プラント
【図１Ａ】
2019125367.tif 000036
【図１Ｂ】
2019125367.tif 000037
【図１Ｃ】
2019125367.tif 000038
【図２】
2019125367.tif 000039
【図３】
2019125367.tif 000040
【図４】
2019125367.tif 000041
【図５】
2019125367.tif 000042
【図６】
2019125367.tif 000043
【図７】
2019125367.tif 000044
【図８】
2019125367.tif 000045
【図９】
2019125367.tif 000046
【図１０】
2019125367.tif 000047
【図１１】
2019125367.tif 000048
【図１２】
2019125367.tif 000049
【図１３】
2019125367.tif 000050
【図１４】
2019125367.tif 000051
【図１５】
2019125367.tif 000052