(58)【調査した分野】(Int.Cl.,DB名)
特定のパラメータについての前記実測値を通常の値と異ならせて設定された前記第1関係値に対する前記第2関係値の変化量の第1変化量パターンと、前記制御対象の動作状態での前記第1関係値に対する前記第2関係値の変化量の第2変化量パターンとを比較する変化量比較部をさらに備えていることを特徴とする請求項1または2に記載の制御装置。
前記第1関係値と前記第2関係値との差が前記閾値に達する許容限界に対する前記第2関係値の余裕の度合い示す余裕度を算出する余裕度算出部をさらに備えていることを特徴とする請求項1に記載の制御装置。
【発明を実施するための形態】
【0020】
〔実施形態1〕
本発明の実施形態1について
図1〜
図7を用いて説明すれば、以下のとおりである。
【0021】
(制御システム100の構成)
図1は、実施形態1に係る制御システム100の概略構成を示すブロック図である。
【0022】
図1に示すように、制御システム100は、コントローラ1と、サーボドライバ2と、機構部3とを備えている。
【0023】
機構部3は、コントローラ1の制御対象であり、モータ31と、被駆動部32とを含んでいる。モータ31は、例えばサーボモータであり、被駆動部32を駆動する。また、モータ31は、回転角度および回転角速度を検出するためのロータリエンコーダが回転軸に取り付けられている。被駆動部32は、ロボットなどの機械における駆動される部分であり、モータ31が発生する回転駆動力を所定の運動に変換する機構を有している。
【0024】
サーボドライバ2は、コントローラ1から受けた指令に基づき、モータ31の状態量(回転角度、回転角速度など)に応じた最適な駆動エネルギーとしてトルクを与えることによってモータ31を駆動する。サーボドライバ2は、後述する制御対象モデルに含まれる場合、コントローラ1の制御対象となる。
【0025】
サーボドライバ2は、制御系として、位置制御部21と、速度制御部22とを有している。位置制御部21は、モータ31から出力されるフィードバック位置(回転角度)と、コントローラ1からの指令値とに基づいて位置制御(P制御)を行う。速度制御部22は、モータ31から出力されるフィードバック速度(回転角速度)と、位置制御部21からの制御パルスとに基づいて速度制御(PI制御)を行う。
【0026】
コントローラ1は、サーボドライバ2に与える制御のための指令値を生成する制御装置であり、プログラマブルコントローラなどによって構成される。コントローラ1は、外部から与えられる指令値パターンに基づいて指令値を生成する指令値生成部11を有している。また、コントローラ1は、サーボドライバ2または機構部3に生じた何らかの変化を検出する機能を有しており、その機能を実現するために、変化検出処理部12と、閾値設定部13とを有している。
【0027】
変化検出処理部12は、制御対象モデルを使用した制御量の予測計算(シミュレーション)を行い、その結果として得た予測値と、実際に計測した制御量(フィードバック値,実測値)との差である予測誤差(関係値)の基準状態(制御対象が正常に動作する状態(制御対象に特性変化または外乱が生じていない状態とも言える))からの変化量を監視し、当該変化量に基づいて、制御量の変化(特性変化および外乱を含む変化)を検出する。より具体的には、変化検出処理部12は、基準状態での特性(基準特性)の予測誤差である基準特性予測誤差の1サイクル分のパターンを教師パターンとして求めておき、実機(サーボドライバ2および機構部3)の通常の動作状態で得られた制御量に基づく予測誤差の、教師パターンの基準特性予測誤差に対する変化量が所定の閾値を超えたときに変化を検出する。制御対象モデルとしては、サーボドライバ2および機構部3の組み合わせをモデルにした複合モデル、または機構部3のみをモデルにした機構モデルが挙げられる。
【0028】
また、変化検出処理部12は、許容限界余裕度推定部12a(余裕度算出部)と、変化特性推定部12b(変化量比較部)とを有している。許容限界余裕度推定部12aは、変化検出処理部12が予測誤差の変化量(予測誤差変化量)に基づいて変化を検出するまでの許容できる限界に対する余裕度を推定する。変化特性推定部12bは、変化検出処理部12が予測誤差変化量に基づいて変化を検出する際に、変化した特性(パラメータ)の種別を推定する。
【0029】
なお、本実施形態では、変化検出処理部12が、変化を検出するために、予測値と実測値との関係を表す指標(関係値)として予測誤差を用いているが、当該指標としては、予測誤差に限定されない。例えば、予測値と実測値との比を指標として用いても良い。
【0030】
閾値設定部13は、上記の閾値を設定する。閾値設定部13は、サーボドライバ2および機構部3を動作させた状態で得られた予測誤差変化量に基づいて閾値を設定する(第1の閾値設定方法)。あるいは、閾値設定部13は、制御対象モデルを用いたシミュレーションによって求めた予測誤差変化量に基づいて閾値を設定する(第2の閾値設定方法)。
【0031】
(制御対象モデル)
制御対象をシミュレーションするときのモデルは、例えば全体モデルと個別モデルとがある。
【0032】
全体モデルは、次の式(1)に示す離散時間伝達関数のように表される。式(1)において、各パラメータの物理的な意味はないが、トータルとしての特性が合うように適切に係数が決定されている。式(1)において、uは入力を表し、yは出力を表し、d、a
1〜a
nおよびb
1〜b
mは特性パラメータを表し、z
−1は遅延演算子を表している。
【0034】
しかしながら、変化特性推定部12bが、後述するようにして特性の変化時における予測誤差変化量のパターンを予めシミュレーションで求めておく場合には、物理的な意味が明確なパラメータを含む個別モデルが必要になる。個別モデルとしては、例えば以下のようなモデルが挙げられる。
【0035】
モータ31の回転速度の例では、yを速度とし、uをトルクとし、Jを慣性モーメントとし、Dを粘性摩擦係数とすると、速度yは次の式(2)で表される。
【0037】
また、タンク内の液体温度の例では、yを温度とし、uを加える熱量とし、vを体積とし、ρを密度とし、Cを比熱とし、Wをタンクに対する流入量および流出量とすると、温度yは次の式(3)で表される。
【0039】
ここで、全体モデルが離散時間伝達関数である場合、サンプリング時点kの予測値yは、式(1)を変形して得られる式(4)を用いて算出される。また、式(1)におけるz
−1は1周期前を表している。これにより、変化検出処理部12は、過去の位置情報(y(k−1),y(k−2)…)に係数を乗算したものと、制御対象としての入力(コントローラ1から見ると出力)の過去情報のいくつかとを組み合わせて、k番目の位置としてのy(k)を計算する。このように計算した予測値とフィードバック値とが相違している場合、その差がその時点での予測誤差となる。
【0041】
(コントローラ1の動作)
上記のように構成される制御システム100におけるコントローラ1の動作について説明する。
【0042】
〈閾値設定部13の動作〉
まず、閾値設定部13の動作について説明する。
【0043】
(1)第1の閾値設定方法
図2は、閾値設定部13による第1の閾値設定方法を説明するための図である。
【0044】
閾値設定部13は、教師パターンが決定された後に、コントローラ1が基準状態で実機(サーボドライバ2および機構部3)を数回動作させたときに計測された制御量(フィードバック値)を取得し、これらの制御量に基づく予測誤差の教師パターンに対する変化量(予測誤差変化量)のばらつき幅に基づき、余裕を含めて閾値を設定する。より具体的には、
図2に示すように、閾値設定部13は、予測誤差変化量の最大値および最小値のそれぞれに、一定比率(例えば120%)を乗じた値を閾値(上限値および下限値)として設定する。
【0045】
なお、閾値設定部13は、予測誤差変化量の最大値および最小値のいずれか一方にのみ一定比率を乗じて閾値を設定してもよい。また、実機を数回動作させたときの最初の1回で得られた教師パターンを、記憶する教師パターンとして採用しても良いが、数回の動作で得られた教師パターンの平均値を、記憶する教師パターンとして採用することが好ましい。さらに、予測値も、実機が動作する回毎に計算し、これに合わせて、予測値と制御量との差である予測誤差も計算する。つまり、制御対象の出力である制御量だけでなく、制御対象の入力である、トルク値やサーボドライバ2への指令値も、実機が動作する回毎に取得することが必要になる。
【0046】
予測誤算の変化量は、繰り返し精度の要因で多少発生するが、基本的に、ほぼ0付近の値となる。したがって、閾値は0付近の値として設定される。
【0047】
また、基準状態での制御量の計測値には、ばらつき(計測ノイズ)が含まれているので、数回分の動作で得られた制御量が必要となる。予測誤差が0となるのは、制御対象モデルが完全であって計測ノイズが生じない場合であるが、実際には制御量が何らかの計測ノイズを含むので、何回かの計測によって取得した制御量はばらついてくる。そのばらつき分を考慮して、少し余裕を持たせて一定の閾値を設定する。このように閾値を設定することにより、実機の特性変化や外乱が生じると、予測誤差変化量が閾値を超える。あるいは、計測ノイズがない場合であっても、定常的に微小な(検出対象にしなくても差し支えのないようなレベルの)外乱が入る場合も考えられる。したがって、その対策としても、上述のような複数回の予測誤差変化量を求めることが必要になる。
【0048】
ところで、指令値の範囲内での実機の動作において、再現性がある非線形特性や他軸(他の制御ループ)から受ける干渉の影響は基準状態に含まれる。
【0049】
また、同じ特性の複数台の機械または設備で共通の閾値を設定したい場合は、共通の制御対象モデルを使用しても良いが、複数台の機械または設備で得た制御量、トルク値、またはサーボドライバ2への指令値に基づいて、予測誤差変化量のばらつきを把握する必要がある。
【0050】
以上の本閾値設定方法は、基準状態に含まれない、突発的な変化および緩やかな変化を含む全ての変化に対して共通に有効である。突発的な変化としては、機構部3の故障、部品交換、調整や、サーボドライバ2のパラメータ調整が挙げられる。また、緩やかな変化としては、機構部3の経年劣化が挙げられる。
【0051】
(2)第2の閾値設定方法
図3は、閾値設定部13による第2の閾値設定方法のためのシミュレーションを示す図である。
図4は、第2の閾値設定方法を説明するための図である。
【0052】
図3に示すように、閾値設定部13は、実制御対象代用モデルPmと、制御対象モデルMとを用いたシミュレーションにより閾値を設定する。実制御対象代用モデルPmは実機の制御対象モデルである。制御対象モデルMは、制御対象の仮想的なモデルであり、変化系のシミュレーションに用いられる。
【0053】
シミュレーションは、基本的に次の手順で行われる。まず、コントローラ1は、与えられた制御目標値SP(指令値パターン)に基づいて操作量MV(指令値)を生成して実制御対象代用モデルPmおよび制御対象モデルMに与える。制御対象モデルMは予測値Yを出力し、実制御対象代用モデルPmは制御量PVを出力する。また、制御量PVは、コントローラ1の入力へフィードバックされる。予測誤差Yerr(第2関係値)は、制御量PVから予測値Yを減じることで得られ、予測誤差変化量Yerrdiffは、予測誤差Yerrから基準特性予測誤差Yerrbase(第1関係値)を減じることで得られる。
【0054】
閾値設定部13が、特性の変化がない状態で、制御対象代用モデルPmおよび制御対象モデルMが等価であるとしてシミュレーションを実行すると、予測誤差Yerrおよび予測誤差変化量Yerrdiffは全区間で0となる。したがって、この場合のシミュレーションは、教師パターンの作成と同じになるので、省略しても良い。
【0055】
閾値設定部13は、実機の特性変化の許容値分だけ、実制御対象代用モデルPmの特性を変化させた実制御対象代用モデルPm1について上記の手順でシミュレーションを実行する。
図4に示すように、閾値設定部13は、この結果得られた予測誤差変化量Yerrdiffの全区間におけるピーク値を検出できるように、予測誤差変化量Yerrdiffのピーク値(最大値および最小値)のそれぞれに、一定比率(例えば90%)を乗じた値を閾値(上限値および下限値)として設定する。なお、閾値設定部13は、予測誤差変化量Yerrdiffの最大値および最小値のいずれか一方にのみ一定比率を乗じて閾値を設定してもよい。
【0056】
〈変化検出処理部12の動作〉
続いて、変化検出処理部12の動作について説明する。
【0057】
まず、前述の複合モデルの場合、変化検出処理部12への入力値が、指令値生成部11から出力された指令値となる。一方、前述の機構モデルの場合、変化検出処理部12への入力値が、サーボドライバ2からモータ31に与えられたトルク(駆動力)の値(トルク値)となる。
【0058】
初期モードにおいて、変化検出処理部12は、
図3に示すシミュレーションを行うことにより、制御の1サイクル分の基準特性予測誤差Yerrbase(教師パターン)を予め求めて記憶しておく。
【0059】
実機を通常に動作させる通常モードにおいて、コントローラ1は、一定の指令値に基づいて機構部3に対して複数サイクルにわたって同じ制御動作を繰り返す。変化検出処理部12は、入力値(操作量MV)に対する予測値Yを計算し、サーボドライバ2または機構部3から入力される制御周期(1サイクル)毎のフィードバック値(制御量PV)から予測値Yを減じることで予測誤差Yerrを求める。
【0060】
そして、変化検出処理部12は、予測誤差Yerrから基準特性予測誤差Yerrbaseを減じて予測誤差変化量Yerrdiffを求める。このとき、1サイクル内で予測誤差Yerrが得られた時点と同時点に得られた基準特性予測誤差Yerrbaseを減算に用いる。予測誤差Yerrの大きさは、モデル精度、指令値パターン(加速度が大きい箇所で大きくなり易いなどのパターン)、他の制御ループ動作から受ける干渉などによって増減する。しかし、同じ動作サイクル内では、上記の条件は、同じ時刻(サイクル開始時点からの経過時間)では、同じ大きさの予測誤差Yerrを発生させると考えられる。よって、サイクル内の同じ時刻の予測誤差Yerrおよび基準特性予測誤差Yerrbaseの差を計算する。
【0061】
さらに、変化検出処理部12は、この予測誤差変化量Yerrdiffと閾値設定部13によって設定された閾値とを比較し、予測誤差変化量Yerrdiffが閾値を超えたと判定することで変化を検出する一方、予測誤差変化量Yerrdiffが閾値以下であると判定することで変化を検出しない。
【0062】
なお、変化検出処理部12は、上記のように、予測誤差Yerrと予測誤差変化量Yerrdiffとが特定の時点で得られたもの同士の差を求めているが、これには限定されない。例えば、変化検出処理部12は、1サイクルの開始からの時系列データの類似度を各種統計処理により判定することにより、予測誤差Yerrと予測誤差変化量Yerrdiffとの差を求めても良い。
【0063】
また、上記の例では、変化の検出を行う動作パターンは、制御の1サイクルと規定されているが、それ以外に、連続動作における特定の工程や何らかのトリガ信号を起点とする一定期間であっても良い。
【0064】
〈許容限界余裕度推定部12aの動作〉
前述の変化検出処理部12による変化検出動作においては、制御対象の変化の有無を検出しているが、それ以外に、変化が検出される許容限界に対する余裕度を表すこともできる。許容限界余裕度推定部12aは、前述の第2の閾値設定方法によって、実制御対象代用モデルPmの特性を実制御対象代用モデルPm1モデルにまで変化させることで得られた予測誤差変化量Yerrdiffを、許容限界特性時の予測誤差変化量として利用している。
図5は、コントローラ1が制御対象の変化を検出する許容限界に対する余裕を示すグラフである。
【0065】
図5に一点鎖線にて示す許容限界に至るまでの途中段階の予測誤差変化量は、0の基準状態と、
図5に実線にて示す許容限界に達したときの予測誤差変化量との間の値となる。つまり、
図5は、現状の予測誤差変化量のパターンが、許容限界に達したときの予測誤差変化量のパターンに近ければ、予測誤差変化量が許容限界に近づいていることを表し、離れていれば許容限界に対して余裕があるということを表している。その余裕の度合い(余裕度)は、許容限界に達したときの予測誤差変化量のパターンの0に対する面積(第1面積)と、現状の予測誤差変化量のパターンの0に対する面積(第2面積)との比率により求められる。
【0066】
許容限界余裕度推定部12aは、上記の余裕度を次の計算式に基づいて算出する。次式において、Aは許容限界に達したときの予測誤差変化量の絶対値の総和(第1面積)を表し、Bは予測誤差変化量の絶対値の総和(第2面積)を表している。
【0067】
余裕度=(A−B)/A*100(%)
このように、予測誤差変化量が許容限界に達するまでの余裕度を求めることにより、現状からどの程度で許容限界に達するかを認識することができる。これにより、サーボドライバ2および機構部3のメンテナンスが必要となる限界に達するまでのおおよその時間的な余裕を把握することができる。
【0068】
〈変化特性推定部12bの動作〉
制御対象モデルには、粘性摩擦特性(D)、慣性モーメント(J)などのいくつかの特性のパラメータが含まれている。このため、特定のパラメータ(例えば粘性摩擦特性(D)や慣性モーメント(J))のみを変えるということを予めしておくと、教師パターンと運転時の予測誤差変化量のパターンとを比較すれば、変えたパラメータがどの程度変化するのかを予測できる。
【0069】
変化特性推定部12bは、前述の第2の閾値設定方法を利用して、
図3に示す実制御対象代用モデルPmの特定の特性のみを単独で変化させたときの予測誤差変化量のパターン(特性別予測誤差変化量パターン)を、予め異なる特性についていくつか求めておく。実機の動作時において、変化特性推定部12bは、そのとき得られた予測誤差変化量のパターンと、複数の特性別予測誤差変化量パターンとを比較し、実機動作時の予測誤差変化量のパターンに最も近い特性別予測誤差変化量パターンを判定する。
【0070】
例えば、モータ31の速度制御において、トルクと速度との関係は、慣性モーメントJと粘性摩擦係数Dを用いて、1/(Js+D)により表される。変化特性推定部12bは、実制御対象代用モデルPmの特性において、慣性モーメントJpmが変化した場合と、粘性摩擦係数Dpmが変化した場合とのシミュレーションを行い、それぞれのシミュレーションによって得られた特性別予測誤差変化量パターン(第1変化量パターン)を記憶しておく。そして、変化特性推定部12bは、実機制御時の予測誤差変化量パターン(第2変化量パターン)を上記の2つの特性別予測誤差変化量パターンと比較し、実機制御時の予測誤差変化量パターンが、いずれの特性別予測誤差変化量パターンに近いか、または特性別予測誤差変化量パターンの2つの組み合わせであるかを判定することで、判定した特性がどの程度変化しているかを推定する。
【0071】
図6の(a)〜(e)はサーボドライバ2(速度制御ループのみ)および機構部3を制御対象とした場合の特性の変化の有無の例を示す図である。
図6の(a)に示すように、特性を変化させていない場合、速度の制御目標値SPに対して速度の制御量PVがほぼ同じであるとき、予測誤差変化量は0となる。これに対し、例えば、
図6の(b)に示すように、慣性モーメントJが基準特性に対して大きくなるように変化すると(1.2倍)、予測誤差変化量が大きく変化する。これに対し、
図6の(c)に示すように、慣性モーメントJが基準特性に対して小さくなるように変化すると(0.8倍)、予測誤差変化量は、慣性モーメントJが基準特性に対して大きく変化した場合とは逆向きに変化する。また、
図6の(d)に示すように、粘性摩擦係数Dが基準特性に対して大きくなるように変化すると(1.2倍)、予測誤差変化量が緩やかに変化する。これに対し、
図6の(e)に示すように、粘性摩擦係数Dが基準特性に対して小さくなるように変化すると(0.8倍)、予測誤差変化量は、粘性摩擦係数Dが基準特性に対して大きく変化した場合とは逆向きに変化する。上記の変化の方向は指令値に応じて定まる。
【0072】
(コントローラ1による効果)
〈変化検出の効果〉
フィードバック値に生じる何らかの変化を検出するには、予測誤差が、予め定められた基準値よりも大きくなった時点で、何らかの特性変化が検出されたと判断しても良い。しかしながら、ある決まった指令値を繰り返してサーボドライバ2に与えるような場合には、コントローラ1により、前述のようにして変化を検出することが好ましい。具体的には、変化がない状態における1サイクル分の予測誤差Yerrを基準特性予測誤差Yerrbaseとして記憶しておき、記憶した基準特性予測誤差Yerrbaseと、通常モードで得られた予測誤差Yerrとを比較して、その差(予測誤差変化量Yerrdiff)が閾値(基準値)より大きくなったときに、変化が検出されたと判断する。
【0073】
したがって、コントローラ1は、機構部3がおかれる環境や機構部3の特性が変化したり、突然外乱が発生したりした場合、その何らかの変化をリアルタイムに検出することができる。それゆえ、データをコンピュータで解析して変化を検出する必要がなくなる。
【0074】
また、指令パターンにおける加速度パターンや、制御ループ(または軸)間の干渉の影響が、教師パターンに含まれることにより、閾値の決定に際して、加速度や干渉の影響を考慮する必要がない。それゆえ、変化を検出するために、一定値の閾値を設定することで足りる。
【0075】
さらに、モデル精度が低くても、その影響が教師パターンに含まれるため、モデル精度に対するロバスト性が高い。それゆえ、モデル作成が容易になり、また、簡素なモデルが使える。したがって、高精度のモデルを用いなくても、精度良く外乱や異常状態を検出することができる。また、シミュレーションの計算負荷を低減できる。
【0076】
〈予測誤差を用いる意義〉
ここで、制御システム100において、予測誤差を使用する意義について説明する。
図7は、その意義を説明するための図である。
【0077】
制御対象への外乱が発生すれば、その影響は先ず制御量PVの変化として現れる。しかしながら、
図7に示すように、機構部3からサーボドライバ2へのフィードバック制御が機能することにより、制御量PVの変化はすぐに消え去る。その傾向は、フィードバック制御が強力に行われるほど顕著になるので、制御量PVに基づく変化の検出が難しくなる。なお、
図7において、制御量PVのコントローラ1へのフィードバックは行われる場合もあるし、行われない場合もある。
【0078】
フィードバック制御が強力になるほど、早くトルク値が修正されることにより、制御量への影響が軽減されるため、制御量による変化の検出は難しくなる。そこで、トルク値の変化を観測することが考えられる。しかしながら、フィードバック制御が弱ければトルク値の変化が緩慢になり、逆に制御量への影響が大きく現れることから、制御量を観測することが好ましい。つまり、フィードバック制御の強弱によって、観測すべき変数が異なる。それゆえ、制御対象の入力および出力の一方のみを観測するよりも、入出力の関係を観測する方が好ましく、その関係を表すものとして関係値を使用する。したがって、より精度の高い変化検出が可能となる。
【0079】
〔実施形態2〕
本発明の実施形態2について
図8を用いて説明すれば、以下のとおりである。なお、本実施形態において、前述の実施形態1における構成要素と同等の機能を有する構成要素については、同一の符号を付記して、その説明を省略する。
【0080】
(コントローラ1Aの構成)
図8は、実施形態2に係るコントローラ1Aの構成を示すブロック図である。
【0081】
コントローラ1Aは、実施形態1において説明したコントローラ1と基本的な機能を共通して備えているが、フィードバック制御をしないように構成されている。本実施形態では、コントローラ1Aにおける変化検出処理部12Aについて詳細に説明する。
図8に示すように、コントローラ1Aにおける変化検出処理部12は、予測値計算部121(予測部)と、予測誤差計算部122(関係値算出部)と、教師パターン記憶部123と、変化検出部124(関係値比較部)とを有している。
【0082】
予測値計算部121は、前述のように指令値に基づいてシミュレーションによって予測値を計算する。予測誤差計算部122は、前述のように制御量PVから予測値を減じることによって予測誤差を算出する。教師パターン記憶部123は、初期モード(基準状態)で算出された予測誤差(基準特性予測誤差)の1サイクル分のパターンを教師パターンとして記憶する。変化検出部124は、通常モードで得られた予測誤差から、教師パターンにおける当該予測誤差が得られたタイミングの基準特性予測誤差を減じて変化量を算出し、当該変化量が、閾値設定部13によって設定された閾値より大きいときに、変化を検出する。
【0083】
(コントローラ1Aの動作)
まず、指令値生成部11は、指令値パターンから制御周期毎に指令値を計算してサーボドライバおよび予測値計算部121に与える。予測値計算部121は、その指令値に基づいてシミュレーションによって予測値を求める。
【0084】
初期モードにおいて、予測誤差計算部122は、サーボドライバ2から戻ってくるフィードバック値(制御量PV)と予測値とから基準特性予測誤差を計算して、基準特性予測誤差のパターンを教師パターンとして記憶する。
【0085】
通常モードでは、予測誤差計算部122は、予測値とフィードバック値との差の予測誤差を計算して変化検出部124に与える。変化検出部124は、与えられた予測誤差と、教師パターンとを比較して予測誤差変化量を求め、この予測誤差変化量が閾値を超えると変化を検出し、検出したことを表す変化検出値を出力する。
【0086】
実機(特に新品の状態の機構部3)を動作させて教師パターンを求めておき、経年劣化があったときに、閾値を超えると変化があれば、その径年変化を検出することができる。
【0087】
いくつかの特性の変化を検出する場合、変化検出部124は、その特性に応じた用意された教師パターンを用いて、変化した特性がどの特性に近いかを判断する。また、変化を検出したい特性が1つに特定されている場合は、その特性に応じた1つの教師パターンを用意しておく。
【0088】
〔実施形態3〕
本発明の実施形態3について
図9を用いて説明すれば、以下のとおりである。なお、本実施形態において、前述の実施形態1および2における構成要素と同等の機能を有する構成要素については、同一の符号を付記して、その説明を省略する。
【0089】
(コントローラ1Bの構成)
図9は、実施形態3に係るコントローラ1Bの構成を示すブロック図である。
【0090】
コントローラ1Bは、実施形態1において説明したコントローラ1と基本的な機能を共通して備えているが、モデルベースのフィードバック制御をするように構成されている。本実施形態では、コントローラ1Bにおける変化検出処理部12Bについて詳細に説明する。
図9に示すように、コントローラ1Bにおける変化検出処理部12Bは、教師パターン記憶部123と、変化検出部124と、MPC部125とを有している。
【0091】
MPC部125(Model Predictive Control)は、予測モデルによって将来の挙動を予測しながら制御するモデル予測制御を行う部分である。MPC部125は、機構部3またはサーボドライバ2からのフィードバック値を使用して、フィードバック制御を実行し、サーボドライバ2へ何らかの指令値(位置、速度、トルク)を出力する。また、MPC部125は、指令値に基づいて前述の予測値計算部121と同様にして予測値を計算する。
【0092】
コントローラ1Bにおいてモデルベースのフィードバック制御をしている場合、MPC部125が予測誤差を計算しているので、その予測誤差を、教師パターンの記憶および変化の検出に用いることができる。
【0093】
〔実施形態4〕
本発明の実施形態4について
図10を用いて説明すれば、以下のとおりである。なお、本実施形態において、前述の実施形態1および2における構成要素と同等の機能を有する構成要素については、同一の符号を付記して、その説明を省略する。
【0094】
図10は、実施形態4に係るコントローラ1Cの構成を示すブロック図である。
【0095】
コントローラ1Cは、実施形態1において説明したコントローラ1と基本的な機能を共通して備えているが、機構部3のみの制御対象モデル(機構モデル)に対応するように構成されている。本実施形態では、コントローラ1Cにおける変化検出処理部12Cについて詳細に説明する。
図10に示すように、コントローラ1Cにおける変化検出処理部12は、予測値計算部121Cと、予測誤差計算部122と、教師パターン記憶部123と、変化検出部124とを有している。予測値計算部121Cは、前述の変化検出処理部12Aにおける予測値計算部121と異なり、サーボドライバ2より入力されるトルク値に基づいてシミュレーションによって予測値を計算する。
【0096】
上記のように構成されるコントローラ1Cでは、指令値が入力値になるのではなく、サーボドライバ2から機構部3への出力値(トルク値)が予測のための入力となる点でコントローラ1Aと異なる。また、予測値計算部121Cは、トルク値に基づいて予測値を計算する。また、予測誤差計算部122は、モデル(機構部3)を経た値と、実測値とを用いて教師パターンを作成する。
【0097】
〔ソフトウェアによる実現例〕
コントローラ1,1A〜1Cの制御ブロック(特に指令値生成部11、変化検出処理部12および閾値設定部13)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
【0098】
後者の場合、コントローラ1,1A〜1Cは、各部の機能を実現するソフトウェアである制御プログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【実施例1】
【0099】
本発明の一実施例について
図11に基づいて説明する。
【0100】
図11の(a)〜(f)は、実施例1に係るボールねじの軌道を制御する事例を示す波形である。
【0101】
本実施例は、実施形態4に適用され、機構部3がボールねじである。また、制御対象モデルが機構部3のトルク−速度モデルとされ、コントローラ1Cにおいて、ボールねじの軌道制御におけるワーク質量の変化を模擬したウェイトの有無を検出する。
【0102】
図11の(a)は、XYの2軸で菱形の軌道を描くボールねじの軌道におけるX軸の位置のみを示しており、ウェイトが有る場合と無い場合との差はほとんどなく、ほぼ重なっている。
図11の(b)が示す速度の変化は僅かであり、コントローラ1Cからは変化が見え難い。
図11の(c)はサーボドライバ2からのトルク値を表している。一般的には、位置偏差が制御性能を表すので、何か変化が生じた場合、位置偏差が基準値を超えたと判断される。また、
図11の(d)に示す位置偏差は、特性に変化があっても、全体として形が変わるわけではなく、微妙な違いしか現れない。トルクについても、位置偏差より変化が現れやすいが、全体としてあまり形が変わらない。これに対し、
図11の(e)に示すトルク−速度モデルによる予測誤差は、ウェイトの有無(ボールねじワークの質量)で大きな差が現れている。
図11の(f)は予測誤差変化量を示している。
【0103】
モデルM1は、式(5)に示すように、連続時間系の時定数Tと、定常ゲインKと、無駄時間Lという3つのパラメータにより1次の伝達関数で表される。
【0104】
【数5】
【実施例2】
【0105】
本発明の他の実施例について、
図12に基づいて説明する。
【0106】
図12の(a)〜(e)は本発明の実施例2に係るベルト駆動XYテーブルを制御する事例を示す波形である。
【0107】
本実施例は、実施形態2または3に適用され、ベルト駆動XYテーブルである。また、制御対象モデルが機構部3の位置指令値−位置フィードバック値モデルとされ、コントローラ1A,1Bにおいて、ベルト駆動XYテーブルのY軸に取り付けた棒の先端をテーブルに接触させた場合の変化を検出する。ベルト駆動XYテーブルは、通常、ペンが下のテーブルに接触しておらず、本実施例では、ペンにテープを巻いて少しテーブルに接触して摩擦が生じるようにした。
【0108】
図12の(a)は、XYの2軸で菱形の軌道を描くXYデーブルの軌道におけるY軸の部分のみを示しており、指令位置とフィードバック位置との差ほとんどなく、ほぼ重なっている。
【0109】
棒がテーブルに接触することで摩擦が増加しても、サーボドライバ2によるフィードバック制御により摩擦の影響が素早く吸収される。このため、棒がテーブルに接触した場合と、接触しない場合とで比較すると、
図12の(b)に示す位置偏差や、
図12の(c)に示すトルクの波形データに大きな違いは現れない。一方、
図12の(d)に示す予測誤差の波形データには両者の場合で比較的大きな差が現れるため、変化を検出することができる。
図12の(e)は、予測誤差変化量を示している。
【0110】
本実施例では、複合モデルであるので、モデルM2は、式(6)に示すように2次のモデルを採用している。これにより、トータルのモデルで予測誤差の差を認めることができる。
【0111】
【数6】
【0112】
機構部3の特性変化や外乱については、前述の実施例1のように機構部3のみのモデルでよいが、サーボドライバ2のパラメータが変更されたような場合、サーボドライバ2も含むモデルを考慮する必要がある。サーボドライバ2および機構部3のいずれに変化の原因があるのかわからない場合は、複合モデルが必要である。
【0113】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。