(57)【要約】【課題】予め決められた速度で等速度運動していないロボットの関節について、その異常の有無を判定することができる異常診断装置を提供すること。【解決手段】コントローラ３０は、モータ２１の駆動速度を検出する速度検出部３１と、振動相関量の波形を検出する振動検出部３２と、駆動速度と想定速度との比較に基づき、振動検出部３２により検出された波形を変換して、想定速度における波形を推定する推定部３３と、推定部３３により推定された波形について周波数解析を行って、ロボット１０を構成する機械的要素及び想定速度に応じて定まる特定周波数における振幅を抽出する周波数解析部３４と、周波数解析部３４により抽出された特定周波数における振幅に基づき、関節の異常を判定する異常判定部３５と、を備える。【選択図】      図３
2019058998.tif 000002
【特許請求の範囲】
【請求項１】
関節を駆動させるモータを備えるロボットに用いられる異常診断装置において、
前記モータにより前記関節を駆動させる際における前記モータ又は前記関節の駆動速度を検出する速度検出部と、
前記モータにより前記関節を駆動させる際に発生する振動又は前記振動に相関する振動相関量の波形を検出する振動検出部と、
前記速度検出部により検出された駆動速度と予め決められた想定速度との比較に基づき、前記振動検出部により検出された波形を変換して、前記想定速度における波形を推定する推定部と、
前記推定部により推定された前記波形について周波数解析を行って、前記ロボットを構成する機械的要素及び前記想定速度に応じて定まる特定周波数における振幅を抽出する周波数解析部と、
前記周波数解析部により抽出された前記特定周波数における振幅に基づき、前記関節の異常を判定する異常判定部と、を備える異常診断装置。
【請求項２】
前記推定部は、前記想定速度と前記駆動速度の速度比率に応じて、検出された前記波長の波長を変換して、前記想定速度における波形を推定する請求項１に記載の異常診断装置。
【請求項３】
前記推定部は、前記想定速度よりも前記駆動速度が遅い場合には、検出された前記波形の波長を短縮する変換を行って、前記想定速度における波形を推定する請求項１又は２に記載の異常診断装置。
【請求項４】
前記推定部は、前記想定速度よりも前記駆動速度が速い場合には、検出された前記波形の波長を延長する変換を行って、前記想定速度における波形を推定する請求項１〜３のうちいずれか１項に記載の異常診断装置。
【請求項５】
前記速度検出部は、単位時間ごとに前記駆動速度を検出し、
前記振動検出部は、前記単位時間ごとに振動又は振動相関量を検出することにより、前記振動又は前記振動相関量の波形を検出するように構成され、
前記推定部は、前記振動検出部により検出された波形について、前記単位時間ごとの前記駆動速度と前記想定速度の比率に応じて当該単位時間ごとに前記波形の波長変換を行うことにより、前記想定速度における波形を推定する請求項１〜４のうちいずれか１項に記載の異常診断装置。
【請求項６】
前記単位時間は、前記駆動速度が最高速度である場合における前記振動又は前記振動相関量の波形の波長に基づき、設定される請求項５に記載の異常診断装置。
【請求項７】
前記駆動速度に基づき、前記モータ又は前記関節の加速度を算出する加速度算出部を備え、
前記推定部は、前記加速度算出部により算出された前記加速度の変化が所定範囲内であることを条件に、検出された前記波形に基づき、前記想定速度における波形を推定する請求項１〜６のうちいずれか１項に記載の異常診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの関節について、その異常の有無を判定する異常診断装置に関する。
【背景技術】
【０００２】
従来、産業用ロボットとして複数の関節を有する多関節型のロボットが実用化されている。かかるロボットでは、各関節にそれぞれモータ（サーボモータ）が設けられており、それらモータの駆動によって各関節が駆動するようになっている。
【０００３】
ロボットの各関節は、時間の経過や繰り返しの駆動等により劣化する部材である。このため、異常をいち早く検出することができるようにすることが必要とされる。関節の異常判定に関しては、関節の振動パターンを検出し、検出された振動パターンを周波数解析して、判定する方法が知られている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−３２４７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載する方法は、予め決められた速度で、等速度運動（一定速度で駆動）している関節の振動パターンにおいてのみ適用可能であり、予め決められた速度で、等速度運動していない関節については適用できない点について本願発明者は着目した。つまり、点検のため、予め決められた速度で、等速度運動させる必要が生じ、異常判定を常時することはできないという問題がある。
【０００６】
本発明は、上記事情に鑑みてなされたものであり、予め決められた速度で等速度運動していないロボットの関節について、その異常の有無を判定することができる異常診断装置を提供することを主たる目的とするものである。
【課題を解決するための手段】
【０００７】
上記課題を解決すべく、第１の発明は、関節を駆動させるモータを備えるロボットに用いられる異常診断装置において、前記モータにより前記関節を駆動させる際における前記モータ又は前記関節の駆動速度を検出する速度検出部と、前記モータにより前記関節を駆動させる際に発生する振動又は前記振動に相関する振動相関量の波形を検出する振動検出部と、前記速度検出部により検出された駆動速度と予め決められた想定速度との比較に基づき、前記振動検出部により検出された波形を変換して、前記想定速度における波形を推定する推定部と、前記推定部により推定された前記波形について周波数解析を行って、前記ロボットを構成する機械的要素及び前記想定速度に応じて定まる特定周波数における振幅を抽出する周波数解析部と、前記周波数解析部により抽出された前記特定周波数における振幅に基づき、前記関節の異常を判定する異常判定部と、を備えることを要旨とする。
【０００８】
速度検出部により検出された駆動速度と予め決められた想定速度との比較に基づき、振動検出部により検出された波形を変換して、想定速度における波形を推定する推定部を備えた。このため、駆動速度が想定速度でない場合又は等速度でない場合であっても、駆動速度と想定速度との比較に基づき、検出された波形を変換し、想定速度における波形を推定することができる。このため、想定速度における波形を周波数解析して、特定周波数の振幅を抽出し、当該振幅に基づき、異常判定を行うことができる。したがって、予め決められた速度で、等速度運動していないロボットの関節について、その異常の有無を判定することができる。
【０００９】
第２の発明において、前記推定部は、前記想定速度と前記駆動速度の速度比率に応じて、検出された前記波長の波長を変換して、前記想定速度における波形を推定することを要旨とする。
【００１０】
振動又は振動相関量の波形の周波数と、駆動速度は比例関係にある。このため、想定時間と駆動速度の速度比率に応じて、検出された波長の波長を変換することにより、想定速度における波形を適切に推定することができる。したがって、ロボットの関節の異常について適切に判定することができる。
【００１１】
第３の発明において、前記推定部は、前記想定速度よりも前記駆動速度が遅い場合には、検出された前記波形の波長を短縮する変換を行って、前記想定速度における波形を推定することを要旨とする。
【００１２】
振動又は振動相関量の波形の周波数と、駆動速度は比例関係にある。このため、想定速度よりも駆動速度が遅い場合には、検出された波形の波長を短縮する変換を行うことにより、想定速度における波形を適切に推定することができる。したがって、ロボットの関節の異常について適切に判定することができる。
【００１３】
第４の発明において、前記推定部は、前記想定速度よりも前記駆動速度が速い場合には、検出された前記波形の波長を延長する変換を行って、前記想定速度における波形を推定することを要旨とする。
【００１４】
振動又は振動相関量の波形の周波数と、駆動速度は比例関係にある。このため、想定速度よりも駆動速度が速い場合には、検出された波形の波長を延長する変換を行うことにより、想定速度における波形を適切に推定することができる。したがって、ロボットの関節の異常について適切に判定することができる。
【００１５】
第５の発明において、前記速度検出部は、単位時間ごとに前記駆動速度を検出し、前記振動検出部は、前記単位時間ごとに振動又は振動相関量を検出することにより、前記振動又は前記振動相関量の波形を検出するように構成され、前記推定部は、前記振動検出部により検出された波形について、前記単位時間ごとの前記駆動速度と前記想定速度の比率に応じて当該単位時間ごとに前記波形の波長変換を行うことにより、前記想定速度における波形を推定することを要旨とする。
【００１６】
振動又は振動相関量の波形の周波数と、駆動速度は比例関係にある。このため、振動検出部により検出された波形について、単位時間ごとの駆動速度と想定速度の比率に応じて当該単位時間ごとに波形の波長変換を行うことにより、想定速度における波形を推定することとした。これにより、駆動速度が頻繁に加減速した場合であっても、単位時間を適切に設定することによって、想定速度における波形を適切に推定することができる。したがって、ロボットの関節の異常について適切に判定することができる。
【００１７】
第６の発明において、前記単位時間は、前記駆動速度が最高速度である場合における前記振動又は前記振動相関量の波形の波長に基づき、設定されることを要旨とする。
【００１８】
これにより、例えば、駆動速度が最高速度である場合において、振動又は振動相関量の波形を検出可能となるように、単位時間を設定することにより、駆動速度がどのように変更された場合であっても、振動又は振動相関量を適切に検出することができる。したがって、想定速度における波形を適切に推定することができる。
【００１９】
第７の発明では、前記駆動速度に基づき、前記モータ又は前記関節の加速度を算出する加速度算出部を備え、前記推定部は、前記加速度算出部により算出された前記加速度の変化が所定範囲内であることを条件に、検出された前記波形に基づき、前記想定速度における波形を推定することを要旨とする。
【００２０】
加速から減速する場合や、停止から急加速する場合など、運動の変化点付近においては、検出される波形の周波数が乱れやすく、誤判定の要因となり得る。そこで、推定部は、加速度の変化が所定範囲内であることを条件に、検出された前記波形に基づき、想定速度における波形を推定することとした。これにより、想定速度における波形を適切に推定することができる。したがって、ロボットの関節の異常について適切に判定することができる。
【図面の簡単な説明】
【００２１】
【図１】ロボットの概要を示す正面図。
【図２】（ａ）は、軸受け部材を示す斜視図、（ｂ）は、シール部材を示す斜視図。
【図３】異常診断装置の電気的構成を示す図。
【図４】傷が生じた箇所を示す図。
【図５】波形短縮の説明図。
【図６】波形延長の説明図。
【図７】（ａ）は、波形変換の説明図、（ｂ）は、その拡大図。
【図８】異常判定処理を示すフローチャート。
【図９】（ａ）及び（ｂ）は、振動の周波数スペクトルを示す図。
【発明を実施するための形態】
【００２２】
以下に、本発明を具体化した一実施の形態について図面を参照しつつ説明する。本実施形態では、機械組立工場の組立ラインにおいて、機械等の組み立てを行う産業用ロボットに適用される異常診断装置として具体化している。
【００２３】
図１は、ロボットの概要を示す正面図である。図１に示すように、ロボット１０は、６つの関節Ｋ１〜Ｋ６を有する６軸ロボットである。ロボット１０は、各関節Ｋ１〜Ｋ６の回転軸（関節軸）として第１軸Ｊ１、第２軸Ｊ２、第３軸Ｊ３、第４軸Ｊ４、第５軸Ｊ５及び第６軸Ｊ６を有している。本実施形態では、第１軸Ｊ１が鉛直方向に延びるようにしてロボット１０が床等のロボット設置箇所に設置されている。以下の説明では、図１の上下方向が鉛直方向を示すとしている。
【００２４】
ロボット１０において基台１１は、ロボット設置場所に固定される固定部１２と、固定部１２の上方に設けられる回動部１３とを有している。回動部１３は、鉛直方向に延びる第１軸Ｊ１を回動中心として固定部１２に対して回動可能とされている。回動部１３の上端部には下アーム１５が連結されている。下アーム１５は、水平方向に延びる第２軸Ｊ２を回動中心として回動部１３に対して回動可能とされている。
【００２５】
下アーム１５の先端部（上端部）には上アーム１６が連結されている。上アーム１６は、水平方向に延びる第３軸Ｊ３を回動中心として下アーム１５に対し回動可能とされている。上アーム１６は、長手方向に分割された基端側の第１上アーム１６Ａと先端側の第２上アーム１６Ｂとを有している。これら各アーム１６Ａ，１６Ｂのうち第１上アーム１６Ａが下アーム１５に連結されている。第２上アーム１６Ｂは、上アーム１６の長手方向に延びる第４軸Ｊ４を回動中心として第１上アーム１６Ａに対して、回動可能に連結されている。
【００２６】
上アーム１６（詳しくは第２上アーム１６Ｂ）の先端部には手首部１７が設けられている。手首部１７は、水平方向に延びる第５軸Ｊ５を回動中心として第２上アーム１６Ｂに回動可能に連結されている。手首部１７には、ワークやツール等を取り付けるためのハンド部１８が設けられている。ハンド部１８は、その中心線である第６軸Ｊ６を回動中心として手首部１７に対してねじり方向に回動可能に連結されている。
【００２７】
このように、ロボット１０は、各軸Ｊ１〜Ｊ６を回動中心として回動可能とされた複数（具体的には６つ）の構成要素（回動部１３、下アーム１５、第１上アーム１６Ａ、第２上アーム１６Ｂ、手首部１７、ハンド部１８）を備える。この場合、これら各構成要素はそれぞれ、各軸Ｊ１〜Ｊ６を回転中心とした関節Ｋ１〜Ｋ６の回転に伴い回動する。
【００２８】
各関節Ｋ１〜Ｋ６にはそれぞれモータ２１（サーボモータ）が設けられている。これら各モータ２１を駆動させることで各関節Ｋ１〜Ｋ６が回転し、ひいては各構成要素が回動する。
【００２９】
各関節Ｋ１〜Ｋ６にはそれぞれ、関節Ｋ１〜Ｋ６の回転に伴い摺動する摺動部材２２，２３が設けられている。摺動部材２２，２３は、関節Ｋ１〜Ｋ６の回転軸Ｊ１〜Ｊ６を囲む円環状（リング状）をなしており、各関節Ｋ１〜Ｋ６にそれぞれ複数ずつ設けられている。各関節Ｋ１〜Ｋ６にはそれぞれ、摺動部材２２，２３として、転がり軸受けからなる軸受け部材２２と、シール部材２３とが設けられている。図２において（ａ）には軸受け部材２２が示されており、（ｂ）にはシール部材２３が示されている。
【００３０】
図２（ａ）に示すように、軸受け部材２２（転がり軸受け）は、関節Ｋ１〜Ｋ６の回転を滑らかにするものであり、内輪２２ａと、外輪２２ｂと、それら内輪２２ａ及び外輪２２ｂの間に設けられた複数の転動体２２ｃ（玉又はころ）と、を有している。軸受け部材２２は、各転動体２２ｃが内輪２２ａ又は／及び外輪２２ｂに形成された転走面２２ｄに転がり接触することで摺動する。軸受け部材２２としては、例えばボールベアリング（玉軸受）やクロスローラベアリング等が設けられている。
【００３１】
図２（ｂ）に示すように、シール部材２３は、相手方の部材２５の周面に対して全周接触した状態でシールを行うものである。シール部材２３は、その全周が相手方の部材２５に対し滑り接触することで摺動する。シール部材２３としては、例えばオイル（潤滑油）漏れを防止するためのオイルシールや、塵埃等の浸入を防止するためのＶリング等が設けられている。図２（ｂ）では、シール部材２３として、軸部２５ａとその外側のハウジング２５ｂとの間に配設されたオイルシールが示されている。このオイルシールは、ハウジング２５ｂと一体で回転し、その回転に伴い内周面全域が軸部２５ａの外周面に滑り接触して摺動するようになっている。
【００３２】
次に、異常診断装置としてのコントローラ３０について説明する。図３は、コントローラ３０の電気的構成を示す図である。
【００３３】
図３に示すように、ロボット１０は、ロボット１０の各種動作を制御するコントローラ３０を備える。コントローラ３０は、ＣＰＵ等を有する周知のマイクロコンピュータを主体に構成され、記憶部３６を有している。記憶部３６には、ロボット１０の動作プログラム等の各種プログラムが記憶されている。コントローラ３０は、記憶部３６に記憶された各種プログラムに基づいてロボット１０の動作制御等に係る各種機能を実現する。なお、コントローラ３０の各種機能は、ハードウェアである電子回路によって実現されてもよく、あるいは、少なくとも一部をソフトウェア、すなわちコンピュータ上で実行される処理によって実現されてもよい。
【００３４】
コントローラ３０には、各関節Ｋ１〜Ｋ６に設けられたモータ２１が接続されている。これらのモータ２１は、コントローラ３０からの制御信号に基づいて駆動される。なお、図３では便宜上、１つのモータ２１のみ図示されている。
【００３５】
コントローラ３０には、関節Ｋ１〜Ｋ６の回転位置を検出する位置検出部３７（エンコーダ）が接続されている。位置検出部３７は、各関節Ｋ１〜Ｋ６（各モータ２１）ごとにそれぞれ設けられ、図３では便宜上、１の位置検出部３７のみ図示している。コントローラ３０には、各位置検出部３７からそれぞれ関節Ｋ１〜Ｋ６の回転位置情報が入力される。コントローラ３０は、それら入力される回転位置情報に基づいて各モータ２１の駆動をフィードバック制御する。
【００３６】
コントローラ３０には、モータ２１に流れる電流値を検出する電流検出部３８が接続されている。電流検出部３８は、各モータ２１ごとにそれぞれ設けられ、図３では便宜上、１つの電流検出部３８のみ図示している。コントローラ３０には、各電流検出部３８からそれぞれ各モータ２１の電流値が入力される。
【００３７】
コントローラ３０には、各種操作を行うための操作装置４０が接続されている。操作装置４０は、周知のパーソナルコンピュータ（端末装置）により構成されており、キーボード等からなる操作部４１と、ディスプレイ等からなる表示部４２とを有している。なお、操作装置４０は、端末装置に代えて、ティーチングペンダントにより構成されていてもよい。
【００３８】
コントローラ３０には、ロボット１０（具体的には各関節Ｋ１〜Ｋ６）の動作態様を変更させる複数の動作モードが設定されている。これら各モードへの切り替えは、操作部４１の操作に基づいて行われる。具体的には、操作部４１によりモードの切替操作が行われると、その切替操作に応じたモード信号が操作部４１（操作装置４０）からコントローラ３０に入力され、コントローラ３０はその入力されたモード信号に基づいて動作モードの切替を行う。
【００３９】
ところで、軸受け部材２２では、フレーキングや異物混入等により転走面２２ｄに傷が付くと、その傷付き部分を転動体２２ｃが通過する度に振動が発生することが知られている。また、軸受け部材２２に限らず、ロボット１０を構成する機械的要素、例えば、モータ２１や、モータ２１の駆動力を伝達するプーリ及び減速機等においても、傷が付くなどの異常が生じた場合には、同様に、振動が発生することが知られている。
【００４０】
より詳しく説明すると、軸受け部材２２等の機械的要素に劣化（傷付き）が生じた場合に、関節Ｋ１〜Ｋ６を等速運動させると、周期的に大きな振動が発生する。その際、回転速度（駆動速度）や傷の発生箇所等に応じた周波数で、劣化（傷付き）に基づく振動が発生する。
【００４１】
具体的には、モータ２１（又は関節Ｋ１〜Ｋ６）の駆動速度、傷が発生した部分の位置、及び傷が発生した機械的要素の形状等に応じた周波数で、劣化（傷付き）に基づく振動が発生する。そして、例えば、図４に示すように、軸受け部材２２の内輪２２ａ側の転走面２２ｄに傷Ｓ１が発生した場合には、以下に示す数式（１）によって、内輪２２ａ側の傷Ｓ１に基づき生する振動波形の周波数Ｆｉｎを特定することができる。すなわち、回転周波数ｆ０、転動体２２ｃの直径ｄ、転動体２２ｃのピッチサークル径Ｄ、転動体２２ｃの数Ｚ、接触角αに基づき、内輪２２ａ側の傷Ｓ１に基づき発生する振動波形の周波数Ｆｉｎを特定することができる。
【数１】
2019058998.tif 000003
【００４２】
同様に、図４に示すように、軸受け部材２２の外輪２２ｂ側の転走面２２ｄに傷Ｓ２が発生した場合には、以下に示す数式（２）によって、外輪２２ｂの傷Ｓ２に基づき発生する振動波形の周波数Ｆｏｕｔを特定することができる。すなわち、回転周波数ｆ０、転動体２２ｃの直径ｄ、転動体２２ｃのピッチサークル径Ｄ、転動体２２ｃの数Ｚ、接触角αに基づき、外輪２２ｂの傷Ｓ２に基づき発生する振動波形の周波数Ｆｏｕｔを特定することができる。
【数２】
2019058998.tif 000004
【００４３】
また、他の箇所に傷が生じた場合においても、同様にそれぞれ予め決められた数式や実験等により、傷に基づき発生する振動波形の周波数を特定することができる。このため、関節Ｋ１〜Ｋ６を予め決められた速度で等速運動させた際に、検出される振動波形を周波数解析し、傷の発生箇所に応じた特定周波数における波形の振幅を抽出し、閾値と比較することにより、異常を判定できる。なお、特定周波数は、予め決められた想定速度で等速運動させた際に、傷が発生した機械的要素に応じて特定される振動波形の周波数のことである。
【００４４】
ところで、前述したように、傷の発生箇所に応じて発生する振動波形の周波数は、関節Ｋ１〜Ｋ６の駆動速度に応じて変化するものである。このため、特定周波数の振幅を抽出して、異常判定を行う場合、予め決められた想定速度で、関節Ｋ１〜Ｋ６を等速運動させることが望ましい。しかしながら、ロボット１０の通常稼働中において、等速運動するとは限らず、むしろ等速運動でない場合の方が多い。また、想定速度で運動するとも限らない。
【００４５】
そこで、本願実施形態におけるコントローラ３０は、ロボット１０の通常稼働中、関節Ｋ１〜Ｋ６が想定速度で等速運動していない場合であっても、異常判定を行うための機能を備えている。すなわち、コントローラ３０は、速度検出部３１と、振動検出部３２と、推定部３３と、周波数解析部３４と、異常判定部３５としての機能を備えている。以下、図３に基づき詳しく説明する。
【００４６】
速度検出部３１としてのコントローラ３０は、モータ２１により関節Ｋ１〜Ｋ６を回転させる際におけるモータ２１の駆動速度（モータ２１の回転軸の回転速度）を取得（検出）するものである。なお、本実施形態では、モータ２１の駆動速度を検出したが、位置検出部３７から入力した回転位置情報に基づき、関節Ｋ１〜Ｋ６の回転速度（駆動速度）を取得してもよい。本実施形態において、コントローラ３０は、予め決められた単位時間ごとに、モータ２１の駆動速度を検出し、記憶部３６に記憶する。
【００４７】
振動検出部３２としてのコントローラ３０は、モータ２１により関節Ｋ１〜Ｋ６を回転（駆動）させる際に発生する振動又は振動に相関する振動相関量の波形を検出するものである。本実施形態のコントローラ３０は、各関節Ｋ１〜Ｋ６に設けられた電流検出部３８からの検出信号に基づいて、振動相関量の波形を検出する。より詳しくは、コントローラ３０は、各電流検出部３８からそれぞれ入力される各モータ２１の電流値を振動相関量として入力し、関節Ｋ１〜Ｋ６が駆動する際に発生する振動相関量の波形（電流値に基づく波形）を検出する。なお、振動検出部３２としてのコントローラ３０は、単位時間ごとに検出された振動又は振動相関量の軌跡を補完することにより、波形を検出すればよい。
【００４８】
本実施形態において、コントローラ３０は、前記単位時間（駆動速度を検出する際の単位時間と同じ）ごとに、振動相関量（すなわち、電流値）を検出することにより、振動相関量の波形を検出するように構成されている。
【００４９】
推定部３３としてのコントローラ３０は、検出された駆動速度と予め決められた想定速度との比較に基づき、振動検出部３２により検出された波形（本実施形態では、振動相関量の波形）を変換して、想定速度における波形を推定するものである。想定速度は、予め決められた値であればよく、任意に設定してもよい。例えば、想定速度を、モータ２１の最高速としてもよい。
【００５０】
まず、想定速度における波形を推定する際の基本的な考え方について説明する。前述したように、傷の発生箇所に応じて発生する振動波形の周波数を特定する際、モータ２１の駆動速度以外に必要となるパラメータは、機械的要素の形状等の固定値となっている。このため、傷の発生箇所に応じて発生する振動波形の周波数は、モータ２１の駆動速度に比例（正比例）することがわかる。したがって、推定部３３としてのコントローラ３０は、想定速度と駆動速度の速度比率に応じて、検出された波長の波長を変換すれば、想定速度における波形を推定することができる。
【００５１】
具体的には、コントローラ３０は、検出された駆動速度が想定速度よりも遅い場合には、図５に示すように、検出された波形の波長を短縮する変換を行って、想定速度における波形を推定すればよい。その際、振動波形の周波数は、モータ２１の駆動速度に比例（正比例）するため、コントローラ３０は、想定速度と駆動速度の比率に応じて、検出された波長の波長を短く変換すれば、適切に推定することができる。図５では、上段に検出された波形を示し、下段に想定速度における波形を示す。例えば、想定速度と駆動速度の比率が（１：１／２）である場合、検出された波形の波長を１／２倍に短縮することにより想定速度における波形を適切に推定することができる。
【００５２】
同様に、コントローラ３０は、想定速度よりも駆動速度が速い場合には、図６に示すように、検出された波形の波長を延長する変換を行って、想定速度における波形を推定すればよい。その際、コントローラ３０は、想定速度と駆動速度の比率に応じて、検出された波長の波長を長く変換すれば、適切に推定することができる。図６では、上段に検出された波形を示し、下段に想定速度における波形を示す。例えば、想定速度と駆動速度の比率が（１：２）である場合、検出された波形の波長を２倍に延長することにより想定速度における波形を推定することができる。
【００５３】
本実施形態における推定部３３としてのコントローラ３０は、上述した考え方をもとに、以下のように波形を推定している。すなわち、コントローラ３０は、検出された波形について、単位時間ごとの駆動速度と想定速度の比率に応じて当該単位時間ごとに波形の波長変換を行うことにより、想定速度における波形を推定している。
【００５４】
図７に基づき、モータ２１が加速していく場合における波形の推定について説明する。図７（ｂ）は、図７（ａ）において破線で囲まれた部分の拡大図である。また、駆動速度は、「Ｖ」で図示し、検出された波形を「Ｗ１」で図示し、推定された波形を「Ｗ２」で図示している。また、図７では、時点Ｔ１０〜時点Ｔ１２において、それぞれ駆動速度Ｖ１０〜Ｖ１２を検出することを前提として説明する。また、図７において、想定速度Ｖｔと駆動速度Ｖ１１との比率を（１：１／ｍ）、想定速度Ｖｔと駆動速度Ｖ１２との比率を（１：１／ｎ）であることを前提として説明する。
【００５５】
コントローラ３０は、時点Ｔ１１において、想定速度Ｖｔと駆動速度Ｖ１１との比率に応じて、単位時間（時点Ｔ１０〜Ｔ１１）における波形の波長を１／ｍに変換する。これにより、図７（ｂ）の下段に示すように、コントローラ３０は、単位時間（時点Ｔ１０〜Ｔ１１）を駆動速度と想定速度との比率に基づいて換算した場合の時間（時点Ｐ１０〜Ｐ１１）における波形を推定することができる。
【００５６】
同様に、時点Ｔ１２において、想定速度Ｖｔと駆動速度Ｖ１２との比率に応じて、単位時間（時点Ｔ１１〜Ｔ１２）における波形の波長を１／ｎに変換する。これにより、図７（ｂ）の下段に示すように、コントローラ３０は、単位時間（時点Ｔ１１〜Ｔ１２）を駆動速度と想定速度との比率に基づいて換算した場合の時間（時点Ｐ１１〜Ｐ１２）における波形を推定することができる。以上のことを、単位時間ごとに繰り返し、換算した場合における時間ごとの波形を繋ぎ合わせることにより、コントローラ３０は、想定速度における波形を推定することができる。
【００５７】
なお、単位時間（駆動速度及び振動相関量を検出する単位時間）は、駆動速度が最高速度の場合における振動相関量の波形の波長に基づき、設定されている。より詳しくは、駆動速度が最高速度である場合において、振動又は振動相関量の波形を検出可能となるように、単位時間が設定されている。例えば、サンリング定理に基づき、駆動速度が最高速度の場合における波形（傷に基づく振動波形）の波長の１／２以下となるように、単位時間が設定されることが望ましい。
【００５８】
次に、周波数解析部３４としてのコントローラ３０について説明する。コントローラ３０は、推定された想定速度における前記波形について周波数解析（例えば、ＦＦＴを用いたスペクトル解析）を行って、周波数スペクトルを取得する。そして、コントローラ３０は、ロボット１０を構成する機械的要素及び想定速度に応じて定まる特定周波数における振幅を抽出する。
【００５９】
次に、異常判定部３５としてのコントローラ３０について説明する。コントローラ３０は、周波数解析部３４により抽出された特定周波数における振幅に基づき、関節Ｋ１〜Ｋ６の異常を判定する。より詳しくは、コントローラ３０は、抽出された特定周波数における振幅と閾値とを比較し、特定周波数における振幅が閾値よりも大きい場合には、異常ありと判定し、閾値以下である場合には、異常なしと判定する。なお、正常な振幅と比較して、差分が所定値以上である場合には、異常ありと判定してもよい。
【００６０】
次に、ロボット１０の異常を判定するための異常判定処理について図８に基づき説明する。この異常判定処理は、コントローラ３０により実行される。異常判定処理は、ロボット１０の動作中、単位時間ごとに実行される。
【００６１】
図８に示すように、まずステップＳ２１では、コントローラ３０は、モータ２１の駆動速度を取得する。そして、取得したモータ２１の駆動速度を記憶部３６に記憶する。
【００６２】
ステップＳ２２では、各関節Ｋ１〜Ｋ６に設けられた電流検出部３８からの検出信号に基づいて、各関節Ｋ１〜Ｋ６が等速回転する際に発生する振動相関量の波形を検出する。より詳しくは、コントローラ３０は、各電流検出部３８からそれぞれ入力される各モータ２１の電流値（振動相関量の振幅）を取得し、記憶部３６に記憶する。
【００６３】
ステップＳ２３において、コントローラ３０は、前述したように、検出された駆動速度と予め決められた想定速度との比較に基づき、振動検出部３２により検出された波形を変換して、想定速度における波形を推定する。
【００６４】
ステップＳ２４において、コントローラ３０は、ステップＳ２３で推定した想定速度における波形について周波数解析を行う。この周波数解析により、上記波形の周波数スペクトルが得られる。図９（ａ）〜図９（ｂ）には、その周波数スペクトルを示す。
【００６５】
図９（ａ）〜図９（ｂ）には、横軸に複数の特定周波数（図９では、便宜上、３つの特定周波数ｆ１〜ｆ３を例示する）が示されている。この特定周波数ｆ１〜ｆ３は、ロボット１０を構成する機械的要素及び想定速度に対応して定まるものとなっている。特定周波数と各機械的要素との対応関係は予め記憶部３６に記憶されている。
【００６６】
ステップＳ２５では、上記振動の周波数スペクトルの中から、特定周波数ｆ１〜ｆ３における振幅Ａ１〜Ａ３を特定（抽出）する。
【００６７】
そして、ステップＳ２６では、特定周波数ｆ１〜ｆ３における振幅Ａ１〜Ａ３のうち、いずれかが所定の閾値Ｖａ〜Ｖｃよりも大きいか否かを判定する。
【００６８】
ステップＳ２６において、全ての特定周波数ｆ１〜ｆ３における振幅Ａ１〜Ａ３が、それぞれ所定の閾値Ｖａ〜Ｖｃ以下である場合（図９（ａ）の場合）、劣化（傷つき）に基づく大きな振動が発生していないとみなすことができる。このため、異常はないと判定する（ステップＳ２７）。この場合、そのまま、異常判定処理を終了する。
【００６９】
一方、特定周波数ｆ１〜ｆ３における振幅Ａ１〜Ａ３のうち、いずれかが所定の閾値Ｖａ〜Ｖｃよりも大きい場合（図９（ｂ）の場合）には、劣化（傷つき）に基づく大きな振動が発生しているとみなすことができる。この場合、関節Ｋ１〜Ｋ６のいずれかに異常ありと判定する（ステップＳ２８）。なお、図９（ｂ）では、特定周波数ｆ１の振幅Ａ１が、特定周波数ｆ１における振幅Ａ１の閾値Ｖａを超えていることを図示している。ステップＳ２８の後、ステップＳ２９に進む。
【００７０】
ステップＳ２９では、関節Ｋ１〜Ｋ６のいずれかに異常のある部品（軸受・減速機など）を特定し、その結果を示す報知を操作装置４０の表示部４２に実行させる。なお、ステップＳ２７に進んだ場合において、関節Ｋ１〜Ｋ６に異常がない旨の報知を操作装置４０の表示部４２に実行させてもよい。
【００７１】
なお、報知は必ずしも表示部４２を用いて行う必要はない。例えば、操作装置４０に音声を出力するスピーカ等の音声出力部を設け、その音声出力部から出力される音声により報知を行ってもよい。また、操作装置４０に光を発する発光部を設け、その発光部からの光によって報知を行ってもよい。
【００７２】
以上、詳述した本実施形態の構成によれば、以下の優れた効果が得られる。
【００７３】
・速度検出部３１により検出された回転速度（駆動速度）と予め決められた想定速度との比較に基づき、振動検出部３２により検出された波形を変換して、想定速度における波形を推定する推定部３３を備えた。このため、駆動速度が等速度でない場合又は駆動速度が想定速度でない場合であっても、駆動速度と想定速度との比較に基づき、検出された波形を変換し、想定速度における波形を推定することができる。したがって、等速度運動していないロボット１０の関節Ｋ１〜Ｋ６について、その異常の有無を判定することができる。
【００７４】
・振動又は振動相関量の波形の周波数と、駆動速度は比例関係にある。このため、想定時間と駆動速度の比率に応じて、検出された波長の波長を変換することとした。すなわち、想定速度よりも駆動速度が遅い場合には、検出された波形の波長を短縮する変換を行うことした。また、想定速度よりも駆動速度が速い場合には、検出された波形の波長を延長する変換を行うこととした。これにより、想定速度における波形を適切に推定することができる。したがって、ロボット１０の関節Ｋ１〜Ｋ６の異常について適切に判定することができる。
【００７５】
・上記構成では、単位時間ごとに駆動速度を検出し、前記単位時間ごとに、振動相関量を検出して、振動相関量の波形を検出している。そして、コントローラ３０は、検出された波形について、単位時間ごとの駆動速度と想定速度の比率に応じて当該単位時間ごとに波形の波長変換を行うことにより、想定速度における波形を推定している。これにより、駆動速度が頻繁に加減速された場合であっても、単位時間を適切に設定することによって、想定速度における波形を適切に推定することができる。
【００７６】
・単位時間は、駆動速度が最高速度である場合における振動又は振動相関量の波形の波長に基づき、設定されている。具体的には、駆動速度が最高速度である場合において、振動又は振動相関量の波形を検出可能となるように、単位時間を設定している。これにより、駆動速度がどのように変更された場合であっても、想定速度における波形を推定するために必要となる振動又は振動相関量を適切に検出することができる。したがって、想定速度における波形を適切に推定することができる。
【００７７】
本発明は上記実施形態に限らず、例えば次のように実施されてもよい。
【００７８】
上記実施形態では、電流検出部３８により検出されるモータ２１の電流値に基づいて、振動相関量の波形（電流値に基づく波形）を検出したが、波形を検出する方法は必ずしもこれに限らない。例えば、電流検出部３８により検出されるモータ２１の電流値に基づいてモータ２１のトルク値を算出（推定）し、その算出したトルク値を上記の振動相関量として検出するようにしてもよい。この場合、その検出された振動相関量としてのトルク値に基づく波形を検出することとなる。
【００７９】
また、モータ２１は、位置検出部３７（エンコーダ）により検出される関節Ｋ１〜Ｋ６の回転位置に基づいて、フィードバック制御（速度フィードバック制御）が実施される。そこで、その速度フィードバックを行う際の目標速度に基づきモータ２１の目標トルクを算出し、その算出した目標トルクに基づき上記の振動相関量の波形を検出するようにしてもよい。
【００８０】
さらに、関節Ｋ１〜Ｋ６に振動を検出する振動センサを設け、その振動センサにより関節Ｋ１〜Ｋ６を駆動させる際に、発生する振動の波形を検出するようにしてもよい。
【００８１】
上記実施形態において、振動検出部３２としてのコントローラ３０は、単位時間ごとに検出された振動又は振動相関量の軌跡を補完して、波形を検出していたが、補完しなくてもよい。その場合、コントローラ３０が、想定速度における波形を推定する際に補間を行えばよい。例えば、コントローラ３０は、単位時間ごとに検出された振動等の軌跡について、想定速度で駆動させた場合における振動等の各検出間隔を、単位時間ごとの比率に基づいて単位時間を換算することで算出して、想定速度における振動等の軌跡を取得する。そして、取得した軌跡を補間して、想定速度における波形を推定すればよい。
【００８２】
上記実施形態では、６つの関節Ｋ１〜Ｋ６を有する６軸ロボットに本発明を適用したが、５軸ロボットや４軸ロボット等、その他の多関節型ロボットに本発明を適用してもよい。また、関節を１つだけ有する１軸ロボットに本発明を適用してもよい。
【００８３】
上記実施形態において、コントローラ３０は、ロボット１０に備えられていたが、ロボット１０とは独立して設けられていてもよい。この場合、ロボット１０とコントローラ３０は、通信可能に接続されていればよい。
【００８４】
上記実施形態では、関節Ｋ１〜Ｋ６のいずれかに異常があることを判定したが、異常が存在する箇所を特定してもよい。例えば、閾値Ｖａ〜Ｖｃを超える振幅Ａ１〜Ａ３を有する特定周波数ｆ１〜ｆ３に対応する機械的要素を特定すれば、異常がある機械的要素を特定できる。
【００８５】
上記実施形態において、加速から減速する場合、停止から急加速する場合、急停止する場合など、運動の変化点付近においては、検出される波形の周波数が乱れやすく、誤判定の要因となり得る。そこで、運動の変化点付近において検出される波形を解析対象から除外してもよい。具体的には、コントローラ３０に、駆動速度に基づき、モータ２１又は関節Ｋ１〜Ｋ６の加速度を算出する加速度算出部を備える。そして、推定部３３としてのコントローラ３０は、算出された加速度の変化が所定範囲内であることを条件に、検出された波形に基づき、想定速度における波形を推定すればよい。これにより、想定速度における波形を適切に推定することができる。
【００８６】
上記実施形態において、想定速度における波形において、振動又は振動相関量の検出（取得）間隔が所定以下となり、過密となった場合には、検出された振動又は振動相関量を間引いてもよい。計算が簡単となる。
【００８７】
上記実施形態において、駆動速度と想定速度の比率に応じて、コントローラ３０は、振動又は振動相関量の検出間隔を変更してもよい。そして、検出間隔ごとに、想定速度における波形を推定してもよい。
【００８８】
上記実施形態において、関節を回転駆動させたが、回転駆動に限らず、例えば、直線的に駆動させてもよい。その際、周期的に往復運動させることが望ましい。
【符号の説明】
【００８９】
１０…ロボット、２１…モータ、３０…コントローラ、３１…速度検出部、３２…振動検出部、３３…推定部、３４…周波数解析部、３５…異常判定部。
【図１】
2019058998.tif 000005
【図２】
2019058998.tif 000006
【図３】
2019058998.tif 000007
【図４】
2019058998.tif 000008
【図５】
2019058998.tif 000009
【図６】
2019058998.tif 000010
【図７】
2019058998.tif 000011
【図８】
2019058998.tif 000012
【図９】
2019058998.tif 000013