(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-07
(45)【発行日】2024-06-17
(54)【発明の名称】ロボット保守支援装置、ロボット保守支援方法、及びロボット保守支援プログラム
(51)【国際特許分類】
G01M 99/00 20110101AFI20240610BHJP
G05B 19/4063 20060101ALI20240610BHJP
G05B 19/18 20060101ALI20240610BHJP
G06Q 10/20 20230101ALI20240610BHJP
B25J 19/00 20060101ALI20240610BHJP
【FI】
G01M99/00 Z
G05B19/4063 L
G05B19/18 W
G06Q10/20
B25J19/00 Z
(21)【出願番号】P 2023120550
(22)【出願日】2023-07-25
(62)【分割の表示】P 2023511002の分割
【原出願日】2022-03-22
【審査請求日】2023-07-25
(31)【優先権主張番号】P 2021054667
(32)【優先日】2021-03-29
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】100118784
【氏名又は名称】桂川 直己
(72)【発明者】
【氏名】川井 淳
(72)【発明者】
【氏名】永浜 恭秀
【審査官】岩永 寛道
(56)【参考文献】
【文献】特開2016-117148(JP,A)
【文献】特開2020-109587(JP,A)
【文献】国際公開第2019/215992(WO,A1)
【文献】国際公開第2019/103091(WO,A1)
【文献】特開平09-311715(JP,A)
【文献】中国特許出願公開第109357353(CN,A)
【文献】欧州特許出願公開第01955830(EP,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 19/00
B25J 19/06
G01M 99/00
G05B 19/18
G05B 19/4063
G05B 23/02
G06Q 10/20
(57)【特許請求の範囲】
【請求項1】
ロボットの保守を支援するロボット保守支援装置において、
前記ロボットの可動軸ごとにモータの駆動電流の電流値時系列データを取得するデータ取得部と、
前記データ取得部が取得した前記電流値時系列データに基づいて、前記可動軸ごとに複数種類の評価値を計算する評価値計算部と、
前記評価値計算部が計算した
単一の前記評価値に基づいて当該評価値の将来の変化傾向を予測する処理を、複数種類の前記評価値に対してそれぞれ行う傾向予測部と、
前記傾向予測部が予測した前記変化傾向に基づいて、前記評価値が予め定めた閾値に到達するまでの予測時間である予測寿命を前記可動軸ごとに推定する寿命推定部と、
前記寿命推定部が推定した前記予測寿命を表示器に表示するとともに、複数の前記予測寿命のうち最も早く到来する前記予測寿命を総合予測寿命として前記表示器に表示する表示処理部と、
を備える、ロボット保守支援装置。
【請求項2】
請求項1に記載のロボット保守支援装置であって、
代表評価値生成部を備え、
前記代表評価値生成部は、前記電流値時系列データに基づいて、データ収集単位期間ごとに複数種類の代表評価値を生成し、
前記評価値として前記代表評価値を用いて、前記変化傾向の予測及び前記予測寿命の推定が行われる、ロボット保守支援装置。
【請求項3】
請求項1又は2に記載のロボット保守支援装置であって、
前記評価値計算部は、2乗平均平方根、最大値、値幅、周波数分析積算値、DTW距離及びDTW距離平均値のうち何れか複数を用いて、前記電流値時系列データの前記評価値を計算する、ロボット保守支援装置。
【請求項4】
請求項1又は2に記載のロボット保守支援装置であって、
前記評価値計算部は、前記電流値時系列データのそれぞれについて、周波数解析を行って周波数スペクトルを求め、複数の予め定めた周波数帯に対して、周波数スペクトルの部分的な総和である部分積算値を前記評価値としてそれぞれ生成する、ロボット保守支援装置。
【請求項5】
請求項1から4までの何れか一項に記載のロボット保守支援装置であって、
複数種類の前記評価値のうち、少なくとも何れかが正規化されている、ロボット保守支援装置。
【請求項6】
請求項2に記載のロボット保守支援装置であって、
前記データ収集単位期間は、環境温度の変化周期、勤務周期、又はロボットの稼動周期の整数倍となるように定められる、ロボット保守支援装置。
【請求項7】
請求項1から6までの何れか一項に記載のロボット保守支援装置であって、
前記表示処理部は、前記総合予測寿命までの日数が、予め設定した日数よりも近づいた場合、前記表示器に警告を表示する、ロボット保守支援装置。
【請求項8】
請求項1から7までの何れか一項に記載のロボット保守支援装置であって、
前記表示処理部は、複数の前記予測寿命のうち最も早く到来する前記予測寿命の前記評価値及び前記可動軸の組合せを示す画面を、前記表示器に自動的に表示する、ロボット保守支援装置。
【請求項9】
請求項1から8までの何れか一項に記載のロボット保守支援装置であって、
前記評価値に応じて、前記閾値の値が異なる、ロボット保守支援装置。
【請求項10】
ロボットの保守を支援するロボット保守支援方法において、
前記ロボットの可動軸ごとにモータの駆動電流の電流値時系列データを取得し、
取得した前記電流値時系列データに基づいて、前記可動軸ごとに複数種類の評価値を計算し、
計算した
単一の前記評価値に基づいて当該評価値の将来の変化傾向を予測する処理を、複数種類の前記評価値に対してそれぞれ行い、
予測した前記変化傾向に基づいて、前記評価値が予め定めた閾値に到達するまでの予測時間である予測寿命を前記可動軸ごとに推定し、
推定した前記予測寿命を表示器に表示するとともに、複数の前記予測寿命のうち最も早く到来する前記予測寿命を総合予測寿命として前記表示器に表示する、ロボット保守支援方法。
【請求項11】
ロボットの保守を支援するロボット保守支援プログラムであって、
前記ロボットの可動軸ごとにモータの駆動電流の電流値時系列データを取得し、
取得した前記電流値時系列データに基づいて、前記可動軸ごとに複数種類の評価値を計算し、
計算した
単一の前記評価値に基づいて当該評価値の将来の変化傾向を予測する処理を、複数種類の前記評価値に対してそれぞれ行い、
予測した前記変化傾向に基づいて、前記評価値が予め定めた閾値に到達するまでの予測時間である予測寿命を前記可動軸ごとに推定し、
推定した前記予測寿命を表示器に表示するとともに、複数の前記予測寿命のうち最も早く到来する前記予測寿命を総合予測寿命として前記表示器に表示する処理をコンピュータに実行させる、ロボット保守支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、ロボットの状態の監視に関する。
【背景技術】
【0002】
産業用ロボットを工場等で反復的に稼動させると、ロボットの各部(例えば、機械部品)が劣化していくことが避けられない。状況が進行すると、やがてロボットが故障する。ロボットが故障してラインが長期間停止した場合、大きな損失となることから、ロボットの故障発生前にメンテナンス(保全)を実施することが強く求められている。一方で、メンテナンスを頻繁に行うことも、メンテナンス費用等の観点から困難である。
【0003】
適切なタイミングでメンテナンスを行うために、ロボットの減速機等の残余寿命を予測するための装置が提案されている。特許文献1は、この種のロボット保守支援装置を開示する。
【0004】
特許文献1のロボット保守支援装置は、ロボット駆動系を構成するサーボモータの電流指令値のデータに基づいて電流指令値の将来の変化傾向を診断し、診断された変化傾向に基づいて、電流指令値が、予め設定された値に到達するまでの期間を判定する構成となっている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記特許文献1の構成は、電流指令値の診断項目として、I2モニタ、デューティ、及びピーク電流を例示している。これらの項目を単純に用いると、ロボットの故障の予兆を捉えるために必ずしも有効でない場合もあった。従って、ロボットが故障に近づいていることを的確に検知できる新しい構成が求められていた。
【0007】
本出願は以上の事情に鑑みてされたものであり、その目的は、ロボットの故障の予兆を良好に捉えて予測寿命を示すことにある。
【課題を解決するための手段】
【0008】
本出願の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。
【0009】
本発明の第1の観点によれば、以下の構成のロボット保守支援装置が提供される。即ち、ロボット保守支援装置は、ロボットの保守を支援する。ロボット保守支援装置は、データ取得部と、評価値計算部と、傾向予測部と、寿命推定部と、表示処理部と、を備える。前記データ取得部は、前記ロボットの可動軸ごとにモータの駆動電流の電流値時系列データを取得する。前記評価値計算部は、前記データ取得部が取得した前記電流値時系列データに基づいて、前記可動軸ごとに複数種類の評価値を計算する。前記傾向予測部は、前記評価値計算部が計算した単一の前記評価値に基づいて当該評価値の将来の変化傾向を予測する処理を、複数種類の前記評価値に対してそれぞれ行う。前記寿命推定部は、前記傾向予測部が予測した前記変化傾向に基づいて、前記評価値が予め定めた閾値に到達するまでの予測時間である予測寿命を前記可動軸ごとに推定する。前記表示処理部は、前記寿命推定部が推定した前記予測寿命を表示器に表示するとともに、複数の前記予測寿命のうち最も早く到来する前記予測寿命を総合予測寿命として前記表示器に表示する。
【0010】
本発明の第2の観点によれば、以下のロボット保守支援方法が提供される。即ち、ロボット保守支援方法では、ロボットの保守を支援しており、以下の処理を含む。前記ロボットの可動軸ごとにモータの駆動電流の電流値時系列データを取得する。取得した前記電流値時系列データに基づいて、前記可動軸ごとに複数種類の評価値を計算する。計算した単一の前記評価値に基づいて当該評価値の将来の変化傾向を予測する処理を、複数種類の前記評価値に対してそれぞれ行う。予測した前記変化傾向に基づいて、前記評価値が予め定めた閾値に到達するまでの予測時間である予測寿命を前記可動軸ごとに推定する。推定した前記予測寿命を表示器に表示するとともに、複数の前記予測寿命のうち最も早く到来する前記予測寿命を総合予測寿命として前記表示器に表示する。
【0011】
本発明の第3の観点によれば、以下の構成のロボット保守支援プログラムが提供される。即ち、ロボット保守支援プログラムをコンピュータに実行させることにより、以下の処理が行われる。前記ロボットの可動軸ごとにモータの駆動電流の電流値時系列データを取得する。取得した前記電流値時系列データに基づいて、前記可動軸ごとに複数種類の評価値を計算する。計算した単一の前記評価値に基づいて当該評価値の将来の変化傾向を予測する処理を、複数種類の前記評価値に対してそれぞれ行う。予測した前記変化傾向に基づいて、前記評価値が予め定めた閾値に到達するまでの予測時間である予測寿命を前記可動軸ごとに推定する。推定した前記予測寿命を表示器に表示するとともに、複数の前記予測寿命のうち最も早く到来する前記予測寿命を総合予測寿命として前記表示器に表示する。
【発明の効果】
【0012】
本出願によれば、ロボットの故障の予兆を良好に捉えて予測寿命を示すことができる。
【図面の簡単な説明】
【0013】
【
図2】第1実施形態のロボット故障予兆検出装置の電気的構成を概略的に示すブロック図。
【
図3】時系列データの取得に関するトリガ信号のタイミングを説明するグラフ。
【
図5】状態数が2個であるErgodic隠れマルコフモデルを示す概念図。
【
図8】電流値の2乗平均平方根の系列の類似度に関する対数尤度を示すグラフ。
【
図9】第2実施形態のロボット故障予兆検出装置の電気的構成を概略的に示すブロック図。
【
図10】第3実施形態で用いられるDTW法を示す概念図。
【
図11】DTWで処理されたデータを隠れマルコフモデルに入力して評価された対数尤度を示すグラフ。
【
図12】第4実施形態のロボット故障予兆検出装置の電気的構成を概略的に示すブロック図。
【
図13】第4実施形態における初期系列及び判定用データを説明する模式図。
【
図14】第5実施形態のロボット故障予兆検出装置の電気的構成を概略的に示すブロック図。
【
図15】第6実施形態のロボット故障予兆検出装置の電気的構成を概略的に示すブロック図。
【
図16】判定用モデルを用いることなく故障時期を予測する例における表示部に表示される傾向管理画面の表示例。
【
図17】判定用モデルを用いることなく故障時期を予測する例において参照日数を変化させた場合の予測線の変化を示すグラフ。
【
図18】周波数分析部分積算値を算出するための周波数帯域を示すグラフ。
【
図19】周波数分析部分積算値を設定可能な例における表示部に表示される傾向管理画面の表示例。
【発明を実施するための形態】
【0014】
次に、図面を参照して本出願の実施の形態を説明する。
図1は、本出願の一実施形態に係るロボット1の構成を示す斜視図である。
図2は、ロボット1及びロボット故障予兆検出装置5の電気的構成を概略的に示すブロック図である。
【0015】
本出願に関するロボット故障予兆検出装置5は、予め決められた動作を再生可能な産業用ロボットの状態を監視するために用いられる。ロボット故障予兆検出装置5は、例えば、
図1に示すようなロボット1に適用される。ロボット1は、作業対象のワークに対して塗装、洗浄、溶接、搬送等の作業を行う。ロボット1は、例えば、垂直多関節ロボットによって実現される。
【0016】
以下、ロボット1の構成について、
図1及び
図2等を参照しながら簡単に説明する。
【0017】
ロボット1は、ベース部材10と、多関節アーム11と、手首部12と、を備える。ベース部材10は、地面(例えば、工場の床面)に固定される。多関節アーム11は、複数の関節を有する。手首部12は、多関節アーム11の先端に取り付けられる。手首部12には、作業対象のワークに対して作業を行うエンドエフェクタ13が取り付けられる。
【0018】
図2に示すように、ロボット1は、アーム駆動装置21を備える。
【0019】
これらの駆動装置は、アクチュエータ及び減速機等から構成される。アクチュエータは、例えばサーボモータとして構成される。しかし、駆動装置の構成は上記に限定されない。それぞれのアクチュエータは、コントローラ90に電気的に接続される。アクチュエータは、コントローラ90から入力された指令値を反映するように動作する。
【0020】
アーム駆動装置21を構成するそれぞれのサーボモータからの駆動力が、減速機を介して、多関節アーム11の各関節と、ベース部材10と、手首部12と、に伝達される。それぞれのサーボモータには、その回転位置を検出する図略のエンコーダが取り付けられている。
【0021】
ロボット1は、教示によって記録された動作を再生することで作業を行う。コントローラ90は、教示者が事前に教示した一連の動作をロボット1が再現するように、上記アクチュエータを制御する。ロボット1への教示は、図略の教示ペンダントを教示者が操作することにより行うことができる。ロボット1への教示により、ロボット1を動かすためのプログラムが生成される。
【0022】
コントローラ90は、例えば、CPU、ROM、RAM、補助記憶装置等を備える公知のコンピュータとして構成されている。補助記憶装置は、例えばHDD、SSD等として構成される。補助記憶装置には、ロボット1を動かすプログラム等が記憶されている。
【0023】
ロボット故障予兆検出装置5は、
図1に示すように、コントローラ90に接続される。ロボット故障予兆検出装置5は、アクチュエータ(サーボモータ)に流れる電流の電流値等の推移を、コントローラ90を介して取得する。
【0024】
サーボモータ、及びこれに連結される減速機等に仮に異常が生じていれば、サーボモータの電流値は、その影響を受けて変動すると考えられる。従って、この電流値は、ロボット1の状態を反映しているということができる。電流値の推移は、当該電流値を短い時間間隔で反復して取得し、多数の電流値を時系列で並べることで表現することができる。以下、電流値を時系列で並べたデータを、電流値時系列データ(挙動時系列データ)と呼ぶことがある。
【0025】
ロボット故障予兆検出装置5は、取得した電流値時系列データを監視することで、ロボット1の異常の有無を判定することができる。本実施形態では、ロボット故障予兆検出装置5は、それぞれの関節のサーボモータ及び減速機を主に対象として、異常の有無を判定する。ここで、「異常」とは、動作不良/不能まで至らないが、その予兆となる何らかの状況がサーボモータ、減速機又は軸受けに生じている場合を含む。
【0026】
ロボット故障予兆検出装置5は、
図2に示すように、記憶部50と、電流値時系列データ取得部(挙動時系列データ取得部)51と、評価値計算部52と、代表評価値生成部53と、系列処理部54と、判定部55と、警報発生部62と、表示部63と、を備える。
【0027】
ロボット故障予兆検出装置5は、CPU、ROM、RAM、補助記憶装置等を備える公知のコンピュータとして構成されている。補助記憶装置は、例えばHDD、SSD等として構成される。補助記憶装置には、ロボット1の状態評価等のためのプログラム等が記憶されている。これらのハードウェア及びソフトウェアの協働により、コンピュータを、記憶部50、電流値時系列データ取得部51、評価値計算部52、代表評価値生成部53、系列処理部54、判定部55、警報発生部62、表示部63等として動作させることができる。
【0028】
電流値時系列データ取得部51は、上述の電流値時系列データを取得する。電流値時系列データ取得部51は、ロボット1のアーム駆動装置21が備える全てのサーボモータを対象として、電流値時系列データを取得する。電流値時系列データは、ロボット1の各部に配置される複数のサーボモータ(言い換えれば、複数の減速機)のそれぞれに対して、個別に取得される。
【0029】
ここで、電流値とは、サーボモータに流れる電流の大きさをセンサによって測定した測定値を意味する。センサからの信号は、図示しないA/Dコンバータによってデジタル化される。センサは、サーボモータを制御する図略のサーボドライバに設けられている。ただし、センサが、サーボドライバとは別に監視用に設けられても良い。これに代えて、サーボドライバがサーボモータに与える電流指令値が採用されても良い。サーボドライバは、現在の電流値を電流指令値に近づけるようにサーボモータをフィードバック制御する。従って、サーボモータ又は減速機の異常を検出する目的からすれば、電流値と電流指令値は殆ど違いがない。
【0030】
サーボモータのトルクの大きさは、電流の大きさに比例する。従って、電流値の代わりに、トルク値又はトルク指令値が用いられても良い。また、サーボモータの回転位置に関する目標値と、前記エンコーダによって得られる実際の回転位置と、の偏差(回転位置偏差)が用いられても良い。通常、サーボドライバは、この偏差にゲインを乗じたものを電流指令値としてサーボモータに与える。従って、回転位置の偏差の推移は電流指令値の推移と似た傾向を示す。
【0031】
本実施形態では、電流値時系列データを故障予兆の検知のために用いている。しかしながら、電流値に代えて、電流指令値、トルク値、トルク指令値、又は回転位置偏差の時系列データが用いられても良い。
【0032】
電流値時系列データ取得部51は、教示された動作をロボット1が行うとき、それぞれのサーボモータについて電流値時系列データを取得する。
【0033】
例として、ロボット1に対して1つの動作が教示された後、工場で毎日、例えば9時から17時まで稼動する場合を考える。電流値時系列データ取得部51は、教示された動作をロボット1が行うたびに、それぞれのサーボモータについて電流値時系列データを取得する。ロボット1は同一の動作を反復するので、多数の電流値時系列データが1日毎に得られる。
【0034】
ロボット故障予兆検出装置5の使用が開始されてからの期間は、1日目からN日目までと、N+1日目以降と、に分けることができる。以下、1日目~N日目までの期間を初期稼動期間と呼び、N+1日目以降を監視期間と呼ぶことがある。Nは適宜定めることができ、例えばN=30とすることができる。上述の電流値時系列データの取得は、初期稼動期間及び監視期間の何れであっても毎日行われる。
【0035】
ロボットを設置して使用を開始するのと同時に初期稼動期間を開始させても良いが、例えば1か月の間は慣らし運転期間と考え、初期稼動期間を、慣らし運転期間の後に開始させても良い。初期稼動期間の後、適宜のインターバル期間(例えば、2か月)が経過してから監視期間を開始させても良い。
【0036】
ロボット1が1回の動作を行う毎に、サーボモータの数だけ電流値時系列データが得られる。電流値時系列データ取得部51が電流値の時系列データの取得を開始するタイミング、及び終了するタイミングは、コントローラ90が出力する信号に基づいて適宜定めることができる。
【0037】
図3のグラフは、ロボット1が再生動作を行う場合に、ある関節のサーボモータに流れる電流値の一例を示している。
図3に示すように、再生動作のプログラムが実行される前の状態では、サーボモータの電流値はゼロである。このとき、各関節において図示しない電磁ブレーキが動作しているため、多関節アーム11等の姿勢は保持される。
【0038】
続いて、ロボット1の再生動作のプログラムが開始される。これに伴ってブレーキが開放され、これとほぼ同時にサーボモータに電流が流れ始める。この時点では、サーボモータの出力軸は停止するように制御される。サーボモータの出力軸の角度が安定するのに必要なある程度の時間が経過した後、サーボモータの回転が開始される。これにより、ロボット1の動作が実質的に開始される。
【0039】
コントローラ90は、ブレーキが開放された後、サーボモータの回転が開始される少し前の時点で、取得開始信号をロボット故障予兆検出装置5(ひいては、電流値時系列データ取得部51)に出力する。
【0040】
ロボット1に教示した一連の動作が全て完了すると、サーボモータは回転を停止するように制御される。コントローラ90は、サーボモータが回転停止状態となった後、プログラムが終了する前の時点で、取得終了信号を電流値時系列データ取得部51に出力する。
【0041】
記憶部50は、例えば、上述の補助記憶装置から構成される。記憶部50は、ロボット故障予兆検出プログラム、電流値時系列データ取得部51により取得された電流値時系列データ等を記憶する。ロボット故障予兆検出プログラムによって、本実施形態のロボット故障予兆検出方法が実現される。
【0042】
本実施形態で、時系列データは、短い一定の時間間隔で繰り返し検出することで得られた多数の電流値を時間順に並べたものである。電流値を検出する時間間隔(サンプリング間隔)は、例えば数ミリ秒である。時系列データは、
図3のグラフにおいて、取得開始信号のタイミングから取得終了信号のタイミングまでの電流値の推移に相当する。
【0043】
記憶部50には、データの取得時期を示す時期情報が、当該時系列データに関連付けて記憶される。
【0044】
上述のように、電流値時系列データ取得部51により取得された電流値時系列データは、ロボット1の初期稼動期間で収集されたデータと、監視期間で収集されたデータと、に分けることができる。初期稼動期間で得られた電流値時系列データは、後述の判定用モデルを構築するための学習データを作成するために用いられる。監視期間で収集された電流値時系列データは、判定用モデルに入力される判定用データを作成するために用いられる。
【0045】
ノイズ等を除去するために、電流値時系列データに対し、適宜のフィルタ処理が行われても良い。データに対するフィルタ処理は公知であるため詳細な説明を省略する。
【0046】
評価値計算部52は、電流値時系列データ取得部51により取得された電流値時系列データのそれぞれを所定の関数に入力し、評価値を計算する。この関数は、電流値時系列データが有する何らかの特徴を抽出するものである。元の電流値時系列データは複数のスカラ量(電流値)からなるのに対し、評価値は1つのスカラ量である。従って、評価値計算部52が行う処理は情報の圧縮に相当する。
【0047】
評価値計算部52が用いる関数は任意であるが、例えば、2乗平均平方根、最大値、値幅(最大値-最小値)、周波数分析積算値を用いることができる。
【0048】
知られているように、減速機の歯の摩耗等により効率が低下した場合、サーボモータのマグネットの減磁によりトルク定数が低下した場合等に、電流値の2乗平均平方根に変化が発生する。従って、故障予兆の有無を判定するために2乗平均平方根を用いることが好適な場合がある。
【0049】
また、軸受け等に損傷が発生した場合、電流値の推移に時々髭状のピークが現れる傾向がある。従って、故障予兆の有無を判定するために最大値又は値幅を用いることが好適な場合がある。
【0050】
周波数分析積算値は、周波数解析の一手法として提案される。周波数解析を行うことにより、振幅スペクトル、パワースペクトル、又はパワースペクトル密度が得られる。以下では、振幅スペクトル、パワースペクトル、又はパワースペクトル密度を周波数スペクトル又は単にスペクトルと呼ぶことがある。周波数分析積算値は、例えば、周波数解析により得られた数十Hzまでの振幅スペクトル、パワースペクトル、又はパワースペクトル密度の合計値である。合計値に代え平均値を用いて周波数分析積算値を求めてもよい。振幅スペクトル及びパワースペクトルは後述する公知の方法で求められる。ロボットに振動傾向が生じている等、故障予兆の有無を判定するために周波数分析積算値を用いることが好適な場合がある。振動傾向の原因は種々考えられるが、例えば減速機の摩耗が進み、ロストモーションが増加したことを挙げることができる。
【0051】
ロボット1の系の固有振動数が仮に8Hzであれば、8Hzの成分が共振により大きくなるが、上記の周波数分析積算値の例では8Hzのピークを検出するに留まらない。数十Hzまでの振幅スペクトル、パワースペクトル、又はパワースペクトル密度の合計値が評価される。時間の経過に伴って、本来の主モードの振動に加えて、種々の部品の劣化に伴う振動が加わることが多い。幅広い周波数を観察することで、故障予兆の検出範囲を広げることができる。
【0052】
以下、周波数分析積算値に関して、更に詳細に説明する。評価値計算部52は、電流値時系列データに対してFFT(Fast Fourier Transform、高速フーリエ変換)を行うことにより、フーリエスペクトル(複素数)を求める。フーリエスペクトルを2乗した値がパワースペクトルである。パワースペクトルに変換することにより位相情報が失われる。また、パワースペクトルの平方根を取った値が振幅スペクトルである。振幅スペクトルには、実効値とピーク値があるが、何れの値も故障予兆の有無を判定するために使用することができる。また、パワースペクトル密度関数は、PSD関数(Power Spectral Density Function)とも称される。パワースペクトル密度関数は、FFTの周波数分解能に依存しないように単位周波数幅(1Hz幅)当たりのパワー値を表現するスペクトル関数である。
【0053】
FFTで検出できる上限の周波数は、サンプリング周波数の半分の周波数である。サンプリング周波数の半分の周波数をナイキスト周波数と称する。本実施形態では、ロボット1の制御周期とロボット故障予兆検出装置5の制御周期のうち長い方の制御周期の逆数がサンプリング周波数に相当する。例えば、長い方の制御周期が4msであった場合、1/0.004/2=125であるため、ナイキスト周波数は125Hzである。本実施形態で行うFFTでは、ナイキスト周波数以下の値を対象とする。ただし、FFTを実行する機器のハードウェア構成又はソフトウェアのアルゴリズムによっては、折り返し歪を低減あるいは排除するため、余裕係数を乗じた値を上限として使用することが好ましい。即ち、ナイキスト周波数をf9、余裕係数をkと記述した場合、FFTの上限値をk×f9と表すこともできる。kは例えば75%から100%の範囲の値である。
【0054】
本実施形態のように、ロボット1の挙動をアクチュエータの電流値又は電流指令値から計測してFFTを行う場合は、前記のナイキスト周波数等に基づく上限値が存在する。なお、FFTを実行するソフトウェアは、ナイキスト周波数を超えないように規制していてもよい。
【0055】
一方で、ロボット1は、通常は10Hz前後の固有振動数を有する。通常は1次の固有振動数が10Hzであれば、3次又は4次の高次成分までは、ある程度の強さの信号を検出できる。そのため、固有振動数をf0として、例えば4次の信号まで使用する場合は、4.5×f0=45Hzを上限にすれば良い。これにより、4次の信号は取得し、5次の信号は取得しないことになるので、より正確に振動成分を把握できる。
【0056】
また、上記の固有振動数とは別に、故障により発生する振動がある。例えば、モータのベアリングの損傷、入力軸ギアと公転ギアの歯の損傷、及び偏心軸のベアリングの損傷等により、固有振動数とは別の振動が発生し得る。この中で周波数が比較的高いのがモータのベアリングの損傷であり、一例として25Hz前後の振動が発生する可能性がある。なお、損傷がベアリングの内輪、外輪、転動体の何れで発生したかや、モータの回転数によっても振動数の値が変化する。以上を総合的に考慮すると、例えば50Hz程度を上限にすることが好ましい。また、ナイキスト周波数を上限にしても良い。
【0057】
また、主たる固有振動を重視する場合は、0Hzから順番にスペクトルをサーチし、最初のピーク値を1次の固有振動数f0として、その4.5倍である4.5×f0まで集計しても良い。この場合は、サーチする基準となる周波数を初期周波数として登録しておき、初期周波数の例えば0.5倍から1.5倍までをサーチしても良い。周波数に関する特性が安定している場合は、0.2倍から1.8倍までのサーチを行っても良い。この余裕をΔf1,Δf2と記述し、サーチの固有振動数の初期周波数をf01と記述した場合、f01-Δf1 から f01+Δf2までをサーチすることになる。
【0058】
本実施形態のように多関節型のロボット1は、ベース部材10に対して多関節アーム11の全体を、例えば鉛直方向を回転中心として旋回させることができる。この旋回の軸を旋回軸JT1と称する。旋回軸JT1では多関節アーム11の姿勢により、軸周りのイナーシャが大きく変化する。その結果、固有振動数f0は10Hz~20Hzの間で変化する場合がある。このような軸の場合は上記のような1次の固有振動数f0のサーチが出来ないことがある。この場合には「見做し」固有振動数f02を例えば12Hzと登録しておき、その4.5倍まで集計することができる。以上により、積算周波数の上限値と下限値は以下のようにまとめることができる。また、以下で説明する上限値と下限値はあらゆる組合せで用いてもよい。
【0059】
上限値としては、例えば以下の値を用いることができる。
(1)固定値
(2)1次の固有振動数の(n+0.5)倍
(3)見做し周波数の(n+0.5)倍
固定値は例えば50Hzであってもよい。ただし、固定値はナイキスト周波数以下にする必要がある。また、固定値はナイキスト周波数であってもよいし、ナイキスト周波数に余裕係数を乗じた値であってもよい。nは、例えば4であるが、数値は任意であり、例えば、1,2,3であってもよい。また、0.5に代えて、0以上1未満の別の数値を適用できる。
【0060】
下限値としては、例えば以下の値を用いることができる。
(1)固定値
(2)0
(3)固有振動数のα倍
ここで、固定値は例えば6Hzであってもよい。また、0は直流成分とも称されており、振動を伴わない量であり、ロボット1の各軸の負荷トルクに相当する。そのため、負荷トルクを含めて評価する場合は下限値として0を用い、振動成分のみを評価する場合は下限値として固有振動数のα倍を用いることができる。αは例えば0.5であるが、αは0.2から0.8の任意の値であっても良い。なお、固有振動数付近のみを評価する場合は、下限のαは0.5などにして上限は固有振動数の1.5倍などであっても良い。
【0061】
上述のように、関数が異なれば、検出し易い故障予兆が異なる。後述の判定用モデルには関数の出力値が実質的に入力されて機械学習等が行われるので、判定用モデルも関数の性質を引き継ぐことになる。従って、複数の異なる関数で得られた評価値のそれぞれに関して、判定用モデルの学習及び評価を行っても良い。
【0062】
上述した例では、周波数分析積算値を一つの関数として評価値として利用することにした。これに対し、以下に示す例では、周波数分析積算値を複数の周波数帯域に分け、それぞれの範囲で合計値を求める。周波数分析積算値と区別するため、周波数帯域毎の周波数スペクトルの積算値を「周波数分析部分積算値」と呼ぶ。省略して「部分積算値」と呼ぶこともある。合計値に代え平均値を用いて周波数分析部分積算値を求めても良い。
【0063】
図18を参照して部分積算値を説明する。
図18の縦軸はスペクトルの振幅、横軸は周波数である。この例では周波数の下限を0Hzとして上限を50Hzとする。更に、0Hzから50Hzを分割するための値として、10,20,30,40を設定する。これらの値を用いてスペクトルを分割することにより、以下の周波数帯域が得られる。
周波数帯域;0-10,10-20,20-30,30-40,40-50
それぞれの周波数帯域には、両端周波数(周波数帯域を決定するための下限と上限の周波数)は含まれなくても良いし、含まれても良い。また、両端周波数が、隣り合う2つの周波数帯域に含まれても良い。
【0064】
ここで、
図18に太枠で示す10-20の周波数帯域と、それより小さい0-10の周波数帯域と、を例にして、ロボット1で発生する振動を説明する。例えば、0-10の周波数帯域には、ロボットアーム系の固有振動数である約8Hzのスペクトルが含まれる。その他4,2,1Hzにも大きな振幅が存在するが、これらの周波数はロボットが動く軌跡の周波数成分がほとんどである。これらの軌跡の周波数成分は、動きを決めるロボットプログラムが同じ場合はほとんど変化しない。10-20の周波数帯域では約16Hzの固有振動数の2次高調波が含まれる。10-20の周波数帯域では、固有振動数の高調波以外の成分も含まれる。
【0065】
固有振動数を決定する減速機のばね定数の変化やロストモーション量の増加に起因して、固有振動数やその高調波のスペクトルが大きくなることがある。また、逆に固有振動数やその高調波以外のスペクトルが他の部品(モータ軸等に取り付けられるベアリング等の部品)の劣化により、固有振動数やその高調波のスペクトルが増加する場合もある。更に何れの原因の場合も振幅の変化(通常増加)だけでなくその周波数が変わる場合も多い。劣化の結果、固有振動数が下がる場合があり、その周波数が分割した周波数帯域の近くにある場合は低い周波数の周波数帯域に移動する場合もある。20Hzを超える帯域でも固有振動数の高調波はあるがその強度は減少していき、その他の振動成分の割合が増える。
【0066】
以上に説明したように、複数に分割されることで得られた部分積算値は、後述の判定用モデルに利用できる。また、部分積算値は、複数の傾向管理装置を同時進行させる、寿命予測や故障予兆判定システムに利用できる。
【0067】
なお、
図18のように分割が連続でなく、例えば0-10,20-30,40-50のように、周波数帯域同士の間隔が空いていても良い。あるいは、0-10,0-20,0-30のように、周波数帯域同士が重なり合っても良い。部分積算値は傾向管理のために用いるため、部分積算値そのものに意味はなく、部分積算値の変化を評価する。そのため、全ての周波数を漏れなくかつ重なりなく含める必要はなく、傾向管理がし易い周波数帯域を選べばよい。もちろん、
図18に示すように、全ての周波数を漏れなくかつ重なりなく含めても良い。
【0068】
代表評価値生成部53は、評価値計算部52により得られた複数の評価値から代表評価値を求める。前述のとおり1つの評価値は電流値時系列データの情報を圧縮したものに相当するが、代表評価値は、複数の評価値を更に圧縮した情報であると考えることができる。
【0069】
例えば、ロボット1がある日の9時から17時まで稼動する場合を考える。その期間、ロボット1は同一の動作を多数回反復する。従って、電流値時系列データ取得部51において多数の時系列電流値データが得られ、評価値計算部52において、それぞれの時系列電流値データの評価値が得られる。代表評価値生成部53は、多数の評価値から、その日を代表する1つの評価値を代表評価値として生成する。
【0070】
例えば、9時から17時までの間で、工場内の室温が外気温の影響で変化する場合がある。あるいは、ロボット1の関節に付加されているグリースは、稼動開始当初は低温であるが、稼動開始から時間が経過するにつれて温度が上昇し、結果として粘度が低下する。これらの影響を抑制するために、代表評価値生成部53は、9時から17時までに得られた多数の評価値から中央値を選択して、これを代表評価値とすることが考えられる。代表評価値生成部53が生成した代表評価値は、記憶部50に記憶される。
【0071】
代表評価値は、中央値に限定されず、例えば平均値とすることもできる。
【0072】
以下では、1つの代表評価値によって代表される複数の評価値が属する時間的な範囲を、データ収集単位期間と呼ぶ。上記の例では、1つの代表評価値が1日分の電流値時系列データを代表しているので、データ収集単位期間は1日である。
【0073】
例えば、工場において、1日に複数回(例えば、2交替制)のシフトが定められることがある。シフトの1回分は、1回分の勤務周期、又は、1回分のロボット1の稼動周期と言い換えることもできる。この場合、データ収集単位期間は、シフト1回分としても良いが、2回のシフトを含めた1日分とすることが好ましい。昼夜を含む1日をデータ収集単位期間とすることで、外気温の変動周期の影響で故障予兆の検出精度が低下するのを防止することができる。データ収集単位期間は、複数日(例えば、2日、3日、あるいは1週間等)としても良い。
【0074】
系列処理部54は、記憶部50に記憶されている複数の代表評価値を並べることにより、系列を生成する。系列処理部54が生成した代表評価値の系列は、判定部55に入力される。
【0075】
判定部55は、代表評価値生成部53で生成された代表評価値を用いて、ロボット1の故障予兆の有無を判定する。判定部55は、学習部57と、確率出力部58と、変換部61と、を備える。
【0076】
上述の様に代表評価値を評価値に代えて利用することで、例えば1日の間の温度変化の影響を排除することができる。結果的に評価値を圧縮する効果が生じる場合がある。一方、評価方法が傾向管理であったり、評価値が何らかの手法で温度補償されている場合は代表評価値にせず、取得したすべての評価値を評価しても良い。
【0077】
学習部57は、ロボット1の初期稼動期間において、N回分のデータ単位期間で生成されたN個の代表評価値を学習することにより、機械学習モデルである判定用モデルを作成する。
【0078】
本実施形態の判定部55では、判定用モデルとして隠れマルコフモデルが用いられている。
【0079】
ここで、隠れマルコフモデルについて簡単に説明する。隠れマルコフモデルは、系列的なデータに対する統計的モデリングを実現する確率モデルのひとつである。隠れマルコフモデルは、系列的なデータが与えられたとき、その系列的なデータが出現する確率を計算することができる。
【0080】
隠れマルコフモデルでは、系列的なデータが観測された場合、その背後に、系列的な状態があると考える。状態は観測することはできず、データのみが観測される。
【0081】
以下、隠れマルコフモデルを説明する。隠れマルコフモデルを定義付けるパラメータは、遷移確率A、出力確率B、及び初期確率Πの3種類である。ここでは、状態の数をRとする。初期確率Πは、後述の式(1)において総乗を表すΠと同じ記号であるが、意味は異なる。
【0082】
遷移確率Aは、aijの集合である(A={aij})。aijは、時刻(t-1)において状態iであったのが、時刻tにおいて状態jになる確率を表す。ここで、i,jは、1以上R以下の整数である。
【0083】
出力確率Bは、bjkの集合である(B={bjk})。bjkは、状態jにおいてk番目の観測信号vkが出力される確率分布を表す。本実施形態では、出力として連続値が想定されており、観測信号vkが出力される確率は正規分布で表現される。本実施形態では単一正規分布が用いられているが、これに代えて混合正規分布が用いられても良い。
【0084】
初期確率Πは、πjの集合である(Π={πj})。πjは、時刻t=0における、状態jである確率を表す。隠れマルコフモデルでは状態は隠れているが、初期値が恣意的に仮決めされる。
【0085】
隠れマルコフモデルには、大きく分けて、Ergodic隠れマルコフモデルと、Left-to-Right隠れマルコフモデルと、がある。
【0086】
Ergodic隠れマルコフモデルが
図4(a)に示されている。Ergodic隠れマルコフモデルには、複数の状態が含まれる。
図4(a)では、状態が3つである例を示している。それぞれの状態は、自身を含む全ての状態へ遷移することができる。
【0087】
Ergodic隠れマルコフモデルでは、エルゴード性が成立する。エルゴード性とは、[A]任意の状態から任意の状態へ到達可能であり、[B]周期性を持たず、かつ、[C]状態数が有限であることをいう。隠れマルコフモデルがエルゴード性を有するとき、集合平均と時間平均が一致する。
【0088】
Left-to-Right隠れマルコフモデルが
図4(b)に示されている。Left-to-Right隠れマルコフモデルには、複数の状態が含まれる。
図4(b)では、状態が4つである例を示している。Left-to-Right隠れマルコフモデルでは、状態の遷移が必ず一方向になるため、いったん別の状態に遷移すると遷移前の状態に戻ることができない。
【0089】
Left-to-Right隠れマルコフモデルでは、エルゴード性が成立しない。Left-to-Right隠れマルコフモデルは、逆戻りの遷移ができない制約を有する。このように状態の遷移に制約があるため、Left-to-Right隠れマルコフモデルには計算量を少なくできる利点があり、時系列データの評価に適している。
【0090】
本実施形態においては、判定用モデルとして、Ergodic隠れマルコフモデル及びLeft-to-Right隠れマルコフモデルの何れも用いることができる。隠れマルコフモデルの状態の数は、2以上であれば任意であり、適宜定められる。
【0091】
学習部57は、上述したN個の代表評価値の系列を判定用モデルに入力し、判定用モデルが当該代表評価値の系列を生成する確率が高くなるように、上述の遷移確率、出力確率、初期確率のパラメータを更新していく。このとき、公知のEM(Expectation Maximization)法、及び、Baum-Welchアルゴリズムが用いられる。
【0092】
Ergodic隠れマルコフモデルを用いる場合、複数の代表評価値が学習モデルに入力される順番が固定されても良いし、固定されなくても良い。Left-to-Right隠れマルコフモデルを用いる場合、複数の代表評価値の入力順が日時順で固定されることが好ましい。系列処理部54は、N個の代表評価値からなる系列を条件に従って生成して、判定部55に出力する。
【0093】
確率出力部58は、監視期間において得られた代表評価値を含む系列を、作成された判定用モデルに入力し、当該系列が現れる確率を取得する。
【0094】
隠れマルコフモデルは、代表評価値の系列を入力することにより、この系列が出現する確率を計算により推定することができる。計算された確率は、モデルに入力された系列のもっともらしさを数値化したもの(尤度)と考えることもできる。モデルから出力される確率が低ければ、モデルに入力された代表評価値の系列が、通常から異なっている蓋然性が高いということができる。従って、この確率は、特異度を反映したものである。特異度は、異常度と言い換えることもできる。隠れマルコフモデルは、学習した系列に対して入力した系列が類似するほど、確率を高く出力する。従って、確率を取得することは、2つの系列の類似度を取得することと実質的に同じである。確率出力部58は、得られた確率を変換部61へ出力する。
【0095】
変換部61は、確率出力部58から得られた確率を対数変換する。得られた値(対数尤度)は、警報発生部62及び表示部63に出力される。
【0096】
警報発生部62は、変換部61から入力された対数尤度が所定の範囲を外れた場合、故障予兆の警報を発する。本実施形態において、警報は、警報発生部62が表示部63の表示を制御することによって実現される。
【0097】
表示部63は、
図8等に相当するグラフを表示可能である。表示部63は、例えば液晶ディスプレイ等の表示装置から構成される。オペレータは、代表評価値の系列の対数尤度について、普段の傾向から外れているか否かを監視する。オペレータは、この情報を活用して、将来のメンテナンス計画を適切に立てることができる。加えて、表示部63は、警報発生部62からの信号に応じて、表示する軸を切り換えたり、また、例えばメッセージの形で警報を出力したりすることができる。
【0098】
続いて、本実施形態のロボット故障予兆検出装置5が用いるロボット故障予兆検出方法について、
図2の細線に示すデータの流れに沿って説明する。以下では、データ収集単位期間を1日、Nを30として説明する。
【0099】
ロボット故障予兆検出装置5の電流値時系列データ取得部51は、ある1日において再生された複数回のロボット動作のそれぞれに対して、電流値時系列データを、電流値時系列データ取得部51を介して取得する(挙動時系列データ取得工程)。
【0100】
その後、評価値計算部52は、電流値時系列データ取得部51により取得された電流値時系列データのそれぞれから、2乗平均平方根等の関数によって評価値を計算する(評価値計算工程)。評価値は、電流値時系列データの数と等しい数だけ得られる。
【0101】
次に、代表評価値生成部53は、1日のうち、得られた複数の評価値を代表する代表評価値を生成する(代表評価値生成工程)。代表評価値は、1日内で得られた複数の評価値の中央値とすることができる。
【0102】
1日毎に、上記の処理が反復される。この結果、初期稼動期間であるN回分のデータ収集単位期間(30日)が終わった時点で、30個の代表評価値が得られる。
【0103】
30個の代表評価値が得られると、系列処理部54は、1日目から30日目までの代表評価値を時間順に並べるようにして系列を生成する(系列処理工程)。系列処理部54は、生成した代表評価値の系列を判定部55に出力する。以下、この系列を初期系列と呼ぶことがある。初期系列が、
図6(a)に示されている。
図6において、1つの4角形が1つの代表評価値を表している。4角形の中の数字は、その代表評価値が何日目に得られたものかを示す。
【0104】
判定部55の学習部57は、この初期系列を機械学習モデルに入力して学習させる(モデル作成工程)。判定用モデルに代表評価値の系列が入力され、当該系列の出現確率が大きくなるように判定用モデルのパラメータが修正される。判定用モデルのパラメータとは、具体的には、上述の遷移確率A、出力確率B、及び初期確率Πである。この処理が学習の1回に相当し、学習は複数回反復される。この処理の反復が、機械学習の訓練フェーズに相当する。
【0105】
学習回数は、例えば100回とすることが考えられる。ただし、学習が100回に到達する前でも、判定用モデルのパラメータの収束が確認できた場合は学習を打ち切ることもできる。学習完了後、判定用モデルのパラメータは、判定部55が備える判定用モデル記憶部59に記憶される。
【0106】
N+1日目以降は、監視期間である。監視期間において、系列処理部54は、判定部55で特異度を評価する対象となる代表評価値の系列を作成する(系列処理工程)。系列処理部54は、生成した代表評価値の系列を判定部55に出力する。以下、この系列を判定用系列と呼ぶことがある。本実施形態において、判定用系列が、判定用データに相当する。系列処理部54が生成する判定用系列は、代表評価値生成部53が新しい代表評価値を生成する毎に、即ち日毎に変化する。判定用系列には、N+1日目以降の代表評価値が少なくとも1つ含まれる。
【0107】
以下、判定用系列のための処理を具体的に説明する。N+1回目のデータ収集単位期間(31日目)における代表評価値が得られると、系列処理部54は、判定用系列を初期系列で初期化する。この初期化処理は、初回(31日目)にだけ行われる。続いて、系列処理部54は、判定用系列の末尾に、得られた最新の代表評価値を追加する。この追加により、判定用系列を構成する代表評価値が31個になってしまうので、系列処理部54は、系列の先頭に位置する最も古い代表評価値を削除する。31日目における判定用系列が
図6(b)に示されている。
【0108】
この更新処理は、32日目以降についても同様に行われる。系列処理部54は、このように、前回の判定用系列から最も古い代表評価値を削除し、2番目以降の代表評価値は1つ分だけ系列の先頭側へ移動させ、末尾に最新の代表評価値を追加することにより、日毎の代表評価値の系列を作成する。32日目における判定用系列が
図6(c)に、33日目における判定用系列が
図6(d)に、それぞれ示されている。判定用系列の代表評価値は、1回の更新処理毎に、1つずつ置き換わっていく。
【0109】
確率出力部58は、系列処理部54が生成した判定用系列を、判定用モデル記憶部59に記憶されている判定用モデルに入力して、当該系列が出現する確率を求める。この処理が、機械学習の評価フェーズに相当する。確率出力部58は、得られた確率を変換部61に出力する。
【0110】
変換部61は、確率出力部58から出力された確率を対数に変換して、対数尤度を求める。対数変換により、数値の取扱いが容易になる。
【0111】
警報発生部62は、得られた対数尤度が所定範囲内にあるか否かを調べることにより、故障予兆の有無を判定する(故障予兆判定工程)。具体的には、警報発生部62は、対数尤度と所定の閾値とを比較する。対数尤度が所定閾値を下回った場合、警報発生部62は、例えば、故障予兆が検知された旨を表示部63に表示すること等により、警報を発する(警報発生工程)。
【0112】
次に、隠れマルコフモデルを用いる本実施形態の効果について説明する。
【0113】
図7のグラフには、あるサーボモータの電流値の2乗平均平方根(I2と呼ばれることがある)に関して、ロボット稼動開始からの推移が示されている。横軸は時間、縦軸は2乗平均平方根である。このグラフの例では、3角形のマーク付近から2乗平均平方根が多少上昇していることがわかる。しかし、この上昇量は小さいため、故障予兆があるか否かの判定は困難である。
図7の太線は、当初の30日の平均を計算し、得られた値に1.1を乗じた値を示す。この太線を異常判定閾値とした場合、異常と判定される点は1つしかない。
【0114】
図8のグラフには、上記の2乗平均平方根を隠れマルコフモデルで評価した結果が示されている。横軸は時間、縦軸は対数尤度である。
図8の例では、
図5に示す、状態数が2個であるErgodic隠れマルコフモデルが用いられている。
【0115】
図8に示すように、対数尤度は、12月16日前後から変化を開始している。異常の兆候は、(
図7のように1点のみの外れ値で現れるのではなく、)複数の点のスロープ状の推移で明確に現れる。これは、判定用系列の更新毎に、異常データが判定用系列に占める割合が累積的に増加し易いためと考えられる。
【0116】
このような性質により、オペレータは異常の兆候を直感的にかつ容易に把握することができる。
【0117】
以上に説明したように、本実施形態のロボット故障予兆検出装置5は、電流値時系列データ取得部51と、評価値計算部52と、代表評価値生成部53と、系列処理部54と、判定部55と、を備える。電流値時系列データ取得部51は、ロボット動作から、ロボット1の関節の駆動電流の電流値時系列データを取得する処理を、データ収集単位期間毎に行う。評価値計算部52は、電流値時系列データ取得部51により取得された電流値時系列データについて評価値を計算する。代表評価値生成部53は、データ収集単位期間毎に、評価値計算部52で得られた評価値から、評価値を代表する代表評価値を生成する。系列処理部54は、代表評価値の系列を生成する。判定部55は、ロボット1の稼動初期において、系列処理部54が生成した系列である初期系列に基づいて判定用モデルを作成する。判定部55は、稼動初期より後では、当該稼動初期より後のロボット動作に基づく代表評価値を含む判定用系列を、作成された判定用モデルに入力して、判定用系列の特異度を取得する。
【0118】
これにより、ロボット1の故障の予兆を良好に検出することができる。従って、ロボット1のメンテナンスを故障前に行うことが可能になる。
【0119】
また、本実施形態では、稼動初期より後において、判定部55は、データ収集単位期間毎に、複数個の代表評価値から構成される判定用系列を判定用データとして判定用モデルに入力し、判定用モデルの出力に基づいて特異度を取得する。判定用系列を生成するために、系列処理部54は、判定用系列を初期系列で初期化した後、代表評価値が生成される毎に判定用系列の更新処理を行う。更新処理は、更新前の判定用系列に対して、データ収集単位期間の代表評価値を追加する処理を含む。
【0120】
これにより、特異度の推移からロボット1の故障の予兆を検出することが容易になる。
【0121】
また、本実施形態のロボット故障予兆検出装置5において、判定用モデルは、初期系列を学習させた隠れマルコフモデルである。
【0122】
これにより、系列的なデータを容易に取り扱うことが可能なモデルを用いて、ロボット1の故障の予兆を高い精度で検出することができる。
【0123】
また、本実施形態のロボット故障予兆検出装置5において、前記隠れマルコフモデルは、Ergodic隠れマルコフモデルである。Ergodic隠れマルコフモデルが有する状態の数が2個である。
【0124】
これにより、モデルの構成を単純化することができる。
【0125】
また、本実施形態のロボット故障予兆検出装置5において、隠れマルコフモデルは、初期系列を学習させたLeft-to-Right隠れマルコフモデルとすることもできる。この場合、初期系列及び判定用系列は、代表評価値を時間順にN個並べた系列として構成される。
【0126】
これにより、時系列的なデータを取り扱うことが得意なモデルを用いて、ロボット1の故障の予兆を高い精度で検出することができる。また、モデルにおける状態遷移の制約の分だけ、計算量を減らすことができる。
【0127】
また、本実施形態のロボット故障予兆検出装置5において、2乗平均平方根が評価値として計算される。ただし、評価値として、最大値、値幅、又は周波数分析積算値が計算されても良い。
【0128】
これにより、電流値時系列データの変化を良好に評価することができる。
【0129】
また、本実施形態のロボット故障予兆検出装置5において、評価値計算部52は、電流値時系列データ取得部51により取得された挙動時系列データのそれぞれについて、周波数解析を行って周波数スペクトルを求め、複数の予め定めた周波数帯に対して、周波数スペクトルの部分的な総和を代表評価値として複数求める。代表評価値生成部53は、データ収集単位期間毎に、複数の代表評価値を生成する。判定用モデルは、複数次元の系列を初期系列として入力可能なモデルである。
【0130】
これにより、周波数解析に基づいて得られた周波数スペクトルに基づいてロボット1の故障予兆に関する判定を行うことができる。
【0131】
また、本実施形態のロボット故障予兆検出装置5において、データ収集単位期間は、環境温度の変化周期の整数倍、例えば、1日の整数倍となるように定められる。
【0132】
これにより、環境温度の周期的な変化の影響を実質的に取り除くことができる。従って、故障予兆の検知精度が良好である。
【0133】
また、本実施形態のロボット故障予兆検出装置5において、データ収集単位期間は、勤務周期又はロボット1の稼動周期の整数倍となるように定められる。
【0134】
これにより、勤務周期又はロボット1の稼動周期の始期においてはグリースの粘度が高いといった現象の影響を、実質的に取り除くことができる。従って、故障予兆の検知精度が良好である。
【0135】
また、本実施形態のロボット故障予兆検出装置5は、判定部55が出力する特異度を表示する表示部63を備える。
【0136】
これにより、ロボット1の故障の予兆について周囲に分かり易く知らせることができる。
【0137】
また、本実施形態において、判定部55は、特異度を対数変換した形で出力する。
【0138】
これにより、判定部55の出力が数値的に取り扱い易くなる。例えば、
図8のグラフの出力が過剰に敏感に変動するのを防ぐことができる。
【0139】
また、本実施形態のロボット故障予兆検出装置5は、警報発生部62を備える。警報発生部62は、判定部55が出力する特異度が所定の範囲を外れた場合に、故障予兆の警報を発する。
【0140】
これにより、故障の予兆を周囲に明確に知らせることができる。
【0141】
次に、第2実施形態を説明する。なお、第2実施形態以降の説明においては、前述の実施形態と同一又は類似の部材には図面に同一の符号を付し、説明を省略する場合がある。
【0142】
本実施形態では、判定用モデルとして、隠れマルコフモデルに代えて、正規分布に基づくモデルを用いる。
【0143】
図9は、本実施形態のブロック図である。本実施形態の判定部55は、第1実施形態の学習部57の代わりに判定用モデル作成部67を備える。その他の部分は、第1実施形態と実質的に同様である。
【0144】
以下、本実施形態で用いられる判定用モデルを説明する。判定用モデル作成部67に対し、N個の代表評価値からなる初期系列C1(1),C1(2),・・・,C1(N)が入力された場合を考える。判定用モデル作成部67は、これらの初期系列を構成するN個の代表評価値を対象として、平均μ、及び標準偏差σを計算する。
【0145】
判定部55においては、判定用モデルfが構築される。この判定用モデルfは、以下の式(1)で表される。
【数1】
ただし、C
2(1),C
2(2),・・・,C
2(Q)は、Q個の代表評価値からなる判定用系列である。
【0146】
上記の式(1)は、周知の正規分布の式を含んでいる。即ち、本実施形態の判定用モデルfは、初期系列のN個の代表評価値の平均μ及び標準偏差σに基づく正規分布を、判定用系列における代表評価値の数Qだけ総乗したものに相当する。
【0147】
この判定用モデルfを用いた場合の出力も、第1実施形態の
図8のグラフと実質的に同様の推移を示すことが、発明者の実験によって確かめられている。即ち、判定用モデルfの出力は、Q個の代表評価値からなる系列が出現する確率(言い換えれば、特異度)と同様に取り扱うことができる。
【0148】
本実施形態では、初期系列の平均μ及び標準偏差σを求めることでモデルを得ることができる。判定用モデル作成部67によって計算された平均μ及び標準偏差σは、判定用モデルを定義付けるパラメータとして、判定用モデル記憶部59に記憶される。
【0149】
式(1)に示す判定用モデルfでは正規分布の総乗が用いられているが、正規分布の対数の総乗又は総和であっても良い。また、正規分布の総和が用いられても良い。発明者の実験によれば、総和を用いる場合(ただし、対数変換していない。)は、判定用モデルfの出力の推移が総乗よりも多少粗く変動する傾向があるが、故障の兆候を捉えることは十分可能である。
【0150】
以上に説明したように、本実施形態のロボット故障予兆検出装置5において、判定用モデルは、初期系列を構成するN個の代表評価値から求められた標準偏差σ及び平均値に基づく正規分布を、Q回分総乗又は総和したものからなる。また、対数化を、途中又は最終値で行っても良い。
【0151】
これにより、判定用モデルを少ない計算量で作成することができる。
【0152】
次に、第3実施形態を説明する。
図10は、DTW法を示す概念図である。
【0153】
本実施形態のロボット故障予兆検出装置5においては、評価値計算部52が行う評価値の計算に特徴がある。評価値計算部52は、電流値時系列データ取得部51により取得された電流値時系列データから、DTW法に基づくDTW距離等を求め、これを評価値とする。DTWは、Dynamic Time Warpingの略称である。本実施形態において、評価値計算部52が行う処理以外の部分は、前述の第1実施形態と実質的に同様である。
【0154】
ここで、DTW法について簡単に説明する。DTW法は、2つの時系列データが類似する度合いを計算するために用いられる。DTW法の大きな特徴は、類似度の計算にあたって、時系列データの時間軸方向での非線形な伸縮を許容する点である。これにより、DTW法は、時系列データの類似度に関して、人間の直観に近い結果を得ることができる。
【0155】
評価値計算部52は、基準電流値時系列データ(基準挙動時系列データ)と、比較用電流値時系列データ(比較用挙動時系列データ)との差異の大きさを示すDTW距離(非類似度)を、処理対象の電流値時系列データの評価値として出力する。
【0156】
基準電流値時系列データとしては、例えば、ロボット故障予兆検出装置5の使用開始にあたってロボット1を試験的に動作させたときに、電流値時系列データ取得部51により取得された電流値時系列データが用いられる。比較用電流値時系列データとしては、ロボット故障予兆検出装置5の使用が開始された1日目以降に、電流値時系列データ取得部51により取得された電流値時系列データが用いられる。基準データが、例えば1日目に取得されても良い。
【0157】
DTW法の原理について、
図10を用いて説明する。基準データに含まれる複数(s個)の電流値を、横方向に延びる第1軸に沿って、時系列順に配置する。比較用データに含まれる複数(p個)の電流値を、縦方向に延びる第2軸に沿って、時系列順に配置する。
【0158】
続いて、縦横の軸で定義される平面に、マトリクス状に配置されたs×p個のセルを定義する。それぞれのセル(l,m)は、基準データにおけるl番目の電流値と、比較用データにおけるm番目の電流値と、の対応付けを表している。ただし、1≦l≦s、1≦m≦pである。
【0159】
それぞれのセル(l,m)には、基準データにおけるl番目の電流値と、比較用データにおけるm番目の電流値と、の差異を表す数値が関連付けられている。本実施形態では、各セルに、l番目の電流値とm番目の電流値の差の絶対値が関連付けて記憶される。
【0160】
評価値計算部52は、
図10のマトリクスの左下隅に位置する始点セルから、右上隅に位置する終点セルに至るワーピングパス(経路)を求める。
【0161】
始点セル(1,1)は、基準データにおけるs個の電流値のうち、時系列で最先のタイミング(即ち、1番目)の電流値と、比較用データにおけるp個の電流値のうち、時系列で最先のタイミング(即ち、1番目)の電流値と、を対応付けることに相当する。
【0162】
終点セル(s,p)は、基準データにおけるs個の電流値のうち、時系列で最後のタイミング(即ち、s番目)の電流値と、比較用データにおけるp個の電流値のうち、時系列で最後のタイミング(即ち、p番目)の電流値と、を対応付けることに相当する。
【0163】
以上のように構築されたs×p個のマトリクスにおいて、以下の[1]及び[2]のルールに従い、始点セルを出発して終点セルへ到達する経路を考える。[1]縦、横、又は斜めに隣接するセルにだけ移動できる。[2]基準データの時間を戻す方向には移動できず、比較用データの時間を戻す方向にも移動できない。
【0164】
このようなセルが連なったものは、経路又はワーピングパスと呼ばれる。ワーピングパスは、基準データにおけるs個の電流値と、比較用データにおけるp個の電流値とを、どのようにそれぞれ対応付けるかを示している。別の観点で言えば、ワーピングパスは、2つの時系列データを時間軸方向でどのように伸縮させるかを表している。
【0165】
始点セルから終点セルへ至るワーピングパスは複数通り考えられる。評価値計算部52は、考え得るワーピングパスの中で、通過するセルに関連付けられる差異を表す数値(本実施形態では、l番目の電流値とm番目の電流値の差の絶対値)の合計が最小となるワーピングパスを求める。以下では、このワーピングパスを最適ワーピングパスと呼ぶことがある。また、この最適ワーピングパスにおける各マス内の値の合計値をDTW距離と呼ぶことがある。
【0166】
DTW距離を、通過したマスの数で除算することで、DTW距離平均値を求めることができる。DTW距離平均値は、DTW距離を何れかの時系列データの要素数s又はpで除算することにより求めても良い。DTW距離に代えて、DTW距離平均値を評価値とすることもできる。
【0167】
s及びpが大きい場合、膨大な数のワーピングパスが考えられる。従って、考え得る全てのワーピングパスを仮に考慮すると、最適ワーピングパスを求めるための計算量が爆発的に増大してしまう。この課題を解決するために、本実施形態の評価値計算部52は、DPマッチング手法(動的計画法)を用いて最適ワーピングパスを求める。DPは、Dynamic Programmingの略称である。DPマッチング手法は公知であるので説明を省略する。
【0168】
DTW距離又はDTW距離平均値は、電流値時系列データ取得部51が取得した電流値時系列データのそれぞれについて、評価値計算部52によって計算される。代表評価値生成部53が生成する代表評価値は、例えば、1日に多数取得されたDTW距離又はDTW距離平均値の中央値である。代表評価値の系列が、系列処理部54によって生成され、判定部55に初期系列又は判定用系列として入力される。
【0169】
本実施形態で得られた対数尤度の推移が、
図11のグラフに示されている。このグラフで示すように、本実施形態においても第1実施形態と同様に、12月16日前後から、故障の予兆が明確に現れ始めている。
【0170】
以上に説明したように、本実施形態のロボット故障予兆検出装置5において、評価値計算部52は、電流値時系列データ取得部51により取得された電流値時系列データのそれぞれについて、所定の基準電流値時系列データとの間のDTW距離及びDTW距離平均値のうち何れかを評価値として計算する。
【0171】
これにより、電流値の時系列データの変化傾向を容易に捉えることができる。
【0172】
次に、第4実施形態を説明する。
図12は、第4実施形態のロボット故障予兆検出装置5の電気的構成を概略的に示すブロック図である。
【0173】
本実施形態のロボット故障予兆検出装置5は、
図2に示す第1実施形態を変形したものに相当する。
【0174】
本実施形態の判定部55は、第1実施形態と同様に、学習部57、確率出力部58、判定用モデル記憶部59及び変換部61を備える。判定部55は更に、確率記憶部68と、総乗値出力部69と、を備える。
【0175】
本実施形態の学習部57は、第1実施形態と同様に、初期系列を隠れマルコフモデルに学習させる。得られた隠れマルコフモデルのパラメータが、判定用モデル記憶部59に記憶される。
【0176】
上述したとおり、
図2に示す第1実施形態では、監視期間(即ち、N+1日以降)において、判定部55の判定用モデルに対し、Q個の代表評価値からなる系列が系列処理部54から1日毎に入力される。一方、
図12に示す本実施形態では、判定部55の判定用モデルに対し、その日に得られた1つの代表評価値だけが、記憶部50から判定用データとして1日毎に入力される。本実施形態において、この1つの代表評価値が、判定用データに相当する。
【0177】
一般的に、隠れマルコフモデルは系列データを評価する用途で用いられることが多い。しかし、初期系列で学習したErgodic隠れマルコフモデルは、評価フェーズにおいて系列ではなく単独の形で代表評価値を入力した場合においても、確率として取り扱うことが可能な値を出力することができる。
【0178】
確率出力部58は、1つの代表評価値を判定用モデルに入力した場合の判定用モデルの出力結果(即ち、確率)を出力する。確率出力部58が出力した確率は、確率記憶部68に記憶される。
【0179】
確率記憶部68は、N+1日以降において判定用モデルが出力した確率を、直近のU日分記憶することができる。
【0180】
図13には、N=30、U=15である場合の、本実施形態における初期系列及び判定用データが示されている。30日目に、学習部57は、
図13(a)に示す30個の代表評価値の系列を隠れマルコフモデルに学習させる。これにより、判定用モデルが作成される。
【0181】
図13(b)に示すように、31日目には、判定用モデルに31日目の代表評価値が1つ入力され、判定用モデルが出力した確率が記憶される。
図13(c)に示すように、32日目には、判定用モデルに32日目の代表評価値が1つ入力され、判定用モデルが出力した確率が記憶される。
図13において、1つの円が、判定用モデルが出力した1つの確率を表している。円の中の数字は、その確率が、何日目の代表評価値に対応するものかを示す。円が破線である場合は、その確率が過去に記憶されたものであることを示す。
【0182】
判定部55は、1日毎に、その日に得られた1つの代表評価値を判定用モデルに入力し、判定用モデルが出力した確率を記憶する処理を行う。この結果、45日目には、
図13(d)に示すように、確率記憶部68に15日分の確率が記憶されることになる。
【0183】
45日目において、総乗値出力部69は、
図13(d)に示すように確率記憶部68に記憶された31日目から45日目までの15日分の確率を、すべて乗算する。本実施形態では、こうして得られた総乗値が、特異度に相当する。総乗値出力部69が出力した総乗値は変換部61で対数変換され、判定部55から出力される。
【0184】
46日目には、確率記憶部68において、最も古い31日目の確率が削除されるとともに、46日目の確率が記憶される。総乗値出力部69は、
図13(e)に示すように確率記憶部68に記憶された32日目から46日目までの15日分の確率を、すべて乗算する。こうして得られた総乗値が変換部61で対数変換され、判定部55から出力される。
【0185】
本実施形態では、判定部55からの出力は、45日目から実質的に開始される。本実施形態の構成によっても、第1実施形態及び第2実施形態と同様に、故障の予兆を良好に捉えることができる。
【0186】
本実施形態において判定部55は総乗値を対数変換した形で出力しているが、直近の15日分の確率をすべて加算した値である総和値を特異度として出力しても良い。この場合、対数変換を省略することもできる。
【0187】
確率記憶部68を省略することもできる。この場合、31日目から45日目までのモデル出力値を、45日目に一度に計算すれば良い。
【0188】
以上に説明したように、本実施形態では、稼動初期より後において、判定部55は、データ収集単位期間毎に、1つの代表評価値のみを判定用データとして判定用モデルに入力して判定用モデルの出力を取得する。判定部55は、直近の複数のデータ収集単位期間にわたる判定用モデルの出力の総乗又は総和に基づいて特異度を取得する。
【0189】
この構成によっても、ロボット1の故障の予兆を良好に検出することができる。
【0190】
次に、第5実施形態を説明する。
図14は、第5実施形態のロボット故障予兆検出装置5の電気的構成を概略的に示すブロック図である。
【0191】
本実施形態のロボット故障予兆検出装置5は、正規化部71を更に備える。正規化部71は、隠れマルコフモデル(判定用モデル)に入力される代表評価値を正規化するために用いられる。
【0192】
ここで、正規化について説明する。正規化とは、簡単に言うと、あるデータ群に含まれる数値に対して、最小値を0とし、最大値を1とし、間の数値を0~1に比例配分するように変換することをいう。
【0193】
本実施形態の正規化部71は、例えば初期稼動期間における30個の代表評価値を対象として最小値と最大値を求め、これに基づいて各代表評価値の正規化を行う。正規化された値は記憶部50に記憶され、系列処理部54による初期系列及び判定用系列の作成のために用いられる。
【0194】
正規化の別の手法として、平均が0で、分散が1の正規分布となるようにデータ群を変換しても良い。
【0195】
上述のとおり、電流値時系列データは、ロボット1のそれぞれの軸のモータについて取得される。実際のロボットの例では、手首軸のモータの電流値の平均が3A程度であるのに対し、主軸のモータの電流値の平均が20A程度である。電流値の大小は、当然に代表評価値に影響する。このように各軸で代表評価値が大きく異なる場合があるが、警報発生の条件となる閾値を軸毎に定めるのは煩雑である。また、ロボットの機種に応じて、大型であるか小型であるか、可搬重量、速度等が異なり、これに応じて電流値は様々に異なる。
【0196】
本実施形態においては、正規化によってこれらの差を解消して、統一的な判定を行うことができる。本願発明者らは、代表評価値を正規化した場合、正常な場合は対数尤度が-50から10の範囲に収まっているが、異常が生じれば対数尤度は-500付近まで減少することが多いとの知見を得ている。従って、対数尤度に関して-100程度の値を統一的な閾値として設定すれば、故障予兆の検出として概ね適切であると考えられる。言い換えれば、個々の異常判定閾値が不要になる。
【0197】
以上に説明したように、本実施形態のロボット故障予兆検出装置5において、判定用モデルに入力される代表評価値が正規化されている。
【0198】
これにより、様々なモータから得られる電流値時系列データに対して、統一的な判断を行うことができる。
【0199】
次に、第6実施形態を説明する。
図15は、第6実施形態のロボット故障予兆検出装置5の電気的構成を概略的に示すブロック図である。
【0200】
本実施形態のロボット故障予兆検出装置5においては、
図15に示すように、評価値計算部52、代表評価値生成部53及び正規化部71を2つずつ備える。それ以外については、本実施形態は、前述の第1実施形態と実質的に同様である。
【0201】
2つの評価値計算部52は、それぞれ異なる関数を用いて、電流値時系列データの評価値を計算する。例えば、1つの評価値計算部52は2乗平均平方根を計算し、残りの評価値計算部52は最大値を計算することが考えられる。
【0202】
これに応じて、判定部55で用いられる隠れマルコフモデルは、2種類の評価値からなる2次元ベクトルの系列を入力して確率を計算するように構成されている。これにより、複数の評価値を複合的に考慮して故障の予兆を検知することができる。
【0203】
それぞれの評価値を代表する代表評価値が、正規化部71によって正規化される。これにより、複数の評価値のそれぞれの影響力を均等化することができる。正規化された後のそれぞれの代表評価値に、重み付けのために定められた倍率が乗じられても良い。これにより、例えば2乗平均平方根を最大値に比べて重視して故障予兆を判定することが可能になる。正規化部71は、省略することもできる。
【0204】
図15では、電流値時系列データに対して2種類の評価値が計算される場合が示されている。しかし、ロボット故障予兆検出装置5が3種類以上の評価値を取得するように構成することもできる。この場合、隠れマルコフモデルには、3次元以上のベクトルの系列が入力されることになる。
【0205】
正規分布モデルの場合、モデルf、即ち式(1)、では一次元モデルになっているが複数次元に対応させるためそれぞれの評価値に関してモデルf、即ち式(1)、を複数個用意して掛け合わせることで、あるいは足し合わせることで、隠れマルコフモデル同様に複数次元の入力に対応させることもできる。
【0206】
以上に説明したように、本実施形態のロボット故障予兆検出装置5において、評価値計算部52は、電流値時系列データ取得部51により取得された電流値時系列データのそれぞれについて、互いに異なる方法で複数種類の評価値を計算する。代表評価値生成部53は、データ収集単位期間毎に、複数種類の代表評価値を生成する。判定用モデルは、複数次元の系列を入力可能なモデルである。
【0207】
これにより、複数の評価値を複合的に考慮して、故障の予兆を捉えることができる。
【0208】
また、本実施形態のロボット故障予兆検出装置5において、評価値計算部52は、電流値時系列データの2乗平均平方根及び最大値を計算する。ただし、2乗平均平方根及び最大値の一方又は両方に代えて、値幅、周波数分析積算値、DTW距離及びDTW距離平均値のうち何れかが計算されても良い。
【0209】
また、本実施形態のロボット故障予兆検出装置5において、評価値計算部52は、電流値時系列データの2乗平均平方根及び最大値を計算する。ただし、2乗平均平方根及び最大値の両方に代えて、2個の周波数分析部分積算値が計算されても良い。3種類以上の評価値を取得するように構成することもできる。この場合、隠れマルコフモデルには、3次元以上のベクトルの系列が入力されることになる。また、
図18に示すように、5個の部分積算値が計算されても良い。
【0210】
これにより、電流値時系列データの変化を良好に評価することができる。
【0211】
次に、判定用モデルを用いることなくロボット1の故障時期を予測する例について説明する。本例で説明する処理は、
図16に示すロボット保守支援装置5aによって行われる。ロボット保守支援装置5aは、基本的な構成はロボット故障予兆検出装置5と同じである。ロボット保守支援装置5aは、電流値時系列データに基づいて求められた評価値の過去の傾向に基づいて、評価値の将来の変化態様を予測して表示器80に表示するとともに、評価値の将来の変化態様に基づいてロボット1の故障予測日を求める。以下、
図16及び
図17を参照して詳細に説明する。
図16は、表示器80に表示される傾向管理画面の表示例である。
図17は、参照日数を変化させた場合の予測線の変化を示すグラフである。
【0212】
図16の傾向管理画面には、グラフ表示部81と、評価値選択部82と、診断箇所選択部83と、予測日表示部84と、が表示されている。
【0213】
グラフ表示部81に表示されるグラフの横軸は時間であり、縦軸は評価値である。評価値を求める方法は上記実施形態と同じである。また、評価値を求めるための電流値時系列データは、ロボット1に塗装等の実際の作業を行わせている間に取得しても良いが、ロボット1に診断用動作を行わせている間に取得しても良い。診断用動作とは、ロボット1の状態を診断することを目的として行わせる動作である。なお、基準線及び予測線については後述する。
【0214】
評価値選択部82は、グラフ表示部81に表示されるグラフの評価値を選択するためのボックスである。評価値選択部82には、I2モニタ、DUTY、PTP、周波数分析積算値が表示されており、オペレータは、何れか1つを選択する。
【0215】
I2とは、電流値の2乗平均平方根である。2乗平均平方根は、実効値又はRMSと称されることもある。電流値の2乗平均平方根は、交流成分の実質の効果を表す。そのため、I2は、細かな髭成分を抑えたような値である。従って、減速機のロスの増大、即ち効率低下やモータの減磁に伴うトルク定数の低下などの安定した検出ができる。また、DUTYは、モータのストール電流とI2の比率である。また、PTPは、Peak to Peakの略称であり、上述した「値幅」を示す。即ち、PTPは、電流波形の高いピークの電流値から低いピークの電流値を減算した値である。PTPは、求めることが容易であり、かつ、状態を精度良く推定できるため、よく用いられている。周波数分析積算値は、上述したとおりの値である。
図16及び
図17のグラフでは、評価値として周波数分析積算値が選択されて表示されている。
【0216】
診断箇所選択部83は、ロボット1の可動軸のうち診断対象の可動軸を選択するためのボックスである。診断箇所選択部83には、ロボット1が有する複数の可動軸が表示されている。
【0217】
予測日表示部84には、ロボット1の故障予測日が表示される。故障予測日は、以下の基準線及び予測線に基づいて求められる。
【0218】
基準線は、評価値の閾値を示す。閾値は、例えば、ロボット1の稼動の初期における実効値、又は、ロボット1の慣らし運転後の初期値の120%の値に設定される。慣らし運転後の初期値の120%の値は一例であり、120%以外の値であっても良い。閾値は、経験的に決定されて登録されても良い。また、閾値は、変更可能である。また、何れの初期値も1つのデータから設定されても良いが、複数のデータを平均した値を閾値として設定しても良い。
【0219】
予測線は、過去に取得した評価値に対して最小2乗法を適用することにより求められる。また、予測線が基準線と交わるときの時間が故障予測日である。オペレータは、予測線を見ることにより直感的にロボット1の状態を把握できる。オペレータは、故障予測日を見ることにより、ロボット1の故障予測に関する具体的な日時を把握できる。
【0220】
故障予測日までの日数が、予め設定した日数(例えば30日)よりも近づいた場合、表示器80に警告を表示してもよい。また、本例では、選択された評価値及び可動軸について予想線が表示されるが、選択されていない評価値及び可動軸の組合せについても故障予測日を求め、条件を満たす場合は表示器80に警告を表示してもよい。
【0221】
次に、
図17を参照して、グラフの表示態様の変更について説明する。
図17に示すように、グラフ表示部81の横軸の一端が描画開始日であり、横軸の他端が描画終了日である。描画開始日から描画終了日までの期間は、評価値及び予測線等の表示期間に相当する。本例では、描画開始日と描画終了日を変更可能である。例えば現在日を基準として第1日数前を描画開始日とし、現在日を基準として第2日数後を描画終了日とした場合、これらの第1日数と第2日数を独立して変更可能である。これにより、オペレータは、自らが希望する範囲の評価値を把握できる。
【0222】
また、本例では、参照日数についても変更可能である。参照日数とは、予測線を算出するために用いられる評価値の範囲を定める日数である。例えば、参照日数が10日である場合、10日前から現在までに取得された評価値に基づいて予測線が求められる。参照日数は、上述した第1日数及び第2日数とは独立して変更可能である。
【0223】
以下、参照日数が短く変更されて参照日数aになった場合について説明する。参照日数が短くなった場合、予測線の傾きが変化する。また、一般的な傾向として、参照日数が短くなった場合は、予測線の傾きが急になる。
図17においても、予測線aの傾きは、予測線の傾きよりも急である。予測線の傾きが変化する結果、予測線と基準線とが交わる時間が変化するため、故障予測日が変化する。参照日数を変更する機能を有することにより、様々な観点で故障予測日を求めることができる。
【0224】
また、周波数分析積算値に代えて、複数の部分積算値を用いても良い。複数の評価値に対応するため、傾向管理機能は複数設けられる。
図19には、部分積算値に対応した例において表示される傾向管理画面が示されている。なお、
図19において、
図16と同じ機能を有する部分については説明を省略することがある。
【0225】
図19の評価値選択部82Aには、I2モニタ、DUTY、PTP、部分積算値が表示されている。部分積算値の隣には、周波数帯域を選択するプルダウン式のメニューが表示されている。評価値選択部82Aを用いて選択可能な周波数帯域は、0-10,10-20,20-30,30-40,40-50,ALLである。ALLは全ての部分積算値を合計したものであり、結果として周波数分析積算値と同じ表示になる。
図19の表示方法は一例であり、異ならせることもできる。例えば、評価値選択部82Aに周波数分析積算値を加えるとともに、周波数帯域を選択するメニューからALLを省略してもよい。
【0226】
基準線は、評価値の閾値を示す。
図16を用いて示した例では、ロボット1の慣らし運転後の初期値の120%を閾値とすることを説明した。
図19を用いて示す例では、周波数帯域に応じて閾値を変更してもよい。例えば、周波数帯域がALL又は0-10である場合の閾値を初期値の120%とし、周波数帯域が20-30,30-40,40-50である場合の閾値を初期値の200%等としても良い。なお、予測線は、過去に取得した評価値のうち、参照期間分について、最小2乗法を適用することにより求められる。
【0227】
また、故障予測日までの日数を計算する際には、評価値及び可動軸に加えて、更に周波数帯域を含む任意の組合せについて、故障予測日が計算される。また、
図19に示す例では、予測日表示部84Aに、上述した予測日に加えて、総合予測日が表示される。総合予測日は、複数の部分積算値に基づいて算出される複数の予測日のうち最も早い組合せであっても良いし、他の種類の評価値及び可動軸を含めて最も早いものでも良い。更に、総合予測日までの日数が予め設定した日数よりも近くて警告が表示されている場合、総合予測日に記載された日付に対応する、評価値、周波数帯域及び可動軸の組合せの画面に自動的に切り替えても良い。この場合、「警告が表示された条件に切替え」等の表示を加えることで、オペレータにとって画面が変化した理由が分かり易くなる。
【0228】
このように、ロボット保守支援装置5aは、ロボット動作から、ロボット1の可動軸毎に駆動電流の電流値時系列データを取得する処理を、データ収集単位期間毎に行う。ロボット保守支援装置5aは、電流時系列データのそれぞれについて、周波数解析を行って周波数スペクトルを求め、複数の予め定めた周波数帯に対して、周波数スペクトルの部分的な総和である部分積算値を求める。ロボット保守支援装置5aは、予め設定された参照期間内の複数の部分積算値に基づいて、それぞれの可動軸の将来の変化傾向を推定する。更に、ロボット保守支援装置5aは、部分積算値が予め定めた閾値に到達するまでの予測時間に基づいて、それぞれの可動軸の予測寿命を推定する。ロボット保守支援装置5aは、予測寿命までの時間(日数)に基づいて警告を発することもできる。警告を発する機能は必須の構成要素ではなく、省略することもできる。
【0229】
以上に本出願の好適な実施の形態を説明したが、上記の構成は例えば以下のように変更することができる。
【0230】
Ergodic隠れマルコフモデルを用いる場合、初期系列と判定用系列とで、代表評価値の数が異なっていても良い。例えば、初期系列における代表評価値の数が30であるのに対し、判定用系列における代表評価値の数を50にすることができる。この場合、31日目から50日目までは、系列処理部54が毎日行う判定用系列の更新処理では、最新の代表評価値が追加されるだけである。51日目以降は、最新の代表評価値の追加に伴って、最も古い代表評価値が削除される。判定用系列の判定用モデルへの入力は、50日目から開始可能になる。判定用系列が通常より短いことが許容されるなら、判定用系列の判定用モデルへの入力を31日目から開始することもできる。
【0231】
第2実施形態の正規分布に基づく判定用モデルは、第5実施形態、及び第6実施形態と組み合わせることもできる。
【0232】
第3実施形態のDTW法が、第4実施形態、第5実施形態及び第6実施形態と組み合わせられても良い。
【0233】
表示部63に表示される対数尤度のグラフは、上下反転して表示しても良い。例えば、変換部61が出力する対数尤度に対して-1を乗じて、符号を反転した値を表示部63に出力することで、上下反転を実質的に実現することができる。この値は、2つの系列の類似度が低くなるにつれて上昇するので、異常度を表す値として直感的に理解し易い。
【0234】
変換部61を省略することができる。即ち、判定部55が出力する確率を対数変換しない形で、閾値と比較したり表示部63に表示したりすることができる。
【0235】
ロボット故障予兆検出装置5は、コントローラ90と同一のハードウェアによって実現することもできる。
【0236】
本明細書で開示する要素の機能は、開示された機能を実行するように構成又はプログラムされた汎用プロセッサ、専用プロセッサ、集積回路、ASIC(Application Specific Integrated Circuits)、従来の回路、及び/又は、それらの組み合わせ、を含む回路又は処理回路を使用して実行できる。プロセッサは、トランジスタやその他の回路を含むため、処理回路又は回路と見なされる。本開示において、回路、ユニット、又は手段は、列挙された機能を実行するハードウェアであるか、又は、列挙された機能を実行するようにプログラムされたハードウェアである。ハードウェアは、本明細書に開示されているハードウェアであっても良いし、あるいは、列挙された機能を実行するようにプログラム又は構成されているその他の既知のハードウェアであっても良い。ハードウェアが回路の一種と考えられるプロセッサである場合、回路、手段、又はユニットはハードウェアとソフトウェアの組み合わせであり、ソフトウェアはハードウェア及び/又はプロセッサの構成に使用される。