(57)【要約】      （修正有）【課題】作業装置の駆動源に対する故障診断の精度を高める技術を提供する。【解決手段】診断装置は、駆動対象物、駆動対象物を第１方向に移動させるように構成された第１駆動源、及び第１方向への移動を打ち消す第２方向に駆動対象物を移動させるように構成された第２駆動源を備える作業装置に対して、第１駆動源により第１方向に駆動対象物を移動させるように指示している間に、第２駆動源により第２方向に駆動対象物を移動させるように指示し（Ｓ１０１）、駆動対象物を移動させようと第１駆動源を動作させている間に、第１駆動源の動作を計測することで得られる計測データを収集し（Ｓ１０２）、収集された計測データを利用して（Ｓ１０３）、第１駆動源の状態を診断する（Ｓ１０４）。【選択図】図７
2019070579.tif 000002
【特許請求の範囲】
【請求項１】
駆動対象物、前記駆動対象物を第１方向に移動させるように構成された第１駆動源、及び前記第１方向への移動を打ち消す第２方向に前記駆動対象物を移動させるように構成された第２駆動源を備える作業装置に対して、前記第１駆動源により前記第１方向に前記駆動対象物を移動させるように指示している間に、前記第２駆動源により前記第２方向に前記駆動対象物を移動させるように指示する動作指示部と、
前記駆動対象物を移動させようと前記第１駆動源を動作させている間に、前記第１駆動源の動作を計測することで得られる計測データを収集するデータ収集部と、
収集された前記計測データを利用して、前記第１駆動源の状態を診断する診断部と、
を備える、
診断装置。
【請求項２】
前記第１駆動源は、モータと、モータにより駆動されるように構成されたプーリと、プーリにより駆動されるように構成された歯付きベルトと、を備え、前記歯付きベルトの回転により前記駆動対象物を移動させるように構成され、
前記診断部は、前記第１駆動源の前記歯付きベルトに異常が発生したか否かを診断する、
請求項１に記載の診断装置。
【請求項３】
前記計測データは、前記モータの速度を示す速度データ及び前記モータのトルクを示すトルクデータにより構成される、
請求項２に記載の診断装置。
【請求項４】
前記第１駆動源及び前記第２駆動源は、前記駆動対象物を上下方向に移動させるように構成され、
前記動作指示部は、
前記第１駆動源により前記第１方向として上方向に前記駆動対象部を移動させるように指示する場合、前記第２駆動源により前記第２方向として下方向に前記駆動対象物を移動させるように指示し、
前記第１駆動源により前記第１方向として下方向に前記駆動対象部を移動させるように指示する場合、前記第２駆動源により前記第２方向として上方向に前記駆動対象物を移動させるように指示する、
請求項１から３のいずれか１項に記載の診断装置。
【請求項５】
前記駆動対象物は、第１リンク部材であり、
前記作業装置は、前記第１リンク部材の端部に設けられた第１軸と、第１端部及び第２端部を有する第２リンク部材であって、当該第１端部において前記第１軸を介して前記第１リンク部材に連結された第２リンク部材と、前記第２リンク部材の前記第２端部に設けられた第２軸と、を更に備え、
前記第１駆動源は、前記第１軸を中心に前記第１リンク部材を左回り及び右回りに回転させるように構成され、
前記第２駆動源は、前記第２軸を中心に前記第２リンク部材を介して前記第１リンク部材を左回り及び右回りに回転させるように構成され、
前記動作指示部は、
前記第１駆動源により前記第１方向として左回り方向に前記第１リンク部材を回転させるように指示する場合、前記第２駆動源により前記第２方向として右回り方向に前記第１リンク部材を回転させるように指示し、
前記第１駆動源により前記第１方向として右回り方向に前記第１リンク部材を回転させるように指示する場合、前記第２駆動源により前記第２方向として左回り方向に前記第１リンク部材を回転させるように指示する、
請求項１から３のいずれか１項に記載の診断装置。
【請求項６】
コンピュータが、
駆動対象物、前記駆動対象物を第１方向に移動させるように構成された第１駆動源、及び前記第１方向への移動を打ち消す第２方向に前記駆動対象物を移動させるように構成された第２駆動源を備える作業装置に対して、前記第１駆動源により前記第１方向に前記駆動対象物を移動させるように指示している間に、前記第２駆動源により前記第２方向に前記駆動対象物を移動させるように指示するステップと、
前記駆動対象物を移動させようと前記第１駆動源を動作させている間に、前記第１駆動源の動作を計測することで得られる計測データを収集するステップと、
収集された前記計測データを利用して、前記第１駆動源の状態を診断するステップと、
を実行する、
診断方法。
【請求項７】
コンピュータに、
駆動対象物、前記駆動対象物を第１方向に移動させるように構成された第１駆動源、及び前記第１方向への移動を打ち消す第２方向に前記駆動対象物を移動させるように構成された第２駆動源を備える作業装置に対して、前記第１駆動源により前記第１方向に前記駆動対象物を移動させるように指示している間に、前記第２駆動源により前記第２方向に前記駆動対象物を移動させるように指示するステップと、
前記駆動対象物を移動させようと前記第１駆動源を動作させている間に、前記第１駆動源の動作を計測することで得られる計測データを収集するステップと、
収集された前記計測データを利用して、前記第１駆動源の状態を診断するステップと、
を実行させるための、
診断プログラム。
【請求項８】
駆動対象物、前記駆動対象物を第１方向に移動させるように構成された第１駆動源、及び前記第１方向への移動を打ち消す第２方向に前記駆動対象物を移動させるように構成された第２駆動源を備える作業装置に対して、前記第１駆動源により前記第１方向に前記駆動対象物を移動させるように指示している間に、前記第２駆動源により前記第２方向に前記駆動対象物を移動させるように指示する動作指示部と、
前記駆動対象物を移動させようと前記第１駆動源を動作させている間に、前記第１駆動源の動作を計測することで得られる計測データを収集するデータ収集部と、
を備える、
データ収集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、診断装置、診断方法、及び診断プログラムに関する。
【背景技術】
【０００２】
特許文献１では、歯付きベルトの寿命を理論式に従って予測する方法が提案されている。具体的には、特許文献１で提案されている方法では、まず、曲げストレス、圧縮ストレス、及びせん断ストレスに関連したパラメータをそれぞれ算出する。次に、算出した各パラメータを用いて等価寿命サイクル数を算出する。そして、算出した各等価寿命サイクル数をマイナー則に従って結合することで、歯付きベルトの走行可能サイクル数を算出する。この方法によれば、複数種類のストレスが複合的に作用して歯付きベルトが寿命に至る場合であっても、当該歯付きベルトの寿命を予測することができる。
【０００３】
一般的に、何らかの作業を行う作業装置の構成要素（例えば、歯付きベルト）を、特許文献１のような方法で故障の発生が予測される時期に交換するメンテナンス方式は、ＴＢＭ（Time Based Maintenance）方式と呼ばれている。このＴＢＭ方式で定期的にメンテナンスを行う場合には、次のような問題が生じ得る。
【０００４】
すなわち、メンテナンスの対象物を利用する現場では、環境の変化、予測不能な事態の発生等に起因して、理論通りに対象物の摩耗が生じるとは限らない。そのため、理論式で算出した寿命直前で対象物を交換するのではなく、このような予測不能な現象の発生を考慮して、理論式で算出した寿命よりも早めに対象物を交換することが行われる。したがって、余地を確保する分だけ対象物を過剰に交換することになり、メンテナンスのコストが増大してしまうという問題点がある。
【０００５】
また、確保した余地を超えて寿命が低減してしまい、メンテナンスよりも前に対象物が故障してしまった場合には、故障してから交換を行うまでの間、対象物を含む作業装置は、動作不良の状態で稼働することになる。これにより、作業装置が、製品の生産に関する装置であるケースでは、大量の不良品が発生してしまう可能性があり、不経済であるという問題点がある。
【０００６】
このようなＴＢＭ方式のメンテナンスの欠点を解消する方法として、作業装置の状態を検査し、所定の基準に達した構成要素を交換するＣＢＭ（Condition Based Maintenance）方式のメンテナンス方法がある。例えば、特許文献２では、第１の時系列データと第２の時系列データとを取得し、取得した第２の時系列データに基づいて第１の時系列データから第１のデータを抽出し、抽出した第１のデータに基づいてロボットの異常診断を行う方法が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−０７１５２１号公報
【特許文献２】特開２０１６−１７９５２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ＣＢＭ方式のメンテナンス方法によれば、その時点で対象物に故障が発生しているか否かを診断することができるため、対象物の過剰な交換を抑制することができ、メンテナンスのコストを低減することができる。また、対象物の状態に基づいて故障の発生を検知することができるようになるため、動作不良の状態で作業装置が稼動する時間を低減することができる。しかしながら、本件発明者らは、例えば、歯付きベルト等で構成される駆動源により駆動される駆動対象物であって、可動範囲が制限されている駆動対象物を備える作業装置についてＣＢＭ方式でメンテナンスを行う場合には、次のような問題が生じ得ることを見出した。
【０００９】
すなわち、作業装置の駆動源の診断には、当該駆動源の動作を計測することで得られる計測データが用いられる。例えば、周波数解析等の手法で当該計測データを解析することにより、駆動源に故障が生じているか否かを診断することができる。しかしながら、駆動対象物の可動範囲が制限されている場合には、故障の診断に十分な量の計測データが得られる前に、駆動対象物が可動範囲のリミットに到達してしまい、駆動源をそれ以上動作させられない可能性がある。これによって、故障の診断に十分な量の計測データが取得できず、当該計測データの解析が不適切になってしまい、駆動源の故障の推定精度が低下してしまうという問題が生じ得ることを本件発明者らは見出した。
【００１０】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、作業装置の駆動源に対する故障診断の精度を高める技術を提供することである。
【課題を解決するための手段】
【００１１】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【００１２】
すなわち、本発明の一側面に係る診断装置は、駆動対象物、前記駆動対象物を第１方向に移動させるように構成された第１駆動源、及び前記第１方向への移動を打ち消す第２方向に前記駆動対象物を移動させるように構成された第２駆動源を備える作業装置に対して、前記第１駆動源により前記第１方向に前記駆動対象物を移動させるように指示している間に、前記第２駆動源により前記第２方向に前記駆動対象物を移動させるように指示する動作指示部と、前記駆動対象物を移動させようと前記第１駆動源を動作させている間に、前記第１駆動源の動作を計測することで得られる計測データを収集するデータ収集部と、収集された前記計測データを利用して、前記第１駆動源の状態を診断する診断部と、を備える。
【００１３】
当該構成に係る作業装置は、２つの駆動源を備えている。第１駆動源は、駆動対象物を第１方向に移動させるように構成される。第２駆動源は、第１方向への移動を打ち消すような方向である第２方向に駆動対象物を移動させるように構成される。当該構成に係る診断装置は、このような作業装置に対して、第１駆動源により第１方向に駆動対象物を移動させるように指示している間に、第２駆動源により第２方向に駆動対象物を移動させるように指示する。これにより、第２駆動源により駆動対象物を第２方向に移動させる分だけ、第１駆動源による駆動対象物の第１方向への移動を打ち消し、当該第１駆動源の動作時間（駆動量）を増やすことができる。
【００１４】
すなわち、例えば、駆動対象物を第１方向にある一定量の距離だけ相対的に移動させる場合に、第１駆動源単体で駆動対象物を移動させるケースと比べて、第２駆動源により駆動対象物を第２方向に移動させる分だけ、駆動対象物を第１方向に移動させることのできる量が多くなり、第１駆動源の動作時間（駆動量）を増やすことができる。つまり、駆動対象物の第１方向への移動量に対して、第１駆動源の動作を計測することで得られる計測データの量を増大させることができる。したがって、当該構成によれば、作業装置の駆動源の状態を診断するのに十分な量の計測データを取得することができるようになるため、当該駆動源に対する故障診断の精度を高めることができる。
【００１５】
なお、「作業装置」は、第１方向及び第２方向それぞれに駆動対象物を駆動するように構成された各駆動源を有し、何らかの作業を行うように構成されたものであれば特に限定されなくてもよい。作業装置は、例えば、マウンタ、スカラロボット、多関節ロボット等であってよい。「駆動対象物」は、駆動源により移動させられるものであれば特に限定されなくてもよく、例えば、ロボットのリンク部材等であってよい。「駆動源」は、駆動対象物を駆動可能であれば特に限定されなくてもよい。この駆動源は、駆動対象物の種類に応じて適宜選択されてよく、例えば、歯付きベルトを含む駆動源、ハーモニックドライブ（登録商標）等であってよい。「計測データ」は、駆動源の故障の診断に利用可能な何らかのデータであればよい。この計測データは、駆動源の種類に応じて適宜選択されてよく、例えば、速度データ、トルクデータ、位置データ、角速度データ等であってよい。
【００１６】
また、第１方向及び第２方向はそれぞれ、直線方向、回転方向、又はこれらの方向の組み合わせで構成されてよい。ここで、第２方向は、第１方向とは反対方向に駆動対象物を移動させる成分を含んでいるのであれば、当該第１方向に対して完全な反対方向になっていなくてもよい。例えば、直線軸の正の方向を第１方向とした場合に、第２方向は、直線軸の負の方向であるのが好ましい。しかしながら、第２方向は、この直線軸の負の方向に限定されなくてもよく、直線軸の負の方向の成分を有しているのであれば、当該直線軸から外れる方向であってもよい。更に、第１方向及び第２方向が回転方向で構成される場合に、第１方向の回転軸と第２方向の回転軸とは、同軸であってもよいし、同軸でなくてもよい。更に、第２方向が第１方向の反対方向である場合に、駆動対象物は、第１駆動源及び第２駆動源の両方により駆動される際には、見かけ上、第１方向に移動するように構成されてもよいし、第２方向に移動するように構成されてもよいし、停止するように構成されてもよい。
【００１７】
上記一側面に係る診断装置において、前記第１駆動源は、モータと、モータにより駆動されるように構成されたプーリと、プーリにより駆動されるように構成された歯付きベルトと、を備え、前記歯付きベルトの回転により前記駆動対象物を移動させるように構成されてよく、前記診断部は、前記第１駆動源の前記歯付きベルトに異常が発生したか否かを診断してもよい。当該構成によれば、歯付きベルトの異常診断の精度を向上させることができる。なお、駆動対象物の移動量に対する歯付きベルトの回転量は小さいため、駆動源の歯付きベルトを診断対象とした場合には、異常発生の診断に十分な量の計測データが取得できない可能性が高くなる。そのため、本発明により、駆動対象物の移動量に対して得られる計測データの量を増大させることは、このような歯付きベルトを利用するケースで特に有益である。
【００１８】
上記一側面に係る診断装置において、前記計測データは、前記モータの速度を示す速度データ及び前記モータのトルクを示すトルクデータにより構成されてよい。当該構成によれば、速度データ及びトルクデータを用いて、歯付きベルトの異常診断を適切に行うことができる。
【００１９】
上記一側面に係る診断装置において、前記第１駆動源及び前記第２駆動源は、前記駆動対象物を上下方向に移動させるように構成されてもよく、前記動作指示部は、前記第１駆動源により前記第１方向として上方向に前記駆動対象部を移動させるように指示する場合、前記第２駆動源により前記第２方向として下方向に前記駆動対象物を移動させるように指示し、前記第１駆動源により前記第１方向として下方向に前記駆動対象部を移動させるように指示する場合、前記第２駆動源により前記第２方向として上方向に前記駆動対象物を移動させるように指示してもよい。当該構成によれば、上下方向に駆動するように構成された駆動対象物を備える作業装置（例えば、マウンタ）において、駆動源に対する故障診断の精度を高めることができる。
【００２０】
上記一側面に係る診断装置において、前記駆動対象物は、第１リンク部材であってよく、前記作業装置は、前記第１リンク部材の端部に設けられた第１軸と、第１端部及び第２端部を有する第２リンク部材であって、当該第１端部において前記第１軸を介して前記第１リンク部材に連結された第２リンク部材と、前記第２リンク部材の前記第２端部に設けられた第２軸と、を更に備えてよく、前記第１駆動源は、前記第１軸を中心に前記第１リンク部材を左回り及び右回りに回転させるように構成されてよく、前記第２駆動源は、前記第２軸を中心に前記第２リンク部材を介して前記第１リンク部材を左回り及び右回りに回転させるように構成されてよく、前記動作指示部は、前記第１駆動源により前記第１方向として左回り方向に前記第１リンク部材を回転させるように指示する場合、前記第２駆動源により前記第２方向として右回り方向に前記第１リンク部材を回転させるように指示し、前記第１駆動源により前記第１方向として右回り方向に前記第１リンク部材を回転させるように指示する場合、前記第２駆動源により前記第２方向として左回り方向に前記第１リンク部材を回転させるように指示してもよい。当該構成によれば、複数のリンク部材で構成される作業装置（例えば、ロボット装置）において、駆動源に対する故障診断の精度を高めることができる。
【００２１】
なお、上記各形態に係る診断装置の別の態様として、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記録したコンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は化学的作用によって蓄積する媒体である。
【００２２】
例えば、本発明の一側面に係る診断方法は、コンピュータが、駆動対象物、前記駆動対象物を第１方向に移動させるように構成された第１駆動源、及び前記第１方向への移動を打ち消す第２方向に前記駆動対象物を移動させるように構成された第２駆動源を備える作業装置に対して、前記第１駆動源により前記第１方向に前記駆動対象物を移動させるように指示している間に、前記第２駆動源により前記第２方向に前記駆動対象物を移動させるように指示するステップと、前記駆動対象物を移動させようと前記第１駆動源を動作させている間に、前記第１駆動源の動作を計測することで得られる計測データを収集するステップと、収集された前記計測データを利用して、前記第１駆動源の状態を診断するステップと、を実行する、情報処理方法である。
【００２３】
また、例えば、本発明の一側面に係る診断プログラムは、コンピュータに、駆動対象物、前記駆動対象物を第１方向に移動させるように構成された第１駆動源、及び前記第１方向への移動を打ち消す第２方向に前記駆動対象物を移動させるように構成された第２駆動源を備える作業装置に対して、前記第１駆動源により前記第１方向に前記駆動対象物を移動させるように指示している間に、前記第２駆動源により前記第２方向に前記駆動対象物を移動させるように指示するステップと、前記駆動対象物を移動させようと前記第１駆動源を動作させている間に、前記第１駆動源の動作を計測することで得られる計測データを収集するステップと、収集された前記計測データを利用して、前記第１駆動源の状態を診断するステップと、を実行させるための、プログラムである。
【００２４】
また、本発明の一側面に係るデータ収集装置は、駆動対象物、前記駆動対象物を第１方向に移動させるように構成された第１駆動源、及び前記第１方向への移動を打ち消す第２方向に前記駆動対象物を移動させるように構成された第２駆動源を備える作業装置に対して、前記第１駆動源により前記第１方向に前記駆動対象物を移動させるように指示している間に、前記第２駆動源により前記第２方向に前記駆動対象物を移動させるように指示する動作指示部と、前記駆動対象物を移動させようと前記第１駆動源を動作させている間に、前記第１駆動源の動作を計測することで得られる計測データを収集するデータ収集部と、を備える。
【発明の効果】
【００２５】
本発明によれば、作業装置の駆動源に対する故障診断の精度を高める技術を提供することができる。
【図面の簡単な説明】
【００２６】
【図１】図１は、本発明が適用される場面の一例を模式的に例示する。
【図２Ａ】図２Ａは、取得される計測データの一例を模式的に例示する。
【図２Ｂ】図２Ｂは、取得される計測データの一例を模式的に例示する。
【図３】図３は、実施の形態に係るコントローラのハードウェア構成の一例を模式的に例示する。
【図４】図４は、実施の形態に係る作業装置のハードウェア構成の一例を模式的に例示する。
【図５】図５は、歯付きベルトとプーリとの噛み合いを説明するための図である。
【図６】図６は、実施の形態に係るコントローラのソフトウェア構成の一例を模式的に例示する。
【図７】図７は、実施の形態に係るコントローラの診断時の処理手順の一例を例示する。
【図８】図８は、歯付きベルトの故障の一例を説明するための図である。
【図９】図９は、駆動対象物の動作制御の変形例を模式的に例示する。
【図１０Ａ】図１０Ａは、診断対象の変形例を模式的に例示する。
【図１０Ｂ】図１０Ｂは、診断対象の変形例を模式的に例示する。
【図１１】図１１は、変形例に係るコントローラのソフトウェア構成の一例を模式的に例示する。
【発明を実施するための形態】
【００２７】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００２８】
§１  適用例
まず、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本発明の適用場面の一例を模式的に例示する。図１に例示されるとおり、本実施形態では、作業装置の動作を制御するように構成されたコントローラ１に本発明を適用した例を示す。すなわち、本実施形態に係るコントローラ１は、本発明の「診断装置」の一例である。
【００２９】
具体的に、本実施形態に係るコントローラ１により制御対象となる作業装置は、駆動対象物、第１駆動源、及び第２駆動源を備えるように構成される。第１駆動源は、駆動対象物を第１方向に移動させるように構成され、第２駆動源は、第１方向への移動を打ち消す第２方向に駆動対象物を移動させるように構成される。
【００３０】
本実施形態に係るコントローラ１は、このような作業装置に対して、第１駆動源により第１方向に駆動対象物を移動させるように指示している間に、第２駆動源により第２方向に駆動対象物を移動させるように指示する。そして、コントローラ１は、駆動対象物を移動させようと第１駆動源を動作させている間に、第１駆動源の動作を計測することで得られる計測データを収集し、収集された計測データを利用して、第１駆動源の状態を診断する。
【００３１】
作業装置は、第１方向及び第２方向それぞれに駆動対象物を駆動するように構成された各駆動源を有し、何らかの作業を行うように構成されたものであれば特に限定されなくてもよい。作業装置は、例えば、マウンタ、スカラロボット、多関節ロボット等であってよい。また、駆動対象物は、駆動源により移動させられるものであれば特に限定されなくてもよく、例えば、ロボットのリンク部材等であってよい。
【００３２】
本実施形態では、作業装置の一例としてスカラロボット２を採用した例を説明する。図１に示されるとおり、本実施形態に係るスカラロボット２は、駆動対象物として作業ユニット２０を備えている。作業ユニット２０は、シャフト２０１及びシャフト２０１の先端に取り付けられたエンドエフェクタ２０４を備えており、スカラロボット２は、第１駆動源及び第２駆動源として、このような作業ユニット２０を上下方向に移動させるための２つの駆動源（後述する第１昇降駆動部２６及び第２昇降駆動部２７）を更に備えている。
【００３３】
そこで、コントローラ１は、スカラロボット２に対して、第１駆動源により第１方向として上方向に作業ユニット２０を移動させるように指示する場合、第２駆動源により第２方向として下方向に作業ユニット２０を移動させるように指示する。また反対に、コントローラ１は、スカラロボット２に対して、第１駆動源により第１方向として下方向に作業ユニット２０を移動させるように指示する場合には、第２駆動源により第２方向として上方向に作業ユニット２０を移動させるように指示する。
【００３４】
これにより、第２駆動源により作業ユニット２０を第２方向に移動させる分だけ、第１駆動源による作業ユニット２０の第１方向への移動を打ち消し、当該第１駆動源の動作時間（駆動量）を増やすことができる。すなわち、例えば、作業ユニット２０を第１方向にある一定量の距離だけ相対的に移動させる場合に、第１駆動源単体で作業ユニット２０を移動させるケースと比べて、第２駆動源により作業ユニット２０を第２方向に移動させる分だけ、作業ユニット２０を第１方向に移動させることのできる量が多くなり、第１駆動源の駆動量を増やすことができる。つまり、作業ユニット２０の第１方向への移動量に対して、第１駆動源の動作を計測することで得られる計測データの量を増大させることができる。
【００３５】
ここで、図２Ａ及び図２Ｂを用いて、この計測データの量を増大させることができる点について詳細に説明する。図２Ａは、第１駆動源単体で作業ユニット２０を移動させたケース（１）で得られる計測データの一例を示す。図２Ｂは、第１駆動源及び第２駆動源を上記のように動作させたケース（２）で得られる計測データの一例を示す。
【００３６】
本実施形態では、第１駆動源の状態を診断するため、第１駆動源（後述するモータ２６１）の速度データ及びトルクデータが計測データとして収集される。第１駆動源に故障が発生している場合には、その故障に関する挙動が計測データ内に周期的に表れ得る。本実施形態では、定速で動作している際のトルクデータに故障に関する挙動が周期的に表れ得る。そのため、周波数解析等の手法を用いて、計測データ内にそのような挙動が存在するか否かを解析することにより、第１駆動源の状態を診断することができる。
【００３７】
ただし、作業ユニット２０の上下方向の可動範囲は、シャフト２０１の長さ、各駆動源によりシャフト２０１を駆動する方法等により制限されている。そのため、第１駆動源単体により作業ユニット２０を第１方向に移動させた場合には、故障の診断に十分な量の計測データが得られる前に、作業ユニット２０が可動範囲のリミットに到達してしまう可能性がある。
【００３８】
この場合には、図２Ａに例示されるとおり、第１駆動源を定速で動作させることのできる時間が短くなってしまい、第１駆動源を定速で動作させながら得られるトルクデータの量が少なくなってしまう。これにより、故障に関する挙動がトルクデータに周期的に表れているか否かを適切に解析することができなくなってしまう。図２Ａの例では、トルクデータに表れている挙動Ｄ１が故障に関するものであるかそれ以外（例えば、ノイズ）に関するものであるかを適切に判定することができなくなってしまう。したがって、このような十分な量のトルクデータが得られないケース（１）では、第１駆動源の故障の推定精度が低下してしまう。
【００３９】
これに対して、本実施形態では、第１駆動源によって作業ユニット２０を第１方向に駆動している間に、第２駆動源を更に稼働させることによって、第１方向への移動を打ち消す方向である第２方向に作業ユニット２０を駆動する。これにより、第１駆動源単体で作業ユニット２０を駆動する上記のケース（１）と比べて、第２駆動源により第２方向に作業ユニット２０を移動させる分だけ、第１駆動源により作業ユニット２０を第１方向に移動させることのできる量を増やすことができる。すなわち、上記のケース（１）と本ケース（２）とで作業ユニット２０を第１方向に同じ距離だけ移動させるとした場合に、上記のケース（１）と比べて、本ケース（２）では、第２駆動源が動作する分だけ、第１駆動源の動作時間を長くすることができる。
【００４０】
そのため、本実施形態では、図２Ｂに例示されるように、第１駆動源を定速で動作させることのできる時間を長くすることができ、これによって、第１駆動源を定速で動作させながら得られるトルクデータの量を増大させることができる。例えば、図２Ｂの例では、第１駆動源を定速で動作させながら得られるトルクデータの量を、故障に関する挙動Ｄ２が当該トルクデータに周期的に３回表れる程度に増大させることができる。したがって、本実施形態によれば、スカラロボット２の駆動源の状態を診断するのに十分な量の計測データを取得することができるようになるため、当該駆動源に対する故障診断の精度を高めることができる。
【００４１】
§２  構成例
［ハードウェア構成］
＜コントローラ＞
次に、図３を用いて、本実施形態に係るコントローラ１のハードウェア構成の一例について説明する。図３は、本実施形態に係るコントローラ１のハードウェア構成の一例を模式的に例示する。
【００４２】
図３に示されるとおり、本実施形態に係るコントローラ１は、制御部１１、記憶部１２、及び外部インタフェース１３が電気的に接続されたコンピュータである。なお、図３では、外部インタフェースを「外部Ｉ／Ｆ」と記載している。
【００４３】
制御部１１は、ハードウェアプロセッサであるＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含み、情報処理に応じて各構成要素を制御する。記憶部１２は、例えば、ＲＡＭ、ＲＯＭ等で構成され、制御部１１で利用される各種情報を保持する。記憶部１２は、「メモリ」の一例である。
【００４４】
本実施形態では、記憶部１２には、診断プログラム１２１が記憶されている。診断プログラム１２１は、スカラロボット２の駆動源の状態を診断する後述の情報処理（図７）をコントローラ１に実行させるためのプログラムである。詳細は後述する。
【００４５】
外部インタフェース１３は、外部装置と接続するためのインタフェースであり、接続する外部装置に応じて適宜構成される。本実施形態では、コントローラ１は、この外部インタフェース１３を介してスカラロボット２に接続される。
【００４６】
なお、コントローラ１の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部１１は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、ＦＰＧＡ（field-programmable gate array）等で構成されてよい。記憶部１２は、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置で構成されてもよい。コントローラ１は、ネットワークを介して他の装置とデータ通信を行うための通信モジュールを更に備えてもよい。コントローラ１は、複数台の情報処理装置で構成されてもよい。また、コントローラ１は、提供されるサービス専用に設計された情報処理装置の他、汎用のデスクトップＰＣ（Personal Computer）、タブレットＰＣ等であってもよい。
【００４７】
また、コントローラ１は、記憶媒体に記憶されたデータを読み込むためのドライブ装置等に接続されてもよい。この場合、上記診断プログラム１２１は、記憶媒体を介して提供されてもよい。また、コントローラ１にドライブ装置が接続される場合、上記診断プログラム１２１は、記憶媒体に記憶されていてもよい。記憶媒体は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。記憶媒体は、例えば、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）、フラッシュメモリ等である。
【００４８】
＜スカラロボット＞
次に、図４を用いて、本実施形態に係るスカラロボット２のハードウェア構成の一例について説明する。図４は、本実施形態に係るスカラロボット２のハードウェア構成の一例を模式的に例示する。
【００４９】
本実施形態に係るスカラロボット２は、いわゆる水平多関節型であり、作業ユニット２０、基台２１、第１アーム部２２、第２アーム部２３、第１回転駆動部２４、第２回転駆動部２５、第１昇降駆動部２６、及び第２昇降駆動部２７を備えている。図４に示されるとおり、本実施形態では、作業ユニット２０は第２アーム部２３に取り付けられており、第２アーム部２３は第１アーム部２２に連結されており、第１アーム部２２は基台２１に連結されている。以下では、説明の便宜のため、作業ユニット２０を取り付けられている側を先端側と称し、それとは反対の基台２１側を後端側と称する。
【００５０】
第１アーム部２２は、後端側から先端側に延びており、互いに対向する先端部２２１及び後端部２２２を有している。同様に、第２アーム部２３は、後端側から先端側に延びており、互いに対向する先端部２３１及び後端部２３２を有している。第１アーム部２２は、後端部２２２において基台２１に連結されており、先端部２２１において第２アーム部２３に連結されている。
【００５１】
第１アーム部２２の後端部２２２側には、第１回転駆動部２４が設けられている。第１回転駆動部２４は、上下方向に延びる回転軸２４２を介して互いに連結されたモータ２４１及び減速機２４３を備えている。減速機２４３は、例えば、ハーモニックドライブ（登録商標）である。本実施形態では、モータ２４１は基台２１に収容され、減速機２４３は第１アーム部２２の後端部２２２側に収容されている。第１アーム部２２の後端部２２２は基台２１の上方に配置され、第１アーム部２２の後端部２２２と基台２１とは回転軸２４２を介して連結されている。そして、モータ２４１の回転軸２４２は減速機２４３の入力軸に取り付けられており、減速機２４３の回転は第１アーム部２２に伝達されるように構成されている。これによって、第１回転駆動部２４は、回転軸２４２周りに第１アーム部２２を駆動可能に構成されている。すなわち、第１回転駆動部２４は、回転軸２４２を中心に第１アーム部２２を介して第２アーム部２３を左回り及び右回りに回転させるように構成されている。
【００５２】
また、第２アーム部２３の後端部２３２側には、第２回転駆動部２５が設けられている。第２回転駆動部２５は、第１回転駆動部２４と同様に、回転軸２５２を介して互いに連結されたモータ２５１及び減速機２５３を備えている。減速機２５３は、例えば、ハーモニックドライブ（登録商標）である。本実施形態では、モータ２５１は第１アーム部２２の先端部２２１側に収容され、減速機２５３は第２アーム部２３の後端部２３２側に収容されている。第２アーム部２３の後端部２３２は第１アーム部２２の先端部２２１の上方に配置され、第２アーム部２３の後端部２３２と第１アーム部２２の先端部２２１とは回転軸２５２を介して連結されている。そして、モータ２５１の回転軸２５２は減速機２５３の入力軸に取り付けられており、減速機２５３の回転は第２アーム部２３に伝達されるように構成されている。これによって、第２回転駆動部２５は、回転軸２５２周りに第２アーム部２３を駆動可能に構成されている。すなわち、第２回転駆動部２５は、回転軸２５２を中心に第２アーム部２３を左回り及び右回りに回転させるように構成されている。
【００５３】
作業ユニット２０は、第２アーム部２３の先端部２３１側に取り付けられている。この作業ユニット２０は、上下方向に延びるシャフト２０１、及びシャフト２０１の下端に取り付けられるエンドエフェクタ２０４を備えている。エンドエフェクタ２０４の種類は、スカラロボット２の作業内容に応じて適宜選択されてよい。シャフト２０１の上端側の外周面にはボールねじ溝が設けられており、このボールねじ溝が設けられた領域にはボールねじナット２０２が取り付けられている。また、シャフト２０１の下端側の外周面にはボールスプライン溝が設けられており、このボールスプライン溝が設けられた領域にはボールスプラインナット２０３が取り付けられている。このシャフト２０１には、例えば、ケーエスエス株式会社製のミニチュアボールねじスプライン（ＢＳＳＰ）を利用することができる。第２アーム部２３には、各ナット（２０２、２０３）を介してこのような作業ユニット２０を駆動するための第１昇降駆動部２６及び第２昇降駆動部２７が更に収容されている。
【００５４】
第１昇降駆動部２６は、回転軸２６２を有するモータ２６１、モータ２６１により駆動されるように構成されるプーリ２６３、及びプーリ２６３により駆動されるように構成される歯付きベルト２６４を備えている。これによって、第１昇降駆動部２６は、歯付きベルト２６４の回転により作業ユニット２０のシャフト２０１を上下方向に移動させるように構成されている。
【００５５】
具体的には、プーリ２６３は、モータ２６１の上方に配置されており、モータ２６１の回転軸２６２に連結されている。また、プーリ２６３は、シャフト２０１に取り付けられたボールねじナット２０２と水平方向に並列に配置されており、プーリ２６３及びボールねじナット２０２には歯付きベルト２６４が架け渡されている。
【００５６】
このような構成により、モータ２６１の回転が回転軸２６２を介してプーリ２６３に伝達されることで、プーリ２６３は回転軸２６２を中心に回転する。また、このプーリ２６３の回転が歯付きベルト２６４に伝達されることで、歯付きベルト２６４は、回転軸２６２及びシャフト２０１の軸の間で回転する。そして、歯付きベルト２６４の回転がボールねじナット２０２に伝達されることで、ボールねじナット２０２がシャフト２０１の軸周りに回転し、これによって、シャフト２０１は上下方向に移動する。すなわち、本実施形態に係る第１昇降駆動部２６は、モータ２６１の回転により、作業ユニット２０のシャフト２０１を昇降させることができるように構成されている。
【００５７】
ここで、図５を更に用いて、歯付きベルト２６４とプーリ２６３との噛合について説明する。図５は、歯付きベルト２６４とプーリ２６３との噛合状態の一例を模式的に例示する。図５に示されるとおり、歯付きベルト２６４の内周面には複数の歯２６４１が一定のピッチで設けられており、これに対応して、プーリ２６３の外周面に複数の歯２６３１が一定のピッチで設けられている。このプーリ２６３の歯２６３１と歯付きベルト２６４の歯２６４１とが噛み合っていることによって、プーリ２６３の回転を歯付きベルト２６４に伝達することができる。同様に、ボールねじナット２０２の外周面にも複数の歯が設けられており、ボールねじナット２０２の歯と歯付きベルト２６４の歯２６４１とが噛み合っていることで、歯付きベルト２６４の回転をボールねじナット２０２に伝達することができる。
【００５８】
なお、本実施形態では、ボールスプラインナット２０３が軸周りの回り止めとなる。すなわち、第１昇降駆動部２６のみを駆動した場合には、ボールねじナット２０２からシャフト２０１に伝達された軸周りの回転力はボールスプラインナット２０３により打ち消される。これにより、第１昇降駆動部２６は、作業ユニット２０のシャフト２０１を、軸周りには回転させずに、上下方向に移動させるように構成される。
【００５９】
第２昇降駆動部２７も、第１昇降駆動部２６と同様に、モータ、プーリ、及び歯付きベルトを用いて、作業ユニット２０のシャフト２０１を上下方向に移動させるように構成される。具体的には、第２昇降駆動部２７は、モータ２７１、第１回転軸２７２、第１プーリ２７３、第１歯付きベルト２７４、第２プーリ２７５、第２回転軸２７６、第３プーリ２７７、及び第２歯付きベルト２７８を備えている。第１プーリ２７３は、モータ２７１の上方に配置されており、モータ２７１の第１回転軸２７２に連結されている。第１プーリ２７３は、第２プーリ２７５と水平方向に並列に配列されており、第１プーリ２７３及び第２プーリ２７５には第１歯付きベルト２７４が架け渡されている。第２プーリ２７５の下方には第３プーリ２７７が配置されており、第２プーリ２７５と第３プーリ２７７とは第２回転軸２７６により連結されている。第３プーリ２７７は、ボールスプラインナット２０３と水平方向に並列に配置されており、第３プーリ２７７及びボールスプラインナット２０３には第２歯付きベルト２７８が架け渡されている。各歯付きベルト（２７４、２７８）と各プーリ（２７３、２７５、２７７）及びボールスプラインナット２０３とは、上記歯付きベルト２６４とプーリ２６３との噛み合いと同様に噛み合っている。
【００６０】
このような構成により、モータ２７１の回転が第１回転軸２７２を介して第１プーリ２７３に伝達されることで、第１プーリ２７３は、第１回転軸２７２を中心に回転する。この第１プーリ２７３の回転が第１歯付きベルト２７４に伝達されることで、第１歯付きベルト２７４は、第１回転軸２７２及び第２回転軸２７６の間で回転する。この第１歯付きベルト２７４の回転が第２プーリ２７５に伝達されることで、第２プーリ２７５は、第２回転軸２７６を中心に回転する。この第２プーリ２７５の回転が第２歯付きベルト２７８に伝達されることで、第２歯付きベルト２７８は、第２回転軸２７６及びシャフト２０１の軸の間で回転する。そして、第２歯付きベルト２７８の回転がボールスプラインナット２０３に伝達されることで、ボールスプラインナット２０３がシャフト２０１の軸回りに回転し、これによって、シャフト２０１は、軸周りに回転しながら、上下方向に移動する。すなわち、本実施形態に係る第２昇降駆動部２７は、モータ２７１の回転により、作業ユニット２０を軸回りに回転させながら昇降させることができるように構成されている。
【００６１】
なお、各モータ（２４１、２５１、２６１、２７１）は、エンコーダ（不図示）等を備えることで、回転速度を計測可能に構成されている。また、各モータ（２４１、２５１、２６１、２７１）に作用するトルクの大きさは、各モータ（２４１、２５１、２６１、２７１）に供給される指令電流値によって定まる。そのため、各モータ（２４１、２５１、２６１、２７１）のトルクは、各モータ（２４１、２５１、２６１、２７１）に供給される指令電流値を監視することで計測することができる。
【００６２】
以上により、スカラロボット２は、各アーム部（２２、２３）を各回転軸（２４２、２５２）周りに回転可能に、かつ第２アーム部２３において作業ユニット２０のシャフト２０１を上下方向に移動可能に構成される。なお、スカラロボット２の構成は、このような例に限定されなくてもよく、実施形態に応じて、適宜、構成要素の省略、置換及び追加が行われてよい。
【００６３】
［ソフトウェア構成］
次に、図６を用いて、本実施形態に係るコントローラ１のソフトウェア構成の一例を説明する。図６は、本実施形態に係るコントローラ１のソフトウェア構成の一例を模式的に例示する。
【００６４】
コントローラ１の制御部１１は、記憶部１２に記憶された診断プログラム１２１をＲＡＭに展開する。そして、制御部１１は、ＲＡＭに展開された診断プログラム１２１をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図６に示されるとおり、本実施形態に係るコントローラ１は、ソフトウェアモジュールとして、動作指示部１１１、データ収集部１１２、及び診断部１１３を備えるように構成される。
【００６５】
動作指示部１１１は、スカラロボット２に対して、第１駆動源により駆動対象物を第１方向に移動させるように指示している間に、第２駆動源により駆動対象物を第２方向に移動させるように指示する。データ収集部１１２は、駆動対象物を移動させようと第１駆動源を動作させている間に、当該第１駆動源の動作を計測し、これにより得られる計測データ１２２を収集する。そして、診断部１１３は、収集された計測データ１２２を利用して、第１駆動源の状態を診断する。
【００６６】
本実施形態では、作業ユニット２０を駆動対象物として取り扱い、第１昇降駆動部２６を第１駆動源として取り扱い、第２昇降駆動部２７を第２駆動源として取り扱う例を示す。すなわち、動作指示部１１１は、第１昇降駆動部２６により第１方向として上方向に作業ユニット２０を移動させるように指示する場合、第２昇降駆動部２７により第２方向として下方向に作業ユニット２０を移動させるように指示する。また、動作指示部１１１は、第１昇降駆動部２６により第１方向として下方向に作業ユニット２０を移動させるように指示する場合、第２昇降駆動部２７により第２方向として上方向に作業ユニット２０を移動させるように指示する。
【００６７】
データ収集部１１２は、第１昇降駆動部２６により作業ユニット２０を駆動している間のモータ２６１の動作を監視し、モータ２６１の速度を示す速度データ１２２１及びモータ２６１のトルクを示すトルクデータ１２２２を計測データ１２２として収集する。診断部１１３は、速度データ１２２１及びトルクデータ１２２２により構成される計測データ１２２を利用して、第１昇降駆動部２６の歯付きベルト２６４に異常が発生したか否かを診断する。
【００６８】
コントローラ１の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、コントローラ１の各ソフトウェアモジュールがいずれも汎用のＣＰＵによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、１又は複数の専用のプロセッサにより実現されてもよい。また、コントローラ１のソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換、及び追加が行われてよい。
【００６９】
§３  動作例
次に、図７を用いて、コントローラ１の動作例を説明する。図７は、スカラロボット２の状態を診断する際のコントローラ１の処理手順の一例を例示する。以下で説明する診断の処理手順は、本発明の「診断方法」の一例である。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【００７０】
（ステップＳ１０１）
まず、ステップＳ１０１では、制御部１１は、動作指示部１１１として動作し、スカラロボット２に対して、第１駆動源により第１方向に駆動対象物を移動させるように指示する。更に、制御部１１は、スカラロボット２に対して、第１駆動源により第１方向に駆動対象物を移動させるように指示している間、第２駆動源により第２方向に駆動対象物を移動させるように指示する。
【００７１】
具体的に、本実施形態では、制御部１１は、スカラロボット２に対して、第１昇降駆動部２６により上方向又は下方向に作業ユニット２０のシャフト２０１を移動させるように指示する。第１昇降駆動部２６によりシャフト２０１を上方向に移動させるように指示した場合、制御部１１は、スカラロボット２に対して、第２昇降駆動部２７によりシャフト２０１を下方向に移動させるように更に指示する。一方、第１昇降駆動部２６によりシャフト２０１を下方向に移動させるように指示した場合、制御部１１は、スカラロボット２に対して、第２昇降駆動部２７によりシャフト２０１を上方向に移動させるように更に指示する。
【００７２】
このとき、第２昇降駆動部２７の稼働時間は、第１昇降駆動部２６の稼働時間と少なくとも一部で重複するように適宜設定される。第２昇降駆動部２７の稼働時間は、第１昇降駆動部２６の稼働時間と一致させてもよいし、一致させなくてもよい。すなわち、シャフト２０１を第１方向に移動させるように第１昇降駆動部２６を稼働させている期間内の少なくとも一部の期間で、シャフト２０１を第２方向に移動させるように第２昇降駆動部２７を稼働させる、という指示を制御部１１はスカラロボット２に対して出力すればよい。
【００７３】
また、第１昇降駆動部２６及び第２昇降駆動部２７それぞれの単位時間当たりの駆動量は実施の形態に応じて適宜設定されてよい。第２昇降駆動部２７の駆動量は、第１昇降駆動部２６の駆動量よりも小さくなるように設定されてもよいし、第１昇降駆動部２６の駆動量と一致するように設定されてもよいし、第１昇降駆動部２６の駆動量よりも大きくなるように設定されてもよい。なお、本実施形態では、制御部１１は、第１昇降駆動部２６を稼働させている間、モータ２６１を定速で動作させるようにスカラロボット２を制御する。
【００７４】
両昇降駆動部（２６、２７）を共に稼働している期間、作業ユニット２０のシャフト２０１は、両昇降駆動部（２６、２７）から互いに反する方向に駆動されることになる。そのため、シャフト２０１の移動方向は、両昇降駆動部（２６、２７）の駆動量に応じて制御される。例えば、第２昇降駆動部２７の駆動量を第１昇降駆動部２６の駆動量よりも小さくなるように設定した場合には、シャフト２０１は、第１昇降駆動部２６のみで駆動されるときよりも遅い速度で、当該第１昇降駆動部２６の駆動方向である第１方向に移動するように制御される。第２昇降駆動部２７の駆動量を第１昇降駆動部２６の駆動量と一致するように設定した場合には、シャフト２０１は、その場で停止するように制御される。また、第２昇降駆動部２７の駆動量を第１昇降駆動部２６の駆動量よりも大きくなるように設定した場合には、シャフト２０１は、第２昇降駆動部２７の駆動方向である第２方向に移動するように制御される。
【００７５】
本ステップＳ１０１を開始する際のシャフト２０１の配置は、このようなシャフト２０１の移動制御に応じて、当該シャフト２０１が移動する範囲を確保可能なように適宜設定されてよい。例えば、上方向を第１方向とし、下方向を第２方向とし、第２昇降駆動部２７の駆動量を第１昇降駆動部２６の駆動量よりも小さくなるように設定した場合には、本ステップＳ１０１において、シャフト２０１は、上方向に移動するように制御される。そのため、第１昇降駆動部２６を稼働する前に、制御部１１は、シャフト２０１を可動範囲の下端に配置するようにスカラロボット２に指示してもよい。
【００７６】
（ステップＳ１０２）
次のステップＳ１０２では、制御部１１は、データ収集部１１２として動作し、駆動対象物を移動させようと第１駆動源を動作させている間に、第１駆動源の動作を計測することで得られる計測データ１２２を収集する。
【００７７】
本実施形態では、制御部１１は、上記ステップＳ１０１において第１昇降駆動部２６を稼働させている間に、当該第１昇降駆動部２６のモータ２６１の動作を計測する。これにより、制御部１１は、当該モータ２６１の速度データ１２２１及びトルクデータ１２２２を計測データ１２２として収集する。速度データ１２２１は、例えば、モータ２６１に設けられたエンコーダから収集可能である。また、トルクデータ１２２２は、例えば、モータ２６１に与えられる指令電流値に基づいて収集可能である。制御部１１は、収集した計測データ１２２をＲＡＭ又は記憶部１２に保存する。
【００７８】
（ステップＳ１０３）
次のステップＳ１０３では、制御部１１は、収集した計測データ１２２から、後述するステップＳ１０４の診断処理に利用する部分を抽出する。後述するステップＳ１０４では、第１昇降駆動部２６の歯付きベルト２６４の故障を診断する。そのため、本ステップＳ１０３では、制御部１１は、歯付きベルト２６４の診断に利用する部分を計測データ１２２から抽出する。
【００７９】
ここで、図８を用いて、歯付きベルト２６４の故障について説明する。図８は、歯付きベルト２６４の故障の一例として、プーリ２６３と噛み合う範囲内の領域２６４２において歯２６４１が欠けた場面を例示する。
【００８０】
上記図５に説明したとおり、歯付きベルト２６４の歯２６４１とプーリ２６３の歯２６３１とが噛み合っていることで、プーリ２６３の回転が歯付きベルト２６４に伝達される。同様に、歯付きベルト２６４の歯２６４１とボールねじナット２０２の歯とが噛み合っていることで、歯付きベルト２６４の回転がボールねじナット２０２に伝達される。
【００８１】
歯付きベルト２６４に歯２６４１の欠けが存在しない場合には、歯付きベルト２６４とプーリ２６３との噛み合い及び歯付きベルト２６４とボールねじナット２０２との噛み合いの関係がそれぞれ固定される。そのため、正常な状態では、モータ２６１の一定の回転に対してシャフト２０１の上下方向の移動量は一定であるため、モータ２６１の回転量に基づいて、シャフト２０１の上下方向の位置を正確に制御することができる。
【００８２】
これに対して、例えば、図８で例示されるように、プーリ２６３と噛み合う範囲で歯２６４１が欠けてしまった場合、この歯２６４１の欠けた領域２６４２において、歯付きベルト２６４とプーリ２６３との噛み合いがない状態となる。このような事態が生じると、シャフト２０１の上下方向の移動量に変化が生じてしまう。したがって、歯付きベルト２６４に歯の欠けが発生した場合には、モータ２６１の制御に基づいて、シャフト２０１を規定の位置に正確に配置するのが困難になってしまい、これによって、エンドエフェクタ２０４により行う作業に不具合が生じてしまう。そのため、歯付きベルト２６４の歯２６４１の欠けは、スカラロボット２の検知すべき故障の一つである。
【００８３】
この歯付きベルト２６４の歯２６４１の欠けに関する挙動は、図２Ｂに例示されるとおり、トルクデータ１２２２において、比較的に振幅の大きな振動として表れ得る。すなわち、モータ２６１を定速で動作させると、歯２６４１の欠けが発生している領域２６４２は、プーリ２６３と噛み合う範囲に一定のタイミングで差し掛かる。この領域２６４２がプーリ２６３と噛み合う範囲を通過する際に、上記のような噛み合いのずれ、歯（２６４１、２６３１）同士の接触不良等の噛み合いの異常が生じると、この噛み合いの異常に対応したトルクの変動がモータ２６１において発生する。このトルクの変動が、トルクデータ１２２２において、比較的に振幅の大きな振動として表れる。つまり、歯付きベルト２６４に歯２６４１の欠けが生じている場合に、モータ２６１を定速で動作させている間、トルクデータ１２２２には、図２Ｂの挙動Ｄ２のような比較的に振幅の大きな振動が周期的に表れる。
【００８４】
そこで、本ステップＳ１０３では、制御部１１は、モータ２６１が定速で動作している際に得られたトルクデータ１２２２に図２Ｂの挙動Ｄ２のような振動が存在するか否かを判定するために、例えば、次のような方法でデータ抽出を行う。すなわち、制御部１１は、まず、速度データ１２２１を参照して、モータ２６１が定速で動作していた時間を特定する。次に、制御部１１は、トルクデータ１２２２を読み出し、特定した時間に対応する部分をトルクデータ１２２２から抽出する。これにより、本実施形態では、制御部１１は、本ステップＳ１０３において、診断処理に利用する部分として、モータ２６１が定速で動作している時間帯の部分（以下、「抽出データ」とも記載する）をトルクデータ１２２２から抽出する。
【００８５】
（ステップＳ１０４）
次のステップＳ１０４では、制御部１１は、診断部１１３として動作し、計測データ１２２を利用して、第１駆動源の状態を診断する。具体的に、本実施形態では、制御部１１は、トルクデータ１２２２から抽出した抽出データを解析することで、第１昇降駆動部２６の歯付きベルト２６４に、上記歯２６４１の欠けのような異常が発生しているか否かを診断する。
【００８６】
この診断処理には、公知のデータ解析手法が用いられてよい。例えば、制御部１１は、抽出データに対して公知の周波数解析を行うことで、抽出データ内に上記のような周期的な挙動Ｄ２が存在するか否かを判定してもよい。
【００８７】
この場合、記憶部１２には、歯付きベルト２６４が正常であるときに得られたトルクデータを周波数解析した結果が保存されていてもよい。制御部１１は、ステップＳ１０３で得た抽出データに対する周波数解析の結果と記憶部１２に保存された正常時の周波数解析の結果との差分が閾値を超えるか否かにより、抽出データ内に上記のような周期的な挙動Ｄ２が存在するか否かを判定することができる。
【００８８】
抽出データ内に周期的な挙動Ｄ２が存在すると判定される場合、制御部１１は、歯付きベルト２６４に異常が発生していると診断する。一方、抽出データ内に周期的な挙動Ｄ２が存在していないと判定される場合、制御部１１は、歯付きベルト２６４に異常は発生していないと診断する。ただし、診断処理の方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【００８９】
これにより、制御部１１は、本動作例に係るスカラロボット２の診断処理を終了する。なお、制御部１１は、上記ステップＳ１０４の診断処理の結果を所定の方法で通知してもよい。例えば、上記ステップＳ１０４において歯付きベルト２６４に異常が発生していると診断した場合に、制御部１１は、ディスプレイによる画面出力、スピーカによる音声出力、電子メールの送信等の通知方法で当該診断結果を通知してもよい。
【００９０】
［作用・効果］
以上のとおり、本実施形態に係るコントローラ１は、上記ステップＳ１０１において、スカラロボット２に対して、第１昇降駆動部２６により作業ユニット２０のシャフト２０１を第１方向に移動させるように指示している間に、第２昇降駆動部２７によりシャフト２０１を、第１方向への移動を打ち消す方向である第２方向に移動させるように指示する。
【００９１】
具体的に、コントローラ１は、第１昇降駆動部２６によりシャフト２０１を上方向に移動させようと指示している場合には、第２昇降駆動部２７により当該シャフト２０１を下方向に移動させようと指示する。一方、コントローラ１は、第１昇降駆動部２６によりシャフト２０１を下方向に移動させようと指示している場合には、第２昇降駆動部２７により当該シャフト２０１を上方向に移動させようと指示する。
【００９２】
これにより、ステップＳ１０１では、第１昇降駆動部２６のみでシャフト２０１を移動させるケースに比べて、第２昇降駆動部２７によりシャフト２０１を第２方向に移動させる分だけ、第１昇降駆動部２６の駆動量を増やすことができる。すなわち、第１昇降駆動部２６のモータ２６１を定速で動作させることのできる時間を長くすることができる。
【００９３】
そのため、ステップＳ１０２では、モータ２６１の動作を計測することで得られる計測データ１２２（速度データ１２２１及びトルクデータ１２２２）の量を増大させることができる。より詳細には、図２Ｂに示されるとおり、トルクデータ１２２２における、モータ２６１が定速で動作している時間帯の部分（抽出データ）を増大させることができる。したがって、本実施形態によれば、ステップＳ１０４で行う診断処理に十分な量の計測データ１２２を取得することができるようになるため、歯付きベルト２６４の異常診断の精度を高めることができる。
【００９４】
また、本実施形態に係るコントローラ１は、第１昇降駆動部２６の歯付きベルト２６４をステップＳ１０４における診断の対象としている。モータの回転量及びシャフトの移動量に対して、歯付きベルトの回転量は少なくなる。本実施形態では、プーリ２６３とボールねじナット２０２との間の距離が長くなればなるほど、モータ２６１を１回転させたときの歯付きベルト２６４の回転量は少なくなる。そのため、歯付きベルトを診断対象とした場合には、異常発生の診断に十分な量の計測データを収集できない可能性が高くなる。これに対して、本実施形態では、第２昇降駆動部２７を稼働させる分だけ、モータ２６１の回転量及びシャフト２０１の移動量を増やすことができるため、歯付きベルト２６４の回転量を増やすことができる。よって、本実施形態によれば、歯付きベルト２６４を利用していても、上記ステップＳ１０２において、この歯付きベルト２６４の異常診断に十分な量の計測データ１２２を収集することができる。
【００９５】
§４  変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【００９６】
＜４．１＞
例えば、コントローラ１は、スカラロボット２の作業ユニット２０の可動範囲を監視するためのカメラ等のセンサを更に備えてもよい。これにより、上記ステップＳ１０１において、制御部１１は、センサの監視結果に基づいて、シャフト２０１の移動範囲を決定してもよい。そして、制御部１１は、決定したシャフト２０１の移動範囲に基づいて、第１昇降駆動部２６及び第２昇降駆動部２７の駆動量を決定してもよい。
【００９７】
図９は、本変形例の一例を模式的に例示する。図９に例示されるコントローラ１Ａは、作業ユニット２０のシャフト２０１の可動範囲を監視するためのカメラ５に接続される点を除き、上記実施形態に係るコントローラ１と同様に構成される。この場合、コントローラ１Ａの制御部１１は、上記ステップＳ１０１の前にカメラ５から撮影画像を取得し、取得した撮影画像に基づいてシャフト２０１の可動範囲の状態を特定する。そして、制御部１１は、特定した可動範囲の状態に基づいて、ステップＳ１０１でシャフト２０１を移動させる範囲を決定する。
【００９８】
図９の例では、シャフト２０１の可動範囲Ｒ１を妨げるように障害物３が配置されている。障害物３は、例えば、作業ユニット２０により作業を行う対象物（ワーク）を搬送するためのコンベア等である。この場合、制御部１１は、シャフト２０１と障害物３との間の範囲Ｒ２内でシャフト２０１の移動範囲を設定してもよい。また、範囲Ｒ２ではシャフト２０１の移動量が不十分である場合には、制御部１１は、第１回転駆動部２４及び第２回転駆動部２５の少なくとも一方を駆動して、障害物３に干渉しない位置に作業ユニット２０を配置した上で、シャフト２０１の移動範囲を設定してもよい。
【００９９】
シャフト２０１の移動範囲を設定した後、制御部１１は、ステップＳ１０１〜ステップＳ１０４の処理を実行することで、歯付きベルト２６４の診断を行う。これにより、本変形例によれば、障害物３が存在する環境で利用されるスカラロボット２であっても、当該障害物３に干渉せずに作業ユニット２０を駆動することができ、これによって、歯付きベルト２６４の異常診断を正確に行うことができる。
【０１００】
＜４．２＞
上記実施形態では、作業ユニット２０が駆動対象物であり、第１昇降駆動部２６及び第２昇降駆動部２７がそれぞれ第１駆動源及び第２駆動源である。しかしながら、駆動対象物及び駆動源は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。駆動源は、駆動対象物を駆動可能であれば特に限定されなくてもよい。
【０１０１】
また、上記実施形態では、第１昇降駆動部２６の歯付きベルト２６４がステップＳ１０４における診断処理の対象となっている。しかしながら、ステップＳ１０４における診断処理の対象は、歯付きベルト２６４に限られなくてもよく、実施の形態に応じて適宜選択されてよい。
【０１０２】
また、上記実施形態では、上方向を第１方向とした場合、第２方向は下方向であり、下方向を第１方向とした場合、第２方向は上方向である。しかしながら、第１方向及び第２方向は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。第１方向及び第２方向はそれぞれ、直線方向、回転方向、又はこれらの方向の組み合わせで構成されてよい。
【０１０３】
また、上記実施形態では、第１方向及び第２方向それぞれは上下方向のいずれかの方向であるため、第２方向は、第１方向に対して完全な反対方向になっている。しかしながら、第２方向は、このような例に限定されなくてもよく、第１方向とは反対方向に駆動対象物を移動させる成分を含んでいるのであれば、当該第１方向に対して完全な反対方向になっていなくてもよい。
【０１０４】
例えば、上記実施形態では、スカラロボット２は、第１昇降駆動部２６及び第２昇降駆動部２７の他に、第１回転駆動部２４及び第２回転駆動部２５を備えている。そこで、第２回転駆動部２５を第１駆動源として取り扱い、第１回転駆動部２４を第２駆動源として取り扱ってもよい。この場合、第２アーム部２３が駆動対象物として取り扱われる。すなわち、第２アーム部２３が、本発明の「第１リンク部材」の一例であり、第１アーム部２２が本発明の「第２リンク部材」の一例である。第１アーム部２２の先端部２２１が本発明の「第１端部」の一例であり、後端部２２２が本発明の「第２端部」の一例である。また、第２回転駆動部２５の回転軸２５２が本発明の「第１軸」の一例であり、第１回転駆動部２４の回転軸２４２が本発明の「第２軸」の一例である。
【０１０５】
この場合、上記ステップＳ１０１では、制御部１１は、第２回転駆動部２５により回転軸２５２を中心に左回り方向に第２アーム部２３を回転させるように指示する場合、第１回転駆動部２４により回転軸２４２を中心に右回り方向に第２アーム部２３を回転させるように指示する。または、制御部１１は、第２回転駆動部２５により回転軸２５２を中心に右回り方向に第２アーム部２３を回転させるように指示する場合、第１回転駆動部２４により回転軸２４２を中心に左回り方向に第２アーム部２３を回転させるように指示する。すなわち、各回転駆動部（２４、２５）は、各回転軸（２４２、２５２）を中心に第２アーム部２３を右回り（時計回り）方向及び左回り（反時計回り）方向に回転させることができるため、左回り方向を第１方向として採用した場合、右回り方向を第２方向として採用することができる。また、右回り方向を第２方向として採用した場合、左回り方向を第２方向として採用することができる。
【０１０６】
図１０Ａは、第２回転駆動部２５のみで第２アーム部２３を左回り方向に駆動した場面の一例を模式的に例示する。図１０Ｂは、第２回転駆動部２５により第２アーム部２３を左回り方向に駆動し、かつ第１回転駆動部２４により第２アーム部２３（及び第１アーム部２２）を右回り方向に駆動した場面の一例を模式的に例示する。図１０Ａ及び図１０Ｂそれぞれのケースで第２回転駆動部２５の駆動量、すなわち、第２アーム部２３の回転角度を同じであるとする。
【０１０７】
この場合、図１０Ｂのケースにおける第２アーム部２３の移動範囲Ｂは、第１回転駆動部２４により第２アーム部２３を右回り方向に駆動している分だけ、図１０Ａのケースにおける第２アーム部２３の移動範囲Ａよりも小さくなる。よって、第２回転駆動部２５単体で第２アーム部２３を移動させるケースと比べて、第１回転駆動部２４により第２アーム部２３を第２方向に移動させる分だけ、同一スペース内で第２アーム部２３を移動させることができる距離を伸ばすことができる。
【０１０８】
したがって、上記実施形態と同様に、本変形例でも、第２回転駆動部２５の動作を計測することで得られる計測データの量を増大させることができ、当該第２回転駆動部２５の故障診断の精度を高めることができる。なお、本変形例では、制御部１１は、ステップＳ１０２において、モータ２５１の速度データ及びトルクデータを計測データとして収集してもよい。そして、制御部１１は、ステップＳ１０４において、収集した計測データに基づいて、減速機２５３に故障が発生しているか否かを診断してもよい。
【０１０９】
また、例えば、上記実施形態において、第１昇降駆動部２６を第２駆動源として取り扱い、第２昇降駆動部２７を第１駆動源として取り扱ってもよい。この場合、制御部１１は、ステップＳ１０２において、モータ２７１の動作を計測することで、当該モータ２７１の速度データ及びトルクデータを計測データとして収集してもよい。そして、ステップＳ１０４において、制御部１１は、取得した計測データに基づいて、各歯付きベルト（２７４、２７８）に異常が発生しているか否かを判定してもよい。
【０１１０】
＜４．３＞
また、例えば、上記実施形態では、制御部１１は、上記ステップＳ１０２において、モータ２６１の速度データ１２２１及びトルクデータ１２２２を計測データ１２２として収集している。しかしながら、計測データの種類は、このような例に限定されなくてもよく、診断の対象及び内容に応じて適宜選択されてよい。計測データは、駆動源の故障の診断に利用可能な何らかのデータであればよく、例えば、位置データ、角速度データ等であってよい。
【０１１１】
＜４．４＞
また、例えば、上記実施形態では、制御部１１は、ステップＳ１０３の処理により、ステップＳ１０２で収集した計測データから、ステップＳ１０４の診断処理で利用する部分を抽出している。しかしながら、このようなデータ抽出が不要である場合、制御部１１は、本ステップＳ１０３の処理を省略してもよい。
【０１１２】
＜４．５＞
また、例えば、図１１に示されるとおり、コントローラ１から診断部１１３を省略し、当該コントローラ１をデータ収集装置として動作させてもよい。図１１は、データ収集装置として動作可能なコントローラ１Ａのソフトウェア構成の一例を模式的に例示する。このコントローラ１Ａは、診断部１１３を備えない点を除き、上記コントローラ１と同様に構成されてよい。また、コントローラ１Ａは、上記コントローラ１と同様のハードウェア構成を有してよい。
【０１１３】
本変形例では、コントローラ１Ａは、上記ステップＳ１０１及びＳ１０２の各処理を実行することで、計測データ１２２を収集することができる。そして、コントローラ１Ａは、他の情報処理装置に上記ステップＳ１０３及びＳ１０４の処理を実行させるために、当該他の情報処理装置に収集した計測データ１２２を送信してもよい。
【符号の説明】
【０１１４】
１…コントローラ、
１１…制御部、１２…記憶部、１３…外部インタフェース、
１１１…動作指示部、１１２…データ収集部、１１３…診断部、
１２１…診断プログラム、
１２２…計測データ、
１２２１…速度データ、１２２２…トルクデータ、
２…スカラロボット、
２０…作業ユニット、
２０１…シャフト、２０２…ボールねじナット、
２０３…ボールスプラインナット、２０４…エンドエフェクタ、
２１…基台、
２２…第１アーム部、
２２１…先端部、２２２…後端部、
２３…第２アーム部、
２３１…先端部、２３２…後端部、
２４…第１回転駆動部、
２４１…モータ、２４２…回転軸、
２４３…減速機、
２５…第２回転駆動部、
２５１…モータ、２５２…回転軸、
２５３…減速機、
２６…第１昇降駆動部、
２６１…モータ、２６２…回転軸、
２６３…プーリ、２６３１…歯、
２６４…歯付きベルト、２６４１…歯、
２７…第２昇降駆動部、
２７１…モータ、２７２…第１回転軸、２７３…第１プーリ、
２７４…第１歯付きベルト、
２７５…第２プーリ、２７６…第２回転軸、
２７７…第３プーリ、２７８…第２歯付きベルト、
３…障害物、５…カメラ
【図１】
2019070579.tif 000003
【図２Ａ】
2019070579.tif 000004
【図２Ｂ】
2019070579.tif 000005
【図３】
2019070579.tif 000006
【図４】
2019070579.tif 000007
【図５】
2019070579.tif 000008
【図６】
2019070579.tif 000009
【図７】
2019070579.tif 000010
【図８】
2019070579.tif 000011
【図９】
2019070579.tif 000012
【図１０Ａ】
2019070579.tif 000013
【図１０Ｂ】
2019070579.tif 000014
【図１１】
2019070579.tif 000015