(57)【要約】【課題】経験とノウハウとを持たない作業者でも制御パラメータを調整できるといったシミュレーションによる制御パラメータを最適化する技術の利点を生かしつつ、その問題点であるモデル誤差を排除してより精度の高い制御パラメータの調整を可能にする。【解決手段】マシンモデル（１５）を有し、制御パラメータの調整を行う際に、マシン（４０）の動作時のデータを用いてマシンモデル（１５）を更新するモデル更新部（１２）と、制御パラメータを広い範囲で探索し、更新済のマシンモデル（１５）を用いたシミュレーションを繰り返し行わせて制御パラメータの最適値となる候補を抽出するシミュレーション調整部（１３）と、抽出された候補にて決定される狭い範囲内で制御パラメータを探索し、マシン（４０）を繰り返し動作させて制御パラメータの最適値を抽出する実機調整部（１４）とを備える。【選択図】図１
2017102619.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御パラメータに基づいて制御する制御システムが保持する制御パラメータを調整する制御パラメータ調整装置であって、
制御パラメータの調整を行う際に、前記制御対象の動作時のデータを用いて前記制御対象のモデルである制御対象モデルを更新するモデル更新部と、
更新済の前記制御対象モデルを用いたシミュレーションを、第１範囲で制御パラメータを探索して繰り返し行わせ、前記制御パラメータの最適値となる候補を抽出する第１探索部と、
前記制御対象を、前記第１探索部にて抽出された候補にて決定される前記第１範囲よりも狭い第２範囲内で制御パラメータを探索して繰り返し動作させ、前記制御対象の動作結果を取得する第２探索部と、
を備えることを特徴とする制御パラメータ調整装置。
【請求項２】
前記制御対象は、サーボモータを備え、
前記制御システムは、オートチューニング機能を有する、前記サーボモータのサーボドライバを含み、
前記モデル更新部は、前記サーボドライバにオートチューニングを実行させることで前記制御対象の動作時のデータを取得し、取得した動作時のデータに基づいて前記制御対象モデルの特性パラメータを更新することを特徴とする請求項１に記載の制御パラメータ調整装置。
【請求項３】
前記制御対象は、サーボモータを備え、
前記制御システムは、サーボドライバを含み、
前記モデル更新部は、前記サーボモータのモデルであるサーボモータモデルと前記制御対象の設計情報に基づいて生成された制御対象モデルとを用いたシミュレーションを繰り返し行わせ、シミュレーション結果と前記制御パラメータの初期値にて前記制御対象を動作させて取得した動作時のデータとに基づいて前記制御対象モデルの特性パラメータを最適化することを特徴とする請求項１又は２に記載の制御パラメータ調整装置。
【請求項４】
前記第１探索部にて取得されたシミュレーション結果をユーザが評価し得るように表示装置に表示する表示制御部を備えることを特徴とする請求項１、２又は３に記載の制御パラメータ調整装置。
【請求項５】
制御対象を制御パラメータに基づいて制御する制御システムが保持する制御パラメータを調整する制御パラメータ調整方法であって、
制御パラメータの調整を行う際に、前記制御対象の動作時のデータを用いて前記制御対象のモデルである制御対象モデルを更新するモデル更新ステップと、
前記モデル更新ステップにて更新された前記制御対象モデルを用いたシミュレーションを、第１範囲で制御パラメータを探索して繰り返し行わせ、前記制御パラメータの最適値となる候補を抽出する第１探索ステップと、
前記制御対象を、前記第１探索ステップにて抽出された候補にて決定される前記第１範囲よりも狭い第２範囲内で制御パラメータを探索して繰り返し動作させ、前記制御対象の動作結果を取得する第２探索テップと、
を含むことを特徴とする制御パラメータ調整方法。
【請求項６】
請求項５に記載の制御パラメータ調整方法をコンピュータに実現させる制御パラメータ調整プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置の持つ制御パラメータを調整する制御パラメータ調整装置および制御パラメータ調整方法と、制御パラメータ調整方法の実現に用いられる制御パラメータ調整プログラムに関する。
【背景技術】
【０００２】
制御装置は、制御パラメータに従って制御対象を制御する。このような制御装置の制御パラメータの調整方法としては、実際に制御対象を制御装置で制御する構成とし、作業者が経験とノウハウとを使って制御パラメータを色々と調整し、試行錯誤的に最適な値に決定する方法がある。試行錯誤的に行うとはつまり、制御パラメータの種類およびその値を色々変えて入力し、そのときに制御装置から与えられる操作量に応答して制御対象が出力する制御量の動きを得て、それを制御目標量と比較することを繰り返すことで、制御パラメータの最適値を見つけ出すことである。
【０００３】
しかしながら、このように実際に制御対象を制御して最適化する方法では、制御対象（例えば、炉）によっては制御量が得られるまでに数時間もかかる場合もあり、その場合、制御パラメータの調整に多大な労力と調整コストとを強いられる。
【０００４】
そこで、従来、実際に制御対象を制御するのではなく、制御対象のモデルを用いたシミュレーションを行うことで制御量を取得することも行われている（例えば、特許文献１）。これによれば、制御量を短時間で得ることができるので、制御量の取得に時間がかかる場合でも、制御パラメータの調整時間を短くすることができる。
【０００５】
また、シミュレーションで制御量を得るだけでなく、制御対象を表現する伝達関数（モデル）として最適なものを選択し、該伝達関数を用いたシミュレーションでの最適化を行により、評価指標を満たす制御パラメータ（最適値）を探索することなども行われている（例えば、特許文献２）。
【０００６】
特許文献１の場合、シミュレーションを用いて制御量を得たとしても、試行錯誤的に制御パラメータを調整する方法であるので、作業者に経験とノウハウとが必要となる。これに対し、特許文献２は、調整すべき制御パラメータの選択および値の最適化までが調整装置にて実施されるので、経験とノウハウとを持たない作業者であっても、制御パラメータを調整することが可能となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−３８４２８号公報（２００４年２月５日公開）
【特許文献２】特開１０−２６６９６７号公報（２０１０年１１月２５日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献２のようなシミュレーションにのみ基づいて制御パラメータを最適化する従来技術は、シミュレーションに用いるモデル（伝達関数）を如何に最適なものとしても、モデル誤差を排除しきれるものではなく、調整結果にモデル誤差が含まれてしまう。
【０００９】
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、経験とノウハウとを持たない作業者であっても、制御パラメータを調整することができるといった、シミュレーションによる制御パラメータを最適化する技術の利点を生かしつつ、その問題点であるモデル誤差を排除して、より精度の高い制御パラメータの調整を可能とする制御パラメータ制御装置等を提供することにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明の制御パラメータ調整装置は、制御対象を制御パラメータに基づいて制御する制御システムが保持する制御パラメータを調整する制御パラメータ調整装置であって、制御パラメータの調整を行う際に、前記制御対象の動作時のデータを用いて前記制御対象のモデルである制御対象モデルを更新するモデル更新部と、更新済の前記制御対象モデルを用いたシミュレーションを、第１範囲で制御パラメータを探索して繰り返し行わせ、前記制御パラメータの最適値となる候補を抽出する第１探索部と、前記制御対象を、前記第１探索部にて抽出された候補にて決定される前記第１範囲よりも狭い第２範囲内で制御パラメータを探索して繰り返し動作させ、前記制御対象の動作結果を取得する第２探索部と、を備えることを特徴としている。
【００１１】
上記構成によれば、まずは、第１探索部が、制御対象モデルを用いたシミュレーションを、第１範囲で制御パラメータを探索して繰り返し行い、制御パラメータの最適値の候補を抽出する。制御対象を実際に動作させて行う実機を用いた調整では、経験とノウハウとを持たない作業者の場合、調整すべき制御パラメータの種類や順序も分からず、非常に困難な作業を強いられる。しかしながら、このように制御対象モデルを用いたシミュレーションによる調整を先に実施することで、制御パラメータの種類や順序が分からなくても、制御パラメータをある程度まで調整することができる。
【００１２】
但し、シミュレーションによる調整には、必然的にモデル誤差が含まれるため、モデル誤差に起因する最適値からのズレが残る。そこで、上記構成によれば、第２探索部が、制御対象を、第１探索部にて抽出された候補にて決定される第１範囲よりも狭い第２範囲内で制御パラメータを探索して繰り返し動作させ、その動作結果を取得する。第２探索部による調整は、実機を用いた調整であるが、第１探索部にて制御パラメータの探索すべき範囲が十分に絞り込まれているので、モデル誤差をカバーできる程度の狭い領域を探索すればよく、処理時間が長くなることはない。また、調整すべき制御パラメータの種類等も既に確定しているので、たとえ第２探索部による制御パラメータの探索を作業者自らが行う構成とした場合でも、制御パラメータの値を候補付近の狭い範囲内で変えるだけで、必要な動作結果を容易に取得することができる。
【００１３】
第２探索部が取得した制御対象の動作結果は、制御パラメータにて制御対象に与えた操作量に応じて制御対象が動作した制御量（制御対象が出力する制御量）を表すものであり、制御対象に与えた操作量と制御対象が動作した制御量とのずれを評価することで、制御パラメータの最適値を見つけ出すことがきる。
【００１４】
しかも、上記構成では、モデル更新部が、制御パラメータの調整を行う際に、制御対象モデルを制御対象の動作時のデータを用いて更新するので、制御対象モデルのモデル誤差を小さくすることできる。その結果、第１探索部にて抽出される制御パラメータの最適値の候補を、実機を用いた調整となる第２探索部による制御パラメータの最適値により近づけることができ、第２探索部による探索範囲をより的確なものとして、処理時間等を短くすることができる。
【００１５】
これにより、経験とノウハウとを持たない作業者であっても、制御パラメータを調整することができるといった、シミュレーションによる制御パラメータを最適化する技術の利点を生かしつつ、その問題点であるモデル誤差を排除して、より精度の高い制御パラメータの調整を可能にできるという効果を奏する。
【００１６】
本発明の制御パラメータ調整装置は、さらに、前記制御対象は、サーボモータを備え、前記制御システムは、オートチューニング機能を有する、前記サーボモータのサーボドライバを含み、前記モデル更新部は、前記サーボドライバにオートチューニングを実行させることで前記制御対象の動作時のデータを取得し、取得した動作時のデータに基づいて前記制御対象モデルのパラメータを更新する構成とすることもできる。
【００１７】
これによれば、サーボドライバが備えるオートチューニング機能を用いることで、簡単に制御対象モデルを更新することができる。
【００１８】
本発明の制御パラメータ調整装置は、さらに、前記制御対象は、サーボモータを備え、前記制御システムは、前記サーボモータのサーボドライバを含み、前記モデル更新部は、前記サーボモータのモデルであるサーボモータモデルと前記制御対象の設計情報に基づいて生成された制御対象モデルとを用いたシミュレーションを繰り返し行わせ、シミュレーション結果と前記制御パラメータの初期値にて前記制御対象を動作させて取得した動作時のデータとに基づいて前記制御対象モデルの特性パラメータを最適化する構成とすることもできる。
【００１９】
これによれば、ガントリ機構や走行台車のように複数軸が連結されている機構のような、サーボドライバのオートチューニングが使えない場合にも、マシンモデルを更新することができる。
【００２０】
本発明の制御パラメータ調整装置は、さらに、前記第１探索部にて取得されたシミュレーション結果をユーザが評価し得るように表示装置に表示する表示制御部を備える構成とすることもできる。
【００２１】
これによれば、第１探索部にて取得されたシミュレーション結果が表示装置にユーザが評価し得るように表示され、ユーザは、表示内容に基づいて制御パラメータの調整の進行具合等を確認することができる。
【００２２】
本発明の制御パラメータ調整方法は、制御対象を制御パラメータに基づいて制御する制御システムが保持する制御パラメータを調整する制御パラメータ調整方法であって、制御パラメータの調整を行う際に、前記制御対象の動作時のデータを用いて前記制御対象のモデルである制御対象モデルを更新するモデル更新ステップと、前記モデル更新ステップにて更新された前記制御対象モデルを用いたシミュレーションを、制御パラメータを広い範囲で探索して繰り返し行わせて、前記制御パラメータの最適値となる候補を抽出する第１探索ステップと、前記制御対象を、前記第１探索ステップにて抽出された候補にて決定される狭い範囲内で制御パラメータを探索して繰り返し動作させて動作結果を取得する第２探索テップと、を含むことを特徴とする。また、本発明の制御パラメータ調整プログラムは、このような本発明の制御パラメータ調整方法をコンピュータに実現させるものである。さらに、このような本発明の制御パラメータ調整プログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００２３】
本発明は、経験とノウハウとを持たない作業者であっても、制御パラメータを調整することができるといった、シミュレーションによる制御パラメータを最適化する技術の利点を生かしつつ、その問題点であるモデル誤差を排除して、より精度の高い制御パラメータの調整を可能とする制御パラメータ制御装置等を提供することができるという効果を奏する。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施の形態に係る制御パラメータ調整装置を含む制御パラメータ調整システムの一構成例を示すブロック図である。
【図２】上記制御パラメータ調整装置におけるシミュレーション調整部は、シミュレーションにて制御パラメータを調整する構成を示すブロック図である。
【図３】上記制御パラメータ調整装置における実機調整部が、制御システムを用いて実際にマシン４０を動作させて制御パラメータを調整する構成を示すブロック図である。
【図４】上記制御パラメータ調整装置における制御パラメータの調整手順を示すフローチャートである。
【図５】図４におけるＳ１の詳細手順を示すフローチャートである。
【図６】図４におけるＳ２の詳細手順を示すフローチャートである。
【図７】図４におけるＳ３の詳細手順を示すフローチャートである。
【図８】上記制御パラメータ調整装置における動作結果表示部が、モニターに表示する動作結果の表示例を示す図である。
【図９】本発明の第２の実施の形態に係る制御パラメータ調整装置を含む制御パラメータ調整システムの一構成例を示すブロック図である。
【図１０】上記制御パラメータ調整装置におけるモデル更新部が、マシンを動作させてマシンの動作時のデータを取得し、これを用いてシミュレーションにてマシンモデルを更新する構成を示すブロック図である。
【図１１】上記制御パラメータ調整装置におけるモデル更新部の、マシンモデルの更新手順を示すフローチャートである。
【発明を実施するための形態】
【００２５】
［第１の実施の形態］
以下において、本発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００２６】
図１は、本発明の実施の形態に係る制御パラメータ調整装置１０を含む制御パラメータ調整システム１の一構成例を示すブロック図である。
【００２７】
図１に示すように、制御パラメータ調整システム１には、制御パラメータ調整装置１０と、制御パラメータが調整される制御システム３０と、該制御システム３０にて制御されるマシン（制御対象）４０とが含まれる。
【００２８】
マシン４０は、例えばＸＹテーブルを備えた製造装置であり、Ｘ軸サーボモータ４１と、Ｙ軸サーボモータ４２とを備える。
【００２９】
制御システム３０は、保持する制御パラメータに従ってマシン４０を制御するもので、制御ユニット３１、Ｘ軸サーボドライバ３５、Ｙ軸サーボドライバ３６を備えている。これら制御ユニット３１、Ｘ軸サーボドライバ３５、Ｙ軸サーボドライバ３６はそれぞれ、図示しないＥＥＰＲＯＭ（登録商標）等からなる不揮発性メモリを備えており、該不揮発性メモリに制御パラメータが格納されている。
【００３０】
制御ユニット３１と、Ｘ軸サーボドライバ３５およびＹ軸サーボドライバ３６とは、図示しない通信インターフェイスを介して接続されている。同様に、Ｘ軸サーボドライバ３５とマシン４０のＸ軸サーボモータ４１、Ｙ軸サーボドライバ３６とマシン４０のＹ軸サーボモータ４２も、図示しない通信インターフェイスを介して接続されている。
【００３１】
制御ユニット３１は、ＣＰＵ，ＲＯＭ、ＲＡＭ等を備えており、ＣＰＵがＲＯＭ，ＲＡＭに記憶されたプログラムを実行することで、目標軌道生成部３２と制御部３３とが構築される。
【００３２】
目標軌道生成部３２は、マシン４０に実施させる動作情報が入力されると、保持している速度パターン等の制御パラメータに従って目標軌道の軌道パターンを生成して、制御部３３へ出力する。目標軌道の軌道パターンは、Ｘ軸サーボモータ４１用とＹ軸サーボモータ４２用との２つが生成される。
【００３３】
制御部３３は、目標軌道生成部３２から目標軌道の軌道パターンが入力されると、保持している速度フィードフォワードゲインなどの制御パラメータに従って、Ｘ軸サーボドライバ３５およびＹ軸サーボドライバ３６のそれぞれに、マシン４０を軌道パターンに従って動かすための指令値を送信する。
【００３４】
Ｘ軸サーボドライバ３５は、制御部３３から指令値を受信すると、保持する位置ループゲイン等の制御パラメータに従ってＸ軸サーボモータ４１を制御する。同様に、Ｙ軸サーボドライバ３６は、制御部３３から指令値を受信すると、保持する位置ループゲイン等の制御パラメータに従ってＹ軸サーボモータ４２を制御する。
【００３５】
制御パラメータ調整装置１０は、例えば携帯用のコンピュータ（ＰＣ）４において、ＣＰＵがＲＯＭ，ＲＡＭに記憶されたプログラムを実行することで構築される。ＣＰＵがＲＯＭ，ＲＡＭに記憶されたプログラムを実行することで、シミュレータ部２６も構築される。また、ＰＣ４は、図示してはいないが、モニター、キーボード、マウス、通信インターフェイスなどを備えており、ＰＣ４が備える通信インターフェイスを介して、制御パラメータ調整装置１０は制御システム３０と接続されている。
【００３６】
制御パラメータ調整装置１０は、モデル更新部１２、シミュレーション調整部（第１探索部）１３、実機調整部（第２探索部）１４、動作結果表示部１６を備えている。
【００３７】
モデル更新部１２は、後述するシミュレーション調整部１３が制御システム３０の制御パラメータを最適化する際に用いるマシンモデル（制御対象モデル）１５を更新するものである。マシンモデル１５は、マシン４０を公知のモデリング手法でモデル化したものであり、本実施の形態では、例えばシミュレータ部２６に保持されている。モデル更新部１２は、制御パラメータを調整する際に、マシン４０を動作させてマシン４０の動作時データを取得し、これを用いてマシンモデル１５を更新する。
【００３８】
本実施の形態では、モデル更新部１２は、マシン４０の動作時データを、Ｘ軸サーボドライバ３５およびＹ軸サーボドライバ３６が有しているオートチューニング機能を用いて取得する。オートチューニング機能とは、サーボドライバが、マシンを実際に動かして負荷イナーシャをリアルタイムに推定し、その結果に応じたゲインを自動的に設定してマシンを動作させる機能である。
【００３９】
モデル更新部１２は、Ｘ軸サーボドライバ３５およびＹ軸サーボドライバ３６それぞれでオートチューニングを行わせることで、Ｘ軸サーボモータ４１およびＹ軸サーボモータ４２の負荷イナーシャを取得する。そして、得られたＸ軸サーボモータ４１およびＹ軸サーボモータ４２の負荷イナーシャから、Ｘ軸サーボドライバ３５およびＹ軸サーボドライバ３６それぞれのイナーシャ比を得る。得られたＸ軸サーボドライバ３５およびＹ軸サーボドライバ３６それぞれのイナーシャ比から、マシンモデル１５のマシン特性パラメータ（特性パラメータ）であるＸ軸、Ｙ軸それぞれの総イナーシャを算出する。
【００４０】
ここで、マシンモデルとサーボドライバのイナーシャ比の関係を説明する。１慣性系のマシンモデルは、下記の式（１）で表され、このようなマシンモデルはＸ軸、Ｙ軸それぞれ同様にある。
【００４１】
マシンモデル（１慣性系）：
サーボモータの回転加速度（出力）＝１／総イナーシャ×トルク（入力）…（１）
このモデルにおけるマシン特性パラメータは総イナーシャである。総イナーシャは、サーボモータのロータイナーシャと負荷イナーシャとの合計である。サーボモータのロータイナーシャは既知であるため、負荷イナーシャが未知パラメータとなる。
【００４２】
一方、サーボドライバのパラメータのイナーシャ比は、下記の式（２）で定義される。
【００４３】
イナーシャ比＝
負荷イナーシャ／サーボモータのロータイナーシャ×１００［％］…（２）
したがって、総イナーシャは、下記の式（３）で表される。
【００４４】
総イナーシャ＝
（１＋イナーシャ比／１００）×サーボモータのロータイナーシャ…（３）
上記の式（３）を用いることで、サーボドライバで推定したイナーシャ比から、マシンモデルのマシン特性パラメータの総イナーシャを算出できる。
【００４５】
Ｘ軸、Ｙ軸それぞれの総イナーシャが、制御対象であるマシン４０のマシンモデル１５の中にマシン特性パラメータとして含まれている。
【００４６】
なお、ここでは、イナーシャ比を用いたが、イナーシャ比だけに限定されるものではなく、サーボドライバの持つ情報を利用して、マシンモデルのマシン特性パラメータを計算できるものであればよい。例えば、サーボドライバが持つ適応ノッチフィルタのパラメータ値を使うことで、マシンモデルを多慣性系の場合にも拡張することができる。
【００４７】
シミュレーション調整部（第１探索部）１３は、シミュレータ部２６に、更新されたマシンモデル１５を用いたシミュレーションを繰り返し行わせ、シミュレーション結果に基づいて、制御システム３０の制御パラメータの最適値候補を抽出するものである（制御パラメータの最適化）。シミュレーション調整部１３は、制御パラメータの値をマシン４０が実際には動作しないような値を含む広い範囲（第１範囲）で繰り返し変更して、制御パラメータの最適値候補を見つけ出す。シミュレーション調整部１３は、制御パラメータを最適化する機能を備えており、ＰＳＯ(粒子群最適化)などを最適化アルゴリズムとして利用する。本実施の形態では、シミュレーション調整部１３は、取得したシミュレーション結果、評価結果を、動作結果表示部１６に送信する。
【００４８】
実機調整部（第２探索部）１４は、シミュレーション調整部１３にて抽出された制御パラメータの最適値候補にて決定される狭い範囲（第２範囲）内でマシン４０を繰り返し動作させて、その動作結果を取得するものである。最適値候補にて決定される狭い範囲内とは、最適値候補を含む最適値候補の近傍の限られた範囲である。
【００４９】
実機調整部１４は、制御システム３０に設定する制御パラメータの値を、最適値候補にて決定される狭い範囲内でマシン４０を繰り返し動作させ、その動作結果（実位置など）を制御システム３０から取得する。本実施の形態では、実機調整部１４は、取得した動作結果に基づいて制御パラメータの最適値を見つけ出す。実機調整部１４もシミュレーション調整部１３と同様に、制御パラメータを最適化する機能を備えており、ＰＳＯ(粒子群最適化)などを最適化アルゴリズムとして利用する。実機調整部１４で最適化された制御パラメータは制御システム３０へと転送され、設定される。
【００５０】
動作結果表示部１６は、ＰＣ４が備えるモニターに、シミュレーション調整部１３より受信したシミュレーション結果、評価結果をユーザが評価し得るように表示するものである。表示例については後述する。
【００５１】
図２は、シミュレーション調整部１３が、シミュレーションにて制御パラメータを調整する構成を示すブロック図である。
【００５２】
図２に示すように、シミュレータ部２６には、目標軌道生成部３２のモデルである目標軌道生成部モデル１９、制御部３３のモデルである制御部モデル２０、Ｘ軸サーボドライのモデルであるＸ軸サーボドライバモデル２１、Ｙ軸サーボドライバ３６のモデルであるＹ軸サーボドライバモデル２２、マシンモデル１５が含まれる。
【００５３】
シミュレーション調整部１３は、制御パラメータ探索部１３−１、制御パラメータ設定部１３−４、結果取得部１３−２、結果評価部１３−３を備えている。制御パラメータ探索部１３−１は、広い範囲（第１範囲）から制御パラメータを探索して抽出する。制御パラメータ設定部１３−４は、制御パラメータ探索部１３−１にて抽出された制御パラメータを、目標軌道生成部モデル１９、制御部モデル２０、Ｘ軸サーボドライバモデル２１、Ｙ軸サーボドライバモデル２２に設定する。制御パラメータ探索部１３−１および制御パラメータ設定部１３−４は、結果評価部１３−３にて制御パラメータの最適値候補が決定されるまで、制御パラメータの探索および設定を繰り返す。
【００５４】
シミュレータ部２６は、目標軌道生成部モデル１９、制御部モデル２０、Ｘ軸サーボドライバモデル２１、Ｙ軸サーボドライバモデル２２、更新されたマシンモデル１５を用いてシミュレーションを実施する。
【００５５】
結果取得部１３−２は、シミュレーション毎にシミュレーション結果（目標軌道、指令位置、実位置／実速度／実トルク）を取得し、結果評価部１３−３は、結果が取得される毎にシミュレーション結果を評価する。結果評価部１３−３は、シミュレーション結果が、評価基準を満たすか否かを判定する。評価基準は、例えばシミュレーションによる軌跡と目標軌跡との誤差で表される。結果評価部１３−３は、誤差が予め設定された基準値（評価基準）を下回ると、当該シミュレーションにおいて設定されていた制御パラメータの値を制御パラメータの最適値候補とする。
【００５６】
図３は、実機調整部１４が、制御システム３０を用いて実際にマシン４０を動作させて制御パラメータを調整する構成を示すブロック図である。
【００５７】
図３に示すように、実機調整部１４は、制御パラメータ探索部１４−１、制御パラメータ設定部１４−４、結果取得部１４−２、結果評価部１４−３を備えている。制御パラメータ探索部１４−１は、シミュレーション調整部１３が算出した制御パラメータの最適値候補を含むその近傍の狭い範囲（最適値候補の周辺）内で制御パラメータを探索して抽出する。制御パラメータ設定部１４−４は、制御パラメータ探索部１４−１にて抽出された制御パラメータを、制御システム３０における、目標軌道生成部３２、制御部３３、Ｘ軸サーボドライバ３５およびＹ軸サーボドライバ３６に設定する。
【００５８】
制御システム３０は、目標軌道生成部３２、制御部３３、Ｘ軸サーボドライバ３５およびＹ軸サーボドライバ３６に制御パラメータが設定されると、設定された制御パラメータに従ってマシン４０を制御して動作させる。
【００５９】
制御パラメータ探索部１４−１および制御パラメータ設定部１４−４は、結果評価部１４−３にて制御パラメータの最適値が決定されるまで、制御パラメータの探索および設定を繰り返す。
【００６０】
結果取得部１４−２は、マシン４０を動作させる毎に動作結果（目標軌道、指令位置、実位置／実速度／実トルク）を取得し、結果評価部１４−３は、結果が取得される毎に動作結果を評価する。結果評価部１４−３は、動作結果が、評価基準を満たすか否かを判定する。評価基準は、例えば実際の動作による軌跡と目標軌跡との誤差で表される。結果評価部１４−３は、誤差が予め設定された基準値（評価基準）を下回ると、当該マシン４０の動作において設定されていた制御パラメータの値を制御パラメータの最適値とする。
【００６１】
図４は、制御パラメータ調整装置１０における制御パラメータの調整手順を示すフローチャートである。図５は、図４におけるＳ１の詳細手順を示すフローチャートである。図６は、図４におけるＳ２の詳細手順を示すフローチャートである。図７は、図４におけるＳ３の詳細手順を示すフローチャートである。図８は、動作結果表示部１６がモニターに表示する動作結果の表示例を示す図である。
【００６２】
図４に示すように、Ｓ１では、モデル更新部１２がマシンモデル１５を更新する。詳細には、図５に示すように、まず、Ｘ軸サーボドライバ３５およびＹ軸サーボドライバ３６にオートチューニングを実施させる（Ｓ１−１）。次に、Ｘ軸サーボドライバ３５およびＹ軸サーボドライバ３６それぞれのイナーシャ比などを取得する（Ｓ１−２）。次に、取得したＸ軸サーボドライバ３５およびＹ軸サーボドライバ３６それぞれのイナーシャ比からそれぞれの総イナーシャ（マシン特性パラメータ）を算出し、これをマシンモデル１５に設定する。これにより、マシンモデル１５が更新される。マシンモデル１５の更新が完了すると、処理は図４のＳ２に進められる。
【００６３】
図４のＳ２では、シミュレーション調整部１３が、更新済のマシンモデル１５を用いたシミュレーションによる制御パラメータの最適化を行う。詳細には、図６に示すように、まず、制御パラメータ探索部１３−１が広い範囲から制御パラメータを探索して抽出する（Ｓ２−１）。次に、制御パラメータ設定部１３−４が、目標軌道生成部モデル１９、制御部モデル２０、Ｘ軸サーボドライバモデル２１、Ｙ軸サーボドライバモデル２２に、抽出した制御パラメータを設定する（Ｓ２−２）。
【００６４】
各モデル１９，２０，２１，２２に制御パラメータが設定されると、シミュレータ部２６が更新済のマシンモデル１５を用いてシミュレーションを実施する（Ｓ２−３）。
【００６５】
シミュレーションが完了すると、結果取得部１３−２がシミュレーション結果を取得し（Ｓ２−４）、結果評価部１３−３が、シミュレーション結果の評価を実行する（Ｓ２−５）。また、結果取得部１３−２および結果評価部１３−３は、取得されたシミュレーション結果および評価結果を動作結果表示部１６に送信する（Ｓ２−６）。Ｓ２−７では、シミュレーション調整部１３が、評価結果部１３−３による評価結果が評価基準に達成していない場合は、処理をＳ２−１に戻す。一方、シミュレーション結果が評価基準に達成している場合は、評価基準に達している制御パラメータを最適値候補とし、処理は図４のＳ３に進められる。
【００６６】
図４のＳ３では、実機調整部１４が、Ｓ２で得られた制御パラメータの最適値候補を含むその近傍の狭い範囲内で繰り返しマシン４０を動作させて、制御パラメータを最適化する。詳細には、図７に示すように、まず、制御パラメータ探索部１４−１が、最適値候補を含むその近傍の狭い範囲を探索範囲として制御パラメータを抽出する（Ｓ３−１）。次に、制御パラメータ設定部１４−３が、抽出された制御パラメータを、目標軌道生成部３２、制御部３３、Ｘ軸サーボドライバ３５、Ｙ軸サーボドライバ３６に設定する（Ｓ３−２）。
【００６７】
制御システム３０は、目標軌道生成部３２、制御部３３、Ｘ軸サーボドライバ３５、Ｙ軸サーボドライバ３６に設定された制御パラメータに従ってマシン４０を動作させる（Ｓ３−３）。実機調整部１４が制御ユニット３１に動作開始信号を送り、シミュレータ部２６からマシン４０にトリガをかける。
【００６８】
マシン４０の動作が完了すると、結果取得部１４−２が動作結果を取得し（Ｓ３−４）、結果評価部１４−３が、動作結果の評価を実行する（Ｓ３−５）。Ｓ３−６では、実機調整部１４が、評価結果部１４−３による評価結果が評価基準に達成していない場合は、処理をＳ３−１に戻す。一方、評価結果が評価基準に達成している場合は、評価基準に達している制御パラメータを最適値とし、Ｓ４に戻り、制御パラメータの調整を−終了する。
【００６９】
図８に、動作結果表示部１６によるシミュレーション結果、評価結果の表示例を示す。
図８の（ａ）は、目標軌跡とマシン４０の動作結果として得られた実際の動作軌跡との誤差をグラフ化したものである。縦軸が誤差で横軸が時間である。図８の（ｂ）は、Ｘ軸/Ｙ軸の指令位置（指令値）に対する実位置（マシン４０の動作結果）を軌跡として示した例である。図８の（ｃ）は、Ｘ軸／Ｙ軸の位置（目標軌道／指令位置／実位置）、実速度、実トルク（マシン４０の動作結果）を時系列で示した例である。ユーザは、表示の内容から、調整の進行具合等を確認することができる。
【００７０】
以上のように、上述した制御パラメータ調整システム１においては、まず、シミュレーション調整部１３が、更新されたマシンモデル１５を用いたシミュレーションにより、実際にはマシン４０を動作させることができないような広い範囲（第１範囲）から制御パラメータの最適値候補を抽出する。
【００７１】
マシン４０を実際に動作させて行う実機を用いた調整では、経験とノウハウとを持たない作業者の場合、調整すべき制御パラメータの種類や順序も分からず、非常に困難な作業を強いられる。しかしながら、このようにマシンモデル１５を用いたシミュレーションによる調整を先に実施することで、制御パラメータの種類や順序が分からなくても、制御パラメータをある程度まで調整することができる。
【００７２】
但し、シミュレーションによる調整には、必然的にモデル誤差が含まれるため、モデル誤差に起因する最適値からのズレが残る。
【００７３】
そこで、次に、実機調整部１４が、シミュレーション調整部１３にて絞り込まれた、最適値候補を含むその近傍の狭い範囲（第２範囲）でマシン４０を実際に動作させて、制御パラメータを最適化する。実機調整部１４による調整は、マシン４０を用いた調整ではあるが、シミュレーション調整部１３にて制御パラメータの探索すべき範囲が十分に絞り込まれているので、モデル誤差をカバーできる程度の狭い領域を探索すればよく、処理時間が長くなることはない。また、調整すべき制御パラメータの種類等も既に確定しているので、たとえ実機調整部１４による制御パラメータの探索を作業者自らが行う構成とした場合でも、制御パラメータの値を候補付近の狭い範囲内で変えるだけで、必要な動作結果を容易に取得することができる。
【００７４】
実機調整部１４が取得したマシン４０の動作結果は、制御パラメータにてマシン４０に与えた操作量に応じてマシン４０が動作した制御量（マシン４０が出力する制御量）を表すものであり、マシン４０に与えた操作量とマシン４０が動作した制御量とのずれを評価することで、制御パラメータの最適値を見つけ出すことがきる。
【００７５】
しかも、上記構成では、モデル更新部１２が、制御パラメータの調整を行う際に、マシンモデル１５をマシン４０の動作時のデータを用いて更新するので、マシンモデル１５のモデル誤差を小さくすることできる。その結果、シミュレーション調整部１３にて抽出される制御パラメータの最適値候補を、実機調整部１４による制御パラメータの最適値により近づけることができ、実機調整部１４による探索範囲をより的確なものとして、処理時間等を短くすることができる。
【００７６】
これにより、経験とノウハウとを持たない作業者であっても、制御パラメータを調整することができるといった、シミュレーションによる制御パラメータを最適化する技術の利点を生かしつつ、その問題点であるモデル誤差を排除して、より精度の高い制御パラメータの調整を可能にできるという効果を奏する。
【００７７】
［第２の実施の形態］
以下において、本発明のその他の実施の形態について図面を参照して詳しく説明する。なお、説明の便宜上、第１の実施の形態において説明した部材については、同一符号を付してその説明は繰返さない。
【００７８】
図９は、本発明の実施の形態に係る制御パラメータ調整装置１０Ａを含む制御パラメータ調整システム１Ａの一構成例を示すブロック図である。図９に示すように、制御パラメータ調整システム１Ａには、制御パラメータ調整装置１０Ａと、制御システム３０と、マシン（制御対象）４０とが含まれ、制御パラメータ調整装置１０Ａは、モデル更新部１２に替えてモデル更新部１２Ａを備えている。
【００７９】
モデル更新部１２Ａは、モデル更新部１２と同様に、制御パラメータを調整する際に、マシン４０を動作させてマシン４０の動作時データを取得し、これを用いてマシンモデル１５を更新するものである。マシンモデル１５は、例えばシミュレータ部２６に保持されている。
【００８０】
モデル更新部１２との違いは、モデル更新部１２が、Ｘ軸サーボドライバ３５およびＹ軸サーボドライバ３６のオートチューニング機能を用いてマシンモデル１５を更新していたのに対し、モデル更新部１２Ａは、オートチューニング機能を用いることなく、ＰＣ４の備えるシミュレータ部２６を利用して、マシンモデル１５を更新する。
【００８１】
図１０は、モデル更新部１２Ａが、マシン４０を動作させてマシン４０の動作時のデータを取得し、これを用いたシミュレーションにて、マシンモデル１５を更新する構成を示すブロック図である。
【００８２】
シミュレータ部２６は、マシンモデル１５として、マシン４０の設定情報から公知のモデリング手法を用いて作成されたマシン初期モデルを備え、かつ、制御パラメータの初期値が予め保持されている。制御パラメータの初期値は、目標軌道生成部モデル１９、制御部モデル２０、Ｘ軸サーボドライバモデル２１、Ｙ軸サーボドライバモデル２２を用いたシミュレーションによる最適化で算出された値である。
【００８３】
モデル更新部１２Ａは、制御パラメータの初期値にてマシン４０を動作させてマシン４０の動作時のデータを取得し、Ｘ軸サーボドライバ３５およびＹ軸サーボドライバ３６の各モデルと前記マシン初期モデルとを用いたシミュレーションを繰り返し行わせ、シミュレーションの結果と前記初期値で動作させて取得した動作時のデータとに基づいて、マシンモデル１５のマシン特性パラメータを最適化する。モデル更新部１２Ａは、マシン特性パラメータ探索部１２Ａ−１、マシン特性パラメータ設定部１２Ａ−４、結果取得部１２Ａ−２、マシンモデル評価部１２Ａ−３を備えている。
【００８４】
図１１は、制御パラメータ調整装置１０Ａにおけるモデル更新部１２Ａのマシンモデル１５の更新手順を示すフローチャートである。図１１に基づいて、マシンモデル１５の更新手順を説明する。
【００８５】
モデル更新部１２Ａは、まず、保持している制御パラメータの初期値を、目標軌道生成部３２、制御部３３、Ｘ軸サーボドライバ３５、Ｙ軸サーボドライバ３６に設定する（Ｓ２−１１）。制御システム３０は、設定された制御パラメータの初期値に従ってマシン４０を動作させる（Ｓ２-１２）。モデル更新部１２Ａにおける結果取得部１２Ａ−２は、動作結果として、マシン４０の動作時の時系列データ（指令位置、実位置／実速度／実トルク）を取得する（Ｓ２−１３）。
【００８６】
次に、Ｓ２−１４に進み、モデル更新部１２Ａにおけるマシン特性パラメータ設定部１２Ａ−４が、シミュレータ部２６のＸ軸サーボドライバモデル２１およびＹ軸サーボドライバモデル２２に、取得した指令位置を設定し、シミュレータ部２６が、Ｘ軸サーボドライバモデル２１、Ｙ軸サーボドライバモデル２２、マシンモデル（初期モデル）を使ったシミュレーションを実行する（Ｓ２−１５）。
【００８７】
結果取得部１２Ａ−２は、シミュレーション結果を取得し（Ｓ２−１６）、マシンモデル評価部１２Ａ−３が、シミュレーションにて算出された実位置／実速度／実トルクと実機動作時の実位置／実速度／実トルクとの一致度を評価する（Ｓ２−１７）。その評価関数としては、複数考えられるが、例えば、マシン４０動作時の実位置とシミュレーションで算出された実位置の誤差の二乗和を計算し、値が小さいほどモデルの一致度が高いと評価する。
【００８８】
モデル更新部１２Ａは、Ｓ２−１８で、予め設定しておいた評価基準値を満足するならば、図４のＳ２に処理を進め、満足しない場合は、Ｓ２−１４に処理を戻す。Ｓ２−１４に戻り、マシン特性パラメータ探索部１２Ａ−１が、未知である（マシン４０とマシンモデル１５とで異なる可能性のある）マシン特性パラメータ(イナーシャ、摩擦係数等)を探索して抽出し、マシン特性パラメータ設定部１２Ａ−４が、マシン特性パラメータ探索部１２Ａ−１にて抽出されたマシン特性パラメータをマシンモデル１５に設定する。Ｓ２−１８で評価基準値を満足するまで、Ｓ２−１４〜Ｓ２−１８の処理を繰り返し行う。パラメータの探索アルゴリズムは、制御パラメータと同様にＰＳＯなどを利用することができる。
【００８９】
上記構成では、Ｘ軸サーボドライバ３５およびＹ軸サーボドライバ３６のオートチューニング機能を用いることなくマシンモデル１５を更新できるので、例えば、ガントリ機構や走行台車のように複数軸が連結されている機構のような、サーボドライバのオートチューニングが使えない場合にも、マシンモデルを更新することができる。
【００９０】
なお、上記実施の形態の説明では、制御システム３０におけるモーション制御における制御パラメータの調整を例示したが、モーション制御に限るものではなく、制御対象が熱を発生する装置であり、その温度制御における制御パラメータの調整に用いることもできる。
【００９１】
〔ソフトウェアによる実現例〕
制御パラメータ調整装置１０の制御ブロック（特にモデル更新部１２、シミュレーション調整部１３および実機調整部１４）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００９２】
後者の場合、制御パラメータ調整装置１０は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００９３】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【００９４】
１、１Ａ  制御パラメータ調整システム
４  ＰＣ
１０  マシン（制御対象）
１０、１０Ａ  制御パラメータ調整装置
１２、１２Ａ  モデル更新部
１３  シミュレーション調整部
１４  実機調整部
１５  マシンモデル
１６  動作結果表示部
１９  目標軌道生成部モデル
２０  制御部モデル
２１  Ｘ軸サーボドライバモデル
２２  Ｙ軸サーボドライバモデル
２６  シミュレータ部
３０  制御システム
３１  制御ユニット
３２  目標軌道生成部
３３  制御部
３５  Ｘ軸サーボドライバ
３６  Ｙ軸サーボドライバ
４１  Ｘ軸サーボモータ
４２  Ｙ軸サーボモータ
【図１】
2017102619.tif 000003
【図２】
2017102619.tif 000004
【図３】
2017102619.tif 000005
【図４】
2017102619.tif 000006
【図５】
2017102619.tif 000007
【図６】
2017102619.tif 000008
【図７】
2017102619.tif 000009
【図８】
2017102619.tif 000010
【図９】
2017102619.tif 000011
【図１０】
2017102619.tif 000012
【図１１】
2017102619.tif 000013