(57)【要約】【課題】生産システムにおける異常原因を適切に特定できる異常診断装置及び異常診断システムを提供すること。【解決手段】端末４０は、ロボット２１〜２３における異常を検出する異常検出部４４を備える。また、端末４０は、複数台のロボット２１〜２３のうちいずれかのロボット２１〜２３において異常が検出された場合、生産システムにおける他のロボット２１〜２３においても異常が検出されたか否かを判定する異常判定部４５を備える。また、端末４０は、他のロボット２１〜２３において異常が検出されなかった場合には、異常が検出されたロボット２１〜２３自体の異常であると特定する一方、他のロボット２１〜２３においても異常が検出された場合には、異常が検出されたロボット２１〜２３以外の要因による異常であると特定する異常特定部４９を備える。【選択図】      図３
2019058999.tif 000002
【特許請求の範囲】
【請求項１】
ワークが搬送設備によって搬送されている間に、当該ワークに対して複数台のロボットに作業を実施させる生産システムに用いられる異常診断装置において、
前記ロボットにおける異常を検出する異常検出部と、
前記異常検出部により複数台の前記ロボットのうちいずれかのロボットにおいて異常が検出された場合、前記生産システムにおける他のロボットにおいても異常が検出されたか否かを判定する異常判定部と、
前記他のロボットにおいて異常が検出されなかった場合には、異常が検出されたロボット自体の異常であると特定する一方、前記他のロボットにおいても異常が検出された場合には、異常が検出されたロボット以外の要因による異常であると特定する異常特定部と、を備えた異常診断装置。
【請求項２】
前記ワークは、前記搬送設備によって予め定められたルートに従って上流から下流へと搬送されるように構成されており、
前記ロボットは、前記ルートの予め決められた地点において作業を実施するように構成されており、
前記異常判定部は、前記異常検出部により異常が検出された場合、前記ルートにおいて、前記異常が検出された前記ロボットよりも下流側の前記ロボットにおいて異常が検出されるか否かを判定する請求項１に記載の異常診断装置。
【請求項３】
前記異常判定部は、前記異常が検出された前記ロボットから前記ルートにおいて下流側の前記ロボットまでの間における前記ワークの搬送時間に基づいて、当該下流側の前記ロボットから検出される異常を前記異常判定部で利用可能とする有効期間を設定し、当該有効期間において、前記下流側の前記ロボットから異常が検出されるか否かを判定する請求項２に記載の異常診断装置。
【請求項４】
前記ロボットの稼働状態を取得する状態取得部が備えられており、
前記異常検出部は、所定の教示期間において取得された各ロボットの基準稼働状態と、作業時に取得された各ロボットの稼働状態との比較に基づき、各ロボットの異常を検出する請求項１〜３のうちいずれか１項に記載の異常診断装置。
【請求項５】
前記ロボットは、当該ロボットに作業を実施させるための命令及びその順序を示す動作プログラムに基づき、前記ワークに対して作業を行うものであり、
前記異常特定部によって、前記ロボット自体の異常であると特定された場合、異常が検出された前記ロボットの動作プログラムに基づき、異常が検出されたタイミングにおいて前記ロボットに指示した命令を特定し、前記ロボットを構成する機械的要素のうち、特定した前記命令に関係する機械的要素に異常が生じたことを推定する推定部を備えた請求項１〜４のうちいずれか１項に記載の異常診断装置。
【請求項６】
異常が検出された前記ロボットの前記生産システムにおける配置及び異常が検出されたタイミングに基づき、異常発生場所を予測する場所予測部を備えた請求項１〜５のうちいずれか１項に記載の異常診断装置。
【請求項７】
異常が検出されたタイミングにおける前記ロボットの姿勢に基づき、異常発生原因を予測する原因予測部を備えた請求項１〜６のうちいずれか１項に記載の異常診断装置。
【請求項８】
ワークが搬送設備によって搬送されている間に、当該ワークに対してそれぞれ作業を実施する複数台のロボットと、
請求項１〜７のうちいずれか１項に記載された異常診断装置と、を備えた異常診断システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークを搬送している間に、当該ワークに対して複数台のロボットに作業を実施させる生産システムにおいて生じる異常を診断する異常診断装置及び異常診断システムに関する。
【背景技術】
【０００２】
従来、同一、同種の製品（ワーク）を大量に製造するため、１つの生産ライン上で、複数台のロボットを利用して、流れ作業によってワークを組み立てるライン方式の生産システムが知られている。このような生産システムでは、いずれかの箇所で異常が生じると、生産ライン全体に影響を及ぼす可能性がある。このため、異常原因をいち早く特定し、正常な状態に戻す必要がある。そこで、特許文献１に開示されている発明のように、複数台のロボットの情報を蓄積することで、故障時に交換する必要のある部品候補を抽出するようなシステムが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２０２６２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、生産システムにおいて異常が生じた場合、その異常の原因としては、大きく分けて、ロボット自体の異常（劣化や故障）と、ロボット以外の要因による異常（ワーク位置の異常、搬送設備の異常等）とが、考えられる。
【０００５】
上記特許文献１に開示されている発明では、ロボット自体の異常を早期に特定することはできるものの、ロボット以外の要因による異常を発見し、特定することができるものではない点に本願発明は着目した。
【０００６】
本発明は、上記事情に鑑みてなされたものであり、生産システムにおける異常原因を適切に特定できる異常診断装置及び異常診断システムを提供することを主たる目的とするものである。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、第１の発明として、ワークが搬送設備によって搬送されている間に、当該ワークに対して複数台のロボットに作業を実施させる生産システムに用いられる異常診断装置において、前記ロボットにおける異常を検出する異常検出部と、前記異常検出部により複数台の前記ロボットのうちいずれかのロボットにおいて異常が検出された場合、前記生産システムにおける他のロボットにおいても異常が検出されたか否かを判定する異常判定部と、前記他のロボットにおいて異常が検出されなかった場合には、異常が検出されたロボット自体の異常であると特定する一方、前記他のロボットにおいても異常が検出された場合には、異常が検出されたロボット以外の要因による異常であると特定する異常特定部と、を備えたことを要旨とする。
【０００８】
例えば、ワークの設置位置ずれ、搬送設備の不調等、ロボット以外の要因による異常が発生した場合、１体のロボットだけでなく、生産システムを構成する複数台のロボットから異常を検出すると考えられる。そこで、上記構成では、異常検出部により複数台のロボットのうちいずれかのロボットにおいて異常が検出された場合、生産システムにおける他のロボットにおいても異常が検出されたか否かを判定する異常判定部を備えた。また、他のロボットにおいて異常が検出されなかった場合には、異常が検出されたロボット自体の異常であると特定する一方、他のロボットにおいても異常が検出された場合には、異常が検出されたロボット以外の要因による異常であると特定する異常特定部を備えた。これにより、ロボットにおいて異常が検出された場合、その異常の原因が、ロボット自体の異常であるか、それともロボット以外の要因による異常であるかを適切に特定することができる。
【０００９】
第２の発明において、前記ワークは、前記搬送設備によって予め定められたルートに従って上流から下流へと搬送されるように構成されており、前記ロボットは、前記ルートの予め決められた地点において作業を実施するように構成されており、前記異常判定部は、前記異常検出部により異常が検出された場合、前記ルートにおいて、前記異常が検出された前記ロボットよりも下流側の前記ロボットにおいて異常が検出されるか否かを判定することを要旨とする。
【００１０】
ワークは、搬送設備によって予め定められたルートに従って上流から下流へと搬送され、ロボットは、ルートの予め決められた地点において作業を実施する。このため、ロボット以外の要因による異常が発生していた場合、最初に異常が検出されたロボットよりも、下流側のロボットにおいても異常が検出されることが想定される。そこで、異常判定部は、異常検出部により異常が検出された場合、ルートにおいて、異常が検出されたロボットよりも下流側のロボットにおいて異常が検出されるか否かを判定することとした。これにより、適切に異常原因を特定することができる。
【００１１】
第３の発明において、前記異常判定部は、前記異常が検出された前記ロボットから前記ルートにおいて下流側の前記ロボットまでの間における前記ワークの搬送時間に基づいて、当該下流側の前記ロボットから検出される異常を前記異常判定部で利用可能とする有効期間を設定し、当該有効期間において、前記下流側の前記ロボットから異常が検出されるか否かを判定することを要旨とする。
【００１２】
ワークなどに異常が生じている場合、異常が検出されたロボットから下流側のロボットまでの間におけるワークの搬送時間経過後に、当該下流側のロボットから異常が検出されると考えられる。その一方で、当該搬送時間経過前においては、ワークなどに異常が生じている場合であっても、下流側のロボットから異常が検出されない可能性が高い。また、当該搬送時間経過前において下流側のロボットから異常が検出された場合、異常の原因が異なる可能性が高い。そこで、異常判定部は、搬送時間に基づいて有効期間を設定し、当該有効期間において、下流側の前記ロボットから異常が検出されるか否かを判定することとした。これにより、より適切に異常原因を特定することができる。
【００１３】
第４の発明は、前記ロボットの稼働状態を取得する状態取得部が備えられており、前記異常検出部は、所定の教示期間において取得された各ロボットの基準稼働状態と、作業時に取得された各ロボットの稼働状態との比較に基づき、各ロボットの異常を検出することを要旨とする。
【００１４】
これにより、ロボット自体に異常が生じた場合と、ロボット以外の要因で異常が生じた場合のいずれであっても、異常を検出することができる。また、ワークに対してロボットが行う作業がロボットごとに異なっていた場合であっても、ロボットにおける異常を検出できる。
【００１５】
第５の発明において、前記ロボットは、当該ロボットに作業を実施させるための命令及びその順序を示す動作プログラムに基づき、前記ワークに対して作業を行うものであり、前記異常特定部によって、前記ロボット自体の異常であると特定された場合、異常が検出された前記ロボットの動作プログラムに基づき、異常が検出されたタイミングにおいて前記ロボットに指示した命令を特定し、前記ロボットを構成する機械的要素のうち、特定した前記命令に関係する機械的要素に異常が生じたことを推定する推定部を備えたことを要旨とする。
【００１６】
これにより、異常が生じた可能性の高いロボットの機械的要素を推定することができる。このため、より迅速に異常原因を特定することが可能となる。
【００１７】
第６の発明は、前記異常特定部によって、異常が検出された前記ロボットの前記生産システムにおける配置及び異常が検出されたタイミングに基づき、異常発生場所を予測する場所予測部を備えたことを要旨とする。
【００１８】
これにより、異常の発生原因となったワーク又は搬送設備の箇所など、異常発生場所を迅速に予測することができる。
【００１９】
第７の発明は、異常が検出されたタイミングにおける前記ロボットの姿勢に基づき、異常発生原因を予測する原因予測部を備えたことを要旨とする。
【００２０】
これにより、異常の発生原因を迅速に予測することができる。
【００２１】
第８の発明は、ワークが搬送設備によって搬送されている間に、当該ワークに対してそれぞれ作業を実施する複数台のロボットと、前記異常診断装置と、を備えた異常診断システムであることを要旨とする。
【００２２】
この異常診断システムにより、ロボットにおいて異常が検出された場合、その異常の原因が、ロボット自体の異常であるか、それともロボット以外の要因による異常であるかを適切に特定することができる。
【図面の簡単な説明】
【００２３】
【図１】生産システムの模式図。
【図２】異常診断システムの電気的構成を示す図。
【図３】異常検出処理を示すフローチャート。
【図４】ロボットの基本稼働状態と、稼働状態との比較を示す図。
【図５】異常特定処理を示すフローチャート。
【発明を実施するための形態】
【００２４】
以下に、本発明を具体化した一実施の形態について図面を参照しつつ説明する。本実施形態では、機械組立工場の組立ラインにおいて、機械等の組み立てを行う産業用ロボットを複数備える生産システムに適用される異常診断装置、及び異常診断システムとして具体化している。
【００２５】
図１に、生産システム１００を図示する。生産システム１００には、ワークＷ（製品）を搬送する搬送設備としてのベルトコンベヤ１０と、ワークＷがベルトコンベヤ１０によって搬送されている間に、当該ワークＷに対して作業を行う複数台（本実施形態では３台）のロボット２１〜２３が設けられている。
【００２６】
ベルトコンベヤ１０は、ワークＷを決まったルート（ライン）に沿って、上流から下流に流す設備である。ベルトコンベヤ１０の周りには、ロボット２１〜２３が配置されている。
【００２７】
ロボット２１〜２３は、６つの関節を有する６軸ロボットである。各ロボット２１〜２３は、ベルトコンベヤ１０の周りにおいて、それぞれ予め決められた位置に配置されている。なお、以下では、ベルトコンベヤ１０の上流から１番目に配置されているロボット２１を、第１ロボット２１と示す場合がある。また、ベルトコンベヤ１０の上流から２番目に配置されているロボット２２を、第２ロボット２２と示す場合がある。また、ベルトコンベヤ１０の上流から３番目に配置されているロボット２３を、第３ロボット２３と示す場合がある。
【００２８】
そして、各ロボット２１〜２３は、関節ごとにモータ２５を備えており、モータ２５を駆動させることにより、各関節を駆動させている。また、各ロボット２１〜２３には、それぞれロボット２１〜２３の各種動作を制御するロボットコントローラ（以下、単にコントローラ３０と示す）が設けられている。
【００２９】
次に、コントローラ３０について説明する。図２は、第１ロボット２１のコントローラ３０の電気的構成を示す図である。なお、第２ロボット２２及び第３ロボット２３のコントローラ３０も同様であるため、ここでは詳細な説明を省略する。
【００３０】
コントローラ３０は、ＣＰＵ等を有する周知のマイクロコンピュータを主体に構成され、記憶部３６を有している。記憶部３６には、第１ロボット２１の動作プログラム等の各種プログラムが記憶されている。コントローラ３０は、記憶部３６に記憶された各種プログラムに基づいて第１ロボット２１の動作制御等に係る各種機能を実現する。なお、コントローラ３０の各種機能は、ハードウェアである電子回路によって実現されてもよく、あるいは、少なくとも一部をソフトウェア、すなわちコンピュータ上で実行される処理によって実現されてもよい。
【００３１】
コントローラ３０には、各関節に設けられたモータ２５が通信可能に接続されている。これらのモータ２５は、コントローラ３０からの制御信号に基づいて駆動される。なお、図２では便宜上、１つのモータ２５のみ図示されている。
【００３２】
コントローラ３０には、各関節の回転位置を検出する位置検出部３７（エンコーダ）が接続されている。位置検出部３７は、各関節（各モータ２５）ごとにそれぞれ設けられ、図２では便宜上、１の位置検出部３７のみ図示している。コントローラ３０には、各位置検出部３７からそれぞれ各関節の回転位置情報が入力される。コントローラ３０は、それら入力される回転位置情報に基づいて各モータ２５の駆動をフィードバック制御する。
【００３３】
コントローラ３０には、モータ２５に流れる電流値を検出する電流検出部３８が接続されている。電流検出部３８は、モータ２５ごとにそれぞれ設けられ、図２では便宜上、１つの電流検出部３８のみ図示している。コントローラ３０には、各電流検出部３８からそれぞれ各モータ２５の電流値が入力される。
【００３４】
コントローラ３０は、記憶部３６に記憶されている動作プログラムに基づき、第１ロボット２１（具体的には各関節）の動作態様や姿勢を制御する。具体的には、ワークＷに対して、所定の作業を実施させるように第１ロボット２１の動作態様や姿勢を制御する。ワークＷに対してどのような作業を実施させるかは、動作プログラムにより、設定可能となっている。動作プログラムには、所定の作業を第１ロボット２１に対して実施させるための１又は複数の命令及びその順序が設定されている。命令の種類及び順序は、例えば、後述する端末４０の操作部４１を操作することにより設定可能となっている。
【００３５】
また、各ロボット２１〜２３のコントローラ３０には、各種操作を行うための管理者用端末（以下、単に端末４０と示す）が接続されている。端末４０は、周知のパーソナルコンピュータにより構成されており、キーボード等からなる操作部４１と、ディスプレイ等からなる表示部４２とを有している。なお、端末４０は、端末装置に代えて、ティーチングペンダントにより構成されていてもよい。この端末４０が、異常診断装置に相当する。また、ロボット２１〜２３及び端末４０により、異常診断システム２００が構成されている。
【００３６】
次に、各ロボット２１〜２３における異常を検出するための異常検出処理について図３に基づき説明する。この異常検出処理は、端末４０により実行される。異常検出処理は、各ロボット２１〜２３に対してそれぞれ実行される。なお、どのロボット２１〜２３を検出対象としても異常検出処理は、同様であるため、以下では第１ロボット２１を検出対象とした場合について説明する。第１ロボット２１を検出対象とする異常検出処理は、所定周期ごとに実行される。
【００３７】
図３に示すように、まずステップＳ１１では、第１ロボット２１のコントローラ３０から、第１ロボット２１の動作期間における第１ロボット２１の稼働状態を取得したか否かを判定する。第１ロボット２１の稼働状態とは、第１ロボット２１の動作態様や姿勢を特定可能な測定値の状態のことを指す。
【００３８】
動作期間における第１ロボット２１の稼働状態としては、例えば、第１ロボット２１の動作期間において、電流検出部３８から入力した電流値の波形がある。また、第１ロボット２１の稼働状態としては、例えば、第１ロボット２１の動作期間において、位置検出部３７から入力された回転位置情報の遷移波形などが含まれていてもよい。また、電流検出部３８により検出されるモータ２５の電流値に基づいてモータ２５のトルク値を算出（推定）し、その算出したトルク値の波形を、稼働状態に含ませてもよい。本実施形態では、動作期間において、電流検出部３８から入力した電流値の波形を採用している。
【００３９】
なお、第１ロボット２１には、複数の関節（及びモータ２５）を有しているが、端末４０は、関節（又はモータ２５）ごとの稼働状態を取得している。また、第１ロボット２１の動作期間は、第１ロボット２１の動作プログラムにより予め設定されており、動作期間終了後、第１ロボット２１の稼働状態が第１ロボット２１から端末４０に出力されるようになっている。なお、動作期間終了後、稼働状態が出力されていたが、所定周期ごとに出力されてもよい。このステップＳ１１を実行することにより、端末４０は、ロボット２１〜２３の稼働状態を取得する状態取得部４３としての機能を備えていることとなる。
【００４０】
ステップＳ１１の判定結果が否定の場合（稼働状態を取得していない場合）、異常検出処理を終了し、肯定の場合、ステップＳ１２に移行する。
【００４１】
ステップＳ１２において、端末４０は、取得した稼働状態と基準稼働状態とを比較する。基準稼働状態とは、例えば、所定の教示期間において、第１ロボット２１を正常に動作させた場合において取得された稼働状態のことである。つまり、取得した稼働状態が、基準稼働状態と比較して、同じであれば、第１ロボット２１は正常に動作していると判断することができる。その際、関節ごとに稼働状態を取得している場合には、関節ごとに比較を行う。また、例えば、電流値の波形と、回転位置の遷移波形のように、稼働状態として２種類以上のパラメータを取得している場合には、種類ごとに比較を行う。なお、第１ロボット２１を正常に動作させた場合における稼働状態であれば、どの期間において取得されてもよい。基準稼働状態を設定する際に、正常に動作しているか否かは、例えば管理者が確認すればよい。
【００４２】
図４（ａ）において、正常な場合における第１ロボット２１の稼働状態及び基本稼働状態を示す。図４（ａ）では、第１ロボット２１の稼働状態を波形２１ａで示し、基本稼働状態を波形２１ｂで示す。また、図４（ｂ）において、異常な場合における第２ロボット２２の稼働状態及び基本稼働状態を示す。図４（ｂ）では、第２ロボット２２の稼働状態を波形２２ａで示し、基本稼働状態を波形２２ｂで示す。
【００４３】
ステップＳ１２において具体的には、端末４０は、取得した稼働状態と基準稼働状態との比率を算出する。これにより、例えば、図４（ｃ）に示すように、取得した稼働状態と基準稼働状態との比率の遷移を示す波形を取得することができる。図４（ｃ）では、正常な第１ロボット２１についての比率を波形２１ｃで示し、異常な第２ロボット２２についての比率を波形２２ｃで示す。そして、ステップＳ１３に移行する。
【００４４】
ステップＳ１３において、端末４０は、算出した比率の絶対値が、所定範囲外であるか否かを判定する。所定範囲の上限値及び下限値は、第１ロボット２１の劣化状態（使用期間）や、使用頻度などに基づき、管理者などにより設定される。本実施形態では、比率が１００％であること（基準稼働状態と稼働状態が一致）を基準として、上限値を１１０％とし、下限値を９０％としている。この所定範囲は、所定期間経過した後は、更新が求められるように構成されている。
【００４５】
ステップＳ１３において、所定範囲内であると判定された場合には、異常がないため、そのまま異常検出処理を終了する。一方、所定範囲外であると判定された場合には、ステップＳ１４に移行する。
【００４６】
ステップＳ１４において、第１ロボット２１において何らかの異常が生じていると検出し、その旨を検出時刻と共に記憶部３６に記憶する。検出時刻は、第１ロボット２１の動作期間において比率が所定範囲外となった時刻（図４において時刻Ｔ１）のことである。なお、第１ロボット２１の動作期間において比率がピーク値となった時刻を検出時刻としてもよい。
【００４７】
このように、異常検出処理では、取得した稼働状態と基準稼働状態とを比較することにより、異常を判定している。このため、各ロボット２１〜２３において、異なる作業を実施するような場合であっても、同様に、異常が生じているか否かを判定可能となっている。この異常検出処理を実行することにより、端末４０は、異常検出部４４としての機能を備えていることとなる。
【００４８】
ところで、取得した稼働状態と基準稼働状態とを比較することにより、異常を判定しているため、１つのロボット２１〜２３からの情報では、当該異常がロボット２１〜２３自体の異常なのか、それともロボット２１〜２３以外の要因による異常なのかを特定することはできない。
【００４９】
なお、ロボット２１〜２３自体の異常とは、例えば、関節を構成する機械的要素（ギヤや軸受部材など）の劣化（傷つき）や、モータ２５等の動作不良など、ロボット２１〜２３を構成する構成要素に基づく異常のことである。一方、ロボット２１〜２３以外の要因による異常とは、例えば、ワークＷの設置位置ずれや、ベルトコンベヤ１０の故障等、ロボット２１〜２３の外部要因に基づく、異常である。つまり、ロボット２１〜２３自体が正常であったとしても、ロボット２１〜２３の外部要因によって異常が生じるものである。
【００５０】
そこで、以下のような異常特定処理を行うこととした。異常特定処理について図５に基づき説明する。異常特定処理は、端末４０により、所定周期ごとに実行される。
【００５１】
ステップＳ２１において、いずれかのロボット２１〜２３において異常が検出されたか否かを判定する。つまり、ロボット２１〜２３のうちいずれかを対象とする異常検出処理において、異常が検出されたか否かを判定する。異常が検出されていない場合には、異常特定処理を終了し、異常が検出された場合（ステップＳ２１の判定結果が肯定の場合）には、ステップＳ２２に移行する。
【００５２】
ステップＳ２２で、異常を検出した検出時刻を取得する。なお、検出時刻は、異常検出処理のステップＳ１４において、記憶部３６に記憶されているため、記憶部３６から読み出せばよい。
【００５３】
ステップＳ２３において、ワークＷが搬送されるルートにおいて、異常を検出したロボット２１〜２３よりも下流側にロボット２１〜２３が存在するか否かを判定する。具体的には、各ロボット２１〜２３に対して、ルートにおけるワークＷが流れてくる順序（作業順序）がそれぞれ対応付けられて記憶されている。端末４０は、当該作業順序に基づき、異常が検出されたロボット２１〜２３よりも下流側にロボット２１〜２３が存在するか否か、すなわち、異常が検出されたロボット２１〜２３よりも、作業順序の遅いロボット２１〜２３が存在するか否かを判定する。
【００５４】
例えば、端末４０は、最初に（ステップＳ２１で）第１ロボット２１において異常が検出された場合、第１ロボット２１よりも作業順序が遅い第２ロボット２２、第３ロボット２３が存在すると判定する（肯定判定する）。また、端末４０は、最初に第２ロボット２２において異常が検出された場合、第２ロボット２２よりも作業順序が遅い第３ロボット２３が存在すると判定する（肯定判定する）。一方、端末４０は、最初に第３ロボット２３において異常が検出された場合、第３ロボット２３よりも作業順序が遅いロボットは存在しないと判定する（否定判定する）。
【００５５】
下流側にロボットが存在しない場合（否定の場合）には、ステップＳ２８に移行する。一方、下流側にロボットが存在する場合（肯定の場合）には、ステップＳ２４に移行する。
【００５６】
ステップＳ２４において、端末４０は、異常が検出されたロボット２１〜２３から下流側のロボット２１〜２３までの間におけるワークＷの搬送時間に基づいて、当該下流側のロボット２１〜２３から検出される異常を有効なもの（関連する異常原因によるもの）とする有効期間を設定する。すなわち、下流側のロボット２１〜２３から異常が検出されたとしても、当該異常原因が上流側のロボット２１〜２３と関連しているとは限らない。例えば、上流側においてワークＷの設置位置ずれが発生した場合、ワークＷの搬送時間よりもはるかに長い時間経過後に異常が検出されたとしても、異常原因が関連している可能性は低い。そこで、下流側のロボット２１〜２３から検出される異常を上流側と関連する異常であるものとする有効期間を設定することとしている。なお、有効期間は、上流側のロボット２１〜２３（最初に異常が検出されたロボット２１〜２３）において生じた異常原因と同じ又は関連する原因により発生した異常であると判定可能な期間ともいえる。
【００５７】
具体的には、端末４０は、取得した検出時刻からワークＷの搬送時間を経過した時刻（到達予想時刻）を算出し、算出した到達予想時刻から所定時間経過するまでの間において有効期間を設定する。搬送時間は、例えば、各ロボット２１〜２３の設置位置から、ルートにおける上流側のロボット２１〜２３から下流側のロボット２１〜２３までの距離を算出し、算出した距離は、ベルトコンベヤ１０によるワークＷの搬送速度により除算することにより算出される。また、所定時間は、下流側のロボット２１〜２３における動作期間に応じた時間としてもよいし、当該下流側のロボット２１〜２３からさらに下流のロボット２１〜２３にワークＷが搬送されるまでの搬送時間に応じた時間としてもよい。
【００５８】
また、下流側のロボット２１〜２３が複数存在する場合、各ロボット２１〜２３についてそれぞれ有効期間を設定する。例えば、第１ロボット２１において異常が最初に検出された場合、端末４０は、第２ロボット２２までの搬送時間に基づき、第２ロボット２２から検出される異常を有効なものとする有効期間を設定する。また、第１ロボット２１において異常が最初に検出された場合、第２ロボット２２に対する有効期間とは別に、端末４０は、第３ロボット２３までの搬送時間に基づき、第３ロボット２３から検出される異常を有効なものとする有効期間を設定する。
【００５９】
ステップＳ２５において、端末４０は、ステップＳ２４において設定された有効期間内に、下流のロボット２１〜２３から異常が検出されたか否かを判定する。なお、下流側のロボット２１〜２３が複数存在する場合、それぞれ設定された有効期間内において、下流のロボット２１〜２３から異常が検出されたか否かを判定する。
【００６０】
例えば、第１ロボット２１において異常が最初に検出された場合、端末４０は、第２ロボット２２から検出される異常を有効なものとする有効期間内において、第２ロボット２２から異常が検出されたか否かを判定する。つまり、端末４０は、第２ロボット２２の異常が検出された検出時刻が、第２ロボット２２に対する有効期間内であるか否かを判定する。同様に、第１ロボット２１において異常が最初に検出された場合、端末４０は、第３ロボット２３から検出される異常を有効なものとする有効期間内において、第３ロボット２３から異常が検出されたか否かを判定する。
【００６１】
有効期間（複数の有効期間が存在する場合にはすべての有効期間）が経過しても、他のロボット２１〜２３から異常が検出されなかった場合、ステップＳ２５の判定を否定し、ステップＳ２８に移行する。一方、有効期間内に、下流のロボット２１〜２３から異常が検出された場合、ステップＳ２５の判定を肯定し、ステップＳ２６に移行する。以上のステップＳ２３〜Ｓ２５を実行することにより、端末４０は、異常判定部４５としての機能を備えていることとなる。
【００６２】
ステップＳ２６において、端末４０は、ロボット２１〜２３以外の要因による異常と特定し、その旨を記憶部３６に記憶する。そして、ステップＳ２７で、端末４０は、異常が検出されたロボット２１〜２３の生産システム１００における配置、及び異常が検出されたタイミングに基づき、異常発生場所を予測する。具体的には、最初に異常が検出されたロボット２１〜２３の設置場所と、当該ロボットで異常が検出された検出時刻に基づき、異常発生場所を予測する。
【００６３】
例えば、第１ロボット２１において最初に異常が検出された場合、第１ロボット２１における異常の検出時刻において、第１ロボット２１の設置場所付近が異常発生場所であると予測する。これにより、検出時刻において、第１ロボット２１の前を通過するワークＷの設置位置、又は第１ロボット２１前のベルトコンベヤ１０において異常発生の可能性があることを予測することができる。
【００６４】
また、ステップＳ２７において、端末４０は、最初に異常が検出されたタイミング（検出時刻）におけるロボット２１〜２３の姿勢（関節の回転位置情報）に基づき、異常発生原因を予測する。例えば、ワークＷをつかむにもかかわらず、ワークＷをつかむような姿勢でなかった場合、ワークＷの設置位置ずれが生じていたと予測する。
【００６５】
ステップＳ２７を実行することにより、端末４０は、異常発生場所を予測する場所予測部４６としての機能を備えることとなる。また、ステップＳ２７を実行することにより、端末４０は、異常発生原因を予測する原因予測部４７としての機能を備えることとなる。ステップＳ２７を実行すると、ステップＳ３０に移行する。
【００６６】
ステップＳ２８において、端末４０は、ロボット自体の要因による異常と特定する。そして、ステップＳ２９において、端末４０は、異常が検出されたロボット２１〜２３の動作プログラムに基づき、異常が検出されたタイミング（検出時刻）においてロボット２１〜２３に指示した命令を特定する。そして、端末４０は、ロボット２１〜２３を構成する機械的要素のうち、特定した前記命令に関係する機械的要素に異常が生じたことを推定する。
【００６７】
例えば、検出時刻においてワークＷをつかむ命令がなされていた場合、ワークＷをつかむ動作に関連する機械的要素に異常が生じたことを推定する。同様に、検出時刻においてアームを移動させる命令がなされていた場合、当該アームを移動させる動作に関連する機械的要素に異常が生じたことを推定する。ステップＳ２９を実行することにより、端末４０は、異常が生じた機械的要素を推定する推定部４８としての機能を備えることとなる。ステップＳ２９を実行すると、ステップＳ３０に移行する。
【００６８】
ステップＳ３０では、特定結果についての報知を端末４０の表示部４２に実行させる。なお、報知は必ずしも表示部４２を用いて行う必要はない。例えば、端末４０に音声を出力するスピーカ等の音声出力部を設け、その音声出力部から出力される音声により報知を行ってもよい。また、端末４０に光を発する発光部を設け、その発光部からの光によって報知を行ってもよい。
【００６９】
具体的には、ロボット２１〜２３自体に異常があるのか、それとも、ロボット２１〜２３以外の要因による異常が発生しているかについて報知される。また、ロボット２１〜２３自体に異常があると特定された場合、ステップＳ２９において特定された異常が生じていると推定される機械的要素が報知される。また、ロボット２１〜２３以外の要因による異常が発生していると特定される場合、ステップＳ２７において、予測された異常発生場所や異常発生原因が報知される。
【００７０】
ステップＳ３０を実行すると、異常特定処理を終了する。前述したように、異常特定処理のステップＳ２８において、端末４０は、異常が検出されたロボット自体の異常であると特定する一方、ステップＳ２６において、異常が検出されたロボット以外の要因による異常であると特定する。このため、本実施形態の端末４０は、異常特定部４９としての機能を備えていることとなる。
【００７１】
以上、詳述した本実施形態の構成によれば、以下の優れた効果が得られる。
【００７２】
・ロボット２１〜２３以外の要因による異常が発生した場合、１体のロボット２１〜２３だけでなく、生産システム１００を構成する複数台のロボット２１〜２３から異常を検出すると考えられる。そこで、上記構成では、端末４０により複数台のロボット２１〜２３のうち、いずれかのロボット２１〜２３において異常が検出された場合、端末４０は、生産システム１００における他のロボット２１〜２３においても異常が検出されたか否かを判定する。また、他のロボット２１〜２３において異常が検出されなかった場合、端末４０は、異常が検出されたロボット２１〜２３自体の異常であると特定する。その一方、端末４０は、他のロボット２１〜２３においても異常が検出された場合には、異常が検出されたロボット２１〜２３以外の要因による異常であると特定する。これにより、端末４０は、ロボット２１〜２３において異常が検出された場合、その異常の原因が、ロボット２１〜２３自体の異常であるか、それともロボット２１〜２３以外の要因による異常であるかを適切に特定することができる。
【００７３】
・ワークＷは、ベルトコンベヤ１０によって予め定められたルートに従って上流から下流へと搬送され、ロボット２１〜２３は、ルートの予め決められた地点において作業を実施する。このため、ロボット２１〜２３以外の要因による異常が発生していた場合、最初に異常が検出されたロボット２１〜２３よりも、下流側のロボット２１〜２３においても異常が検出されることが想定される。そこで、端末４０は、いずれかのロボット２１〜２３に異常が検出された場合、前記ルートにおいて、異常が検出されたロボット２１〜２３よりも、下流側のロボット２１〜２３において異常が検出されるか否かを判定することとした。これにより、適切に異常原因を特定することができる。
【００７４】
・ワークＷなどに異常が生じている場合、異常が検出されたロボット２１〜２３から、その下流側のロボット２１〜２３までの間におけるワークＷの搬送時間経過後に、当該下流側のロボット２１〜２３から異常が検出されると考えられる。その一方で、当該搬送時間経過前においては、ワークＷなどに異常が生じている場合であっても、下流側のロボット２１〜２３から異常が検出されない可能性が高い。また、当該搬送時間経過前において下流側のロボット２１〜２３から異常が検出された場合、異常の原因が異なる可能性が高い。そこで、端末４０は、搬送時間に基づいて有効期間を設定し、当該有効期間において、下流側のロボット２１〜２３から異常が検出されるか否かを判定することとした。これにより、より適切に異常原因を特定することができる。
【００７５】
・端末４０は、所定の教示期間において取得された各ロボット２１〜２３の基準稼働状態と、作業時に取得された各ロボット２１〜２３の稼働状態との比較に基づき、各ロボット２１〜２３の異常を検出する。これにより、ロボット２１〜２３自体に異常が生じた場合と、ロボット２１〜２３以外の要因で異常が生じた場合のいずれであっても、異常を検出することができる。また、ワークＷに対してロボット２１〜２３が行う作業がロボット２１〜２３ごとに異なっていた場合であっても、ロボット２１〜２３における異常をそれぞれ検出できる。
【００７６】
・端末４０は、異常が検出されたロボット２１〜２３の動作プログラムに基づき、異常が検出されたタイミング（検出時刻）においてロボット２１〜２３に指示した命令を特定する。そして、端末４０は、ロボット２１〜２３を構成する機械的要素のうち、特定した命令に関係する機械的要素に異常が生じたことを推定する。これにより、異常が生じた可能性の高いロボット２１〜２３の機械的要素を推定することができる。このため、より迅速に異常原因を特定することが可能となる。
【００７７】
・端末４０は、異常が検出されたロボット２１〜２３の生産システム１００内における配置、及び異常が検出されたタイミングに基づき、異常発生場所を予測する。これにより、異常が発生したワークＷ又はベルトコンベヤ１０の箇所など、異常発生場所を迅速に予測することができる。また、端末４０は、異常が検出されたタイミングにおけるロボット２１〜２３の姿勢に基づき、異常発生原因を予測する。これにより、異常の発生原因を迅速に予測することができる。
【００７８】
異常診断システム２００は、ワークＷがベルトコンベヤ１０によって搬送されている間に、当該ワークＷに対してそれぞれ作業を実施する複数台のロボット２１〜２３と、端末４０と、を備えた。この異常診断システム２００により、ロボット２１〜２３において異常が検出された場合、その異常の原因が、ロボット２１〜２３自体の異常であるか、それともロボット２１〜２３以外の要因による異常であるかを適切に特定することができる。
【００７９】
本発明は上記実施形態に限らず、例えば次のように実施されてもよい。
【００８０】
上記実施形態において、稼働状態を電流値の波形により特定したが、これ以外の方法で特定してもよい。例えば、モータ２５は、位置検出部３７（エンコーダ）により検出される関節の回転位置に基づいて、フィードバック制御（速度フィードバック制御）が実施される。そこで、その速度フィードバックを行う際の目標速度に基づきモータ２５の目標トルクを算出し、その算出した目標トルクによる遷移波形に基づき上記の稼働状態を検出（取得）するようにしてもよい。
【００８１】
さらに、関節に振動を検出する振動センサを設け、その振動センサにより関節を回転駆動する際に、発生する振動の波形を上記の稼働状態として検出するようにしてもよい。
【００８２】
上記実施形態では、６つの関節を有する６軸ロボットに本発明を適用したが、５軸ロボットや４軸ロボット等、その他の多関節型ロボットに本発明を適用してもよい。また、関節を１つだけ有する１軸ロボットに本発明を適用してもよい。
【００８３】
上記実施形態において、端末４０が備えている機能の一部又は全部をロボット２１〜２３に備えてもよい。この場合、各ロボット２１〜２３間において通信可能に接続されることが必要となる。
【００８４】
上記実施形態において、生産システム１００を構成するロボット２１〜２３の数及び配置を任意に変更してもよい。
【００８５】
上記実施形態のステップＳ２２において、取得した稼働状態と基準稼働状態とを比較する際、比率を算出したが、比較方法を任意に変更してもよい。例えば、差分を算出してもよい。
【００８６】
上記実施形態の生産システム１００において、複数台のロボット２１〜２３がワークＷに対して作業を行うならば、作業内容を変更してもよい。すなわち、ワークＷを組み立てる作業だけでなく、他の作業が含まれていてもよい。例えば、ワークＷの検査や選別を行う作業が含まれていてもよい。また、ワークＷの場所を移動させる作業が含まれていてもよい。ワークＷを分解する作業が含まれていてもよい。ワークＷに対する折り曲げ、溶接、ねじ止めなどの作業が含まれていてもよい。
【００８７】
上記実施形態では、ベルトコンベヤ１０によるワークＷの搬送時間に基づいて設定された有効期間内に、異常が検出されたか否かを判定したが、このような判定をしなくてもよい。例えば、異常が検出された後に、所定時間内に、他のロボット２１〜２３から異常が検出したか否かを判定してもよい。また、異常が検出された後に、異常が検出されたロボット２１〜２３よりも下流側における他のロボット２１〜２３から異常が検出したか否かを判定してもよい。
【００８８】
上記実施形態において、下流側のロボット２１〜２３においても異常が検出されたか否かを判定したが、下流側のロボット２１〜２３に限らず、上流側のロボット２１〜２３においても異常が検出されたか否かを判定してもよい。
【００８９】
上記実施形態において、到達予想時刻から所定時間が経過するまでの間に有効期間を設定していたが、到達予想時刻を基準として、有効期間を設定してもよい。例えば、到達予想時刻を中心とした前後の期間において、有効期間を設定してもよい。
【００９０】
上記実施形態において、端末４０は、ロボット２１〜２３自体の要因による異常であると判定した場合に、最初に異常が検出されたタイミング（検出時刻）におけるロボット２１〜２３の姿勢に基づき、異常発生原因を予測してもよい。
【００９１】
上記実施形態において、ステップＳ２７を省略して、異常発生場所又は異常発生原因を予測しなくてもよい。また、ステップＳ２９を省略して、異常が生じた可能性がある機械的要素を推定しなくてもよい。
【符号の説明】
【００９２】
１０…ベルトコンベヤ、２１…第１ロボット、２２…第２ロボット、２３…第３ロボット、４０…端末、４４…異常検出部、４５…異常判定部、４９…異常特定部、１００…生産システム、２００…異常診断システム。
【図１】
2019058999.tif 000003
【図２】
2019058999.tif 000004
【図３】
2019058999.tif 000005
【図４】
2019058999.tif 000006
【図５】
2019058999.tif 000007