(57)【要約】【課題】試行錯誤的に異常検知閾値を設定する必要はなく、さらに制御対象に適切な異常検知閾値が容易に求められることが可能な産業用ロボットの異常判断方法を提供する。【解決手段】指令位置に基づいてサーボモータ３を駆動するための電圧指令値を生成し、位置ループゲインの逆数を時定数とするローパスフィルタ４により指令位置に基づいて理論的な現在位置としての推定現在位置を算出し、ローパスフィルタ４の公称値のゲイン線図と、ローパスフィルタ４のゲインに関連するパラメータを変動させたときのゲイン線図の帯との差に基づいてモデル化誤差の最大値を算出し、サーボモータ３に取り付けられたエンコーダにて検出された実際の現在位置としての実位置と前記推定現在位置との差の絶対値を算出し、これが前記モデル化誤差の最大値に基づいて設定された異常検知閾値よりも大きい場合に異常状態であるものと判断する。【選択図】図１
2004181543.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームの駆動源にサーボモータを使用した産業用ロボットの異常判断方法において、
指令位置に基づいて前記サーボモータを駆動するための電圧指令値を生成し、
位置ループゲインの逆数を時定数とするローパスフィルタにより前記指令位置に基づいて理論的な現在位置としての推定現在位置を算出し、
前記ローパスフィルタの公称値のゲイン線図と前記ローパスフィルタのゲインに関連するパラメータを変動させたときのゲイン線図の帯との差に基づいてモデル化誤差を算出し、
前記サーボモータに取り付けられたエンコーダにて検出された実際の現在位置としての実位置と前記推定現在位置との差の絶対値を算出し、
該差の絶対値が前記モデル化誤差に基づいて設定された異常検知閾値よりも大きい場合に異常状態であるものと判断するようにしたことを特徴とする産業用ロボットの異常判断方法。
【請求項２】
ロボットアームの駆動源にサーボモータを使用した産業用ロボットにおいて、
指令位置に基づいてサーボモータを駆動するための電圧指令値を生成するＰＩＤ制御部と、
該ＰＩＤ制御部にて生成された電圧指令値に基づいてロボットアームを駆動するサーボモータと、
位置ループゲインの逆数を時定数とし、前記指令位置に基づいて推定現在位置を算出するローパスフィルタと、
を有し、
前記ローパスフィルタの公称値のゲイン線図と、前記ローパスフィルタのゲインに関連するパラメータを変動させたときのゲイン線図の帯との差に基づいてモデル化誤差を算出し、前記サーボモータに取り付けられたエンコーダにて検出された実位置と前記推定現在位置との差の絶対値が前記モデル化誤差に基づいて設定された異常検知閾値よりも大きい場合に異常状態であるものと判断するようにしたことを特徴とする産業用ロボット。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボットアーム等の駆動源にサーボモータを使用した産業用ロボットに関し、特に、ロボットアームの位置ずれや暴走等の異常の検出を精度よく行うことが可能な、産業用ロボット及びその異常判断方法に関する。
【０００２】
【従来の技術】
ロボットアーム等の駆動源にサーボモータを使用した産業用ロボットにおいては、サーボモータに取り付けられているエンコーダからの位置情報と所望の動作をさせるために計算された位置指令とに基づいて位置制御量を計算する所謂比例型の位置フィードバック制御部を有している。そして、この位置フィードバック制御部からの位置制御量により、サーボモータとそれに連結されたロボットアーム等を駆動するようにしている。また、この産業用ロボットにおいては、位置指令による軌道に対して実際のロボットアームの軌道が逸脱した場合や、ロボットアームが周辺装置に干渉した場合などの異常状態を常に監視している。そして、異常状態が発生した場合にはサーボモータの動力を遮断するなどして、ロボットアームの動作を緊急停止させる機能も有している。
【０００３】
前述した位置指令による軌道に対して実際のロボットアームの軌道が逸脱した場合において、この異常状態を検出する方法としては、従来は位置指令による位置と実際のロボットアームの位置との偏差すなわち位置偏差を逐次算出し、この位置偏差が予め設定しておいた閾値（位置偏差の上限値）を超えたときに、異常状態になったものと判断するようにしていた。例えば、特許文献１では、サーボモータ及びその負荷であるロボットアームと位置フィードバック制御部とを含むロボットシステム全体を２次モデルとしてモデル化する位置制御モデル部を設け、この位置制御モデル部の出力とエンコーダから検出された実際のサーボモータの位置とを比較し、その差が予め設定しておいた閾値を超えたときに異常状態が発生したものと判断するようにしている。
【０００４】
【特許文献１】特開平１０−３１５１７３号公報
【０００５】
【発明が解決しようとする課題】
しかし、モデル化された２次モデルと実際の産業用ロボットとしての実モデルとの間には、一般にモデル化誤差が存在する。図２は動作周波数による利得（ゲイン）の変化を示したものであるが、このようにモデル化誤差は動作周波数によって変動するという特性を有している。また、機械固有のバラツキが大きい場合は、異常の誤検出と異常の検出精度とのトレードオフによって、前述した異常判断のための閾値を試行錯誤により求めなければならなかった。すなわち、異常の検出精度を向上させるために閾値を小さくすると、実際には異常状態とはいえない状況で異常状態と判断してしまう、異常の誤検出を多発させることになる。一方、異常の誤検出を防止するために閾値を大きくすると、実際には異常状態といえる状況であるにもかかわらず異常状態とは判断されない場合が生じるので、異常の検出精度が低下することとなり、その結果としてロボット本体に悪影響を及ぼし、最悪の場合はサーボモータ等の破損を招くことにもなる。
【０００６】
なお、２次モデルをより高次にすれば異常の検出精度は多少は改善されるが、モデルが複雑になればなるほど、高次のモデルを決定するパラメータの同定は、閾値の決定に伴う試行錯誤に比して同等以上の困難さが伴うという新たな問題が生ずる。したがって、特許文献１で開示されている方法、すなわちサーボモータ及びその負荷であるロボットアームと位置フィードバック制御部とを含むロボットシステム全体を２次モデルとしてモデル化する方法は、モデル化誤差の存在により、前述したような問題点が生じることになる。
【０００７】
本発明は、前述した問題点を解決するためになされたものであり、試行錯誤的に異常検知閾値を設定する必要はなく、さらに制御対象に適切な異常検知閾値が容易に求められることが可能な、産業用ロボット及びその異常判断方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
前述した目的を達成するために、本発明では、制御設計において利用されているモデル化されない動特性の表現を利用し、これによりモデル化誤差の上限を決定し、その上限から異常検知閾値を決定する。そのため、試行錯誤により異常検知閾値の決定を行わなくてもよくなり、かつ制御対象に適切な閾値が容易に求めることができるようになる。
【０００９】
すなわち、請求項１に係る発明では、ロボットアームの駆動源にサーボモータを使用した産業用ロボットの異常判断方法において、指令位置に基づいてサーボモータを駆動するための電圧指令値を生成し、位置ループゲインの逆数を時定数とするローパスフィルタにより指令位置に基づいて理論的な現在位置としての推定現在位置を算出し、ローパスフィルタの公称値のゲイン線図と、ローパスフィルタのゲインに関連するパラメータを変動させたときのゲイン線図の帯との差に基づいてモデル化誤差を算出し、サーボモータに取り付けられたエンコーダにて検出された実際の現在位置としての実位置と前記推定現在位置との差の絶対値を算出し、これが前記モデル化誤差に基づいて設定された異常検知閾値よりも大きい場合に異常状態であるものと判断するようにしたことを特徴とする産業用ロボットの異常判断方法を提供した。
【００１０】
また、請求項２に係る発明では、ロボットアームの駆動源にサーボモータを使用した産業用ロボットのロボット制御装置において、指令位置に基づいてサーボモータを駆動するための電圧指令値を生成するＰＩＤ制御部と、このＰＩＤ制御部にて生成された電圧指令値に基づいてロボットアームを駆動するサーボモータと、位置ループゲインの逆数を時定数とし、前記指令位置に基づいて推定現在位置を算出するローパスフィルタと、を有し、ローパスフィルタの公称値のゲイン線図と、ローパスフィルタのゲインに関連するパラメータを変動させたときのゲイン線図の帯との差に基づいてモデル化誤差を算出し、サーボモータに取り付けられたエンコーダにて検出された実位置と前記推定現在位置との差の絶対値が前記モデル化誤差に基づいて設定された異常検知閾値よりも大きい場合に異常状態であるものと判断するようにしたことを特徴とする産業用ロボットを提供した。
【００１１】
係る構成としたことにより、位置ループゲインの逆数を時定数とするローパスフィルタから出力された理論的な現在位置としての推定現在位置と、サーボモータに取り付けられたエンコーダにて検出された実際の現在位置としての実位置との差の絶対値を求め、この差がモデル化誤差に基づいて設定された異常検知閾値よりも大きい場合に異常状態であるものと判断される。異常状態であるか否かを判断するための異常検知閾値を設定する際の基となるモデル化誤差は、ローパスフィルタの公称値のゲイン線図と、ローパスフィルタのゲインに関連するパラメータを変動させたときのゲイン線図の帯との差に基づいて算出される。ここで、ゲイン線図の帯とは、ローパスフィルタのゲインに関連するパラメータを変動させたときのゲインの上限ラインと下限ラインの間をいう。このように、本発明では、異常状態であるか否かを判断するための異常検知閾値の設定に際して、動作周波数によって変動するモデル化誤差を考慮しているので、従来技術のように異常の誤検出と異常の検出精度とのトレードオフにより試行錯誤的に異常検知閾値を設定する必要はなく、さらに制御対象に適切な異常検知閾値が容易に求められることになる。
【００１２】
【発明の実施の形態】
以下、本発明の一実施形態について、図面を参照して説明する。図１は、本発明を実現するためのシステムの一実施形態を示すブロック図である。図中の１は、指令値フィルタＦＦ演算部であり、ここでは指令位置を入力し、これに対して停止時の衝撃を緩和するためのフィルタ処理を施すことにより、応答性をよくするために利用するフィードフォワード（ＦＦ）量を計算し、このフィードフォワード（ＦＦ）量を入力した指令位置に加算することにより、フィルタ処理を施された指令位置を生成する。この指令値フィルタＦＦ演算部１で生成されたフィルタ処理を施された指令位置は、ＰＩＤ制御部２及びローパスフィルタ４に出力される。
【００１３】
２は、比例、積分、微分といった制御を行うＰＩＤ制御部であり、ここでは指令値フィルタＦＦ演算部１から入力したフィルタ処理を施された指令位置に基づいて、３のサーボモータを駆動するための電圧指令値を生成する。３は、モータおよびロボットアームであり、ＰＩＤ制御部から入力した電圧指令値に基づいてサーボモータが駆動し、これによりロボットアームが動作する。このモータおよびロボットアーム３からは、サーボモータに取り付けられたエンコーダの位置情報すなわち実位置（実際の位置）が出力される。ローパスフィルタ４は、位置ループゲインの逆数を時定数としており、指令値フィルタＦＦ演算部１から入力したフィルタ処理を施された指令位置に基づいて、理論的な現在位置すなわち推定現在位置を算出する。
【００１４】
差分器８は、モータおよびロボットアーム３から出力された実位置とローパスフィルタ４から出力された推定現在位置との差分を算出する。具体的には、差分器８は、推定現在位置から実位置を差し引き、この絶対値を出力する。さらに、差分器９は、モデル化誤差５に基づいて設定された異常検出閾値６から差分器８において算出された差分を差し引き出力する。この差分器９の出力は異常判断部７に入力される。異常判断部７は、差分器９から入力した値がプラスであった場合、すなわち実位置と推定現在位置との差が異常検出閾値よりも大きい場合に、異常状態であるものと判断する。
【００１５】
ところで、異常検出閾値６の値は、従来は試行錯誤的に決定していた。これは、３のモータアーム部におけるイナーシャやモータトルク変換係数等のパラメータに誤差が存在するため、異常検出閾値を解析的に求めることができないためである。例えば、図２はローパスフィルタ４のゲイン線図（横軸は動作周波数、縦軸は利得（ゲイン））を示したものであるが、太線で示した公称値のゲイン線図以外にも、前述したパラメータ誤差に起因して、様々なゲイン線図が存在することになる。そのため、太線で示した公称値のゲイン線図のみを基にして異常検出閾値を一義的に求めることは一般に困難であった。
【００１６】
そこで、本実施形態においては、図２の太線で示したローパスフィルタ４の公称値のゲイン線図に対して、イナーシャやモータトルク変換係数等の各種パラメータを各パラメータの変動可能範囲内で変動させることにより得られる図３に示すようなゲイン線図（横軸は動作周波数、縦軸は利得（ゲイン））、すなわち上限ラインと下限ラインからなるゲイン線図の帯を利用することにした。当然のことながら、図２の太線で示したローパスフィルタ４の公称値のゲイン線図は、図３に示した上限ラインと下限ラインとの間すなわちゲイン線図の帯の中に含まれることになる。そして、この図３に示したゲイン線図の帯と図２の太線で示したローパスフィルタ４の公称値のゲイン線図との差（モデル化誤差）を求めることにした。
【００１７】
具体的には、図２の太線で示したローパスフィルタ４の公称値のゲイン線図において、ある動作周波数における利得（ゲイン）をａ、図３に示したゲイン線図の帯においてこの動作周波数における上限ラインにおける利得（ゲイン）をｂ１、下限ラインにおける利得（ゲイン）をｂ２とすると、この動作周波数におけるモデル化誤差は、｜ａ−ｂ１｜または｜ａ−ｂ２｜のいずれか大きい方となる。これを全動作周波数において算出すると、図４に示すようなゲイン線図（横軸は動作周波数、縦軸は利得（ゲイン））が得られる。この図４に示したゲイン線図が前述したモデル化されない動特性の表現すなわちモデル化誤差である。
【００１８】
ここで、図５はサーボモータが期待される動作量についての周波数特性を示したものである。この図５において、一般に低い周波数領域においては、停止時に位置偏差を生じさせないために、サーボモータの動作量は大きくなる。一方、高い周波数領域においては、サーボモータは追従できなくなるため、サーボモータの動作量は小さくなり、動作周波数が高くなるとこの動作量は０に近づく。この図５に示したサーボモータが期待される動作量についての周波数特性と前述した図４に示したモデル化されない動特性の利得すなわちモデル化誤差とを各周波数毎に乗じ、これをプロットすると、図６に示す周波数特性が得られる。この図６は予想される動作ずれについての周波数特性を示しており、この周波数特性から動作ずれの最大値を求め、これを図１の６の異常検知閾値として設定する。このようにすれば、従来技術のように異常検知閾値を試行錯誤的に決定する必要はなくなる。
【００１９】
以上、本発明の一実施形態について説明した。なお、本実施形態においては、ロボットアームの停止時の衝撃を緩和するために、指令値フィルタＦＦ演算部１にてフィルタ処理を施された指令位置をＰＩＤ制御部２に入力するようにしていたが、本発明はこれに限定されるものではなく、ＰＩＤ制御部２にはフィルタ処理を施されない指令位置を入力するようにしてもよい。
【００２０】
【発明の効果】
本発明によれば、異常状態であるか否かを判断するための異常検知閾値の設定に際して、動作周波数によって変動するモデル化誤差を考慮しているので、従来技術のように異常の誤検出と異常の検出精度とのトレードオフにより試行錯誤的に異常検知閾値を設定する必要はなく、さらに制御対象に適切な異常検知閾値が容易に求められることになった。そのため、位置指令による軌道に対して実際のロボットアームの軌道が逸脱した場合や、ロボットアームが周辺装置に干渉した場合などの異常状態を精度よく検出できることとなったので、異常状態とはいえない状況で異常状態と判断してしまい、その結果として異常の誤検出を多発させることになったり、あるいは異常状態といえる状況であるにもかかわらず異常状態とは判断されず、その結果としてロボット本体に悪影響を及ぼし、最悪の場合はサーボモータ等の破損を招くといった、従来技術の問題は生じることがなくなった。
【図面の簡単な説明】
【図１】本発明を実現するためのシステムの一実施形態を示すブロック図である。
【図２】ローパスフィルタ４のゲイン線図を示すグラフである。
【図３】ゲイン線図のばらつきを示すグラフである。
【図４】ゲイン偏差の周波数特性を示すグラフである。
【図５】サーボモータが期待される動作量についての周波数特性を示すグラフである。
【図６】予想される動作ずれについての周波数特性を示すグラフである。
【符号の説明】
１  指令値フィルタＦＦ演算部
２  ＰＩＤ制御部
３  モータ及びロボットアーム
４  ローパスフィルタ
５  モデル化誤差
６  異常検知閾値
７  異常判断部
【図１】
2004181543.tif 000003
【図２】
2004181543.tif 000004
【図３】
2004181543.tif 000005
【図４】
2004181543.tif 000006
【図５】
2004181543.tif 000007
【図６】
2004181543.tif 000008