(57)【特許請求の範囲】
【請求項１】
制御対象を制御する制御装置であって、
前記制御対象のモデルについて入力値に対する出力値の予測値を出力する予測部と、
前記予測値と前記制御対象の出力の実測値との関係を表す関係値を算出する関係値算出部と、
前記制御対象が特定の状態で動作する基準状態での前記関係値である第１関係値と前記制御対象を動作させる動作状態での前記関係値である第２関係値とを、前記第１関係値と前記第２関係値との差を算出することで比較し、前記差を所定の閾値と比較する関係値比較部と、
算出された前記差が前記閾値を超えたと判定することで前記制御対象の制御量の変化を検出する一方、算出された前記差が前記閾値以下であると判定することで前記制御量の変化を検出しない変化検出処理部と、
を備えていることを特徴とする制御装置。
【請求項２】
前記制御対象は機構部であり、
前記入力値は前記機構部を駆動する駆動力の値であることを特徴とする請求項１に記載の制御装置。
【請求項３】
特定のパラメータについての前記実測値を通常の値と異ならせて設定された前記第１関係値に対する前記第２関係値の変化量の第１変化量パターンと、前記制御対象の動作状態での前記第１関係値に対する前記第２関係値の変化量の第２変化量パターンとを比較する変化量比較部をさらに備えていることを特徴とする請求項１または２に記載の制御装置。
【請求項４】
前記第１関係値と前記第２関係値との差が前記閾値に達する許容限界に対する前記第２関係値の余裕の度合い示す余裕度を算出する余裕度算出部をさらに備えていることを特徴とする請求項１に記載の制御装置。
【請求項５】
請求項１から４のいずれか１項に記載の制御装置としてコンピュータを機能させるための制御プログラムであって、各部としてコンピュータを機能させるための制御プログラム。
【請求項６】
請求項５に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象を制御する制御装置に関する。
【背景技術】
【０００２】
従来、機械などの制御対象を制御する制御装置は、外乱や異常状態に応じて制御動作を行うことが知られている。このような制御装置は、制御動作のために外乱や異常状態を検出する。
【０００３】
例えば、特許文献１には、モデル（モータまたは機械をモデル化したもの）での制御の状態量と、実機部を動作させたときのフィードバック値からの状態量とを比較し、その比較結果と閾値との比較に基づいて外乱を検出することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３６４３９６号公報（２００４年１２月２４日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された制御装置では、精度良く外乱や異常を検出するためには、モデルの精度を実機に近づける必要がある。このため、物理的なシミュレーションモデルを用いた場合においては、モデル関数のパラメータの確定や設定が必要となる。
【０００６】
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、高精度のミュレーションモデルを用いなくても精度良く特性変化、外乱、異常などを検出することができる制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明に係る制御装置は、制御対象を制御する制御装置であって、前記制御対象のモデルについて入力値に対する出力値の予測値を出力する予測部と、前記予測値と前記制御対象の出力の実測値との関係を表す関係値を算出する関係値算出部と、前記制御対象が特定の状態で動作する基準状態での前記関係値である第１関係値と前記制御対象を動作させる動作状態での前記関係値である第２関係値とを比較する関係値比較部と、を備えている構成である。
【０００８】
上記の構成によれば、基準状態における第１関係値と、動作状態で得られた第２関係値とを比較することにより、第１関係値に対する第２関係値の変化がわかる。したがって、その変化の大きさ（変化量）に基づいて制御対象の出力値に何らかの変化が生じていると判断することができる。また、第１関係値を用いることにより、モデルの精度が低くても、その影響が第１関係値に含まれるため、モデルの精度に対するロバスト性が高い。それゆえ、モデル作成が容易になり、また、簡素なモデルを用いることができる。したがって、高精度のモデルを用いなくても、精度良く外乱や異常状態を検出することができる。
【０００９】
前記制御装置において、前記関係値比較部は、前記第１関係値と前記第２関係値との差を算出することで前記第１関係値と前記第２関係値とを比較し、前記差を所定の閾値と比較してもよい。
【００１０】
上記の構成によれば、出力値の変化を検出する判断基準として閾値を用い、当該閾値を適宜設定することで、所望の基準で変化を検出することができる。例えば、制御装置が組み込まれた制御システムにおいて、システムの使用に応じた閾値で変化を検出することができる。
【００１１】
前記制御装置において、前記制御対象は機構部であり、前記入力値は前記機構部を駆動する駆動力の値であってもよい。
【００１２】
制御対象の特性に何らかの変化が生じたり、外乱が発生したりすると、その影響は、制御対象の出力の実測値の変化として現れる。フィードバック制御が強力になるほど、早く駆動力の値、例えばトルク値が修正されることにより、制御量への影響が軽減されるため、制御量による変化の検出は難しくなる。そこで、トルク値などの変化を観測することが考えられる。しかしながら、フィードバック制御が弱ければトルク値の変化が緩慢になり、逆に制御量への影響が大きく現れることから、制御量を観測することが好ましい。つまり、フィードバック制御の強弱によって、観測すべき変数が異なる。それゆえ、制御対象の入力および出力の一方のみを観測するよりも、入出力の関係を観測する方が好ましく、その関係を表すものとして関係値を使用する。したがって、より精度の高い変化検出が可能となる。
【００１３】
前記制御装置は、特定のパラメータについての前記実測値を通常の値と異ならせて設定された前記第１関係値に対する前記第２関係値の変化量の第１変化量パターンと、前記制御対象の動作状態での前記第１関係値に対する前記第２関係値の変化量の第２変化量パターンとを比較する変化量比較部をさらに備えていてもよい。
【００１４】
上記の構成によれば、第２変化量パターンが、粘性摩擦係数や慣性モーメントといったパラメータに応じた第１変化量パターンのいずれに近いかを双方のパターンを比較することにより、いずれのパラメータの特性がどの程度変化しているかを判別することができる。
【００１５】
前記制御装置は、前記第１関係値と前記第２関係値との差が前記閾値に達する許容限界に対する前記第２関係値の余裕の度合い示す余裕度を算出する余裕度算出部をさらに備えていてもよい。
【００１６】
上記の構成によれば、余裕度を算出することにより、現状からどの程度で許容限界に達するかを認識することができる。これにより、制御対象のメンテナンスが必要となる限界に達するまでのおおよその時間的な余裕を把握することができる。
【００１７】
本発明に係る制御装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記制御装置が備える各部（ソフトウェア要素）として動作させることにより上記制御装置をコンピュータにて実現させる制御装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００１８】
本発明は、高精度のミュレーションモデルを用いなくても精度良く外乱や異常状態を検出することができるという効果を奏する。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態１に係る制御システムの概略構成を示すブロック図である。
【図２】上記制御システムにおけるコントローラが有する閾値設定部による第１の閾値の設定方法を説明するための図である。
【図３】上記閾値設定部による第２の閾値設定方法のためのシミュレーションを示す図である。
【図４】上記第２の閾値設定方法を説明するための図である。
【図５】上記コントローラが制御対象の変化を検出する許容限界に対する余裕を示すグラフである。
【図６】（ａ）〜（ｅ）は特性の変化の有無の例を示す図である。
【図７】上記制御システムにおいて予測誤差を使用する意義を説明するための図である。
【図８】本発明の実施形態２に係るコントローラの構成を示すブロック図である。
【図９】本発明の実施形態３に係るコントローラの構成を示すブロック図である。
【図１０】本発明の実施形態４に係るコントローラの構成を示すブロック図である。
【図１１】（ａ）〜（ｆ）は本発明の実施例１に係るボールねじの軌道を制御する事例を示す波形である。
【図１２】（ａ）〜（ｅ）は本発明の実施例２に係るベルト駆動ＸＹテーブルを制御する事例を示す波形である。
【発明を実施するための形態】
【００２０】
〔実施形態１〕
本発明の実施形態１について図１〜図７を用いて説明すれば、以下のとおりである。
【００２１】
（制御システム１００の構成）
図１は、実施形態１に係る制御システム１００の概略構成を示すブロック図である。
【００２２】
図１に示すように、制御システム１００は、コントローラ１と、サーボドライバ２と、機構部３とを備えている。
【００２３】
機構部３は、コントローラ１の制御対象であり、モータ３１と、被駆動部３２とを含んでいる。モータ３１は、例えばサーボモータであり、被駆動部３２を駆動する。また、モータ３１は、回転角度および回転角速度を検出するためのロータリエンコーダが回転軸に取り付けられている。被駆動部３２は、ロボットなどの機械における駆動される部分であり、モータ３１が発生する回転駆動力を所定の運動に変換する機構を有している。
【００２４】
サーボドライバ２は、コントローラ１から受けた指令に基づき、モータ３１の状態量（回転角度、回転角速度など）に応じた最適な駆動エネルギーとしてトルクを与えることによってモータ３１を駆動する。サーボドライバ２は、後述する制御対象モデルに含まれる場合、コントローラ１の制御対象となる。
【００２５】
サーボドライバ２は、制御系として、位置制御部２１と、速度制御部２２とを有している。位置制御部２１は、モータ３１から出力されるフィードバック位置（回転角度）と、コントローラ１からの指令値とに基づいて位置制御（Ｐ制御）を行う。速度制御部２２は、モータ３１から出力されるフィードバック速度（回転角速度）と、位置制御部２１からの制御パルスとに基づいて速度制御（ＰＩ制御）を行う。
【００２６】
コントローラ１は、サーボドライバ２に与える制御のための指令値を生成する制御装置であり、プログラマブルコントローラなどによって構成される。コントローラ１は、外部から与えられる指令値パターンに基づいて指令値を生成する指令値生成部１１を有している。また、コントローラ１は、サーボドライバ２または機構部３に生じた何らかの変化を検出する機能を有しており、その機能を実現するために、変化検出処理部１２と、閾値設定部１３とを有している。
【００２７】
変化検出処理部１２は、制御対象モデルを使用した制御量の予測計算（シミュレーション）を行い、その結果として得た予測値と、実際に計測した制御量（フィードバック値，実測値）との差である予測誤差（関係値）の基準状態（制御対象が正常に動作する状態（制御対象に特性変化または外乱が生じていない状態とも言える））からの変化量を監視し、当該変化量に基づいて、制御量の変化（特性変化および外乱を含む変化）を検出する。より具体的には、変化検出処理部１２は、基準状態での特性（基準特性）の予測誤差である基準特性予測誤差の１サイクル分のパターンを教師パターンとして求めておき、実機（サーボドライバ２および機構部３）の通常の動作状態で得られた制御量に基づく予測誤差の、教師パターンの基準特性予測誤差に対する変化量が所定の閾値を超えたときに変化を検出する。制御対象モデルとしては、サーボドライバ２および機構部３の組み合わせをモデルにした複合モデル、または機構部３のみをモデルにした機構モデルが挙げられる。
【００２８】
また、変化検出処理部１２は、許容限界余裕度推定部１２ａ（余裕度算出部）と、変化特性推定部１２ｂ（変化量比較部）とを有している。許容限界余裕度推定部１２ａは、変化検出処理部１２が予測誤差の変化量（予測誤差変化量）に基づいて変化を検出するまでの許容できる限界に対する余裕度を推定する。変化特性推定部１２ｂは、変化検出処理部１２が予測誤差変化量に基づいて変化を検出する際に、変化した特性（パラメータ）の種別を推定する。
【００２９】
なお、本実施形態では、変化検出処理部１２が、変化を検出するために、予測値と実測値との関係を表す指標（関係値）として予測誤差を用いているが、当該指標としては、予測誤差に限定されない。例えば、予測値と実測値との比を指標として用いても良い。
【００３０】
閾値設定部１３は、上記の閾値を設定する。閾値設定部１３は、サーボドライバ２および機構部３を動作させた状態で得られた予測誤差変化量に基づいて閾値を設定する（第１の閾値設定方法）。あるいは、閾値設定部１３は、制御対象モデルを用いたシミュレーションによって求めた予測誤差変化量に基づいて閾値を設定する（第２の閾値設定方法）。
【００３１】
（制御対象モデル）
制御対象をシミュレーションするときのモデルは、例えば全体モデルと個別モデルとがある。
【００３２】
全体モデルは、次の式（１）に示す離散時間伝達関数のように表される。式（１）において、各パラメータの物理的な意味はないが、トータルとしての特性が合うように適切に係数が決定されている。式（１）において、ｕは入力を表し、ｙは出力を表し、ｄ、ａ１〜ａｎおよびｂ１〜ｂｍは特性パラメータを表し、ｚ−１は遅延演算子を表している。
【００３３】
【数１】
0006443311.tif 000002
【００３４】
しかしながら、変化特性推定部１２ｂが、後述するようにして特性の変化時における予測誤差変化量のパターンを予めシミュレーションで求めておく場合には、物理的な意味が明確なパラメータを含む個別モデルが必要になる。個別モデルとしては、例えば以下のようなモデルが挙げられる。
【００３５】
モータ３１の回転速度の例では、ｙを速度とし、ｕをトルクとし、Ｊを慣性モーメントとし、Ｄを粘性摩擦係数とすると、速度ｙは次の式（２）で表される。
【００３６】
【数２】
0006443311.tif 000003
【００３７】
また、タンク内の液体温度の例では、ｙを温度とし、ｕを加える熱量とし、ｖを体積とし、ρを密度とし、Ｃを比熱とし、Ｗをタンクに対する流入量および流出量とすると、温度ｙは次の式（３）で表される。
【００３８】
【数３】
0006443311.tif 000004
【００３９】
ここで、全体モデルが離散時間伝達関数である場合、サンプリング時点ｋの予測値ｙは、式（１）を変形して得られる式（４）を用いて算出される。また、式（１）におけるｚ−１は１周期前を表している。これにより、変化検出処理部１２は、過去の位置情報（ｙ（ｋ−１），ｙ（ｋ−２）…）に係数を乗算したものと、制御対象としての入力（コントローラ１から見ると出力）の過去情報のいくつかとを組み合わせて、ｋ番目の位置としてのｙ（ｋ）を計算する。このように計算した予測値とフィードバック値とが相違している場合、その差がその時点での予測誤差となる。
【００４０】
【数４】
0006443311.tif 000005
【００４１】
（コントローラ１の動作）
上記のように構成される制御システム１００におけるコントローラ１の動作について説明する。
【００４２】
〈閾値設定部１３の動作〉
まず、閾値設定部１３の動作について説明する。
【００４３】
（１）第１の閾値設定方法
図２は、閾値設定部１３による第１の閾値設定方法を説明するための図である。
【００４４】
閾値設定部１３は、教師パターンが決定された後に、コントローラ１が基準状態で実機（サーボドライバ２および機構部３）を数回動作させたときに計測された制御量（フィードバック値）を取得し、これらの制御量に基づく予測誤差の教師パターンに対する変化量（予測誤差変化量）のばらつき幅に基づき、余裕を含めて閾値を設定する。より具体的には、図２に示すように、閾値設定部１３は、予測誤差変化量の最大値および最小値のそれぞれに、一定比率（例えば１２０％）を乗じた値を閾値（上限値および下限値）として設定する。
【００４５】
なお、閾値設定部１３は、予測誤差変化量の最大値および最小値のいずれか一方にのみ一定比率を乗じて閾値を設定してもよい。また、実機を数回動作させたときの最初の１回で得られた教師パターンを、記憶する教師パターンとして採用しても良いが、数回の動作で得られた教師パターンの平均値を、記憶する教師パターンとして採用することが好ましい。さらに、予測値も、実機が動作する回毎に計算し、これに合わせて、予測値と制御量との差である予測誤差も計算する。つまり、制御対象の出力である制御量だけでなく、制御対象の入力である、トルク値やサーボドライバ２への指令値も、実機が動作する回毎に取得することが必要になる。
【００４６】
予測誤算の変化量は、繰り返し精度の要因で多少発生するが、基本的に、ほぼ０付近の値となる。したがって、閾値は０付近の値として設定される。
【００４７】
また、基準状態での制御量の計測値には、ばらつき（計測ノイズ）が含まれているので、数回分の動作で得られた制御量が必要となる。予測誤差が０となるのは、制御対象モデルが完全であって計測ノイズが生じない場合であるが、実際には制御量が何らかの計測ノイズを含むので、何回かの計測によって取得した制御量はばらついてくる。そのばらつき分を考慮して、少し余裕を持たせて一定の閾値を設定する。このように閾値を設定することにより、実機の特性変化や外乱が生じると、予測誤差変化量が閾値を超える。あるいは、計測ノイズがない場合であっても、定常的に微小な（検出対象にしなくても差し支えのないようなレベルの）外乱が入る場合も考えられる。したがって、その対策としても、上述のような複数回の予測誤差変化量を求めることが必要になる。
【００４８】
ところで、指令値の範囲内での実機の動作において、再現性がある非線形特性や他軸(他の制御ループ)から受ける干渉の影響は基準状態に含まれる。
【００４９】
また、同じ特性の複数台の機械または設備で共通の閾値を設定したい場合は、共通の制御対象モデルを使用しても良いが、複数台の機械または設備で得た制御量、トルク値、またはサーボドライバ２への指令値に基づいて、予測誤差変化量のばらつきを把握する必要がある。
【００５０】
以上の本閾値設定方法は、基準状態に含まれない、突発的な変化および緩やかな変化を含む全ての変化に対して共通に有効である。突発的な変化としては、機構部３の故障、部品交換、調整や、サーボドライバ２のパラメータ調整が挙げられる。また、緩やかな変化としては、機構部３の経年劣化が挙げられる。
【００５１】
（２）第２の閾値設定方法
図３は、閾値設定部１３による第２の閾値設定方法のためのシミュレーションを示す図である。図４は、第２の閾値設定方法を説明するための図である。
【００５２】
図３に示すように、閾値設定部１３は、実制御対象代用モデルＰｍと、制御対象モデルＭとを用いたシミュレーションにより閾値を設定する。実制御対象代用モデルＰｍは実機の制御対象モデルである。制御対象モデルＭは、制御対象の仮想的なモデルであり、変化系のシミュレーションに用いられる。
【００５３】
シミュレーションは、基本的に次の手順で行われる。まず、コントローラ１は、与えられた制御目標値ＳＰ（指令値パターン）に基づいて操作量ＭＶ（指令値）を生成して実制御対象代用モデルＰｍおよび制御対象モデルＭに与える。制御対象モデルＭは予測値Ｙを出力し、実制御対象代用モデルＰｍは制御量ＰＶを出力する。また、制御量ＰＶは、コントローラ１の入力へフィードバックされる。予測誤差Ｙerr（第２関係値）は、制御量ＰＶから予測値Ｙを減じることで得られ、予測誤差変化量Ｙerrdiffは、予測誤差Ｙerrから基準特性予測誤差Ｙerrbase（第１関係値）を減じることで得られる。
【００５４】
閾値設定部１３が、特性の変化がない状態で、制御対象代用モデルＰｍおよび制御対象モデルＭが等価であるとしてシミュレーションを実行すると、予測誤差Ｙerrおよび予測誤差変化量Ｙerrdiffは全区間で０となる。したがって、この場合のシミュレーションは、教師パターンの作成と同じになるので、省略しても良い。
【００５５】
閾値設定部１３は、実機の特性変化の許容値分だけ、実制御対象代用モデルＰｍの特性を変化させた実制御対象代用モデルＰｍ１について上記の手順でシミュレーションを実行する。図４に示すように、閾値設定部１３は、この結果得られた予測誤差変化量Ｙerrdiffの全区間におけるピーク値を検出できるように、予測誤差変化量Ｙerrdiffのピーク値（最大値および最小値）のそれぞれに、一定比率（例えば９０％）を乗じた値を閾値（上限値および下限値）として設定する。なお、閾値設定部１３は、予測誤差変化量Ｙerrdiffの最大値および最小値のいずれか一方にのみ一定比率を乗じて閾値を設定してもよい。
【００５６】
〈変化検出処理部１２の動作〉
続いて、変化検出処理部１２の動作について説明する。
【００５７】
まず、前述の複合モデルの場合、変化検出処理部１２への入力値が、指令値生成部１１から出力された指令値となる。一方、前述の機構モデルの場合、変化検出処理部１２への入力値が、サーボドライバ２からモータ３１に与えられたトルク（駆動力）の値（トルク値）となる。
【００５８】
初期モードにおいて、変化検出処理部１２は、図３に示すシミュレーションを行うことにより、制御の１サイクル分の基準特性予測誤差Ｙerrbase（教師パターン）を予め求めて記憶しておく。
【００５９】
実機を通常に動作させる通常モードにおいて、コントローラ１は、一定の指令値に基づいて機構部３に対して複数サイクルにわたって同じ制御動作を繰り返す。変化検出処理部１２は、入力値（操作量ＭＶ）に対する予測値Ｙを計算し、サーボドライバ２または機構部３から入力される制御周期（１サイクル）毎のフィードバック値（制御量ＰＶ）から予測値Ｙを減じることで予測誤差Ｙerrを求める。
【００６０】
そして、変化検出処理部１２は、予測誤差Ｙerrから基準特性予測誤差Ｙerrbaseを減じて予測誤差変化量Ｙerrdiffを求める。このとき、１サイクル内で予測誤差Ｙerrが得られた時点と同時点に得られた基準特性予測誤差Ｙerrbaseを減算に用いる。予測誤差Ｙerrの大きさは、モデル精度、指令値パターン（加速度が大きい箇所で大きくなり易いなどのパターン）、他の制御ループ動作から受ける干渉などによって増減する。しかし、同じ動作サイクル内では、上記の条件は、同じ時刻（サイクル開始時点からの経過時間）では、同じ大きさの予測誤差Ｙerrを発生させると考えられる。よって、サイクル内の同じ時刻の予測誤差Ｙerrおよび基準特性予測誤差Yerrbaseの差を計算する。
【００６１】
さらに、変化検出処理部１２は、この予測誤差変化量Ｙerrdiffと閾値設定部１３によって設定された閾値とを比較し、予測誤差変化量Ｙerrdiffが閾値を超えたと判定することで変化を検出する一方、予測誤差変化量Ｙerrdiffが閾値以下であると判定することで変化を検出しない。
【００６２】
なお、変化検出処理部１２は、上記のように、予測誤差Ｙerrと予測誤差変化量Ｙerrdiffとが特定の時点で得られたもの同士の差を求めているが、これには限定されない。例えば、変化検出処理部１２は、１サイクルの開始からの時系列データの類似度を各種統計処理により判定することにより、予測誤差Ｙerrと予測誤差変化量Ｙerrdiffとの差を求めても良い。
【００６３】
また、上記の例では、変化の検出を行う動作パターンは、制御の１サイクルと規定されているが、それ以外に、連続動作における特定の工程や何らかのトリガ信号を起点とする一定期間であっても良い。
【００６４】
〈許容限界余裕度推定部１２ａの動作〉
前述の変化検出処理部１２による変化検出動作においては、制御対象の変化の有無を検出しているが、それ以外に、変化が検出される許容限界に対する余裕度を表すこともできる。許容限界余裕度推定部１２ａは、前述の第２の閾値設定方法によって、実制御対象代用モデルＰｍの特性を実制御対象代用モデルＰｍ１モデルにまで変化させることで得られた予測誤差変化量Ｙerrdiffを、許容限界特性時の予測誤差変化量として利用している。図５は、コントローラ１が制御対象の変化を検出する許容限界に対する余裕を示すグラフである。
【００６５】
図５に一点鎖線にて示す許容限界に至るまでの途中段階の予測誤差変化量は、０の基準状態と、図５に実線にて示す許容限界に達したときの予測誤差変化量との間の値となる。つまり、図５は、現状の予測誤差変化量のパターンが、許容限界に達したときの予測誤差変化量のパターンに近ければ、予測誤差変化量が許容限界に近づいていることを表し、離れていれば許容限界に対して余裕があるということを表している。その余裕の度合い（余裕度）は、許容限界に達したときの予測誤差変化量のパターンの０に対する面積（第１面積）と、現状の予測誤差変化量のパターンの０に対する面積（第２面積）との比率により求められる。
【００６６】
許容限界余裕度推定部１２ａは、上記の余裕度を次の計算式に基づいて算出する。次式において、Ａは許容限界に達したときの予測誤差変化量の絶対値の総和（第１面積）を表し、Ｂは予測誤差変化量の絶対値の総和（第２面積）を表している。
【００６７】
余裕度＝（Ａ−Ｂ）／Ａ＊１００（％）
このように、予測誤差変化量が許容限界に達するまでの余裕度を求めることにより、現状からどの程度で許容限界に達するかを認識することができる。これにより、サーボドライバ２および機構部３のメンテナンスが必要となる限界に達するまでのおおよその時間的な余裕を把握することができる。
【００６８】
〈変化特性推定部１２ｂの動作〉
制御対象モデルには、粘性摩擦特性（Ｄ）、慣性モーメント（Ｊ）などのいくつかの特性のパラメータが含まれている。このため、特定のパラメータ（例えば粘性摩擦特性（Ｄ）や慣性モーメント（Ｊ））のみを変えるということを予めしておくと、教師パターンと運転時の予測誤差変化量のパターンとを比較すれば、変えたパラメータがどの程度変化するのかを予測できる。
【００６９】
変化特性推定部１２ｂは、前述の第２の閾値設定方法を利用して、図３に示す実制御対象代用モデルＰｍの特定の特性のみを単独で変化させたときの予測誤差変化量のパターン（特性別予測誤差変化量パターン）を、予め異なる特性についていくつか求めておく。実機の動作時において、変化特性推定部１２ｂは、そのとき得られた予測誤差変化量のパターンと、複数の特性別予測誤差変化量パターンとを比較し、実機動作時の予測誤差変化量のパターンに最も近い特性別予測誤差変化量パターンを判定する。
【００７０】
例えば、モータ３１の速度制御において、トルクと速度との関係は、慣性モーメントＪと粘性摩擦係数Ｄを用いて、１／（Ｊｓ＋Ｄ）により表される。変化特性推定部１２ｂは、実制御対象代用モデルＰｍの特性において、慣性モーメントＪｐｍが変化した場合と、粘性摩擦係数Ｄｐｍが変化した場合とのシミュレーションを行い、それぞれのシミュレーションによって得られた特性別予測誤差変化量パターン（第１変化量パターン）を記憶しておく。そして、変化特性推定部１２ｂは、実機制御時の予測誤差変化量パターン（第２変化量パターン）を上記の２つの特性別予測誤差変化量パターンと比較し、実機制御時の予測誤差変化量パターンが、いずれの特性別予測誤差変化量パターンに近いか、または特性別予測誤差変化量パターンの２つの組み合わせであるかを判定することで、判定した特性がどの程度変化しているかを推定する。
【００７１】
図６の（ａ）〜（ｅ）はサーボドライバ２（速度制御ループのみ）および機構部３を制御対象とした場合の特性の変化の有無の例を示す図である。図６の（ａ）に示すように、特性を変化させていない場合、速度の制御目標値ＳＰに対して速度の制御量ＰＶがほぼ同じであるとき、予測誤差変化量は０となる。これに対し、例えば、図６の（ｂ）に示すように、慣性モーメントＪが基準特性に対して大きくなるように変化すると（１．２倍）、予測誤差変化量が大きく変化する。これに対し、図６の（ｃ）に示すように、慣性モーメントＪが基準特性に対して小さくなるように変化すると（０．８倍）、予測誤差変化量は、慣性モーメントＪが基準特性に対して大きく変化した場合とは逆向きに変化する。また、図６の（ｄ）に示すように、粘性摩擦係数Ｄが基準特性に対して大きくなるように変化すると（１．２倍）、予測誤差変化量が緩やかに変化する。これに対し、図６の（ｅ）に示すように、粘性摩擦係数Ｄが基準特性に対して小さくなるように変化すると（０．８倍）、予測誤差変化量は、粘性摩擦係数Ｄが基準特性に対して大きく変化した場合とは逆向きに変化する。上記の変化の方向は指令値に応じて定まる。
【００７２】
（コントローラ１による効果）
〈変化検出の効果〉
フィードバック値に生じる何らかの変化を検出するには、予測誤差が、予め定められた基準値よりも大きくなった時点で、何らかの特性変化が検出されたと判断しても良い。しかしながら、ある決まった指令値を繰り返してサーボドライバ２に与えるような場合には、コントローラ１により、前述のようにして変化を検出することが好ましい。具体的には、変化がない状態における１サイクル分の予測誤差Ｙerrを基準特性予測誤差Ｙerrbaseとして記憶しておき、記憶した基準特性予測誤差Ｙerrbaseと、通常モードで得られた予測誤差Ｙerrとを比較して、その差（予測誤差変化量Ｙerrdiff）が閾値（基準値）より大きくなったときに、変化が検出されたと判断する。
【００７３】
したがって、コントローラ１は、機構部３がおかれる環境や機構部３の特性が変化したり、突然外乱が発生したりした場合、その何らかの変化をリアルタイムに検出することができる。それゆえ、データをコンピュータで解析して変化を検出する必要がなくなる。
【００７４】
また、指令パターンにおける加速度パターンや、制御ループ（または軸）間の干渉の影響が、教師パターンに含まれることにより、閾値の決定に際して、加速度や干渉の影響を考慮する必要がない。それゆえ、変化を検出するために、一定値の閾値を設定することで足りる。
【００７５】
さらに、モデル精度が低くても、その影響が教師パターンに含まれるため、モデル精度に対するロバスト性が高い。それゆえ、モデル作成が容易になり、また、簡素なモデルが使える。したがって、高精度のモデルを用いなくても、精度良く外乱や異常状態を検出することができる。また、シミュレーションの計算負荷を低減できる。
【００７６】
〈予測誤差を用いる意義〉
ここで、制御システム１００において、予測誤差を使用する意義について説明する。図７は、その意義を説明するための図である。
【００７７】
制御対象への外乱が発生すれば、その影響は先ず制御量ＰＶの変化として現れる。しかしながら、図７に示すように、機構部３からサーボドライバ２へのフィードバック制御が機能することにより、制御量ＰＶの変化はすぐに消え去る。その傾向は、フィードバック制御が強力に行われるほど顕著になるので、制御量ＰＶに基づく変化の検出が難しくなる。なお、図７において、制御量ＰＶのコントローラ１へのフィードバックは行われる場合もあるし、行われない場合もある。
【００７８】
フィードバック制御が強力になるほど、早くトルク値が修正されることにより、制御量への影響が軽減されるため、制御量による変化の検出は難しくなる。そこで、トルク値の変化を観測することが考えられる。しかしながら、フィードバック制御が弱ければトルク値の変化が緩慢になり、逆に制御量への影響が大きく現れることから、制御量を観測することが好ましい。つまり、フィードバック制御の強弱によって、観測すべき変数が異なる。それゆえ、制御対象の入力および出力の一方のみを観測するよりも、入出力の関係を観測する方が好ましく、その関係を表すものとして関係値を使用する。したがって、より精度の高い変化検出が可能となる。
【００７９】
〔実施形態２〕
本発明の実施形態２について図８を用いて説明すれば、以下のとおりである。なお、本実施形態において、前述の実施形態１における構成要素と同等の機能を有する構成要素については、同一の符号を付記して、その説明を省略する。
【００８０】
（コントローラ１Ａの構成）
図８は、実施形態２に係るコントローラ１Ａの構成を示すブロック図である。
【００８１】
コントローラ１Ａは、実施形態１において説明したコントローラ１と基本的な機能を共通して備えているが、フィードバック制御をしないように構成されている。本実施形態では、コントローラ１Ａにおける変化検出処理部１２Ａについて詳細に説明する。図８に示すように、コントローラ１Ａにおける変化検出処理部１２は、予測値計算部１２１（予測部）と、予測誤差計算部１２２（関係値算出部）と、教師パターン記憶部１２３と、変化検出部１２４（関係値比較部）とを有している。
【００８２】
予測値計算部１２１は、前述のように指令値に基づいてシミュレーションによって予測値を計算する。予測誤差計算部１２２は、前述のように制御量ＰＶから予測値を減じることによって予測誤差を算出する。教師パターン記憶部１２３は、初期モード（基準状態）で算出された予測誤差（基準特性予測誤差）の１サイクル分のパターンを教師パターンとして記憶する。変化検出部１２４は、通常モードで得られた予測誤差から、教師パターンにおける当該予測誤差が得られたタイミングの基準特性予測誤差を減じて変化量を算出し、当該変化量が、閾値設定部１３によって設定された閾値より大きいときに、変化を検出する。
【００８３】
（コントローラ１Ａの動作）
まず、指令値生成部１１は、指令値パターンから制御周期毎に指令値を計算してサーボドライバおよび予測値計算部１２１に与える。予測値計算部１２１は、その指令値に基づいてシミュレーションによって予測値を求める。
【００８４】
初期モードにおいて、予測誤差計算部１２２は、サーボドライバ２から戻ってくるフィードバック値（制御量ＰＶ）と予測値とから基準特性予測誤差を計算して、基準特性予測誤差のパターンを教師パターンとして記憶する。
【００８５】
通常モードでは、予測誤差計算部１２２は、予測値とフィードバック値との差の予測誤差を計算して変化検出部１２４に与える。変化検出部１２４は、与えられた予測誤差と、教師パターンとを比較して予測誤差変化量を求め、この予測誤差変化量が閾値を超えると変化を検出し、検出したことを表す変化検出値を出力する。
【００８６】
実機（特に新品の状態の機構部３）を動作させて教師パターンを求めておき、経年劣化があったときに、閾値を超えると変化があれば、その径年変化を検出することができる。
【００８７】
いくつかの特性の変化を検出する場合、変化検出部１２４は、その特性に応じた用意された教師パターンを用いて、変化した特性がどの特性に近いかを判断する。また、変化を検出したい特性が１つに特定されている場合は、その特性に応じた１つの教師パターンを用意しておく。
【００８８】
〔実施形態３〕
本発明の実施形態３について図９を用いて説明すれば、以下のとおりである。なお、本実施形態において、前述の実施形態１および２における構成要素と同等の機能を有する構成要素については、同一の符号を付記して、その説明を省略する。
【００８９】
（コントローラ１Ｂの構成）
図９は、実施形態３に係るコントローラ１Ｂの構成を示すブロック図である。
【００９０】
コントローラ１Ｂは、実施形態１において説明したコントローラ１と基本的な機能を共通して備えているが、モデルベースのフィードバック制御をするように構成されている。本実施形態では、コントローラ１Ｂにおける変化検出処理部１２Ｂについて詳細に説明する。図９に示すように、コントローラ１Ｂにおける変化検出処理部１２Ｂは、教師パターン記憶部１２３と、変化検出部１２４と、ＭＰＣ部１２５とを有している。
【００９１】
ＭＰＣ部１２５（Model Predictive Control）は、予測モデルによって将来の挙動を予測しながら制御するモデル予測制御を行う部分である。ＭＰＣ部１２５は、機構部３またはサーボドライバ２からのフィードバック値を使用して、フィードバック制御を実行し、サーボドライバ２へ何らかの指令値（位置、速度、トルク）を出力する。また、ＭＰＣ部１２５は、指令値に基づいて前述の予測値計算部１２１と同様にして予測値を計算する。
【００９２】
コントローラ１Ｂにおいてモデルベースのフィードバック制御をしている場合、ＭＰＣ部１２５が予測誤差を計算しているので、その予測誤差を、教師パターンの記憶および変化の検出に用いることができる。
【００９３】
〔実施形態４〕
本発明の実施形態４について図１０を用いて説明すれば、以下のとおりである。なお、本実施形態において、前述の実施形態１および２における構成要素と同等の機能を有する構成要素については、同一の符号を付記して、その説明を省略する。
【００９４】
図１０は、実施形態４に係るコントローラ１Ｃの構成を示すブロック図である。
【００９５】
コントローラ１Ｃは、実施形態１において説明したコントローラ１と基本的な機能を共通して備えているが、機構部３のみの制御対象モデル（機構モデル）に対応するように構成されている。本実施形態では、コントローラ１Ｃにおける変化検出処理部１２Ｃについて詳細に説明する。図１０に示すように、コントローラ１Ｃにおける変化検出処理部１２は、予測値計算部１２１Ｃと、予測誤差計算部１２２と、教師パターン記憶部１２３と、変化検出部１２４とを有している。予測値計算部１２１Ｃは、前述の変化検出処理部１２Ａにおける予測値計算部１２１と異なり、サーボドライバ２より入力されるトルク値に基づいてシミュレーションによって予測値を計算する。
【００９６】
上記のように構成されるコントローラ１Ｃでは、指令値が入力値になるのではなく、サーボドライバ２から機構部３への出力値（トルク値）が予測のための入力となる点でコントローラ１Ａと異なる。また、予測値計算部１２１Ｃは、トルク値に基づいて予測値を計算する。また、予測誤差計算部１２２は、モデル（機構部３）を経た値と、実測値とを用いて教師パターンを作成する。
【００９７】
〔ソフトウェアによる実現例〕
コントローラ１，１Ａ〜１Ｃの制御ブロック（特に指令値生成部１１、変化検出処理部１２および閾値設定部１３）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００９８】
後者の場合、コントローラ１，１Ａ〜１Ｃは、各部の機能を実現するソフトウェアである制御プログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【実施例１】
【００９９】
本発明の一実施例について図１１に基づいて説明する。
【０１００】
図１１の（ａ）〜（ｆ）は、実施例１に係るボールねじの軌道を制御する事例を示す波形である。
【０１０１】
本実施例は、実施形態４に適用され、機構部３がボールねじである。また、制御対象モデルが機構部３のトルク−速度モデルとされ、コントローラ１Ｃにおいて、ボールねじの軌道制御におけるワーク質量の変化を模擬したウェイトの有無を検出する。
【０１０２】
図１１の（ａ）は、ＸＹの２軸で菱形の軌道を描くボールねじの軌道におけるＸ軸の位置のみを示しており、ウェイトが有る場合と無い場合との差はほとんどなく、ほぼ重なっている。図１１の（ｂ）が示す速度の変化は僅かであり、コントローラ１Ｃからは変化が見え難い。図１１の（ｃ）はサーボドライバ２からのトルク値を表している。一般的には、位置偏差が制御性能を表すので、何か変化が生じた場合、位置偏差が基準値を超えたと判断される。また、図１１の（ｄ）に示す位置偏差は、特性に変化があっても、全体として形が変わるわけではなく、微妙な違いしか現れない。トルクについても、位置偏差より変化が現れやすいが、全体としてあまり形が変わらない。これに対し、図１１の（ｅ）に示すトルク−速度モデルによる予測誤差は、ウェイトの有無（ボールねじワークの質量）で大きな差が現れている。図１１の（ｆ）は予測誤差変化量を示している。
【０１０３】
モデルＭ１は、式（５）に示すように、連続時間系の時定数Ｔと、定常ゲインＫと、無駄時間Ｌという３つのパラメータにより１次の伝達関数で表される。
【０１０４】
【数５】
0006443311.tif 000006
【実施例２】
【０１０５】
本発明の他の実施例について、図１２に基づいて説明する。
【０１０６】
図１２の（ａ）〜（ｅ）は本発明の実施例２に係るベルト駆動ＸＹテーブルを制御する事例を示す波形である。
【０１０７】
本実施例は、実施形態２または３に適用され、ベルト駆動ＸＹテーブルである。また、制御対象モデルが機構部３の位置指令値−位置フィードバック値モデルとされ、コントローラ１Ａ，１Ｂにおいて、ベルト駆動ＸＹテーブルのＹ軸に取り付けた棒の先端をテーブルに接触させた場合の変化を検出する。ベルト駆動ＸＹテーブルは、通常、ペンが下のテーブルに接触しておらず、本実施例では、ペンにテープを巻いて少しテーブルに接触して摩擦が生じるようにした。
【０１０８】
図１２の（ａ）は、ＸＹの２軸で菱形の軌道を描くＸＹデーブルの軌道におけるＹ軸の部分のみを示しており、指令位置とフィードバック位置との差ほとんどなく、ほぼ重なっている。
【０１０９】
棒がテーブルに接触することで摩擦が増加しても、サーボドライバ２によるフィードバック制御により摩擦の影響が素早く吸収される。このため、棒がテーブルに接触した場合と、接触しない場合とで比較すると、図１２の（ｂ）に示す位置偏差や、図１２の（ｃ）に示すトルクの波形データに大きな違いは現れない。一方、図１２の（ｄ）に示す予測誤差の波形データには両者の場合で比較的大きな差が現れるため、変化を検出することができる。図１２の（ｅ）は、予測誤差変化量を示している。
【０１１０】
本実施例では、複合モデルであるので、モデルＭ２は、式（６）に示すように２次のモデルを採用している。これにより、トータルのモデルで予測誤差の差を認めることができる。
【０１１１】
【数６】
0006443311.tif 000007
【０１１２】
機構部３の特性変化や外乱については、前述の実施例１のように機構部３のみのモデルでよいが、サーボドライバ２のパラメータが変更されたような場合、サーボドライバ２も含むモデルを考慮する必要がある。サーボドライバ２および機構部３のいずれに変化の原因があるのかわからない場合は、複合モデルが必要である。
【０１１３】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【０１１４】
１  コントローラ１，１Ａ〜１Ｃ（制御装置）
２  サーボドライバ（制御対象）
３  機構部（制御対象）
１２  変化検出処理部
１２ａ  許容限界余裕度推定部（余裕度算出部）
１２ｂ  変化特性推定部（変化量比較部）
１２１  予測値計算部（予測部）
１２２  予測誤差計算部（関係値算出部）
１２４  変化検出部（関係値比較部）
Ｙerr  予測誤差（第２関係値）
Ｙerrbase 基準特性予測誤差（第１関係値）
【図１】
0006443311.tif 000008
【図２】
0006443311.tif 000009
【図３】
0006443311.tif 000010
【図４】
0006443311.tif 000011
【図５】
0006443311.tif 000012
【図６】
0006443311.tif 000013
【図７】
0006443311.tif 000014
【図８】
0006443311.tif 000015
【図９】
0006443311.tif 000016
【図１０】
0006443311.tif 000017
【図１１】
0006443311.tif 000018
【図１２】
0006443311.tif 000019