(57)【特許請求の範囲】
【請求項１】
ロボット動作中、所定周期毎にロボット関節軸の回転角及び当該関節軸にかかる外乱トルクを検出し、検出された回転角毎に検出された外乱トルクの平均値を求め、該平均値と設定しきい値を比較し、上記平均値が設定しきい値以上であると異常が生じているとして検出するようにしたロボットの故障診断方法。
【請求項２】
ロボット動作中、所定周期毎にロボット関節軸の回転角及び当該関節軸にかかる外乱トルクを検出し、検出された回転角毎に検出された外乱トルクの平均値を求め、該平均値と設定しきい値を比較し、上記平均値が設定しきい値以上であると該関節軸における検出回転角において故障が生じているとして異常と異常発生回転角とを検出するようにしたロボットの故障診断方法。
【請求項３】
トルク指令値から、検出速度から求めた加速度トルクを減じ、さらに、検出された回転角における上記関節軸にかかるモーメントを減じて上記外乱トルクを求める請求項１又は請求項２記載のロボットの故障診断方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボットにおける故障を早期に発見する故障診断方法に関する。
【０００２】
【従来の技術】
ロボットの各軸の駆動系に異常が生じた場合、この異常は駆動系の一部に生じ、時間の経過と共に次第に大きくなり、ときには異常の領域が拡がり、負荷が増大し、最後には駆動系がロックするという事態に至る。
図２はロボットの駆動系の例としてロボットアームを駆動するロボット関節軸の例を示す図で、該関節軸を駆動するサーボモータ１の出力は歯車伝動機構３を介して減速機４に入力され、該減速機４の出力によってアーム５を駆動している。なお、符号２はサーボモータ１に取り付けられた該サーボモータの位置、速度を検出する位置・速度検出器としてのパルスコーダである。
このような駆動系において、減速機４のベアリングにフレーキングが生じた場合、最初は小さなフレーキングであるが、そのままロボットを駆動し続けて行くとフレーキングが拡大し、フレーキングの拡大と共に負荷が増大し、それにつれて駆動トルクも増大し、最終的には駆動系がロックして駆動できなくなるという現象が生じる。
【０００３】
こうした駆動系の異常を検出する方法として、従来関節軸を駆動するモータの駆動トルクに対して、あるしきい値を設け、駆動トルクがこのしきい値を越えると異常発生として検出する方法が採られている。しかし、この方法によると、ロボットの動作姿勢によって、さらにはロボットハンドで把持するワーク等の重さによって駆動トルクが異なり、しきい値をその都度変更する必要がある。また、ロボット各軸の加速時や減速時等においては、駆動トルクが増大することから、しきい値はこれらの加減速時の駆動トルクよりも大きな値にする必要があり、異常状態が拡大していない初期の段階で駆動系の異常を検出することが困難である。
【０００４】
【発明が解決しようとする課題】
そこで、本発明はロボットの動作姿勢やロボットハンドで把持するワーク等の重さに関係なく、ロボット駆動系の異常を検出できるロボット故障診断方法を提供することにある。
さらに、ロボット駆動系の異常が拡大する前の初期の異常状態を検出できるロボット故障診断方法を提供することにある。
また、ロボット駆動系の異常箇所をも簡単に特定できるようなロボット故障診断方法を提供することにある。
【０００５】
【課題を解決するための手段】
本発明は、ロボット動作中、所定周期毎にロボット関節軸の回転角及び当該関節軸にかかる外乱トルクを検出し、検出された回転角毎に検出された外乱トルクの平均値を求め、該平均値と設定しきい値を比較し、上記平均値が設定しきい値以上であると異常が生じているとして検出することによってロボットの故障を早期に検出する。
【０００６】
また、上記平均値と設定しきい値を比較し、上記平均値が設定しきい値以上であると当該関節軸における検出回転角において故障が生じているとして異常とその異常を検出した検出回転角とを検出してロボットの故障を診断する。
上記外乱トルクは、トルク指令値から、検出速度から求めた加速度トルクを減じ、さらに、検出された回転角における上記関節軸にかかるモーメントを減じて求める。
【０００７】
【発明の実施の形態】
以下、図面を参照し本発明の一実施形態を説明する。
図３は、図２に示すようなロボットの各関節軸を駆動する駆動制御系のブロック図である。ロボットを制御するロボット制御装置１０にはサーボコントローラ１１が接続され、該サーボコントローラ１１はサーボアンプ１２を介してサーボモータ１を駆動する。上記サーボコントローラ１１は、サーボモータの位置、速度、電流を制御するための処理を行なうプロセッサ、制御プログラムを記憶するＲＯＭ、設定値や各種パラメータ等を記憶する不揮発性部を有し演算処理中におけるデータを一時記憶するＲＡＭ、さらには、本発明に関係して上記パルスコーダからの位置のフィードバックパルスを計数しサーボモータの絶対位置を検出するためのレジスタ等が設けられている。そして、上記サーボコントローラ１１は、ロボット制御装置１０から送られてくる移動指令とサーボモータ１に取り付けられた位置、速度検出器のパルスコーダ２からのフィードバック信号に基づいて、位置ループ処理、速度ループ処理さらには電流ループ処理を実行し、サーボモータ１の位置、速度を制御する。
【０００８】
なお、この図３には１軸の駆動制御系のみを図示しており、ロボットの各軸毎に設けられたサーボモータも同様に制御されるもので、このロボット制御系の構成は従来のロボット制御系と同一であり、詳細は省略している。
本発明は、ロボットの各関節軸を駆動するそれぞれのサーボモータにかかる外乱トルクを検出し、上述した駆動系の異常を検出するもので、図４はこの外乱トルクを求めるブロック図である。
【０００９】
パルスコーダ２からの速度フィードバック信号より求められるサーボモータ１の実速度Ｖｒを微分して加速度を求め、該加速度に当該サーボモータにかかる全てのイナーシャＪを乗じて加速度トルクＴａを求める（符号２０で示すブロックの処理）。この求められた加速度トルクＴａをサーボコントローラ１１の速度ループ処理で求められるサーボモータ１へのトルク指令Ｔｃから減じ、さらにモーメントＭを減じて外乱トルクを求め、フイルタ処理（符号２１で示すブロックの処理）を行なって、外乱の不規則成分を除去した外乱トルクＴＧ  を求める。この処理をサーボコントローラのプロセッサが所定サンプリング周期毎実行して外乱トルクＴＧ  を求め、この外乱トルクＴＧ  と設定されているしきい値と比較してロボット駆動系の異常を検出するようにしている。
【００１０】
図１は、サーボコントローラ１１が所定サンプリング周期毎実行する故障診断処理のフローチヤートである。また、図５は、この故障診断処理において、当該関節軸の回転角毎に外乱トルクの平均値を記憶する動作の概略を説明する図である。まず、この図５に基づいて故障診断処理の概略を説明する。
図５（ｂ）はロボット動作の１サイクルにおける当該関節軸の移動位置（回転角）の変化を示す図で、サーボコントローラ１１のプロセッサは図５（ａ）に示すように所定サンプリング周期毎に、パルスコーダ２からの位置のフィードバックパルスを計数してサーボモータ１の絶対位置を求めるレジスタからサーボモータの絶対位置を検出し、このサーボモータの１の絶対位置から、当該サーボモータが駆動する関節軸の回転角（移動位置）ψを求める。さらに、前述した図４の処理を行なって外乱トルクＴＧ  を求める（図５（ｃ）参照）。そして、ＲＡＭ内に設けられた回転角（移動位置）ψ毎に外乱トルクの平均値を記憶するメモリ部の検出回転角（移動位置）ψの位置に記憶する値と検出外乱トルクとの平均値を求めこの新しい平均値を当該回転角（移動位置）ψの位置に記憶する。
【００１１】
そして、所定回数のサンプリング処理が終了した段階で、上記外乱トルクの平均値を記憶するメモリ部の各回転角（移動位置）ψ毎の外乱トルクの平均値と設定しきい値を比較し、外乱トルクの平均値が設定しきい値を越えていると異常発生として異常信号を出力する。
例えば、上述したように、減速機のベアリングにブレーキングが発生した場合、このブレーキング発生位置において外乱トルクが上昇し、この上昇した外乱トルクは周期的に図５（ｃ）に示すように発生する。この外乱トルクの増大は減速機の回転位置の同一位置で発生することから、関節軸の同一移動位置（回転角）においておいて発生し、当然メモリに記憶するその移動位置（回転角）ψの外乱トルクの平均値も増大するので、この平均外乱トルクがしきい位置を越えた移動位置（回転角）ψをも検出することができる。
【００１２】
次に、サーボコントローラ１１のプロセッサが所定サンプリング周期毎に実行する診断処理を図１に示すフローチャートと共に説明する。
まず、速度ループ処理によって求められるトルク指令Ｔｃ、パルスコーダ２からの速度フィードバック信号より求められるサーモータ１の現在速度Ｖｒ、及びパルスコーダ２からの位置フィードバックパルスを計数しサーボモータの絶対位置Ｐｒを記憶するレジスタからこのサーボモータ１の絶対位置Ｐｒを読む（ステップＳ１）。そして、上記サーボモータ１の絶対位置Ｐｒより該サーボモータで駆動される関節軸の移動位置（回転角）ψを求める（ステップＳ２）。次に、ロボットアーム等の質量分布のパラメータに基づいて設定されている運動方程式によって、上記求められた移動位置（回転角）ψにおける当該関節軸のモーメントＭを求める（ステップＳ３）。
【００１３】
ステップＳ１で読み込んだ現在速度Ｖｒから前周期における速度を記憶するレジスタＲ（Ｖｒ）の値を減じ、得られた値をこのサンプリング周期Ｔで除して加速度ａを求め（ステップＳ４）、上記レジスタＲ（Ｖｒ）に現在速度Ｖｒを格納する（ステップＳ５）。次に、ステップＳ１で読み込んだトルク指令Ｔｃから上記加速度ａに該関節軸にかかるイナーシャＪを乗じた値（加速度トルク）を減ずると共にステップＳ３で求めたモーメントＭを減じてフィルタ処理前の外乱トルクＴｂを求め、この外乱トルクＴｂをフィルタ処理して不規則成分を除去した外乱トルクＴＧ  を求める（ステップＳ６、Ｓ７）。
【００１４】
ＲＡＭ内の外乱トルクの平均値を記憶するメモリ部のステップＳ２で求めた移動位置（回転角）ψに対応するアドレス位置より、当該移動位置（回転角）ψにおける前周期までの外乱トルクの平均値ＴＧ（ψ）  を読み込み、ステップＳ７で求めた外乱トルクＴＧ  から、上記平均値ＴＧ（ψ）  を減じた１／２を上記外乱トルクの平均値ＴＧ（ψ）  に加算して新たな平均値ＴＧ（ψ）  を求める。すなわち次の１式の演算を行なって新たな外乱トルクの平均値ＴＧ（ψ）  を求める。
新たな外乱トルクの平均値ＴＧ（ψ）  ＝前周期までの平均値ＴＧ（ψ）  ＋（１／２）（ＴＧ  −前周期までの平均値ＴＧ（ψ）  ）  …（１）
こうして求められた新たな外乱トルクの平均値ＴＧ（ψ）  を移動位置（回転角）ψに対応するアドレス位置のメモリ部に格納する（ステップＳ８）。なお、ＲＡＭ内の外乱トルクの平均値を記憶するメモリ部の各移動位置（回転角）ψに対応するアドレス位置には、予め測定され設定されている正常時の平均値が初期設定されている。また、予め外乱トルクの平均値を設定しない場合には、該メモリ部の各アドレス位置には初期設定で「０」をセットし、ステップＳ８の処理では、ステップＳ２で求めた回転角ψに対応するアドレス位置に記憶する平均値が「０」の場合には、ステップＳ７で求めた外乱トルクＴＧ  を当該アドレス位置に格納するようにする。また「０」でない場合には、上記１式の演算を行なって外乱トルクの平均値を求め、当該アドレス位置に格納する。
【００１５】
次に、カウンタｎに「１」加算し、該カウンタｎの値が設定値ｍ以上か判断する（ステップＳ９、Ｓ１０）。なお、このカウンタｎはロボットの動作を開始したとき初期設定によって「０」にセットされている。また上記設定値ｍは歯車機構や減速機等の駆動部の各部材の回転が数サイクルになるような期間、望ましくはロボット動作１サイクル以上の期間のサンプリング数になるように決めて設定する。
【００１６】
カウンタｎの値が設定値ｍよりも小さいときには、当該サンプリング周期の処理を終了する。
以下各サンプリング周期毎上述したステップＳ１〜ステップＳ１０の処理を実行し、検出した関節軸の移動位置（回転角）ψに対応するメモリのアドレス位置に検出外乱トルクＴＧ  に基づいて平均値ＴＧ（ψ）  を記憶していく。そしてステップＳ１０で、カウンタｎの値が設定値ｍ以上になると、メモリに記憶する関節軸の移動位置（回転角）ψ毎の外乱トルクの平均値を順次読み出し設定されたしきい値と比較し（ステップＳ１１）、しきい値を越えるものがなければ（ステップＳ１２）、カウンタｎを「０」にセットし当該サンプリング周期の処理を終了する（ステップＳ１４）。なお、このステップＳ１４の処理において、外乱トルクの平均値ＴＧ（ψ）  を記憶するメモリ部の各アドレス全てを上述した予め測定され設定されている値をセットし、再度平均値を求めるようにしてもよい。また、「０」にリセットし、ステップＳ８の処理では上述した各アドレス位置には初期設定で「０」をセットした時の処理を実行するようにしてもよい。
【００１７】
ステップＳ１１、Ｓ１２の処理で外乱トルクの平均値ＴＧ（ψ）  が設定しきい値を越えるものが１つでも検出されると、異常信号を出力すると共に、しきい値を越えた外乱トルクの平均値ＴＧ（ψ）  を記憶するアドレス位置に対応する関節軸の移動位置（回転角）ψをロボット制御装置１０に設けられた表示装置に表示する。
上述した一実施形態では、通常のロボット動作中に故障診断を常に行なうようにしたが、定期的に図１に示す故障診断処理を実行させ異常を検出するようにしてもよい。この場合、ロボットの角関節軸をその動作範囲全域に亙って低速度で駆動し外乱トルクを各回転角毎に求めるようにする。
【００１８】
また、外乱トルクの平均値を必ずしも求めなくても、検出した外乱トルクが設定しきい値を越えている場合には、検出された回転角位置において異常として検出するようにしてもよい。
【００１９】
【発明の効果】
本発明は、ロボットの各関節軸の回転角毎に外乱トルクを検出して該外乱トルクの異常を検出することによってロホット駆動系の故障を検出、診断するようにしたから、ロボットの動作姿勢や負荷に影響されずに故障発生の初期段階で故障を速やかに検出することができる。また、故障が生じている関節軸の移動位置をも検出できるので、故障修復作業が容易となる。
【図面の簡単な説明】
【図１】本発明の一実施形態の故障診断処理を示すフローチャートである。
【図２】ロボットの一関節軸の駆動系の構成を示す説明図ある。
【図３】ロボットの関節軸を駆動制御する制御系のブロック図である。
【図４】上記一実施形態において外乱トルクを求めるブロック図である。
【図５】上記一実施例における外乱トルクの検出処理の説明図である。
【符号の説明】
１  サーボモータ
２  パルスコーダ
３  歯車伝動機構
４  減速機
５  アーム
【図１】
0003623582.tif 000002
【図２】
0003623582.tif 000003
【図３】
0003623582.tif 000004
【図４】
0003623582.tif 000005
【図５】
0003623582.tif 000006