(57)【要約】【課題】任意に選択された制御対象についての動特性モデルの作成を容易化する技術が要望されている。【解決手段】フィードバック制御ループを有する制御機器に接続される制御装置が提供される。制御装置は、同定入力を制御機器に与える入力手段と、制御機器から同定入力に対応する同定出力を収集する収集手段と、同定入力および同定出力に基づいて、制御機器が制御する制御対象の動特性、および、制御機器が有するフィードバック制御ループの動特性を反映した動特性モデルを作成する作成手段とを含む。【選択図】図１０
2018120327.tif 000002
【特許請求の範囲】
【請求項１】
フィードバック制御ループを有する制御機器に接続される制御装置であって、
同定入力を前記制御機器に与える入力手段と、
前記制御機器から前記同定入力に対応する同定出力を収集する収集手段と、
前記同定入力および前記同定出力に基づいて、前記制御機器が制御する制御対象の動特性、および、前記制御機器が有するフィードバック制御ループの動特性を反映した動特性モデルを作成する作成手段とを備える、制御装置。
【請求項２】
前記作成された動特性モデルを規定する特性パラメータを出力する出力手段をさらに備える、請求項１に記載の制御装置。
【請求項３】
前記作成された動特性モデルの応答特性を視覚的に出力する出力手段をさらに備える、請求項１に記載の制御装置。
【請求項４】
前記作成手段は、特性パラメータを異ならせた複数の動特性モデルを作成し、
前記複数の動特性モデルのうち１つの動特性モデルが決定される、請求項１〜３のいずれか１項に記載の制御装置。
【請求項５】
前記複数の動特性モデルについて、１または複数の評価基準に基づいて評価することで、出力すべき動特性モデルを作成する評価手段をさらに備える、請求項４に記載の制御装置。
【請求項６】
前記複数の動特性モデルを前記複数の動特性モデルそれぞれの評価指標値とともにユーザへ提示するとともに、出力すべき動特性モデルを作成するためのユーザからの選択を受付けるユーザインターフェイス手段をさらに備える、請求項４に記載の制御装置。
【請求項７】
前記制御装置は、前記入力手段、前記収集手段、前記作成手段に係る機能が規定されたユーザプログラムを実行するように構成されており、
前記ユーザプログラムにおいて指定された変数に基づいて、前記動特性モデルの対象となる範囲が決定される、請求項１〜６のいずれか１項に記載の制御装置。
【請求項８】
前記入力手段は、前記同定入力として与えられる値の変化より変化の度合いの小さい値の変化を与えるとともに、当該変化に対して生じる前記制御機器からの応答に基づいて、前記同定入力を決定する、請求項１〜７のいずれか１項に記載の制御装置。
【請求項９】
前記入力手段は、前記同定入力として少なくともランプ入力を与えるとともに、前記制御機器からの応答に基づいて当該ランプ入力のランプ傾きの大きさを決定する、請求項８に記載の制御装置。
【請求項１０】
フィードバック制御ループを有する制御機器に接続される制御装置において実行される制御プログラムであって、前記制御プログラムは前記制御装置に
同定入力を前記制御機器に与えるステップと、
前記制御機器から前記同定入力に対応する同定出力を収集するステップと、
前記同定入力および前記同定出力に基づいて、前記制御機器が制御する制御対象の動特性、および、前記制御機器が有するフィードバック制御ループの動特性を反映した動特性モデルを作成するステップとを実行させる、制御プログラム。
【請求項１１】
フィードバック制御ループを有する制御機器と、
前記制御機器に接続される制御装置とを備え、
前記制御装置は、
同定入力を前記制御機器に与える入力手段と、
前記制御機器から前記同定入力に対応する同定出力を収集する収集手段と、
前記同定入力および前記同定出力に基づいて、前記制御機器が制御する制御対象の動特性、および、前記制御機器が有するフィードバック制御ループの動特性を反映した動特性モデルを作成する作成手段とを含む、制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、任意に選択された制御対象についての動特性モデルの作成を容易化する技術に関する。
【背景技術】
【０００２】
従来から、各種の製造装置や生産機械を高速度かつ高精度に制御したいという要望がある。このような要望に対して、各種の制御方式が提案されている。
【０００３】
例えば、特開２０１４−００２４７４号公報（特許文献１）は、機械の移動方向反転時などに生じる追従誤差を低減するサーボ制御装置を開示している。特許文献１に開示されるサーボ制御装置では、指令位置を入力してモデル機械端位置を演算する機械端応答模擬部と、モデル機械端位置を入力してモデルモータ端位置を演算するモータ端位置推定部とを用いる構成が採用されている。
【０００４】
このように、制御対象をモデル化した上で、制御演算を実行する手法が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−００２４７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の特許文献１に開示されるサーボ制御装置は、工作機械などの装置を駆動制御するものであり、既知の装置をモデル化することを前提としている。しかしながら、汎用的な制御装置およびサーボドライバなどを用いて、制御を行なう場合には、制御対象が未知である場合も多い。このような場合において、制御対象を適切にモデル化するためには専門知識などが必要なる場合が多い。このような理由から、すべての制御対象に対して、高速度かつ高精度な制御を実現することは容易ではなかった。
【０００７】
そのため、任意に選択された制御対象についての動特性モデルの作成を容易化する技術が要望されている。
【課題を解決するための手段】
【０００８】
本発明のある局面に従えば、フィードバック制御ループを有する制御機器に接続される制御装置が提供される。制御装置は、同定入力を制御機器に与える入力手段と、制御機器から同定入力に対応する同定出力を収集する収集手段と、同定入力および同定出力に基づいて、制御機器が制御する制御対象の動特性、および、制御機器が有するフィードバック制御ループの動特性を反映した動特性モデルを作成する作成手段とを含む。
【０００９】
好ましくは、制御装置は、記作成された動特性モデルを規定する特性パラメータを出力する出力手段をさらに含む。
【００１０】
好ましくは、制御装置は、作成された動特性モデルの応答特性を視覚的に出力する出力手段をさらに含む。
【００１１】
好ましくは、作成手段は、特性パラメータを異ならせた複数の動特性モデルを作成し、複数の動特性モデルのうち１つの動特性モデルが決定される。
【００１２】
好ましくは、制御装置は、複数の動特性モデルについて、１または複数の評価基準に基づいて評価することで、出力すべき動特性モデルを作成する評価手段をさらに含む。
【００１３】
好ましくは、制御装置は、複数の動特性モデルを複数の動特性モデルそれぞれの評価指標値とともにユーザへ提示するとともに、出力すべき動特性モデルを作成するためのユーザからの選択を受付けるユーザインターフェイス手段をさらに含む。
【００１４】
好ましくは、制御装置は、入力手段、収集手段、作成手段に係る機能が規定されたユーザプログラムを実行するように構成されており、ユーザプログラムにおいて指定された変数に基づいて、動特性モデルの対象となる範囲が決定される。
【００１５】
好ましくは、入力手段は、同定入力として与えられる値の変化より変化の度合いの小さい値の変化を与えるとともに、当該変化に対して生じる制御機器からの応答に基づいて、同定入力を決定する。
【００１６】
好ましくは、入力手段は、同定入力として少なくともランプ入力を与えるとともに、制御機器からの応答に基づいて当該ランプ入力のランプ傾きの大きさを決定する。
【００１７】
本発明の別の局面に従えば、フィードバック制御ループを有する制御機器に接続される制御装置において実行される制御プログラムが提供される。制御プログラムは制御装置に、同定入力を制御機器に与えるステップと、制御機器から同定入力に対応する同定出力を収集するステップと、同定入力および同定出力に基づいて、制御機器が制御する制御対象の動特性、および、制御機器が有するフィードバック制御ループの動特性を反映した動特性モデルを作成するステップとを実行させる。
【００１８】
本発明のさらに別の局面に従う制御システムは、フィードバック制御ループを有する制御機器と、制御機器に接続される制御装置とを含む。制御装置は、同定入力を制御機器に与える入力手段と、制御機器から同定入力に対応する同定出力を収集する収集手段と、同定入力および同定出力に基づいて、制御機器が制御する制御対象の動特性、および、制御機器が有するフィードバック制御ループの動特性を反映した動特性モデルを作成する作成手段とを含む。
【発明の効果】
【００１９】
本発明のある実施の形態によれば、任意に選択された制御対象についての動特性モデルの作成を容易化する技術を実現できる。
【図面の簡単な説明】
【００２０】
【図１】一般的な制御系の構成について説明するための模式図である。
【図２】本実施の形態に従うモデリング手法の応用例を説明するための模式図である。
【図３】本実施の形態に従うモデリング手法の応用例を説明するための模式図である。
【図４】本実施の形態に従うモデリング手法の応用例を説明するための模式図である。
【図５】本実施の形態に従うモデリング手法の応用例を説明するための模式図である。
【図６】本実施の形態に従う制御システムを構成するサーボドライバにおける制御構造の一例を示す模式図である。
【図７】動特性モデルの対象となる制御対象に対する指令値および計測値の時間波形の一例を示す図である。
【図８】本実施の形態に従う制御装置のハードウェア構成の一例を示す模式図である。
【図９】本実施の形態に従うモデリング手法の処理手順を示すフローチャートである。
【図１０】本実施の形態に従う制御装置の機能構成の一例を示す模式図である。
【図１１】本実施の形態に従う制御装置によって収集された時系列データの一例を示す図である。
【図１２】本実施の形態に従うモデリング手法において用いられる動特性モデルを示す関数の一例を示す図である。
【図１３】本実施の形態に従うモデリング手法によって算出された動特性モデルのうち振動的な挙動を示すものを説明するための図である。
【図１４】本実施の形態に従う制御装置から動特性モデルの候補をユーザへ提示する際のインターフェイス画面の一例を示す図である。
【図１５】本実施の形態に従う制御装置によって作成された動特性モデルをユーザへ提示する際のインターフェイス画面の一例を示す図である。
【図１６】本実施の形態に従う制御装置によって作成された動特性モデルをユーザへ提示する際のインターフェイス画面の別の一例を示す図である。
【図１７】本実施の形態に従う制御装置で実行されるユーザプログラムの命令コードの一例を示す図である。
【図１８】本実施の形態に従うモデリング手法を分散化して実装した形態を示す模式図である。
【発明を実施するための形態】
【００２１】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２２】
＜Ａ．モデリング手法の背景および応用例＞
まず、本実施の形態に従うモデリング手法を適用する背景および応用例などについて説明する。
【００２３】
図１は、一般的な制御系の構成について説明するための模式図である。図１には、制御演算部２を用いて何らかの制御対象４を制御する応用例を示す。このような制御系において、制御対象４はモデリングされて、特性を示す関数を用いて規定される。制御対象の特性は、制御演算部２から与えられる任意の操作量に対して、制御対象に生じる制御量の関係を示すものである。このような制御対象の特性を示す関数（すなわち、伝達関数）を、以下では「動特性」または「動特性モデル」と称するものとする。
【００２４】
一般的には、このような制御対象４の特性を示す動特性モデルと制御演算部２とを組み合わせて、シミュレーションを行なうことで、制御対象に最適な制御演算部２の構成およびパラメータなどが決定される。このようなシミュレーションにおいては、任意の目標値が与えられた制御演算部２により演算される操作量によって制御対象から生じる制御量と、目標値との一致度などが評価される。
【００２５】
サーボドライバおよびサーボモータを含む汎用的な系を考えると、図１に示す制御演算部２および制御対象４に対応する要素は、一意には定まらず、アプリケーションに応じて定まることになる。
【００２６】
本実施の形態に従うモデリング手法は、任意に設定される制御対象の動特性モデルの作成を容易化する。具体的には、任意に設定される１または複数の要素に対して与えられる入力データ（以下、「同定入力」とも称す。）と、当該１または複数の要素から得られる出力データ（以下、「同定出力」とも称す。）との関係に基づいて、当該１または複数の要素を制御対象とみなした場合の動特性モデルが算出される。
【００２７】
本実施の形態に従う制御装置１００は、図１に示すような制御系を構成することになる。この制御系において、制御装置１００は、与えられた目標値に従って制御対象に対して操作量を与えるとともに、制御対象からの制御量を取得する。但し、制御装置１００と制御対象とで制御系が構成されるとは限らず、サーボドライバやバルブなどの各種のアクチュエータならびに各種センサなどを含めた制御システムとして制御系が構成されることもある。本発明の技術的範囲は、制御装置１００単体のみである場合に加えて、制御装置１００および他の関連する装置や機構などを含む制御システムに及ぶ場合もある。
【００２８】
図２〜図５は、本実施の形態に従うモデリング手法の応用例を説明するための模式図である。図２〜図５に示す応用例においては、制御装置１００が各種のアクチュエータを用いて被制御体を駆動する構成を示す。図２〜図５には、本実施の形態に従う制御装置１００を含む制御システムの一例が示されている。図６は、本実施の形態に従う制御システムを構成するサーボドライバ２００における制御構造の一例を示す模式図である。
【００２９】
図２には、制御装置１００に接続されたサーボドライバ２００が被制御体を駆動する応用例を示す。被制御体は、典型的には、製造装置や生産機械の一部または全部を包含するものである。図２に示す例では、被制御体は、サーボドライバ２００によって回転駆動されるサーボモータ２５０と、サーボモータ２５０の回転によって駆動される物体２６０とを含む。物体２６０は、任意のメカ体を包含し得る。被制御体は、大きさおよび質量に応じたイナーシャによって生じる遅れ要素、および、摩擦特性やばね特性などを含む。
【００３０】
図２に示す応用例においては、図１に示す制御演算部２が制御装置１００に相当し、図１に示す制御対象４がサーボドライバ２００ならびに被制御体（サーボモータ２５０および物体２６０の集合）に相当する。つまり、図２に示す応用例においては、サーボドライバ２００ならびに被制御体（サーボモータ２５０および物体２６０の集合）をまとめた動特性モデルが作成される。
【００３１】
ここで、サーボドライバ２００に実装される制御構造の一例について説明する。図６を参照して、サーボドライバ２００は、差分演算部２１０，２１４と、位置制御部２１２と、速度制御部２１６と、トルク制御部２２０と、速度検出部２２２とを含む。
【００３２】
位置制御部２１２は、位置についての制御ループを構成する制御演算部であり、差分演算部２１０からの位置偏差に応じた速度指令を操作量として出力する。差分演算部２１０は、計測位置（フィードバック値）との偏差を算出する。なお、位置制御部２１２としては、典型的には、Ｐ（比例）制御が用いられてもよい。つまり、位置制御部２１２は、位置偏差に予め定められた比例係数を乗じた値を操作量（速度指令）として出力するようにしてもよい。
【００３３】
速度制御部２１６は、速度についての制御ループを構成する制御演算部であり、差分演算部２１４からの速度偏差に応じたトルクを出力する。差分演算部２１４は、位置制御部２１２からの操作量（速度指令）と計測速度（フィードバック値）との偏差を算出する。なお、速度制御部２１６としては、典型的には、ＰＩ（比例積分）制御が用いられてもよい。つまり、速度制御部２１６は、速度偏差に比例係数を乗じた値と速度偏差を積分要素によって積分された値との和を操作量（トルク指令）として出力するようにしてもよい。
【００３４】
速度検出部２２２は、サーボモータに装着されたエンコーダなどからのフィードバック値（例えば、サーボモータ２５０の回転数に比例した数のパルス）からサーボモータ２５０の計測速度（あるいは計測回転速度）を検出する。速度検出部２２２は、典型的には、微分要素を用いて実現される。
【００３５】
トルク制御部２２０は、速度検出部２２２から出力されたトルクをサーボドライバ２００に発生させるための電流指令を操作量として出力する。
【００３６】
トルク制御部２２０からの操作量（電流指令）に従って、サーボドライバ２００内のドライブ回路（不図示）は、サーボモータ２５０に供給する各相電流のスイッチングタイミングなどを調整する。
【００３７】
このように、本実施の形態に従うサーボドライバ２００は、フィードバック制御ループを有する制御機器の一例に相当する。すなわち、サーボドライバ２００は、単なるアンプとして機能するのではなく、上述したような制御演算が実行される。なお、本願発明は、サーボドライバに限らず、フィードバック制御ループを有する任意の制御機器に適用可能である。
【００３８】
再度図２を参照して、このような動特性モデルを想定すると、当該動特性モデルに対する入力として、指令位置を設定し、当該動特性モデルからの制御量として計測位置を設定することができる。すなわち、サーボモータ２５０によって駆動される物体２６０の変位部分に対する指令位置を与えるとともに、当該変位部分の実際の位置を計測した結果（計測位置）が取得される。これらの操作量（すなわち、指令値である指令位置）および制御量（すなわち、計測値である計測位置）がそれぞれ同定入力および同定出力となる。
【００３９】
同定入力に対する同定出力の関係を用いてシステム同定手法を適用することで、サーボドライバ２００ならびに被制御体（サーボモータ２５０および物体２６０の集合）についての動特性モデル（図２中の「サーボドライバ＋被制御体」モデル）を作成できる。図２に示される動特性モデルは、サーボドライバ２００に実装されるフィードバック制御ループの特性を反映したものとなる。
【００４０】
次に、図３には、図２と同様に、制御装置１００に接続されたサーボドライバ２００が被制御体を駆動する応用例を示す。
【００４１】
図３に示す応用例においては、図１に示す制御演算部２が制御装置１００およびサーボドライバ２００の集合に相当し、図１に示す制御対象４が被制御体（サーボモータ２５０および物体２６０の集合）に相当する。つまり、図３に示す応用例においては、被制御体（サーボモータ２５０および物体２６０の集合）についての動特性モデルが作成される。
【００４２】
このような動特性モデルを想定すると、当該動特性モデルに入力する操作量として、トルクを設定し、当該動特性モデルからの制御量として計測速度を設定することができる。すなわち、制御装置１００からサーボモータ２５０に対して指令位置などの入力が与えられると、サーボモータ２５０は、指令位置を実現するためのトルクを操作量としてサーボモータ２５０へ与える。
【００４３】
本実施の形態においては、サーボドライバ２００は、計測値（計測位置および／または計測速度）を指令値に追従させるために必要なトルクを計算して、サーボモータ２５０にその計算したトルクを発生させる。そのため、サーボドライバ２００において計算されるトルクと、サーボモータ２５０で実際に発生するトルクとは一致する。本実施の形態において言及される「トルク」は、サーボモータ２５０において計算される中間変数的なものである。以下の説明においては、サーボドライバ２００にて計算されるトルクと、サーボモータ２５０に置いて発生するトルクとは一致するとして、両者を一体的に扱うものとする。
【００４４】
サーボモータ２５０からは、計測速度（サーボモータ２５０の回転速度など）が制御量として応答される。これらの操作量（一例として、トルク）および制御量（一例として、計測値である計測速度）がそれぞれ同定入力および同定出力となる。
【００４５】
これらの同定入力および同定出力は、サーボドライバ２００とサーボモータ２５０との間で遣り取りされる情報であるため、制御装置１００は、サーボドライバ２００を介して、同定入力および同定出力の情報を取得する。そして、同定入力に対する同定出力の関係を用いてシステム同定手法を適用することで、サーボドライバ２００に実装されるフィードバック制御ループの動特性を除いた、被制御体（サーボモータ２５０および物体２６０の集合）についての動特性モデル（図３中の「被制御体」モデル）を作成できる。
【００４６】
次に、図４には、制御装置１００に接続されたサーボドライバ２００が被制御体を駆動するとともに、被制御体の物体２６０がワーク２７０に対して何らかの作用を与える応用例を示す。物体２６０の変位および／またはワーク２７０の変位を任意のセンサ２８０にて計測する。センサ２８０としては、例えば、視覚センサや変位センサなどが想定される。
【００４７】
図４に示す応用例においては、図１に示す制御演算部２が制御装置１００に相当し、図１に示す制御対象４がサーボドライバ２００、被制御体（サーボモータ２５０および物体２６０の集合）、ワーク２７０、ならびにセンサ２８０に相当する。つまり、図４に示す応用例においては、サーボドライバ２００、被制御体（サーボモータ２５０および物体２６０の集合）、ワーク２７０、ならびにセンサ２８０をまとめた動特性モデルが作成される。
【００４８】
このような動特性モデルを想定すると、当該動特性モデルに入力する操作量として、指令位置を設定し、当該動特性モデルからの制御量として計測位置を設定することができる。すなわち、物体２６０によって変位量が与えられるワーク２７０に対する指令位置を与えるとともに、当該ワーク２７０の実際の変位を計測した結果（計測位置）が取得される。これらの操作量（すなわち、指令値である指令位置）および制御量（すなわち、計測値である計測位置）がそれぞれ同定入力および同定出力となる。
【００４９】
同定入力に対する同定出力の関係を用いてシステム同定手法を適用することで、サーボドライバ２００、被制御体（サーボモータ２５０および物体２６０の集合）、ワーク２７０、ならびにセンサ２８０をまとめた動特性モデル（図４中の「サーボドライバ＋被制御体＋センサ」モデル）を作成できる。図４に示される動特性モデルは、サーボドライバ２００に実装されるフィードバック制御ループの特性、ならびに、センサ２８０によるワーク２７０の検出特性などを反映したものとなる。
【００５０】
次に、図５には、制御装置１００からの指令に従って被制御体に何らかの変化を生じさせるとともに、被制御体に生じた変化を測定する応用例を示す。例えば、被制御体は、制御装置１００からの指令に応じて冷却水または加熱水の流量を変化させるバルブなどのアクチュエータ２５２と、アクチュエータ２５２によって制御される冷却水または加熱水によって温度変化を生じさせる蓄熱体としての物体２６２とを含む。物体２６２に生じ得る変化（例えば、温度変化）を任意のセンサ２８２にて計測する。センサ２８２としては、例えば、温度センサなどが想定される。
【００５１】
図５に示す応用例においては、図１に示す制御演算部２が制御装置１００に相当し、図１に示す制御対象４が被制御体（アクチュエータ２５２および物体２６２の集合）ならびにセンサ２８２に相当する。つまり、図５に示す応用例においては、被制御体（アクチュエータ２５２および物体２６２の集合）ならびにセンサ２８２をまとめた動特性モデルが作成される。
【００５２】
このような動特性モデルを想定すると、当該動特性モデルに入力する操作量として、指令バルブ開度を設定し、当該動特性モデルからの制御量として計測温度を設定することができる。すなわち、物体２６２に対して変化を与えるアクチュエータ２５２に対するバルブに対する指令バルブ開度を与えるとともに、当該物体２６２の実際の変位を計測した結果（計測温度）が取得される。これらの操作量（すなわち、指令値である指令バルブ開度）および制御量（すなわち、計測値である計測温度）がそれぞれ同定入力および同定出力となる。
【００５３】
同定入力に対する同定出力の関係を用いてシステム同定手法を適用することで、被制御体（アクチュエータ２５２および物体２６２の集合）ならびにセンサ２８２をまとめた動特性モデル（図５中の「被制御体＋センサ」モデル）を作成できる。
【００５４】
上述の図２〜図５を参照して例示したように、本実施の形態に従うモデリング手法は、任意の制御系の任意の部分について動特性モデルを容易に作成することができる。
【００５５】
制御システムの構成によっては、制御装置１００とサーボドライバ２００との間が任意の通信手段を介して接続されることもある。また、制御装置１００とセンサ２８２との間が任意の通信手段を介して接続されることもある。制御系に通信手段が介在することで、入力に対する応答には通信遅れを含むことになる。本実施の形態に従うモデリング手法によって作成される動特性モデルは、このような通信遅れ特性も含むものとなる。そのため、実際の制御システムの動特性をより正確に反映させた動特性モデルを得ることができる。
【００５６】
より理解を深めるために、制御装置１００にて取得される信号波形の一例を示す。図７は、動特性モデルの対象となる制御対象に対する指令値および計測値の時間波形の一例を示す図である。
【００５７】
図７（Ａ）には、指令位置の時間波形の一例およびそれに対応する計測位置の時間波形を示し、図７（Ｂ）には、図７（Ａ）に示す指令位置に対応する指令速度の時間波形およびそれに対応する計測速度の時間波形を示す。
【００５８】
図７（Ａ）に示す指令位置としては、ランプ入力の時間波形後にＳｗｅｐｔ  Ｓｉｎｅ波形が続く時間波形を示す。図７（Ｂ）に示す指令速度は、図７（Ａ）に示す指令位置を時間について１階微分した波形に相当する。
【００５９】
図７（Ａ）に示す計測位置は、図７（Ａ）に示す指令位置の時間変化に対して、遅れを持って追従していることが分かる。図７（Ｂ）に示す計測速度は、与えられる指令速度の変化速度がある程度を超えると、十分に追従できないことが分かる。すなわち、図７（Ｂ）に示す指令位置の時間変化グラフの後半において、指令速度の周波数および振幅の両方が増大しているにもかかわらず、計測速度の振幅が徐々に小さくなっており、速い変化に十分に追従できなくなっているといえる。
【００６０】
図７に示すような指令値および計測値の時間波形（あるいは、時間波形を周波数領域に変換した信号）を用いてシステム同定手法が適用されることで、動特性モデルが作成される。
【００６１】
＜Ｂ．制御装置のハードウェア構成＞
次に、本実施の形態に従うモデリング手法を実現するための制御装置１００のハードウェア構成について説明する。
【００６２】
本実施の形態の制御装置１００は、一例として、ＰＬＣ（プログラマブルコントローラ）を用いて実装されてもよい。制御装置１００は、予め格納された制御プログラム（後述するような、システムプログラムおよびユーザプログラム）を実行することで算出される指令値をサーボドライバ２００へ与えるとともに、サーボドライバ２００またはＩ／Ｏ（Input/Output）ユニット１２６を介して計測値を取得する。このような指令値および計測値を用いて、制御対象についての動特性モデルを作成する。
【００６３】
図８は、本実施の形態に従う制御装置１００のハードウェア構成の一例を示す模式図である。制御装置１００は、予めインストールされた制御プログラムをプロセッサが実行することで、制御対象に対する制御を実現する。図８を参照して、制御装置１００は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などのプロセッサ１０２と、チップセット１０４と、メインメモリ１０６と、フラッシュメモリ１０８と、外部ネットワークコントローラ１１６と、メモリカードインターフェイス１１８と、内部バスコントローラ１２２と、フィールドバスコントローラ１２４とを含む。
【００６４】
プロセッサ１０２は、フラッシュメモリ１０８に格納されたシステムプログラム１１０およびユーザプログラム１１２を読み出して、メインメモリ１０６に展開して実行することで、制御対象に対する任意の制御を実現する。システムプログラム１１０は、データの入出力処理や実行タイミング制御などの、制御装置１００の基本的な機能を提供するための命令コードを含む。ユーザプログラム１１２は、制御対象に応じて任意に設計され、シーケンス制御を実行するためのシーケンスプログラム１１２Ａおよびモーション制御を実行するためのモーションプログラム１１２Ｂとを含む。
【００６５】
本実施の形態に従うモデリング手法を実現するために、フラッシュメモリ１０８には、動特性モデルライブラリ１１４が格納されている。ユーザプログラム１１２は、動特性モデルライブラリ１１４を参照することで、後述するような処理を実現してもよい。
【００６６】
チップセット１０４は、各コンポーネントを制御することで、制御装置１００全体としての処理を実現する。
【００６７】
内部バスコントローラ１２２は、制御装置１００と内部バスを通じて連結される各種デバイスとデータを遣り取りするインターフェイスである。このようなデバイスの一例として、Ｉ／Ｏユニット１２６が接続されている例を示す。
【００６８】
フィールドバスコントローラ１２４は、制御装置１００とフィールドバスを通じて連結される各種デバイスとデータを遣り取りするインターフェイスである。このようなデバイスの一例として、サーボドライバ２００が接続されている例を示す。
【００６９】
内部バスコントローラ１２２およびフィールドバスコントローラ１２４は、接続されているデバイスに対して任意の指令値を与えることができるとともに、デバイスが管理している任意のデータ（計測値を含む）を取得することができる。
【００７０】
外部ネットワークコントローラ１１６は、各種の有線／無線ネットワークを通じたデータの遣り取りを制御する。メモリカードインターフェイス１１８は、メモリカード１２０を着脱可能に構成されており、メモリカード１２０に対してデータを書込み、メモリカード１２０からデータを読出すことが可能になっている。
【００７１】
制御装置１００が制御プログラムを実行することで提供される機能の一部または全部を専用のハードワイヤード回路として実装してもよい。ハードワイヤード回路としては、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field-Programmable Gate Array）などを用いて実装することができる。
【００７２】
＜Ｃ．モデリング手法の処理手順＞
次に、本実施の形態に従うモデリング手法の処理手順について説明する。一般的な実装例においては、複数の制御ループ（あるいは、モーション制御の場合には、対象となる軸）を含む制御システムが構築される。このような場合には、制御ループ毎または軸毎に動特性モデルが作成される。このような作成処理は、制御ループ毎または軸毎に順番に実行されてもよいし、干渉などの問題が生じなければ、複数の制御ループまたは複数の軸について、それぞれの動特性モデルを作成する処理を並列的に実行するようにしてもよい。説明の便宜上、以下では、１つの制御ループまたは軸についての動特性モデルを作成する際の処理手順について説明する。
【００７３】
図９は、本実施の形態に従うモデリング手法の処理手順を示すフローチャートである。図９に示す各ステップは、制御装置１００のプロセッサ１０２が制御プログラムを実行することで実現されてもよい。
【００７４】
図９を参照して、制御装置１００は、動特性モデルを算出するための同定入力および同定出力の選択を受付ける（ステップＳ１００）とともに、動特性モデルを算出するための各種設定を受付ける（ステップＳ１０２）。そして、制御装置１００は、同定入力を生成するとともに、生成した同定入力を制御系に与える（ステップＳ１０４）とともに、選択された同定入力および同定出力の時系列データを収集する（ステップＳ１０６）。すなわち、同定入力を制御機器であるサーボドライバ２００に与える処理と、制御機器であるサーボドライバ２００から同定入力に対応する同定出力を収集する処理とが実行される。
【００７５】
続いて、制御装置１００は、収集した時系列データを用いて、１または複数の動特性モデルを算出する（ステップＳ１０８）とともに、算出された１または複数の動特性モデルのうち最適なものを出力すべき動特性モデルとして作成する（ステップＳ１１０）。すなわち、同定入力および同定出力に基づいて、制御機器が制御する制御対象の動特性、および、制御機器が有するフィードバック制御ループの動特性を反映した動特性モデルを作成する処理が実行される。ステップＳ１１０において、ユーザから最適な動特性モデルの選択を受付けるようにしてもよい。
【００７６】
最終的に、制御装置１００は、作成した動特性モデルを出力する（ステップＳ１１２）。
【００７７】
以上のような処理手順によって、ユーザが指定した制御対象についての動特性モデルを作成することができる。
【００７８】
＜Ｄ．制御装置の機能構成＞
次に、本実施の形態に従うモデリング手法を実現するための制御装置１００の機能構成について説明する。
【００７９】
図１０は、本実施の形態に従う制御装置１００の機能構成の一例を示す模式図である。図１０を参照して、制御装置１００は、その機能構成として、選択設定受付処理部１５２と、同定データ生成・データ収集処理部１５４と、データ格納処理部１５６と、モデル候補作成処理部１６０と、評価処理部１６２と、ユーザインターフェイス処理部１６４と、出力処理部１６６とを含む。制御装置１００は、デバイス（例えば、サーボドライバや各種アクチュエータ（Ｉ／Ｏユニット経由の場合もある））に対して指令値を与えることで、指定された目標値に応じた動作を実行させる制御処理部１７０を含む。各処理部は、制御装置１００のプロセッサ１０２が制御プログラムを実行することで実現されてもよい。
【００８０】
選択設定受付処理部１５２は、動特性モデルを算出するための同定入力を与える制御系の入力ポイント（第１の値）と、同定出力を取得する制御系の出力ポイント（第２の値）との選択を受付ける。さらに、選択設定受付処理部１５２は、動特性モデルを算出するための各種設定についてもユーザから受付ける。
【００８１】
より具体的には、選択設定受付処理部１５２は、動特性モデルの算出対象となる制御ループ（あるいは、モーション制御の場合には、対象となる軸）の指定を受付けるとともに、動特性モデルの算出対象となる制御対象に対する任意の入力ポイント（第１の値）および出力ポイント（第２の値）の指定を受付けることができる。このように、任意の入力ポイントおよび出力ポイントを指定できるため、サーボドライバ２００ならびに被制御体（サーボモータ２５０および物体２６０の集合）についての動特性モデルに加えて、被制御体（サーボモータ２５０および物体２６０の集合）のみの動特性モデルを容易に算出することができる。
【００８２】
同定データ生成・データ収集処理部１５４は、同定入力を制御機器であるサーボドライバ２００に与える入力機能と、制御機器であるサーボドライバ２００から同定入力に対応する同定出力を収集する収集機能とを提供する。
【００８３】
より具体的には、同定データ生成・データ収集処理部１５４は、選択設定受付処理部１５２によって受付けられた信号選択の情報および設定パラメータなどに従って、制御処理部１７０に対して同定入力としての指令値を与える。制御処理部１７０は、制御装置１００に接続されるデバイス（例えば、サーボドライバや各種アクチュエータ（Ｉ／Ｏユニット経由の場合もある））に対して、同定入力を与える。また、同定データ生成・データ収集処理部１５４は、同定入力に対する応答として、制御処理部１７０を介して、または、直接的に、制御装置１００に接続されるデバイス（例えば、サーボドライバや各種センサ）から指定された計測値を収集する。なお、制御装置１００とサーボドライバ２００および／または各種センサとの間は、フィールドバスを介して接続されることもあるし、フィールドバスではなくＩ／Ｏユニット１２６を介して接続されることもある。信号の伝送経路がいずれであっても、同定入力の出力および同定出力の取得が可能である。
【００８４】
このように、同定データ生成・データ収集処理部１５４は、制御対象に対して同定入力を生成して与える。併せて、同定データ生成・データ収集処理部１５４は、制御対象からの応答データを収集する。通常、応答データは、同定出力として用いられる。なお、図３に示すような構成においては、サーボドライバ２００にて算出される操作量（トルク指令）が同定入力として用いられるので、同定データ生成・データ収集処理部１５４は、同定入力を生成するのではなく、収集することもある。
【００８５】
データ格納処理部１５６は、同定データ生成・データ収集処理部１５４によって収集されたデータを格納する。データ格納処理部１５６には、収集されたデータ毎にデータセット１５８が格納されるようにしてもよい。
【００８６】
モデル候補作成処理部１６０は、同定入力および同定出力に基づいて、制御機器（サーボドライバ２００）が制御する制御対象の動特性、および、制御機器が有するフィードバック制御ループの動特性を反映した動特性モデルを作成する。また、モデル候補作成処理部１６０は、同定入力および同定出力に基づいて、制御機器（サーボドライバ２００）が有するフィードバック制御ループの動特性を除いた、被制御体の動特性についての動特性モデルを作成することもできる。
【００８７】
より具体的には、モデル候補作成処理部１６０は、選択設定受付処理部１５２によって受付けられた設定パラメータなどに従って、データ格納処理部１５６に格納されたデータセット１５８を用いてシステム同定手法を適用することで、１または複数の動特性モデルを算出する。このように、モデル候補作成処理部１６０は、同定入力と応答データ（同定出力）とに基づいて、制御対象の動特性モデルを算出することができる。モデル候補作成処理部１６０は、算出される動特性モデルの各々について、評価指標値を併せて算出してもよい。評価指標値としては、同定の信頼性を示す度合い（以下、「ＦＩＴ率」とも称す。）などが用いられる。
【００８８】
評価処理部１６２は、モデル候補作成処理部１６０によって算出された１または複数の動特性モデルについて、１または複数の評価基準に基づいて評価することで、出力すべき動特性モデルを作成する。このように、評価処理部１６２は、算出した動特性モデルの精度およびその特性を評価および確認することができる。評価処理部１６２は、評価対象の１または複数の動特性モデルについての情報をユーザへ提示した上で、ユーザからの選択に従って、最終出力すべき動特性モデルを作成してもよい。
【００８９】
ユーザインターフェイス処理部１６４は、評価処理部１６２における動特性モデルの作成にユーザを関与させる。つまり、ユーザインターフェイス処理部１６４は、複数の動特性モデルを複数の動特性モデルそれぞれの評価指標値とともにユーザへ提示するとともに、出力すべき動特性モデルを作成するためのユーザからの選択を受付ける。
【００９０】
より具体的には、ユーザインターフェイス処理部１６４は、モデル候補作成処理部１６０によって算出された１または複数の動特性モデルに関する情報（ＦＩＴ率や時間波形など）をユーザへ提示するとともに、ユーザからの選択を受付ける。ユーザインターフェイス処理部１６４は、ユーザからの選択指令を評価処理部１６２へ出力する。
【００９１】
出力処理部１６６は、評価処理部１６２により作成された動特性モデルを出力する。一例として、出力処理部１６６は、作成された動特性モデルを規定する特性パラメータを出力する。動特性モデルを規定する特性パラメータの詳細については後述する。あるいは、出力処理部１６６は、作成された動特性モデルの応答特性を視覚的に出力する。動特性モデルの応答特性を視覚的な出力の一例については後述する。
【００９２】
以上のような処理部の構成によって、本実施の形態に従うモデリング手法を実現できる。
【００９３】
＜Ｅ．モデリング手法の詳細＞
次に、本実施の形態に従うモデリング手法の詳細について説明する。以下に説明する詳細な内容は、図９に示す各ステップおよび図１０に示す各処理部に対応するものである。
【００９４】
（ｅ１：同定入力および同定出力の時系列データの収集）
まず、同定入力および同定出力の時系列データを収集する処理について説明する。この処理は、図９のステップＳ１００〜Ｓ１０６、ならびに、図１０の選択設定受付処理部１５２、同定データ生成・データ収集処理部１５４、およびデータ格納処理部１５６に対応する。
【００９５】
図１１は、本実施の形態に従う制御装置１００によって収集された時系列データの一例を示す図である。図１１（Ａ）には、位置についての指令値（指令位置）および計測値（計測位置）の時間波形の一例を示す。図１１（Ｂ）には、速度についての指令値（指令速度）および計測値（計測速度）の時間波形の一例を示す。図１１（Ｃ）には、図１１（Ａ）および図１１（Ｂ）に示す指令値に対応するトルクの時間波形の一例を示す。
【００９６】
図１１（Ａ）および図１１（Ｂ）に示す指令値および計測値の時間波形のうち選択された時間波形が、動特性モデルを同定するための情報として用いられる。
【００９７】
図１１に示すような時間波形の収集にあたって、変化可能な位置の範囲（例えば、最大移動距離）および変化可能な速度の範囲（例えば、最大速度）は、ユーザによって予め設定されるようにしてもよい。あるいは、被制御体の特性値などを予め取得できる場合には、これらの特性値に基づいて、変位させる範囲を決定してもよい。
【００９８】
図１１（Ａ）には、典型例として、指令位置としてランプ入力を用いる例を示しており、指令位置のランプ入力に対応して、図１１（Ｂ）に示す指令速度をステップ入力としている。但し、これに限られることなく、指令位置としてステップ入力を用いてもよい。この場合、図１１（Ｂ）に示す指令速度はインパルス入力となる。
【００９９】
さらに、指令値としては、Ｓｗｅｐｔ  Ｓｉｎｅ波形などの他の信号を重畳してもよい。
【０１００】
図１１に示すように、システム同定手法に適した同定入力および同定出力を収集できるように、同定入力および同定出力を収集するための指令値の変化とは別に、事前に指令値を変化させるようにしてもよい（図１１の「準備期間」に対応する変化を参照のこと）。このような準備期間における指令値の変化は、ランプ入力の変化（ランプ傾き）の大きさを最適化するために用いられる。
【０１０１】
動特性モデルを適切に算出するためには、例えば、十分に大きなトルク（図１１（Ｃ）参照）が出力されることが好ましい。この十分に大きなトルクとは、定格値以上であって、かつ上限値未満である値の範囲を含む。
【０１０２】
基本的には、指令位置のランプ傾き（時間的変化量）および指令速度のステップ高さ（最大値）は、発生するトルクの大きさに比例する。そこで、図１１（Ａ）に示すように、ある程度小さなランプ傾きをランプ傾き初期値（図１１（Ａ）の傾きｋ１）として指令値を与えるとともに、そのときに発生したトルクの大きさ（図１１（Ｃ）のＴ１）と発生させるべきトルクの大きさ（図１１（Ｃ）のＴ２）との比率を、ランプ傾き初期値に乗じることで、指令位置に適したランプ傾きの大きさ（図１１（Ａ）の傾きｋ２）を決定するようにしてもよい。すなわち、傾きｋ２＝傾きｋ１×Ｔ２／Ｔ１として算出できる。指令位置に適したランプ傾きの大きさが決定されることで、対応する指令速度のステップ高さも決定できる。
【０１０３】
このように、本実施の形態に従うモデリング手法においては、同定入力および同定出力を収集する際の指令値より小さな変化を生じる指令値を先に与えることで、本来の指令値を動的に算出するようにしてもよい。
【０１０４】
すなわち、本実施の形態に従う同定入力の生成過程においては、同定入力として与えられる値の変化より変化の度合いの小さい値の変化を与えるとともに、当該変化に対して生じる制御機器からの応答に基づいて、同定入力を決定するようにしてもよい。中間ポイントは、制御系の入力ポイントに対して与えられる指令値の変化に依存して、その値が変化するものが選択される。図１１に示す例においては、同定入力として少なくともランプ入力が与えるので、中間ポイント（トルク）の値の変化に基づいて当該ランプ入力のランプ傾きの大きさが決定される。
【０１０５】
なお、被制御体の特性値などからランプ傾き初期値を算出してもよい。例えば、サーボモータを含む回転系のイナーシャ比などの特性値を取得できる場合には、イナーシャ比を用いて、初期傾きを算出することができる。
【０１０６】
（ｅ２：動特性モデルの算出）
次に、動特性モデルを算出する処理について説明する。この処理は、図９のステップＳ１０８、および、図１０のモデル候補作成処理部１６０に対応する。
【０１０７】
図１２は、本実施の形態に従うモデリング手法において用いられる動特性モデルを示す関数の一例を示す図である。図１２に示すように、むだ時間要素と、ｎ次遅れ要素とを組み合わせた離散時間伝達関数を用いるようにしてもよい。なお、図１２に示される関数は、パルス伝達関数とも称される。図１２に示す動特性モデルにおいては、むだ時間要素のむだ時間ｄならびにｎ次遅れ要素の変数ａ１−ａｎおよび変数ｂ１−ｂｍが特性パラメータとして決定される。なお、次数ｎおよび次数ｍについても最適な値が決定されてもよい。
【０１０８】
このような特性パラメータの作成処理（すなわち、システム同定）は、制御対象への同定入力および同定出力として選択された信号の時間波形（図１０のデータセット１５８）を用いて、最小二乗法などにより実行されてもよい。
【０１０９】
具体的には、同定入力として選択された指令値を図１２に示す動特性モデルの変数ｕとして与えたときに算出される出力ｙが、同定出力として選択された計測値と一致するように（すなわち、誤差が最小になるように）、特性パラメータの各々の値が決定される。
【０１１０】
このとき、むだ時間ｄを先に決定した上で、同定出力を当該決定したむだ時間ｄだけ進めた補正後の時間波形を生成し、その補正後の時間波形に基づいて、むだ時間要素を除いた残りの伝達関数の要素を決定してもよい。
【０１１１】
次数ｎおよび次数ｍを異ならせて、複数の動特性モデルを算出するようにしてもよい。この場合、後述するように、１または複数の評価基準に基づいて、最適な動特性モデルが作成される。
【０１１２】
このように、動特性モデルの算出過程においては、特性パラメータを異ならせた複数の動特性モデルを算出するようにしてもよい。この場合、以下に説明する評価処理を適用することで、複数の動特性モデルのうち１つの動特性モデルが作成されるようにしてもよい。
【０１１３】
（ｅ３：動特性モデルの評価・作成）
次に、動特性モデルの評価および最適な動特性モデルを作成する処理について説明する。この処理は、図９のステップＳ１１０およびＳ１１２、ならびに、図１０の評価処理部１６２およびユーザインターフェイス処理部１６４に対応する。
【０１１４】
複数の動特性モデルが算出された場合には、当該複数の動特性モデルを１または複数の評価基準に基づいて評価した上で、最適な動特性モデルが決定されてもよい。評価基準としては、同定の信頼性を示す度合い（ＦＩＴ率）やむだ時間の妥当性などが含まれる。また、定位系モデルの場合には、評価基準として、定常ゲインの妥当性を採用してもよい。
【０１１５】
ＦＩＴ率は、算出された特性パラメータによって規定される図１２に示すような関数に対して、同定入力を与えたときに算出される出力と、実際に収集された同定出力との間の一致率を示す値である。このようなＦＩＴ率については、誤差を算出する公知の計算式を用いることができる。基本的には、ＦＩＴ率が最大（すなわち、一致率が最大／誤差が最小）であるものを選択すればよい。
【０１１６】
また、動特性モデルの評価に際しては、特異的な挙動を示すものを除外するようにしてもよい。例えば、制御対象の本来の特性に含まれない特異な挙動を示す場合には、本来の制御対象の本来の特性を示すものではないと考えられるので、問題がある動特性モデルとして除外するようにしてもよい。
【０１１７】
図１３は、本実施の形態に従うモデリング手法によって算出された動特性モデルのうち振動的な挙動を示すものを説明するための図である。図１３に示す動特性モデルにおいては、インパルス応答の立ち上がり期間において、振幅の大きさが上下方向にぶれている。このような振動的な挙動を示す動特性モデルについては、制御対象の特性を適切に反映しているものとは考えられないので、出力対象からは除外されてもよい。
【０１１８】
上述したような動特性モデルに対する評価については、制御装置１００において自動的に実行されてもよい。あるいは、ユーザに対して、算出された動特性モデルおよび対応するＦＩＴ率を提示した上で、ユーザからの選択を受付けるようにしてもよい。このようなユーザへの算出された動特性モデルおよびＦＩＴ率の提示、ならびに、ユーザからの選択の受付けは、図１０に示すユーザインターフェイス処理部１６４によって実行されてもよい。
【０１１９】
図１４は、本実施の形態に従う制御装置１００から動特性モデルの候補をユーザへ提示する際のインターフェイス画面の一例を示す図である。図１４に示すインターフェイス画面３００においては、算出された複数の動特性モデルの特性を示すグラフ３０１〜３０３と、それぞれの動特性モデルのＦＩＴ率３１１〜３１３とが示されている。
【０１２０】
グラフ３０１〜３０３の各々には、対応する動特性モデル（一種の伝達関数）のステップ応答およびインパルス応答の時間波形が示されている。このような時間波形に代えて、あるいは、時間波形とともに、算出された動特性モデルを規定する特性パラメータおよび特性パラメータの次数などの情報を提示するようにしてもよい。
【０１２１】
ユーザは、図１４に示すようなインターフェイス画面３００を参照して、算出された動特性モデルのうち、いずれの動特性モデルが最適であるかを判断し、最適と考える動特性モデルを選択する。図１４に示すインターフェイス画面３００においては、各候補に対応付けてラジオボタン３２０が設けられており、ユーザは、目的の動特性モデルに対応するラジオボタン３２０を選択する。このようなユーザ操作によって、目的の動特性モデルが最終結果として出力される。
【０１２２】
図１５は、本実施の形態に従う制御装置１００によって作成された動特性モデルをユーザへ提示する際のインターフェイス画面の一例を示す図である。上述したような評価処理を経て最終的に出力されるべき動特性モデルが決定されると、図１５に示すようなインターフェイス画面３５０を介してユーザへその内容が通知されてもよい。つまり、決定された動特性モデルの応答特性が視覚的に出力されてもよい。
【０１２３】
図１５に示すインターフェイス画面３５０においては、作成された動特性モデルの特性を示すグラフ３５２と、その動特性モデルのＦＩＴ率３５４とが示されている。グラフ３５２には、作成された動特性モデル（一種の伝達関数）のステップ応答およびインパルス応答の時間波形が示されている。このような時間波形に代えて、あるいは、時間波形とともに、算出された動特性モデルを規定する特性パラメータおよび特性パラメータの次数などの情報を提示するようにしてもよい。
【０１２４】
ユーザは、インターフェイス画面３５０を介して、作成された動特性モデルの応答特性を確認するとともに、算出された動特性モデルの精度を示すＦＩＴ率の値を確認することができる。
【０１２５】
なお、図１５に示すインターフェイス画面３５０を必ず提示する必要はなく、制御装置１００の内部処理において、作成された動特性モデルを規定する特性パラメータを別の処理に渡すようにするだけでもよい。
【０１２６】
以上のような処理によって、算出される１または複数の動特性モデルのうち、最適な動特性モデルが最終出力される。
【０１２７】
また、上述の図２〜図５に示すように、動特性モデルの対象となる範囲のバリエーションが予め想定される場合には、それぞれの動特性モデルを自動的に作成するとともに、それぞれの動特性モデルをユーザに提示するようにしてもよい。
【０１２８】
図１６は、本実施の形態に従う制御装置１００によって作成された動特性モデルをユーザへ提示する際のインターフェイス画面の別の一例を示す図である。対象が異なる複数の動特性モデルがそれぞれ作成されると、図１６に示すようなインターフェイス画面３６０を介してユーザへその内容が通知されてもよい。つまり、作成された制御対象を異ならせるそれぞれの動特性モデルの応答特性が視覚的に出力されてもよい。
【０１２９】
図１６に示すインターフェイス画面３６０においては、作成されたそれぞれの動特性モデルの特性を示すグラフ３６１〜３６３と、各動特性モデルのＦＩＴ率３７１〜３７３とが示されている。グラフ３６１〜３６３には、それぞれの動特性モデル（一種の伝達関数）のステップ応答およびインパルス応答の時間波形が示されている。このような時間波形に代えて、あるいは、時間波形とともに、算出された動特性モデルを規定する特性パラメータおよび特性パラメータの次数などの情報を提示するようにしてもよい。
【０１３０】
＜Ｆ．プログラミング例＞
本実施の形態に従うモデリング手法は、制御装置１００で実行されるユーザプログラム１１２において命令を記述することで実行するようにできる。以下、本実施の形態に従うモデリング手法のプログラミングの一例について説明する。
【０１３１】
図１７は、本実施の形態に従う制御装置１００で実行されるユーザプログラム１１２の命令コードの一例を示す図である。図１７に示すユーザプログラム１１２は、２つのファンクションブロック（以下、「ＦＢ（Function Block）」とも記す。）を含む。１つ目のファンクションブロックは、本実施の形態に従うモデリング手法の実行を規定するための動特性モデル自動作成ＦＢ１１３であり、２つ目のファンクションブロックは、本実施の形態に従うモデリング手法によって作成された動特性モデルを利用したモデル予測制御の実行を規定するためのモデルベースト制御ＦＢ１１５である。
【０１３２】
説明の便宜上、動特性モデル自動作成ＦＢ１１３およびモデルベースト制御ＦＢ１１５を並べて記載するが、これらを個別に用いてもよい。
【０１３３】
動特性モデル自動作成ＦＢ１１３は、入力項目として、開始指示１１３Ａと、サンプリング周期１１３Ｂと、同定出力１１３Ｃと、トルク１１３Ｄと、最大移動距離１１３Ｅと、最大速度１１３Ｆと、同定入力１１３Ｈとを含む。動特性モデル自動作成ＦＢ１１３は、出力項目として、ステータス１１３Ｇと、特性パラメータ１１３Ｉと、ＦＩＴ率１１３Ｊとを含む。
【０１３４】
開始指示１１３Ａには、例えば、本実施の形態に従うモデリング手法を開始するための条件が設定される。図１７に示す例では、開始条件１に対応する接点が関連付けられている。
【０１３５】
サンプリング周期１１３Ｂには、同定入力および同定出力を収集する周期が設定される。
【０１３６】
同定出力１１３Ｃには、同定出力として用いられる信号が設定される。図１７に示す例では、同定出力として、サーボモータの位置を示す計測位置が設定されている。なお、ユーザプログラム１１２が変数プログラミングで記述される場合には、同定出力として用いるべき信号を示す変数名が設定される。
【０１３７】
トルク１１３Ｄには、上述の図１１を参照して説明したような同定出力の大きさを作成するためのフィードバック値としてのトルクを示す信号が設定される。通常、同定入力および同定出力に関連付けられるサーボドライバやアクチュエータからのフィードバック値が用いられる。
【０１３８】
最大移動距離１１３Ｅには、同定入力および同定出力を収集するために移動可能な距離の最大値が設定される。最大速度１１３Ｆには、同定入力および同定出力を収集するために許容される速度の最大値が設定される。
【０１３９】
同定入力１１３Ｈには、同定入力として用いられる信号が設定される。図１７に示す例では、同定入力として、サーボモータの位置についての指令値である指令位置が設定されている。なお、ユーザプログラム１１２が変数プログラミングで記述される場合には、同定入力として用いるべき信号を示す変数名が設定される。
【０１４０】
また、ステータス１１３Ｇからは、動特性モデル自動作成ＦＢ１１３による処理の実行状態を示す値が出力される。
【０１４１】
特性パラメータ１１３Ｉからは、本実施の形態に従うモデリング手法によって作成された動特性モデルを規定する特性パラメータ（ｄ，ａ１−ａｎ，ｂ１−ｂｍ）が出力される。なお、ユーザプログラム１１２が変数プログラミングで記述される場合には、これらの特性パラメータを格納するための構造体を示す変数名が設定されてもよい。これらの特性パラメータは、モデルベースト制御ＦＢ１１５にて使用されてもよい。
【０１４２】
ＦＩＴ率１１３Ｊからは、作成された動特性モデルについてのＦＩＴ率が出力される。
このように、本実施の形態に従う制御装置１００においては、動特性モデル自動作成ＦＢ１１３を用いて、図１０に示す各処理部が規定されたユーザプログラムが実行されるように構成されている。動特性モデル自動作成ＦＢ１１３に関連付けて指定された変数に基づいて、動特性モデルの対象となる範囲が決定される。
【０１４３】
一方、モデルベースト制御ＦＢ１１５は、入力項目として、開始指示１１５Ａと、サンプリング周期１１５Ｂと、指令位置１１５Ｃと、計測位置１１５Ｄと、特性パラメータ１１５Ｅとを含む。モデルベースト制御ＦＢ１１５は、出力項目として、ステータス１１５Ｆと、補正後指令位置１１５Ｇと、制御偏差１１５Ｈと、予測誤差１１５Ｉとを含む。
【０１４４】
開始指示１１５Ａには、例えば、本実施の形態に従うモデリング手法によって作成された動特性モデルを用いたモデルベースト制御を開始するための条件が設定される。図１７に示す例では、開始条件２に対応する接点が関連付けられている。
【０１４５】
サンプリング周期１１５Ｂには、モデルベースト制御による演算を実行する周期が設定される。
【０１４６】
指令位置１１５Ｃには、制御対象のサーボモータまたはアクチュエータに対する１または複数の指令値が設定される。例えば、サーボモータにより駆動されるロボットの軌跡を制御するようなアプリケーションにおいては、複数の指令位置により軌跡が規定される。指令位置１１５Ｃには、このような複数の指令位置を格納したデータ配列が関連付けられてもよい。
【０１４７】
計測位置１１５Ｄには、指令値に対する計測値（フィードバック値）が設定される。図１７に示す例においては、指令値として指令位置を与えているので、そのフィードバック値として、計測位置１１５Ｄには計測位置が設定されている。
【０１４８】
特性パラメータ１１５Ｅには、動特性モデル自動作成ＦＢ１１３の特性パラメータ１１３Ｉから出力される特性パラメータ（ｄ，ａ１−ａｎ，ｂ１−ｂｍ）が入力される。
【０１４９】
また、ステータス１１５Ｆからは、モデルベースト制御ＦＢ１１５による処理の実行状態を示す値が出力される。
【０１５０】
補正後指令位置１１５Ｇからは、指令位置１１５Ｃから入力された指令値および計測位置１１５Ｄから入力されたフィードバック値に対して、制御対象の特性を示す動特性モデルを考慮したモデル予測制御の結果得られる、補正後の指令値が出力される。サーボドライバには、指令位置１１５Ｃに設定される指令値ではなく、補正後指令位置１１５Ｇから出力される補正後の指令値が与えられることになる。このようなモデル予測制御を採用することで、本来の指令値を制御対象の特性に応じて補正した結果を制御対象に与えることができるので、制御対象を本来の指令により近い挙動をさせることができる。
【０１５１】
制御偏差１１５Ｈからは、モデル予測制御の計算過程において算出される制御偏差が出力される。予測誤差１１５Ｉからは、モデル予測制御によって得られる補正後の指令値を制御対象に与えたときに生じ得る、誤差の予測値が出力される。
【０１５２】
以上のように、本実施の形態に従う制御装置１００においては、２つのファンクションブロックを用いてユーザプログラムを記述するだけで、制御対象の動特性モデルの作成、および、作成された動特性モデルを用いたモデルベースト制御を実現できる。
【０１５３】
＜Ｇ．動特性モデルの応用例＞
本実施の形態に従うモデリング手法によって作成される動特性モデルは、上述したようなモデルベースト制御に用いることができる。同様の手法によって、ロボット制御などに用いられる指令値群（例えば、目標軌道）に対する補正などにも適用できる。
【０１５４】
また、本実施の形態に従うモデリング手法によって動特性モデルを周期的に作成し、その周期的に作成される動特性モデルに生じる変化などを監視することで、制御対象の特性変化などを検出することができる。
【０１５５】
さらに、任意の制御対象についての動特性モデルをより簡単な操作で作成できるので、上述したものに限らず、さまざまな用途に用いることができる。
【０１５６】
＜Ｈ．分散化された実装形態＞
上述の説明においては、典型例として、制御装置１００にて必要な処理のすべてを実行する形態を例示した。このような実装形態に限定されることなく、複数の処理主体が協働して、本実施の形態に従うモデリング手法を実行するようにしてもよい。
【０１５７】
図１８は、本実施の形態に従うモデリング手法を分散化して実装した形態を示す模式図である。図１８には、制御装置１００および情報処理装置４００が協働することで、本実施の形態に従うモデリング手法を実行する構成を示す。
【０１５８】
情報処理装置４００としては、例えば、汎用パーソナルコンピュータを用いることができる。汎用パーソナルコンピュータが所定の制御プログラムを実行することで、本実施の形態に従うモデリング手法に必要な処理を提供するようにしてもよい。汎用パーソナルコンピュータの構成については、公知であるので、ここでは詳細な説明は行なわない。
【０１５９】
制御装置１００と情報処理装置４００との間は、有線または無線の任意の通信手段を介してデータを遣り取り可能に接続される。例えば、イーサネット（登録商標）やＵＳＢ（Universal Serial Bus）などの有線の通信手段を介して両者を接続してもよいし、無線ＬＡＮ（Local Area Network）やＢｌｕｅｔｏｏｔｈ（登録商標）などの無線の通信手段を介して両者を接続してもよい。
【０１６０】
情報処理装置４００として（パブリックまたはプライベート）ネットワーク上のサーバを用いてもよい。この場合には、制御装置１００が任意のネットワークを介して当該サーバに接続できるような構成が採用される。
【０１６１】
図１８に示す実装例においては、制御装置１００において、同定入力および同定出力を取得する処理が実行され、情報処理装置４００において、動特性モデルを作成する処理が実行される。具体的には、制御装置１００においては、（１）同定入力生成処理、（２）同定入力出力処理、（３）同定出力取得処理が実行される。これらの処理によって制御装置１００において収集された同定入力および同定出力が情報処理装置４００へ送信される。情報処理装置４００においては、（５）動特性モデルの算出処理、および、（６）動特性モデルの評価および作成処理が実行される。これらの処理によって作成された動特性モデル（動特性モデルを規定する特性パラメータ）が情報処理装置４００から制御装置１００へ送信される。
【０１６２】
制御装置１００では、情報処理装置４００からの動特性モデル（動特性モデルを規定する特性パラメータ）を用いて、上述したようなモデルベースト制御などが実行される。
【０１６３】
図１７に示すような処理の分散構成は一例であり、各処理主体が担当する処理は図１７に示すようなものには限られない。また、図１７に示すような制御装置１００および情報処理装置４００の組み合わせに限らず、より多くの処理主体を関与させるようにしてもよい。
【０１６４】
＜Ｉ．結論＞
本実施の形態に従うモデリング手法においては、制御装置１００などから特性測定用の信号（同定入力）として、例えば、サーボドライバへの指令位置などを与えるとともに、それに対する応答データ（同定出力）として、例えば、サーボモータからのフィードバック値（すなわち、計測位置）を収集する。併せて、例えば、サーボモータが発生するトルクなどの中間データについても収集する。そして、これらの収集した同定入力および同定出力を用いてシステム同定手法を適用することで、さまざまな制御対象についての動特性モデルを作成することができる。
【０１６５】
本実施の形態に従うモデリング手法においては、任意の同定および同定出力を設定できるので、動特性モデルを作成する対象となる制御対象としては、（１）サーボドライバおよび被制御体（メカ）、被制御体（メカ）のみ、（３）サーボドライバ、被制御体（メカ）およびワークといった、任意の範囲を設定することできる。
【０１６６】
このような任意の範囲を制御対象に設定した上で、当該設定した制御対象についての動特性モデルを自動作成できる。このような動特性モデルの作成には、高度な知識および手間が必要であるが、本実施の形態に従うモデリング手法によれば、モデリングに関する知識が不要であり、また、モデリング作業の手間を軽減できる。そして、自動的に作成された動特性モデルを用いて、制御対象を高精度に制御することができる。
【０１６７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１６８】
２  制御演算部、４  制御対象、１００  制御装置、１０２  プロセッサ、１０４  チップセット、１０６  メインメモリ、１０８  フラッシュメモリ、１１０  システムプログラム、１１２  ユーザプログラム、１１２Ａ  シーケンスプログラム、１１２Ｂ  モーションプログラム、１１３  動特性モデル自動作成ＦＢ、１１３Ａ，１１５Ａ  開始指示、１１３Ｂ，１１５Ｂ  サンプリング周期、１１３Ｃ  同定出力、１１３Ｄ  トルク、１１３Ｅ  最大移動距離、１１３Ｆ  最大速度、１１３Ｇ，１１５Ｆ  ステータス、１１３Ｈ  同定入力、１１３Ｉ，１１５Ｅ  特性パラメータ、１１３Ｊ  ＦＩＴ率、１１４  動特性モデルライブラリ、１１５  モデルベースト制御ＦＢ、１１５Ｃ  指令位置、１１５Ｄ  計測位置、１１５Ｇ  補正後指令位置、１１５Ｈ  制御偏差、１１５Ｉ  予測誤差、１１６  外部ネットワークコントローラ、１１８  メモリカードインターフェイス、１２０  メモリカード、１２２  内部バスコントローラ、１２４  フィールドバスコントローラ、１２６  Ｉ／Ｏユニット、１５２  選択設定受付処理部、１５４  同定データ生成・データ収集処理部、１５６  データ格納処理部、１５８  データセット、１６０  モデル候補作成処理部、１６２  評価処理部、１６４  ユーザインターフェイス処理部、１６６  出力処理部、１７０  制御処理部、２００  サーボドライバ、２５０  サーボモータ、２５２  アクチュエータ、２６０，２６２  物体、２７０  ワーク、２８０，２８２  センサ、３００，３５０  インターフェイス画面、４００  情報処理装置。
【図１】
2018120327.tif 000003
【図２】
2018120327.tif 000004
【図３】
2018120327.tif 000005
【図４】
2018120327.tif 000006
【図５】
2018120327.tif 000007
【図６】
2018120327.tif 000008
【図７】
2018120327.tif 000009
【図８】
2018120327.tif 000010
【図９】
2018120327.tif 000011
【図１０】
2018120327.tif 000012
【図１１】
2018120327.tif 000013
【図１２】
2018120327.tif 000014
【図１３】
2018120327.tif 000015
【図１４】
2018120327.tif 000016
【図１５】
2018120327.tif 000017
【図１６】
2018120327.tif 000018
【図１７】
2018120327.tif 000019
【図１８】
2018120327.tif 000020