(57)【要約】【課題】適切に異常を診断することができる異常診断装置を提供すること。【解決手段】コントローラ３０は、関節を回転させる際に発生する振動相関量を検出する振動検出部３１と、検出された振動相関量について周波数解析を行って、機械的要素に応じて定まる特定周波数の振幅を抽出する周波数解析部３２と、抽出された特定周波数における振幅と閾値とを比較し、特定周波数における振幅が閾値よりも大きい場合には、異常ありと判定し、閾値以下である場合には、異常なしと判定する異常判定部３３と、ロボットに対して初期設定が行われた後、ロボットの状態が安定状態に移行したか否かを判定する状態判定部３４と、安定状態に移行したと判定されたことを条件に、閾値として初期閾値よりも小さい通常閾値を設定する閾値設定部３５と、を備えた。【選択図】      図３
2019063884.tif 000002
【特許請求の範囲】
【請求項１】
関節を駆動させるモータを備えるロボットに用いられる異常診断装置において、
前記モータにより前記関節を駆動させる際に発生する振動又は前記振動に相関する振動相関量を検出する振動検出部と、
前記振動検出部により検出された前記振動又は前記振動相関量について周波数解析を行って、前記ロボットを構成する機械的要素に応じて定まる特定周波数における振幅を抽出する周波数解析部と、
前記周波数解析部により抽出された前記特定周波数における振幅と閾値とを比較し、前記特定周波数における振幅が閾値よりも大きい場合には、異常ありと判定し、閾値以下である場合には、異常なしと判定する異常判定部と、
前記ロボットに対して初期設定が行われ、前記閾値として初期閾値が設定された後、前記ロボットの状態が前記初期閾値を用いずに異常判定可能な安定状態に移行したか否かを判定する状態判定部と、
前記状態判定部によって前記ロボットの状態が前記安定状態に移行したと判定されたことを条件に、前記閾値として前記初期閾値よりも小さい通常閾値を設定する閾値設定部と、を備えた異常診断装置。
【請求項２】
前記状態判定部は、前記ロボットに対して前記初期設定が行われ、前記閾値として初期閾値が設定された後、前記特定周波数における振幅が減少して、所定の範囲内となったことを条件に、前記ロボットの状態が前記安定状態に移行したと判定する請求項１に記載の異常診断装置。
【請求項３】
前記状態判定部は、前記特定周波数における振幅が前記通常閾値よりも小さい判定用閾値を下回ったことを条件に、前記特定周波数における振幅が前記所定の範囲内となったと判定する請求項２に記載の異常診断装置。
【請求項４】
前記状態判定部は、前記閾値として初期閾値が設定された後、所定期間における前記特定周波数における振幅の平均に基づき、前記安定状態に移行したか否かを判定する請求項２又は３のうちいずれか１項に記載の異常診断装置。
【請求項５】
前記状態判定部は、前記初期設定が行われ、前記閾値として初期閾値が設定された後、前記特定周波数における振幅が減少から増加に転じたことを条件に、前記安定状態に移行したと判定する請求項１に記載の異常診断装置。
【請求項６】
前記ロボットは、複数の機械的要素から構成され、
前記閾値は、各機械的要素に応じて定まる特定周波数における振幅ごとに、それぞれ設定されており、
前記機械的要素ごとに初期設定可能に構成されており、複数の機械的要素のうちいずれかに対して初期設定された場合、当該初期設定された機械的要素に応じて定まる特定周波数における振幅の閾値について、初期閾値が設定されるようになっており、
前記状態判定部は、前記ロボットの機械的要素ごとに前記安定状態に移行したか否かを判定するように構成され、
前記閾値設定部は、前記安定状態に移行したと判定された機械的要素に応じて定まる特定周波数における振幅の閾値について、通常閾値を設定する請求項１〜５のうちいずれか１項に記載の異常診断装置。
【請求項７】
前記ロボットは、複数の機械的要素からなる部品を有し、
前記閾値設定部は、前記ロボットの部品が交換された場合、当該部品に含まれる各機械的要素に応じて定められる特定周波数における振幅の閾値について、全て初期閾値を設定する請求項６に記載の異常診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットについて、その異常を診断する異常診断装置に関する。
【背景技術】
【０００２】
従来、産業用ロボットとして複数の関節を有する多関節型のロボットが実用化されている。かかるロボットでは、各関節にそれぞれモータ（サーボモータ）が設けられており、それらモータの駆動によって各関節が回転するようになっている。
【０００３】
ロボットは、時間の経過や繰り返しの稼働等により劣化する。このため、異常をいち早く検出することができるようにすることが必要とされる。ロボットの異常判定に関しては、ロボット稼働時における振動パターンを検出し、検出された振動パターンを周波数解析して、判定する方法が知られている（例えば特許文献１参照）。この方法では、周波数解析の結果、特定周波数における波形の振幅が、閾値以上である場合には、異常であると判定される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−３２４７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、閾値を一定とした場合、ロボットが正常に稼働していても異常であると誤判定される場合があることに本願発明者は着目した。特に、ロボットの組み立て直後や、修理直後、部品交換直後において、誤判定が生じやすいという問題がある。
【０００６】
本発明は、上記事情に鑑みてなされたものであり、適切に異常を診断することができる異常診断装置を提供することを主たる目的とするものである。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、第１の発明として、関節を駆動させるモータを備えるロボットに用いられる異常診断装置において、前記モータにより前記関節を駆動させる際に発生する振動又は前記振動に相関する振動相関量を検出する振動検出部と、前記振動検出部により検出された前記振動又は前記振動相関量について周波数解析を行って、前記ロボットを構成する機械的要素に応じて定まる特定周波数における振幅を抽出する周波数解析部と、前記周波数解析部により抽出された前記特定周波数における振幅と閾値とを比較し、前記特定周波数における振幅が閾値よりも大きい場合には、異常ありと判定し、閾値以下である場合には、異常なしと判定する異常判定部と、前記ロボットに対して初期設定が行われ、前記閾値として初期閾値が設定された後、前記ロボットの状態が前記初期閾値を用いずに異常判定可能な安定状態に移行したか否かを判定する状態判定部と、前記状態判定部によって前記ロボットの状態が前記安定状態に移行したと判定されたことを条件に、前記閾値として前記初期閾値よりも小さい通常閾値を設定する閾値設定部と、を備えたことを要旨とする。
【０００８】
振動相関量の周波数解析結果において機械的要素に応じて定まる特定周波数における振幅は、ロボットが正常である場合であっても、ロボットの状態に応じて変化する場合がある。具体的には、ロボットの組み立て直後や、修理直後、部品交換直後では、振動が大きくなり、特定周波数における振幅が大きくなる可能性がある。この原因としては、例えば、関節などに用いられる減速機の噛み合い誤差や、グリス粘度及びベルトの張力が適正な状態になっていない等が考えられる。これらはいずれもロボットが所定期間稼働して、機械的要素の状態が安定することにより、適正な状態となると考えられる。
【０００９】
そこで、ロボットに対して初期設定が行われ、閾値として初期閾値が設定された後、ロボットの状態が安定状態に移行したか否かを判定する状態判定部と、安定状態に移行したと判定されたことを条件に、閾値として初期閾値よりも小さい通常閾値を設定する閾値設定部とを、備えることとした。
【００１０】
これにより、安定状態でないときは、初期閾値によって、異常を判定し、安定状態に移行した後は、初期閾値よりも小さい通常閾値によって、異常を判定することができる。したがって、ロボットの状態に応じて適切に異常の有無を判定することができ、誤判定を抑制することができる。
【００１１】
第２の発明では、前記状態判定部は、前記ロボットに対して前記初期設定が行われ、前記閾値として初期閾値が設定された後、前記特定周波数における振幅が減少して、所定の範囲内となったことを条件に、前記ロボットの状態が前記安定状態に移行したと判定することを要旨とする。
【００１２】
初期設定が行われた後、所定期間稼働すると、特定周波数における振幅は減少し、安定状態に移行すると、所定の範囲内に収束することが経験的にわかっている。そこで、特定周波数における振幅が減少して、所定の範囲内となったことを条件に、安定状態に移行したと判定することとした。これにより、安定状態に移行したことを適切に判定することができる。
【００１３】
第３の発明では、前記状態判定部は、前記特定周波数における振幅が前記通常閾値よりも小さい判定用閾値を下回ったことを条件に、前記特定周波数における振幅が前記所定の範囲内となったと判定することを要旨とする。
【００１４】
初期設定が行われた後、所定期間稼働すると、一般的に、安定状態に移行するまで特定周波数における振幅は減少する傾向にある。そこで、通常閾値よりも小さい判定用閾値を下回ったことを条件に、特定周波数における振幅が所定の範囲内となったと判定することした。これにより、安定状態に移行したことを適切に判定することができる。
【００１５】
第４の発明では、前記状態判定部は、前記閾値として初期閾値が設定された後、所定期間における前記特定周波数における振幅の平均に基づき、前記安定状態に移行したか否かを判定することを要旨とする。
【００１６】
温度変化や、振動検出部における検出誤差などにより、検出された振動に誤差が生じる場合がある。そこで、振幅の平均に基づき安定状態に移行したか否かを判定することとした。これにより、安定状態に移行したか否かをより適切に判定できる。
【００１７】
第５の発明では、前記状態判定部は、前記初期設定が行われ、前記閾値として初期閾値が設定された後、前記特定周波数における振幅が減少から増加に転じたことを条件に、前記安定状態に移行したと判定することを要旨とする。
【００１８】
初期設定が行われた後、所定期間稼働すると、特定周波数における振幅は、一般的に、安定状態に移行するまで上昇することはない。そこで、特定周波数における振幅が減少から増加に転じたことを条件に、安定状態に移行したと判定することとした。これにより、適切に安定状態に移行したことを判定することができる。
【００１９】
第６の発明では、前記ロボットは、複数の機械的要素から構成され、前記閾値は、各機械的要素に応じて定まる特定周波数における振幅ごとに、それぞれ設定されており、前記機械的要素ごとに初期設定可能に構成されており、複数の機械的要素のうちいずれかに対して初期設定された場合、当該初期設定された機械的要素に応じて定まる特定周波数における振幅の閾値について、初期閾値が設定されるようになっており、前記状態判定部は、前記ロボットの機械的要素ごとに前記安定状態に移行したか否かを判定するように構成され、前記閾値設定部は、前記安定状態に移行したと判定された機械的要素に応じて定まる特定周波数における振幅の閾値について、通常閾値を設定することを要旨とする。
【００２０】
機械的要素ごとに、閾値が設定されているため、いずれの機械的要素で異常が生じたか否かを特定することができる。また、状態判定部は、機械的要素ごとに、安定状態に移行したか否かを判定し、閾値設定部は、安定状態に移行したと判定された機械的要素に応じて定まる特定周波数における振幅の閾値について、通常閾値を設定する。このため、部品交換等、ロボットを構成する機械的要素のうち一部について初期設定する必要がある場合、全ての閾値について初期閾値を設定する必要がなくなる。したがって、ロボットを構成する機械的要素のうち一部について初期設定が行われる場合であっても、各機械的要素について適切な閾値を設定することができ、適切に異常を判定することができる。
【００２１】
第７の発明では、前記ロボットは、複数の機械的要素からなる部品を有し、前記閾値設定部は、前記ロボットの部品が交換された場合、当該部品に含まれる各機械的要素に応じて定められる特定周波数における振幅の閾値について、全て初期閾値を設定することを要旨とする。
【００２２】
部品に、複数の機械的要素が含まれている。このため、部品を交換した際、当該部品に含まれる複数の機械的要素に対応する閾値をすべて初期設定する必要がある。そこで、閾値設定部は、ロボットの部品が交換された場合、当該部品に含まれる各機械的要素に応じて定められる特定周波数における振幅の閾値について、全て初期閾値に設定するようにした。これにより、部品の交換に伴って部品に含まれるすべての機械的要素が交換されたにもかかわらず、一部の機械的要素についての閾値しか初期閾値に設定されないことを避けることができる。
【図面の簡単な説明】
【００２３】
【図１】ロボットの概要を示す正面図。
【図２】関節の機械的要素を示す概略図。
【図３】コントローラの電気的構成を示す図。
【図４】異常判定処理を示すフローチャート。
【図５】（ａ）および（ｂ）は、周波数スペクトルを示す図。
【図６】振幅の変化を示すタイムチャート。
【図７】閾値設定処理を示すフローチャート。
【発明を実施するための形態】
【００２４】
以下に、本発明を具体化した一実施の形態について図面を参照しつつ説明する。本実施形態では、機械組立工場の組立ラインにおいて、機械等の組み立てを行う産業用ロボットに適用される異常診断装置として具体化している。
【００２５】
図１は、ロボット１０の概要を示す正面図である。図１に示すように、ロボット１０は、６つの関節Ｋ１〜Ｋ６を有する６軸ロボットである。ロボット１０は、各関節Ｋ１〜Ｋ６の回転軸（関節軸）として第１軸Ｊ１、第２軸Ｊ２、第３軸Ｊ３、第４軸Ｊ４、第５軸Ｊ５及び第６軸Ｊ６を有している。本実施形態では、第１軸Ｊ１が鉛直方向に延びるようにしてロボット１０が床等のロボット設置箇所に設置されている。以下の説明では、図１の上下方向が鉛直方向を示すとしている。
【００２６】
ロボット１０において基台１１は、ロボット設置場所に固定される固定部１２と、固定部１２の上方に設けられる回動部１３とを有している。回動部１３は、鉛直方向に延びる第１軸Ｊ１を回動中心として固定部１２に対して回動可能とされている。回動部１３の上端部には下アーム１５が連結されている。下アーム１５は、水平方向に延びる第２軸Ｊ２を回動中心として回動部１３に対して回動可能とされている。
【００２７】
下アーム１５の先端部（上端部）には上アーム１６が連結されている。上アーム１６は、水平方向に延びる第３軸Ｊ３を回動中心として下アーム１５に対し回動可能とされている。上アーム１６は、長手方向に分割された基端側の第１上アーム１６Ａと先端側の第２上アーム１６Ｂとを有している。これら各アーム１６Ａ，１６Ｂのうち第１上アーム１６Ａが下アーム１５に連結されている。第２上アーム１６Ｂは、上アーム１６の長手方向に延びる第４軸Ｊ４を回動中心として、第１上アーム１６Ａに対し回動可能に連結されている。
【００２８】
上アーム１６（詳しくは第２上アーム１６Ｂ）の先端部には手首部１７が設けられている。手首部１７は、水平方向に延びる第５軸Ｊ５を回動中心として第２上アーム１６Ｂに回動可能に連結されている。手首部１７には、ワークやツール等を取り付けるためのハンド部１８が設けられている。ハンド部１８は、その中心線である第６軸Ｊ６を回動中心として手首部１７に対してねじり方向に回動可能に連結されている。
【００２９】
このように、ロボット１０は、各軸Ｊ１〜Ｊ６を回動中心として回動可能とされた複数（具体的には６つ）の構成要素（回動部１３、下アーム１５、第１上アーム１６Ａ、第２上アーム１６Ｂ、手首部１７、ハンド部１８）を備える。この場合、これら各構成要素はそれぞれ、各軸Ｊ１〜Ｊ６を回転中心とした関節Ｋ１〜Ｋ６の回転に伴い回動する。
【００３０】
各関節Ｋ１〜Ｋ６にはそれぞれモータ２１（サーボモータ）が設けられている。これら各モータ２１を駆動させることで各関節Ｋ１〜Ｋ６が回転（駆動）し、ひいては各構成要素が回動（駆動）する。
【００３１】
次に、図２において、関節Ｋ２におけるモータ２１の概略を示し、モータ２１を駆動させることで関節Ｋ２が回転する仕組みについて簡単に説明する。図２は、関節Ｋ２の機械的要素を示す概略構成図である。
【００３２】
関節Ｋ２のモータ２１は、プーリ２２を介して、減速機２３に連結されている。そして、モータ２１は、減速機２３を介して下アーム１５と連結されている。したがって、モータ２１が駆動すると、プーリ２２、減速機２３を介して下アーム１５が駆動することとなる。なお、モータ２１の回転軸は、モータベアリング２４によって回転可能に支持されている。また、減速機２３にも、減速機用ベアリング２５が設けられており、減速機２３を回転可能に支持している。また、減速機２３と下アーム１５との摺動部分には、クロスローラベアリング２６が設けられており、下アーム１５を回転可能に支持している。なお、モータ２１、プーリ２２、減速機２３、モータベアリング２４、減速機用ベアリング２５、及びクロスローラベアリング２６は、いずれもロボット１０を構成する機械的要素に相当する。
【００３３】
次に、異常診断装置としてのコントローラ３０について説明する。図３は、コントローラ３０の電気的構成を示す図である。
【００３４】
図３に示すように、ロボット１０は、ロボット１０の各種動作を制御するコントローラ３０を備える。コントローラ３０は、ＣＰＵ等を有する周知のマイクロコンピュータを主体に構成され、記憶部３６を有している。記憶部３６には、ロボット１０の動作プログラム等の各種プログラムが記憶されている。コントローラ３０は、記憶部３６に記憶された各種プログラムに基づいてロボット１０の動作制御等に係る各種機能を実現する。なお、コントローラ３０の各種機能は、ハードウェアである電子回路によって実現されてもよく、あるいは、少なくとも一部をソフトウェア、すなわちコンピュータ上で実行される処理によって実現されてもよい。
【００３５】
コントローラ３０には、各関節Ｋ１〜Ｋ６に設けられたモータ２１が接続されている。これらのモータ２１は、コントローラ３０からの制御信号に基づいて駆動される。なお、図３では便宜上、１つのモータ２１のみ図示されている。
【００３６】
コントローラ３０には、関節Ｋ１〜Ｋ６の回転位置を検出する位置検出部３７（エンコーダ）が接続されている。位置検出部３７は、各関節Ｋ１〜Ｋ６（各モータ２１）ごとにそれぞれ設けられ、図３では便宜上、１の位置検出部３７のみ図示している。コントローラ３０には、各位置検出部３７からそれぞれ関節Ｋ１〜Ｋ６の回転位置情報が入力される。コントローラ３０は、それら入力される回転位置情報に基づいて各モータ２１の駆動をフィードバック制御する。
【００３７】
コントローラ３０には、モータ２１に流れる電流値を検出する電流検出部３８が接続されている。電流検出部３８は、各モータ２１ごとにそれぞれ設けられ、図３では便宜上、１つの電流検出部３８のみ図示している。コントローラ３０には、各電流検出部３８からそれぞれ各モータ２１の電流値が入力される。
【００３８】
コントローラ３０には、各種操作を行うための操作装置４０が接続されている。操作装置４０は、周知のパーソナルコンピュータ（端末装置）により構成されており、キーボード等からなる操作部４１と、ディスプレイ等からなる表示部４２とを有している。なお、操作装置４０は、端末装置に代えて、ティーチングペンダントにより構成されていてもよい。
【００３９】
コントローラ３０には、ロボット１０の動作モードとして、ロボット１０（具体的には各関節Ｋ１〜Ｋ６）を通常動作させる通常動作モードと、所定の関節Ｋ１〜Ｋ６を等速で回転させる等速動作モードとが設定されている。これら各モードへの切り替えは、操作部４１の操作に基づいて行われる。具体的には、操作部４１によりモードの切替操作が行われると、その切替操作に応じたモード信号が操作部４１（操作装置４０）からコントローラ３０に入力され、コントローラ３０はその入力されたモード信号に基づいて動作モードの切替を行う。
【００４０】
次に、ロボット１０の異常を判定するための異常判定処理について図４に基づき説明する。この異常判定処理は、コントローラ３０により実行される。異常判定処理は、操作部４１の操作により通常動作モードから等速動作モードに動作モードが切り替えられ、かつ、その切り替えられた等速動作モードの下で、操作部４１に設けられた開始ボタンが操作されたことをトリガとして開始される。
【００４１】
図４に示すように、まずステップＳ２１では、各関節Ｋ１〜Ｋ６に対して等速回転処理を行う。この等速回転処理では、各関節Ｋ１〜Ｋ６に設けられたモータ２１に等速駆動信号を出力することで、当該モータ２１により各関節Ｋ１〜Ｋ６を等速で回転駆動させる。
【００４２】
ステップＳ２２では、各関節Ｋ１〜Ｋ６に設けられた電流検出部３８からの検出信号に基づいて、各関節Ｋ１〜Ｋ６が等速回転する際に発生する振動相関量（電流値に基づく波形）を検出する。より詳しくは、コントローラ３０は、モータ２１により関節Ｋ１〜Ｋ６を回転駆動する際に、各電流検出部３８からそれぞれ入力される各モータ２１の電流値を振動に相関する振動相関量（電流値に基づく波形）として検出する。したがって、コントローラ３０は、モータ２１により関節Ｋ１〜Ｋ６を回転させる際に発生する振動に相関する振動相関量（電流値に基づく波形）を検出する振動検出部３１としての機能を備える。
【００４３】
ところで、モータベアリング２４、減速機用ベアリング２５、及びクロスローラベアリング２６等の各関節Ｋ１〜Ｋ６の軸受け部材では、フレーキングや異物混入等により転走面に傷が付くと、その傷付き部分を転動体が通過する度に振動が発生すると考えられる。そのため、軸受け部材に劣化（傷付き）が生じた場合には、関節Ｋ１〜Ｋ６を上記のように等速回転させる際周期的に大きな振動が発生すると考えられる。また、軸受け部材に限らず、ロボット１０を構成する機械的要素、例えば、モータ２１、プーリ２２や及び減速機２３等においても、劣化や故障が生じた場合には、関節Ｋ１〜Ｋ６を上記のように等速回転させる際、周期的に大きな振動が発生すると考えられる。
【００４４】
そこで、ステップＳ２３において、コントローラ３０は、ステップＳ２２で検出した等速回転の際の振動相関量について周波数解析（例えば、ＦＦＴを用いたスペクトル解析）を行う。この周波数解析により、上記振動相関量の周波数スペクトルが得られる。図５（ａ）〜図５（ｂ）には、その周波数スペクトルを示す。
【００４５】
図５（ａ）〜図５（ｂ）には、横軸に複数の特定周波数（図５では、便宜上、３つの特定周波数ｆ１〜ｆ３を例示する）が示されている。この特定周波数ｆ１〜ｆ３は、ロボット１０を構成する機械的要素に対応して定まるものとなっている。
【００４６】
例えば、特定周波数ｆ１は、軸受け部材であるクロスローラベアリング２６における内輪及び外輪の径や、転動体の径・個数等、クロスローラベアリング２６に関する各種パラメータに基づき定まるクロスローラベアリング２６固有の周波数となっている。特定周波数ｆ２，ｆ３も同様に、例えば、プーリ２２や、減速機２３固有の周波数となっている。したがって、ロボット１０を構成する各機械的要素に対応して、異なる特定周波数が存在することとなる。特定周波数と各機械的要素との対応関係は予め記憶部３６に記憶されている。
【００４７】
ステップＳ２４では、上記振動の周波数スペクトルを参照して、特定周波数ｆ１〜ｆ３における波形の振幅Ｖ１〜Ｖ３を特定（抽出）する。したがって、コントローラ３０は、検出された振動相関量について周波数解析を行って、ロボット１０を構成する機械的要素に応じて定まる特定周波数の振幅を抽出する周波数解析部３２としての機能を備えていることとなる。
【００４８】
そして、ステップＳ２５では、特定周波数ｆ１〜ｆ３における振幅Ｖ１〜Ｖ３のうち、いずれかが所定の閾値Ｖａ〜Ｖｃよりも大きいか否かを判定する。
【００４９】
ステップＳ２５において、全ての特定周波数ｆ１〜ｆ３における振幅Ｖ１〜Ｖ３が、それぞれ所定の閾値Ｖａ〜Ｖｃ以下である場合（図５（ａ）の場合）、関節Ｋ１〜Ｋ６の等速回転の際、周期的に大きな振動が発生していないとみなすことができる。このため、異常はないと判定する（ステップＳ２６）。この場合、そのまま、異常判定処理を終了する。
【００５０】
一方、特定周波数ｆ１〜ｆ３における振幅Ｖ１〜Ｖ３のうち、いずれかが所定の閾値Ｖａ〜Ｖｃよりも大きい場合（図５（ｂ）の場合）には、関節Ｋ１〜Ｋ６の等速回転の際に周期的に大きな振動が発生しているとみなすことができる。この場合、関節Ｋ１〜Ｋ６のいずれかに異常ありと判定する（ステップＳ２７）。なお、図５（ｂ）では、特定周波数ｆ１の振幅Ｖ１が、特定周波数ｆ１における振幅Ｖ１の閾値Ｖａを超えていることを図示している。ステップＳ２７の後、ステップＳ２８に進む。
【００５１】
ステップＳ２８では、関節Ｋ１〜Ｋ６のいずれかに異常がある旨の報知を操作装置４０の表示部４２に実行させる。なお、ステップＳ２６に進んだ場合において、関節Ｋ１〜Ｋ６に異常がない旨の報知を操作装置４０の表示部４２に実行させてもよい。
【００５２】
なお、報知は必ずしも表示部４２を用いて行う必要はない。例えば、操作装置４０に音声を出力するスピーカ等の音声出力部を設け、その音声出力部から出力される音声により報知を行ってもよい。また、操作装置４０に光を発する発光部を設け、その発光部からの光によって報知を行ってもよい。
【００５３】
以上のステップＳ２５〜Ｓ２７に示すように、コントローラ３０は、抽出された特定周波数における振幅と閾値とを比較する。また、特定周波数における振幅が閾値よりも大きい場合には、異常ありと判定する。閾値以下である場合には、異常なしと判定する。したがって、コントローラ３０は、異常判定部３３としての機能を備えていることとなる。
【００５４】
ところで、特定周波数ｆ１〜ｆ３における振幅Ｖ１〜Ｖ３は、ロボット１０において劣化や故障などの異常が生じていなくても、ロボット１０の状態によって変化する場合がある。具体的には、図６に示すように、ロボット１０の組み立て直後や、修理直後、部品交換直後における初期運転時において、振幅Ｖ１〜Ｖ３が大きくなる可能性がある。なお、図６では、振幅Ｖ１について例示している。
【００５５】
振幅Ｖ１〜Ｖ３が大きくなる原因としては、例えば、関節などに用いられる減速機２３などギヤにおける噛み合い誤差が考えられる。また、クロスローラベアリング２６等の摺動部分に用いられるグリス粘度が、適正な状態となっていないことが考えられる。また、プーリ２２などを駆動連結するために用いられるベルトの張力が適正な状態になっていない等が考えられる。これらはいずれもロボット１０が所定期間稼働することにより、安定状態となると考えられる。すなわち、噛み合い誤差は、初期摩耗が行われることにより、適正な安定状態になると考えられる。また、グリス粘度は、グリスの撹拌が十分に進み、摺動部分における負荷が少なくなることにより、適正な安定状態になると考えられる。また、ベルトがなじむ（伸びる）と、張力が適正な安定状態となると考えられる。
【００５６】
このため、図６に示すように、ロボット１０を所定期間稼働させることにより、特定周波数ｆ１〜ｆ３における各振幅Ｖ１〜Ｖ３は、漸減し、一定の範囲内に収束することが経験的に知られている。
【００５７】
そこで、本実施形態では、閾値Ｖａ〜Ｖｃをロボット１０の状態に応じて変更可能に構成した。まず、ロボット１０の状態が初期状態にリセット（初期設定）された場合について説明する。ロボット１０の状態が初期状態であることを示すために、ロボット１０に対して初期設定が行われた場合、コントローラ３０は、ロボット１０から初期設定が行われた旨を示す信号を入力し、閾値Ｖａ〜Ｖｃとして、初期閾値Ｓａ〜Ｓｃを設定する。初期閾値Ｓａ〜Ｓｃは、閾値Ｖａ〜Ｖｃごとに（すなわち、機械的要素ごとに）記憶部３６にあらかじめ記憶されている。
【００５８】
初期設定は、例えば、組立ラインへのロボット１０が設定される際（詳しくはロボット１０の稼働開始前におけるテスト期間中等）に、行われる。また、この初期設定は、例えば、ロボット１０に対して部品交換や修理が行われた際においても、行われてもよい。ロボット１０の初期設定及び、初期閾値Ｓａ〜Ｓｃの設定は、ユーザが操作部４１を操作することにより設定することができるようにしてもよい。また、機械的要素ごとに、初期設定を行い、機械的要素ごとに初期閾値Ｓａ〜Ｓｃを設定可能に構成してもよい。そして、機械的要素ごとの閾値について、個別に初期閾値Ｓａ〜Ｓｃを設定可能に構成してもよい。
【００５９】
そして、ロボット１０に対して初期設定が行われた後から、すべての閾値Ｖａ〜Ｖｃに通常閾値Ｎａ〜Ｎｃが設定されるまでの間に、閾値設定処理が実行される。通常閾値Ｎａ〜Ｎｃは、初期閾値Ｓａ〜Ｓｃよりもそれぞれ小さい値となっている。通常閾値Ｎａ〜Ｎｃは、閾値Ｖａ〜Ｖｃごとに（すなわち、機械的要素ごとに）記憶部３６にあらかじめ記憶されている。
【００６０】
以下、図７に基づき閾値設定処理について説明する。閾値設定処理は、コントローラ３０により実行される。閾値設定処理は、例えば、所定周期ごとに実行される。なお、異常判定処理の実行タイミングは任意に変更可能である。例えば、ロボット１０への電源投入開始後、所定期間において実行されてもよい。
【００６１】
ステップＳ１０１において、ステップＳ２１と同様に、各関節Ｋ１〜Ｋ６に対して等速回転処理を行う。
【００６２】
ステップＳ１０２では、ステップＳ２２と同様に、各関節Ｋ１〜Ｋ６に設けられた電流検出部３８からの検出信号に基づいて、各関節Ｋ１〜Ｋ６が等速回転する際に発生する振動相関量を検出する。
【００６３】
ステップＳ１０３では、ステップＳ２３と同様に、ステップＳ１０２で検出した等速回転の際の振動相関量について周波数解析を行う。この周波数解析により、上記振動相関量の周波数スペクトルが得られる。
【００６４】
ステップＳ１０４では、ステップＳ２４と同様に、上記振動の周波数スペクトルを参照して、特定周波数ｆ１〜ｆ３における振幅Ｖ１〜Ｖ３を特定する。
【００６５】
ステップＳ１０５では、特定周波数ｆ１〜ｆ３における振幅Ｖ１〜Ｖ３のいずれかが、判定値（判定用閾値）Ｈａ〜Ｈｃを下回ったか否かを判定する。判定値Ｈａ〜Ｈｃは、特定周波数ｆ１〜ｆ３毎、すなわち、機械的要素ごとに設定される。判定値Ｈａは、特定周波数ｆ１における振幅Ｖ１を判定する判定値であり、判定値Ｈｂは、特定周波数ｆ２における振幅Ｖ２を判定する判定値であり、判定値Ｈｃは、特定周波数ｆ３における振幅Ｖ３を判定する判定値である。判定値Ｈａ〜Ｈｃは、閾値Ｖａ〜Ｖｃごとに（すなわち、機械的要素ごとに）記憶部３６にあらかじめ記憶されている。
【００６６】
これらの判定値Ｈａ〜Ｈｃは、図６に示すように、通常閾値Ｎａ〜Ｎｃよりも小さい値がそれぞれ設定されており、実験などにより経験的に定められる。すなわち、初期設定が行われた後、安定状態に移行する前において、ロボット１０を稼働させることにより、各振幅Ｖ１〜Ｖ３は、温度などの環境的な要因を考慮しない場合、逓減する傾向にある。そこで、通常閾値Ｎａ〜Ｎｃよりも小さい値を判定値Ｈａ〜Ｈｃとして設定し、この判定値Ｈａ〜Ｈｃを下回ったときに、安定状態に移行したと判定することとした。
【００６７】
なお、判定値Ｈａ〜Ｈｃは、温度などの環境的な要因を考慮して、通常閾値Ｎａ〜Ｎｃよりも小さくすることが望ましい。また、安定状態とは、図６に示すように、ロボット１０（機械的要素）の状態が初期閾値を用いずに異常判定可能な状態のことである。このステップＳ１０５により、コントローラ３０は、ロボット１０に対して初期設定が行われ、閾値Ｖａ〜Ｖｃとして初期閾値Ｓａ〜Ｓｃが設定された後、ロボット１０の状態が初期閾値Ｓａ〜Ｓｃを用いずに異常判定可能な安定状態に移行したか否かを判定する状態判定部３４としての機能を備えていることとなる。
【００６８】
ステップＳ１０５において、特定周波数ｆ１〜ｆ３における振幅Ｖ１〜Ｖ３のうちいずれかが、判定値Ｈａ〜Ｈｃを下回った場合、下回った振幅に対応する機械的要素が安定状態に移行したと判定することができるため、通常閾値Ｎａ〜Ｎｃを設定する（ステップＳ１０６）。
【００６９】
より詳しくは、振幅Ｖ１が判定値Ｈａを下回った場合、特定周波数ｆ１に対応する機械的要素について安定状態に移行したと判定し、特定周波数ｆ１における振幅Ｖ１の閾値Ｖａについて、通常閾値Ｎａを設定する。振幅Ｖ２が判定値Ｈｂを下回った場合、特定周波数ｆ２に対応する機械的要素について安定状態に移行したと判定し、特定周波数ｆ２における振幅Ｖ２の閾値Ｖｂについて、通常閾値Ｎｂを設定する。振幅Ｖ３が判定値Ｈｃを下回った場合、特定周波数ｆ３に対応する機械的要素について安定状態に移行したと判定し、特定周波数ｆ３における振幅Ｖ３の閾値Ｖｃについて、通常閾値Ｎｃを設定する。このステップＳ１０６により、コントローラ３０は、ロボット１０の状態が安定状態に移行したと判定されたことを条件に、閾値Ｖａ〜Ｖｃとして通常閾値Ｎａ〜Ｎｃを設定する閾値設定部３５としての機能を備えていることとなる。
【００７０】
なお、振幅Ｖ１〜Ｖ３が判定値Ｈａ〜Ｈｃを下回っていない場合、当該振幅Ｖ１〜Ｖ３の閾値Ｖａ〜Ｖｃについては、そのまま初期閾値Ｓａ〜Ｓｃを維持する。そして、ステップＳ１０６の後、ステップＳ１０７に進む。
【００７１】
ステップＳ１０７では、安定状態に移行した旨の報知、又は通常閾値Ｎａ〜Ｎｃが設定された旨の報知を操作装置４０の表示部４２等に実行させる。どの機械的要素について安定状態に移行したかを報知してもよい。
【００７２】
一方、全ての特定周波数ｆ１〜ｆ３における振幅Ｖ１〜Ｖ３が、それぞれ判定値Ｈａ〜Ｈｃ以上である場合、安定状態に移行していないと判定することができるため、そのまま、閾値設定処理を終了する。なお、安定状態に移行していない旨を報知させてもよい。
【００７３】
以上、詳述した本実施形態の構成によれば、以下の優れた効果が得られる。
【００７４】
・振動相関量の周波数解析結果において、機械的要素に応じて定まる特定周波数ｆ１〜ｆ３における振幅Ｖ１〜Ｖ３は、ロボット１０が正常である場合であっても、ロボット１０の状態に応じて変化する場合がある。具体的には、ロボット１０の組み立て直後や、修理直後、部品交換直後では、振動が大きくなり、特定周波数ｆ１〜ｆ３の振幅Ｖ１〜Ｖ３が大きくなる可能性がある。この原因としては、例えば、関節Ｋ１〜Ｋ６などに用いられる減速機２３の噛み合い誤差や、グリス粘度及びベルトの張力が適正な状態になっていない等が考えられる。これらはいずれもロボット１０が所定期間稼働して、機械的要素の状態が安定することにより、適正な状態となると考えられる。
【００７５】
そこで、コントローラ３０は、ロボット１０に対して初期設定が行われ、閾値Ｖａ〜Ｖｃとして初期閾値Ｓａ〜Ｓｃが設定された後、ロボット１０が安定状態に移行したか否かを判定することとした。そして、安定状態に移行したと判定されたことを条件に、閾値Ｖａ〜Ｖｃとして初期閾値Ｓａ〜Ｓｃよりも小さい通常閾値Ｎａ〜Ｎｃを設定することとした。
【００７６】
これにより、初期設定後から安定状態に移行する前までの間は、初期閾値Ｓａ〜Ｓｃによって、異常を判定し、安定状態に移行した後は、初期閾値Ｓａ〜Ｓｃよりも小さい通常閾値Ｎａ〜Ｎｃによって、異常を判定することができる。したがって、ロボット１０の状態に応じて適切に異常の有無を判定することができ、誤判定を抑制することができる。
【００７７】
・初期設定が行われた後、所定期間稼働すると、特定周波数ｆ１〜ｆ３における振幅Ｖ１〜Ｖ３は減少し、安定状態に移行すると、所定の範囲内に収束することが経験的にわかっている。そこで、特定周波数ｆ１〜ｆ３における振幅Ｖ１〜Ｖ３が減少して、所定の範囲内となったことを条件に、安定状態に移行したと判定することとした。より詳しくは、通常閾値Ｎａ〜Ｎｃよりも小さい判定値Ｈａ〜Ｈｃを下回ったことを条件に、特定周波数ｆ１〜ｆ３における振幅Ｖ１〜Ｖ３が所定の範囲内となったと判定することした。これにより、安定状態に移行したことを適切に判定することができる。
【００７８】
・機械的要素ごとに、閾値Ｖａ〜Ｖｃが設定されているため、いずれの機械的要素で異常が生じたか否かを特定することができる。また、コントローラ３０は、機械的要素ごとに、安定状態に移行したか否かを判定し、安定状態に移行したと判定された機械的要素に対応する閾値Ｖａ〜Ｖｃについて、通常閾値Ｎａ〜Ｎｃを設定する。このため、部品交換等、ロボット１０を構成する機械的要素のうち一部について初期設定する必要がある場合、全ての閾値Ｖａ〜Ｖｃについて初期閾値Ｓａ〜Ｓｃを設定する必要がなくなる。また、ロボット１０を構成する機械的要素のうち一部について初期設定が行われる場合、又は行われる必要がある場合であっても、各機械的要素について適切な閾値を設定することができ、適切に異常を判定することができる。
【００７９】
異常判定処理及び閾値設定処理において、関節Ｋ１〜Ｋ６をモータ２１により等速回転させた。そして、その等速回転の際に発生する振動を検出し、その等速回転の際の振動について周波数解析を行うようにした。ここで、機械的要素に異常がある場合又は安定状態に移行していない場合、関節Ｋ１〜Ｋ６を等速回転させる際、一定の周期で大きな振動が発生すると考えられる。そのため、周波数解析において、特定周波数ｆ１〜ｆ３の振幅が大きくなりやすいと考えられる。このため、異常及び安定状態の移行を好適に判定しやすい。
【００８０】
本発明は上記実施形態に限らず、例えば次のように実施されてもよい。
【００８１】
上記実施形態では、ロボット１０の動作モードを等速動作モードに設定し、関節Ｋ１〜Ｋ６を等速回転させる際に発生する振動又は振動相関量を検出して周波数解析を行ったが、これを変更してもよい。例えば、ロボット１０の通常稼働時（通常動作モード時）に関節Ｋ１〜Ｋ６を回転させる際に発生する振動、又は振動相関量を検出して周波数解析を行ってもよい。この場合でも、その回転が等速又はそれに近い回転であれば、その回転の際に発生する振動の周波数スペクトルに基づき、異常判定及び安定状態への移行を判定することができる。
【００８２】
上記実施形態では、電流検出部３８により検出されるモータ２１の電流値に基づいて、モータ２１により関節Ｋ１〜Ｋ６を回転駆動する際に発生する振動相関量（電流値に基づく波形）を検出したが、かかる振動相関量を検出する方法は必ずしもこれに限らない。例えば、電流検出部３８により検出されるモータ２１の電流値に基づいてモータ２１のトルク値を算出（推定）し、その算出したトルク値を上記の振動相関量として検出するようにしてもよい。この場合、その検出された振動相関量としてのトルク値に基づく波形に対して周波数解析が実施される。
【００８３】
また、モータ２１は、位置検出部３７（エンコーダ）により検出される関節Ｋ１〜Ｋ６の回転位置に基づいて、フィードバック制御（速度フィードバック制御）が実施される。そこで、その速度フィードバックを行う際の目標速度に基づきモータ２１の目標トルクを算出し、その算出した目標トルクに基づき上記の振動相関量を検出するようにしてもよい。
【００８４】
さらに、関節Ｋ１〜Ｋ６に振動を検出する振動センサを設け、その振動センサにより関節Ｋ１〜Ｋ６を回転駆動する際に、発生する振動（振動の波形）を検出するようにしてもよい。
【００８５】
上記実施形態では、６つの関節Ｋ１〜Ｋ６を有する６軸ロボットに本発明を適用したが、５軸ロボットや４軸ロボット等、その他の多関節型ロボットに本発明を適用してもよい。また、関節を１つだけ有する１軸ロボットに本発明を適用してもよい。
【００８６】
上記実施形態において、異常判定処理の実行タイミングは、任意に変更してもよい。例えば、所定周期ごとに実行されてもよい。また、常時実行してもよい。
【００８７】
上記実施形態では、関節Ｋ１〜Ｋ６のいずれかに異常があることを判定したが、異常が存在する箇所を特定してもよい。例えば、閾値Ｖａ〜Ｖｃを超える振幅Ｖ１〜Ｖ３を有する特定周波数ｆ１〜ｆ３に対応する機械的要素を特定すれば、異常がある機械的要素を特定できる。
【００８８】
上記実施形態の異常判定処理及び閾値設定処理において、全関節Ｋ１〜Ｋ６を回転させたが、回転させる関節Ｋ１〜Ｋ６を操作部４１の操作により、設定可能としてもよい。これにより、対象を絞って、異常判定及び安定状態に移行しているか否かを判定することができる。対象を絞ることにより、振動又は振動相関量の周波数スペクトルが少なくなり、好適に判定することができる。
【００８９】
上記実施形態の閾値設定処理において、コントローラ３０は、初期設定後、所定期間における特定周波数ｆ１〜ｆ３における振幅Ｖ１〜Ｖ３の平均に基づき、安定状態に移行したか否かを判定してもよい。温度変化や、電流検出部３８における検出誤差などにより、検出された振動相関量に誤差が生じる場合がある。そこで、振幅Ｖ１〜Ｖ３の平均に基づき安定状態に移行したか否かを判定することにより、安定状態に移行したか否かをより適切に判定できる。
【００９０】
上記実施形態の閾値設定処理において、コントローラ３０は、初期設定後、特定周波数ｆ１〜ｆ３における振幅Ｖ１〜Ｖ３が減少から増加に転じたことを条件に、安定状態に移行したと判定してもよい。初期設定後、安定状態に移行する前までは、特定周波数ｆ１〜ｆ３における振幅Ｖ１〜Ｖ３は、一般的に、上昇することはない。そこで、特定周波数ｆ１〜ｆ３における振幅Ｖ１〜Ｖ３が減少から増加に転じたことを条件に、安定状態に移行したと判定することとした。これにより、適切に安定状態に移行したことを判定することができる。
【００９１】
上記実施形態において、ロボット１０は、複数の機械的要素からなる部品を有していてもよい。この場合、コントローラ３０は、ロボット１０の部品が交換された場合、当該部品に含まれる各機械的要素に応じて定められる特定周波数の振幅の閾値について、全て初期閾値を設定するようにしてもよい。部品を交換した際、当該部品に含まれる複数の機械的要素に対応する閾値をすべて初期設定する必要がある。そこで、コントローラ３０は、ロボット１０の部品が交換された場合、当該部品に含まれる各機械的要素に応じて定められる特定周波数の振幅の閾値について、全て初期閾値に設定するようにした。これにより、部品の交換に伴って部品に含まれるすべての機械的要素が交換されたにもかかわらず、一部の機械的要素についての閾値しか初期閾値に設定されないことを避けることができる。また、部品を交換した際、当該部品に含まれる機械的要素に対応する閾値をすべて初期設定する手間を省くことができる。なお、部品の入力は、操作部４１により入力すればよい。
【００９２】
上記実施形態において、コントローラ３０は、ロボット１０に備えられていたが、ロボット１０とは独立して設けられていてもよい。この場合、ロボット１０とコントローラ３０は、通信可能に接続されていればよい。
【００９３】
上記実施形態のロボット１０は、モータ２１の駆動に基づき、回転運動する関節Ｋ１〜Ｋ６を採用していたが、モータ２１の駆動に基づき、直線的な運動（往復運動）する関節を採用してもよい。この場合、周期的に往復運動することが望ましい。
【符号の説明】
【００９４】
１０…ロボット、３０…コントローラ、３１…振動検出部、３２…周波数解析部、３３…異常判定部、３４…状態判定部、３５…閾値設定部。
【図１】
2019063884.tif 000003
【図２】
2019063884.tif 000004
【図３】
2019063884.tif 000005
【図４】
2019063884.tif 000006
【図５】
2019063884.tif 000007
【図６】
2019063884.tif 000008
【図７】
2019063884.tif 000009